LCA2010 – Day 4

I ended up staying up quite late on Wednesday night so I was a little zonked out on thursday morning.

Keynote – Glyn Moody

  • Interviewed people for “rebel code” , found free software people “very nice” even compared to other people in computer industry
  • arXiv.org setup week before Linux kernel first released (Aug 1991)
  • Overview of public Library of science
  • Human Gnome project – DNA inherently digital
  • Bermuda Principles – finished annotated sequences submitted to public database
  • Jim Kent published and got full human gnome into public domain a short time before Celera finished their work and could have patented everything.
  • open data – data is not published just results – example of recent climate data being released, not a big problem if it had already been in public.
  • open notebook , reqular updates on progress
  • http://en.wikipedia.org/wiki/Open_Notebook_Science
  • History of sharing art – Project Gutenbery 1971  .10 books 1991 , 1000 in 1997.
  • Various free licenses slightly incompatible , hard to convert between, took several goes to get licences correct
  • wikipedia – easy not programmer example of sharing tht people can understand – “open source is wikipedia for code”
  • Open government is more “Shared Source Government” rather than “Open Source Government”
  • Global economic crisis – tragedy of the commons
  • At least the Financial crisis has some winners
  • Very anti financial system, suggest more  “open source” options and commons
  • “if you share stuff you are destrying property, you are taking jobs away from the poor people” – How the debate is being framed

It was noted by one person that this year’s keynotes are more “Freedom” and “High tech”.

Lindsay Holmwood – Flapjack and Monitoring

  • Check – unit test – good bad ugly
  • Monitoring system – monitors for failing checks
  • 3 questions for monitoring systems – next check? , was check okay?, who do we notify? . Fetch , test , notify
  • fetch – lookup
  • test – execute , verify
  • notify – decide , callout
  • traditionally done in single process
  • but it’s an embarrassingly parallel problem
  • parts can be split. fetch+test fetch+notify – pass id/command between
  • precompile checks – so fetch is less expensive
  • transport between processes is the scheduler
  • no data collection when testing (graph seperately)
  • scheduler – workqueue – filled by populator, assigns stuff to notifier and workers
  • Lots of workers can be created (to do test)
  • flapjack – in ruby , talks to nagios plugin format
  • beanstalk – ansyncrnise workqueue service – ubuntu/debian packages
  • beanstalk – producer  puts jobs on beanstalk , consumer takes jobs off
  • uses named tubes (queues) , multiple tubes per instance
  • flapjack-worker – started up by flapjack-worker-manager starts multiple copies on machine. various control commands
  • worker is simple so linear scaling, spread across multiple machines required
  • flapjck-notifier – has manager to start it.
  • notifier has recipients.conf file with list of people to notify
  • notifier.conf – config for various notifiers (MAIL, SMS)
  • APIs – notifiers, filters, systems
  • notifier API – who , when and how sort of stuff.
  • “how many here use puppet – about a dozen – How many use Chef? – none “thanks a shame” “no it’s not”
  • persistence API – store stuff , mysql, couchdb whatever, standard way to store data.
  • filter API – parent checks hierarchy (so don’t check ports if host down)
  • flapjack-admin – pending – nodes , check templates , checks (check template + node ) , batches (group of checks)
  • 3 types of checks
  • Gaugaes – stuff within range – collectd ( point flapjack at collected output )
  • Behavoural tests – cucumber-nagios
  • Trending – reconoiter – growing area
  • collectd – gets stats from anything – nagios bridge – collectd-nagios queries collectd data
  • collectd client – gathers data from node and sends to collectd server
  • collectd forwarding server – agregates, filters and forwards
  • falapjack – crrently gems, soon to be real packages
  • http://flapjack-project.com

Bob Edward – Yubikey authentication in a mid-sized organisation

  • Reusable passwords are dead , hard to remeber, something you know which can be shared and discovered, captured, guessed
  • Alternative – One time Passwords – doesn’t matter if captured.
  • examples – RSA keys, SMS based systems, Yubikey, 2 factor authentication
  • Created by Yubico in sweden, open-source
  • Looks like a USB keyboard to a computer, generates a 44 character OTP each time button is pressed. No batteries, 2st 23 characters fixed for each key
  • $12 each in volumn – $40 as one-off
  • Based on secret AES 128-bit key
  • Yubicoships yubikeys with pre-generated IDs and AES keys. Offer publicauthentication, they know secret 128-bit key, need to trust them
  • secret-id+sess+timestamp+session+rand+CRC  string created by key , then encrypted and public ID prepended.
  • Server decrypts , checks checksums and looks to make sure secret-id matches and session and timestamps are incrimented from previous values.
  • Unless you trust and always want to use Yubicom’s servers you should reprogram you keys with your own keys and IDs. Can’t then be used against Yubicom’s server.
  • weaknesses – requires computer with usb port that accepts usb keyboard – some bugs with 1st generation keys – unused generated keys remian live until the next valid key is used
  • You can run your own server fairly easily – ykaserver – various interfaces, postgress database for storage – can also call out to PAM for two-factor authentication
  • softykey – software Yubikey – can use to generate 1-time pad for stuff without usb keyboard interfaces
  • Tested with ssh, VPNs , web logins – mostly use PAM or LDAP method
  • See Linux Journal and yubico.com

vimperator – automatic launch prog for netbooks

Jan Schmidt – Towards GStreamer 1.0

  • History of dev, faster bits during hackfests, when switched to git etc
  • Overview of last year, switched to git, slowdown when people busyswitched to binary registry
  • Support for various DVD playback  functions, special subtitles etc.
  • I’m not really in this area so I was just listening to get an idea where things are going. A bit too much detail for me at times.

Adam Jackson – The rebirth of Xinerama

  • Once again this was a bit over my head. It does look like the X guys spend a lot of time fighting assumptions built into the protocol and code 10 years ago however.

Stewart Smith et al – Building a Database kernel with Lego Like parts (Drizzle)

  • What would you change about Mysql – Modular architecture
  • Some crazy legacysuff in the Mysql code – good oppertunity to clean
  • move alot of code out of core, especially option parts – understandable and to reduce load – don’t load if you don’t need
  • more code coverage with tests
  • plugin interfaces – protocols, replication , logging, etc
  • modular replication system
  • general refactoring of storage engines
  • “If part of API sucks then fix API rather than work around it”
  • New this week – rot13() powerful encryption
  • Authentication plugins – auth_pam , auth_http
  • Various Logging plugins – logging_query , logging_syslog
  • Drizzle Community – All contributors equally – All project information public – No contributor license agreeements – Release early and often (~2 weeks ) – 100+ contributors , 500+ on mailing list
  • Milestone releases
  • When production release? – waiting to solidfy compatability – Sounds like a few months. – Reliable but still in flux
  • Pacakages to be pushed out to dists once things stable

Afterwards I had some dinner and went to the Professional Deligates networking session.

Share

LCA2010 – Day 3

Wednesday is the first day of Linux.conf.au proper. I thought that today I’d just keep my notes in a blog post to prevent doubling up.

The keynote was Benjamin Mako Hill talked about various things the most interesting bit was “antifeatures”. Things like DRM, crippling of products etc. The one of these I most hate right now is they way that cheap netbooks have fairly low specs (small resolutions, low RAM, slow CPUs ) partially because they have to keep the spec below a certain value in order to qualify for the really cheap Windows license.

The dreamwidth talk was quiet interesting (although the speakers pre-rehearsed banter between the speakers didn’t really work). Lots of practical examples , war stories and good sound advice.

Selena Deckelmann talked about choosing which open source database your should choose. The quick answer is “what problem are your trying to solve?”. She did a survey of the 50-odd databases out there and got 25 replies. Also did her own research and comparisons. Classified DBs into several categories (which I won’t list) such as

  • General Model – Key-Value, OLTP.
  • Distribution model (replication, partitioning, sharing).
  • Memory vs disk (eg keegin g everything in memory only like memcached).
  • HA options, Node failover.
  • Code dev model – Core +modules , Monolithic , Infrastructure
  • Community dev model – Dictator, Feature driven, Small group, A mix

Results at http://ossdbsurvey.org

  • Databases implement each others protocols
  • Need verification that protocols correctly implimented
  • Need tools/test to check things like replication working
  • More connections between projects/people (eg java seperate)

Ted Ts’o – Production-Ready filesystems

  • Hard to make robust. Many different workloads, lots of state, very parallel
  • Hard to balance getting it out with getting it stable enough to be fairly safe to use
  • 75-100 persons-years for filesystem to be production ready.
  • eg zfs around a dozen people , start 2001, announced 2005, shipped 2006, people confident with it around 2008-2009
  • Ext4 renamed from ext4dev at end 2008
  • Ext4 Shipping is some community distributions, soon in some enterprise distributions, widespread adoption 12+ months later
  • Lots of bugfixes still in ext4, most not real-world and picked up by auto-tools or careful checks in weird conditions.
  • Ted: “my other prefered term for Dbench is ‘random number generator’ “
  • Paths like online resize, online defrag that are not regularly tested by users or testers so source of many bugs.
  • Many bugs were in the recently subsystems and features
  • Making General purpose file system takes longer and a lot more effort than you might expect. Labour of love, hard to justify from business perspective.
  • Solid state drives with “flash translation layer” in place are fairly much the same as spinning disks. Extra optimizations for disks don’t help but they don’t hurt

Matthew Garrett on the Linux community

  • Started by listing things he’s not talked about
  • The Linux community is “Like the Koreas”
  • To be a member of the Linux community “you just have to care, just have to turn”
  • As community we are very hostile, it’s seen okay to flame and it is being rewarded still
  • Should we stop just cause it’s a nice thing to do or because it’ll stop scaring people off?
  • Ubuntu code of conduct has mean’t that users are consider part of the community more than in other distributions
  • Code of Conduct must be enforced or it’s useless
  • “We value code above all else… not a good thing” . We need people to feel that by using software they are part of something
  • Communty entirely based on technical excellence or encompasing everybody who users, cares, contributes to projects
  • Idea for positive examples Wiki with pointers to COPs and best practice examples
  • Not gained behavior standards normally associated with grown communities

Sage Weil – ceph distributed file system

  • How different
  • scaleable to 1000s , grow from a few
  • reliable, HA, replicated data, fast recovery
  • snapshots, quota-like accounting
  • Motivation – avoid bottlenecks and symetrical shared disks
  • avoid manual workload partition, p3p-like protocols, intell storage agents
  • POSIX file system , scaleable metadata server
  • metadata (MDS) servers/clusters and object store boxes seperate
  • CRUSH hash function used to distrubtute objects across devices, works as devices are added. Spread them out explicitly across infrastructure if required
  • fast (no lookups), relieable, stable
  • celp object storage daemon on each node
  • talks to peers on other node: rep data, detect failures, migrate data
  • hashing fuction means nodes don’t have to negotiate with each other, CRUSH says where data is going.
  • monitor storage nodes, moves data around, make sure it’s in the right places, uptodate. fixes if required.
  • raw storage API if you don’t need full filesystem fun (dirs etc)
  • proxy that emulates s3 REST interface
  • metadata cluster , uses object store for all long term storage, needs memory and fast network for performance.
  • metadata streamed to journal. large journal (100s MB) flushed now and then
  • snapshotting on per-directory basisi via simple mkdir
  • snapshot leverages btrfs copy-on-write storage layer
  • file systems client near-posix
  • kernel client, FUSE, Hadoop clients
  • stable but not production ready
  • client should be in mainline kernel soon
  • aim to work in multiple datacentre, across unrelieble links
  • http://ceph.newdream.net/

Paul Fenwick – Worlds Worst Inventions

Not really a technical talk. More a few stories about funny inventions. Quiet amusing but I’m not sure it fits in with the rest of the conference.

Share

LCA2010 – Day 1

First real day of Linux.conf.au is always full on anticipation. I woke up a little early and nibbled a small breakfast as I walked from ustay to the venue. After the crap weather on the weekend things were stating to look a bit better.

The signup are at the venue was fairly quite with people being processed quickly and many having been signed up for the weekend.

First up was the Welcome talk which had a few hitches. Due to illness it was being given by and understudy who was a little unpracticed with the delivery and had a problem when the overhead screen went blank for 5 minutes due to technical problems (not sure if it was the screen or the laptop’s fault). Highlights were a 42-below ad for Wellington and everyby singing Happy Birthday to Rusty.

I spent the first couple of sessions at the Haechsen/LinuxChix Miniconf since most of the topics were interesting and for various reasons (mumble mumble) talk times between miniconfs were not sync’d so it was hard to move between them.

It looks like this year the video situation is fairly good. All Miniconfs and main sessions are both being streamed live (although in wma format which caused some comment ) and being record for later download. Hopefully It’ll all work out.

Talks I attended:

  • Version control for mere mortals by Emma Jane Hogbin was a good intro to VCS and practices including a bit aimed at sysadmins and content maintainers rather than just coders. She obviously likes Bazaar a lot more than git. Goods intro and once again I feel guilty about not using it more.
  • Happy Hackers == Happy Code by Sara Falamaki was an overview of what makes programmers happy. Mostly concentrating on tools but with some other bits and pieces mentioned. Great, especially the bit where Sara started throwing (often wildly) lollies to members of the audience who made good suggestions.
  • Through the Looking Glass by Elizabeth Garbee gave here perspective on using open source software and the high-school level. Interesting stuff on tools, and how other teens viewed open source and programming and the scary story about how her school had a rule that any student how bought a computer to school running Linux/Unix would be expelled!
  • Creating Beautiful Documentation from Lana Brindley covered some high level bits of the process redhat uses to create documentation as well as a bit of an overview of what technical writers do and why their jobs rock 🙂
  • Getting you feet wet for Angela Byron gave ways and advice for getting involved with Open source projects ( including the old “woman’s work” (my, not her term)) of documentation etc. Pretty good.
  • Code of our own from Liz Henry was about the first feminist orientation talk of the day. Lots of stories and advice for women in open source as well as a few bits where she gave your low opinion of how well some ideas have worked in practice.

Overall fairly interesting sessions. I noticed that for most of the 2 session the majority of people in the room were male and quite a few of the audience questions/comments were from them. This didn’t really cause a problem for most talks which were on general topics but I noticed the “male perspective” was less useful/welcome for Liz Henry’s talk.

For Lunch I wandered around a little bit an eventually found a place called “The coffee club” where I had a soy milkshake and a pesto bruschetta. Very nice.

For the last session I went to “The business of Open Source” Miniconf and then “Libra Graphics”

  • The 100 mile Client Roster from Emma Jane Hogbin was an interesting overview of the way her business and business model has evolved and where she thinks the next step is. Good talk and delivery although it’s a bit outside my area for me to give a good review of the content.
  • Building a service business using open source software by Cameron Beattie didn’t really appear to me. The talk was a bit flat and delivery lacked much spark.
  • Cheap Gimmicks to Make your designs ‘New’ by Andy Fitzsimon from suffered a bit from technical problems with delivery but looked like there was a good talk in there somewhere that just required a bit more prep.
  • Dynamic PDF reports via XSL and Inkscape by Peter Lieverdink was cool but a little over my head.
  • Inkscape: My Cheerleading Adventures by Donna Benjamin was a little sparse even for a 5 minutes talk

After the end of the day I went along to a Wikipedia Meetup at the Southern Cross Hotel. The Meetup was fairly small ( just 3 other people) but interesting people and several hours of discussion. Some talk about a NZ Wikimedia Chapter and also helping with the Wikimedia stand at the LCA open day.

Last up I grabbed a coffee and cake at Midnight Espresso.

Overall not a bad day, tomorrow will by Sysadmin Miniconf all day wih the Speakers Dinner in the evening.

Share

Review: The Blue Bird vegetarian café

I’m not sure why I suddenly seem to be publishing a food blog but I have a few tech articles up my sleeve which should get posted in the near future. But for now I have another review of one of my regular food haunts.

The Bluebird is a vegetarian and vegan cafe is locate in the Valley Road shops on Dominion road, across the road from the foodtown supermarket. It is own and run by the
New Zealand Sri Chinmoy Centre which is a group/church/whatever of followers of spiritual teacher Sri Chinmoy .

The shop is on two levels, downstairs there is seating for around 20 and a counter at the back where you can order. Upstairs seating is about the same but includes a couple of couches and low tables. Normally you order and pay at the counter and the food is brought out.

The menu (also on the website) is completely vegetarian with about half of items being vegan. The standard item is a bowl which has a base of Baked potato, mashed potato, baked kumara or brown rice with one of about 8 toppings. This comes in 3 sizes ( $9, $12 and $15) and I’ve found that the medium size is more than enough for a main meal.

Mediaum size, beans, rice with cheese on top. $12
Medium size, mexican beans on rice with cheese on top. $12

The sample pictured is a medium size ( $12) meal. The base is rice, the topping is Mexican beans with sauce and there is cheese on top. The meal also comes with some bread.

A large meal pretty much fills the bowl to the top.

Drinks include water (free) and various phoenix soft drinks , juices and some  smoothies (although I keep forgetting to check if they do Soy smoothies).

Other mains includes a rotating array of salads, hot-pots, Lasagna, pies etc. These may or may not be available each day. Apart from the bowls which are always available you just have to see what is at the counter.

Sweets include the very nice apple crumble (which comes in a bowl) along with a couple of cakes and a small selection of slices at normal cafe prices.

There is the usual range of coffees (50cent Soy-milk surcharge) plus some herbal teas.

Frittata
Frittata

The general ambiance of the place is very quiet, music is quiet background (although a video on low volume showing Sri Chinmoy performing weight-lifting sometimes plays upstairs). The female staff are usually dressed in Saris and service is usually efficient and polite.

The opening hours are a little mixed. Mon/Tue: 10 am – 8 pm , Wed: 10 am – 3 pm, Thu/Fri: 10 am – 9 pm , Sat: 10 am – 2.30 pm , Sun: Closed. Plus they sometimes close for a week or two while they all go off to do whatever stuff Sri Chinmoy members do.

I’ve been going there for around 6 months and I quite like it (going around weekly these days). It seems to be quite popular (a little crowded on Friday nights at least) but the food is nice and quite good value for money (although it isn’t in the budget category) and I really like a nice quite place where I can just read my book over a meal.

Share

Review: Sal’s Pizza, Commerce St, Auckland

Another person at work had a flyer for this place so I thought I’d try lunch there. The full name is “Sal’s Authentic New York Pizza”. They appear to have only recently opened (ignore the “since 1975” bit).

As you can see from their website they are just a little counter and oven on a central Auckland street. They have a couple of tables out the front on the footpath you can stand at to eat but I just took my food back to the office. When I was there (1pm on a weekday) there was one guy most making the pizza and another guy (from New York, although I didn’t catch if he had previous pizza experience) mostly serving.

I ordered a slice of Cheese Pizza ( $5 ) and 3 Garlic Knots ( $2 for the 3 ) which got put in the oven for a couple of minutes to re-warm them.

Pizza and Garlic Knows from Sal's Pizza
Pizza and Garlic Knots from Sal's Pizza

The pizza and knots were a good size and pretty good in general quality. Certainly filled me up for lunch. Service was friendly and fairly fast.

The only bad note was the guy serving didn’t wash his hands between fixing a rubbish bin outside and handling food a minute or two later. That’s the sort of thing that makes some people freak out and he needs to make sure he washes his hands next time.

However I’ll probably visit again, although there are a couple of other good Auckland CBD pizza options.

Update

I receive and email from Nick Turner (Director of Sal’s Pizza) in response to the above post. The email is fairly long so I won’t reproduce it here but he has explained the linage behind the “since 1975” tagline which I am satisfied with and with respect to the less than perfect food handling I saw he says:

Because we are always striving for perfection with our product, service and
cleanliness, obviously we are unhappy about the handling of the rubbish bin
before food. We will continue to ensure this does not happen again, and
continue to maintain our Grade A health certificate.

As I said originally I enjoyed the pizza at Sal’s and intend to go back there.

Share

Review: Cafe Tasca, Dominion Rd

I thought I’d do a little review of one of the places I go to for weekend brunch occasionally.

Cafe Taska (see website) have 3 branches around the Auckland and while I work close to their Vulcan Lane branch their Dominion Rd place is just a few minutes away for the odd weekend splash-out.

Coming from town the cafe is located a block of so past the supermarket on the left hand side. The interior has lots of wood and is fairly dark although they do have a outdoor area out which I’ve not actually used. The daytime menu is the usual suspects plus a few Spanish influenced dishes.

The dish is especially like is the Piperada which is described as “Basque style eggs scrambled with red pepper and tomato sofrito, served in a terracotta cazuela with crusty bread” :

Tasca_Piperada

The whole thing is a very tomato-y mix which I find really delicious and is pretty big for the $15.50 is costs.

I also had a coffee and slice which was about normal although their sweet selection is a little more limited than many other places. They sort of try a few things like Baklava and Turkish Delight to be different. The Linzertorte (hazelnut & raspberry Tart) is interesting but not to my taste.

General atmosphere was good, music with mostly instrumental and in the background (the have live music for dinner), service was okay, reading material was a little limited with just one copy of today’s Herald and a couple of magazines.

The big surprise I have about this place is how empty it is for lunch ( at least out the front). I casually dropped by for dinner a couple of weeks ago and I couldn’t get a table since it was packed so people definitely know about the place but for some reason don’t see it as a daytime destination.

Overall I quite liked it: 7/10

Cafe Tasca

338 Dominion Rd, Auckland

Menu and photos on website: http://www.tasca.co.nz/

Share

Hole in nbr.co.nz paywall

Update: NBR have fixed the hole

It looks like the National business review has a hole in their paywall. I don’t know if this is an intentional hole but as at the time I’m posting this it enables people to read articles that are “subscriber only content”.

A sample restricted article by Chris Keall “Did Paul Reynolds collect millions for hitting squishy targets?”  If I browse to it via http://www.nbr.co.nz/article/did-paul-reynolds-collect-millions-hitting-squishy-targets-109070 I get an error message:

Blocked version of article

However if I take the article number ( 109070 )  and access it via the URL http://www.nbr.co.nz/print/109070 I can see the whole article content:

Visible version of atcile

I guess somebody made a little mistake with the way the setup things or possibly this is designed to allow search engines like google to still find and index NBR’s content.

Share

Tech Updates, looking to the future

A few things I’ve been looking at or intending to look at over the next few months.

  • I’ve bought a new computer a couple of weeks ago for home. The computer is intended to replace the house server. The main functions will be as a file server and host for virtual machines. The big changes is that I’ll be switching from Xen to KVM as virtualisation technology.
  • KVM + PXE + Kickstart + Ubuntu  – I really want to build my virtual machines automatically and at the same time to be using a more general machine building method . This page on the Ubuntu site looks like it is a good start and I’ll blog a bit when I get it all done.
  • I need to do some work on Mondo Rescue , I have a bug I reported that is supposed to be fixed and I have to test.
  • GlusterFS is a distributed network file system that looks really cool, I’m intending to play with this a bit.
  • Once again we’ve applied to do a Sysadmin Miniconf at the 2010 Linux.conf.au conference. Once again we hope to have a really good miniconf. However no less that 32 miniconfs have applied for just 12 slots so not sure if we’ll get in. We were really popular last year but personally I’ve no idea what our chances are this year. Bit down about the thought of not getting but I guess whatever happens will happen.
  • I keep getting good ideas for websites and products. Not programming and having poor time control means most of these ideas are probably not going anywhere. Maybe I’ll try a couple of them though. Also got some further ideas for technologies to play with but want to get the ones above sorted first.
Share

Watching processes with monit

I’ve been having a small problem on one of my server with the http daemon dying every week or two. It’s not often enough to be a huge problem or invest a lot of time in by enough of a nuisance to require a fix. So what I ended up doing was installing monit to look after things.

monit is a simple daemon that checks on server resources ( mainly services and daemons but also disk space and load ) every few minutes and sends and alert and/or restarts the service if there is a problems. So after installing the package ( apt-get install monit ) I just created a series of rules like:

check process exim4 with pidfile /var/run/exim4/exim.pid
   start program = "/etc/init.d/exim4 start"
   stop program = "/etc/init.d/exim4 stop"
   if failed host 127.0.0.1 port 25 protocol smtp then alert
   if 5 restarts within 5 cycles then timeout

check process popa3d with pidfile /var/run/popa3d.pid
   start program  "/etc/init.d/popa3d start"
   stop program  "/etc/init.d/popa3d stop"
   if failed port 110 protocol pop then restart
   if 5 restarts within 5 cycles then timeout

for the main processes on the machine. Sample rules are available in the config file and documentation and google is fairly safe as long as you make sure you don’t copy a 10th generation rule of a “Ruby on Rails” site ( ROR components apparently require frequent restarts). All up the whole install and configuration took me around half an hour and I’m now monitoring:

# monit summary

System 'crimson.usenet.net.nz'      running
Process 'lighttpd'                  running
Process 'sshd'                      running
Process 'named'                     running
Process 'exim4'                     running
Process 'popa3d'                    running
Process 'mysql'                     running
Process 'mailman'                   running
Device 'rootfs'                     accessible
Process 'mailman'                   running
Share

Hacking InternetNZ Council Vote

Internetnz is the main New Zealand Internet lobby and policy organisation. More or less they take money from .nz fees and redirect it to benefit the New Zealand Internet and Internet users.

In a few days there is an election for it’s president and council. Following a post by Andy Linton to the NZNOG mailing list about the “need for a strong voice from the technical community” several technical people have put their name forward for council.

Following a discussion on the Internetnz mailing list I realised that many people are unsure of the best way to rank a list of candidates to ensure the “best” result. Looking around I was unable to find a good reference for this online so I thought I’d write a quick post here. I should give the disclaimer that I’m not an expert in this are so possibly I’ve made an error. I’m also only addressing the Council Vote note the President and Vice-President votes.

Voting System

The voting system for Internetnz is outlined here but what it simply means for the voter is that they rank the candidates from 1st to last. For each council seat the lowest polling candidates are eliminated and their votes allocated to the next preference until one has an absolute majority. For the next council seat it happens again except the ballots that had the previous round winner as first preference are eliminated from any further consideration.

You can see what happened last year here . There were 9 candidates, 6 seats and 90 voters. Rounds 1 through 7 show people being eliminated and their votes transferred around until Jamie Baddeley is elected. On Round 9 it starts again but 16 votes have been removed from the pool, these are the people who voted for Jamie as their first preference.

In rounds 9 though 15 the eliminations continue until Michael Wallmannsberger is elected. Then his 16 first preference votes are removed and it starts again until all 6 candidates are elected. The 2006 result is also online .

The interesting thing to notice is that only ballots that put an elected candidate as the 1st preference are eliminated in the first round.  So while the 16 people who voted for Jamie Baddeley helped elect him in the first round they had no influence in later rounds. On the other hand the 22 people who put Neal James, Carl Penwarden, Sam Sargent and Muchael Payne as their first preference got to participate in all 6 rounds of the election.

So what is the trick?

So out of the candidates I would characterise the following people as technical: Lenz Gschwendtner, Glen Eustace, Stewart Fleming, Andrew McMillan, Dudley Harris, Gerard Creamer, Nathan Torkington and Hamish MacEwan. This is eleven out of the 17 candidates running for the four  council seats.

Now assuming that there is a some level of support for technical candidates the worst case would be that all “technical” voters put say Nathan Torkington (to pick a well known name) as first preference. Nathan is elected as the first candidate and then the technical voters have no further influence on the other 3 councillors.

Instead we want to make sure that techie votes elect as many candidates as possible.

So what should I do?

Note: I am using the term “round” below to refer to each council seat election ( 6 in 2008, 4 in 2009 )

If you have a group of voters and a ground of candidates you have two main objectives:

  1. Avoid giving a first preference to a candidate that will be elected in the early rounds so your ballot will participate in as many rounds as possible.
  2. Give enough first preferences to your candidate to ensure they are not eliminated early in each round

The first idea is easy. Don’t give you first preference to a technical candidate. However this is where the second objective comes in, you need to give them enough first preference votes so that they are not eliminated early in every round.

I think the following should work:

  1. Rank all the candidates in you order of preference
  2. Decide how far down the list you are “happy” with the candidates (ie the 11 techies listed above)
  3. Randomly (yes, really randomly) pick one of the acceptable people and put them as your first preference.

The idea now is that if say we have 40 technical people voting then each of the 11 technical candidates will end up with at least 3 or 4 first preference votes. As the lowest ranked of these is eliminated then preferences will flow to the other technical candidates (in order of most popular) . If a technical candidate is elected only around 1/10 of the technical ballots will be eliminated from later rounds so there is still a good chance of electing other candidates.

What could go wrong?

It’s possible than the random allocation of first preferences will result in a popular candidate ( eg Nathan Torkington ) randomly getting a smaller number of first preferences and being eliminated early in every round. I think this is a small risk since

  1. it is likely that popular candidates will get first preferences from other voters
  2. popular candidates will have a higher random chance of people put as first preference since they will be in the “acceptable” list of more techie voters
  3. Even if this does happen others in the slate will still get in.

Feel free to let me know any questions ( or point out horrible errors I’ve made)

Share