(Ab)Using Single Table Inheritance to Refactor Fat Models
How to deal with a model that tries to do too much? Consider something like this:
How to deal with a model that tries to do too much? Consider something like this:
If you build a Rails application that has any kind of real-time feature, chances are you use Action Cable.
ActiveStorage has a nifty feature that allows you to serve variants of uploaded images. Think of a user uploading a profile image. You won’t need the full-si...
For performance testing wrk is one of my favorite tools. Whether you are trying to get a quick benchmark or building a performance test suite - it is fairly ...
Have you ever used a command-line application that triggered an OAuth authentication flow to log you in and wondered how that works? For example, Google Clou...
Keeping up with dependencies can be a pain. That is especially true if you build a tool that heavily relies on some library. If that library changes in a maj...
If you work in a larger organization, chances are you have access to some sort of staging environment where you can preview work that is currently in progres...
If you spend lots of time in the terminal fuzzy searching can be an absolute game changer - at least it was for me. Tools like FZF, FZY, or Selecta allow you...
In my previous post about FactoryBot we learned how to use its various features to simplify creating test data. In this post, we’ll put that knowledge to the...
When you write automated tests you sooner or later need to worry about test data. Regardless of whether you write unit, integration or end to end tests, it’s...
A year ago I made a post describing my workspace setup. A lot has happened in this past year, and so my setup changed a fair bit. In this post I’ll give you ...
I have been using Vim seriously™ for about a year now. As I have learned, and other Vim acolytes will probably tell you, learning Vim works best if you use i...
I wrote about Practical Vim a while ago, and since then I have been trying to improve my Vim in a number of ways. One of which is, coincidentally, reading mo...
On the 20th of September 2018 I had the opportunity to attend and speak at a small event organized by CON.ECT Event Management.
A colleague of mine recently said to me: “Hans, you know, you use so much stuff in your terminal. So many tools. Don’t you want to do a talk about it or some...