#725 — October 31, 2024 |
🎃 Boo! We're back after a rare week off, but now we're here through to Thanksgiving. I hope you have a fun Halloween, if you partake in it, but rest assured this issue is all treats and no tricks.. |
|
Ruby Weekly |
Benchmarking Ruby Parsers — Prism is (almost certainly going to be) the new default parser in Ruby 3.4, but is it the best-performing option? Benoit looks at several candidates, including Ripper and Benoit Daloze |
Ruby Video: An Index of ~4000 Ruby Talks — Over the past year, Ruby Video has brought together almost 4000 videos from over 2000 speakers and you’re encouraged to contribute your own too (though I'd be surprised if many talks remain to be found with these numbers!) Adrien Poly et al. |
How to Compare Postgres EXPLAIN Plans & Tune Slow Queries — Are slow Postgres queries impacting your Ruby app performance? Join this webinar to learn how to diagnose and tune them effectively. We'll use pganalyze to walk through how to compare plans & debug common scenarios like inefficient nested loops & missing indexes. pganalyze sponsor |
Next Generation Out-of-Band Garbage Collection — ‘Out of band’ garbage collection is when GC is performed outside of the time when a user request is being served. This yields latency improvements in many scenarios, since you won’t have the GC ‘stopping the world’ at critical points. It’s hard to get just right, though, but that isn’t stopping attempts to make it better. Jean Boussier |
IN BRIEF:
|
Supercharge the One Person Framework with SQLite — A written version of Stephen Margheim’s ▶️ exciting Rails World talk about Rails 8’s enhancements when it comes to SQLite and how SQLite can truly supercharge Rails development at the scales most of us are working. Stephen Margheim |
How I Upgraded My Pet Project from Rails 7 to Rails 8 in 30 Minutes — Here’s a task a lot of us are likely to Bohdan Pohorilets |
Exploring Campfire's Tests — 37signals’ pay-once-host-yourself chat app provides a good look at how the canonical Rails shop builds things, so Kadu decided to check out its tests and found an elegantly simple approach. Kadu Diógenes |
💡 If you'd like to poke around 37signals' code but don't want to spend $299 on Campfire, their free Writebook app might scratch your itch. |
GitHub Shortcut Commands That’ll Speed Up Your Code Reviews 💻 — Roundup of some of the best GitHub keyboard shortcuts that came up during a recent conversation on our dev team’s Slack. Test Double sponsor |
📄 Using the Rails 8 (Beta) Authentication Generator in API-Only Mode Andrés Chacon 📄 Using CTID Based Pagination and Ruby for Data Cleanups in Postgres Shayon Mukherjee 📄 Safely Passing Ruby Variables to JavaScript in ERB Daniel Doubrovkine 📄 Building a Robust Data Synchronization Framework with Rails Philippe Creux 📄 Configuring Minitest with Gitlab CI and Rails Prabin Poudel 📄 Understanding Kamal Proxy Roles Josef Strzibny |
🛠 Code & Tools |
HexaPDF 1.0.0: Powerful PDF Generation from Ruby — Ruby’s arguably most versatile PDF creation and manipulation library reaches v1.0, and there are still many more features to come, says Thomas. You can check out numerous examples with code here. Note that HexaPDF is AGPL licensed with a commercial licence option. Thomas Leitner |
🎉 Also of interest is Thomas's post on HexaPDF's ten year history, why he chose to license it the way he did, and what it took to make it work as a commercial Ruby library. |
Rubocop Obsession: Cops for Higher-Level Concepts — The RuboCop linter is commonly used to raise the alarm on stylistic issues like long lines, indentation problems, and naming conventions. This goes a step further with code not broken into identifiable ‘paragraphs’, method ordering, and only testing public methods, among other things. Jerome Dalbert |
Fixed Price Monthly Code Maintenance for Rails Apps — No time to do those small but critical updates and features? CodeCare will take care of necessary tweaks, bug fixes, upgrades and ongoing improvements for your app. reinteractive / CodeCare sponsor |
sqlite3-ruby 2.2.0: The Ruby Bindings for SQLite3 — With v2.2 we get improved multiline SQL syntax errors, as well as being able to use URI filenames when ‘connecting’ to a SQLite database. Sparkle Motion |
Shale: Object Mapper and Serializer for Text Formats — A library for converting JSON, YAML, TOML, CSV and XML into Ruby data structures and back again. The homepage features many interactive examples worth checking out. Kamil Giszczak |
|
|