🇺🇦 #​602 — May 5, 2022

Read on the Web

Ruby Weekly

What Do You Think of 'Scoped Gems'? — Here’s an interesting proposal whose author wants more eyes on. The basic idea is that gems can be scoped to specific users – for example s3@aws-sdk rather than aws-sdk-s3 – so that separate RubyGems users can use whatever names they like (within their scope) and also to give end users reassurance that a gem is associated with a particular authoritative source.

Matt Muller

On Ruby 3.1’s Incompatible Changes to Its YAML Module (Psych 4) — Ruby 3.1 introduced Psych (Ruby’s core YAML parser) 4.0, a major upgrade that breaks compatibility in how it loads files by default and how it handles arguments (dropping support for legacy positional arguments).

Daniel Aleksandersen

Couchbase Capella DBaaS: Store in JSON, Access with SQL — Build faster with in-memory performance, automatic replication and scaling. Try it now for free and be live in under 3 minutes.

Couchbase sponsor

▶  Active Record Tricks — Tips and tricks videos are always popular, and this one covers a lot in just 12 minutes including read only attributes, inserting and upserting, toggling booleans, and single table inheritance.

Drifting Ruby

Breaking the Monolith at Twitch — Twitch is one of a large group of successful companies that began life running as a monolithic Rails app (a la GitHub or Twitter) but they’ve written about where they went from there, how Go entered the picture, and their current practices which are, sadly, mostly Ruby free. (Note there’s a part two.)

Mario Izquierdo (Twitch)

Quick Bits:


4 Senior ROR Engineers - Remote Since Day 1 — Mastered ROR (6-8 years of XP)? Join Anka: The all-in-one solution to export products made of Africa globally. Great technical challenges, fast development opportunities, and a badass team.

Ruby Developer — We’re looking for a Ruby Developer to help us integrate APIs, improve the internal framework and build automation tools.
Distribusion Technologies GmbH

Senior Rails Engineer @ Nebulab (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers.

Find Ruby Jobs Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

📕 Articles & Tutorials

Bootstrapping with Rails Generators and Templates — Rails is famed for its ‘batteries included’ approach of having most things you need ready to use, but what about going a step further with more of your app defined in advance? Hans-Jörg shows off generators and templates and how they can help.

Hans-Jörg Schnedlitz

Hosting Ruby Apps (for Free) on Oracle Cloud with Dokku — It’s interesting to see a different cloud offering getting mentioned once in a while. Oracle Cloud has a rather curious free tier with a lot of potential, though the ideas in this post could apply to almost any VPS.

Artem Avetisyan

Improve Your Specs' Quality with Branch Coverage — Enable branch coverage in SimpleCov (the code coverage tool) to make sure you aren’t lulled to sleep with line coverage and end up leaving bugs in your code.

Karol Bąk

Debug Ruby Apps Without Stopping Them in Prod. Try Rookout Free Today

Rookout sponsor

How to Avoid Race Conditions in Rails — There are many ways to avoid race conditions, and Rails/ActiveRecord has a solution for each one so knowing the benefits of each approach makes sure you grab the right tool for the job.

Godwin Ekuma (Honeybadger Developer Blog)

How to Run a Virtual Retreat — Something more companies have surely been doing in the last year or two.


Starting a Blank Jekyll Site with Tailwind CSS in 2022
Giorgi Mezurnishvili

Using RSpec Block Syntax for Message Expectations
Domhnall Murphy

🛠 Code & Tools

SuperDiff 0.9: View Differences Between Complex Data Structures in RSpec — When you’ve got something that’s expected and what actually came back, distinguishing the difference between them can be a pain. This attempts to make it easier.

Elliot Winkler

Sequel 5.56.0: The Database Toolkit for Ruby.alter_table / add_column / add_foreign_key now support an :index option to create indexes on new columns. You can also now create STRICT tables on SQLite 3.37.0+ (basically strict typing in SQLite).

Jeremy Evans

U Up? Let People Know with Beautiful Status Pages from Honeybadger 😘 — We've added support for custom domains and branding on our public status pages - free on all current plans.

Honeybadger sponsor

N1Loader: A Loader to Solve N+1 Issues with Active Record 'for Good' — I think the author’s enthusiasm speaks for itself: “This gem has proved itself stable in production and deserves a chance to help many engineers around the world. It’s especially great as it fits amazingly with GraphQL and makes it so easy to fix any kind of N+1 issues!”

Evgeniy Demin

SmarterCSV 1.6: Smarter Importing of CSV Files as Array(s) of Hashes

json-schema 3.0: A Ruby JSON Schema Validator
Vox Pupuli

sidekiq-scheduler 4.0: Lightweight Job Scheduler Extension for Sidekiq
Moove It

Kredis 1.2: Higher-level Data Structures Built on Redis
Ruby on Rails