purchased the most essential item for running a home office today. A coffee machine. Getting better at making coffee with it too. The second cup was actually drinkable :)
Monthly Archives: November 2004
Debian Bug report logs – #274455 – Please add support for Evolution 2.0 in experimental
Debian Bug report logs – #274455 – Please add support for Evolution 2.0 in experimental
I am being game and doing a dist-upgrade. Evo2 – here I come!
oh shit am I scared.
tzwatch
great little terminal app. you set it up with timezones, then type ‘tzwatch’ – and it tells you the time!
Brilliant!
branched stable–0.3
no, it’s not released – but i made a branch that should be a relatively stable version of 0.3.
it has none of the election work (it’s not finished) – and in hindsight, maybe it should have gone into a seperate branch… but oh well.
been doing some security fixes as well… and updating the installed copy on digital as i do.
MultiSync – A Synchronization Tool
MultiSync – A Synchronization Tool
Looks like evolution 2 support is coming along. this is like the feature i need to switch to evo2 everywhere.
let’s hope the initial sync doesn’t just duplicate everything :)
New Car
oh, I also bought a new car on Saturday.
I pick it up on Thursday, and spent Monday morning and about an hour today doing the insurance dance of poverty (mention you’re under 25 and they pull out the remove-left-arm-and-leg device).
Change of Jobs – now MySQL AB
As of the 1st of December (my start date), I’ll be a Software Engineer at MySQL AB.
Exciting stuff.
Additional code into voting
you can now accept nominations and put down your spiel.
At some point I’m going to have to go through a bunch of the code and do a security audit. We should be fine with what we’re running now, but the head of 0.3 most likely isn’t. All that will be problematic is insertion of crap into the outputted HTML.
There’s also been a number of improvements recently in the forms infrastructure which the older parts of the UI could benefit from.
Not that speed is a current problem, but a bit of caching could really help some things along – esp with get_member_id, get_member and has_permission. We really don’t need to go back to the database multiple times in the same page display. Temporary variables can just be messy too – much better to keep the code clean.
Preferential Voting
Preferential Voting
Good small explanation.
making a nominee a candidate
added a column to election. you now have a “number of required nominations”.
in a normal election, this will be two. One person nominates, the other seconds.
When there are enough nominations, the person can accept it, and then an entry is created in election_candidate.
at least this will be the case… soon.
About to go and write the accept nomination page thingy.
Rusty’s latest thoughts on Software and Patent Protection
It’s important that people keep up to date with happennings in the fight against Software Patents.
It’s also important to know the other side of the story.
implementing the nominations stuff
previously, we had the idea of an election candidate:
create table election_candidate ( id serial unique not null, election_position_id int not null, approved boolean, member_id int not null, spiel text, CONSTRAINT "election_candidate_pkey" PRIMARY KEY (id), CONSTRAINT "election_candidate_election_position_id_fkey" FOREIGN KEY (org_id) references election_position(id) on update restrict, CONSTRAINT "election_candidate_member_id" FOREIGN KEY (member-id) references current_memberships(id) -- FIXME: need constraint that member is a member of the correct org. );
now, that’s all fine and good… but we need the whole nominations thing to work.
so what about something like this:
create table election_candidate_nomination ( when timestamp not null default now(), election_position_id int not null, from_member_id int not null, -- member doing the nominating for_member_id int not null, -- the member being nominated, reason text, CONSTRAINT "nomination_from_member_id_fkey" FOREIGN KEY (from_member_id) references members(id) on update restrict, CONSTRAINT "nomination_for_member_id_fkey" FOREIGN KEY (for_member_id) references members(id) on update restrict, CONSTRAINT "election_candidate_election_position_id_fkey" FOREIGN KEY (org_id) references election_position(id) on update restrict, );
this should be adequate to keep track of nominations. When enough nominations are gathered and the candidate accepts, then we can create an entry in election_candidate.
Fanatical Apathy: Concession Speech
A much better concession speech.
Fanatical Apathy: Concession Speech
nominations process
okay…. my previous ramblings on the details of the voting stuff (see MemberDB Voting code (planning… in some sense of the word)) didn’t really address how someone nominates someone else and how they accept/deny the nomination.
Member A nominates member B for position P.
Member C seconds the nomination for member B for position P.
(there doesn’t need to be a distinction between nominate and second – indeed we could just allow up to n nominations – or should it be a preference?)
Member B either accepts or refuses the nomination
If the nomination is refused by member B, that’s final (for that position).
If the nomination is accepted, we no longer need to allow further nominations of B for P.
When the nominations period is over and the show candidates period begins, we just display those nominated who have enough nominations (i.e. been seconded).
When it comes time to vote, those people are on the ballot.
Admins can, of course, dick with this as much as they want.
Yes, admins can screw with the results of the election – we are root, hear us roar.
At least it’s a bit more secure than some elections.
Voting code
I’ve been making inroads into the voting part of MemberDB.
You can create an election (with a number of positions), list elections, and view extra details about it.
It handles the priviliged versus non-priviliged user thing and I’m getting to work on the nominations part.
I’ve made a bunch of infrastructure changes too. A bunch of stuff in the forms code has made things easier – I have no idea how i’d do all of this without that as a base (okay, i’d probably go and write it).
I’m basically spending this week on the voting stuff, and being this far in atm seems to be on track. I guess i’ll see as time goes on.
last day at SGI today
Today is my last day working at SGI, and I’m home sick. have been all week. urgh.
So i’ll end up popping in next week to say goodbye to workmates that i’ve had this year.
Soon, I’ll be starting at my next job – so all excited for that!