news
Programming Leftovers
-
Paweł Grzybek ☛ Look Back at 2025 | pawelgrzybek.com
Exposure to Go made me realise how much I don’t want to use Rust anymore. Rust is a fantastic language, with fantastic tooling and a fantastic ecosystem, but not for the things I enjoy building. Learning Go made me a much better web developer, and building web applications is all I want to do. The web is fun, and making it a better place makes me happy. Huge realisation of the year and huge skills adjustment!
-
Linuxiac ☛ Ruby 4.0 Released With Ruby Box Isolation and New ZJIT Compiler
Ruby 4.0 is now available, introducing the experimental Ruby Box isolation feature, the new ZJIT compiler, and performance and concurrency improvements.
-
LWN ☛ Ruby 4.0 released
Once again there is a brand-new release under the tree from the Ruby programming-language project: Ruby 4.0 has been released with many new features and improvements. Notable changes include the experimental Ruby Box feature for in-process isolation of classes and modules, a new just-in-time compiler called ZJIT, and improvements to Ruby's parallel-execution mechanism (Ractor). There are a number of language changes as well. See the documentation for Ruby 4.0 for more.
-
Max Bernstein ☛ ZJIT is now available in Ruby 4.0
ZJIT is a new just-in-time (JIT) Ruby compiler built into the reference Ruby implementation, YARV, by the same compiler group that brought you YJIT. We (Aaron Patterson, Aiden Fox Ivey, Alan Wu, Jacob Denbeaux, Kevin Menard, Max Bernstein, Maxime Chevalier-Boisvert, Randy Stauner, Stan Lo, and Takashi Kokubun) have been working on ZJIT since the beginning of this year.
In case you missed the last post, we’re building a new compiler for Ruby because we want to both raise the performance ceiling (bigger compilation unit size and SSA IR) and encourage more outside contribution (by becoming a more traditional method compiler).
It’s been a long time since we gave an official update on ZJIT. Things are going well. We’re excited to share our progress with you. We’ve done a lot since May.
-
Python
-
Lee Yingtong Li ☛ Custom Open in Terminal shortcut for GNOME Files using nautilus-python
When using GNOME Files (Nautilus) with GNOME Console, the keyboard shortcut
Ctrl+.can be used to launch a terminal in the currently open folder. Equivalent functionality is not available out of the box for the more fully featured GNOME Terminal – GNOME Terminal adds an ‘Open in Terminal’ option to the context menu, but this does not have a keyboard shortcut. -
Yossi Kreinin ☛ "Enabling" C threads in a Python / Wasm environment
Scarred by bare metal programming during my formative years, I consider the speedup from multithreading worth pursuing no matter how limited a form of it you’ll get, and no matter how hideous the hacks you’ll need to make it work. In today’s quest, we shall discover the various ways in which threads don’t work in a Python, Wasm, and especially a Python on Wasm environment, and then do something about it — even when that something could get us shunned from polite society. In the end, we’ll arrive at a working setup for limited yet performant multithreading, usable for soft real time programs caring about sub-millisecond overheads which we’ll attempt to minimize or eliminate (GitHub links: Python running C threads on Wasm; a simple C++ thread pool for Wasm.)
-
-
Java/Golang
-
Andrew Nesbitt ☛ Cursed Bundler: Using go get to install Ruby Gems
Here’s a thought experiment. What if Ruby had require "github.com/rails/rails" and you used go get to fetch it? Set GOPATH to a Ruby load path, and Go’s module fetcher becomes your transport layer. The Go team did not intend this. But it works. Consider this a gift from the Ghost of Package Managers Yet to Come.
-