If you've heard the saying “turtles all the way down,” that's a list, except for the pesky infinity aspect. Each tail of a list is, itself, also a list -- unless it’s an empty list, which is where the list terminates. To understand a list, you have to understand a single item of a list. When you understand single item of the list, you understand the list.
I'm the first to admit that I love technology, and I really love new technology. However, that isn't why I love working with Elixir. I would like to show it to you, so you will get excited about it too. What I find most exciting about it is the problems that Elixir helps me solve. It’s an enabling technology built on top of the Erlang VM. Elixir allows me to really focus on the business problems that I'm trying to solve. I can take for granted, to an extent, the tough technological problems around concurrency, scalability, and fault tolerance. I reap the benefits of Elixir’s abilities just as long as I work with design patterns that are accepted in that language and within the Erlang VM. I would like to show others how to take advantage of those.
Hi, I would like to talk to you today about an exciting language and technology built on a rock-solid platform. This language is known as Elixir and it runs on a platform known as the ErlangVM or BEAM. Wait, another new language. Haven't there been a lot of new languages emerging in this past five to ten years? Well, yes there have been a lot of new languages. However, Elixir isn't that new. It hit 1.0 in September 2014. Yeah, that's not very long ago, but Elixir began in 2011. Not old enough for you? Okay, what about 1986? That's when Erlang began, that's over 30 years ago. That has some longevity to it. And in fact, Erlang has had many years to mature and become as rock solid as it's known in the telecom industry to be now.
I'll be candid with you. Sometimes I lie awake at night wondering if I’ll have a job tomorrow. In the past, I’ve left companies because I saw the change coming before it actually happened. Three companies I've worked for had layoffs right after I left, resulting in many scrambling to find new positions. Companies are no longer investing in their employees’ long-term potential. They assume people are no longer relevant rather than affording them opportunities to utilize their best assets or learn something new. Gone are the days of training and investing in people who have long-term knowledge about a variety of things. Today, companies are finding ways to automate their IT, moving to the cloud, and letting go of people to hire new, less experienced people to bring in the shiny new technologies.
A client recently contracted me to perform database tuning for their Website's online transactional processing (OLTP) db. They were experiencing performance issues as their dataset has grown, and were looking at a looming size increase of nearly 10x. Their MySQL database server was Linux based, running in a virtual machine with a local datastore. Using htop, iostat, sar, and innotop, I found a case of heavy IO contention causing concurrent queries to stack up.