🇺🇦 #​608 — June 16, 2022

Read on the Web

Ruby Weekly

Making Popular Ruby Packages More Secure — Mirroring similar moves by GitHub with the npm registry, RubyGems’ maintainers want to improve the security of the Ruby ecosystem by making maintainers of the most popular gems use multi-factor authentication on their RubyGems accounts to mitigate account takeovers. How popular? “Anybody who maintains a gem with more than 165 million downloads”.. 😮

Betty Li (RubyGems)

Why attr_accessor is Faster than Regular Methodsattr_accessor, attr_writer and attr_reader are just shorthand for defining getter and setter methods, right? Yes and no. Dmitry heads down to the bytecode level to see why attr_ produced methods are a little faster than rolling your own.

Dmitry Tsepelev

Fight Bugs with AppSignal in Multiplayer Mode — Fighting bugs on your own is hard. You need to get information from your app, understand the problem, and come up with possible solutions. With AppSignal, the whole team comes together.

AppSignal sponsor

The Case for Pattern Matching Key Irreverence in Ruby — A thoughtful post that puts forth a keyword argument-type approach for pattern matching arguments stemming from a GitHub issue on Ruby’s csv library. Read it and give your opinion.

Brandon Weaver

Quick Bits:

Jobs

Software Developer (Rails, Ruby, MySQL, JS, CSS/HTML) — We're seeking a motivated, driven developer to join our growing development team and help build our leading event management platform.
Tripleseat Software

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

Backend Engineer | Remote Within CET (-3/+3 Hours) | Full-Time — Join us as a Backend Engineer to create the finance solution all businesses love - Tailor made remote policy or relocation package.
Qonto

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

📕 Articles & Tutorials

Code I Like: Domain-Driven Boldness at Basecamp — Jorge gives us some examples of how the folks at Basecamp employ domain-driven design (a.k.a. DDD) resulting in maintainable, readable code that might inspire you to do the same.

Jorge Manrubia (Hey.com)

Migrating from Webpacker to esbuild — If you feel the need to move away from Webpacker, this guide will show you the ins and outs of transitioning to esbuild smoothly, including working around some deficiencies (like hot module reloading).

Francois Buys (FastRuby.io)

How a Rubyist Made $50,000 Profit from a Side Project Slack Bot — The $50,000 number is less interesting than the story of the five years it took to build the project to get there, giving real insight into how actual side projects work.

Paweł Urbanek

Free eBook: Efficient Search in Rails with Postgres

pganalyze sponsor

Building a Chat App with Hanami and Hotwire — Brings together the elegant Hanami with Hotwire’s ‘HTML over the wire’ approach for a particularly tight and tidy and idiomatically Rubyish experience.

Paweł Świątkowski

Cross Platform Machine Code — Aaron (aka Tenderlove) wanted to write a conditional-free (but pizazz-filled) set of tests for assemblers on different platforms, which he recounts here. If you’re into assembly, read on.

Aaron Patterson

Self-Destructing StimulusJS Controllers — A great approach when you need a little bit of client-side behavior without a lot of cleanup.

Matt Swanson

▶  How to Add Infinite Scrolling to a Rails App with Hotwire in Under 5 Minutes
Cezar Halmagean

Working with Hanami Router and TDD
Hanami Mastery

🛠 Code & Tools

Lockbox 1.0: Modern Encryption for Ruby and Rails — Got sensitive information you’d like to keep secure? This integrates with Active Record, Action Text, Mongoid, and more to help get it done in an ‘easy to use, hard to misuse’ way.

Andrew Kane

A Basic JSON Parser Written Using Pattern Matching — Not a library or anything, but a nice look at a tidy use of pattern matching.

Kevin Newton

Agile Localization Platform: Develop, Translate, Deploy - Reiterate — Translate your app & go global - 15 day free trial - Prices from €66/month - Free for open source projects & charities.

WebTranslateIt.com sponsor

Graphlient: A 'Friendlier' Ruby GraphQL Client? — Builds on top of graphql-client.

Ashkan Nasseri

Ruby LSP 0.1: An Implementation of the LSP SpecThis VS Code extension then hooks into this.

Shopify

Ancestry 4.2: Organize an Active Record Model into a Tree Structure
Stefan Kroes

Chartkick 4.2: Beautiful JS Charts in One Line of Ruby
Andrew Kane