#​671 — September 28, 2023

Read on the Web

Together with  Memetria

Ruby Weekly

Phlex with Hanami: Make Your Views Written in Ruby. Completely. — Plenty of Rubyists don’t use Rails and prefer frameworks like Hanami to do their Web business. What about Rubyists who don’t use Rails and don’t even want to use HTML either? Say hello to Phlex, a way to write your views entirely in Ruby.

Sebastian Wilgosz

🇩🇪  Germany Continues to Invest in Ruby — The German government's Sovereign Tech Fund is a publicly funded effort to support ‘open digital infrastructure.’ With a new round of funding for Ruby Central, the fund is showing a huge level of support for Ruby by helping to fund all sorts of things, including a 24/7 rotation of folks to handle critical security issues. Danke!

Ruby Central

Memetria: Secure, Scalable Redis 7 Hosting — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record.

Memetria sponsor

Strada: Create Native Controls from Server-Rendered HTMLHotwire is a family of technologies for building modern web apps around an ‘HTML over the wire’ approach, with Turbo and Stimulus being the most familiar parts to Rails developers. The long-awaited Strada completes the family and allows hybrid mobile apps (whether built in Rails or not) to have fully native controls while simply emitting HTML.

Jay Ohms (37signals)

Joe Masilotti has a helpful third-party blog post if you want to see how Strada actually looks in practice.

🎉 I failed to notice that Dave Thomas (a.k.a. pragdave) of Pragmatic Bookshelf and 'Pickaxe' fame took a step back several years ago. But.. he's back and ready to push The Pragmatic Bookshelf forward some more. He encourages you to reach out with your ideas.

🎧 The Ruby on Rails Podcast has had several great years with Brittany Martin at the helm, but all good things must come to an end, and Brittany is moving on, placing the show ▶️ into the capable hands of Elise Shaffer.

🏎 Last week, we shared a story about YJIT making Shopify's production code faster, and now 🐦 DHH has tweeted that Basecamp, too, is seeing a ~10-24% speedup.

▶️ 37signals' Rework podcast features Jason Fried and DHH talking about their new ONCE product line, a series of Ruby and Rails-powered products based around their 'pay for apps once' manifesto.

📑 JetBrains has opened the Early Access Program (EAP) for RubyMine 2023.3.

📱 A directory of Turbo Native powered apps.

🔐 Support for passkeys is now generally available on GitHub.

📕 Articles and Tutorials

An Introduction to LiteStack for Rails — There’s been a lot of buzz around apps getting simpler lately with SQLite taking a central role. Litestack is an interesting gem that uses SQLite to provide a database, cache, and job queue all in one. Rails isn’t required, but this tutorial focuses on building a Rails app that interfaces with the Replicate pay-as-you-go machine learning service.

Julian Rubisch

▶  Bringing Ruby to the JVM: Making the Impossible Possible — Core JRuby developer Charles Nutter tells the whole JRuby story from both a historical and technical perspective and touches on the future of JRuby too.

Charles Nutter

🌳 Need to Upgrade Rails on a Tight Budget? Try Bonsai by FastRuby.io — Let the experts on Rails Upgrade Workshops (RailsConf) gradually upgrade your app to be compliant (security wise) 🔐

Fixed-cost Upgrade Services sponsor

Why You Might Not Want to Run rails app:update — It’s there to help you update your apps when upgrading Rails and it usually does a good job, but there are some reasons to approach it with caution.

Gelsey Torres (FastRuby)

Navigating Personal Information with Care — A high level look at how the developers at 37signals avoid unnecessary exposure to customer information and some suggestions of ways to replicate their efforts in your own Rails apps.

Jorge Manrubia (37signals)

'How Dare You Test a Private Method'
Mike Coutermarsh

▶  How to Upgrade to Rails 7.1
Kent Crutchfield

▶  Rails 7.1 Is Gonna Be HUGE
Remote Ruby Podcast podcast

🛠 Code & Tools

Minitest Heat: A Custom Reporter to Help Fix Code When Tests Fail — A reporter that makes it easier to identify patterns and hot spots when testing. More detail and examples here.

Garrett Dimon

x-ruby: A Ruby Interface to the X (Formally Twitter) API — An efficient rewrite of the Twitter Ruby library for the new X-themed world. If X’s API remains useful to you in its current half-arsed state, this library is for you, especially as the Twitter gem is no longer maintained. GitHub repo.

Erik Berlin

Put Us Out of Business and Build Your Own Monitoring Stack 😳 — Learn Ruby's built-in errors, how to use log levels and tagging to customize the log output, display errors, and more.

Honeybadger sponsor

Monotime: An Interface to Monotonic Time in Ruby — Monotonic time is a measurement of the time since a system was powered on and runs independently of system clock changes. This library auto-selects from some underlying clocks provided by the system, such as macOS’s CLOCK_UPTIME_RAW, as also used by Rust.

Thomas Hurst

Authentication Zero: Auth System Generator for Rails — Rather than being an authentication library, this generates a pre-built authentication system within your app directly which you can then modify as you see fit.

Lázaro Nixon

Natalie: An Alternative AOT Compiled Ruby Implementation — It’s been a couple of years since we linked to it, but progress on this Ruby implementation/ahead-of-time compiler has been consistent and it now passes ~70% of the ruby/spec tests. There’s also a YouTube channel where the lead developer shows off the implementation of new features.

Tim Morgan

Jobs

Full-Stack Developer at XYRALITY (Hamburg/Germany) — Development of a new game as senior member of a new core team based in Hamburg. Welcome to join us.
XYRALITY

Find Ruby Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

rubocop-disable_syntax: 'Disable' Ruby Syntax You Don't Like — What if you don’t like the ternary operator, numbered parameters, or unless and don’t want them to creep into your project? This RuboCop plugin covers eleven such bits of Ruby syntax some people dislike.

fatkodima

“In programming, if someone tells you 'you’re overcomplicating it,' they’re either 10 steps behind you or 10 steps ahead of you.”

___
Andrew Clark