A recent project required our team to transfer knowledge of our code base to another remote team. We decided that remote pairing would be the most effective way to do that. Since our project is written in TypeScript and all of us were on board with using Visual Studio Code, we decided to try Visual […]
If your software team develops multiple new features simultaneously, you need to be able to deploy and test them in isolation. The gold standard for this is to use Heroku’s review apps, which are temporary environments automatically spun up for each pull request. Unfortunately, the feature only works with GitHub; if you’re using another source […]
Most projects that last more than a few weeks accumulate some form or another of automation. Some carefully craft jobs in a package.json file and run them with yarn automation. Some stuff their Makefiles full of .PHONY targets and run them with make my-automation-better. Still others fill up a directory with Bash scripts and run […]
Let’s say you’re creating a feature branch off a master for a new feature you are about to implement. You finish up your work on the feature branch while one of your colleagues is making some changes on the master branch. Before creating a pull request, you might want to make sure you have the most […]
It is no secret that git push --force is dangerous. Without question, it will replace the remote with your local changes—and it won’t stop to check if that will override any changes pushed up to remote in the process. When working in a shared repository, this spells danger for even the most careful developer team.
Recently, I discovered a new tool that quickly became an integral part of my daily development workflow. It’s called up – the Ultimate Plumber. It allows for interactive chaining of pipe outputs. This is a good choice for anyone who frequently pipes the output of awk, sed, grep, and other command line utilities together.
Recently, my schedule has become quite busy, with various responsibilities competing for my time and focus. I find myself trying to hold onto as much context about these responsibilities as I can, but I can’t seem to remember all of the necessary information. After some careful reflection, I’ve found that I need to take more […]
VPNs are great for protecting your security when you’re on a network that you can’t trust completely, such as coffee shop or conference WiFi. However they don’t represent a complete solution by themselves. On macOS, Little Snitch can help you fill the gaps.
Batch data imports are tricky to build. You need to make sure the data is valid, and, most importantly, you need to correctly map that data to your domain. In my experience, that last part is difficult.
You may have heard of Mozilla’s Facebook Container, an add-on for Firefox that keeps Facebook isolated whenever you open it. It’s an easy-to-use and simple tool for defending user privacy. But you may not have heard much about the Firefox features that make the Facebook Container possible. They’re called Firefox Containers—and they represent a useful […]