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.
Real-world Concurrency with Ruby and Polyphony: a Telnet Chat App
In my latest article, I’ll show you how to implement a real-world fiber-based concurrent Telnet chat app using Polyphony. Along the way, I’ll demonstrate how Polyphony lets us write concurrent programs in a natural, idiomatic style, and show how fiber messaging, one of Polyphony’s unique features, allows us to design a concurrent app as a collection of simple, autonomous entities, each having a single responsibility.
Benchmarker 1.0.0 released -- pretty good benchark tool for Ruby
Benchmarker 1.0.0 released. Benchmarker is a pretty good benchark tool for Ruby. Iterate benchmarks, calculate average, print barchart and matrix, filter benchmarks, and so on. See https://kwatch.github.io/benchmarker/ruby.html for details.
Leveling Up Weekly: Ruby on Rails - Issue #3
Hello, I just released the third issue of my weekly newsletter, “Leveling Up Weekly: Ruby on Rails” - a curated Rails and Ruby focused newsletter targeted for junior to mid-level Rails developers. [more inside]
How to store timestamps in Rails
Why we should care about using TIMESTAMP WITH TIME ZONE for almost all timestamps in our apps: https://www.mbronikowski.com/blog/timestamps-in-rails
How to Improve Code Quality on a Ruby on Rails Application
Does it take forever to ship even small features on the codebase you’re working on? Is the code hard to understand and maintain? Are projects always running over budget? Are you constantly sacrificing code quality and not paying down technical debt? [more inside]
Supercharge tests with crystalball + circle-ci
A four part tutorial on optimizing test suite using Crystalball (Regression Test Selection library). Also make it play nice with circle-ci parallel runs. Supercharge tests with circle-ci & crystalball
Best of Ruby Gems Series - Glimmer Days - glimmer-dsl-libui Gem - Desktop UI w/ libui
Hello, let’s thank Andy Maleh for the lastest addition to the glimmer family and to the ruby desktop universe - let’s welcome the Glimmer Mini-Language (Domain-Specific Language / DSL) for Desktop User Interfaces using libui for Linux / Apple Mac / Microsoft Windows. For the full story / write-up see Day 8 - glimmer-dsl-libui Gem - Prerequisite-Free Ruby Desktop Development Library. Happy desktop programming / scripting with ruby.
Rubber Duck Dev Show Episode 19 | How Much Time Should You Spend Planning
Hear two rubyists discuss how time you should spend planning before jumping into coding: https://www.rubberduckdevshow.com/episodes/19-how-much-time-should-you-spend-planning/
Run Your Rails App On Kubernetes: A Step-by-Step Tutorial
Kubernetes has become very popular in recent years as a way to deploy applications using containers. In this article, Geshan shows us how to get a Rails app up and running inside a local K8s cluster. https://www.honeybadger.io/blog/rails-on-kubernetes/
Ruby Vector Graphics Programming ("Less Is More") Challenge - Draw 24x24 Pixel Punks
Hello, in the ongoing ~pixel~ vector art / punk programming - yes, in ruby - series I put together a new Ruby (Vector) 2D Graphics Programming (“Less Is More” or “Code Golfing”) Challenge. The challenge - draw 24x24 pixel punks w/ vector 2D graphics instructions (e.g. line_to, move_to, …) - using your ruby (2D graphics) library of choice. Cheers. Prost.
A no-go fantasy: writing Go in Ruby with Ruby Next
On the Martian blog, Svyatoslav Kryukov enters into a fantasy realm, and is forced to imagine that ✨everything must be written in Go!✨ [more inside]
Snake Game by Glimmer DSL for LibUI
Snake has been built test-first following the MVP (Model / View / Presenter) architectural pattern using Glimmer DSL for LibUI. [more inside]
New release of Truemail 🚀 configurable plain Ruby 📨 email validator
Fixed SMTP validation issues caused by Ruby 3.0 stdlib SMTP client 🚀 Be sure that email address valid and exists 📨 https://github.com/truemail-rb/truemail
[Screencast] Speeding Up Requests
In this episode, we look at several issues around pagination and different kinds of querying that could affect performance when working with large datasets. https://www.driftingruby.com/episodes/speeding-up-requests
Ruby Pixel Art Programming How-To - The Making of 1-Bit (B&W) Adam (24x24 Pixel Punk)
Hello, I put together a 1-bit black & white edition of The Making of Adam (24x24 Pixel Punk) from Scratch / Zero Using Pixel Art Designs in the ASCII Text Format in the Pixel Art How-To series. Happy pixel art programming in ruby.
Glimmer DSL for GTK
Yes, I’ve done it! I built an entire Glimmer DSL in one day! I built Glimmer DSL for GTK after receiving an issue request for it on the Glimmer project page on GitHub! GTK (aka GIMP-Toolkit or [incorrectly] GNOME-Toolkit) is the premiere desktop GUI toolkit on Linux, which also runs on Mac (Quartz GTK+) and Windows. Glimmer DSL for GTK aims to supercharge productivity and maintainability in developing Ruby-GNOME applications by providing a DSL similar to Glimmer DSL for SWT. [more inside]
Glimmer DSL for LibUI Tetris Example
I recently got an issue request to build games in Glimmer DSL for LibUI, so I went ahead and built Glimmer Tetris. Of course, I followed the Glimmer Process in building it, so I released the following version changes of Glimmer DSL for LibUI along the way… [more inside]
Migrating from Webpacker to the New Bundling Approach
Interested in migrating from webpacker to jsbundling-rails and cssbundling-rails? I’ve migrated two Rails apps so far and have tips to share! https://hybrd.co/posts/migrating-from-webpacker-to-the-new-bundling-approach
The Factory Method Pattern in Ruby (video)
The Factory Method Pattern might be somewhat hard to understand at first, mainly because you probably don’t need it as often. But nonetheless, it’s good to know about it and use it whenever you feel it’s appropriate. [more inside]
The Abstract Factory Pattern in Ruby (video)
The Abstract Factory Pattern allows you to do is to isolate conditional instantiations of related objects so that your client code can be extended without changing it. [more inside]
About that monkey-patching business...
Is monkey-patching inherently bad? Should its use make Polyphony illegitimate? These are the questions I’m exploring in my latest article.
Ruby on Rails Podcast Episode #390: Code Quality with Ernesto Tagwerker
Ernesto Tagwerker is the Founder of OmbuLabs, the Ruby on Rails development shop behind FastRuby.io. He comes back to the podcast to talk about code quality: what it is, what it is perceived to be and what its like to maintain a few Ruby code quality gems, including ruby-critic and skunk. [more inside]
The Singleton Pattern in Ruby (video)
The Singleton Pattern helps with restricting the number of instances a class can create to just one and gives you a global way of accessing the instance. [more inside]