Short Ruby News - Edition #71
Discover the world of Ruby in this comprehensive newsletter covering week 51 of 2023. Find code samples, community updates, gems, resources, and thought-provoking discussions.
You can jump directly to a section:
๐ New Products & ๐ Events
๐ย All about Code and Ruby
๐งฐย Gems, Libraries, and Updates
๐ค Related (but not Ruby-specific)
More content: ๐ ๐ ๐ง ๐ฅ โ๐พ (articles, podcasts, videos, newsletters)
[Sponsor โฌ] flippercloud.io
Are big launches stressing you out? Then you need feature flags.
Flipper Cloud helps your team deploy the code now and then rollout features when you are good and ready.
Get started for free at flippercloud.io
๐ New Products
๐ย Jason Swettย launched theirย Coaching for engineering leaders service:
๐ย Josh Pigfordย launched sharedย Gemfile.Directory โ View Gemfiles Of Your Favorite Rails Apps
๐ย Manu Jย launched Zest UI Kit For Ruby On Railsย
๐ย Garrett Dimonย launched a new book calledย ย Frictionless Generators
๐ย Errol Schmidtย launchedย SecretLink.org - The Secure Way to Share Sensitive Information
๐ย Joe Masilottiย launched Daily Log
๐ Events
๐ ย Rubyfuza & Friends sharedย the CFP is open for RubyFuza 2024
๐ ย Hexdevsย announced Hacking with Ruby Prism happening on 15 December. RSVP here
๐ All about Code and Ruby
[Sponsor ๐]
Flipper 1.1 is out, and it's a sturdy release. One of the most exciting bits is expressions. If you are already a flipper user, expressions are groups you can change at runtime (instead of statically defined in code).
If you aren't using Flipper, get started free today!
๐ Takashi Kokubunย announced that `it` is accepted as default block parameter โ read about it hereย ย Feature #18980: Re-reconsider numbered parameters: `it` as a default block parameter (Read the notes from the Dev Meeting discussion here )
I think Peter from RubyWeekly describes it well:
in case there are concerns about breaking RSpec, Joel shared this:
and Martin Spickermannย shared a code sample with it:
๐ย Jean Boussierย sharedย Shopify is running Ruby 3.3.0-dev in production:
David Heinemeier Hanssonย shared they are also running Ruby 3.3.0-dev for Hey and Basecamp:
๐ More Advent of code solutions shared:
Onur Ozerย shared their repo containing solutionsย onurozer/advent-of-code-2023
Jean Tessierย shared their repo containing solutions at jeantessier/advent-of-code-2023
Cj Avillaย published new videos solving Advent on Code in Ruby
๐ย Thiago Araujoย sharedย a code sample showing how to chain Enumerable:
๐ย Dhaval Singhย sharedย a thread about Enumerable#each_cons (read the entire thread):
๐ Dave Copelandย sharedย thatย Sustainable Web Development with Ruby on Rails is now updated to Rails 7.1:
๐ Joel Drapperย sharedย about transitioning from ViewComponent to Phlex:
[P] flippercloud.io
๐ฌ Using the open source version of Flipper to flip features? Switch to Cloud in a few minutes for support, audit history, finer-grained permissions, multi-environment sync, and all your projects in one place.
Start with our free tier today at flippercloud.io
๐ย Colleen Schnettlerย sharedย a thread about building an alert with Hotwire. Read the entire threadย (alternatively read onย nitter):
๐ย Postmodernย shared a code sample showing how to useย ย kramdown-man to add man pages to Ruby CLI:
๐ย Gergely Oroszย asked about big Ruby codebases:
Here are some of replies in the threadย (read onย nitter):
๐ Joel Drapperย sharedย a code sample from their rainbow-unicorn gem:
๐ Jean Boussierย sharedย about common real-life tasks that should be considered when running a benchmark:
๐ย Joel Mossย sharedย about the lack of a way to separate concerns from models and controllers:
๐ย Brad Gesslerย asked about resources to learn about low level Ruby construct:
Here are the two recommendations:
Read Karafka code as it uses threads, workers, scheduler, queues and it is very well documented
๐ย Nathan S. Robinsonย asked who is building in public with Ruby on Rails:
So far, at least 95 people have replied to this question. See all replies hereย or onย nitter.
๐ย Nick Schwadererย sharedย a code sample from Shoes:
๐ย Kevin Newtonย sharedย a Ruby code sample showing various strings and their encodings:
๐ย Ahmed Nadarย sharedย a code sample from working at RapidRails UI Components for Ruby on Rails
๐ย Josef Strzibnyย sharedย a code sample showing how they added Sitemap for their website:
๐ย Stephen Margheimย asked about real-world Rails application load:
Here are some of the replies:
โAvg: 1160 RPM = 19.3 RPS | Peak: 1780 RPM = 29.6 RPSโ (source)
โavg 2200rpm, peak 4000rpm for a well-known newspaper site where most requests returns full HTML pagesโ (source)
โhttp://mynewsdesk.com does about 2k RPM (33 RPS) on average. Peaked around 7k RPM (116 RPS) in the last 7 daysโ (source)
โAverage: 66 RPS | Peak: 110 RPS | Running on Rails: 5.2.4.1 | Mysql: 5.7โ (source)
โAverage: 2 RPS | Peak: 34 RPSโ (source)
โ210.5 RPM for chaskiq.ioโ (source)
๐ย Ruby Cademyย sharedย about using install_if in Gemfile:
๐ย Facundo Espinosa sharedย a code sample from Turbo::Frames::FrameRequest module automatically included in ApplicationController:
๐ย Bram Jettenย sharedย a code sample where they implemented a similar functionality as Rails find_signed
๐ย Vladimir Dementyevย sharedย a comparison of running RubyNext with/without Prism:
๐ย Nate Berkopecย sharedย a code sample showing how a memory leak can happen in Ruby:
๐ย Joel Mossย asked about why Ruby has elsif instead of elseif
I'm not sure if in the repliesย (read onย nitter) there is a real explanation, but there are a lot of hypotheses.
๐ย Andrew Masonย shared they created a group onย Snipd for Rubyists (premium plan)
๐ย Ruby Cademyย sharedย a code sample about private constants:
๐ย Iย sharedย a thread about refactoring with endless method and here is the final refactoring form:
๐ย Andrew Masonย asked about Ruby on Rails as an option for a beginner:
Here are some replies, but you should read the entire threadย (read onย nitter):
๐ย Ruby Cademyย sharedย about using Rails safe_constantize method:
๐ย Stanislav Katkovย sharedย a code sample showing how to run tests forever (until they fail)
๐ Iย sharedย a thread where I reviewed the Mastodon open source app (read the thread on @ruby.social, or twitterย or read it onย nitter:
๐ย David Alejandroย sharedย a code sample about querying JSON fields:
๐ย Adrian Opreaย sharedย why they think Ruby is easy to learn:
๐ u/Leizzures asked why is Ruby used so much in Startup/scale-ups:
There are more than 100 replies, I will share here only three, but it is worth reading them all:
๐งฐ Gems, Libraries, Tools and Updates
๐งฐ Postmodernย announced the release ofย Release 1.0.0 ยท postmodern/kramdown-man
๐งฐ Justin Collinsย announced a new release ofย ย Brakeman: Brakeman 6.1.0 Released
๐งฐย John Nunemakerย announced a new version ofย FlipperCloud:
๐งฐ Paul Mucurย announced a new release ofย ย GitHub - mudge/re2 at v2.5.0
๐ ๐งฐย Harrison Broadbentย published a new gemย better_mailer_previews: Better Mailer Previews is a Ruby on Rails gem that makes it easier to preview ActionMailer email templates.
๐ ๐งฐย Samuel Williamsย announced a new gemย async-actor
๐งฐย Stanislav Katkovย announced a new release forย yard-markdown: yard theme plugin that generates markdown documentation for gems
๐งฐย Joel Mossย announced a new release forย Release 0.4.0 ยท joelmoss/spaced
๐งฐย Stephen Margheimย sharedย SQLite on Rails | Fractaled Mind
๐งฐ Iryna Pisklyarova announced a new version ofย Ruby Mine 2023.3: Generally Available AI Assistant, Improved Project Indexing, New Supported Libraries And Technologies
๐งฐย Chris Oliverย announced a new version ofย pay-rails/pay
๐งฐย Chris Oliverย announced a new version ofย Release v1.0.0 ยท acts_as_tenant
๐งฐย Xavier Noriaย announced they are thinking to implement an experimental null inflector forย zeitwerk: Efficient and thread-safe code loader for Ruby
๐ค Related (but not Ruby-specific)
๐คย Jason Swettย sharedย about how we should view testing:
๐คย Mohammad A. Aliย shared JSONB branch is merged to SQLiteย โ SQLite: Timeline
๐คย Erwin Kroonย sharedย about code reviews:
๐คย Brad Frostย sharedย about working together:
๐คย William Kennedyย sharedย about the advantages to hire a junior:
๐คย Adrian Opreaย shared about building filter-able suggestion list with onlyย HTML Standard
๐คย Dhaval Singhย sharedย a trend of maybe hiring starting to slowly increase in tech:
๐คย Paul Grahamย sharedย a Replit graph about how many people go through each day of a tutorial:
๐คย Arian Celinaย sharedย about organising work:
๐คย Jason Swettย asked a question about practical lessons people wish they learned in Computer Science school:
There are more than 21 repliesย (read onย nitter) worth reading.
More content: ๐ ๐ ๐ง ๐ฅ โ๐พ
Friendly.Rbย started publishing videos from the conference: This week we had Xavier Noria Zeitwerk Internals, sharedย Julian Cheal Making Music With Ruby And Sonic Pi You Tube, Marian Posฤceanu - Ruby and the Lisp, sharedย Lucian Ghindฤ The State Of The Rubyverse
๐ Newsletters
๐ Ruby Weeklyย published a new edition aboutย Ruby 3.4 to get the 'it' factor
๐ย Any Cableย published a new edition aboutย Any Cables Monthly #16
๐ย Emmanuel Hayfordย published a new edition of This Week in Rails aboutย Allow object_id as a column name for ActiveRecord and a lot more!
๐ย Hotwire Weeklyย published a new edition aboutย Week 49 - Stimulus Hotkeys, new Turbo Native app, and more!
๐ Awesome Ruby Newsletter published a new edition Issue 394 - Duke Libraries Drop Basecamp
๐ง Podcasts
๐งย Jason Swettย published a new podcast aboutย 203 - Simmon Li - The Code with Jason Podcast
๐งย Ruby For Allย published a new podcast aboutย Live From Rubyconf 2023 โ Conference Recap, Talk Highlights, Ruby 4, Hacking on OSS, Restaurant Reviews, and Much More
๐งย The Rails Changelogย published a new podcast aboutย 016: Fireside chat with Rafael Franรงa
๐ง Matt Swanson published a new episode aboutย Yagni | Programming Books W/ Aaron Francis
๐ง Remote Ruby published a new episode aboutย Scaling Buzzsprout: A Deep Dive Into Podcast Hosting, Cdn, Rails, And Business Happiness With Tom Rossi
๐ง The Ruby on Rails Podcastย published a new episode aboutย Episode 498: Remote Ruby X The Ruby On Rails Podcast
๐ฝ๏ธ ๐ฅ Videos
Screencasts
๐ฅย Yaroslav Shmarovย published a new video aboutย #155 Generate, store, email PDF invoices. DocRaptor API, HTML to PDF, ActiveStorage, ActionMailer
๐ฅย Drifting Rubyย published a new video aboutย Episode 431 - Hotkeys
๐ฅ I published a short video aboutย A Good Use Case For The Endless Method Syntax
โ๐พ Articles
Whatโs new ๐
Stephen Margheimย published an article aboutย SQLite Myths: Linear writes don't scale and SQLite on Rails: Improving the enhanced SQLite3 adapter
RoRvsWild published a new article aboutย Everyday performance rules for Ruby on Rails developers - RorVsWild
Noel Rappinย published an article aboutย ย How To Manage Duplicate Test Setup, or Can I Interest You In Weird RSpec?
Jiaqi Liu, Daniel RogartDaniel Rogart and Xin WuXin Wu published an article aboutย Upgrading Github.com To MySQL 8.0
Apoorv Tiwari published an article aboutย Ruby 3.3 Resolves The Range#Size Bug For Rational Endpoints
Ruby Centralย published an article aboutย Ruby Central Welcomes New Board Members
Brandon Keepers, John Nunemaker published an article aboutย Flipper 1.1.0
Deep Dives ๐
Sebastian Wilgosz published a new article aboutย The underrated power of dry-schema
Kevin Newton published article about how the prism Ruby parser works: Part 4 - Writes, Part 5 - Operator writes, Part 6 - Control-flow writes, Part 7 - Control-flow , Part 8 - Target writes, Part 9 - Strings, Part 10 - Regular expressions
Ariel Juodziukynas published an article aboutย Exploring Ruby's Global Constants And Variables
I published an article about Ruby on Rails Open Source: Mastodon
How-TOs ๐
Postmodernย published an article aboutย Postmodern How To Add A Man Page To Your Ruby Project
Akshay Khotย published an article aboutย How Respond To Method Works In Rails
Myungwoo Songย published an article aboutย Optimizing Ruby On Rails Serializers: Efficient Hash Unpacking In Serializer
Franklin Yu published an article aboutย Error Of โRuby Function Name Stringโ When Compiling Ruby
Postmodern published an article aboutย Postmodern Solving Advent Of Cyber 2023 Day 2 Using Ruby
Harshaan Nihal Khan published a new article aboutย Optimizing System Performance by Implementing a Dual Database Setup in Rails
Andres Chaconย published an article aboutย Ruby Tip: Did You Know That Ruby Supports Pattern Matching?
Mario Alberto Chรกvez Cรกrdenas published an article aboutย Sound To Script: Using Open Aiโs Whisper Model And Whisper.Cpp
Aaron Sumner published an article aboutย Write Resilient Tests With Matchers That Take Other Matchers
I published an article about An Endless Method Use Case
Related
Please consider becoming a paid subscriber to support this newsletter for just $1.8/week ($7.5/month), and you will receive an ad-free version. Your contribution aids growth and maintains the quality of ShortRuby for everybody:
If you consider upgrading and want more information, please read Why to subscribe to paid.