Tom de Bruijn

I'm a developer, organizer and writer.

Switching Zellij and Vim panes with ease

Set up seamless pane switching in Zellij and Vim with custom keybindings.

Write your own Domain Specific Language in Ruby

Let's create our own Domain Specific Language. We'll use our metaprogramming toolbox for Ruby to configure a gem and have Ruby write code for us.

Calculating String length and width – Fun with Unicode

Finding the string length sounds easier than it is, if we want to be really accurate. Let's explore how does Unicode and emoji make this step more complex.

When not to use instance variables in RSpec

Using instance variables in RSpec tests can lead to brittle specs and make them fail. Let's see when and when not to use instance variables. RSpec will help!

Git: Review changes before committing

Git commits can be made very quickly, but we don't see what changes are committed. We can improve the way we make commits by reviewing what we commit first.

Retry brittle tests until they fail

Debugging brittle specs is annoying and time consuming work. Let's automate finding those brittle specs by retrying them until they fail.

Git is about communication

Git is a way to communicate with your team. Well written commits and Pull Requests ensure that this communication goes smoothly.

- for AppSignal

How we tracked down an exception without errors: a detective story

This is a short detective story about how we tracked down an exception in AppSignal.com's flow that didn't cause an error...

- for AppSignal

#to_s or #to_str? Explicitly casting vs. implicitly coercing types in Ruby

We'll look into difference between explicit casting and implicit coercing in Ruby, and the difference between typecasting Leonard Nimoy and Michael Keaton.

- for AppSignal Academy

Rails collection caching

In this article, we'll take a look at how Rails collection caching works and how we can use it to speed up large collection rendering.

- for AppSignal Academy

Syntactic sugar methods in Ruby

Ever hear about Ruby's syntactic sugar, but never knew what it meant or how to use it? In this article we'll explore just how we can use it to our advantage.

- for Ruby Magic

A look at how Ruby interprets your code

A look at how Ruby interprets your code and how you can use this knowledge to your advantage to speed up your app.

- for Ruby Magic

Escaping characters in Ruby

Escaping characters in Ruby can be quite confusing. In this post we'll cover the power of the backslash symbol \ and how you can use it.

- for Ruby Magic

Rescuing exceptions in Ruby: a primer

Make sure your exception handling is done right. Get up to speed with this Ruby Magic primer and make sure you only rescue the exceptions you need to.

- for Ruby Magic

Rebasing a complex branch in Git

A while ago I volunteered to rebase a very complex branch in our AppSignal frontend. Read on how I rebased the branch internally known as `layout-tweaks`, you may know it better as the new AppSignal design.

- for AppSignal

Git prompt to select commits to --fixup

Make fixup commits part of your workflow with this tool for making Git fixup commits with ease. Run `git-fixup` and select which commit your want to fixup.

Super fast application switching

Optimize your workflow! Avoid Alt-Tab-bing and switch directly to the application you need. It's faster and you can keep focus on what you're working on.

How Ruby gems work on the command line

Learn how the gems you use actually work on the command line. Good to know when you're building your own.

Benchmarking doesn't hurt

How do you decide what implementation to go for? Do you base this on style, lines of code or something else? Consider performance as well. Let's benchmark!