#643 — March 2, 2023 |
|
Ruby Weekly |
Ruby Turns 30 Years Old; Celebrate with a Quine! — Thirty years ago in a chat room far, far away, the name ‘Ruby’ came into being for Matz’s then-nascent language. This milestone has been celebrated by many including Matt Sears, DHH, Charles Nutter, in a (Japanese) ▶️ audio message by Matz himself, and many others, but I had to feature this amazing effort to create a quine, of sorts, that works on “all currently known CRubys” (right back to Ruby 0.49!). It’s worth hitting “Translate to English” on this page to learn a few things about Ruby’s history. ku-ma-me |
In his ▶️ audio message, Matz acknowledges there are multiple ways you could define Ruby's birthday, but he's happy to go with the date it was named in this case. |
Free eBook: Advanced Database Programming with Rails and Postgres — Learn about subqueries, materialized views, and custom data types in Postgres and Rails. We walk through realistic real-life examples, translating first into SQL, and then into Rails code. Every example comes with source code so you can follow along. pganalyze sponsor |
Improving the Developer Experience with the Ruby LSP — Shopify continues to enhance the Ruby landscape, this time with a Ruby Language Server Protocol (LSP) server that takes advantage of recent performance improvements to Ruby (YJIT, etc.) and supports VS Code (or any editor that has LSP support.) Vinicius Stock (Shopify) |
Introducing MRSK: A Way to Deploy Web Apps Anywhere — The folks at 37Signals have developed a Capistrano replacement they're using for HEY․com as part of their move to leave the cloud. In true DHH style, there's ▶️ a screencast showing it off, but basically it's a way to deploy Docker containers, cloud or not. David Heinemeier Hansson |
There's more explanation on MRSK's very minimal homepage. |
QUICK BITS
|
📕 Tutorials and Articles |
▶ Building a Commercial Game Engine using mruby and SDL — mruby is a lightweight, embeddable standardized Ruby implementation and the DragonRuby toolkit uses it at its heart. This talk digs into just how it works and why Ruby is a good fit for certain forms of game development. Amir Rajan |
A Beginner's Guide to Ractors — A quick, elementary introduction to ractors (once known as ‘guilds’) which, in Ruby 3 and up, provide an actor-like concurrency abstraction for executing code in parallel without the problems introduced by multi-threading. Julie Kent |
When Production Goes to 💩 You Can’t Waste Time Digging for Errors — Honeybadger helps you triage errors before your users can even report them. Get monitoring set up today in about 5 mins. Honeybadger sponsor |
Consider Andy Croll |
What's Postgres Got to Do with AI? — A look at using Ruby and OpenAI’s API to get embeddings for your data (recipes in this case), feeding (ha!) them into Postgres and storing and querying the resulting vectors. Christopher Winslett |
What a Dev Firm Has Learnt Delivering Over 100 Ruby Projects — Quite high level/broad.
|
My Journey From Frustration with the JS Stack to Finding Joy in Ruby — Nice to see folks heading this way.
|
▶ Using AWS Lambda with Rails with Ken Collins
|
🛠 Code & Tools |
mruby 3.2.0 Released — mruby is a Matz-created lightweight alternative implementation of Ruby targeting situations where you might want to embed Ruby into other apps. For example, ngx_mruby lets you use Ruby within NGINX, and DragonRuby is built upon it too (there's a talk about that above). mruby team |
Ruby OpenAI Library Adds ChatGPT Support — Yesterday, OpenAI added ChatGPT support to its API and this Ruby OpenAI client has rapidly added support for it too. Now you can integrate ChatGPT features into your Ruby apps and scripts with ease. Alex X |
Need to Upgrade Your Rails App but Don't Have the Time or Resources? We Can Help reinteractive Pty Ltd sponsor |
Rowdy: Route Web Requests to Classes — A new project taking a PORO approach to Ruby web routing using modern Ruby features. Rocketship |
librtree-ruby: R-Tree Spatial Index Library — A native (librtree-derived) extension for working with Guttman-Green R-tree spatial indexes – a data structure enabling the fast querying of intersections of huge collections of rectangles. J.J. Green |
Litestack: Embedded Services for Ruby Webapps — It uses SQLite to provide a database, job processing and cache ‘out of the box’ and integrates with Rack, Sequel, Rails, etc. where they are present. Interesting idea. Mohammad A. Ali |
Packwerk 3.0: Enforce Boundaries for More Modular Rails Apps — A gem created at Shopify that can be used to enforce boundaries and modularize Rails applications. ▶️ 1-minute screencast demo. Shopify |
Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut Shortcut (formerly Clubhouse.io) sponsor |
PIDCache: Cache Calls to Shopify |
|
|