Hacker News with Generative AI: Ruby

Optimizing Ruby's JSON, Part 7 (byroot.github.io)
In the previous post, we started covering some parser optimizations. There’s just a handful more to cover until we reached what’s the state of the currently released version of ruby/json.
Glimmer: DSL Framework for Ruby GUI and More (github.com/AndyObtiva)
DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Rub…
Ruby/tk: Tk interface module using tcltklib (github.com/ruby)
Tk interface module using tcltklib
A visual demo of Ruby's lazy enumerator (joyofrails.com)
In this article, we'll explore a simple visual trick to help understand how lazy enumeration works in Ruby.
A visual demo of Ruby's lazy enumerator (joyofrails.com)
In this article, we'll explore a simple visual trick to help understand how lazy enumeration works in Ruby.
Optimizing Ruby's JSON, Part 5 (byroot.github.io)
In the previous post, we showed how we eliminated two malloc/free pairs of calls when generating small JSON documents, and how that put us ahead of Oj when reusing the JSON::State object.
HTML_slice: Enable Ruby classes the ability to generate reusable pieces of HTML (github.com/henrique-ft)
Enable Ruby classes the ability to generate reusable pieces of html
Ruby 3.4 Highlights (sinjakli.co.uk)
Alright, you know the drill. The Ruby team do the hard work of putting together a new version packed with features and I pick my favourites and write about them.
Dissecting Puma: Anatomy of a Ruby Web Server (dansvetlov.me)
Puma is the most popular1 web server for running Ruby applications. If you’ve recently started working on a new Rails application, chances are you’re using Puma to serve HTTP traffic, as it is the default Ruby on Rails server. Puma has stood the test of time, having gone through three major Ruby versions and been around for over 15 years, making it a treasure trove of interesting and mature design decisions.
Lightstorm: Minimalistic Ruby Compiler (llvm.org)
Some time ago I was talking about an ahead-of-time Ruby compiler. We started the project with certain goals and hypotheses in mind, and while the original compiler is at nearly 90% completion, there are still those other 90% that needs to be done.
Optimizing Ruby's JSON, Part 4 (byroot.github.io)
In the previous post, we established that as long as ruby/json wasn’t competitive on micro-benchmarks, public perception wouldn’t change. Since what made ruby/json appear so bad on micro-benchmarks was its setup cost, we had to find ways to reduce it further.
Ruby-refrigerator: Freeze all core Ruby classes (github.com/jeremyevans)
Refrigerator offers an easy way to freeze all ruby core classes and modules. It’s designed to be used in production and when testing to make sure that no code is making unexpected changes to core classes or modules at runtime.
Peephole optimizations: adding `opt_respond_to` to the Ruby VM, part 4 (jpcamara.com)
In The Ruby Syntax Holy Grail: adding opt_respond_to to the Ruby VM, part 3, I found what I referred to as the “Holy Grail” of Ruby syntax. I’m way overstating it, but it’s a readable, sequential way of viewing how a large portion of the Ruby syntax is compiled.
RubyConf 2024: Cloud Native Buildpack Hackday (and other Ruby deploy tools, too) (schneems.com)
I’ve spent the last decade+ working on Ruby deploy tooling, including (but not limited to) the Heroku classic and upcoming Cloud Native Buildpack. If you want to contribute to a Ruby deployment or packaging tool (even if it’s not one I maintain), I can help. If you want to learn more about Cloud Native Buildpacks (CNBs) and maybe get a green square on GitHub (or TWO!), keep reading for more resources.
Ruby 3.4.1 Released (ruby-lang.org)
Ruby 3.4.1 has been released.
Ruby 3.4.0 (ruby-lang.org)
We are pleased to announce the release of Ruby 3.4.0. Ruby 3.4 adds it block parameter reference, change Prism as default parser, adds Happy Eyeballs Version 2 support to socket library, improves YJIT, adds Modular GC, and so on.
News for Ruby 3.4.0 (ruby-lang.org)
This document is a list of user-visible feature changes since the 3.3.0 release, except for bug fixes.
The intricacies of implementing memoization in Ruby (denisdefreyne.com)
In the never-ending quest to write code that is performant, we have many techniques at our disposal. One of those techniques is memoization,111 That’s memoization, not memorization — there’s no “r”!  which boils down to storing the results of expensive function calls, so that these expensive functions do not need to be called more than absolutely necessary.
Litestack: All your data infrastructure, in one Ruby gem (github.com/oldmoe)
Litestack is a Ruby gem that provides both Ruby and Ruby on Rails applications an all-in-one solution for web application data infrastructure. It exploits the power and embeddedness of SQLite to deliver a full-fledged SQL database, a fast cache , a robust job queue, a reliable message broker, a full text search engine and a metrics platform all in a single package.
Optimizing Ruby's JSON, Part 1 (byroot.github.io)
I was recently made maintainer of the json gem, and aside from fixing some old bugs, I focused quite a bit on its performance, so that it is now the fastest JSON parser and generator for Ruby on most benchmarks.
Ruby Video – On a mission to index all Ruby conferences (rubyvideo.dev)
On a mission to index all Ruby conferences
In-Depth Ruby Concurrency: Navigating the Ruby Concurrency Landscape (jpcamara.com)
I was honored to present a talk on Ruby concurrency at RubyConf 2024. It represents a high-level distillation of much of my writing and research over the past year. The conference itself was great, and presenting was such a fun experience.
Implementing a simple object system from scratch in Ruby (metacircu1ar.github.io)
“What I cannot create, I do not understand.” – Richard Feynman
Mastering Ruby debugging: From puts to professional tools (jetbrains.com)
Debugging is an essential skill in software development, and in this post, we’ll be looking at how to investigate the behavior of Ruby code.
Speeding up Ruby by rewriting C in Ruby (jpcamara.com)
There is a recent language comparison repo which has been getting shared a lot. In it, CRuby was the third slowest option, only beating out R and Python.
Calculating the largest known prime in Ruby (jpcamara.com)
Looking to impress your Ruby friends by calculating the largest known prime, 2 ** 136_279_841-1?
OpenStreetMap Migrates to Debian 12 (debian.org)
🚀 After 18 years on Ubuntu, we've upgraded the @openstreetmap servers to Debian 12 (Bookworm). 🌍 openstreetmap.org is now faster using Ruby 3.1. Onward to new mapping adventures! Thank you to the team for the smooth transition. #OpenStreetMap #Debian 🤓
Elixir-like pipes in Ruby (oh no not again) (zverok.space)
On a new approach to implement that long-envied feature.
Ask HN: What job search strategies work for you? (ycombinator.com)
I’ve been laid off since June and have not been getting responses from most of my applications other than denials. I have 10+ years mostly Ruby/React/JS. New just working on a side project (job listing scraper) but curious what is working well for you? Specific apps or strategies that lead to your hiring?
Rubygems.org Adds New Maintainer Role (socket.dev)
RubyGems.org has added a new “maintainer” role that enables users to publish new versions of a gem.