Seven Practices for Growing Your Code Review Skills

Code reviews are becoming more and more essential to the software development process. The days of cowboy coders building software alone in private offices with no collaboration or oversight are mostly gone. Instead, we’ve realized the value of building things with others who can point out hazards in our blind spots and spur us to think about and justify our decisions. No matter how much experience you may have, there are a few things you can do to develop this valuable skill. Read more on Seven Practices for Growing Your Code Review Skills…

Simulate Network Outages in Your App with Little Snitch

Modern development tools are super-convenient. XCode’s more recent builds let you debug an iOS app over WiFi, so you don’t have to succumb to the indignity of plugging in a Lightning cable (so 2017). React Native’s tooling goes a step farther, giving you the ability to run the native part of the app on a mobile device and execute the JavaScript side part of the app in a web browser on your development machine (where the JS inspection tools are more convenient). Networked debugging is amazing.

But sometimes, you need to test your app’s response to network outages. Read more on Simulate Network Outages in Your App with Little Snitch…

What’s Under the Hood in Git?

Git is the ubiquitous version management tool, but most of us work with it only through the higher-level commands. However, under the hood, it uses just a small set of powerful commands.

Today, I’m going to walk you through the process Git takes to go from untracked files to commits on master. I’ll cover some of these commands and show how they power Git, but I’ll skip some of the specific flags and details for brevity’s sake. Read more on What’s Under the Hood in Git?…

Debugging Strategies You Can Use on Every Project

I’ve wanted to write a post about debugging for a while, but it’s a topic that can be really difficult to discuss in a general way. Approaches to debugging vary wildly and span multiple technologies and domains (hardware vs. software vs. other).

Bugs can also exist on all types of scales—everything from users reporting an issue in your production application, to code failing to compile, to your app crashing when you use it in a certain way. Read more on Debugging Strategies You Can Use on Every Project…

VS Code vs Spacemacs for TypeScript Development

I have been using Spacemacs as my go-to editor for around two years, and I use it on every project I can. After being assigned to a TypeScript project, I discovered Spacemacs support for TypeScript was lacking compared to Visual Studio Code. I grudgingly accepted that VS Code provided a better development experience and adopted it as my editor for this project. While I grew comfortable with VS Code, I never felt at home using it. Read more on VS Code vs Spacemacs for TypeScript Development…

Three Keys to Success with Remote Pair Programming


By now, most people understand the benefit of pair programming. Sharing knowledge (and pain) provides a lot of advantages for both junior and senior developers alike.

I really enjoy pair programming, not only for the learning, but for the social aspect as well. It gives me a chance to get to know my co-workers better: the way they work, the kind of work they like, and even just random common interests we have. I’m a fairly extroverted person, so getting to work with someone to solve problems throughout the day leaves me feeling energized and ready for more. Read more on Three Keys to Success with Remote Pair Programming…

Can You Get Turnkey IoT with Blynk?

In my last post, I gave an overview of Amazon’s tools for building Internet of Things devices and discussed the unique features that Amazon brings to the IoT space. Amazon has a lot to offer, but figuring out exactly which tools or components you need—and how to make them work together—can be challenging. If you want a more turnkey, off-the-shelf solution, you may want to consider Blynk. Read more on Can You Get Turnkey IoT with Blynk?…

An Emacs Keyboard Shortcut for Changing the Font Size

Regardless of which editor I’m using, it’s common for me to change the font size depending on whether I’m using my MacBook Pro’s Retina display or the non-retina 27” Thunderbolt Display at my desk. It’s a small thing, but, when I started using Emacs, one of my biggest annoyances was the amount of friction involved in changing its font size. Here’s how I fixed that. Read more on An Emacs Keyboard Shortcut for Changing the Font Size…

Amethyst & chunkwm – Comparing MacOS Tiling Window Managers

If you typically work with a lot of applications open at once on MacOS, you’ve probably noticed that things get pretty cluttered pretty fast. MacOS’s window manager has a few built-in features to help manage things, but I was never completely happy with it. In the last few months, I’ve been experimenting with using two tiling windows managers—Amethyst and chunkwm. In this post, I’ll give a brief overview of some of their differences and difficulties.

Read more on Amethyst & chunkwm – Comparing MacOS Tiling Window Managers…