#521 — October 1, 2020 |
Ruby Weekly |
Ruby 3.0.0 Preview 1 Released — Fingers crossed for a final Ruby 3.0 release this Christmas, but in the meantime we have the first preview release to play with! So if you’ve wanted to get playing with Ractor, the RBS type profiling approach, or even cute syntactical features like rightward assignments, now is a great to try it out as tools like RVM and rbenv make it really easy to get going. Yui Naruse |
A Ruby One-Liners Cookbook — Ruby is a fantastic language for one-liners, whether in IRB or even from the command line, and two years ago we featured this epic list of them. The author has run with the concept and produced an entire book on the topic. Sundeep Agarwal |
Slow and Expensive CI Build? — Save more than 150% by switching to faster pipelines on Semaphore. Ship your updates 2x faster. Semaphore sponsor |
Currency Calculations in Ruby, The Right Way — If strange discrepancies begin to emerge in your monetary related calculations and the books don’t quite add up, this is the article for you. In short, never use floating point numbers for this sort of math, but maybe Julio Sampaio |
Haml 5.2: The HTML Abstraction Markup Language — v5.2.0 is billed as ‘The Long Goodbye’ but only because it’s the final release “that’s got all the bells and whistles of Haml from the last 10 years.” Coming next is version 6 which will take some leaps forward (including a “StimulusJS-like development pattern”) and not be backwards compatible. Hampton Catlin |
|
💻 Jobs |
Fullstack Ruby on Rails Developer (Full Remote) — We're looking for smart devs to join our fast-growing, well-funded company that makes thousand of African fashion designers happy. Afrikrea Platform |
Senior Ruby on Rails Developer (Remote) — 90% of everything is carried in shipping containers. Join our team to modernize cargo ports around the world. OCTOPI BY NAVIS |
Find a Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. Vettery |
ℹ️ Interested in running a job listing in Ruby Weekly? There's more info here.
📘 Articles & Tutorials |
The Complexity of Active Record Transactions — Janko is working on a gem that extends Sequel to be able to reuse Active Record’s database connection and has learnt some useful stuff along the way. Here he shows off how AR and Sequel’s transaction API implementations differ. Janko Marohnić |
Solve A Race Condition Using Database Trigger Functions — Model validation works well… until you have multiple users creating multiple model objects at (almost) the same time. Axel Kee |
Best-Practices on How to Speed Up Your Postgres Queries. Free eBook. — We share our learnings from helping companies like Atlassian, Robinhood, and others speed up their queries. Pganalyze sponsor |
Building a Ractor Based Logger That Will Work with Non-Ractor Compatible Code — Mike Perham said “Ractor seems fundamentally incompatible with many heavily-used Rails APIs” which may be true but there are ways around it and this post explores one such pattern. One for Ruby 3.0 experimenters only. Maciej Mensfeld |
▶ Chipping Away at a Monolith — Tori Huang, software engineer at Gusto, and Brittany Martin of the Rails Podcast discuss Gusto’s ‘unbundling’ of part of their monolithic Rails app. Ruby on Rails Podcast podcast |
🛠 Code and Tools |
Parsby: A Parser Combinator Library Inspired by Haskell's Parsec — Parser combinators provide a way to combine parsers into new parsers which provides an interesting alternative to PEG-style parsing systems like Parslet. Jorge Luis Martinez Gomez |
Query Diet: A Low-Key Rails Database Query Counter — Counts the number of database queries for the last request and subtly displays it in the corner of the page. Makandra |
Sinatra Subdomain: Separate Routes for Subdomains in Sinatra Apps Nando Vieira |
Scout APM: Pinpoint & Fix Performance Issues Fast. Start Now for Free Scout APM sponsor |
Rpush 5.1: A Push Notification Service for Ruby — A long standing project. Rpush supports numerous push notification services including those from Apple, Firebase, and Amazon. Ian Leitch |
OpenStruct 0.3.0: A Hash-Like Object Data Structure — OpenStruct (a.k.a. The Ruby Core Team |