🇺🇦 #​610 — June 30, 2022

Read on the Web

Ruby Weekly

(Not actually tenderlove, alas.) 

Tenderlove Cooks Up a Nifty Garbage Collector Optimization — Esteemed core team member Aaron Patterson has come up with a way to speed up Ruby’s garbage collector through the way it marks up instruction sequence objects. This is a very technical PR, but the TLDR is it could make GC ~60% faster in a Rails app (don’t get too excited, as this translates to a more modest perf improvement overall – but it’s still very cool!) It should end up in a Ruby version near you soon.

Aaron 'tenderlove' Patterson

Vite-lizing Rails: Get Live Reload and Hot Replacement with Vite Ruby — If you hang around in the JavaScript world, you’ve probably heard about Vite, a sister project of Vue.js, and how it simplifies and speeds up the frontend dev experience. Vite Ruby brings the party to Ruby and this post explores its value in live reloading, hot replacement, and asset compilation.

Vladimir Dementyev

Don’t Let Your Issue Tracker Be a Four-Letter Word — Frustrated with your project management software? Shortcut is a goldilocks solution for software engineers, product managers, and designers, providing the ease of use of a simple tool with the power and flexibility of an overly complex one.

Shortcut (formerly Clubhouse.io) sponsor

Shopify's Updated Ruby Style Guide — Shopify, perhaps the world’s biggest Ruby shop nowadays (in both senses of the word!), maintains its own Ruby style guide inspired by Bozhidar Batsov and Rubocop’s even more extensive guide. Always good to see resources like this maintained, even if in baby steps.

Shopify

Where is Copilot Taking Us? — A founder of Redmonk (a developer-oriented research firm) ruminates on the effects of GitHub Copilot (the new AI-powered ‘pair programmer’ service), focusing on legality, security, and quality questions.

Stephen O'Grady (Redmonk)

Quick Bits:

📕 Articles & Tutorials

Write Cleaner, Self-Documented Tests by Defining Methods in RSpec — Put before, subject, and let to one side, says Caleb who demonstrates how helper methods can provide a cleaner route to similar ends.

Caleb Hearth

Four Ways to Reduce Your Rubocop Frustrations — Being considered one of Ruby’s most loved and most frustrating Ruby tools is quite the achievement, but this post (which also comes with an optional 11-minute screencast) wants to get it into your 'loved' column only.

Hanami Mastery

Fixed Price Monthly Code Maintenance for Rails Apps — No time to do those small but critical updates? If you are struggling to find time, budget or resources to improve your Rails App, there is a fixed price solution for tweaks, bug fixes, upgrades and improvements with CodeCare.

reinteractive Pty Ltd sponsor

An Underrated Rails Helper: dom_id — One of the oldest helpers in Rails is also the most underrated, says Matt. dom_id particularly shines for building apps with Hotwire, allowing you to easily target parts of the page without a bunch of icky interpolation.

Matt Swanson

Full-Text Search with Elasticsearch in Rails — Elasticsearch is a popular option for adding a powerful full-text search layer on top of other databases (though it is effectively a document database in its own right). This post covers the essentials of working with it from a Rails app.

Ianis Triandafilov

Getting Started with Tailwind CSS in Rails — The basics of setting things up. Can’t help but think Railwind could be a cute name.

David Boureau

Downsides to the Overuse of Rails Engines
Murtaza Bagwala

🛠 Code & Tools

GoodJob 3.0: Postgres-Backed ActiveJob Backend for Rails — Simple to use, multi-threaded, and includes a management dashboard, cron-like scheduling, and job concurrency controls. v3 promises to be an easy upgrade from v2, unless you’re using Rails 5.2 for which support is dropped, but it has a significantly improved dashboard (live demo).

Ben Sheldon

StoreModel 1.0: Handle JSON-Backed Attributes as Active Record Models — Rather than deal with JSON columns as hashes, you can treat them as mini models of their own. AttrJson is also worth a look in this space.

Dmitry Tsepelev

Meet Filestack: The Solution to Your File Processing Needs

Filestack sponsor

rspec-uuid 0.5: An RSpec Matcher for UUIDsit { is_expected․to be_a_uuid }

Daniel Pepper

JRuby 9.3.6.0 Released — JRuby 9.3 is the Ruby 2.6.x compatible branch and this is a minor tweak/bugfix release. The Ruby 2.5.x compatible branch sees a similar release in the shape of JRuby 9.2.21.0.

JRuby Core Team

⚡️ QUICK RELEASES:

redis-rb 4.7 – The Ruby client library for Redis.
Shale 0.5 – Object mapper and serializer for JSON, YAML and XML.
TODO or Die 0.1 – Write TODOs in code that ensure you do them.
Countries 5.1 – Useful information about every country.
SmarterCSV 1.7 – Import CSV files as arrays of hashes.
stripe-ruby 6.5 – Ruby library for the Stripe API.
elasticsearch-ruby 8.3 – Ruby integrations for Elasticsearch.
business_time 0.13 – Do time math / operations in business hours and days.

Jobs

Backend Engineer – Ruby on Rails (London or Remote) — Ctrl Group builds digital health products to bring personalised health care to everyone. Apply now to join our brilliant team.
Ctrl Group

Sr. Rails Backend Engineer (100% Remote) — Curious how products are made? We make the software that product manufacturers use and we're growing quickly. Come join us.
Wherefour

Senior Backend Engineer (Berlin or Remote) — We enable DTC e-com brands to run their operations on autopilot. Our mission is to build the tech stack to automate/optimize the entire operational value chain from sourcing to final delivery and beyond.
Hive

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.
Hired