Linking Smaller Haskell Binaries (2023)

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?

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

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

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

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

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

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

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

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 […]