- Short Ruby Newsletter
- Posts
- π Short Ruby News - Edition #71
π 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
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:
π 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:
π 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:
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.
Reply