---
title: "Progress on Ruby's newest parser"
publication: "Ruby Weekly"
issue: 647
published_at: "2023-03-30"
canonical_url: "https://rubyweekly.com/issues/647"
---

Plus a new RubyMine, git fame, and pairing on Ruby code with ChatGPT. |        

#​647 — March 30, 2023 

[Read on the Web](https://rubyweekly.com/issues/647)  

Together with [![Memetria\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_145/e_make_transparent/co_white,e_outline:7/vvpdctzacmq3xehpvwps.png)](https://dashboard.memetria.com/rubyweekly)  

Ruby Weekly  

[Live Elements: Interactive, Real Time Apps without JavaScript](https://fly.io/ruby-dispatch/introducing-live-elements/) — Sam saw [Phoenix LiveView](https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html), 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](https://code.visualstudio.com/docs/languages/ruby) — 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   [![\](https://copm.s3.amazonaws.com/d6106156.png)](https://dashboard.memetria.com/rubyweekly) 

[Memetria: Secure, Scalable, Full-Featured Redis 7 Hosting](https://dashboard.memetria.com/rubyweekly) — 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'](https://evilmartians.com/chronicles/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](https://fly.io/ruby-dispatch/pairing-with-gpt-4/) — 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](https://andymaleh.blogspot.com/2023/03/chatgpt-materialized-as-gui-via-ruby.html) with _Glimmer DSL for LibUI._  

**QUICK BITS** 

- Shopify's Kevin Newton has been hard at work on [YARP](https://github.com/Shopify/yarp) (Yet Another Ruby Parser), an attempt to replace Ruby's C-based parser with a more extensible one ([design docs](https://docs.google.com/document/d/1x74L_paTxS_h8_OtQjDoLVgxZP6Y96WOJ1LdLNb4BKM/edit#)). Progress is good with Kevin [saying](https://twitter.com/kddnewton/status/1639687636372561922): _"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](https://rubycentral.org/news/ruby-central-board/) 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](https://www.ruby-lang.org/en/news/2023/03/28/redos-in-uri-cve-2023-28755/) 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](https://twitter.com/defunkt/status/1641138130807058432) 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.](https://docs.google.com/forms/d/e/1FAIpQLSeA_mmmPS64LiqTBnQuhnwzteuJ-wP3HJKX-hynlUGRMWCPqA/viewform)  

📕 Tutorials, Articles, and Videos  

[Generating PDFs in Rails (and Zipping Them Up)](https://www.stufro.com/2023/03/26/generating-pdfs-in-rails.html) — [Grover](https://github.com/Studiosity/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](https://gorails.com/episodes/custom-turbo-stream-actions-and-auto-submitting-forms) — 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](https://ter.li/3oznid) 

Scout APM sponsor   

[Ruby, OCI8 and an M1 Mac](https://www.stufro.com/2023/03/24/mac-m1-oracle-instant-client.html) — 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](https://topenddevs.com/podcasts/ruby-rogues/episodes/pitchfork-falcon-and-performant-http-servers-ruby-587) — Shopify’s Jean Boussier went on the Ruby Rogues Podcast to talk about [Pitchfork](https://github.com/Shopify/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](https://www.fastruby.io/blog/upgrades/two-different-approaches.html) — 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](https://shopify.engineering/what-being-a-staff-developer-means-at-shopify) — One of the biggest Ruby shops, too. 

Rose Wiegley (Shopify)  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/epiv93rs0ziqug6phqrk.jpg)](https://blog.jetbrains.com/ruby/2023/03/rubymine-2023-1-is-out/)  

[RubyMine 2023.1 Released](https://blog.jetbrains.com/ruby/2023/03/rubymine-2023-1-is-out/) — 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](https://github.com/mperham/connection_pool) — 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](https://www.polyscale.ai/) — 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](https://github.com/platanus/potassium) — 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](https://github.com/jamesmartin/inline_svg) — 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   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sjua07cplfutjhkhjt8t.jpg)](https://github.com/oleander/git-fame-rb)  

[git-fame: CLI Tool to Pretty-Print Collaborators Based on Contributions](https://github.com/oleander/git-fame-rb) — Why blame when you can_fame?_ 

Linus Oleander   

🙂 [Gemoji 4.1: Work with Emoji Images and Names](https://github.com/github/gemoji) — 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](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=fourletter) 

Shortcut (formerly Clubhouse.io) sponsor   

[Heya 0.8.0: A Campaign Mailer for Rails Apps](https://github.com/honeybadger-io/heya) — Think of it _“like ActionMailer, but for timed email sequences.”_ LGPLv3 licensed. 

Honeybadger    

Jobs  

[Software Engineer (Backend)](https://jobs.ashbyhq.com/stickermule/477eed3e-4aae-46e6-a8ab-0646dbfb11cd?utm_source=Cooperpress) — 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](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=easy-job-hunting) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired      

- [Puma 6.2](https://github.com/puma/puma)
 ↳ Popular Rack web server built for parallelism.
- [Nesta 0.14](https://github.com/gma/nesta)
 ↳ File-based CMS, built with Sinatra.
- [Meilisearch Rails 0.9](https://github.com/meilisearch/meilisearch-rails)
 ↳ Meilisearch integration for Rails apps.
- [Wasabi 4.0](https://github.com/savonrb/wasabi)
 ↳ WSDL parser.
- [ValidEmail2 4.0.6](https://github.com/micke/valid_email2)
 ↳ ActiveModel validation for email.
- [Parklife 0.6](https://github.com/benpickles/parklife)
 ↳ Render a Rack app to a static build.
- [sqlite3-ruby 1.6.2](https://github.com/sparklemotion/sqlite3-ruby)
 ↳ Now using [SQLite 3.41.2.](https://sqlite.org/releaselog/3_41_2.html)
- [RubyGems 3.4.10](https://blog.rubygems.org/2023/03/27/3.4.10-released.html)         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom   

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
