websocketd – a UNIX Utility for Turning a Script/Utility into a Chart/Animation

websocketd may be my new favorite UNIX utility. It’s extremely useful for taking the ugly output from a script or utility and turning it into a chart or animation, or even adding a nice interactive UI. And it does it all without changing any code or adding any dependencies to your script or utility. Read more on websocketd – a UNIX Utility for Turning a Script/Utility into a Chart/Animation…

Running Tests from MacVim in iTerm2 Version 3

Way back in 2011, I wrote a blog post showing how to Run Tests from MacVim via Terminal.app or iTerm.app. I’ve been using that setup for years without a problem, but when iTerm2 Version 3 was released, it stopped working. I’ve updated the AppleScript and am posting it here for anyone who wants to run tests in iTerm2 (Version 3) while writing code in Vim.

Read more on Running Tests from MacVim in iTerm2 Version 3…

React Testing – Jest or Mocha?

Every React project is a little different. This can make choosing the right testing setup difficult.

Both Jest and Mocha seem to be popular within the React community. There are tons of folks using Jest, though others seem to prefer Mocha (for example, the Enzyme docs and examples use Mocha). So which one should you choose, and does it even matter?
Read more on React Testing – Jest or Mocha?…

run_me: Smart Selection of Command Line Tasks by File

Test-driven development (TDD) involves running automated tests. A lot. If you have a function with five tests, you might easily invoke your test runner 50 or even 100 times before all tests are passing. Any action we take that often is a natural candidate for automation. Read more on run_me: Smart Selection of Command Line Tasks by File…

Four Steps To Maintaining a Clean Git History

Git is a very important tool. Not only does it keep a history of a project, but Git also makes it easy for a team to collaborate in a codebase. Although it’s such an important tool, it’s often under-utilized and on occasion, even neglected.

A clean Git history is easy to understand and tells a story about the project. It’s evident when features were added and how they were implemented. I’ve come to cherish a clean Git history on a project. The good news is, it’s not very difficult to keep this history clean. Read more on Four Steps To Maintaining a Clean Git History…

How to Programmatically Remove a Cell From a Static UITableView

There are two different ways to add cells to a UITableView.

The first is by using dynamic prototype cells in your table view. For a dynamic table view, you programmatically arrange the cells and sections of the table view by implementing the UITableViewDataSource protocol in code. Using this method, you can display a variable number of cells and sections at runtime. Read more on How to Programmatically Remove a Cell From a Static UITableView…

KPI Monitoring with Fabric.io

Until recently, all of the application monitoring solutions that I had seen suffered from one major pitfall or another. Either they were too difficult and time-consuming to set up, or they had convoluted and byzantine reporting mechanisms. After becoming disillusioned with Firebase, our team recently switched one client over to Fabric.io, and we’ve been extremely happy with the results.
Read more on KPI Monitoring with Fabric.io…

Code Like a Craftsman with a Vim Clutch

Stroll around our Grand Rapids office, and you’ll find some unique input methods. Curved, split, and mechanical keyboards, mice shaped like everything from sashimi to joysticks, giant trackpads, drawing tablets, Echo Dots, and Yetis. We like to keep things interesting when it comes to our workspaces.

For the last hundred days, I’ve been kicking around a centuries-old input method in a new context. Here’s how you can set up your own Vim clutch.
Read more on Code Like a Craftsman with a Vim Clutch…

Virtual Network Customization in VMware Fusion

When working on a project where we need to run software that typically runs on another operating system, virtualization can be a very useful tool. On macOS, VMware Fusion is an excellent choice for this; it has many time-saving features, and its compatibility is top-notch—especially if you need to run Windows or macOS itself in a VM. Read more on Virtual Network Customization in VMware Fusion…