• 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...
  • 5 min read
    Elden Ring
    This week I finished Elden Ring, and the moment I put the controller down I felt a void as if a good friend moved to another country and I wouldn’t see them for a long time. This was the best game I have played in years. But why? On the surface it seems just like any other open-world ARPG, yet...
  • 2 min read
    Cutting through the noise
    I use writing as a tool to organize my thoughts, but lately I have started to question if that’s the right order to do things. Writing is thinking. Text is just someone’s thoughts on paper. It’s obvious that thinking has to come first, but that’s not always the case. When I sit down to write...