Using AT&T Network Client VPN with Ubuntu 64bit

(This post is probably of most interest to my IBM colleagues - however, since the AT&T Network Client is also available for other organisations, I’ve posted this here in case it’s of use to other folks.)

I recently installed Ubuntu 64bit (amd64) on my Lenovo Thinkpad T61. Unfortunately, the Network Client is not available in a 32bit edition. So I had to perform a few tweaks to get it to work. Here’s the steps I took:

  • Install the ia32-libs package and all it’s dependencies:
sudo apt-get install ia32-libs
  • Install the AT&T client itself (IBM colleagues can obtain this from the OCDC website):
sudo dpkg -i --force-architecture agnclient_1.0~
  • Add some symlinks:
sudo ln -s /usr/lib32/ /usr/lib32/
sudo ln -s /usr/lib32/ /usr/lib32/
  • You should now be able to start the Network Client from the Internet section of the Gnome menu, or from /opt/agns/bin/agnclient. Click Connect and enter your details as normal.


After yet another grumble at jt, I’ve finally broken and will give Twitter a try (my ID is andrewferrier). I’m still struggling to see where the benefit will come from, but he made the valid point that I can’t say for sure ‘til I try it - so I’ve given in and will give it a go. To be fair, I’ve come across two bits of useful info. already, so early signs are promising.

My concerns are:

  • It’ll suck time. I don’t think that can be avoided - it’s just a question of whether there’s enough benefit there to make it worthwhile.

  • I haven’t yet found an interface that works for me. is too much of a stream-of-consciousness, and not rich enough to show clear threads of discussion or filter stuff out. I’m avoiding desktop clients as a matter of habit these days. Integrating the RSS feed into my Google Reader stream will just overwhelm me. This could be a deal-breaker; I’m already wondering whether Twitter actually lends itself to a inbox, read-everything model or if I should chill and let stuff slip past unread (something that sends prickles down my spine).

  • Twitter’s help pages suck. Still haven’t found the number to SMS updates to in the UK (OK, I haven’t tried _that _hard).

Standing up to Injustice

Early this year I wrote about how the French were standing up to anti-smoking legislation. The Dutch are now doing the same. I wish the British didn’t roll over so easily.

Forcing pub owners (or anyone else) to enforce your preferences is wrong and a thoroughly illiberal idea. It makes the world more homogenous and less interesting. Don’t stand for it.

Blood, Sex and Coffee

I don’t normally do plugs on here, but my good friend Ella has just recently completed her first novel: Blood, Sex and Coffee. It’s a mammoth achievement, weighing in at a good 700 pages, and is a campy vampire novel bringing in more themes than you’d think could be fit in such as a size - although is fundamentally a huge tract of story crossing space and time. I haven’t yet had a chance to read it - and I’m not normally a big fiction reader - but I have a 12 hour flight to Cape Town at the weekend, so maybe be burning through some of it then. I hope to post a review sometime soon.

You can download it for free or buy a paper copy for £13, either of them via Lulu.

Connecting Google Reader and podget

For some time, I’ve had a Perl script that runs regularly, backing up my Google Reader subscriptions using the standard OPML format:

# Usage:
#  backup-google-reader-opml file-to-write-to.opml google-password

use strict;
use warnings;

use WWW::Mechanize;

my $mech = WWW::Mechanize->new();

    or die "Cannot reach Google Reader Homepage";

    form_number => 1,
    fields =>
        Email => $ARGV[1],
        Passwd => $ARGV[2]
    or die "Cannot submit form";


However, I recently wrote another script (this time Python) that then takes this OPML, parses out all the URLs that are tagged with ‘podcast’, and outputs a serverlist file for podget (an automated console-based podcast downloader). This enables me to subscribe to a podcast in Google Reader, and have the podcast automatically added to the download list. The script looks like this:

# Pass in the OPML file as the first command-line parameter. Will output the
# podget serverlist on stdout.

import re
import sys
import xml.dom.minidom

doc = xml.dom.minidom.parse(sys.argv[1])

body = doc.getElementsByTagName("body")[0]

p = re.compile('^\W+')

for outline in doc.getElementsByTagName("outline"):
    if outline.getAttribute("text") == "podcast":
        for subOutlines in outline.getElementsByTagName("outline"):
            title = subOutlines.getAttribute("title")
            title = p.sub("", title)
            print subOutlines.getAttribute("xmlUrl") + " NoCategory " + title

Feel free to use and adapt to your needs.

subscribe via RSS