HN user

ruuda

2,117 karma

https://ruuda.nl

Posts25
Comments359
View on HN
ruuda.nl 2mo ago

Building the deployment tool I wish I had

ruuda
44pts5
every.to 2mo ago

Slowly, Then Suddenly: How Products Fail (2022)

ruuda
3pts2
blog.mikeswanson.com 5mo ago

Backseat Software

ruuda
4pts0
calpaterson.com 8mo ago

An oral history of Bank Python (2021)

ruuda
2pts0
ruudvanasseldonk.com 10mo ago

Automating configuration updates with rcl patch

ruuda
4pts0
www.channable.com 1y ago

Automated deployments: how we made deploying often easy

ruuda
6pts0
ruudvanasseldonk.com 1y ago

A float walks into a gradual type system

ruuda
29pts8
ruudvanasseldonk.com 1y ago

LLM text makes human interactions less fun

ruuda
2pts0
www.bugsink.com 1y ago

Does It Scale (Down)?

ruuda
2pts1
ruudvanasseldonk.com 2y ago

A type system for RCL: Implementing a typechecker in Rust

ruuda
4pts0
www.metaculus.com 2y ago

When will AI be able to infer the ending of the book “I Want My Hat Back”?

ruuda
2pts0
ruudvanasseldonk.com 2y ago

An Algorithm for Shuffling Playlists

ruuda
2pts0
medium.com 3y ago

X.520: What’s in a Name?

ruuda
4pts2
en.wikipedia.org 3y ago

Blu-ray Disc Java

ruuda
2pts0
gwern.net 3y ago

It Looks Like You’re Trying to Take over the World

ruuda
94pts27
ruudvanasseldonk.com 3y ago

The Yaml document from hell

ruuda
566pts353
www.microsoft.com 4y ago

Megatron-Turing NLG 530B, the World’s Largest Generative Language Model

ruuda
3pts1
www.twitch.tv 4y ago

OpenAI Codex Demo

ruuda
2pts2
log.zw3rk.com 5y ago

The tail of an off-by-one error in GHC's linker

ruuda
2pts0
tech.channable.com 5y ago

Bottlenecked on Haskell's Text Library

ruuda
23pts4
ruudvanasseldonk.com 6y ago

Model facts, not your problem domain

ruuda
5pts3
tech.channable.com 6y ago

Lessons in Managing Haskell Memory

ruuda
122pts15
bugs.chromium.org 7y ago

gVisor runsc guest-host breakout via filesystem cache desync

ruuda
2pts0
ruudvanasseldonk.com 7y ago

Build system insights

ruuda
2pts0
docs.google.com 7y ago

How Blink works

ruuda
2pts0

It doesn’t have to be espionage, it can be just operational risk. There is the case of Trump ordering sanctions against the International Criminal Court, and Microsoft blocking their accounts to comply (https://en.wikipedia.org/wiki/Executive_Order_14203). Or more recently, Trump deciding who gets access to Anthropic’s latest models. You can’t build a business on a vendor who may be forced to block you at any moment.

Property-based testing is nice, but making it coverage-driven is a game changer. It will explore code paths that naive random inputs will not trigger in a thousand years. In Rust this works very well with libFuzzer and the Arbitrary crate to derive the generators.

Keep Android Open 5 months ago

I contacted the EU DMA team about my concerns and got a real reply within 24 hours. Not just an automated message, it looked like a real human read my message and wrote a reply. I'd urge other EU citizens to do the same.

It's not complex, in the sense that the rules are simple, but simple rules can still lead to complicated emergent behavior that is difficult for humans to understand, even if each of the 153 steps that the typechecker took to arrive at the result were easy to understand individually.

I tried Zed for some time. Then it had a regression which broke it completely on my laptop. (Zed can't start any more, logging a PlatformNotSupported error even though earlier versions worked fine.) I carefully bisected it, and it turned out to be due to an intentional change in Blade. The issue was acknowledged, and confirmed by several other users. Then it got converted into a "discussion" because there was nothing actionable to do according to the devs. Then the discussion got closed because they are "directing all support questions to Discord going forward". Then Discord announced mandatory age verification.

FracturedJson 7 months ago

RCL (https://github.com/ruuda/rcl) pretty-prints its output by default. Pipe to `rcl e` to pretty-print RCL (which has slightly lighter key-value syntax, good if you only want to inspect it), while `rcl je` produces json output.

It doesn’t align tables like FracturedJson, but it does format values on a single line where possible. The pretty printer is based on the classic A Prettier Printer by Philip Wadler; the algorithm is quite elegant. Any value will be formatted wide if it fits the target width, otherwise tall.

It's a Linux thing too. It bit me in particular when running a script in a container that defaulted to ascii rather than utf-8 locale.

Python now uses UTF-8 as the default encoding, independent of the system’s environment.

Nice, not specifying the encoding is one of the most common issues I need to point out in code reviews.

Backing up Spotify 7 months ago

There is a sweet spot for the bass. Lower is better for deep bass, but too low and it stops being a recognizable note, and consumer speakers can't reproduce it. This effect exists though I'm not sure if it is the cause of the pattern here.

I find them helpful. It happens semi-regularly now that I read something that was upvoted, but after a few sentences I think "hmm, something feels off", and after the first two paragraphs I suspect it's AI slop. Then I go to the comments, and it turns out others noticed too. Sometimes I worry that I'm becoming too paranoid in a world where human-written content feels increasingly rare, and it's good to know it's not me going crazy.

In one recent case (the slop article about adenosine signalling) a commenter had a link to the original paper that the slop was engagement-farming about. I found that comment very helpful.

We did have three bugs that would have been prevented by the borrow checker, but these were caught by our fuzzers and online verification. We run a fuzzing fleet of 1,000 dedicated CPU cores 24/7.

Remember people, 10,000 CPU hours of fuzzing can save you 5ms of borrow checking!

(I’m joking, I’m joking, Zig and Rust are both great languages, fuzzing does more than just borrow checking, and I do think TigerBeetle’s choices make sense, I just couldn’t help noticing the irony of those two sentences.)

Sure, a different database schema may have helped, but there are going to be bugs either way. In my view a more productive approach is to think about how to limit the blast radius when things inevitably do go wrong.