Tech Tools —1 min read
What is the best database to use in your app?

Today I saw a poll on LinkedIn: What is the best database to use in your app? MySQL PostgreSQL Microsoft SQL Server With my consultant hat on, my answer is of course, “It depends!” For many applications, none of these three is the ideal answer. And I’m not talking about SQLite. For many applications, a relational database is simply the wrong answer. But “which flavor of SQL should I choose?” has become the default question most developers ask when designing an app.

Tech Tools —1 min read
What's the best programming language for…

What’s the best programming language for a high-performance web server? What’s the best programming language for processing large text files? What’s the best programming language for… These questions are meaningless. The best language for practically any task is (drum roll, please)… the language you are most familiar with! There was a time when it was important to squeeze every micro-optimization possible out of our code. Unless you’re still writing code for an Altair 8800, this time is long past.

Tech Tools —1 min read
Better diff highlighting in git

A couple of weeks ago I introduced Semantic Line Breaks as a way to improve the readability of richtext formats, like Markdown. One reader, Joel Clermont, wrote back with an alternative solution: diff-highlight. And not only did he write to tell me about it, but he wrote a post explaining it all! I also came upon diff-so-fancy which expands this capability even more, optionally providing: Prettier hunk indicators pretty-formatting the diff headers for each file Removing the leading + or - sign from each line, which are redundant when using colors customizable colors and more

Tech Tools —1 min read
Tip of the day: Semantic Line Breaks

I recently stumbled upon a usability tip for editing certain rich text formats, such as Markdown. Have you ever been bothered by documentation diffs that look something like this? Enter SemBr, the Semantic Line Breaks Specification, which provides a formal spec. But the TL;DR; version is: When using rich text formats that allow it, press enter after every significant punctuation mark. The end result:

Tech Tools —1 min read
Surprising time savers

I’ve been writing computer programs since I was 8 years old. That’s more than 80% of my life. As such, I often dismiss certain tools or techniques as “beneath me”. Excel? That’s silly! I can write a CRUD app! AWS? Pfft! I can run my services on a pool of Raspberry Pis in my attic! Yesterday I set up Zapier for the first time. It’s definitely one of those “beneath” me tools.

Tech Tools —5 min read
Is Kubernetes Right for a Small Team?

Kuberentes is all the rage. All the cool kids are doing it. It’s the hot newness for scaling enterprise-scale applications to unbelievable heights. But does it make sense for smaller teams? In the words of every professional consultant everywhere: “It depends.” Kubernetes absolutely can be a big win for many small teams (even solo projects). But that doesn’t mean it’s right for everyone. Here I touch on the most important drawbacks to Kubernetes, as well as the most important benefits, to help you weigh the decision for your own team.

Tech Tools —9 min read
The 3 Best Config File Formats

There are countless configuration file formats. Some are custom-designed for a specific application, such as those used by the Apache web server or BIND. But more commonly these days, new applications use some sort of standardized configuration file format, such as YAML, JSON, XML or INI. Some applications, such as WordPress even use executable code as configuration files. Most modern languages have libraries that will let you read (and in some case write) to a wide variety of configuration formats.

Coding Practices —11 min read
6 ways to RUIN your logging

Edited by Mitchell I’m knee-deep in some log refactoring on my current project, which is something that I’ve done now on several projects. This is one of my favorite ways to become familiar with a new code base, since it typically touches all of the code. As I do this on new projects, I’m consistently faced with many of the same frustrations, which I have decided to catalog here. Most projects I see make at least several of these mistakes, some make all of them.

Tech Tools —9 min read
How to use GitLab-CI with a GitHub-hosted repository

Watch my video on this topic, too! In response to my previous article, Solo DevOps, a reader asked me to recommend a Continuous Integration (CI) tool to use with GitHub-hosted repositories. My choice is GitLab-CI, which integrates nicely with GitHub, even if you don’t want to switch to GitLab entirely. In this post, I walk through configuring GitLab-CI for a GitHub-hosted repository. I have chosen one of my real repositories, github.