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.
The Story of a Critical Issue With Kafka
Recently, I’ve had an unfortunate opportunity to deal with a very unexpected issue with Kafka that had quite terrible consequences. The exact origin of the issue is yet to be discovered; nevertheless, the process leading to the final solution to the problem and the fix itself were interesting enough that I decided to write a quick blog post about it as it might be potentially valuable to someone who also encounters a similar problem. [more inside]
Glimmer DSL for LibUI Beta Release
Glimmer DSL for LibUI (Prerequisite-Free CRuby Desktop Development GUI Library) has been a passion project for the last 3 weeks that ended today with Glimmer DSL for LibUI becoming feature-complete and moving from Alpha to Beta. What is LibUI? LibUI is a thin Ruby wrapper around libui, a relatively new C GUI library that renders native controls on every platform (similar to SWT, but without the heavy weight of the Java Virtual Machine). [more inside]
The Making of Adam (24x24 Pixel Punk) from Zero Using Pixel Art Designs in ASCII Text
Hello, I’ve put together a new pixel art how-to (step-by-step guide) titled The Making of Adam (24x24 Pixel Punk) from Scratch / Zero Using Pixel Art Designs in the ASCII Text Format. Yes, in ruby. Now create (or design) your own free Adam (or Eve) pixel punks. Yes, you can.
The second oldest Rails podcast?
The Ruby on Rails podcast is the oldest one out there, from 2005 (to now!). But I think I found the second oldest one
The redo Keyword in Ruby
In this post, we’re going to explore redo for loops, blocks & enumerations.. The redo keyword
A Compositional Approach to Optimizing the Performance of Ruby Apps
Ruby makes developers happy, but at times I wish it was faster. In a new article I explore a novel approach to improving the performance of Ruby apps.
Fun with Rails Enums and PORO
I really like enums. They can be really powerful if they are used wisely. Let’s see what we can do with them in a multilingual Rails app with a little help from PORO (Plain Old Ruby Object).
Rubber Duck Dev Show Episode 14 | Background Job Processing
Hear two rubyists discuss how to handle background job processing:
Using Dynamic Config Variables in Ruby on Rails Apps
Config variables should never be embedded directly in the codebase. It is a common practice to extract them into a separate configuration layer. A standard approach for Ruby on Rails apps is to use static ENV variables that can only be changed via a release process. In this blog post, I’ll describe the use cases for using dynamic config variables that can be modified on the fly. I’ll also share a simple way to start using them in your app without including additional gem dependencies. [more inside]
Migrating Selenium system tests to Cuprite
The Cuprite driver is a very nice replacement for Selenium in your system tests. It speeds up the suite considerably and its API is clean and versatile. The article shows some numbers and a few issues that we hit during the migration as well as their possible fixes. [more inside]
Extremely fast Javascript bundling in Rails with Esbuild
The new jsbundling-rails gem allows you to use esbuild, rollup, or other Javascript bundlers in Rails. With esbuild, we can build our Javascript extremely fast compared to webpacker. How to use esbuild with jsbundling in Rails
ActiveSupport's #descendants Method: A Deep Dive
The #descendants method is part of Rails. It returns all subclasses that inherit from a given class. In this article, Jonathan Miles shows us how to use this method and how it’s implemented. It’s a great lesson in the ins and outs of Ruby’s object model.
Rails Wizards (w/ Hotwire) Series
A 9-part series exploring the multiple ways to do wizards / multi-step forms in Rails including Hotwire for an SPA-like workflow.
Error Tracking from Scratch
In this episode, we look at creating a middleware to track errors to publish to another error “from scratch” error monitoring application. https://www.driftingruby.com/episodes/error-tracking-from-scratch
httpx 0.18.0 released - http client for ruby (concurrency, HTTP/2)
0.18.0 Features Response Cache [more inside]
CDNget 1.0.0 released -- download files from public CDN
CDNget is a small tool to download files from public CDN, such as CDNJS, jsDelivr, UNPKG, or Google. Release 1.0.0 improved download performance. See README for details. https://github.com/kwatch/cdnget/tree/ruby-release
Hanami 2.0 - Complete example of persistance with ROM
In this new Hanami Mastery Episode, I showcase the complete persistence layer of a Hanami 2.0 application. YT video guide included! [more inside]
Rubber Duck Dev Show Episode 13 | REST vs. GraphQL APIs
Hear two rubyists discuss the differences between REST and GraphQL APIs: