HNHacker News
TopNewBestAskShowJobs

ruuda

2,195 karma · joined August 15, 2018

https://ruuda.nl
submissionscomments
ruuda··on iPhone 16 cameras vs. traditional digital cameras
It can, but the result of doing that is not a rectangular picture. You can crop it again, but then you lose a big part of the edges.
ruuda··on Font Comparison: Atkinson Hyperlegible Mono vs. JetBrains Mono and Fira Code
I switched to it after more than 12 years with Consolas, expecting to quickly get bored of it, like every other time I had a brief affair with a different font. But One Mono stuck!
ruuda··on Rust compiler performance
The Rust ecosystem is getting slower faster than the compiler is getting faster. Libraries grow to add features, they add dependencies. Individually the growth is not so bad, and justified by features or wider platform support. But they add up, and especially dependencies adding dependencies act as a multiplier.

I started writing a post about this many years ago, but never finished it. I took a few slow-changing projects of mine that had a pinned Rust compiler, and then updated both the compiler and dependencies to the latest versions. Invariably, everything got slower to compile, even though the compiler update in isolation made things faster!

ruuda··on The first big AI disaster is yet to happen
The problem with AI is that we might get an artificial general superintelligence before we get the first big disaster, and when a big disaster happens at that point, it could be so big that it’s catastrophic for humanity.

Lots has been written about this topic, https://www.lesswrong.com/posts/j9Q8bRmwCgXRYAgcJ/miri-annou... is one of the more pessimistic takes. I wrote a more neutral introduction a while back at https://ruudvanasseldonk.com/2024/ai-alignment-starter-pack.

ruuda··on How we decreased GitLab repo backup times from 48 hours to 41 minutes
That was also my thought.
ruuda··on Claude 4 System Card
Seems like things are unfolding consistent with what https://gwern.net/fiction/clippy predicted 3 years ago.
ruuda··on Beyond Semantics: Unreasonable Effectiveness of Reasonless Intermediate Tokens
"modern"
ruuda··on Designing type inference for high quality type errors
For reporting the expected type on mismatch, I do something similar in RCL to be able to track the source of the expectation: https://ruudvanasseldonk.com/2024/implementing-a-typechecker...
ruuda··on How much information is in DNA?
> There's less than 80 minutes worth of music's worth of information in our genomes

That’s a very misleading take, this is lossless audio and the majority of the bits are spent encoding noise. You can encode way more audio at perceptually but not technically lossless level in that space.

ruuda··on I'd rather read the prompt
By now I consider LLM text a double insult. It says “I couldn’t be bothered to spend time writing this myself,” yet it makes _me_ waste time reading through the generated fluff! I agree with the article, I'd rather read the prompt.

https://ruudvanasseldonk.com/2025/llm-interactions

ruuda··on A Common Lisp jq replacement
If like me you can do basic queries in jq, but as soon as it gets slightly more complex (e.g. filter objects where some nested property that may not exist has a particular value), you wish you could do it with familiar Python/Rust/Javascript-like expressions and map/filter, try https://rcl-lang.org/#intuitive-json-queries.
ruuda··on Ask HN: Who is hiring? (May 2025)
Chorus One | https://chorus.one/careers | Platforms Engineer | REMOTE (Switzerland ± 6 hours)

Chorus One operates validators on many proof-of-stake blockchains (the ones where security is based on a Byzantine fault-tolerant consensus algorithm rather than wasting energy). We are hiring for several roles, but the one I will highlight is what we call Platforms Engineer. Some companies call this Site Reliability Engineering or DevOps.

The main thing we do is take upstream software, build it, run it on our infrastructure, and then monitor it and optimize that setup. Some things that make this interesting are:

    * Building automation that enables us to do this for many networks (70+ currently).
    * Doing this with high uptime, building automation for failover, etc.
    * Working with software that is on the one hand cutting-edge and doing interesting things (consensus algorithms, distributed systems, cryptography), but on the other hand that means it’s immature and often not easy to operate and monitor. Often we have to build custom tools, and dive into the source code of the project. We contribute patches upstream when it makes sense.
    * Some of these projects are exercising the limits of what a machine can do, we have to do some low-level investigation that requires understanding of what the Linux kernel and network hardware are doing to properly identify what’s going on.
We do have a small cloud footprint, but run primarily on bare metal. We are looking for people who can not just configure services offered by the public clouds, but who deeply understand what lies below; people who could build their own cloud. That sounds a bit pretentious and it’s not exactly what we do, but it does involve many of the same aspects.

A recent example of what I personally find fascinating: last March, Ethereum’s Holesky testnet experienced loss of liveness. This is a real-world, globally distributed system that implements Byzantine fault tolerance, with multiple independent implementations of the protocol. Several of these implementations had a bug in an update, which caused a split in the network. The protocol is designed to handle this situation in theory, but in practice it is triggering previously unexplored failure modes in the implementations, that are hard to test for in synthetic small-scale tests. I think there are very few places where you get to be involved in a planet-scale distributed system exhibiting “interesting” behavior, especially one that is not in control of a single entity. Of course, there is also the less fun part that the testnet was broken, alerts are firing, and it was hard and chaotic to coordinate a fix when the network is not controlled by a single entity. Fortunately it’s a testnet.

We’re looking for platforms engineers and software engineers to help build the automation, but also to dive into the node software of the blockchains we validate and see if there are opportunities for us to outperform the rest of the network; Rust experience is valuable there.

Apply at https://careers.chorus.one/o/platforms-engineer-remote. There are more open roles at https://careers.chorus.one.

ruuda··on AI suggestions make writing more generic, Western
I wrote about this before, this generic writing style really sucks out the joy of interacting with others: https://ruudvanasseldonk.com/2025/llm-interactions
ruuda··on Jellyfin as a Spotify alternative
I wrote my own networked music player, https://github.com/ruuda/musium. It's not nearly as fully featured as Jellyfin, but it does do what I want in exactly the way I want it. A feature I implemented a while ago is to make it show me albums I listened to a lot in the past, but not recently, and it's been great to rediscover some of those albums.
ruuda··on Google is winning on every AI front
I'm trying Imagen 3 to add pictures to a presentation in Google Slides, and it's making such basic mistakes that I thought image models weren't making any more by now. I tried for half an hour to prompt it into generating an illustration of a Thinkpad facing with the back to the viewer, so the keyboard is not visible. It couldn't do it, it would always make the keyboard face towards the viewer. Or you ask for an illustration of an animal pointing a finger, and it gives it an additional arm. Meanwhile you ask OpenAI to ghiblify a picture while changing the setting and adding 5 other things, and it absolutely nails it.
ruuda··on Ask HN: Who is hiring? (April 2025)
In general yes, though probably not in the next few months, as we have some in the pipeline already.
ruuda··on Ask HN: Who is hiring? (April 2025)
Chorus One | https://chorus.one/careers | Platforms Engineer | REMOTE (Switzerland ± 6 hours)

Chorus One operates validators on many proof-of-stake blockchains (the ones where security is based on a Byzantine fault-tolerant consensus algorithm rather than wasting energy). We are hiring for several roles, but the one I will highlight is what we call Platforms Engineer. Some companies call this Site Reliability Engineering or Devops.

The main thing we do is take upstream software, build it, run it on our infrastructure, and then monitor it and optimize that setup. Some things that make this interesting are:

    * Building automation that enables us to do this for many networks (70+ currently).
    * Doing this with high uptime, building automation for failover, etc.
    * Working with software that is on the one hand cutting-edge and doing interesting things (consensus algorithms, distributed systems, cryptography), but on the other hand that means it’s immature and often not easy to operate and monitor. Often we have to build custom tools, and dive into the source code of the project. We contribute patches upstream when it makes sense.
    * Some of these projects are exercising the limits of what a machine can do, we have to do some low-level investigation that requires understanding of what the Linux kernel and network hardware are doing to properly identify what’s going on.
We do have a small cloud footprint, but run primarily on bare metal. We are looking for people who can not just configure services offered by the public clouds, but who deeply understand what lies below; people who could build their own cloud. That sounds a bit pretentious and it’s not exactly what we do, but it does involve many of the same aspects.

A recent example of what I personally find fascinating: last month Ethereum’s Holesky testnet experienced loss of liveness. This is a real-world, globally distributed system that implements Byzantine fault tolerance, with multiple independent implementations of the protocol. Several of these implementations had a bug in an update, which caused a split in the network. The protocol is designed to handle this situation in theory, but in practice it is triggering previously unexplored failure modes in the implementations, that are hard to test for in synthetic small-scale tests. I think there are very few places where you get to be involved in a planet-scale distributed system exhibiting “interesting” behavior, especially one that is not in control of a single entity. Of course, there is also the less fun part that the testnet was broken, alerts are firing, and it was hard and chaotic to coordinate a fix when the network is not controlled by a single entity. Fortunately it’s a testnet.

Apply at https://careers.chorus.one/o/platforms-engineer-remote.

ruuda··on Kylie Minogue song about a typeface
Kylie Minogue is the only female artist who had a #1 album in the UK in five consecutive decades (!), something even Madonna didn't manage to.

Edit, the article says “across”, not a #1 album in every decade. In the 90s she only reached #4.

https://www.reuters.com/article/lifestyle/thats-crazy-kylie-...

ruuda··on The Pain That Is GitHub Actions
If you have to deal with tools that need to be configured with yaml, give https://rcl-lang.org/ a try! It can be "coded" to avoid duplication, with real variables, functions, and loops. It can show you the result that it evaluates to. It can do debug tracing, and it has a built-in build command to generate files like GitHub Actions workflows from an RCL file.
ruuda··on The Pain That Is GitHub Actions
To make sure that you can test CI locally, the best way I've found so far is to make sure the checks can run with Nix, and then keep the CI config itself as simple as possible and just call Nix.

As for reducing boilerplate in the CI configs, GitHub Actions is a programming language with support for functions! It's just that function calls can only appear in very limited places in the program (only inside `steps`), and to define a function, you have to create a Git repository. The function call syntax is also a bit unusual, it's written with the `uses` keyword. So there is a lot of boilerplate that you can't remove this way, though there are several other yaml eDSLs hidden in GitHub Actions that address some points of it. E.g. you can create loops with `matrix`, but again, not general-purpose loops, they can only appear in a very specific syntactic location.

To really duplicate stuff, rather than copy-pasting blocks of yaml, without using a mix of these special yaml eDSLs, in the past I've used Nix and Python to generate json. Now I'm using RCL for this (https://rcl-lang.org). All of them are general-purpose yaml deduplicators, where you can put loops or function calls anywhere you want.

ruuda··on Ask HN: Best way to simultaneously run multiple projects locally?
Yes, that’s the one I meant. One thing that annoyed me with Foreman is that sometimes it doesn’t terminate all processes when one of them crashes. Since I switched to Overmind/Hivemind I never had that problem again.
ruuda··on Ask HN: Best way to simultaneously run multiple projects locally?
Even Docker ... does that solve a problem OP has?
ruuda··on Ask HN: Best way to simultaneously run multiple projects locally?
Woah, so much overcomplication in the comments!

If you want to run multiple applications, how about ... just running them? It sounds like you already do that, so what is the real problem that you are trying to solve?

If it's annoying to start them by hand one by one, you could use Foreman or Overmind to start them with a single command, and interleave their output in a terminal.

ruuda··on Zen and the Art of Microcode Hacking
> We noticed that the key from an old Zen 1 CPU was the example key of the NIST SP 800-38B publication (Appendix D.1 2b7e1516 28aed2a6 abf71588 09cf4f3c) and was reused until at least Zen 4 CPUs.

Oops!

ruuda··on MacBook Air M4
It seems I can configure it with at most 1TB of storage, and the display is lower resolution, but aside from that it does look like a nice device.
ruuda··on MacBook Air M4
From the pictures, it looks like this device does not have the kind of build quality that XPS and MacBook have.
ruuda··on MacBook Air M4
Especially for the command line and a browser which are primarily rendering text, pixel density matters so much! Why look at pixelated text when you can have print-quality crisp text? I never want to go back to low pixel density displays!

I had an XPS 15 with 4k display in 2016, yet in 2025 it’s somehow difficult to find a laptop with that pixel density?

I wonder the same with phones actually, my Nexus 6P from 2015 (10 years ago!) had an amazing 518 ppi display. When the modem died I got a Pixel 2 which had only 441 ppi, and the display was a really noticeable downgrade, text looked significantly uglier, I could see the pixels and hinting artifacts again. I expected high pixel densities to become mainstream to the point where every screen has a density at the limit of what the human eye can perceive, yet here we are 10 years later, and Google’s flagship phones have only 495/486 ppi, worse than the Nexus 6P!

ruuda··on MacBook Air M4
I’ve been browsing the Lenovo (and others’) website for weeks, and the only two laptops it shows with 2TB storage and 4k display are the ThinkPad P1 and P16s.

The ThinkPad X1 and Framework 13 have a much lower resolution display. Also, I appreciate Framework’s mission, but it’s not the build quality that I’m looking for.

ruuda··on MacBook Air M4
I should have said "large" then, I could only find a 16" model with the specs I want. It's not bulky in the sense that a gaming laptop is.
ruuda··on MacBook Air M4
My 4-year old Dell XPS 15 is up for replacement, but somehow no manufacturer aside from Apple is making laptop with decent specs nowadays? I want 2TB storage, a 4k (or close) HiDPI display, good build quality, and not a bulky gaming laptop. The XPS 15 was perfect, it had those specs, except it only had 1TB storage which is now full. I was expecting that to not be an issue 4 years later ... But now Dell discontinued XPS, and their new Pro/Premium models have worse specs in almost all ways. The only non-Apple thing that I can find that even comes close, is a bulky 16" ThinkPad.

And then there is Apple who pack everything I want in a sleek 14" or 15" device, plus a very fast CPU and battery life that is years ahead of anything else ... Why is there no competition here? I'm willing to compromise on battery life, and I don't need the fastest CPU, just a good quality work laptop where I can run `cargo build` / `docker pull` without worrying about filling up the disk, and mostly just a browser aside from that. Why is the gap so large?

← PreviousPage 3 of 13Next →