In the News

The post Optimization Example Mandelbrot Part 1 briefly made the front page of Hacker News.

General Software Engineering

A plea for Lean Software by Nikolaus Wirth (1995). This is still very valid today.

Modern C++ Core Guidelines.

Numeric Stuff

What Every Computer Scientist Should Know About Floating-Point Arithmetic by David Goldberg (ACM Computing Surveys 23 issue 1, 1991) should be required reading for anyone dealing with floating point in a non-trivial way. An edited reprint that is more browser friendly is here.

Compute the magic number for division by a given divisor, so you can multiply and shift rather than divide. I’d welcome a link for something like this that doesn’t rely on the Wayback Machine.

Need to roll your own transcendental functions, or just wonder why the numbers used are different than the Taylor Series? lolremez is a handly impelemementation of the Remez Algorithm,

Some handy reference tables for how all the special floating point types interact with each other.


Software Optimization Resources by Agner Fog. I can’t recommend this highly enough as a resource for writing fast x86-64 code.

Intel Intrinsics Guite - there used to be a downloadable jar for offline use, but it doesn’t seem to exist any more.

AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and System Instructions

AMD64 Architecture Programmer’s Manual Volume 4: 128-Bit Media Instructions

Intel® 64 and IA-32 Architectures Software Developer Manuals - I don’t find this quite as readable as the AMD ones, but it is good to have both.


Arm developer intrinsics

I would love to find more high quality ARM developer resources to add here.


The Theory of Interstellar Trade by Paul Krugman 1978. Silly but fun.