Ideas Into Software

Musings on writing code

Decrease Your WTFs/minute count

Any programmer will tell you - WTFs per minute is a metric whose hilariousness is surpassed only by its truthiness. Now, there’s one - rather obvious, I admit - lesson I learned in my programming career: when you inherit a codebase any information that can help you decrease the WTF count is priceless. Sure, documentation helps and so do

Tight Deadlines Considered Harmful

A couple years ago I have been involved with a company that found itself in a rather unenviable position. It spent a little over six months building an ambitious and complex product which by the time I joined was generally considered to be “almost ready to be released” (some parts of it, anyway). Unfortunately, it also had a long list

Practical Guide to Promises

Promises. Right? There are things about them that just seem, you know, natural once you've been using them for long enough. But they may be a little hard to grok if you're new to them. So here’s my short and opinionated list of what you should know about JavaScript promises (roughly in order of importance). Here we go. Avoid

Twelve-Factor Logging

I’ve been developing node.js web servers for quite a while now yet still there’s one thing that confuses me. Why on earth are all the logging frameworks so complicated? Consider winston. Great logging library. But so big and complex. All those transports, all those settings. Twelve-Factor Manifesto states that app shouldn’t concern itself with where it’

Vim Tips For Intermediate Users

I know from experience starting with Vim can be somewhat discouraging. Let's face it - Vim was made for power-users and, man, the learning curve is steep! That said, I can guarantee you taking time to learn this infinitely configurable yet surprisingly lightweight editor will pay off. Here's a few productivity tips that make the Vim experience even better (and

Promises Broke My Return (and Coroutines Fixed It)

We all know writing asynchronous code is hard. Even though async and other libraries do a great job at cooling down the infamous callback hell, most programmers would agree that promises make writing code in JavaScript way simpler. Especially since bluebird came along. Now, I heartily concur that promises make one's life much easier. They offer consistency and composability (in