Andrew Conway

This is the home page for Andrew Conway. In the photo, I'm an older shaven version of the orange haired hominid on the left.


I have done some work in combinatorics (counting classes of objects, such as the number of different shapes you can make with ten 2*2 lego blocks). See Google Scholar for publications.


I have written some programs to verify computerized counting of some Australian STV elections (federal senate, NSW legislative council, NSW local government, WA (TBA)). This is available on github and with a web front end. Note that this verification relies on the input data being correct.

I have found errors in the computerised official counts of NSW (2012, 2016) ACT and Federal elections. Only one of these errors was likely to have caused the wrong person to be elected, but many could have. These errors have been reported to the appropriate electoral commission, and most of them have been fixed, either by changing their program to follow the legislation or by changing the legislation to almost match what the electoral commission was doing.

I have also written a variety of academic papers about issues with STV counting.

If you have questions about electronic voting, you are generally better off talking to an expert like Vanessa Teague than me.


I have written a science fiction novel Artie (html, epub, paper) about the conflict between two idealistic factions disagreeing over the safest use of artificial intelligence.

I have also written two alternate endings (one serious, one less so) to the excellent fanfiction Harry Potter and the methods of Rationality.

Other software

As well as the combinatorics and voting software, I have some other (mainly Scala and Rust) software on github.

I have contributed to RightToAsk writing a general purpose bulleting board in Rust.

Evolution simulation

Lots of programmers write toy programs that simulate predator prey interation on a virtual world. I have done the same, as an exercise to learn WebGL (using a graphics coprocessor to accelerate computations in a browser). The result runs a 1024 by 1024 cell world in a modern web browser with a 2013 or later desktop or laptop, or a 2015 or later high end phone. It uses the graphics coprocessor for the logic as well as rendering. One version uses continuous population densities in each cell, the other has individuals, up to one per cell. There are grass, herbivores and carnivores. The herbivores can change their armor through evolution, the carnivores can change their claws. Both have a metabolic cost. Parameters are adjustable in real time.

Other somewhat interesting things I have done

In 1995 I made what could arguably be considered the first device recognisable as a modern drone, a GPS nagivated autonomous helicopter as part of my second Ph.D. thesis. It was demonstrated on the television series Scientific American Frontiers, Series 6 Episode 3, Flying High (about 48:20 timestamp)

In 1998 I founded and ran Silicon Genetics, a biotech company that made specialized statistical software for gene expression experiments. Silicon Genetics was acquired by Agilent in 2004.


I have recently been working on tools to assemble and view structural DNA variations, primarily aimed at human DNA but back in 2020 applied it to covid-19 although the data shown there are very old (dating from before using Greek letters to distinguish variants).

Contact me

To contact me, send email to andrewFromYourName at, where of course YourName is replaced by your actual name (antispam system).