#662 — July 13, 2023 |
|
Ruby Weekly |
Zeke Gabrielse |
Integrating Web Push with Rails — The mechanism and protocols behind implementing push-based Web notifications are complicated, so it’s fantastic that Sam has put together a complete post showing the main steps and code involved to add push notifications to a modern Rails app. Sam Ruby |
💸 Budget-Friendly Rails Maintenance Starting at $1k/Month 🚀 — Don't want to lose 25% of your efficiency to tech debt? FastRuby's remediation services gradually upgrade core dependencies and refactor costly files. The team behind the RailsConf Rails Upgrade Workshop can help you level up for a monthly flat-rate. Bonsai 🌳 by FastRuby.io sponsor |
Steep 1.5: A Static Type Checker for Ruby — Ruby 3.0’s introduction of the RBS type signature language teased a world of statically type-checked Ruby for those who wanted it, but another piece is required: a tool to *do* the type checking. Enter Steep. Soutaro Matsumoto |
📅 RubyConf is taking place this November in San Diego, CA and its call for papers is now open. You've got till August 20 to propose either a talk or workshop. 🤔 Justin Searls ponders "the looming demise of the 10x developer" – an article that will give you some food for thought, even if you disagree. 🍏 Julia Evans shows off Lima, a particularly quick and easy way to spin up Linux VMs on macOS. (A VM is just two commands away if you use Homebrew or Nix..) 🤖 I recently linked to a gem that adds vector querying features to SQLite and promised to share some code that uses it to store and compare LLM embeddings. Here is that code. I'll write an actual blog post in due course ;-) 🚂 A proposal for Rails to support optimistic locking without needing |
📗 And a book: Ruby on Rails Background Jobs with Sidekiq — A short book, currently in beta, published by Pragmatic Bookshelf. The author notes: “This book is based around the truth that putting code into Sidekiq jobs is almost trivial, but operating such a system is not. It requires careful design, monitoring, and understanding of how the jobs actually run.” Dave Copeland |
📕 Tutorials, Articles, and Videos |
Turbo, Stimulus, Hotwire.. What's the Difference? — Rails has gained a bunch of snappily named extra pieces over the past few years, and if it’s not been clear what some of them are, or if you need to explain it to someone else, this will help. Sid Krishnan |
Implementing Rails-Like Controllers in a Non-Rails App — The latest in Akshay’s series on building a Ruby webapp from scratch (no Rails!) tackles the idea of controllers and what they actually do under the hood. Akshay Khot |
Free eBook: Advanced Database Programming with Rails and Postgres — Learn about subqueries, materialized views, and custom data types in Postgres & Rails and follow along with our examples. pganalyze sponsor |
Tweaking Emacs for Ruby Development in 2023 — Did you know Matz was a huge Emacs fan and Emacs influenced Ruby’s development and syntax? There’s a slideshow (transcript) about that. John Hamelink |
Performant Database Tree Traversal with Rails — The folks at PlanetScale (a serverless MySQL platform) needed to figure out 3 way merges for database schemas and had to work through a tree of objects in their database to find the common ancestor between two branches. Mike Coutermarsh |
How to Use Jeffrey Morhous (Honeybadger) |
Fix Sneaky |
Polymorphic Relationships in ActiveRecord
|
An Introduction to Devise for Rails
|
🛠 Code & Tools |
Adornable: Decorators for Ruby Methods — If you’ve ever looked at Python’s decorators or Lisp’s ‘advice’ and thought you’d like a similar way to extend Ruby methods, this is for you. I like the idea, but can’t see it catching on unless it became an official feature. Keegan Leitz |
Extralite 2: Another Way to Work with SQLite — An alternative (and faster) SQLite wrapper for Ruby that comes in two flavors: one that uses the system installed SQLite and one that bundles 3.42.0. v2.0 (quickly followed by v2.1) is a big update and includes enhanced querying possibilities and improves the Sequel adapter. Sharon Rosner |
Is Your Career Safe From AI Disruption? Future-Proof Your Career With Interview Kickstart — Join our free webinar to learn more. Don't get left behind. Transition to AI/ML roles with IK: FAANG+ AI/ML Coaches, a capstone project, and 15 mock interviews. Interview Kickstart sponsor |
Shrine 3.5: The File Attachment Toolkit for Ruby Webapps — The first minor level update in 2 years for the powerful plugin-driven file attachment/uploads system. Validations, background jobs, cloud storage integrations, and more await. GitHub repo. Shrine |
Counter Culture 3.4: Fast Counter Caches for Rails Apps — Boasts numerous improvements over standard counter caches. Tested against all maintained lines of Ruby and Rails. Magnus von Koeller |
PublicSuffix: Domain Name Parser Based on the Public Suffix List — The Public Suffix List lets you break domains into their unique and common parts - for example, Simone Carletti |
|
|