- Short Ruby Newsletter
- Posts
- Short Ruby News - Edition #33
Short Ruby News - Edition #33
Briefly about everything happening in Ruby world - week 10 of 2023 (email version)
You can jump directly to a section:
π Our Community
More content: π₯ π§ π (articles, podcasts, videos, and newsletters)
π€ Founding Members supporting this newsletter
β I am helping organize the Friendly.rb conference:
There are still a few (but not so many) early-bird tickets available and of course, the call for speakers is still open in case you are considering submitting a talk proposal.
π Our Community
π’ Proud to announce that ShortRuby is growing bigger:
rubyandrails.info is now becoming part of ShortRuby. Read more in the announcement I published π
π James Adam asked for recommendations of accounts to be suggested on Ruby.social instance:
π Matt Valentine House shared they are the newest Ruby core committer:
π Wnb.Rb shared they are organizing a CfP working group session for Brighton Ruby. Subscribe at WNB.rb
π Brad Gessler shared that we should use Little Gestures of Confidence and from time to time focus on first-time experience with our projects and tools:
πEuruko announced the dates for Euruko 2023 --> 21-23 Sept in Vilnius, Lithuania
π All about Code and Ruby
π€ If you like this newsletter and can afford to pay ~1.50$/week to support it
π Nate Berkopec shared a code sample showing Ruby code that causes memory growth over time:
πMudge shared a code sample showing how to duplicate active storage blobs from one record to another:
πPrabin Poudel shared a benchmark about Rails object instantiation being 70 faster than OpenStruct
Among the replies, Benoit Daloze shared a pull request about improving performance of OpenStruct.
There are also good resources shared in that thread:
Lucian Ghinda (thatβs me) added the following:
π Andrea Rocca continues the series about Hotwire. Here is a screenshot from only one of the many tips shared this week:
Hotwire tip 16/30 JS-less tabbed navigation (source)
Hotwire tip 17/30 Twitter-style preview/undo/send tweet (source)
Hotwire tip 18/30 Markdown editor with live preview (source)
Hotwire tip 19/30 Pulse loading state (source)
Hotwire tip 20/30 Dynamic select fields (source)
Hotwire tip 21/30 Searchable dropdown (source)
Hotwire tip 22/30 Kanban board (source)
πJeremy Smith asked about what Rails blog post has been the most influential:
There were 3 resources shared:
πLewis Youl shared a code sample showing what does ActiveModel::Name does
πJeremy Smith shared two tips about refactoring Rails views:
πThe Rubber Duck Dev Show announced they are doing a Stream Tech Chat on their Rubber Duck Dev Show Discord:
πJosias Schneider shared how the rake db:migrate works:
πJosh Cheek shared a gist showing A program that is both a palindrome and a quine, made with hearts for Joe
πKevin Newton shared a code sample showing how pattern matching is used at ruby/assembler.rb at master
Here are the recommendations but you should read the thread as he also describes why he recommends each book:
πNate Berkopec shared that safe_constantize can sometimes appear as a bottleneck when used a lot:
Jean Boussier replied with a benchmark of const-get-bench.rb
The results look like this:
πCarla Urrea Stabile asked a question about what improvements people look forward in the next Ruby versions:
Here are some of the replies:
Easy initialize ivars
Built-in memoization
PHP-like construction promotion feature
Types
Better support for parallelism and distributed computing for fiber scheduler
default frozen literals
Better types tooling
Performance
πNate Berkopec shared about how queueing Puma works (read the comment in the PR)
πVladimir Dementyev shared a code sample showing how they integrated Hanami with Phlex:
πMoncef Belyamani shared commands to run when webpacker takes too much time to compile:
David Teren transformed that into a task:
πShiva shared a thread about string manipulation in Rails. Here is one of the code samples they shared:
π Stanislav (Stas) Katkov shared a preview of this new tool PoshTUI (API documentation browser in console for ruby developers)
πLucian Ghinda shared in the context of the discussion about Ruby safe navigation operator vs Rails try:
πJess Brown shared a thread about how to work with db schema changes:
πMoncef Belyamani shared a code sample showing how expressive is Ruby:
πKevin Newton shared an update on the YARD:
πKirill Shevchenko shared a code sample about the iterator pattern:
π Samuel Williams shared a code sample about a deadlock bug in Async:
πThomas Riboulet shared a thread about Ruby and Docker:
πGreg Navis shared about how to use as_json to control the keys:
π If you like this content and can afford it consider upgrade to paid
For ~1.5$/week (6.5$ per month), you can support its growth and ensure that high-quality information about the latest developments in Ruby continues to be available to everyone, both paying and non-paying subscribers alike. Check out why subscribe to paid.
If you want to expense this on your company budget or convince your company to sponsor this newsletter, I can help you write an email to your manager (write to me at [email protected])
π§° Gems, Libraries, and Updates
π§° Joel Drapper announced they released Phlex versions 1.5.0, 1.6.0 and 1.6.1. Read the release notes
π§° Jared White announced they ported Preact Signals to Ruby. Checkout the signalize gem
π§°Joel Drapper shared a PR where someone describes how they plan to use Phlex to render PHP: A possible use-case for unsafe_raw and unescaped attributes Β· joeldrapper/phlex Β· Discussion #519
π§° Ben Sheldon shared a gem called derailed_benchmarks that helps benchmark Rails or Ruby apps.
π§° Justin Searls announced that the standardrb is now supported by lsp-zero plugin for Neovim. Read the pull request
π§°Kasper Timm Hansen announced a new gem called showcase-rails that lets you build previews for your partials, components, view helpers, Stimulus controllers, and more:
π§° Rubocop released a new version 1.48 adding two new cops: Style/DirEmpty and Style/FileEmpty. Read the full changelog for 1.48 here
π§° Xavier Noria announced that Rails 7.1 will add Improve support for custom namespaces
π§° Takashi Kokubun released a new JIT for Ruby RJIT by k0kubun Β· Pull Request #7448 Β· ruby/ruby
You can also read the ticket on Ruby tracker: feature 19420 and maybe you want to read the article Takashi published RJIT: A Pure-Ruby JIT for Ruby
π§° Joel Drapper announced that turbo-rails has now support for rendering Phlex and ViewComponents Read the pull request here
π§° Stan Lo announced that irb can now be independently updated as the following PR was merged Make irb a railties dependency
π§° Vladimir Dementyev shared a PR about rspec-mocks not working well with Rails 7.1 breaks receive().with. There is already a fix merged to rspec-mocks
π§° Konstantin Gredeskoul announced they created a PR for making puma-daemon to work with Puma v5+ Read the PR here
π§° Mari Imaizumi announced the release of IRB v1.6.3 Read the changelog
π§° Vinicius Stock announced the release of vscode-ruby-lsp v0.2.0 Read the changelog
π§°Joe Masilotti announced the release of TurboNavigator: A drop-in class for Turbo Native apps to handle common navigation flows.
π§°DHH announced the release of mrsk v0.9.0 Read the release notes
π§° Andrew Culver shared a PR that shows how to integrate Nice Partials into bullet train Update callers to Nice Partials method accessors
π§° Nate Hopkins announced a new gem composite_cache_store a composite cache store comprised of 2 ActiveSupport: :Store instances
π€ Related (but not Ruby-specific)
π€Eric Berry shared a configuration to change the Discord window
π€Emma Bostian asked an excellent question about the mood we are in now.
π€Drew Bragg shared a funny take about hard things in computer science:
You should also read the second thread about Redis.
If you like this content and want to receive it every week by email:
More content: π₯ π§ π
π Newsletters
π Greg Molnar published a new edition of This Week in Rails: Improve custom namespace autoloading, Object#with and more!
ποΈ Ruby Weekly published a new edition: RubyGems' answer to npx
π Ruby Radar published a new edition Ruby Radar #93 - IRB Making Waves
ποΈ Ruby LibHunt published a new edition of the Awesome Ruby Newsletter
Podcasts
π§ Joel Drapper published a new episode of Rooftop Ruby 4: Green Dots and Boogie
π§ Code And The Coding Coders Who Code It published a new episode with Andrew Mason
π§ Jeremy Smith published a new episode IndieRails | Colin Keeley - How/Why to buy or sell a business
π§ The Ruby On Rails Podcast published a new episode about Episode 460: The State of Rails Hiring in 2023 (Brittany + Brian)
π§Content For :Devs published a new episode #007 - Behind the scenes of GoRails screencasts with Collin Jilbert - content_for :devs
π§Maintainable Software Podcast published a new episode about Henrik Warne - There is No Software Maintenance
π§Jason Swett published a new episode about 175 - Preventing Software Defects with Vitor Oliveira - The Code with Jason Podcast
π§ Ruby For All published a new episode about Development Gems | Ruby for All | Episode 33
π§ Remote Ruby published a new episode about Ruby Language Server with Vinicius Stock | Remote Ruby | Episode 221
Videos
Talks
π½οΈ Jason Swett published a new episode about Organizing Rails code with Jorge Manrubia of 37signals
π½οΈ Creston Jamison published a new episode about Failing In Public | Rubber Duck Dev Show 76
π½οΈ Joe Masilotti published a live video about Launching TurboNavigationController
π½οΈ Prabin Poudel shared their video about Maintaining Code Standards
π½οΈ The Rubber Duck Dev Show published a new episode about Monetizing Dev Content
π½οΈ Jason Swett published a new episode about What causes flaky tests (2023-03-09 Code with Jason Meetup session)
Screencasts
π₯ Justin Searls published the third episode of their series called Searls after Dark where he build an AI chat app with Ruby on Rails #3 - Going end-to-end
π₯ Ruby Weekly shared a new video from WebCrunch showing how to implement Ruby on Rails Drag and Drop Uploads with Active Storage, Stimulus.js
π₯ Dave Kimura published a new episode about MRSK in Depth | Drifting Ruby
π₯ Hanami Mastery published a new episode about Best way to work with Front Matter in Ruby!
π₯ Phil Smy published a new episode about Rails 7: Tabulator & Stimulus - Ruby on Rails Tutorial
π₯ Pete Hawkins published a new episode about Simplify your VIEW COMPONENTS with dry-initializer
π₯ The Rubber Duck Dev Show published a new episode doing Crash of Code The Big 5-0 Birthday Bash / Clash of Code - Coding with Chris
π₯ Pete Hawkins shared a short video on Twitter about Free custom error page templates for your Rails app (he also shared the code here)
π₯ Yaroslav Shmarov published new episodes:
Articles
Whatβs new
PaweΕ ΕwiΔ tkowski published a new article about Underrated pattern of an inline event dispatcher
Cameron Youngblood published a new article about Intro | Junior Rails Review
How-Tos
Sam Ruby published an article explaining how to run systems tests on CI/CD
Lucas Barret published a new article about Rails Generator for GraphQL queries
Equivalent published a new article about Rails's .try vs Ruby's &. (a.k.a safe navigation)
Takashi Kokubun published a new article about RJIT: A Pure-Ruby JIT for Ruby
Deep Dives
William Neal shared an older article (2022) about Minitest vs. RSpec in Rails
Nate Berkopec shared an older article (2020) written by Konstantin Gredeskoul about Test your Understanding of Ruby Concurrency
Ruby Lib Hunt shared an article about Ruby 3.2's WASI Integration: A Closer Look
Related
Test Double published an article about How we support Double Agents with onboarding buddies
π€ Founding Members supporting ShortRuby
Drew Bragg, host of Code and the Coding Coders who Code it
Avi Flombaum, the founder of Flatiron School, is a product engineer interested in full-time/contract work.
Adrian Marin, creator of Avo - a Ruby on Rails application building framework
Adam McCrea, creator of Judoscale (formerly Rails Autoscale)βthe dead-simple autoscaler for Rails, Sidekiq, etc.
Stephen Ierodiaconou from www.diaconou.com
Harry Lascelles
Jason Charnes from Remote Ruby
Andy Croll from One Ruby Thing and FirstRubyFriend
Read more about what is a Founding Member or about Why pay for ShortRuby newsletter
Reply