#​647 — March 30, 2023

Read on the Web

Together with  Memetria

Ruby Weekly

Live Elements: Interactive, Real Time Apps without JavaScript — Sam saw Phoenix LiveView, which offers Elixir developers rich, real-time user experiences with server-rendered HTML, and thought “Yea, I definitely want that.” Luckily, Rails 7 has most of the parts and Sam has brought together Turbo Streams and Stimulus to get very close in a solution he calls Live Elements which he then compares to other approaches like StimulusReflex and HTMX.

Sam Ruby (Fly․io)

Using Ruby with Visual Studio Code — VS Code has been a popular choice of editor for Rubyists for ages but now there’s an official page in the VS Code documentation with advice on how to get things set up with the Ruby LSP extension.

Microsoft

Memetria: Secure, Scalable, Full-Featured Redis 7 Hosting — The latest Redis features, instrumented and scaled with the tools teams need as they grow.

Memetria sponsor

RuboCoping with Legacy: Bring Your Ruby Code Up to 'Standard' — If this triggers déja-vu, this is a classic post that’s been brought up to date. It explains how to use RuboCop, the linter and formatter, to bring legacy Ruby code up to ‘standard’, fix code style issues in legacy codebases, etc. A Gemfile refactoring is also suggested to improve readability and reduce Bundler’s dependency verification time.

Vladimir Dementyev

Pairing with GPT-4 to Write Ruby — Learn how to take advantage of our new GPT-powered friends by pair-programming with them. As it turns out, our jobs may be safe for a while longer but you can definitely have a little fun and perhaps break through those “coder’s block” moments with it.

Brad Gessler (Fly․io)

In related news, Andy Maleh shows us how to create a simple Ruby-powered GUI client for ChatGPT with Glimmer DSL for LibUI.

QUICK BITS

  • Shopify's Kevin Newton has been hard at work on YARP (Yet Another Ruby Parser), an attempt to replace Ruby's C-based parser with a more extensible one (design docs). Progress is good with Kevin saying: "100% on all test targets, and all of the codebases I can get my hands on. I am so happy and relieved it's ridiculous."

  • Ruby Central, the non-profit Ruby advocacy group, has a post about where they've been and where they're headed that will help you understand their role in the Ruby ecosystem.

  • There's a new release of the uri gem that fixes a ReDOS security vulnerability where a specially crafted invalid URL can cause uri's execution time to increase.

  • GitHub co-founder Chris Wanstrath has continued to tweet about GitHub's early days, this time writing 🐦 a thread on how GitHub started to charge money and how PeepCode's Geoffrey Grosenbach was involved.

  • 📅 If you want to speak at the new Friendly.rb Ruby conference in Romania this September, you have two days to submit your proposal.

📕 Tutorials, Articles, and Videos

Generating PDFs in Rails (and Zipping Them Up)Grover is a gem that can transform HTML into PDFs (or PNGs or JPEGs) by way of Chromium and Puppeteer.

Stuart Frost

▶  Auto-Submitting Forms and Custom Turbo Stream Actions — Learn how to auto-submit forms when a user changes a value and use custom Turbo Stream Actions to update the page.

Chris Oliver (Go Rails)

Get APM Insights into Your Ruby Apps in Less Than 4 Minutes

Scout APM sponsor

Ruby, OCI8 and an M1 Mac — While you may not have to connect to Oracle systems, this process can help if you’re using anything that hasn’t released an ARM version yet. (JRuby is another option in this case.)

Stuart Frost

▶  Discussing Pitchfork, Falcon, and Performant HTTP Servers — Shopify’s Jean Boussier went on the Ruby Rogues Podcast to talk about Pitchfork, Shopify’s new optimized Ruby HTTP server designed to minimize memory usage by maximizing Copy-on-Write performance.

Ruby Rogues podcast

The Two Approaches We Take to Upgrade a Rails App — Ernesto upgrades Rails apps for a living so this is written from the perspective of upgrading larger apps with numerous stakeholders where you need to spend as much time planning as upgrading.

Ernesto Tagwerker (Ombulabs)

What Being a Staff Developer Means at Shopify — One of the biggest Ruby shops, too.

Rose Wiegley (Shopify)

🛠 Code & Tools

RubyMine 2023.1 Released — The latest major version of JetBrains’ popular, though commercial, Ruby IDE lands improved Rails 7 and Ruby 3.2 support, better gem synchronization on WSL, faster code completion, and a variety of UI improvements.

Iryna Pisklyarova (JetBrains)

connection_pool 2.4: A Generic Connection Pooling Library — Lots of systems have connection pools built in, but what if you want a generic one to use with whatever you wish in Ruby? Here you go.

Mike Perham

Like Redis Caching, but in < 5 Minutes — Increase throughput and lower query latency using PolyScale’s intelligent database cache. Implement in minutes.

PolyScale.ai sponsor

Potassium 7.0: A Rails Application Generator — Brings in things like dotenv, Yarn, Pry, Puma, Rack Timeout, Faker, Vite and more out of the box. v7 also brings things up to Rails 7 standards.

Platanus

Inline SVG 1.9: Embed SVG Documents into Rails Views and Style with CSS — Works with Rails 5 through 7 and adds helper methods that can read and display SVG documents via Sprockets or Webpacker as appropriate.

James Martin

git-fame: CLI Tool to Pretty-Print Collaborators Based on Contributions — Why blame when you can fame?

Linus Oleander

🙂  Gemoji 4.1: Work with Emoji Images and Names — 4.1 adds some characters from the Emoji 15 standard including various hands, faces, shapes, and a moose, goose, donkey and jellyfish..

GitHub

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

Heya 0.8.0: A Campaign Mailer for Rails Apps — Think of it “like ActionMailer, but for timed email sequences.” LGPLv3 licensed.

Honeybadger

Jobs

Software Engineer (Backend) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

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