Recent blog entries for carey

rillian: Are you thinking of editline, perhaps? I don't know if there's an `official' location, but the BSDs seem to use it. See FreeBSD's CVS for libedit for example.

4Suite: A new version of 4Suite is out, and it seems considerably faster when rendering my web pages. Very nice. I've also simplified the process a little, which may have something to do with it. Although I haven't worked out how to pass anything more that a string as an XSLT parameter to 4XSLT, so I'm pickling an array of tuples, then unpickling the array in an extension function and returning a node list. This is not at all simple.

Shell scripting: I've got myself a dynamic DNS name set up at Unfortunately, my ADSL modem/router uses NAT, and my ISP uses a transparent HTTP proxy, so there's no automatic way to get the current IP address. I've been working on using SNMP to get the address from the router, and I've ended up with a demonstration of the power of the Unix shell.

snmpentry () {
  snmpwalk -O qs "$1" "$2" "$3" | while read -r INDEX VALUE
    if [ "$VALUE" = "$4" ]; then
      echo $INDEX | cut -d '.' -f 2-

The idea of this is that I call it as:

  entry=$(snmpentry m11 public ifDescr \
    "Nokia Telecommunications, M11, PPP")

to get the number of the PPP interface. Then I use snmpget to get the ifIndex:

  ifIndex=$(snmpget -O qs m11 public ifIndex.$entry) \
    | cut -d ' ' -f 2-)

and look up the IP address of that interface, using the snmpentry function again:

  IP=$(snmpentry m11 public ipAdEntIfIndex $ifIndex)

Now I've got an IP address that I can hand off to ddclient or whatever, without using any C, Perl, Python, sed or awk.

Don't ever say shell scripting is dead.

Nothing much is happening right now. A thread I started on the 4Suite mailing list has spread to a few other Python lists, discussing how to output Unicode in various 8-bit encodings. The issue is that any Unicode character can be encoded (as Ł for example) but that in some character sets it can be represented as an 8-bit character ('\xa3' in ISO-8859-2), and should be when possible.

The big project at work is going well - the right people seem properly impressed, although I need to make a few big changes. Unfortunately (?) I can't transfer the code from development and testing with Apache JServ to IBM Websphere on AS/400 yet due to an apparent bug in the OS/400 JRE.

From there we segue to Mozilla, which I'm using to make sure the project's web pages will look OK on Windows. Recent builds don't work at all for me since the project uses Basic authentication, and so does the firewall proxy. Given the number of people who've noticed, I'm hoping this will get fixed soon. My own contribution to Mozilla is bug id 43260. I'm not really sure it's Mozilla's fault, but I don't see IBM fixing their software. Maybe I'll report a software fault and see.

Personal: I've been looking through the older CD's in my collection and playing a few that I bought when my taste in music was a bit different. Some of them have lasted well and been played many times, like Garbage, but I just pulled out This Is Your Night by Amber, which hasn't been played recently. I still quite like it, actually, though it's not what I buy now.

mutende: Whoa! Nostalgia!

I've just apt-get installed gopherd, and spent a bit of time browsing gopher for the first time in four or five years. There's not a lot left, is there? Once I sort out a static IP address, I'll see about putting some stuff up on gopher myself, just because I can.

I'll need some kind of content though. I wonder how hard it would be to write XSLT to convert my web pages' XML source into text as well as HTML. (The current source code is all Free, of course, but not really suitable for release.)

Work: My boss made excuses for my big project being late by saying I was working on some really complicated features. Unfortunately, I wasn't working on that particular bit, and I've got a demo due on Monday.

Home: I decided a while ago to do up the kitchen in my apartment first, and leave my student-flat-bathroom until later. I've been convinced that a gas (LPG) hob will be really good for cooking, but right at the moment it looks like it's the dishwasher that will make the most difference.


... I would kill to be near you,
So that we can sin again...

- Fiona McDonald, A Different Hunger, "Sin Again"

3 Sep 2000 (updated 3 Sep 2000 at 12:26 UTC) »

I haven't really got much done since the last entry. Mitigating circumstances (i.e. lame excuse) this weekend is that it's Father's Day today and I was shopping for that yesterday.

I also went to see X-Men yesterday with my brother. Great movie, with some great lines ("What would you prefer? Yellow spandex?"), though Storm's line to Toad a little later sounded a bit forced.

Did I actually manage some subtle humour? I posted a comment to comp.lang.python on Friday about pronouncing the new "print >>" statement in Python 2.0, and it looks like some people took it more seriously than I intended. I definitely didn't want anyone to continue the "discussion" about it any further.

(Now playing: Garbage, Version 2.0, "You look so fine".)

X3270 is definitely non-free. Bummer. I'm not even sure if Debian can keep it in non-free.

According to Kevin Wozniak at GTRC:

The source code that you inquired about may not be incorporated, bundled, packaged, or accompany any other product that is sold, licensed, or provided to another user for commercial purposes....

I do feel a little guilty about not really looking into this until there was a Free (GPL/LGPL) program available to do 5250 emulation. It may be a little pointless getting this worried about a product that is only used to access the very proprietary IBM AS/400 system.

More cool stuff:

It's a definite sensation that I've done all this before...

I should probably have signed up with Advogato a while ago, but I've been a bit busy recently. Now that I've got a bit of spare time (gained partly from staying up too late) I'm going to try to dedicate a bit more time to free software work.

Current projects are:

  • Work out what to do about recode's IBM870 character set, which doesn't have the same definition as IBM's CCSID 870. This means that tn5250 does the wrong character translations between Polish EBCDIC and ISO-8859-2.

  • Update my Debian tn5250 package. Given the time since the last release, I think I'm going to have to package a CVS snapshot, and I also want to separate out lib5250 as a separate package. This will take some time and work, which is why I've been putting it off.

  • Bug GTRC about the x3270 license again. Does anyone have any contacts there?

  • See if I can handle any more Debian packages, or helping out in other areas. tn5250 uses Robodoc to generate some of the documentation, and it's not packaged...

  • Buy more RAM so that I can run Gnome, XEmacs and Mozilla all at the same time. *g*

No doubt I'll think of more as time goes by. Feel free to bug me if nothing seems to be happening with these ones.

Cool things:

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!