Senate preference explorer
This is a Windows/Mac application to explore Senate preferences. History:
- 2019-08-02, Version 1.21 for Mac.
- 2019-07-21, Version 1.2 (Windows). Maps by booth.
- 2019-07-07, Version 1.1 (Windows). Maps by division (i.e., not booth-level); calculations no longer automatically update on changing spinbox values; cross table cells should now be blank instead of zero when the cell value was excluded from the calculation.
- 2019-06-17, Version 1 (Windows). First release; tables and cross tables.
The AEC publishes every formal Senate vote, and since the voting system reforms of 2016, these provide an incredibly rich dataset of Australian public opinion. I've written a Windows/Mac OS X desktop program to explore these preferences. The downloads come in two parts:
- The explorer itself for Windows (32MB) or
for Mac OS X (18MB). Download the zip file and
extract to somewhere on your computer (on Mac this might happen automatically?). On Mac you should only
senate_pref_explorerprogram which you can run by right-clicking and choosing 'Open' (I am not validated by the Mac App store, so you may get a security warning). On Windows you run
senate_pref_explorer.exe. At this stage it will do nothing useful.
- The program reads preferences from SQLite databases. There is a separate file for each state and election; you can download these (some or all) from here. Each of these is zipped up; you will have to extract the SQLite file, and place it anywhere on your computer.
Then load the preferences into the program by clicking on the 'Load preferences...' button and start clicking around. Some calculations for the larger states may take a while, but in ordinary use during testing, it's rarely taken longer than 30 seconds to generate a table, and usually it gets calculated in under 10 seconds.
If you find a bug, let me know via Twitter or email email@example.com.
Source code is available on Github. I wrote it with Qt, which
presents itself as a cross-platform framework. I started writing it in Ubuntu; it took a day or two to
port it to Windows, with the most severe problem being in the capturing of variables for lambda functions;
it took a day or two to port it to Mac, with the most severe problem being the clang compiler's
std::sort function often comparing an element to itself, a case I hadn't anticipated.
Updated 2019-07-07 (version 1.1).
Updated 2019-07-21 (version 1.2).
Updated 2019-08-02 (version 1.21, Mac).