Older blog entries for Stevey (starting at number 83)


 Merry Christmas for those of you who celebrate it.

 I've only been awake for a couple of hours after a late night writing a Debian security notification script - this is working well, but it still needs some more work. (I'd like the package to automatically setup a cron job to make sure the thing runs properly)


 I did a good deed for the day today, I went round and wrote manpages for all the random scripts and programs I've put together, and installed upon the machines I maintain.

 Most of these are very trivial, for example a script which is called hourly via a crontab called 'checkDiskSpace'. (See if you can guess what it does!)

 This is something that I've been meaning to do for a while, partly to help any successor who might inherit the machines (hopefully in the distant future), and partly to make it obvious that I'm caring about the state of "my" machines

Trivial Scripts

 Talking of trivial scripts, I put together a simple script, locations, to report on where users login to machines from - this is quite interesting.

 I added it to the crontab for our VPN server, and now if a user connects from more than five distinct machines a month I'll get an email. Likely it will be a false alarm, but it could be indicative of an account compromise.

 To continue my good work this has a manpage, and a Debian package!


 Random question for the day - how do RFC's become "official"?

 I've been working on a TCP related RFC for the past few months, which I expect to be ready sometime towards the end of March.

 I'm posting it to gain feedback, and to promote discussion which is what RFC's are for - in my understanding.

 One thing that I'm unclear on is where to post the RFC when it is done, to make sure that it enters all the relevent archives, gets seen by the relevent parties, etc.


 I'm now back from London and relaxing at home.

 Even though I'm on holiday I've still managed to answer at least two work-related emails every day this week. I guess they need me :)

 London was nice, actually London was as ugly as I remembered it, noisy, dirty, and confusing. What was actually nice was seeing people that I'd missed for the past year or so.

 The most touristy thing I did this trip was go round a few phone boxes and take down the prostitute advertising cards - that was fun; I have a plan to decorate my bathroom by mounting these behind some clear plastic.


 I've been doing more GNUMP3d2 coding in Perl. The only stumbling block I have at the moment is sharing data between fork()'d children using shared memory. Once that's resolved, and I have a good plugin system we'll be ready to release.

 On top of that I realised I could add support for streaming movies as well as audio - so I added support for streaming MPEG's in a couple of minutes. That was nice.


 I've managed to get next week off work - so I'm going down to visit some friends in London that I've not seen for a long time.

 This is my first time off for six months, so I'm looking forward to it enormously.


 The perl re-write of gnump3d is progressing well. I have a decent CVS tree which is installable, and working.

 Some bits of existing functionality have regressed as part of the re-write, but other stuff is new and funky - for example it's now possible to search the music archive by genre, which is nice.

 When I get back from London I'll bundle up a release, and create a "version 2" entry in the freshmeat project.


&nbsp:I should have known better than to believe that making the v1.0-final release of my MP3/Ogg streaming software would finish it.

 I've been inundated with mail asking for new features, or help installing it.

 Still, there have been some interesting suggestions - so I've started planning version 2.x

 After plotting out some of the features I wanted I started writing some throwaway code. After two nights of hacking I have a working forking MP3/Ogg Vorbis streaming server written entirely in Perl.

 I was originally planning to use this as a framework to test some of the database ideas I had, and some other things - but I'm getting strongly tempted to make the next version Perl, rather than C++.

 I know the performance wouldn't be as good - but it's really a program bounded by network speed more than anything else, so that's largely irrelevent.

 It's kind of ironic that I've almost gone full circle with this!

 (The code is linked to from the planning page above - though it currently requires the real gnump3d to be installed to get the template files ...)


 After getting a nice email I've been prompted to look at gstreamer. It's very, very nice.

 I will have a look at fitting in MP3 streaming somewhere .. next week. (I've got a week off. My first time off for six months!)


 A month later than I wanted but there's now a perfectly formed release of The GNU MP3/OGG Streaming Server.

 As I was making this release I had to spend a little while restoring the Discussion Forums from a backup - it seems that the phpbb software has had a couple of security problems recently.

 I'm not sure how long my board was affected for, probably no more than a day or two but it's still a little nausiating.

 (I remember reading one post to bugtraq about it; at which point I limited access to the admin interface to my home+work IP addresses; obviously this wasn't enough).


 Because Mozilla still doesn't support roaming profiles I've ended up with a couple of machines all having wildly different bookmark collections.

 Needless to say this is a bad thing, and makes me very irritated on a regular basis.

 So I spent 30 minutes yesterday writing a little Perl script to merge multiple Netscape/Mozilla bookmark collections together.

 It's a complete hack, but it works in a sufficiently roundabout way that I'm fairly proud of it!

Merging Bookmarks

 I thought it would be trivial to parse the bookmarks from one `bookmarks.html` file into a tree structure, then parse a second file; walking down the tree to spot nodes or leaves in common and adding them to a third tree - which could then be written out to disk.

 But when I actually came to code it I realised that I could cheat as I already had written a program to convert between Internet Explorer Favourites and bookmark files a few years ago. (See if you can spot where this is going!)

 So .. my new script simple reads in each bookmark file, converts it to IE favourite files in a temporary directory, (not caring if the files already exist; which handles duplicate subtrees or entries), then after that converts the collection of .url files back into a bookmark file.

 Roundabout .. but kinda cool

 I'll tidy it up and stick it online later today if I get the chance..

23 Nov 2002 (updated 23 Nov 2002 at 10:55 UTC) »
GNU Software

 In my previous job I was working with Windows, firstly as a developer, then as a sysadmin guy.

 During that time I spent a long, long, time setting up my Windows machine with ports of lots of GNU(ish) Software - things like Emacs, Perl, less, gcc, etc.

 The result of this was the following website:

 In all honest this site has lapsed badly being mostly untouched since I've been in my current job - where I run Debian upon my desktop machine.

 Today or tommorow that site will cease to be at it's current location. I can't justify spending ~200 UKP a year for the hosting package, so I'm moving it and taking the time to update it and prune it a little.

 If anybody has any interesting pointers they like included, or added drop me a line..



 By a strange coincidence around the time I setup that site I was writing Emacs lisp on a daily basis. One small package I wrote, for showing documentation for Perl functions with emacs buffers actually seemed to be widely used.

 Today I received a bug report from somebody who'd placed this .el file into a Debian package, eery to get that mail on the same day as the website notification.

 I don't remember giving permission for it's inclusion, but I'm happy that more people are using it than I previously thought - especially now that I'm a Debian developer myself.


 The Debian auditing project continues to slowly grind forward. Unfortunately it looks like some of my most recent bug reports have been sloppy - broken diffs, and bad descriptions.

 I will try harder in the future to do a good job of reporting problems. Because I do consider it a worthwhile job.

 Right now I'm looking at a really cool program I've not heard of before 'most' - like 'less' or 'more' but with the added advantage of allowing you to split windows. Very nice. I may start using it now that I've discovered it.

 It's not setuid/setgid but it does have a couple of bits of sloppy coding - I'll report this today when I've had time to test my patches properly, and write a good report.


 I foolishly announced that I've been working on a DNS server upon a public mailing list.

 Currently I can read in bind zone files, and handly tcp-only requests. This code will be tidied up considerably, and made lovlier over the rest of this week.

 The hard part is thinking of a name for this beast - So far I've got a working name of No-Name-DNS, which I think is quite ironic; any suggestions for a names would be appreciated...

74 older entries...

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!