If I were keeping score, so many points were earned over the last week, if not by me than by my team. I just returned from a three-day training seminar on the basics of the Erlang programming language, taught by Szymon Mentel of Erlang Solutions. The program was truly an introduction, carrying the class, in this case a group of my coworkers, from Hello World thru concurrency, with an introduction to distributed programming. It was an excellent tutorial and I'd recommend it to anyone interested.
I've been working on the internet for a long time, long enough that some of my favorite languages and technologies aren't really used that much anymore (sorry Apache and Perl). Because I was a Perl programmer in the late 90's, I read a lot of writing by its charismatic and prolific designer, Larry Wall. Larry would write at length about where the various Frankenstein pieces of the language came from. This means dives into Common LISP, Prolog, you name it, and I became a bit of a language nerd. Not a language Alpha-nerd - I want to be careful about what I claim about myself - but at the very least a neophyte nerd.
Anyway, it's been a while since I've dug into a new language with thoughts of actually using it. Typescript was more of a shift than learning a new language. Rust and Go are fine but haven't yet captured my imagination. But this opportunity to pick up some Erlang has me pretty jazzed, to the surprise of my colleagues as it isn't something new and sexy, but a language that was introduced more than thirty years ago.
I currently work in the internet voice and video domain, specifically in what is being called Unified Communications. Erlang has its roots in telecommunications, so it is no surprise that a number of applications in our space are built upon it. There is one project in particular that we will be relying upon a great deal in the coming months, such that we will need to deviate from the established project roadmap to meet our own business needs.
So, when I was talking about earning points at the beginning of this post, here's what I mean:
Our team is being encouraged to:
- Learn an exotic and powerful language - 10 points
- so that we can contribute to an open source project - 10 points
- and better participate in the open source community - 20 points
This is very exciting! Since I got started in technology, embracing and contributing to open source has been a highly regarded, hacker ideal - even if our corporate overlords were resistant. To be able to do this while also learning a language and technology quite different than those I've typically employed - this should be a very interesting summer!
I also have a side project related to my past work using batman-adv on Raspberry Pis. Erlang's constructs for binary pattern matching and easy task distribution should be amazing for message passing over a mesh.