Friday 30th October 1998
Tonight was a very bad night to be driving in the UK. At only twelve miles long, the tailback I got stuck in didn't even make it into the travel news ...
I released the prologue/epilogue patch yesterday. It has worked well in testing, but it doesn't integrate well into GNQS v3.50.4, because it includes the IRIX 6.4 dplace support and Solaris 2.6 processor set support.
Judging by the download logs, there hasn't been much interest in the patches I've released so far this week. I've only had feedback from the one GNQS user as well :(
Thursday 29th October 1998
Back to work today, finally.
As requested, quickly added the ability to move a held job from queue to queue. Only lightly tested here, but it appeared to work without no important consequences, so it's gone into -pre7, and patch has gone out onto the NQS-Support mailing list in case anyone wants this sooner.
I hate releasing patches on their own like this, but v3.50.4 is so far away from v3.51.0-pre7 in some respects that I have no choice. Once CVS is up and running (why don't I make that today's task?) I should have the tools to maintain a patches page for people who want fixes from the next pre-release but who don't want to wait for the pre-release to go live.
Hmm ... have to think about that one ;-)
In fact, that's what I've done. It's going to take a little bit of time to get all of the changes out of v3.51.0-pre as individual patches, and we'll probably lose one or two badly documented ones in the process, but hey - at least we now have a process, one I should have thought about some time ago.
No luck duplicating the Signal 13 problem so far, unfortunately. Still keeping at it.
Having tried to use Corel Photo-Paint 8 with scanned negatives, which average 105 Mb a time, I can see why Adobe Photoshop continues to be the editing tool of choice with photographers ;-)
Don't get me wrong - with smaller files so far I've no complaints. But loading time felt significantly longer, and attempts to crop and reduce the image size failed with memory complaints while Photoshop happily did both.
Had a problem reported in -pre6 ... haven't checked whether it's a problem in -pre5 and earlier or not. Must make sure v3.51.0 introduces a better installation which makes it easier to switch versions!
Anyway, the problem is that if you submit a request which starts with
#!/any/shell
the request doesn't actually run. Except, it works fine on my Linux system here at home ... I've been through the code with a fine tooth comb, and it's doing exactly what I want it to here. I suspect that there's a difference of behaviour between /bin/sh on Linux and on Solaris.
Working on reproducing the dreaded Signal 13 problem.
My guest left this evening, so it's back to GNQS this weekend.
Had the dressing on the thumb changed yesterday ... thumb looks clean (if still sore), just has a cavity where the infection was, and plenty of dead and broken flesh around it. The incision breaks open and bleeds everytime I try and bend the thumb, so for the sake of a few days I'm going to continue to rest it. That means no driving, which means not at work maybe most of next week.
It also means a little more time to GNQS, if slightly slower typing ;-)
My thanks to everyone who has helped out with the Signal 13 problem by providing me with info on how to reproduce it. That's my task for the weekend - here's hoping I get it done.
Once I have a fix, I'll put out a v3.50.5-pre1 with this fixed. I'll also fix the Solaris 2.6 and IRIX compilation problems for v3.50.5, but no more, because this fix needs to be released asap.
And many thanks to everyone who has tried Generic SETUP v1.0-pre1. You've highlighted plenty of errors in the tests (which I'll fix as soon as possible), and also some surprises (FreeBSD v3.0 still isn't POSIX.1-compliant, although it looks close).
Spent the morning first with my doctor, and then back at the hospital. Why is it that if you take the same injury to two or more different members of the medical profession, you get as many different opinions?
Still, on the funny side, perhaps this what the IT profession looks like to outsiders too ;-)
Most of the afternoon was spent tidying up the portability tests, and getting them released. I still need to write more tests, but we are already ahead of the tests in GNQS v3.51.0-pre6.
This problem with uploading the web pages is starting to get to me now that www.gnqs.org is 4 Mbytes zipped ...
A group of us have been investigating this and similar problems with copying data from Windows 98 PCs. We've been through different motherboards, CPUs, RAM, and network cards, and still the problems persist. I've even tried copying data using my parallel port ZIP drive - still didn't work.
Between two Windows 98 machines ... we've had no problems. Between Windows 98 and Win95 (or Linux) ... we've had what appear to be random corruption of the data. I'm not saying that Windows 98 is the problem, just that it's the one constant when the data does copy successfully.
I've got a new desktop PC arriving shortly ... I think I might put Windows 95 on it instead ...
Where was I with my portability todo list? Ah yes, sgtty support.
Other items on the TODO list ...
Re-organised all of the tests to be POSIX.1, POSIX.2, BSD4.3, BSD4.4, and Other. If either one of POSIX.1 or BSD4.3 has no failures, then that is the recommended API (ie IS_POSIX_1 or IS_BSD is defined). If both have no failures, then POSIX.1 will win. If both fail, then it's a free for all, feature by feature.
Right, no all-nighter today as I have to present my mouldyoldthumb to the doctor bright and early (yeuk!).
Still re-organising the SETUP software. Then I have to make GNQS compile with it.
The platform tests are done, and the results so far match those from SETUP.v4 in existing v3.51.0-pre releases of GNQS. We currently perform 72 portability tests of one description or another.
A quick look through the GNQS source code shows that I need to add checks for the following:
Once these are done, I must go back through and ensure that the defined symbols include the words POSIX or BSD as appropriate. The whole point of gConfig is that it will present you with either the best options for a POSIX.1 port, or the best options for a BSD port. We could leave it up to the developers to work out, but that would probably end up being error-prone, and no better than GNU autoconf.
This is going to require some thought.
Other things which need doing ...
Plus ... change every single #if in GNQS to use the new symbols defined by Generic SETUP v5 (phew!). That can wait until tommorrow.
So ends this 36-hour stint on GNQS! I've written or modified 104 portability tests, totaling some 13,730 lines of C and Bourne Shell. And I bet there is plenty more to come :(
Btw, the oldest piece of code I've found so far in GNQS is in the lpserver, and apparently dates back to 21st December 1978. I wonder if anyone will still be using my code in 20 years time?
It's been a while since the last one, but here's a CD Of The Week.
... and it is Iron Maiden's excellent first live album Live After Death. This has just been re-issued, as AFAIK this re-issue is the first time all the songs from the original vynal feature on the CD release ;-) This double CD is full of classic songs from the early Maiden years - all eighteen songs on the CDs.
... and another excellent CD Of The Week (well, it's not as if I'm doing much else right now ;-) is 1200 Curfews by the Indigo Girls. This has been a very difficult CD to get hold of, but it's well worth it if you like acoustic guitars and vocal harmonies. And folk music ;-) Again, every single song on this double CD is outstanding, and you're better going off to listen to all twenty-seven tracks for yourself to find your own favourite.
Check out my new CD Of The Week page [more], where you can quickly see what CD's have been recommended so far.
Still re-organising the SETUP software.
Colin Wilson has had an excellent article on using Generic NQS with web servers [more] accepted for publication by Linux Journal [more]. Congrats to Colin!
The holiday has ground to a halt, mainly because I've temporarily lost the use of my right thumb thanks to an infection.
So I'm back working on GNQS for the next couple of days, until I can drive again. In particular, I'm having another look at the new SETUP support in v3.51-pre. I'm busy re-organising the SETUP software so that it can be easily re-used for other software products I'm interested in working on. And, after all the work we've put into SETUP over the years, I'd like to see it available for other UNIX developers to be able to use.
As part of this re-organisation, some of the existing functionality will probably disappear. I'm definitely making it so that you can type something like
make config
make makefiles
make build
make install
and things will happen. The SETUP script will probably become a wrapper around this, assuming I keep the SETUP script at all.
One thing is for sure ... I'll be introducing new approaches which will remove the need for symlinks totally. This will get around problems on some operating systems which don't like tar files with long symlinks in them ...
Today was waterfalls. Especially nice (if muddy) after yesterday's downpours.
I've had almost zero feedback on my questions this weekend to the NQS-Developer's mailing list, so I'm going to assume that no-one is going to be desperately upset if I break device queues (by accident, I hasten to add!) and everyone's happy to see new pre-releases as and when I feel there's enough to warrant a release, rather than as soon as each new feature is implemented.
Raining. All day.
Spent the day working on a submission for the Linux Special of IEEE Software [more]. Boy, am I rusty at this paper writing stuff! Right now, the article is nowhere near ready to submit ... maybe I'll do some more on it next time it rains.
Back to the Brecons. Spent all day trapsing across Mynydd Illtud common searching for a standing stone ... also tried a 10+ frame panoramic shot of the Brecons from the common. I reckon it'll take my PC the best part of a week to reassemble that shot once I've scanned in all the individual frames :(
I'm on holiday <grin>
Spent most of the day up in the Brecons (it's only about an hour's drive from home in Bristol ;-) gathering guide books and deciding where to walk.
Number 1 task today is to attend the doctor's and get my hearing back!
Number 2 task is to make significant inroads on -pre7.
Number 3 task is to have a long hard think about the parallel processing support email I've had for some time now, and finally get a reply off (my apologies Dieter et al - I haven't forgotten, it's just a pretty big topic!)
Number 4 task is to ensure all my other email is up to date.
Number 5 task is to get out with my camera and catch the sunset over the Severn, if it isn't raining. Tried last night, but by the time I got back from work I'd missed the best light.
--
Right, I'm looking at getting the group-id support done today. Once that's done, I'll probably put out a -pre7 before moving on to the next new feature.
According to my nice NQS Protocol document, as supplied by CraySoft several years ago (many thanks!), integers 76 and 79 in a RAW REQUEST packet are marked as RESERVED. These match up exactly to the struct rawbatreq you can find in libnqs/internal/99-all-systems/struct.h.
What's a stdlog? When you run a batch job, you get two files back - <req-name>.o<req-id> and <req-name>.e<req-id> - which contain the output from stdout and stderr respectively of the job.
According to the code, a stdlog is a third file - <req-name>.l<req-id> - associated with device jobs.
Today is a totally bizarre day. No email. And not, as far as I can tell, because of any network faults anywhere. It's strange how this has made me paranoid, leading me to spend quite a bit of time checking the mail logs on my email server to be sure ;-)
We seem to be doing well with downloads of Generic NQS, currently averaging about 3 a day.
Tonight I'm evaluating Code Crusader [more], and Code Medic [more]. These two tools together aim to provide a high-quality IDE environment for UNIX, including a decent front-end to GNU's gdb debugger.
I've decided to standardise on X-Windows as the way I'll use UNIX, especially once I've got a second UNIX box. Most of the time, I'll use an X server running under Windows 98 - this allows me to combine all of my apps on one monitor (maybe I should get a second screen after all, and use Win98 to drive both? ;-)
My holiday starts in the morning ;-)
Another night bowling after work.
Right - I've had enough of zipping up this entire web site everytime I want to upload a few simple changes. The zip is nearly 4 meg in size - once I've had time to put more data into the web site, it'll become prohibitively expensive to upload from home.
FrontPage's Web Publishing Wizard isn't working through my firewall/router combination, so it's time to find something which will. And if I can't, I may have to look at using the CODA filesystem after all ... (Just to be fair, I'm not sure it's FrontPage's fault. If other tools also fail, it's time to have a closer look at the configuration of said firewall and router ...)
Ideally, I want something which runs from my Windows desktop, and uploads only new pages via FTP to www.gnqs.org.
I'm also looking for a good free, or shareware, X server for Windows 98. I've used commercial servers at work, and been thoroughly unimpressed with them all. I'm hopefully going to gain a new PC soon, and I want to turn this one into a Solaris/FreeBSD dual-boot system. Not wanting two monitors on my desk, I'd rather drive the UNIX system over the network.
I announced my (much needed) vacation yesterday. I'm planning to spend part of that vacation working on Generic NQS v3.51-pre, and hopefully adding a few more working pages to this web site.
Update on the web site uploading tools ... they also don't work reliably through the firewall and router. I think it'll have to wait until -pre7 is out.
Kristi's birthday.
Dismantled the computers, so that I could put floor-to-ceiling shelving up without covering them in bits of wall I'm drilling out between me and my next-door neighbour.
Unfortunately, I managed to exhaust the local DIY store's supply of black ash shelves (both the short ones, and the long ones), so the wall looks a bit odd. I've run some rails down the wall, which the shelf brackets will fit into whenever I can actually get hold of some more shelves.
Still, at least the piles of unread books can now be transferred from the floor (where invariably they get kicked or otherwise knocked over) to somewhere safe. Unfortunately, they're nearer three figures than two in number, and I'm aquiring them at a faster rate than I'm reading them.