Announcement: https://t.co/Ok2Dyq330h
Tyler Young said this release found ~500 violations in their codebase: https://t.co/4hs9w1Qw4r
The @remote folks reported this release compiles their codebase more than 4x faster: https://t.co/Yn5jgHkto7
Elixir v1.20 released! Now officially a gradually typed language: Elixir type checks every single line of code, finding bugs and dead code, without developer overhead (no typing signatures) and extremely low false positives rate. Plus a faster compiler! Links and reports below.
New Zig Devlog about ELF linker improvements, featuring 30ms rebuilds of a Tetris game.
Incremental is coming and y'all not ready.
https://t.co/n51gYLrDjY
Liverpool FC can confirm Arne Slot is to depart his role as head coach with immediate effect and that the process to appoint a successor is under way.
He leaves with a Premier League title to his name and our deepest gratitude and appreciation.
I've got an agent in a loop optimizing a renderer with the goal to minimize frame times (and tests to measure). It got times down from 88ms to 2ms and allocations down from ~150K to 500. Sounds good, right? Wrong. This is exactly why agent psychosis is a big fucking problem.
As an experiment, I rewrote the Ghostty core render state in Go, with access to identically laid out data structures as Ghostty and the exact same validation tests. I made a purposely naive renderer (simple, correct, but slow). 88ms per frame with 150,000 allocations (horrendous, lol)!
I then kickstarted a Ralph loop to bring the frame times down. I told it it can't modify input data structures or the public API or tests (they're correct), but it can do anything else it wants. It got to work.
It has worked for about 4 hours. I've spent around $350 on this experiment so far. The results?
88ms => 1.5ms
150K allocs => ~500 allocs
Incredible right? Nope.
My hand-written renderer I ported has frame times (same benchmark) of ~20us (0.020ms) and 0 allocations in the update path.
This is the problem with psychosis and lacking systems understanding. If you don't understand the system, you're going to accept that this is an incredible result. If you understand the system, you'll see better solutions immediately and can do roughly 75x better on throughput.
The people who blindly trust agent output are in the former camp. They're sheeple, overdrinking from a fountain of mediocrity.
Standard disclaimer: I use AI all the time. I like AI. The point I'm making is to not blindly accept results. Think. Analyze. Learn.
“Zig over Rust?” 👀
@VBragilevsky asked Andrew Kelley a simple question, and the answer turned into a very interesting take on language tradeoffs, tooling, and choosing the right tool for the job.
Full interview in the comments 👇
When writing Rust, most of the times you don't think much about cache lines and IPC, you think about modeling the problem in terms of enums and traits, purely from a type system perspective.
If you watch Kelley's talks about data oriented programming it makes more sense what he's saying here.
Yes, sure, in Rust you can do whatever you want once you drop into unsafe but most Rust is not unsafe and doesn't need to be either. Most codebases don't need to go as far as squeezing the las ounce of performance from the CPU.
By default Rust also has hidden allocations and deallocations, operator overloading and stuff that makes it harder to see at first glance exactly what the CPU does.
Zig and C have that property where you can see code and map it to assembly without thinking too hard about other code paths that might execute without explicit syntax.
That's what he means when he says you just think about the CPU, it does not matter what problem you're solving, the CPU works one way and you adapt your problem to fit in that constraint.
It is not about "idiomatic" code, "clean" code or any of that. It is about using the CPU as optimally as possible.
Go is stable, compiles fast, runs fast enough, and any code I write can be cross-compiled to any OS, even decades later.
Also, my laptop's hard drive is dying, so using Rust's LSP slows down to a crawl.
I want to finish this thing quickly without wasting time.
So, Go seems ok.
90% of the types vs tests debate is typing advocates thinking all dynamic languages are like JavaScript and dynamic devs thinking all type systems are OO-based.
Go-to-Rust migration guide you've been waiting for. 🦀
Matthias Endler from https://t.co/G2Lare9iGl just published one of the most honest, practical guides on migrating backend services from Go to Rust.
No hype. Just real trade-offs:
✓ nil panics → Option<T>
✓ -race flags → compile-time Send/Sync
✓ if err != nil → Result + ?
✗ Goroutines → async coloring (the real pain point)
✗ Go compile times → Rust compile times (honest warning)
Also covers ecosystem mapping, integration strategies, and when to keep Go.
🔗 https://t.co/DrgUlUepiA
#Rust #RustLang #Go #Golang #BackendDevelopment
The full video for our "fireside chat on the evolution of developer craft" is live: https://t.co/baSTziDwOz with @rseroter@the_thagomizer & Ciera Jaspan
🚀 Just launched: ExtendDB — an open source DynamoDB-compatible adapter written in Rust.
✅ Full wire-protocol compatibility ✅ PostgreSQL storage backend ✅ Pluggable architecture for more backends ✅ Works with existing AWS SDKs & CLI
Apache 2.0 | v0.1 — come build with us 🛠️
https://t.co/U6xouvSRwX