hack

Heh, Emacs LISP function! Lemme give you a piece of advice!

Did you know that in some programming languages, you can give a function a piece of advice? The basic idea is this: if you are using an application or a library written by somebody else, what can you do if you need to modify the behavior of a particular function? You could modify its source code, if your version improves it for everybody. However, if you only want to customize it for your personal needs, a more lightweight solution might be desirable.
Read more

Let's make some spirals

Disk point picking is an elementary problem in geometry. To evenly distribute points on a disk, an intuitive idea is to sample pairs of numbers in polar coordinate (radius and angle) randomly from uniform distributions. After all, “uniformly” is just another word for “evenly”, isn’t it? But it doesn’t work. When the points are sampled this way, the density of the dots fall off linearly with the distance to the origin.
Read more

Stereoscopic photography on the cheap

I received a Nintendo 2DS as a gift. The 2DS is a downgraded version of the Nintendo 3DS handheld game console. To cut price (2DS retails at about $150 AUD), Nintendo removed the 3D display but interestingly it still has a pair of front facing cameras. The photos are saved into the .MPO format, and can be loaded and processed by many programs running on computers.
Read more

Mangarevan arithmetic

PNAS recently published a cognitive anthropology paper titled Mangarevan invention of binary steps for easier calculation. The paper describes an arithmetic system that had been used for hundreds of years by islanders living in Mangareva (a small island in French Polynesia) for the purpose of “counting a small group of highly valued objects such as turtles, fish, coconuts, octopuses, and breadfruits”. This system is not too different from the decimal system that we’re using today, except that a number in the Mangarevan language can contain a small segment of binary code, which employs four numerals to represent 10 multiplied by the first four powers of 2.
Read more