(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...
What is Vim? Since you’re reading this, I’m pretty sure you have at least a vague idea of what it is. Here’s what it says on the tin of Practical Vim by Dre...
Do you work on multiple PCs? Do you use a plethora of different tools that in turn use a bunch of configuration files to store their settings? Do you spend w...
This is the last post in a three part series about We Are Developers. This one is about day three. Check out the previous posts to learn more about what happ...
This is continuation of the previous post about We Are Developers. I was a bit late on day two and missed Brenda Romero’s talk about how not to fail as a gam...
We Are Developers is one of the largest developer conferences in central Europe and took place between the 16th and 18th of May this year. I was very lucky t...
I own a Synology Diskstation NAS and use Synology Cloud Station Drive for syncing some documents and configuration files between PCs. Reason being: Dropbox t...
It’s that time of the year again. That time when I remember that I have a blog and maybe should write something now and then. Well here goes.
I purchased and configured a Raspberry Pi 3 a couple of months ago. Back then, I wrote about some basic set up and future plans. I haven’t had to opportunity...
I have been working on a small side project for a couple of weeks now. Thematically, it’s nothing too exciting. Just a self-hosted web application to write m...
I finally folded and bought myself a Raspberry Pi 3. I have been thinking about using one as a media server on my home network for quite some time now. Holid...
This post might be kind of stupid. I’m by no means an experienced public speaker. However, I DID have to do a couple of presentations this past half-year, an...
Java Pathfinder (JPF in short) is a model checking tool for Java programs. Model checking is an approach to formal verification and can be used quite nicely ...
In the days leading up to the Christmas holidays last year I was searching for a little project that I could work on. After some consideration I settled on t...
Once upon a time I actually studied mathematics. Overall it wasn’t a particularly pleasant experience. I guess although I was pretty good at “school mathemat...
I had and have the pleasure to take part in Object Orientated Programming, a course taught at the TU Wien this semester. OOP is a mandatory course, taken by ...
If you study information technology at the technical university in vienna, sooner or later there comes the day when you have to work on a project together wi...
A couple of days ago Jetbrains released the first version of Project Rider in an early access program. If you know me personally you probably are aware that ...
A couple of days ago my girlfriend told me about this quiz she found - the python challenge. Its basically a web quiz containing levels and you progress leve...