- Short Ruby Newsletter
- Posts
- Short Ruby - edition #18
Short Ruby - edition #18
Briefly about everything happening in Ruby world
If you want a short excerpt of this newsletter, I created one here
This edition was created with support from @adrianthedev from Avo for Ruby on Rails (a friendly full-featured Rails admin panel), @jcsrb, and a lot of people that replied to my question about interesting resources about Ruby on Ruby.social, Twitter, r/ruby and Linkedin
Here is how you can install it via ruby-install:
π Justin Searls shared config to make VSCode go to definitions work inside Rails. Here are the steps:
π Stephen shared an advice for Ruby Devs joining Mastodon to contribute to Mastodon open source project:
Here you can find the list of resources marked fit for beginners
π Kirill Shevchenko shared about checking if Class includes a specific Module:
In case you want to read about Module#< read on official Ruby doc
Josh Cheek added a nice trick about including a module inside a class and still make the checks return false:
π Sebastian Wilgosz shared they plan to start a free weekly 1h group chat to junior/mid devs to answer questions about the following topics:
If you want to participate please read the thread where Sebastian shares what he plans to do and if you are interested please contact Sebastian (find more contact options here)
π Joel Drapper shared a short code sample about delegating an object method execution to a job:
Joel explained what this does:
Basically allows you to send any serialisable method to any serialisable object asynchronously.
π Peter Solnica shared how quick Hanami boots up:
π Jorge Manrubia shared about how they use concerns at 37Signals:
If you want to read more about this approach you can read comments on /r/rails or the replies to Jorge tweet where he shared this article.
It is also worth considering this quote from Taylor Otwell (Laravel creator):
π Joel Drapper shared a sample how the typical performance distribution in a Rails app:
There was a discussion with Nate Berkopec about what these metrics from APM actually measure:
But I think you should read the entire conversation as Joel shared more reports about how time is spent in a typical Rails app.
π Mehdi Farsi shared a code sample showing how to use Proc#=== with case statement:
π Dave Paola announced the start of a pilot program at Sierra Rails: fully managed junior engineer apprenticeship:
π Rob Zolkos asked about what will be in Rails 8:
Here is some of the things people want to see in Rails 8:
βnon-devise user auth, a better request debug toolbar (a la Laravel), some form of standardized cron-like scheduling, some sort of tooling for legacy apps that makes it possible to see which instance variables are set but never usedβ - (@dpaola2)
βBuilt in Strada integration. Interactive console. More rails conductor stuff (web panel for metrics and web based invocation of rails commands), more authentication authorization primitivesβ (@BijanRahnema)
βWhat I want is View Component baked in with better support (fragment caching, block issues fixed)β (@rbates)
βActive Notifier, Action Cable Chat, Action Multi Tenant, Active Search, Action Webhook, Active Record Events, Active Record Trashable, Scaffold for authenticationβ (@lazaronixon)
βActionAuthentication, Propshaft asset management, new scaffold templates and customization options, various speed and quality of life enhancements extracted from Basecamp, Shopify and Hey.β (@ItsKentastic)
βAs few changes as possible (β¦) Need a period of consolidation as people migrate to/use/discoverβ (@alterisian)
π γγγ¨γγ shared about the value Ruby is delivering in the community:
π Matt Swanson shared a code sample about sorting Active Record models by enum values:
π Dave Paola asked what we can do to increase the Ruby job market:
Here are some of the replies to this question:
βWork w/ bootcamps to tailor a curriculum using Ruby, teaching both JS and Hotwire in FE, and take students as interns for 3 to 6 months when they graduateβ - (@LiliVerrot)
βKeep sharing how productive and enjoyable it is to program in Ruby (and Rails)!β (@ak_rails)
βStart new startups on railsβ (@strzibnyj)
βShowcase how fast someone can build a product from ideation to production.β (@jamgar2020)
βMore of the companies using Ruby/Rails could do a better job of explaining how the business AND development process are so integral to their successesβ (@learnactrepeat)
βFocus on the business folks, creating demand for devs. Sell benefits to decision makers.β (@learnactrepeat)
βTeach someone Ruby and show them how awesome it isβ (@holger81)
βWhat we can do every day is to identify when #ruby can be used to solve a problem and share itβ (@lucianghinda)
βStart more projects using Sinatra or Hanami or other frameworks. Wide the options possible in Ruby world.β (@lucianghinda)
βGet more people to build companies on Rails. Thereβs lots that could be improved in the framework to make it even more productive. Iβve noticed lately some important gems are feeling stale, like the OmniAuth ecosystem. And of course making Rails more welcoming to new people.β (@bradgessler)
Join the Google Cal event for reminders.
π Nick Sutterer shared a benchmark about Ruby methods with keyword arguments that are automatically merged:
I run the script shared by Nick on my machine with Ruby 3.1.2 and here are the results:
π Justin Searls shared about relying on the lock file for gem versions and not specify them in the main Gemfile:
π Trevor Turk shared how they document when the pin is really needed:
π Kirill Shevchenko shared about how to initialize hashes:
π Takashi Kokubun shared they revived the Ruby benchmark server:
π Chris Seaton shared a key result from a paper analysing run-time call-site behaviors of Ruby applications:
Read the paper here and the article written by Stefan Marr here.
π Greg Navis shared a thread about Rack:
π Mike Perham shared a tip about scaling Sidekiq:
π Joel Drapper shared they plan to work on supporting SVG, XML, RSS, ATOM and JSON views in Phex
π Stefan Wienert shared a project that is showing a browsable version of Rails changelog:
Check Ruby on Rails Changelog
If you have read so far and you like the content, maybe you take into consideration sharing this and subscribing:
Related (but not Ruby-specific)
Dave Paola shared about discussing bootcamps
Maxime De Greve shared about new features at Github search:
Gergely Orosz shared about how putting managers to work with too many people while also coding could be a recipe for failure:
Joe Masilotti shared how to fixup the first commit to a git repo:
Brandon Weaver asked about how to describe the role of a Principal Engineer:
Articles and Videos
Something to read
Newsletters
ποΈ Greg Molnar published a new edition of This Week in Rails: A bugfix and improvements
ποΈ Remote Ruby published a new episode Hey Alexa, Chris Needs Some Sleep
ποΈ Ruby Weekly published a new edition 628: November 10, 202
ποΈ Ruby LibHunt published a new edition of the Awesome Ruby Newsletter
π Andrew Mason shared a new edition of Ruby Radar #76 - RubyConf Mini Approaches
βπΎ Articles
Martin Spickermann shared an article about Rails 7.1 allows ActiveRecord::QueryMethods#select & #reselect to receive hash values
Adrian Marin shared an article written by Kitze GitHub stars won't pay your rent
Avi.Nyc shared a new article they wrote about Why Teach Ruby
The Ruby Dev shared an article written by Adam Rogers about Updating Rails applications with vimdiff
Chris Salzberg shared an article they wrote about Caching Without Marshal Part 1: Marshal from the Inside Out
Ruby Weekly shared an article on 37signals blog about Faster pagination in Hey
Mike Dalessio shared an article written by Stefan Marr about Classic Lookup Optimizations for Rails Apps
App Signal published an article about How to Scale Ruby on Rails Applications
stefanwienert.de published a new article about Rails 7.1 preview of new features
Nora Tindall published a new article about Scaling Mastodon in the Face of an Exodus
Julia Evans published a new article about Making a DNS query in Ruby from scratch
Karol Galanciak published a new article about The inherent unreliability of after_commit callbacks and most service objects' implementation
Something to watch π₯ or listen π§
Videos
π₯ Yaroslav Shmarov shared a new video where they create Ruby on Rails #95 hashtags and mentions
π₯ Erin Doyle shared the video for their talk about How to Hit the Ground Running as a Staff + Software Engineer at a New Company
π₯ Yaroslav Shmarov published a new video about Ruby on Rails #96 Deploy to Digital Ocean App Platform
π₯ Yuji Yokoo shared their talk at RubyKaigi 2022: Megaruby - Running mruby/c programs on Sega Mega Drive
Audio & Podcasts
π§ The Ruby on Rails Podcast shared a new episode Episode 443: Your Network Is Your Net Worth with Roman Turner
π§ Ruby Lib Hunt shared an article about How to reduce memory usage in Ruby
π§ JoΓ«l Quenneville shared a new episode The Bike Shed: 361: Working Incrementally
π§ Ruby For All published a new episode about Attending Conferences 101
π§ Drifting Ruby shared the video version of This Week in Rails - Nov 11th, 2022
Gems, Libraries, and Updates
π§° Tobias Ahlin shared Mona Sans & Hubot Sans fonts released by Github.
π§° Maciej Mensfeld shared that Karafka now supports: Dead Letter Queue - Karafka framework documentation
π§° Postmodern shared they released a new version of ruby-nmap. Read the changelog here
π§° Marco Roth shared a great tool to convert from SQL to Arel: scuttle.io
π§° Yaroslav Shmarov shared a gem passwordless that is helping with with implementing magic link authentication.
π§° Postmodern shared Gel - a modern gem manager - a possible replacement for bundler.
π§° John Hawthorn shared that bundler switched itβs version resolution algorithm making bundler update faster. Check the PR that was merged here. He also shared a link to an article that explains the algorithm used: PubGrub: Next-Generation Version Solving
π§° Garrett Dimon shared a library that transpiles Ruby to Javascript: Ruby2JS:
Ruby2JS is an extensible Ruby to modern JavaScript transpiler you can use in production today.
π§° Dmitry Rybakov shared a new release of Mondoid (the Object-Document Mapper framework for MongoDB in Ruby ): Mongoid 7.5.2 released
π§° Meesterfox shared a new testing gem looks-good:
A visual RSpec matcher to ensure the entire page (or specific elements) have not changed. Allows for a tolerance to be set, so you can reuire pixel-perfect or allow for some minor changes.
π§° Nejdet Kadir announced he created a new gem dry-validation-rails to help validating models in Rails with dry-validation. Here is a code sample shared by Nedjet:
Reply