tl;dr specifically for OTP 29 Follow normal Erlang/zx install procedure outlined below. After installation: Download the manpages from erlang.org Screenshot 2026-07-17 Extract to ~/.erts/<whatever version>/ The tarball extracts everything to ./man which you need to copy to ~/.erts/29.0.3/ mkdir -p ~/build/eman cd ~/build/eman wget https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_doc_man_29.0.3.tar.gz tar xzvf otp_doc_man_29.0.3.tar.gz mv man ~/.erts/29.0.3/ Edit your ~/.bashrc or […]
Tag: Programming
Building Erlang + ZX on Devuan Excalibur
With Ubuntu/Kubuntu out of the running for “works and is mostly sane”, we are having to shift once again over to Devuan, which we have been using for servers for several years now at Tsuriai and QPQ, but not as often on desktops (because Kubuntu was just so convenient and changing habits is annoying). This […]
Crypto: How to do division in modular arithmetic
The goal of this post is to explain straightforwardly how to perform division in modular arithmetic in such a way that you actually understand it. This is a continuation of a series exploring the mathematical foundations of cryptocurrency. Previously: Visual GCD Algorithm What is a keypair? There’s plenty of other material out there that covers […]
Crypto: What is a keypair exactly?
Contents 1 Elliptic Curves 1.1 Degenerate curves 1.2 The Point at Infinity 1.3 Elliptic Curve [Group] Operation 1.3.0.1 Common math notation: P + Q, -R, and N*P 1.3.1 Special cases: P + P and P + -P 1.4 Reference: Elliptic curve group operation formulas 1.4.1 Special case where one point is infinity 1.4.2 General case […]
Palmer’s Law: tracking down retardation in the NaCl library
Previously: Palmer’s Law About a year ago, I was writing a browser extension crypto wallet. To actually call the cryptography routines, I needed to use the TweetNaCl library (which is pretty good all things considered; definitely recommend it if you have to call cryptography routines from JS). For some reason, the calls my extension was […]
Programming: Palmer’s Law
Today I was working with the Dennis Palmer, trying to figure out why a websocket connection would randomly die, and he threw this out and it fit so perfectly that I had to capture it in a post so I can hereafter reference it: The longer it takes to find the bug the fewer characters […]
The Cannon Conjugate
Gather round children, and let Daddy tell you a story known in the world of computing as "the leftpad debacle". NPM is the computing equivalent of a gay bathhouse where programmers all gather to exchange diseases (the formal term in computer science is "bugchasing" if you want to look it up). Years ago, a programmer […]
Pitfalls to avoid as a programming noob
tl;dr "Where to I get started learning how to program?" There are 3 correct answers; more detail below: SICP: Structure and Interpretation of Computer Programs, by Abelson and Sussman. There is a video lecture series There is also a book, more or less identical to the lectures, which you can read for free online, either […]
Language Design: When Less is More
Yesterday I was invited to do an interview with the man behind Erlang Punch, Mathieu Kerjouan. Mathieu is a truly great programmer, an absolutely excellent interviewer, and it was a lot of fun to get to do something task-focused with him like this. He asked some pretty broad questions about Erlang as a language, as […]
Podcast: The Roman Rapist Mindset, measuring your goals and why Euclid’s parallel copy procedure breaks (answer: I did it incorrectly)
This started as one of my Euclid videos, and ended up being an interesting conversation over an entire range of topics. The Euclid parallel copy question got answered, at 01:37:34. The first two hours or so are about the Euclid series as a whole, explaining the idea and what my plans are with the series. […]