The recent Hotwire pop-up drama has shown me that some have forgotten that software is made by people - people with different backgrounds, different values, different skills, and different flaws.
The diversity in opinions and aproaches is what makes modern day software development great. That’s...
9 min read
Why does Rails put the type column first in an index for a polymorphic association?
Last week, I had a discussion with a coworker about how Rails indexes columns used in polymorphic associations. He thought that the order of columns in the index should be flipped - instead of indexing by type and ID, it should index by ID and type - as that way the most restrictive column is...
4 min read
Running Campfire behind traefik
I rent a bare metal server from Scaleway where I host all my apps. For me, that's much more economical than running multiple small VPS boxes. 50€ a month buys me 2TB of disk space, 64GB of RAM and an 4 core / 8 thread CPU on which I can host two or three dozen apps. Compare that to AWS or...
25 min read
Deconstructing Action Cable
I knew what Action Cable was about and roughly how it worked since it was released. But lately I've developed a much deeper understanding of it because I had to extend it and explain its internals to others.
The following is how I explained Action Cable to myself. I took a top-down approach,...
10 min read
Tracking online presence with ActionCable
This month I worked on tracking when a device connected and disconnected to a WebSocket backed with ActionCable. At first, this seemed like a simple problem to solve, but it turned out to be much more complicated.
I started with a simple solution, which was to mark a Device as being online in...
19 min read
Rails World
It was Wednesday morning and I got up even earlier than I usually do because I had to be on a plain to Amsterdam in a few hours. I haven't been to Amsterdam since 2019 when I briefly meandered through it's streets on my way to EuRuKo in Rotterdam. This time I was going there for Rails World which...
3 min read
Hold your own Poison Ivy
After two years, this week I finally caved and changed my current employment title on LinkedIn from Software Engineer to Software Architect.
This isn’t a position where I'm am supposed to do much programming - the thing I love most, and the thing I'm good at - but rather make high-level...
13 min read
Rent in Zagreb is hell
Last month my landlord called me and told me that I had to move out because he was going to sell the apartment I live in.
In a way, this came as a blessing. I wanted to move out of that place by the end of the year either way. But at the time I had no clue what hellscape finding an apartment in...
3 min read
Corporate newspeak
“If thought corrupts language, language can also corrupt thought
- George Orwell”
One thing that annoyed me anywhere I worked was that people limit themselves to a narrow subset of English. A subset that's full of buzzwords and phrases that sound impressive but lack meaning. It's a subset...
7 min read
From Markdown to ActionText
I started this iteration of my blog because I grew dissatisfied with Medium. Like anyone migrating from any one platform to another I requested an export of my blog posts from them and got back a ZIP file containing HTML files.
The first thing that stood out was a lack of any media files -...
7 min read
Vanilla Rails view components with partials
Many projects I work on have some kind of view component that is repeated multiple times in the same view, or is present in multiple different views. These view components can be anything that has a specific styling, JavaScript specific attributes (like Stimulus controllers), rendering logic, and...
3 min read
COVID hangover
With a lot of tech companies laying people off in the last month I got to see how insane the firing practices in the US are and how greed rules supreme in the tech industry. But this is only a harbinger of what’s to come.
Through friends and from what I’ve seen first hand, the standard procedure...