Older blog entries for kirby (starting at number 7)

I can't believe what I did today. I decided to install Gentoo on my box at work (replacing Debian, at least for now) and, becuase I still have to use a crappy computer with no CDRW drive (and I work in the software engineering subject group of a University - if I was a secretary, I'd have a p4 and a TFT monitor) I had to do it the not very nice way. What I did was - copy all of the things I wanted to keep - home directories, config files, my cvs tree, www and cgi-bin folders, and what else? Oh, yes: 3+ years of research) into a directory, delete everything else and the next step was to continue with the gentoo install.

I also thought, while I'm at it, I might as well switch to ext3, from ext2. And so I typed:

mke2fs -j /dev/hda2

My bowels shuddered as soon as I pressed enter, but for such a devestating operation, it took a lot less time to clean my partition than it took me to reach for C-c - not that it would have helped, probably.

Yes, I am now the not-so-proud owner of a nice clean ext3 partition.

Luckily, most of my research is also kept at home - thanks to CVS and working from home as much as possible, things tend to be synced.

There is still a bunch of things that I would like to recover, however, and I'm not sure how best to go about it.

What I do know is that I need an image of the partition to work on safely and at my leisure while I install gentoo on my work machine - I can't just not work until I have everything I want.

Now, the problem is, how do I get an image? I don't have a spare partition with 6.4 gigabytes of free space. Actually, I do, but that's the problem - it shouldn't be free, and obviously I can't use it.

The gentoo install CD handily has an ssh daemon, so I set that running and went home. I then tried to scp /dev/hda2 to my machine. No luck - scp complains about /dev/hda2 not being regular. Maybe that was the problem? My irregular filesystem needed more fibre, perhaps?

Thanks to some peeps on IRC, I found a solution. I'm in the process of transferring the files now, and this is how I did it:

  1. Compile netcat statically at home and sftp it to by work box
  2. Execute dd if=/dev/hda2 |./nc -l -p 123 & on my work machine (over ssh)
    This has the effect of waiting for a connection on port 123, and when it gets one, spewing my partition at it.
  3. On my home machine, I then use nc my.work.machine.com 123 > disk.img
    Which connects to the waiting port and dumps whatever it finds into disk.img.

This is taking place as we speak. I estimated and then calculated that this will probably take approximately 17 hours roughly, give or take, plus or minus 3 days.

Of course, I have no Idea how best to get the stuff out of the image aferwards, but if I have to grep through and take out text files by hand, I'll still have more than I have now. And I must admit, I'm having fun.

If anyone has any ideas on the best way to restore my files - preferably all, but some is also good - please let me know. Mail me at james@dis-dot-dat.net with info and I promise, if we ever meet, I'll buy you lunch. Not necessarily a big lunch. Terms and conditions apply.

19 Sep 2003 (updated 19 Sep 2003 at 20:49 UTC) »

On Wednesday I started a postgraduate certificate in learning and teaching in higher education. I think. It sounds a bit like that, anyway. We'll be expected to submit a portfolio at the end of the course, showing how we have become professional, reflected practitioners. Rather than put a load of crud in a folder, I've decided to build a little site to hold my stuff. The idea is that it is primarily a journal - articles sorted in date order. The articles will contain links to longer pieces, which will be stored in a neat higher^H^H^H^Heir^H^H^Hierarchy so that they can be viewed in "theme order". This is good because:

  • It suits my learning style
  • I am using my existing schema as I build new ones
  • The non-linear nature of the document gives freedom to its readers
  • It's exactly the kind of crap that the tree hugging hippies who will be marking it would like

The whole thing is based around a little content management system that I'm writing specifically for this purpose. I could have used something that's already out there, but then I would have hardly any incentive to do the damned thing.

Because I only ever used to use Perl for small scripts to translate one thing into another and such, I never realised how bloody awful it is. I would really liked to have done this in Python, but getting mod_python to work turned out to be way to much hassle.

I'll post my Perl code at some point. It would be nice to hear from some Perl gurus telling me how stupid I am and how I should do this instead of that or the other. Seriously - Perl is so bloody bendy, I can think of a number of ways to do anything, and I don't have the experience to know which way is best.

Yarrr. I almost forgot what day it be. Has some land-lubber already told ye all about my parroty error? Yarrr. I'll get me coat.

I'm an uncle! Actually, I've been an uncle for a few days (since the 11th of September), but I'm all exclamacited now because Steph and I are going down to Portland at the weekend to see the new baby.

Tooting Routing! I'm fed up with being behind a Windows router. When Steph and I first bought our house (12 months ago), we only had two machines. Steph uses WIndows. I use GNU/Linux mostly, but also Windows for Cubase, so I reboot fairly regularly. So, the only option we really had was to make Steph's machine into the router. Last Christmas, steph surprised me with a shiny new P4, whcih was nice. I couldn't stop laughing when she told me how she decided which machine to buy - she walked into the shop and said "My boyfriend needs a computer. What's the best one you've got?", and the salesperson tried to convince her to buy something with lower specs! Steph wouldn't have any of it, and came out with the P4 with a 129GB HD and a Geforce 4. So, anyway, we now have a spare machine - a p3 xeon 550mHz. I've only just found some spare time to turn it into a router, and I've picked Gentoo to do the job. I left it compiling the kernel this morning before I came to work - hopefully, by the time I go to bed tonight, I'll have a working router.

The funny thing is, if it weren't for the complete lack of configuration in the ICS software in WinME, I wouldn't bother. Yes, that's right - I'd just leave the WinME machine as the router. I'm no Microsoft fan, and I personally can't use WinME without biting into Steph's desk, but Steph is happy with it, it was immune to things like Blaster, and I realised the other day that this little machine had an uptime of like 6 months. I know that's nothing special compared to other OSes, but it's plenty good enough for Steph and I.

Damned stability: Anyway, I'm having fun with setting up Gentoo on the old machine. I'm starting to get fed up with Debian because it doesn't seem to break very easily. I always used RedHat until about 12 months ago, and I was used to the odd breakage caused by my fiddling, installing stuff I probably shouldn't and fooling RedHat into (trying) to do what I wanted it to. When it broke, I would fix it, and I didn't realise until now that I had loads of fun breaking and fixing my OS. Now I use Debian and it doesn't break very often at all. And when it does (because I ignore it's recommendations and install different versions of libraries or whatever), it's too bloody easy to fix.

DynaIP: When I get this router working, I'm going to have a look at something like DynaIP - are there alternatives?.

  • 1:50GMT: I've just realised that when I posted a second entry for today, it exlipsed the first one. You can still view it from my public page. I'm assuming that this is to stop people from posting huge numbers of entries and swamping the recent entries list. Fair enough. Now I've posted this one, the last one will probably fade away, too. So, if you're really interested in what I've been up to (todo2html is now on savannah, and has a home page, and I got an amazing deal at a local library that's left me with an embarrassing item on my bookshelf), go and take a look.
  • 1:51GMT: In future, I'm going to tag new entries for the same day onto existing entries, like this. If anyone has a better idea, let me know.

Cor blimey! I just bought 10 (yes TEN!) books for a pound! Tipton Library are trying to get rid of old books, and rather than pay to get rid of them, they're selling them in tens. For a pound! I had a bit of trouble finding ten good ones, but I'm so chuffed that I don't care that I've become the not-so-proud owner of a Mills & Boon novel.

todo2html is now a savannah project. Home page is here, project page here.

It does a lot more stuff now, too. When I have time, I'll start making more of my little projects available. I don't really have that much time, so big projects tend to stall early on.

9 Sep 2003 (updated 9 Sep 2003 at 12:15 UTC) »

I've been busy doing bits and bobs recently.

The web side of CoFfEE is working, although I've only uploaded one entry. This is the database of long and (hopefully) helpful error explanations. We called it SteakKnife, for some reason that neither of us remember anymore. The single enrty is '(' expected. Feel free to peek, but remember that it's not in any way finished.

I've been dragging my feet writing a journal article that my supervisor has been asking for, and now I have a good excuse for coming back to it later - the Institute of Physics are publishing a book based on the work presented at Eunite 2002 and they want the articles expanded into chapters. So I still have to spend more time writing about my research than I get to actually do it. Oh well.

I've also tidied up a couple of little projects that I messed around with while experimenting with python. I'll put these somewhere sensible at some point.

  • todo2html creates HTML from TODO files. It has support for 2 levels of todo items, and highlighting for done/pending items. An example of the output is here - created from this file. Don't worry if you hate the highlighting, that will soon be configurable.
  • wcmon stands for Website Change Monitor. This is something that I've been meaning to do for ages. The idea is that it informs you when a website changes. This is already quite nice - you can add and remove sites, show all monitored sites, check all or individual URLs, update all or individual records and show a list of sites that have changed since the last update.
    The idea is that it can be run regularly, with the output displayed by something like the beautiful waste of resources, karamba, or automagically mailed to interested parties.
    Very soon, it will have more advanced features like:
    • Notification lists - email addresses of people to inform of change - one list per URL
    • Record times of previous updates, so if you don't tell it to update for a while you can see how many changes were made
    • Skip patterns. This is something that's needed so that sites like memepool, that have bits of HTML that change regularly, but aren't really interesting content changes, can still be monitored

OK. Blogging has never really grabbed me, but Sarah has told me on more than one occasion that I should start. Not that this is my first start. Lets see if I can keep it up this time.

What I'm up to right now is:

  • Research. Right now I'm rewriting a lot of my old code before I do anything else. My early code was written quickly, with little testing and has been extensively modified since I started. Now I need well written, fully tested code so that I can feel safe basing the rest of my research on the results it gives me.
    Hopefully the Uni. will let me make this stuff Free. We'll see.
  • Working with Sarah on CoFfEE. Which stands for Compiler Friendlification and Error Explanation. Sarah doesn't much like the friendlification bit, but I think that that's the bestest bit. If anyone has a better idea, let us know.
  • Unfortunately, the first two items (the first one mainly) take up most of the time I'm prepared to sit in front of my computer. In the spare time I do have I play with my dog, make (terrible) music, listen to (great) music, watch more films than is probably healthy, start writing apps that I don't have time to finish (a linux tracker in the style of Impulse (but obviously better :), a great idea for a simple but addictive network game, and more), read (I spend about as much on books each month as I do on food), and try to reduce my use of brackets and black-countryisms.

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!