Picking the least bad fitness tracker

My philosophy on possessions is minimalistic. But I have plenty of gadgets anyway (most recently, I bought the Muse meditation device). This Christmas season my mom really wanted a list of things I wanted, and I decided it was time to get a fitness tracker. I've been eyeing trackers for…

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

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 isolate global packages to the version (see issue), which can create problems if the package doesn't work with the node version you installed.…

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…

<iframe> vs <object> vs <embed>

These tags are allowed in HTML5 to load external "plugin" content, but they are confusingly similar in functionality. Bottom line up-front, the <iframe> is actually more commonly used by vendors such as Youtube and Spotify (see below for details), but I've found the following pattern acceptable for SVG…

A look at venerable text editors

OK, so what are us kids who have never fully embraced the power of command-line editors such as vim and emacs really missing? Let's find out. I'll compare primarily to my main editor Sublime Text (ST), with WebStorm and Atom as backups. I've used a lot of GUI editors over…

Back to the Future (with Software)

Angular 1.4 was released in May. It broke some of the angular-bootstrap directives. Apparently the angular-ui community is still addressing the problems, including the bootstrap alert, which was fixed a few days prior to this post. The last release for angular-bootstrap was in May, so if you do a…

CSS Race Conditions

Bottom line up front: be sure to always put your javascript after your CSS, or a race condition can cause inconsistent CSS rendering as observed in the Stackoverflow post Strange inconsistent rendering in Google Chrome. It appears as if this can happen even if the javascript does not change the…

Dokku, Docker, and deployment

When you're starting out, it's good advice to not worry about build tooling and deployment. Create something worth shipping first. At some point, however, I ended up with half a dozen projects strewn across various places on the internet: my original shared host (NearlyFreeSpeech), Heroku, Azure, and finally DigitalOcean, where…