Short Ruby News - Edition #35
Briefly about everything happening in Ruby world - week 12 of 2023
Update
The images are now clickable. I also wrote a longer post about an update I plan to do to the newsletter probably in April.
You can jump directly to a section:
๐ย Our Community
๐ย All about Code and Ruby
๐งฐย Gems, Libraries, and Updates
๐คย Related (but not Ruby-specific)
More content: ๐ฅ ๐ง ๐ย (articles, podcasts, videos, and newsletters)
๐ค Founding Members supporting this newsletter
โ I am part of the organizing team for Friendly.rb conference:
There are early-bird tickets available and the call for speakers is still open in case you are considering submitting a talk proposal.
๐ Our Community
Ruby 2.7 might be EOL at the end of March 2023:
๐ Postmodern shared a possible explanation about why it seems that few people are learning Ruby:
๐Lucian Ghinda asked about the most significant advantage of using Rails today:
Here are five of the answers, but I collected them all here:
๐ Calvin Walzel announced that ruby-companies.org reached 20 companies:
๐ Andy Croll shared an open invitation to join as a mentor at firstrubyfriend.org
๐ Jason Swett announced that Code with Jason Meetup will have from April some Europe-friendly time slots. Register here
๐ Kevin Newton started a discussion about the sustainability of open-source projects:
๐ Joe Masilotti announced that RailsDevs Github Repo now has over 100 contributors:
๐ค Enjoy the free subscription to Short Ruby Newsletter! Subscribe to receive it weekly in your inbox:
By becoming a paid subscriber, you can support this Ruby community for just $1.5/week ($6.5/month). 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
๐ All about Code and Ruby
๐Will Cosgrove shared a code sample showing a helper for stimulus data attributes:
๐Nate Berkopec shared a performance tip about the recommended number of threads with Puma on MRI:
Volodymyr.Mykhailyk asked about the reason why this recommendation and Nate Matykiewicz explained
๐Joel Drapper shared a piece of code showing how Phlex can asynchronously render content:
๐Shiva shared a code sample showing how Policy Object Pattern can handle permissions, roles and policies:
๐David shared a code sample showing an active link helper:
๐Matt Swanson shared a code sample about how to use ActiveSupport::MessageVerifier:
๐Brad Gessler shared a code sample showing how to use Phlex inside a controller:
Brad also shared a code sample showing Phlex views with the same name as controller actions:
๐Josef Strzibny shared a tip about how to check generators from gems:
๐Janko Marohniฤ shared a comparison between Sequel and ActiveRecord:
๐Rishi Pithadiya shared a short Rails tip that reduces database calls:
๐ Shiva Kumar shared a thread about the Query Object Pattern:
๐Greg Navis shared a code sample showing how to implement final classes using in Ruby:
๐Eric Berry shared a command that helps showing the list of all gems in a Rails app:
๐Greg Navis shared a code sample showing how to implement lazy accessors:
๐Kirill Shevchenko shared a thread about the State Pattern:
And you can see here the implementation of parent class:
If you like this content and want to receive it every week by email
๐งฐ Gems, Libraries, and Updates
๐งฐ Schwad announced the scarpe-team/scarpe: Scarpe - shoes but running on webview:
This is what Shoes were:
And this is what Scarpe is:
๐งฐ Kevin Newton announced that yarp: Yet Another Ruby Parser is 100% compliant on all test targets:
๐งฐ Petrik De Heus opened a PR to Include READMEs in main framework pages of the API documentation
๐งฐ Steve Polito announced they released a new gem called invisible_ink: Keep your private notes in plain sight
๐งฐ Janko Marohniฤ shared a gem called tus-server - a Ruby server for the tus resumable upload protocol.
๐งฐ Vinicius Stock shared a new release v0.4.2 of ruby-lsp
Vinicius also announced the release of v.0.2.2 of the VScode Ruby LSP extension. Read the release notes
๐งฐ Avo announced an update to their roadmap for Avo 3 โ Avo Admin for Rails
๐งฐ Greg Molnar shared a PR that Adds documentation for Arel::Nodes::Node
๐งฐ Dima Fatko announced a new PR about Performance and memory optimizations ruby/rexml:
๐งฐ Kevin Newton shared a PR about Implement `_dump` and `_load` on ActiveRecord::Base:
๐งฐ Jeremy Evans announced a new release v 2.29.0 of Rodauth 2.29.0 Released
๐งฐ Mike Coutermarsh created a new PR in Rails project about Fix Rails generated index name being too long (this might be part of Rails 7.1 - but is not yet merged)
๐งฐ Ben Pickles announced a new gem parklife and also published an article about Introducing Parklife
๐ค Related (but not Ruby-specific)
๐ค Gabriel Arcangel Zayas shared a quote about legacy code
๐คSamuel Motal shared how learning changes as we gain more knowledge:
๐คTobias Petry.Sql shared a SQL sample showing how to Delete Duplicate Rows - Database Tip
๐คJason Swett shared tips about how to facilitate writing tests:
๐ค Nate Berkopec shared a brute force-like way to make SQL performance improvements that he calls SQL Shotgun method:
๐คVictoria Melnikova shared a thread about lessons learned while building communities:
Here are some of the points shared, but you should read the thread as it has concrete examples:
โStart building your community as early as possible, but ONLY when you're ready to show up consistentlyโ
โEmpower your community by giving them a voice in decision-makingโ
โBreak down barriers to participation by recognizing and rewarding novice and experienced contributors alikeโ
โCreate incentives for engineers to stick around and encourage senior members to educate less experienced onesโ
โToxic community cannot unlearn being toxicโ
โA good community leader is honest, transparent, communicates with integrity, and is a good diplomatโ
โRunning a community is hardโ
โLearn to leverage your community for major releasesโ
โCultivate a welcoming communityโ
โSoftware engineers are tough customersโ
๐ค Robby Russell shared a thread with multiple articles about interns experiences:
Here is the list of articles shared:
Starting Over - A Career-Switcherโs Guide to Being an Intern
Just the Beginning: How My Internship is Launching My New Tech Career
Starting Over - A Career-Switcherโs Guide to Being an Intern
Things I Learned as an Intern that I Did Not Learn in Code Bootcamp
My Internship Experience: Learning Through Research and Reproducing Issues
5 Lessons I Learned from my Ruby on Rails Internship at Planet Argon
๐คNate Berkopec shared a thread about reasons to work on performance on web applications:
If you like this content and want to receive it every week by email:
More content: ๐ฅ ๐ง ๐
Courses
๐ Graceful.Dev announced that their course Flawless Ruby is now free:
๐ Aaron Francis announced their free course MySQL for Developers โ PlanetScale
๐ Eric Berry shared their intention to create a course about RubyMine. If you are interested reply to Eric. I think this is indeed needed:
๐ Avdi Grimm announced they are opening their Coaching & Counsel with Avdi
๐ Andrea Rocca announced a pre-order of their book about Learn Hotwire
๐ Newsletters
๐ Greg Molnar announced a new edition of This Week in Rails written by Wojciech Wnฤtrzak โ Composite primary keys improvements and more
๐๏ธย Ruby Weeklyย published a new edition:ย ChatGPT makes a contribution to Rails
๐ Ruby Radar published a new edition Ruby Radar #95 - Scarpe Diem!
๐๏ธย Ruby LibHuntย published a new edition of theย Awesome Ruby Newsletter
Podcasts
๐ง Tightly Coupled Book Club published their intro episode S01 - 0.5 The Prequel
๐งRooftop Ruby published a new episode about 5: Vanilla Never Tasted So Hot โ Rooftop Ruby
๐ง Indie Rails published a new episode Getting Started As An Indie Rails Dev, Diversifying Income & Outsourcing
๐ง The Ruby On Rails Podcast published a new episode about Episode 462: Scarpe Diem: Seize the Shoes (Brittany + Nick)
๐ง Ruby For All published a new episode about Career and ADHD Management with Celso De Sรก
Videos
Talks
๐ฝ๏ธ Jason Swett published a new episode of Code With Jason Meetup about Code review (2023-03-23)
๐ฝ๏ธAdrian Marin shared a video hosted by EvilMartians about Dev Propulsion Labs โ Ep. 1 Building communities around dev tools products
๐ฝ๏ธ Eric Berry shared a conference talk Roda: Simplicity, Reliability, Extensibility, Performance by Jeremy Evans (2022)
Screencasts
๐ฅ Justin Searls published a new video about Searls After Dark #5 - Tailwind on Rails
๐ฅ Drifting Ruby published two episodes:
๐ฅ Adrian Marin published a video showing how they Add Avo admin on RubyAndRails.info
๐ฅ Deanin published new videos:
๐ฅ Matt Swanson published a video talking about single file principle - Building a feature in one single file
๐ฅYaroslav Shmarov published two new episodes:
Articles
Whatโs new
Ben Sheldon published an article explaining How GoodJob's mountable Rails Engine delivers Javascript importmaps and frontend assets
Rishi Pithadiya shared an article about Eight Graphs that Explain Software Engineering Salaries in 2023 โ โThe numbers from job search firms Dice and Hired have been released. These 2022 numbers have been eagerly anticipated, given the turmoil generated by a spate of tech layoffs in the latter part of the year, which Dice estimates at more than 140,000โ
Paweล Swiฤ tkowski published a new article about Modeling business logic with ECS in Ruby โ โThis blog post explores the possibility of using Entity Component System architecture to model business logic in a โregular business applicationโ
Joshua published an article about Rails deployment pipeline with Planetscale & Heroku
I asked last week a question about What is the best article what you ever read about Ruby? - if you still want to contribute please add it there in comments.
How-Tos
Kevin Murphy published a new article in their series about Anyone can play guitar called Programming Guitar Greatness โ โStevie Ray Vaughan is one of my favorite guitarists. Unfortunately, I canโt play anything like he can. To make up for it, letโs teach a computer to play guitar like him and see what we can learn.โ
Lucas Barret published a new article about Reversing DidYouMean Gem
Any Cable published a new article showing AnyCable off Rails: connecting Twilio streams with Hanami
Josef Strzibny published a new article about How to send emails in Rails with Postmark
Paweล Dฤ browski published a new article How to not get into trouble with Active Record โ โImprove the performance, produce fewer bugs, and make the code responsible for database communication readable and testable by selecting the right Active Record features for the given scenarioโ
Harsh Patel published a new article about Basic Understanding of Webhooks with examples
Steve Polito published an article showing How to encrypt files with Ruby and Active Support
John Nunemaker published a new article about How to benchmark your ruby gem
Aestimo Kirina published a new article on AppSignalโs blog about Authorization Gems in Ruby: Pundit and CanCanCan
Phil Reynolds published a new article about Search and Select Multiple with Rails and Hotwire โ โThis post walks though a user selector for adding users to a chat. The key feature here is searching one model with the pg_search gem and then selecting objects from that search to add them to another modelโ
Jason York published an article about Using ViewComponents with Turbo
Deep Dives
Ollie Haydon-Mulligan published an article about Debugging Lock Wait Timeouts (in Ruby on Rails) โ โI recently learned โ through an investigation that rumbled on for a while โ that itโs not always straightforward to work out whatโs causing Lock Wait Timeouts. So here, Iโm going to share how that investigation unfolded, focusing on the techniques that helped.โ
Akshay published a two new articles about Progressive Application Development with Hotwire and Understanding the Attribute Assignment API in Rails
Related
Jeremy Smith shared an article about Numbers To Know For Managing (Software Teams) โ โLearning how to manage is a long race - it takes many years and each lap offers new learnings. Along the way, anchors emerge that can help orient a manager when a number of other variables are in fluxโ
๐ค 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