Terraform is a great tool for setting up and configuring architecture as code. However, it can be tricky to manage resources that were not created by Terraform. I recently worked on a project where most of our AWS infrastructure had been manually created in the AWS console. When we decided to manage all of our […]
When replacing large existing software systems, we need to be able to use both systems in parallel, or at least parts of the systems. And to achieve that goal, we often need to share data between the two systems. In this three-part series, we’ll look at a number of strategies that you can use.
Atomic Object was founded by a computer science professor, and during the company’s earlier stages, it only employed developers. That legacy is still felt today in the tooling we use to run the business. Case in point: We use a code repository tool—Subversion (SVN)—to securely store, manage revisions, and control access to some business documents. […]
The Agile principle of delivering value early and often is critical when replacing large, existing software systems. To achieve that goal, we want to be able to use both systems in parallel, or at least parts of the systems. And to achieve that goal in a rewrite situation we often need to share data between […]
Much has been written about the technical challenges of rewrites. In one of his most famous pieces, Joel Spolsky argued that rewrites are almost never a good idea. On the surface, it seems illogical to spend a lot of time and money duplicating code that’s already working, and in a lot of cases, it doesn’t […]
Source control is a vital part of software development, but you don’t always want it to keep track of everything. Passwords, temporary changes, and desperate debugging edits are best kept out of version control. I’ve found four effective ways to handle this.
Visual Studio Code has been gaining popularity and has replaced Sublime Text as my editor of choice, and it brought along many of my favorite features of Sublime, including its multiple cursor magic, which is especially great for refactoring. Here are some tips for getting started!
When development relies on database interaction, few things are more frustrating than a database client that gets in the way. On my current project, we’re constantly investigating data, switching from table to table, and writing queries with our PostgreSQL database. After experimenting with a few database clients (SQLPro, Postico, and TablePlus), we quickly noticed that […]
Say you’re about to begin a task that will involve working with some files. Perhaps you’re creating a diagram or encoding some GIFs. Where do you put the files?