Choosing the right editor

Choosing the right editor Intro: My editor history Here are my "credentials". You know, establishing why you should be reading this at all. When it comes to editors, I've honestly fumbled around quite a bit in the past fifteen years or so. I had not encountered an editor until some dude taught my Comp Sci 6/9 class and straight-up went to the GNU webpage and downloaded emacs for Windows. That looked really badass.

The first step in learning any new programming language

Part of being a professional programmer is learning new languages (seriously — past a certain point, you should be fluent in a couple of languages, but that's another blog post), and part of being a good programmer is being effective at doing so. The very first step in learning a new language is being able to write some code with it. Further steps usually involve mastering the syntax as well as whatever new paradigms the language may throw at you, BUT!

Maintainability Is Relative

I just found a great example of the variability of the need of creating maintainable code. Somewhere around 2006, I created a script that posts to the Livejournal community daily_tao a new chapter of the Tao Te Ching every day. Today in 2016, I had a need to look for the script, the second time in maybe the last eight years that I had to look at it. I temporarily wasn't sure of where that script was.

Benefits of a rapid test suite

The value of a rapid test suite Developers and codebases The bare minimum required of a developer is "make this change without breaking anything else in the code", and if you've been around software development for any period of time, you know that's harder than it seems. Most of the time that a developer spends on any given codebase is spent on an existing codebase, adding new features on top of existing code.

Why Elixir is the next Great Tech

Elixir, because: I think of Elixir as an idea whose time has come; or rather, a great gathering of ideas. Erlang has solved the problem of distributed computing (and therefore, of concurrency) decades ago, and now concurrency is a very desirable tool, as the amount of data we crunch regularly has increased exponentially. TDD has brought a more functional approach to a lot code, and that is the paradigm Elixir espouses.