pfh blogs


~ 1% inspiration, 99% perseveration ~

27 June 2014, 2:22 UTCReading "Practical Foundations of Mathematics"
I am currently reading "Practical Foundations of Mathematics" by Paul Taylor.

It's pretty heavy going, but with considerable aid from Wikipedia I'm about a quarter of the way through without being completely lost (I think). This is pretty good going for a mathematics text for me.

Taylor's attitude is interesting:

Instead of trying to find one mathematical world (set of axioms) in which all the mathematics we are interested in is provable, he asks what minimum set of machinery is required for various ideas. So, for example, various properties of categories can be understood in the context of partially ordered sets (posets), so these ideas are first introduced for posets.

He is considering mathematics as a branch of computer science. Again using the minimum tools required, where possible he gives "intuitionistic" or "constructive" proofs of the existence of mathematical objects. Such proofs can be translated into programs that produce an instance with the properties required, linking proof and computability.

He is also considering mathematics as a human activity. It's not enough to give a foundation of mathematics, he also wants to describe how mathematicians actually proceed and show that the somewhat informal language of mathematics as actually practised can be translated into something rigorous.


18 May 2014, 10:34 UTCCellular automaton tiles revisited
Previously I wrote about implementing 1D cellular automata as tile puzzles.

My previous solution needed four linker tiles. I've now found a way to get rid of these. Each tile simply transmits the state of the tile above it to its left and right neighbours.

These tiles implement Rule 30:

Seed tile:

Starting from this seed in the middle of a line of empty squares, the puzzle has a single, infinite solution. The column of tiles below the seed passes tests of randomness used to test pseudo-random number generators. Rule 30 is used as a random number generator in Mathematica. Rule 30 is a simple demonstration of Stephen Wolfram's observation that mathematics is random, and that "creating information" is trivial.

I previously speculated about making these tiles from plastic. Technology to do this is now readily available.

Source code:

Requires Python 2, "shapely" python library. Produces files for OpenSCAD in a directory "output". Usage:

python 30

You might also like to try other elementary cellular automata, such as Rule 110 which is a computer.


7 April 2014, 8:27 UTCSelfish sweep
A selective sweep occurs when some member(s) of a species gain a massive fitness advantage over the rest of the population. This might be a novel mutation, or some particularly audacious horizontal gene transfer, or a new environmental challenge that only a few members of the population can cope with.

Soon the gene that produced the gain in fitness is present in all surviving members of the species. However, this comes with a loss in genetic diversity. The species' pan-genome is reduced in size. The other genes in the fitter individual(s) might not have been particularly better than those in other individuals, but they get a free ride in the sweep.

Many species can reproduce asexually but also have some form of sex. That is, individuals can clone themselves, but they also have some way of mingling their genes with other members of the species. This might be by sex as practiced by eukaryotes, or some form of horizontal gene transfer as practiced by bacteria. This sex could potentially prevent this loss of genetic diversity. The gene producing the fitness advantage diffuses into the general population.

However, when a selective sweep is occurring, it seems to me there is a huge incentive for a gene to arise in the fitter individuals putting a stop to sexual reproduction or horizontal gene transfer. i.e. under this condition sex, which usually increases the odds of every gene's survival, stops being favourable.

It's a disaster for the species, but the unit of selection is the gene.

Obvious parallels to cultural exchanges, software compatability, etc etc.


3 April 2014, 2:40 UTCBagpipes kickstarter
Donald Lindsay in the UK has a kickstarter to develop 3D printable bagpipe chanter.

He also has various instrument designs for sale at low prices. The designs look nice. The use of sockets probably requires laser-sintered powder printing (Shapeways) rather than filament deposition printing for these designs.

Note: I have a penny-whistle design on thingiverse which can be printed on a filament based printer.


1 March 2014, 5:36 UTCTabor pipes on thingiverse

Thing number two hundered and sixty thousand, six hundred and thirty is tabor pipes. Pipe and tabor is the classic medieval and renaissance one man band, with the pipe played in one hand while the other hand bangs the "tabor" drum.

Tabor pipes


14 February 2014, 7:19 UTCDemakein: introducing --tweak-emission
New version (0.15) of my woodwind instrument design software Demakein.

This version adds a flag --tweak-emission, which if set to a positive value tries to maximize the loudness of each note, in addition to making it in tune. The value determines the balance between these two possibly conflicting objectives.

Also in this version you can see the volume of sound emitted for each note from the end of the instrument and each hole. As expected most emission is from the holes, except for notes with all or most holes closed. This shows that bells on woodwind instruments are almost entirely decorative, especially so if they have tuning holes below the finger holes.

I had hoped that --tweak-emission would let me create nicely shaped bells on shawms. This was a total failure (see previous paragraph). However I think it is useful in discouraging Demakein from making abrupt changes in bore diameter. These are an impedance mismatch, causing a reflection from that point in the tube and hence less sound escaping the instrument in the end. It also provides a useful further optimization criterion when an instrument is otherwise under-constrained -- able to be fully in tune with some degrees of freedom left over.


12 January 2014, 21:56 UTCAngry White Men

Angry White Men

This makes me angry, and helping end it is my personal mission. I shall be a white knight. The world is going kinda ok at the moment, but at the intersection of white, male, and citizen of a developed country, I'm feeling this "extraordinary atmosphere of sullen, baffled evil" (Bruce Sterling), I'm feeling the whole "Huxleying ourselves into the full Orwell" (Cory Doctorow, whinging that his computer is not quite up to his wishes). Never mind that the only thing holding up the pyramid is people like me, that it would collapse perfectly well on its own if I stopped insisting on being a hero, that if anything it's that there are things I should stop doing, stop hanging on to.

This is me, in my continent-sized gated community. This is me, able to be a queer-friendly feminist and still use my real name without fear on Google+ and reddit. This is me, with my interesting, important, worthwhile job. This is me, the elite ethnic minority with a terrified grip on power in a planet-sized Syria.


15 December 2013, 10:09 UTCBreathing
I have a habit of associating increased airflow through my mouth or nose with the sensation of air passing through these organs. There are two ways to increase this sensation:

1. Expand and contract the diaphragm muscle more energetically.

2. Constrict the throat or nasal cavity.

You will note that method 2 does not achieve increased airflow. Not an original observation, just something I need to work on.

Wind instrument players are instructed to keep an open throat. The reason often given is that the throat resonates with the instrument, improving the tone. I doubt this, I suspect instead a constricted throat is less expressive: changes in diaphragm tension result in less change in airflow, resulting an a less expressive performance. An open throat allows articulation with the diaphragm in addition to tonguing.

This is somewhat like opposing muscles locking a limb in position. It works, the limb is immobilized, but it's also less reactive, and it's burning energy to keep the muscles engaged. A martial artist will therefore try to maintain a relaxed, reactive state. However control of this state requires more practice and attention.


11 November 2013, 8:53 UTCReductionism meets Buddhism
Mindfulness techniques are what you get when you do science to Buddhism. Mindfulness strips away the moral and spiritual content of a religious practice, in the process neatly cutting a series of concepts in two. Not only is the functioning of the mind made clearer, the non-scientific remainder can also be assessed with greater clarity.

All religions seems to have some sort of meditative component, so this knife can be applied rather more widely than just to Buddhism.

ConceptAmoral componentMoral/spiritual component
Meditation Mindfulness. Metacognition. Prayer addressed to gods. Connection to higher level of reality. Development of qualities such as compassion.
Non-attachment Non-reacting awareness of sensations. Rendering the tendency for one thought to follow from another a conscious choice, ability to drop into a mental debug-mode. The rejection of worldly needs and love. Destruction of the self. Forgiveness, turning the other cheek.
Peace Management of the stress response. A quiet mind. Submission to God or Nature, blaming victims (possibly oneself) for misfortune.

So: You get the amoral column without having to take the moral column with it. You can find peace without rejecting justice. You can sharpen your mind with meditation while still being able to hate and kill. You can control the flow of your mind while still being able to love.

What wouldn't someone do to keep their hard found peace of mind, not knowing that it doesn't need to come with baggage attached, and doesn't that explain a lot?


9 November 2013, 1:36 UTCDemakein 0.12: more example scripts
I've just released Demakein version 0.12. This release includes some example scripts which will hopefully make it easier to get started creating your own instruments. These scripts are for instruments that are simple enough to make by hand, if you don't own a 3D printer.

You can browse the examples here.

Also, here I am at Eurisko Melbourne 2013 ( #eurisko13 ).


25 October 2013, 1:01 UTCWe haven't won, we just got enough power to censor them
28 July 2013, 5:45 UTCMental clock games
11 June 2013, 9:46 UTCHumanity has declined
1 June 2013, 1:40 UTCProgrammer nature
16 April 2013, 9:55 UTCAcetone vapour [detonation] chamber for ABS plastic smoothing
10 April 2013, 8:06 UTCDigital devices for the punk
5 March 2013, 1:39 UTCAlternative architecture: Giant roundhouse
15 February 2013, 13:15 UTCRockstar job market
13 February 2013, 8:04 UTCClostridium perfringens story
12 February 2013, 0:23 UTCThings that Professor Richard Dawkins will never say
23 November 2012, 3:20 UTCMixture-model of politics, with application to climate change
4 November 2012, 22:56 UTCPeer learning and gender discrimination
28 October 2012, 20:30 UTCDemakein 0.2 release: shawms
24 October 2012, 6:36 UTCGains and trade-ups
20 October 2012, 22:41 UTCThe technological woods
17 October 2012, 9:10 UTCCan't see the wood for the trees
2 October 2012, 11:59 UTCAnnouncing Demakein
23 September 2012, 0:13 UTCTalking to C++ for the incurably lazy
21 August 2012, 8:12 UTCMilling flutes
25 July 2012, 11:24 UTCPercarity and wealth inequality

All older entries


[atom feed]