GenStage demystified

GenStage is a miracle of UX for developers. There's only one catch: because of its purpose, it's built for the machine, not for the developer. Let's go over what GenStage is for, and see just how simple it is to start using it. Why would you use GenStage? GenStage is what you would use if you had "some work" (events) that needed to go through one or more transformations, which you could easily split into multiple parallelizable steps.

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.