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.
Improving Typescript experience in Rails by generating a Typescript schema from Rails
Improved on schema2type with associations and enums. Delivered as a simple Gist script to run in your app and built upon the enhance your Typescript developer experience. Read more
New job, new massive Rails codebase. Where do you even get started?
How do you add features to a codebase that is massive, scary, and completely new to you? The first day at a job is like the first day at a new school: you feel awkward, lost, and confused. But what if you could feel confident collaborating with your new team? What if you knew how to navigate any codebase? This post will help you get started at your new developer job. Read more
Aaron Patterson (tenderlove) live session about TenderJIT: A JIT Compiler for Ruby
Join a live programming session with Aaron Patterson (tenderlove) about TenderJIT: A Pure Ruby Just-In-Time (JIT) Compiler. We’re going to start building a JIT for Ruby from the ground up. Learn how Ruby’s virtual machine works and more about the CPU itself, and how to build a just-in-time compiler using Pure Ruby.
Rubber Duck Dev Show Episode 10 | Application Infrastructure Performance
Hear two rubyists discuss how to optimize the performance of your application’s infrastructure:
punks.whitelabel - The Free White Label Punk Quick Starter Edition w/ Ruby
Hello, I have put together a new quick starter template, that is, /punks.whitelabel. Let’s welcome the Free White Label Punk Quick Starter Edition that let’s you (re)create from zero / scratch a pixel-perfect copy of the 10 000 CryptoPunks collection (Anno 2017). Yes, in ruby. Happy pixel pushing.
How to Reduce Memory Bloat in Ruby
The issue of memory bloat in Ruby applications is a topic of frequent discussion. Read more
Rails 7 adds `audio` in the metadata for video files
With the addition of audio metadata to video blobs, it will now be possible to check the presence of an audio channel in a video file.
Read more –>
Building a Real-Time Chat App in Rails Using ActionCable and Turbo
Turbo and ActionCable make it a snap to create Rails applications that respond to user behavior in real-time. In this article, Abiodun shows us how to use them together to create a full-featured chat application in Rails.
Upgrading Ruby on Rails: a beginner's guide
You’re about to upgrade your application to the newest version of Ruby on Rails. And you’ve never done it before? Fear not! Here’s my beginner’s guide to upgrading your app to a newer version of Ruby on Rails.
Ruby for ebook publishing
If you ever wondered if Ruby can help you with the management of your ebook, it can!
punks.starter Update - New Sample Collection №4 - 111 Aliens (Incl. Females & Apes)
Hello, I added a new sample collection to /punks.starter - the free pixel art collection quick starter package that lets you generate algorithmically your own curated (or randomized) collections. Yes, in ruby. Let’s welcome Collection №4 - 111 Cool Blue Aliens (Incl. Females & Super-Rare Apes). Let’s generate a pixel-perfect copy of all nine super-rare cool blue humanoid aliens in the original Larva Labs series in the classic 24×24 format and for fun let’s add a hundred more super-rare never-before-seen aliens incl. females and apes. Happy pixel pushing and minting with ruby.
Why ALL APIs are inconsistent?
If you’ve ever designed an API endpoint, I have a question for you! https://hanamimastery.com/articles/why-all-apis-are-inconsistent Read more
Rubber Duck Dev Show Episode 9 | Writing Performant Code
Hear two rubyists discuss how to write performant code to boost your application’s performance:
Tutorial on how to use Active Storage on Rails 6.2
A new rails tutorial - How to use active storage in Rails 6.2. Covered everything about Active Storage - from definition to installation to functionalities to major updates in recent releases. Check it out
Spree Commerce 4.3 released!
With this latest Spree 4.3 release, we’re going headless and API-first unlocking limitless UX customization possibilities with best-in-class decoupled JS storefronts. Read more
Strategic 1.1.0 - Painless Strategy Pattern in Ruby and Rails
Strategic 1.1.0 (Painless Strategy Pattern in Ruby and Rails) has been released! Read more
Rubber Duck Dev Show Episode 8 | Database Performance
Hear two rubyists discuss how to optimize your database’s performance:
The tale of Sprockets and Webpacker duality
Explaining a dual build strategy by exploring a case where we migrated a large Rails application from Sprockets to Webpacker.
RIP Jekyll (The Genesis of the Jamstack)
We are here to bear witness to the untimely demise of Jekyll, a once proud Ruby open source project and #1 static site generator in the world. (And keep reading to see what lies ahead.)
punks.starter Update - New Sample Collection №2 - The First One Hundred Punks
Hello, I added a new sample collection to /punks.starter - the free pixel art collection quick starter package that lets you generate algorithmically your own curated (or randomized) collections. Yes, in ruby. Let’s welcome Collection №2 - The First One Hundred Pixel Art Punks. Yes, you can. Generate a pixel-perfect copy of the first one hundred punks in the original Larva Labs series in the classic 24x24 format or with a 20x zoom (480x480). Happy pixel pushing and minting with ruby.
A gem for distributed locking based on Google Cloud Storage
I wrote a gem for distributed locking based on Google Cloud Storage. It can be used for ensuring mutual exclusion in workloads that span multiple machines. I use this for ensuring mutual exclusion in Fullstaq Ruby’s Github Actions pipeline. Before writing this library I spent quite some time in designing the algorithm, addressing caveats (particular all the dangers that could happen outside the happy path) and ensuring correctness. I blogged about this some time ago. Compared to Redis-based locks (such as Redlock), this library is safer because it addresses the critiques documented by Martin Kleppmann.