Find, convert and replace dates with Vim substitutions

Vim’s substitution command is a powerful way to make changes to text files. By using the date utility from a substitution, Vim can convert all dates in a file to a different format and replace them all at once.

Keeping open source software projects maintainable

If your open source project gains popularity, it will stay included in other people's projects and workflows for years. It's impossible to predict if you'll have time to maintain your work in the future, but there are ways to minimize the amount of maintenance your project requires to remain useful.

Property-based testing in Elixir using PropEr

While reading Fred Hébert’s PropEr testing, on property-based testing in Erlang, I set out write PropEr tests in Elixir, and run them with a Mix task.

Demystifying processes in Elixir

, on ⚗️ Elixir Alchemy

In the first edition of Elixir Alchemy, we’ll learn how processes work in Elixir by deconstructing the Task module. Along the way, we’ll learn what processes are, how they communicate, and how crashes are handled.

Building a Ruby HTTP server, part 2: Running a Rails app

, on 🎩 Ruby Magic

This time, we’ll take our home made server a bit further. When we’re done, we’ll have a web server that can serve Rails’ famous fifteen minute blog that allows you to create, update and delete posts.

Building a 30 line HTTP server in Ruby

, on 🎩 Ruby Magic

In this Ruby Magic episode we’ll learn how a to build a simple Ruby HTTP server in 30 lines of code. When we’re done, our server will handle HTTP GET requests and we’ll use it to serve a simple Rack app.

“git is not a git command”

Using this alias, $ git git status will now automatically convert to $ git status.

Checking if an ActiveRecord model instance was destroyed

ActiveRecord::Base#destroyed? was introduced in 2009, about a year before Rails 3.0 was released. Still, almost five years later, I regularly see code that tests a destroy action by querying the database after deleting the record to see if it still exists.