#ruby

23 articles with this tag

Related Tags

  • 7 min read
    My last PHP app: How I Fell for Ruby
    Last week I found a backup of the very last PHP app I ever wrote. The backup was from 2009, but the app itself was written in 2007 - 18 years ago! Back then I was in my late teens and the world was (or at least felt) completely different. Out of nostalgia, I spent some time exploring the source...
  • 15 min read
    Building Twice: A clone of Once
    When Campfire - the first Once product - came out, a few of us at Ruby Zagreb pitched in to buy a copy. Prometheus had brought fire from Mount Olympus, and we came to see the blaze. We were finally seeing how the people at 37signals - the birthplace of Rails - build Rails apps. And as a bonus, we...
  • 12 min read
    Adding MCP to a Rails app
    Last week we had an AI hackathon at work during which we added an MCP server to our Rails app. This was much easier than I expected, the result was both impressive and scary, and I learned a few things about MCP that I didn't expect.Goal My team wanted to help our support team by automating some...
  • 16 min read
    Building Simpl息
    This week I went for a coffee with a friend. As we talked the topic of hobbies came up. I mentioned that I was having a lot of fun working on a toy project over the past week, and then I showed it to him. Him: So you are dabbling in React? Me: No, this is just Rails. Him: Which libraries did you...
  • 19 min read
    Monitoring ActionCable
    A few weeks ago I was woken up with the following message "Hey, devices are randomly disconnecting from WebSockets can you come online and help?". Usually, when a widespread problem like this occurs out of the blue, my first goal is to make the app mostly operational again and my second goal is...
  • 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...
  • 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...