Blog Posts:

Outfitting a developer in 2019 - 29 April, 2019

At this point in my career I've changed jobs enough times that I'm starting to see certain patterns emerge. One of less good ones is how hardware (and sometimes software) is chosen for developers with little to no input from the devs themselves. Everybody works a little bit differently so it makes sense to provide some level of choice in what tools we use to do our work each day.Although things are certainly better than they were years ago, when you'd get the same anemic Windows laptop as your non-engineering co-workers, we've still got plenty of room to improve. My last few employers have been content to toss me a decently configured MacBook Pro and call it a day. While MacOS is certainly a nice operating system, my personal preference is Linux for software development. Obviously, OS…

Using git rebase for clean merges - 25 March, 2019

If you're doing software development on a team, it's very likely that you're using git for version control. One common problem I've seen is that it's quite easy to end up with a messy history full of useless (and sometimes confusing) merge commits.Working solo with a git project, it's pretty simple to develop something with a linear history that's easy to follow. Once you've got multiple team members working on feature branches concurrently things can get, well... ugly:Usually this is caused by an excessive amount of merge commits. Unfortunately, GitHub encourages behaviors that lead to problems like this. You've probably seen this button before:If you click this, GitHub will merge master into your feature branch resulting in a merge commit. When you ultimately merge the feature branch you…

Welcome - 10 July, 2018

Welcome to my new site, it's built with Gatsby.