The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Today
Ruby vs. Python: Why I Choose Happiness Over Hype
Let’s get the elephant out of the room immediately: Python has won the popularity contest. If you… [more inside]
Why the German Government Emailed Me About My Kamal Deployment
A small deployment experiment with Kamal unexpectedly triggered an email from the German government. This post walks through what happened, what it revealed about deployment infrastructure, and the operational lesson behind it. [more inside]
The Ultimate Ruby Scraping Stack: From Nokogiri to Ferrum
Web scraping in Ruby isn’t a “one size fits all” task. If you use a headless browser for a static… [more inside]
The Faster Way to Scrape: Finding "Hidden" APIs in Modern Websites
The Headless Browser Trap If you want to scrape a modern React or Vue website, the… [more inside]
WSDL 1.0 — A modern SOAP toolkit for Ruby
I just released wsdl, a Ruby gem for working with SOAP services. It parses WSDL 1.1 documents, lets you inspect operation contracts, build requests, and invoke operations. [more inside]
The SaaS Architecture Guide: How to Handle Multitenancy in Rails Routing
Most Rails developers stop learning routing after resources :posts. But if you are building a SaaS… [more inside]
The Missing Macro: 3 Ways to "belongs_to :through" in Rails
The Missing Link If you’ve spent more than a week with Ruby on Rails, you’ve probably used… [more inside]
The Magic of lvh.me: Testing Rails Subdomains in Development
The /etc/hosts Headache If you are building a SaaS that uses subdomains (like… [more inside]
Storing multi-valued enum fields in ActiveRecord
Rails’ enum DSL is great for single values, but what about multiple? We compared 4 approaches across performance, extensibility, and maintainability to find the best fit. https://sinaptia.dev/posts/storing-multi-valued-enum-fields-in-activerecord
Using Minitest::Spec in Rails? Watch out for the lifecycle hooks!
After picking up Minitest for one of my retainer clients, I’ve had confusing errors in our test suite for a while. Turn out Rails is kinda cheeky when it comes to properly integrate Minitest::Spec.
Why I Stopped Using Docker in Development
The Industry Standard Trap If you look at any “Modern Web Dev” tutorial, Step 1 is almost… [more inside]
Optimizations
In this episode, we look at a few different ways of improving the speed of a page. There are many paths to take. Some of them leaves a lot of optimizations on the table, whereas others are premature and adds complexity. https://www.driftingruby.com/episodes/optimizations
TDD is a Luxury: Pragmatic Testing for the Solo Developer
The Dogma vs. The Deadline If you spend any time in the Rails community, you’ve heard the… [more inside]
wreq-ruby: First production-ready Ruby HTTP client with TLS/HTTP2 browser fingerprint
We just open-sourced wreq-ruby, the first production-ready Ruby HTTP client with real browser TLS/HTTP2 fingerprinting. It emulates the exact signatures of Chrome, Firefox, Safari, Edge, Opera, and OkHttp, so your requests pass as real browser traffic. Built in collaboration with the original wreq maintainer, powered by Rust with BoringSSL. Until now, Ruby had no production-ready solution for this. Pre-compiled native gems available for Linux and macOS.
Stop Using Net::HTTP: A Guide to Modern Ruby Requests
Ruby has a standard library for making web requests called Net::HTTP. It is famously terrible. The… [more inside]
Dear Future Me: How to Write Code You Won't Hate in 6 Months
The “I’ll Remember This” Lie We tell ourselves the same lie every day. “I don’t need to… [more inside]