#​698 — April 11, 2024

Read on the Web

Together with  reinteractive

Ruby Weekly

CrystalRuby: Embed Crystal Code Directly in RubyCrystal is a Ruby inspired programming language that boasts a lot of great features and is well worth a try IMHO. One benefit is performance, and this gem lets you write Crystal code, inlined in Ruby, giving you a potential performance boost without a huge shift in syntax. New and YMMV!

Wouter Coppieters

🇯🇵  Matz on Static vs Dynamic TypingThis article is in Japanese, so get your browser’s translation feature ready. It’s a transcript of thoughts by Ruby’s creator (in a talk given in 2022) on the pros and cons of static and dynamic typing, and why Ruby hasn’t adopted type declarations so far (complexity and potential bad feelings in the broader Ruby community).

ログミーTech

Inexpensive and Efficient: Get Your Ruby & Rails Upgrade Done — Don’t let the risk of out of date Ruby & Rails versions become a problem. Talk to us about our free security assessment & we can discuss how our incremental upgrade service - CodeCare Shield - can improve the speed, security & stability of your app.

reinteractive/CodeCare® Shield sponsor

A Docs-First Approach to Rails API Development? — Writing documentation for APIs is rarely an exciting job and often gets left till last, but what if you wrote it first? This article looks at how this can work in practice, and introduces Skooma, a new Ruby library for validating API implementations against OpenAPI documents.

Svyatoslav Kryukov

📄 Articles, Tutorials & Videos

▶  Setting up Ruby and Rails on Windows and WSL — If you’re considering 'doing a DHH' and giving Windows a try for Ruby development, this quick look at setting up a fresh Windows 11 environment for Rails development could be very handy.

David Kimura

Using Lambdas and Callables for Deferred Evaluation, Control Flow, and New Language Patterns — When might you write a block vs a “stabby lambda?” Procs and blocks and lambdas (oh my!) are fantastic and while Ruby has conventions and patterns to follow, there’s a lot you can do with the basics, as Jared shows here.

Jared White

How Our Amazon ECS Autoscaler Works — Building an autoscaler for ECS was a bit more complex than a Heroku add-on, so here’s a taste of our secret sauce.

Judoscale sponsor

Abstract Methods and NotImplementedError — Learn what the NotImplementedError exception is actually for and some other approaches for handling situations where abstract classes don’t provide methods meant to be implemented in their subclasses.

Nithin Bekal

Creating a Flappy Bird Clone with Ruby — How has it been ten years since Flappy Bird was the hit game of the moment?

Konstanty Koszewski

How PlanetScale Makes Schema Changes — Did you know Rails powers the popular MySQL platform’s main API? Here’s a look at how they approach handling schema changes at scale by separating migrations from deploys, along with some GitHub Actions and PlanetScale’s own magic.

Mike Coutermarsh (PlanetScale)

Maybe MOAR Is Not the Answer 🫠 — Turns out a relentless push for MOAR features and developers was wrong. Leaders could do with some reflection on less.

Test Double sponsor

📄 Modern CSS Patterns in Campfire Jason Zimdars (37signals)

📄 Work Around Rails Schema Noise with 'One Weird Trick' Kevin Baribeau

📄 Implementing Account-Based Subdomains in Rails Aestimo Kirina (Honeybadger)

📄 Notes on git's Error Messages Julia Evans

🛠 Code & Tools

Synvert: Write Code Snippets to Transform Existing Source Code — Supporting Ruby, JavaScript, and TypeScript, this is essentially a scripted, AST-powered form of 'find and replace' for code, letting you implement code transformations in a structured way. It can even be given input and output code and write a potential transformation for you to tweak. Full Ruby docs here and a bunch of example ‘snippets’ for Ruby.

Synvert

Phlex 1.10.0: Build Object Oriented View in Ruby — A minor release by number, a pretty big release by features! Phlex lets you treat everything in a view as a distinct component and manage them as plain old Ruby objects. v1.10 unveils some exciting experimental features including selective rendering, component kits, and CSV view rendering – all explained in detail here.

Joel Drapper

Jobs

Build Mission Control for a Global Weather Balloon Constellation — WindBorne is supercharging forecasts with smart weather balloons launched from three continents; we're hiring a fullstack web dev.
WindBorne Systems

Principal Full-Stack Rails Engineer (Remote) — Ruby FinTech w +10yr Track Record. NVDA, Bitcoin ETFs, Retirement Income, you name it. Helping investors research their options.
Mitre Media

form_props: The Power of Rails Forms, Now for React Too — If you want the convenience of form_with but when building forms in React apps, this is for you. GitHub repo.

Johny Ho (thoughtbot)