Linking Smaller Haskell Binaries (2023)

Publish date: Jan 7, 2023 Last updated: Jan 8, 2023 Haskell binaries can get quite large (think ~100MB), especially for projects with many transitive dependencies. Here are two strategies that can help at link time, the latter being more experimental. I used the test-pandoc binary from pandoc on GHC 9.2.5 below. This was nice because […]
How many branches can your CPU predict?

Modern processors have the ability to execute many instructions per cycle, on a single core. To be able to execute many instructions per cycle in practice, processors predict branches. I have made the point over the years that modern CPUs have an incredible ability to predict branches. It makes benchmarking difficult because if you test […]
Show HN: Duplicate 3 layers in a 24B LLM, logical deduction .22→.76. No training
I replicated Ng’s RYS method and found that duplicating 3 specific layers in Qwen2.5-32B boosts reasoning by 17% and duplicating layers 12-14 in Devstral-24B improves logical deduction from 0.22→0.76 on BBH — no training, no weight changes, just routing hidden states through the same circuit twice. Tools included. Two AMD GPUs, one evening. Duplicate 3 […]
A look at content scrambling in DVDs

Cryptography in Home Entertainment – A look at content scrambling in DVDs Cryptography in Home EntertainmentA look at content scrambling in DVDs By Mark BarryJune 2004 Introduction Did you know that every time you watch a DVD, a simple cryptosystem is at work behind the scenes? A cryptosystem, while watching DVDs? Why would anyone […]
ZJIT removes redundant object loads and stores

Intro Since the post at the end of last year, ZJIT has grown and changed in some exciting ways. This is the story of how a new, self-contained optimization pass causes ZJIT performance to surpass YJIT on an interesting microbenchmark. It has been 10 months since ZJIT was merged into Ruby, and we’re now beginning […]
Work_mem: It’s a Trap
My friend Henrietta Dombrovskaya pinged me on Telegram. Her production cluster had just been killed by the OOM killer after eating 2 TB of RAM. work_mem was set to 2 MB. Something didn’t add up. Hetty, like me, likes playing with monster hardware. 2 TB of RAM is not unusual in her world. But losing […]
Abusing Customizable Selects

Web browsers ship new features all the time, but what fun is it if we can’t build silly and fun things with them? In this article, let’s go over a few demos that I’ve made by using the new customizable feature, and walk through the main steps and techniques that I’ve used to implement them. […]
Bayesian statistics for confused data scientists

It’s the third time I’ve fallen into the Bayesian rabbit hole. It always goes like this: I find some cool article about it, it feels like magic, whoever is writing about it is probably a little smug about how much cooler than frequentism it is (and I don’t blame them), and yet I still leave […]
Show HN: Tmux-IDE, OSS agent-first terminal IDE

Lead + teammates One Claude coordinates the team. Teammates work independently in their own panes, each with a focused task. Shared task list Agents communicate through shared tasks and messages. The lead assigns, teammates claim and report back. Self-organizing Once the layout is running, the lead can recruit teammates, reassign work, and reshape the workflow […]
I haven’t used a mouse for 14 years

I haven’t used a mouse for 14 years, and how to enable three fingers drag on macOS | Axel’s blog Home Blog Now 13 Mar, 2026 I have been using a Mac since 2012, and since then I have not used an external mouse (I did buy an external trackpad, and also own an iMac […]