๐Ÿ‘‹ Short Ruby News - Edition #34

Briefly about everything happening in Ruby world - week 11 of 2023 (web version)

You can jump directly to a section:

๐Ÿ‘ Our Community

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

๐Ÿ‘ rubyandrails.info is part of ShortRuby's effort to aggregate resources about Ruby. You can find there a good collection of books, courses, screencasts, newsletters, podcasts, communities and Youtube channels

If there is a resource that is not yet on the website, you can request to add it on the Github repo

๐Ÿ‘ Adrian Marin shared their gratitude for the work Xavier Noria is doing in the community:

Adrian also shared a link to a discussion where Xavier explained in depth how autoreload works in Ruby on Rails and how Zeitwerk comes into play: [Question] Are classes in nested directories not auto-reloaded with `push_dir`?

๐Ÿ‘ Pragmatic Programmers asked what the biggest advantages of using Rails today are:

Here are two of the answers:

๐ŸคRobby Russell invited us to be greateful and endorse our colleagues:

๐Ÿค Blue Ridge Ruby shared their final agenda for June 2023 in Asheville, NC

๐Ÿค Emmanuel Hayford announced a new podcast called The Rails Changelog

๐Ÿค Nate Berkopec asked how we can make the Ruby on Rails API docs more SEO friendly:

๐Ÿ‘ DHH shared they started a discord for MRSK Discord - A New Way to Chat with Friends & Communities

๐Ÿคž You can support the Short Ruby newsletter for just $1.5/week ($6.5/month) by becoming a paid subscriber. 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

๐Ÿ‘‰Benoit shared an image showing a performance made using Perfetto UI

๐Ÿ‘‰ Joel Drapper shared a code sample showing how to stream a view in phlex-rails:

He also added a code sample about an async API request:

๐Ÿ‘‰ Tim Riley announced a new ERB engine that will be used in Hanami 2 view layer (check the PR here):

๐Ÿ‘‰Esparta shared a code showing how to use coerce (see class Integer#coerce):

๐Ÿ‘‰ Josef Strzibny shared a thread about gems:

Here is the list of the gems:

There are a couple of replies to the last tweet that contains more gem recommendations.

๐Ÿ‘‰Steve Polito shared a sample code showing how to click on links inside emails when doing integration tests in Rails:

๐Ÿ‘‰Adrien Poly asked if in Rails 7, there is still a need to use database_cleaner gem:

The general response is no.

๐Ÿ‘‰Rishi Pithadiya shared an explanation about two configuration options for Rails:

๐Ÿ‘‰ Stanislav (Stas) Katkov asked what tricks people use to reduce memory consumption in Ruby:

๐Ÿ‘‰Maxime Chevalier shared a performance comparison between latest CRuby with the interpreter only vs CRuby with YJIT enabled:

๐Ÿ‘‰Omkar Joshi reminded us about link_to_if in Rails:

Talking about conditionally rendering things there exists:

๐Ÿ‘‰ Andrea Rocca continues the series about Hotwire. Here is a screenshot from only one of the many tips shared this week:

Here is the full list of all threads Andrea shared this week:

๐Ÿ‘‰Ryan Bates asked how we handle pagination in automated tests:

Here are some of the answers:

๐Ÿ‘‰Brad Gessler shared a code sample about:

๐Ÿ‘‰Simon Chiu shared a tip for debugging Turbo Streams:

๐Ÿ‘‰Chris Oliver shared a code sample showing a Hotwire tip about using Element.scrollIntoView() - Web APIs | MDN

๐Ÿ‘‰Prabin Poudel shared a code sample showing how to use thor to write an overcommit config file:

๐Ÿ‘‰Andrew Culver shared a small snipped that uses Ruby gsub to replace the content inside a file bullet_train/portable-string-replace

๐Ÿ‘‰Jess Brown shared how they use table_print ruby gem:

๐Ÿ‘‰Sam Saffron shared a code sample about using ChatGPT as a writing assistant

Here is a snippet from the GitHub gist:

If you like this content and want to receive it every week by email

๐Ÿงฐ Gems, Libraries, and Updates

๐Ÿงฐ Ruby On Rails announced new versions to fix two vulnerabilities Rails 7.0.4.3 and 6.1.7.3 have been released!

You can read the discussions here:

๐Ÿงฐ Joel Drapper shared a PR for Phlex where they are showing how to implement Smart chunking:

๐Ÿงฐ The J Ruby Team shared they released a new version of PostgreSQL driver that passed 99.8% of AR tests:

๐Ÿงฐ Shibata Hiroshi shared a PR they merged where they combined the cops from Bundler and RubyGems. Merge rubocop configuration: 2nd PR. Check the commits - each one contains one cop

๐Ÿงฐ Jean Boussier shared a PR they are working on for Rails about PoC: Cache Extended Collection Proxies

You can check the conversation on Ruby.social here and the one on Twitter here

๐Ÿงฐ Camilo announced the release of standardrb v 1.25.0. Checkout the release notes

๐ŸงฐAvo announced they reached 1000 stars on GitHub and announced a new release, read the changelog or the thread:

๐Ÿงฐ Greg Molnar shared that Active Support 7.1 will Implement `Object#with`

๐Ÿงฐ Carlos Antonio shared a PR they work on for Devise gem about Respect locale set by controller in the failure app

๐Ÿค Related (but not Ruby-specific)

๐ŸคPaul Mucur shared a tip on how always to run a step in GitHub Actions, even if a preceding step fails (see Expressions - GitHub Docs)

๐Ÿค Nate Berkopec shared a tip about changing the ratio when doing benchmarking:

๐ŸคPaul Cantrell shared what they think is hard or important in the job of a programmer:

๐Ÿค Jhey Tompkins shared a future proposal for HTML to display a popover (check the codepen):

๐ŸคJess Brown shared a short alias that helps with switching to another branch

๐Ÿค Shiva shared a new thread about GeoSpatial commands with Redis:

๐ŸคMike Coutermarsh shared an insight (funny but also mostly true) about code that initially was named a hack but remained in production years:

๐ŸคMoncef Belyamani shared a thread about their consultancy business:

Here is the main part that Moncef shared, but you should read the entire thread

๐Ÿค Eleftheria Batsou asked about tools used by developers to save time and speed up development:

She received a lot of replies, and she gathered them in an article From TDD to AI: Techniques & Tools for Devs, Save Time & Speed up Your Development Process

๐Ÿค— If you like this newsletter, consider upgrading to paid. You will help the larger community by supporting this newsletter and thus being part of the effort to keep it freely accessible to everyone.

More content: ๐ŸŽฅ ๐ŸŽง ๐Ÿ—ž

๐Ÿ—ž Newsletters

๐Ÿ—ž๏ธ Ruby Weekly published a new edition: Deep dives into Rails routing and WASI

๐Ÿ—ž Ruby Radar published a new edition Ruby Radar #94 - Protips

๐Ÿ—ž๏ธ Ruby LibHunt published a new edition of the Awesome Ruby Newsletter

Podcasts

Videos

Talks

๐Ÿ“ฝ๏ธ Jason Swett published a new episode of Code With Jason Meetup about Abstraction (2023-03-16)

๐Ÿ“ฝ๏ธ Drifting Ruby published the video version of This Week in Rails - March 17th, 2023

Screencasts

๐ŸŽฅYaroslav Shmarov published new videos:

๐ŸŽฅDeanin published new videos

๐ŸŽฅ The Rubber Duck Dev Show published a new video from the series Coding with Chris about Cave Lords Part 9: Test Fixing and Play Map - Coding with Chris

๐ŸŽฅPete Hawkins published new videos

Articles

Whatโ€™s new

How-Tos

Deep Dives

Related

  • Kent Beck published a new article about Fool Proof Design โ†’ โ€œWeโ€™ve talked frequently about the cost reduction aspect of design change, but always from the perspective of making the changes we want to make. Thereโ€™s a lurking cost, however, that Iโ€™m starting to realize deserves more attentionโ€

  • Lauren Ellsworth published a new article about Uniqueness in PostgreSQL: Constraints versus Indexes โ†’ โ€œConstraints and indexes come at a cost: they add write overhead with each INSERT and UPDATE and they can take up significant amounts of space. Since a unique constraint and a unique index both enforce uniqueness, which one should we prefer? And are they different?โ€

๐Ÿค— Founding Members supporting ShortRuby

Read more about what is a Founding Member or about Why pay for ShortRuby newsletter

Reply

or to participate.