Monday 22nd June 1998
I hate getting up at 5am because other people forget to turn their alarm clock when they go for a shower ...
Anyway, answered a few emails (mostly personal ... maybe the heat has got everyone else as well <grin>) before settling down to watch England play Romania in the World Cup.
I've also spent some time kicking around what to do with the NQS networking protocol. Before implementing anything, I need to document how it currently works, and identify what extensions we really need.
I'm thinking that we could do with the following:
The addition of some form of directory service would provide a simple way for anything (not just Generic NQS itself) to query a remote node for information, and is a stepping stone to where I want to take Generic NQS (full distributed information). I'll probably spec a protocol using GIPP, although there's no reason why a LDAP v3 implementation couldn't be added at some stage if there is demand.
Still hot, but my housemate has disappeared to buy a portable air-conditioning unit <grin>.
No CD of the week this week, mainly because I've not really been listening to any music. Instead, I've got a graphic novel of the week instead, which I came across whilst in Cardiff yesterday. Ricardo Delgado's Age Of Reptiles: The Hunt is a wonderous look at life when dinosaurs roamed the Earth, where the art does all the talking. It had me in stitches the whole way through ...
On to things Generic-NQS related. And back to dplace(1).
I've also been having a debate with Ulrich Drepper, the current maintainer of glibc, the C library which Linux is migrating to. I'd heard, from people who read the Linux kernel mailing list, that Ulrich had a ... ah ... individual perspective on how some things should work. Anyway, Generic NQS v3.50.4 makes glibc crash (fix is in v3.51.0, or for now get the Linux RPM from ftp.redhat.com) so I put in a bug report.
You can read the entire transcription here.
Took the day off - just far too hot to achieve anything.
Another night working on my ever-present email backlog, although I did get time to add a couple of fixes Mark Grieshaber kindly sent me, to correct bugs in the creation of snap files.
Didn't get home til 10pm ... replied to a few emails before calling it a night.
So much for getting -pre4 out tonight.
Still, Daniel Israel did have some good ideas for how SETUP should behave the second time you run it. I must admit, I didn't realise anyone was actually taking advantage of the old Build-Tree/<architecture>/ scheme, but before 3.51.0 proper is out I'll put it back.
No -pre4 tonight ... spent some of tonight looking into a problem caused by the max global batch setting - I should have remembered this existed, and so saved myself the time. Oh well. And the rest went into ...
I'm very pleased to have been able to announce the commercial-launch mailing list for Octopus Technologies Ltd. The list has been set up to allow us at Octopus Technologies Ltd to discuss the commercial support requirements of existing Generic NQS users, so that we can quickly move to providing commercial support for Generic NQS.
Commercial support for Generic NQS is the best idea I can think of to help fund future maintenance and work on Generic NQS. It won't replace my role as Generic NQS Maintainer, providing free support and development as and when I can, but it will provide organisations which need it with a decent level of support when they need it, something I can't always do.
Oh well. Here's hoping it's a success.
dplace(1). Finally.
Now, unless I'm reading this incorrectly, dplace(1) works like this:
dplace -place <placement_file> <command> <arguments>
where
so, our main problem is that we don't have a suitable <command> to feed dplace(1). I can understand why SG designed it this way ... doesn't mean I have to like it <grin>.
dplace(1) support will go into -pre4 tomorrow night; I'll release -pre4 once this is done, and everything else scheduled for -pre4 can go into -pre5 for a weekend release.
Also having fun virtual-hosting the Majordomo list server. I had a look at qmail first, but I'm just not happy with its support for virtual hosting, so I've now convinced sendmail to manage several different copies of Majordomo. There's probably a way to do this with just one copy of Majordomo, but I don't have time to play.
The Majordomo server is part of getting the commercial support for Generic NQS off the ground ... I hope to have something to announce tomorrow night.
Joined the Linux/SGI mailing list, and asked them about processor set support. If they're going to add the support, then I don't need to update my patch <grin>.
Oh, and I added the fix for SEGV faults on Linux/glibc2 into -pre4. I've still got HP-UX fixes to put in at some point, plus FreeBSD fixes too. Come to think of it, I've still got to install FreeBSD on my desktop PC at home. My latest excuse is that I'm waiting until Win98 is out; that way I get to totally rebuild the box all in one go.
And I must remember that the LD_LIBRARIES variable in -pre4 is being ignored by SETUP atm ... I either need to fix that, or (better still) auto-detect the libs instead.
Spent the evening finishing off the fixes for Digital UNIX and Generic NQS v3.51.0-pre4. Fixed up the timezone code, so that we check for the exported variables, and work out their type - I'm sure the actual timezone handling could be better, but that's for another day - and also fixed up the handling of sys_errlist[].
Haven't had much chance to listen to many CDs this week, but I did manage to come across Portishead's Dummy ... worth listening to just for Roads and Glory Box (the later probably more famous as recorded by Neneh Cherry). Roads in particular is just such an excellent example of how to present a simple rhythm, and then build on it progressively.
I've been lent a number of CDs atm (better than books - got far too many books to read as it is! - at least I can listen to CDs no matter what else I'm doing) so next week's choice should be from quite a wide list.
Managed to get a little more done on Generic NQS v3.51.0-pre4:
All of this means that SETUP can now compile Generic NQS out-of-the-box on a version of UNIX it knows nothing about. Almost. Machines which need extra libraries (such as -lsocket) aren't yet supported. And it looks like the timezone support needs a little more work to compile on Digital UNIX out-of-the-box.
Tomorrow. Along with completed dplace support. As soon as someone tells me exactly what the full path to dplace is ;-)
Nothing much achieved last week ... except for releasing Generic NQS v3.51.0-pre3 to fix a two-line error in how I handled the subshells for the execution of individual scripts. Fortunately, the project which has been taking up all of my time at work has been put on hold for the moment, so fingers crossed I should be able to get some serious time in on GNQS during the week again!
Spent today catching up on my email backlog, and enjoyed a wonderfully relaxing walk up one side of a lovely Welsh valley where one of my friends live.
Didn't make the beach party ... the weather in Swansea by all accounts was totally foul, so no party on the beach :( Still, it meant I got more done on GNQS as a result.
Given how this week has gone at work, I'm going to recommend two CDs this week which have matched my mood. First up is Metallica's seventh album, ReLoad, which is worth listening to just for track eleven, Low Man's Song. With this album, it's nice to hear the vocal arrangements really starting to take advantage of Hetfield's new found vocal skills (as compared to Ride The Lightning ;-), and, unlike on Load, their previous album, they start to swing the playing a bit too. And once all that anger is gone, The Sanctury is a nice (and just released) collection of classical tracks to really calm you down. Very useful when dealing with the GNQS after-installation walkthrough scripts ;-)
And before anyone asks, I still have more data CDs than audio CDs, and I'm not counting cover CDs either. They're mounting up too, since we lost the microwave ...
After nearly six months of work, Generic NQS v3.51.0-pre2 is out. The "only" (hah!) change is the new SETUP software - I'll stick the compilation fixes and other patches in the next pre-release.
It's a good job I was able to test this release on Linux/Alpha before it went out the door, as glibc2 showed up a fault in my POSIX.1-compliance suite. Many thanks to Nikolaj Bernsten for the access to Linux/Alpha.
Saturday 6th June 1998
Okay ... more work on 3.51.0-pre2 this morning. Tidied up the auto-recover code a bit more, and more progress on the installation code.
In particular, I've changed just when the user gets asked about staged installs. I know everyone (me included) prefers to be asked all questions up-front, but I think it makes sense to ask about this once GNQS is compiled, and you're actually ready to install GNQS on your computer. It also means that you can always restart from this stage on different computers, and change the way you install GNQS to suit each machine ;-)
I'd forgotten how nervous I feel when I run new installation scripts as root for the first time ...
I've also sneaked a little more work on www.gnqs.org; I've done the basic organisation for the Operating Systems section (and yes, that is a Microsoft operating system or two listed in there ... no content yet, tho ;-) and I'll be working on getting the IRIX section up and running first (mainly because I seemed to get more questions about IRIX 6.4 than anything else last week).
I've also sorted out the basic organisation of the Maintainer's Diary section ... my apologies for the colors on the calendars ... I'm hoping that they are temporary until I find the time to knock up some Java to do the job in style instead!
Generic NQS v3.51.0-pre2 compiled, installed, and went through all of the walkthroughs correctly at 11:55pm. Just the workstation support to write (a lot easier) and she's ready for release.
It's been a bad week with the day job ... office moves and Y2K work all in the same week :( The office move is over (for now), but it looks like the Y2K stuff will run for the rest of June at least. This mainly means having to work weekends, when test kit is available, and GNQS work is unfortunately going to suffer as a result :(
I have started catching up on this week's email, tho ... so if you've not heard from me by Sunday morning, that means I somehow lost your email (my apologies) and I'd suggest you send me a copy.
I'm also beavering away trying to get 3.51.0-pre2 in a releasable state, mainly because I learned the hard way several years ago that two separate source trees (v3.51.x and v3.50.5-preX atm) are nothing but trouble.
cd SETUP.v4 ; wc -l 'find . -type f -print'
9399 total
That's another 500 lines of code on v3.51 so far this week. Or the equivalent to half a man day by my normal work rate. And herein lies the reason that GNQS isn't moving at the pace it used to. It seems that, since the days when I was full-time on GNQS, I only manage a twelve of the work in a single week, mainly because eight or ten hours spread over a week don't achieve the same as eight hours in a single block. I remember when, as part of GNQS 3.40.0, I introduced the debugging code from libsal throughout the rest of the source code. That took three months, day in and day out, a no-brain exercise. At a twelfth of the effective work rate ... well, you can see the problem.
Is there any interest in me making a public CVS tree available from within gnqs.org? I must admit I don't personally use CVS (or any other source control atm - amusing, considering that configuration control is one of my specialities at the client I'm consulting at atm) but if it helps anyone with their own planned contributions, I think it's a good idea. I'll have a look at the latest CVS sometime tomorrow evening anyway.
Planning work from the day job overran; no GNQS work today :(
This file is getting a little big ... I'll have to take some time out at the weekend to sort out the diary section on the web pages ... Which reminds me. Advanced warning here - this weekend is the annual Swansea Comp Soc beach party, and it's looking more likely that I'm going after all (I do have some old computer books to donate to them) so this weekend will probably be a very bad weekend for both email and anything actually getting done on GNQS (I don't plan on taking my laptop down onto the beach - I'll leave that to Alan ;-)
More work on Generic NQS v3.51.0-pre2. The auto-recover code for SETUP isn't working - it fails to remove the status for the last stage. Fixed.
Staged upgrade SETUP support now written. This will need some more work in the future; I need to introduce a command-line utility which will write messages to syslog(), so that the script which GNQS executes to replace itself can tell the outside world what is happening. Still, to date, this isn't a feature anyone has ever asked for ...
Next interesting bug is why does SETUP forget the compiler options from time to time? The problem seems to be if SETUP fails, and then auto-recovers, during the very first stage. I hate special cases. Oh well.
GNQS v3.51.0-pre2 will be available from ftp.gnqs.org as soon as the installation code works. It'll probably be the first pre-release which is knowingly in a less-than-wonderful shape, but there's a lot of new code to be tested, and the sooner I make it available for testing, the better. Besides, I can then tackle the outstanding bugs and new features lists at the same time ;-)
On another note, some progress towards the documentation. Having looked at the GNQS Project Plan, it looks like I've got my hands full for quite a while dealing with the list of code changes. So I'm currently looking to hire a technical writer to develop the documentation. I'll add this into the plan once it's confirmed, but it will probably be 1st quarter next year when this happens. I have someone in mind.
I appreciate that this time frame may not be what people want to hear.