Memo: Liberal Party

Dear Liberal Party of Australia,

Go ahead, merge with the National Party. I cannot see any better way for you to entrench your irrelevency in the minds of the small-l liberal voters of Australia than to merge with a group of socially-conservative agricultural-socialists.

With any luck, a merger might be the catalyst for your more progressive members to finally tell your increasingly Taliban-like NSW religious MPs where they can shove their bibles, and form the sort of centrist party that Australia desperately needs.

Enjoy your time in the wilderness,

Paul.

PS. I think you’ve taken that practical joke of pretending that Brendan Nelson is leader a bit too far now. How’s the poor man going to feel when you tell him what you really think?

Playing audio streams with xine-lib

Should anyone be interested in writing their own audio player (and surprisingly enough, I’ve found the need to do so on more than one occasion), I’ve started writing a tutorial on using xine-lib. It’s a great little library, but there’s next-to-no documentation out there for it…

Overreactions: banning bikes on trains and Australian internet censorship.

2007 closed with a couple of government overreactions, which mostly escaped scrutiny because the governments involved announced them at a dead time when no-one really gave a bugger:

  1. The Victorian government has banned bicycles on peak-hour trains in Melbourne, and on any V/line service which originates or terminates in Melbourne during peak hour. Now, I hate bicycles on trains as much as the next person (probably more so, given the number of bikes I had to squeeze past on the crowded Amsterdam metro, while I was living there) – but a complete ban seems overly heavy-handed.

    Wouldn’t it be more sensible to remove a few seats from the end of each train and restrict bicycles to the final carriage? It’s not like our public transport operators haven’t stooped to removing seats in order to cram more passengers aboard, in the past.

  2. The new Federal government is channelling the ghost of the old Federal government, dredging up a discredited internet access policy to appease a small group of Christian fundamentalists, who are too irresponsible to monitor what their own children are doing. ISPs in Australia will be compelled to supply a “clean” internet connection (read: no pr0n, violence or anything “inappropriate”) to all customers, and anyone who does not wish to be subject to this must explicitely opt-out (whereupon their ISP may well decide to charge a fee, and presumably flag the connection for easy targetting by Australia’s security services).

    Our new Minister for Communications, Senator Stephen Conroy, then went on to show he comes from the same fine pedigree that produced our previous Communication Ministers, by deliberately confusing pornography (which is legally available) with child pornography (which is already, as it should be, illegal):

    “If people equate freedom of speech with watching child pornography, then the Rudd-Labor Government is going to disagree.”

    Apples and Oranges. As mentioned earlier, this is all being done to appease the Fundies First party, because the government may well need their one vote to kill off Workchoices. A saving grace may be that the government hasn’t got the ISPs on side, as Paul Montgomery notes. The previous government announced these plans several times, and never did anything about it; with luck, this will be just more bluster – because if it’s not, then either their plan will be unworkable, or Australian internet connections will become unusable.

Lazyweb: GtkMenu help needed

Whenever I try to do any GUI coding, I seem to be continually tripped up by what appear to be incredibly basic problems. I don’t know whether it’s just that I don’t think the same way as the toolkit designers do, or if the toolkits are just designed in the most complicated way possible.

I’ve read over and over the GtkMenu and GtkMenuItem documentation, but I cannot see any way of getting the index number of a GtkMenuItem that is clicked on within a GtkMenu. It seems to me like this would be a fairly common thing to want to do, in order to create GtkMenus with dynamic items.

Can any GTK experts out there give me some suggestions as to how I can get the index number of the GtkMenuItem clicked on, in the handler() function below? (Aside from supplying menu_item[i] in g_signal_connect_swapped and then looping through all of menu_items[] and comparing them, that is). Surely the GTK designers can’t assume that every menu item is going to be connected to a different handler function?


    /* ...  */

    GtkWidget *menu;
    GtkWidget **menu_items;

    /* ... set menu item labels in LABEL[NUM_ITEMS] ...   */

    menu = gtk_menu_new();

    for(i=0;i<NUM_ITEMS;i++) {
        menu_item[i] = gtk_menu_item_new_with_label( LABEL[i] );

        gtk_menu_append(menu,menu_item[i]);

        g_signal_connect_swapped(menu, "button_press_event",
                G_CALLBACK(handler), ??? );

        /* Alternatively: 
        g_signal_connect_swapped(menu_item[i], "button_press_event",
                G_CALLBACK(handler), ??? );
        */

    }

    /* ...  */

static gint handler (GtkWidget *widget, GdkEvent *event) {

        /* ... want to find out which menu_item (n) was clicked on ...  */

        printf("You clicked item number %25d
", n );
}

Combatting trolls on Usenet

Despite its bad reputation, I still read Usenet regularly. It’s far more convenient to use than web-based forums (and their invariably over-zealous moderators – we can’t possibly have two threads on the same subject!), and it’s much easier to subscribe to and unsubscribe from newsgroups than to sign up and remove oneself from individual mailing lists.

Usenet has gained much notoriety as being a haven for spammers. This is a tad unfair; while newsgroups certainly do get a little bit of spam, I believe that my email spam-filters catch more spam to my own personal email address each day than I would see on all 30 newsgroups that I read, combined.

No, Usenet’s biggest problem isn’t spammers; it’s trolls and children (often one and the same). Most Usenet readers tend to ignore spam – or report it, occasionally getting the spammer shut down. Trolls create a problem because otherwise sensible people cannot seem to stop themselves responding, and after a short period, you have newsgroups filled with off-topic rubbish.

aus.tv is a prime example. This was once an interesting newsgroup, but as the internet became mainstream, and the death-by-one-thousand-cuts of children was inflicted upon Usenet, aus.tv has become a wasteland, inhabited by what one regular poster has described as “sockpuppet armies”, one or two people posting nonsense, under a variety of different names. The problem becomes noticeably worse around school-holidays. Add to that cross-posted political arguments from aus.politics, and it becomes rather difficult to see the signal amongst the noise – and yet, despite all of this, the signal is still there. Other newsgroups have similar issues; for example, American nationalists seem unable to keep themselves from crossposting anti-European material to rec.travel.europe.

The biggest problem with trolls is that they cannot simply be killfiled; other people respond to their posts, so all that killfiling achieves is to remove the first post from a trolling thread. Killfiling the entire subject line of a post by a troll doesn’t work either, as sometimes they will respond to an on-topic thread, and this would have the effect of killfiling legitimate posts, too.

The best way to clean up trolling posts in a newsgroup is to killfile any thread that is started by a troll. I haven’t seen any newsreader with this feature yet, so I threw together a quick, kludgy method for doing it, although it is fairly specific to my newsreading setup, which uses Leafnode to spool newsgroups on my laptop and nn to read them.

The killfiler program consists of a perl script called threadkiller, which reads through the spool, searching for posts from people listed in a blacklist and then checking them to see if they are the first post in a new thread. Currently this is determined by looking for the absense of “Re: ” at the start of a subject line, but obviously a better test would be to check for the presence of a References header. Once completed, the script spits out a list of subject lines in nn’s killfile format, onto stdout, which can be appended onto $HOME/.nn/kill. The script keeps track of which newsgroup posts it has already read, so that it isn’t continually rereading hundreds of posts each time it runs.

A future enhancement that I plan to add is one to automatically killfile any thread that is crossposted to newsgroups that are completely off-topic; nn already has a method for doing this, but its operation is quite cumbersome and doesn’t always work. That, in itself, would probably remove around 30%25 of the rubbish in aus.tv.

Love me or loath me

I think we’ve sorted that one out now.

Goodbye John.

We live in a society, not an economy.

I have no idea who said it first, but that about sums it up for me.

It’s time to fix a mistake I made eleven years ago.

Where are the public transport promises?

For an election in which environmental considerations have been claimed to
be high on the agenda of both political parties, there has been extremely
little talk of providing any funding to state governments for improved public transport in the major cities. It’s hard
to imagine any solution to the problem of carbon emissions without also attempting
to remove the large number of cars on our roads that simply do not need to be there.

I had a brief look through the transport policies of both the Labor and Liberal parties in the five biggest
states, and found the following policies all directly involved in building or upgrading roads:

Victoria:

  • Westgate Bridge strengthening (Liberal & Labor)
  • new Frankston Bypass (Liberal)
  • Calder Highway upgrade (Liberal)
  • Geelong Ring road completion (Labor)
  • Western Ring Road upgrade (Labor)

South Australia:

  • South Road upgrade (Liberal & Labor)
  • Southern Expressway duplication (Liberal & Labor)
  • Northern Expressway upgrade (Liberal)
  • new Portwakefield Road (Liberal)
  • Gepps Cross intersection upgrade (Liberal)

New South Wales:

  • Building the F3 to M2/M7 Sydney Orbital Link (Liberal & Labor)
  • Widening the F5 (Liberal)
  • F6 Freeway extension (Liberal)
  • Upgrading the Great Western Highway (Liberal)

Queensland:

  • Brisbane ring road (Liberal)
  • Port of Brisbane motorway upgrade (Liberal)
  • Pacific Motorway upgrade (Liberal & Labor)
  • Toowoomba Second Range crossing (Liberal)
  • Gateway motorway southern link (Labor)
  • Northern Link tunnel (Labor)

Western Australia:

  • Upgrade Tonkin Highway (Liberal & Labor)
  • Upgrade Kwinana Freeway (Liberal & Labor)
  • Duplicate Leach Highway (Liberal & Labor)
  • Upgrade roads around Perth airport (Liberal)
  • Upgrade access into Fremantle Port (Liberal & Labor)

I then looked for all policies that directly improved public transport in some way, and could only
come up with the following:

Victoria:

  • Whitehorse/Springvale Rd/railway grade separation (Liberal)
  • Mill Park/South Morang overpass for future railway line (Liberal)

New South Wales:

  • Upgrading Sydney rail freight system to ease congestion on commuter rail (Liberal & Labor)

So, there we have it. The commitment of both major parties comes to … well, not very much at all. Three of
Australia’s major commuter railway systems are currently in crisis (Melbourne, Sydney and Adelaide) and desperately need
upgrades. Melbourne needs new railway lines to Doncaster and Rowville, and line extensions to Whittlesea. Adelaide’s system
needs to be electrified (diesel is so 1920s). Sydney … well, NSW needs a completely new government before anything can
be done about that mess.

Perth’s system is the only one that has had any major investment put into it; and I confess not to know anything
about the state of Brisbane’s railway network.

It’s well known that building roads does nothing
to fix congestion
; it simply encourages more cars onto these roads, which leads to demands for more freeways to ease the resulting congestion. Hence, the roads policies of the two major parties
listed above demonstrate just how little commitment that either of them have to reducing greenhouse gases.

The policies of the Democrats and Greens don’t go into specifics, as the major parties do, but they do at least demonstrate their commitment to public transport:

Australian Democrats

  • Substantial funding for integrated public transport – rail, light rail and bus networks and transit lanes on urban freeways with a priority for those metro areas where transport services are poor.
  • Improved public transport frequency, amenity, safety, reliability and accessibility, particularly in outer metropolitan areas. Better scheduling and ticketing coordination.
  • Rail services extended to residential developments on the city fringes and modernised and high quality sub-regional feeder and circumferential bus services provided
  • Fast train services extended to all major airports and regional centres and linking Brisbane, Sydney, Canberra, Melbourne and Adelaide for rapid, low emissions passenger ad freight travel.

Greens

  • a comprehensive, integrated public transport system, with critical components publicly owned and controlled.
  • a transport system, including roads, railways, airways and sea-lanes, that is safe, environmentally sound, efficient and reliable.
  • increased opportunities for the community to participate in transport planning.
  • a public transport system that is more attractive than private car use.
  • public transport services to be provided under community service obligations where demand is too low for economically viable services.
  • public ownership of the national rail system.
  • train services that are competitive with road transport – reliable, safe, fast and inexpensive.
  • major airports located to minimise social and environmental impacts.

This election has been a wasted opportunity. The frustration of commuters with delays and cancellations of trains, combined with congestion and petrol prices, added to mounting fears of global warming would have meant a fantastic reception to a comprehensive plan for public transport from one of the major parties. If properly costed – and let’s face it, we can afford it, especially with those huge surpluses that the current government keeps stealing from us – it would have blown the opposite party out of the water.

John, you’re not helping your cause.

From the ABC:

Prime Minister John Howard says if the Coalition wins Saturday’s federal election a future Labor government would never be able to repeal the Government’s controversial WorkChoices legislation.

“They will become part of the furniture. They will become so embedded in our business and workplace culture that no future Labor government would be able to reverse them.”

Doesn’t he get it? Workchoices is the primary reason that this government is so on-the-nose. They over-played their hand, and a statement like this can only serve to make people realise that not only can they now be screwed over, but their children and grandchildren can be, too.

Upper-class welfare

First, John Howard says:

“I want to complete the transition of this nation from a welfare state to an opportunity society”

…and then, in the same speech he offers non-means tested education rebates that cover not only tuition fees at private schools, but useless items like uniforms and school camps.

How is this not welfare? Or is it only welfare when you give it to low-income earners?