ACA Consumer Information: SPAM

ACA Consumer Information: SPAM

I’m very tempted to add a procmail rule that forwards all spam to the reporting address… Although i pity the poor people on the other end of that.

Although.. getting rid of spam and prosecuting (executing even – i really don’t mind) spammers is a REALLY GOOD use of my tax dollars!

PEAR :: Bug #2417 :: [PATCH] Incorrect processing of ‘permission denied’ style error messages

PEAR :: Bug #2417 :: [PATCH] Incorrect processing of ‘permission denied’ style error messages

Got the bugger – and supplied a patch that fixes it!

This should spell an end to those annoying (and really unhelpful) “DB Error: unknown error” messages from PEAR::DB when the user doesn’t have enough permissions.

Been hitting this a bit with MemberDB.

I’d love PEAR::DB to return back the native error string as well… but it’s kinda hidden.

Maybe I should be changing the getMessage() methods to return the PEAR message *and* the extra debug stuff? hrrmmm…

oh well, for later

Would the real Stewart Smith please stand up

No, I don’t work for Sun

http://blogs.sun.com/roller/page/cleepdar

blog spam hitting wordpress

*sigh*… now blog spam is hitting wordpress blogs. At least there’s a “Moderate all posts” option – unlike the crud that is MovableType. Well… MovableType before it went *really* non-free.

GNOME version numbering

Jeff’s blog about it

Shouldn’t it just naturally progress to GNOME 2.A?

parallelised init

well… i don’t know if i’ve blogged this – but the other day i decided to see what would happen if all my startup items were done in parallel. Being the lazy guy that I am, i decided to just edit the rc script and add a & to the startup function.

Believe it or not, this actually worked!

Yes… things started up in parallel. Granted, because of the way debian prints things out it looked ugly… but everything worked. Now, to find some time to play with it some more and get GDM up first so we can log in while everything else loads.

It’s part of my “i really don’t need postgresql, squid, rsync, smartmontools, ssh, apache and cups loaded before i start the login process.”

Things should be dynamic and cope with services, networks etc starting/stopping/restarting.

Besides… you can always have a “login requirements” list or something if you really do think that mysqld should be running before you log in.

Augie March Gig

last night – Augie March. They sooooo rock. Of course, since it’s an augie march gig – everything broke. Took about 10 mins for them to get glenn’s guitar plugged in properly – and naturally somebody with the knobs couldn’t get anything done without a lot of nasty feedback. But it all worked out in the end.

Brundism is awesome live.

Lots of new stuff last night – quite like it. esp a few of the songs.

they played “moth ball” and altough glenn made no promises he’d actually remember it – did really well and it sounded devine. with the soft sweetness at the start coming into a wonderful loud and rocky bit at the end.

good night it was.

Multisync, bluetooth, Sony Ericsson k700i

The magic is “Channel 8”

syncing now! yay :)

Ubuntu Linux

Ubuntu Linux – Welcome to Ubuntu Linux

Yes… the super secret debian project is out of the bag!

Installing on my crash-n-burn machine now…

so far:
– text install will be replaced with GUI in next release (good thing)
– ext3 is default filesystem (eww).
– install taking an okay amount of time
– nice splash screen.

X.org 6.8.0 with composite

built, installed – and guess what? It *works*!

well… for some value of works.

missing a bunch of extra libs i need for some apps (e.g. emacs) and any translucent windows make it go *slllooooowwww*. but drop shadows work okay.

maybe in a release or so it’ll be reasonable to use full time. although what’s really needed is accelleration for my graphics hardware (Radeon 9600).

had to raise colin one up after his sleep working under Fedora :)

http://www.bytebot.net/blog/archives/2004/09/12/911-fedora-ppc-tree-sleep-works-with-pmud

x.org

trying to get CVS to build… didn’t work :(

i mean, maybe i really should just get a working branch… but hey, that takes away the fun!

evil php bug

http://pear.php.net/bugs/bug.php?id=42

Evil.

Cool Simpson’s quote

“There is no emoticon to express what i’m feeling”

4:30am

That’s when I’m planning to be up tomorrow morning.

Got to catch a 6:25 flight to a job interview. Back in the middle of the day – and then to work, and then out to LUV.

Going to give a LA update. Should be good.

More Linux Australia website stuff

well, we’ve gotten everything into arch, and Pia and I have both committed to the central archive on digital fine. We’re getting places! this is *good*!

I think we’re nearly ready to go live. Just have to set up the news feeds for our “latest news” stuff. so, some mysql foo on digital, and it should all “just work”.

At some point soon, I plan to have a branch of memberdb in the archive so that the LA specific changes can be made there. Namely the site-look and site-messages folders.

These really should be seperate categories and use configs. I plan to do that soon… but possibly keep the website itself away from that (don’t want to scare Pia too much :)

Although arch does these things a *lot* better than other revision control systems. Although the user experience of the one we use at sgi is great – it’s all transparent to the user (unless you want to know).

Election methods

chatting to aj over last weekend, he proposed an interesting method of doing elections. Preferential, but where candidates set preferences, not people voting. This keeps UI simple, and possibly could help solve any situation where votes are tied (this could be really bad for online stuff).

(i think i got that right).

food for thought.

iPod Versus the Cassette

rather funny – and true….
iPod Versus the Cassette

but i still love my ipod – even if apple are being assholes with their attitude towards people who want to interface with parts of it (think FairPlay, Real).

even though i’ve never liked realplayer – they should be able to compete.

aussie spirit

What is the “Aussie Spirit” we keep hearing about, and why isn’t it at my local bottle shop?

MemberDB Voting code (planning… in some sense of the word)

well… at some point there has to be some voting code done for MemberDB. Namely because Linux Australia has to have elections sometime early next year, and the code really should work before then!

Currently, we can easily work out who is a current member of the organisation. Only current members, with the appropriate type of membership should be able to vote. Initially, we will assume that if member_types.validates_membership=true and member_types.revokes_membership=false, they are able to vote (i.e. if they show up in the current_memberships view).

This means they can log in. This is a good thing (note, a member may have to reset their password first – this is supported in latest MemberDB snapshots).

Once logged in, the member should be able to see a list of elections they can currently participate in. Elections (election table?) should be tied to organisation and a time period. They should also have a name and description. Only the election_id should be unique.

e.g., something like:

create table election (
        id serial unique not null,
        org_id int not null,  -- election for this org (NULL=all orgs)
        name varchar(50) not null,
        start_advertising date, -- date that we'll display in a UI that "an election is coming"
        nominations_start date,
        nominations_close date,
        advertise_candidates date, -- list the candidates from date onwards
        live_results boolean, -- results in real-time
        start_voting date, -- when voting opens
        close_voting date, -- when it closes
        show_results date, -- show results from election from this date onwards (NULL=never). This field can be updated (i.e. after the results have been verified/approved)
        description text,
        CONSTRAINT "election_pkey" PRIMARY KEY (id),
        CONSTRAINT "election_org_id_fkey" FOREIGN KEY (org_id) references orgs(id) on update restrict
);

In the future, we may want to support more than one election type – this should be safe to introduce in the future as we can add a column to election and election_vote. Currently, we’re only going to care about “first past the post” style elections. i.e. the classic “a show of hands”.

Only authorised people should be able to change any details of the election – this should be a new activity, and members granted explicit permissions to do this. We will probably need to add a “data” field to the permissions table – allowing us to have more specialised permissions (i.e. only membey X can modify election Y, and only member A can modify election B).

We need positions to elect people into.
e.g.

create table election_position (
 id serial unique not null,
 election_id int not null,
 name varchar(50) not null,
 description text,
-- FIXME: insert constraints here
);

Each election needs candidates. Candidates need to be approved (by whoever can modify the election. Since the process for approving candidates can vary, this will require human thinking logic to work out that everything is okay before they click the “approve” button).

something like:

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.
 );

We’re currently making the assumption that only members can go for positions. This seems fair and reasonable – am open to arguments against it though.

So, an election has positions and each position has candidates. Candidates have spiels, and have to be approved before they’re listed.

Each member gets one vote per election position. They can change this anytime up until the closing date (this should take care of the “oh shit, someone dropped out of the election” thing too).

create table election_vote (
    election_position_id int not null,
    member_id int not null,
    election_candidate_id int not null
-- FIXME: constraints here
);

now… all that needs to be done is a UI… and some sanity checking of the above. :)

planet luv?

there’s a bit of talk about a planet.luv.asn.au….. any thoughts anyone? probably not….

but it could be quite interesting… and it’d mean that i’m on a planet!

(okay… there’s been talk of a planet.linux.org.au for a while too… we just have to work out *who* could be on it)