Picking the least bad fitness tracker

My philosophy on possessions is minimalistic. I have plenty of gadgets anyway (most recently, I bought the Muse meditation device). But I try to be extremely careful about new items. I've been eyeing trackers for years, but I've held off due to the paradox of choice, mixed reviews, and the…

Sonar-Qube Up and Running

I've been dealing with a much larger codebase than I've been exposed to before, so I wanted a high-level overview. Sonar-Qube seems to be the leading static source code analyzer out there. I went to install it on homebrew. The docs didn't cover that. Steps: brew install sonar-qube brew install…

The Right Way to Install Node.js

UPDATE: just use nodenv. As of now (2017 May), I have used nodenv since I published this post in 2015 with zero complaints. TL;DR: use the packages nvm or if you're feeling brave, n to install node. The problem with n is that as of now it does not…

Blogging: perfect -> enemy of good

I expect most people reading this will understand why I am hesitant to blog under my real name. I've been actively engaged in various online communities for years under pseudonyms. In particular, I've tried to edit wikis and work in forums as part of a community. When you publish on…

Mapping keyboard shortcuts to mouse clicks

Like most in the software development world, I'm allergic to the mouse, but there are times when no keyboard shortcut is available. I'm willing to jump through a lot of hoops for my keyboard shortcuts. As an example, I'll show you how I configured OSX so that I can see…