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.
Exploring Ruby Warnings
We are used to checking the deprecation warnings displayed by Rails or warnings from different gems, but Ruby itself can also display warnings to help us find code that can be problematic. [more inside]
New Blog (for flipper/ruby/rails)
We’ve already posted on client side feature flags, how we added a free plan, and an awesome relay race to ship a new feature. I forgot to post here but will for future posts.
Using GPT-4 to implement UI changes
I wrote an article with 5 examples about how I used Cursor GPT-4 to ask for some UI changes and in general the response was good enough to be used.
Six Ways to Prevent Monkey-Patch Drift in Ruby
I recently wrote about the challenges of monkey-patching in Ruby. Specifically, how to ensure that patches don’t drift from the original code. In the article, I outline six strategies based on my experiences. [more inside]
Sqlite & Rails in Production
I contributed to a few gems to make the development experience of deploying Sqlite Rails apps to production as simple as possible and wrote about it at
How to Improve Rails Caching with Brotli Compression
Caching is an effective way to speed up the performance of Rails applications. However, the costs of an in-memory cache database could become significant for larger-scale apps. In this blog post, I’ll describe optimizing the Rails caching mechanism using the Brotli compression algorithm instead of the default Gzip. I’ll also discuss a more advanced technique of using in-memory caching for extreme performance bottlenecks. [more inside]
Ruby goes to the movie theater: directing the refactoring of your application
This post introduces a method I use to refactor big applications. I want the process to happen in a predictable manner and make sure that important things are addressed before others. One day I realized that there is a missing tool in my workflow, so I’ll introduce my new gem called rubocop_director.
When Should You Use Background Jobs? | Rubber Duck Dev Show 99
In this episode, we discuss when you should use background jobs:
Rauversion 🤘 The self-hosted music industries built on Rails 🤘
We’re excited to share this release with you all: a fresh take on music streaming platforms, reminiscent of SoundCloud and Bandcamp, but with some unique features that cater to artists, music enthusiasts, and event hosts alike. Built using the power and flexibility of Rails and Hotwire, we’re proud of what we’ve achieved and would love to hear your feedback! [more inside]
rubidity-typed gem - "zero-dependency" type machinery for rubidity
Hello, as a follow up to Rubidity - Ruby for Layer 1 (L1) Contracts with “Off-Chain” Indexer I have published the first “zero-dependency” rubidity gem. Let’s welcome the rubidity-typed gem bundling-up the “zero-dependency” type machinery incl. (frozen) string, address, uint256, contract and more for rubidity for easy (re)use and experiments. It’s still (very) early. I invite you to join the fun and let’s explore and learn together building a type machinery in ruby.
Rails 7. Start Kit — Windows, Linux, MacOS!
Rails 7. Start Kit - staring a new RoR app never been so easy! Run the only shell command and get a launched RoR app in 10 minutes! This is game changing project for development, learning and teaching processes in Rails ecosystem. Try it out right now! Happy coding! V2.0 Release Note
Using Cursor IDE to make changes to a Rails app
How I experimented with Cursor IDE to make some small changes to a Rails app
Celebrating 10 issues of the RailsNotes newsletter 🥳
I’ve published the 10th issue of my Ruby on Rails newsletter. Check it out!
Using Alpine.js with Rails 7 importmap
Alpine is an alternative to Stimulus for “JavaScript sprinkles” in your Rails apps. Pair with me for 20 minutes while we build an Alpine component from scratch, installing Alpine with importmap and iteratively bringing our UI to life.
re2 2.0.0.beta1: vendored dependencies & precompiled native gems
The first beta release of a major new version of re2 which no longer requires Google’s underlying RE2 “fast, safe, thread-friendly” regular expression library to be installed as it is now vendored with the gem (ala Nokogiri and libxml2). To save compilation time, precompiled native gems are available for Linux, Windows and macOS. [more inside]
Intro to Ruby in the Browser (Talk Video)
Matz mentioned in his RubyConf 2022 keynote speech that in the future of Ruby, maybe we could start replacing JavaScript with Ruby in the browser… https://youtu.be/4AdcfbI6A4c?si=BIp_8Kd9nowuMCqr [more inside]
Rubidity - Ruby for Layer 1 (L1) Contracts with "Off-Chain" Indexer
Hello, as a follow up to Rubidity - A Ruby Dialect for Dumb (Blockchain) Contracts i have started a rubidity sandbox to experiment “off-chain” with the new ruby dialect and contracts. I invite you to join the fun and let’s explore and learn together.
Integration patterns for distributed architecture
Distributed architectures have been growing in popularity for quite a while for some good reasons. The rise of cloud services making the deployments simpler, as well as the ever-growing complexity of the applications, resulted in a shift away from monolithic architecture for many technical ecosystems. Microservices have emerged as an alternative solution offering greater modularity, scalability, reliability, agility, and ease of collaboration between multiple teams. Nevertheless, these benefits don’t come for free. The price to pay could be significant due to many factors, and one of them is dealing with some challenges that don’t necessarily happen when working on a monolith. One of such challenges is establishing the best way of integration and communication between services. [more inside]
Episode 418: I'm a teapot
A special release to celebrate 418 episodes. I talk about different HTTP response codes.
Build dynamic navs with current_page? (and conditional classes) 🧭
I’ve written an article about how to build dynamic navs, using the current_page? helper
A few things I've learned while working in dev containers
In the past few months, I’ve added development containers to several Ruby on Rails (and other languages/frameworks) applications. I’ve learned a lot along the way, and wrote some off the cuff thoughts on how I approach dev containers, how I treat them differently from production containers, and where there’s still room for improvement. Hope you’ll check it out!