Yaay! We’ve just signed up for Broadband internet access through Telewest. They won’t be coming to install it for another fortnight, though. Boo.
Looks like I’ve got another web cartoon to add to my list of daily funnies: Sluggy Freelance
Another busy day today. We had our first visit from the Health Visitor, who turns out to be the only male Health Visitor in the Lothian region. A charming and friendly guy, we had a good long chat about what happens next in the whole baby thing (immunisations, developmental stages, checkups, etc.).
We also had our last midwife visit, from the similarly charming Maureen Benson, who has seen us through the whole pregnancy. Maureen had been on holiday last week, so it was a different community midwife who saw us at home initially, but Maureen took over today. She seemed genuinely delighted to see that we’re getting on so well, and that everything is working out for us.
Either we’ve totally lucked out in the selection of healthcare workers presented to us, or the NHS is filled with totally lovely, hardworking, and caring people. I prefer to think it’s the latter, but maybe my cynical and bitter old heart is being turned all mushy by being a father.
I also took a couple of trips to the dump to recycle/get rid of several years of accumulated files, papers, magazines and other junk. Then I ripped apart an old bookcase that has been with us since Dickson Street, and turned it into a two-piece server rack and storage shelves for our kitchen cupboard.
Cool! With a little imagination we can now claim to have a house with a library (semi-floored attic filled with 2000-odd boxed-up books) and a server room (cum pantry). Sounds much bigger than a three-bedroom semi-detached, doesn’t it?
I bought myself a copy of the game Black & White on Friday. Unfortunately, I wasn’t able to get it up & running on Friday evening. Although the systems requirements insert in the box of the game said that it supported the Voodoo Banshee chipset, this turns out not to be the case. I found this out–much to my disgust– when I started scouring the web for info on Saturday morning.
An angry letter to EA followed.
(But then later in the day we went out, and I got myself a nice new ATI Radeon with 64Mb of DDR memory. Very tasty.)
After the computer shopping, we took the bus to Kinnaird Park, and bought a pram at Mothercare. The, we indulged ourselves with a final evening out before B arrives. We had dinner at “Frankie and Bennie’s” (which used to be the Deep Pan Pizza Company), and then saw 15 Minutes at the Cinema.
It still doesn’t seem quite real that we won’t be able to just do that kind of thing, without any forethought and planning, any more.
Abi fancied some wild rice last night, so I cooked up something a little different: pork loin with a maple syrup and pineapple glaze with wild rice and lentils.
- Put the wild rice and lentils in separate pans. Fill with water, and bring both to a gentle boil. (Cooking them till soft takes about an hour.)
- Cut the pork loin into two halves, and sear them in a pan with some butter & olive oil (or bacon dripping, if you happen to have any left over 🙂
- Put the pork in an oven-proof dish. Pour a generous helping of maple syrup, and a small tin (225g) of pineapple chunks over them. Cover the dish, and put into a hot oven (gas mark 7) for about 45 minutes.
- When the rice and lentils are soft, take them off the heat, and drain them.
- Take the pork out of the oven, and put it on a warmed plate to rest. While it’s resting, pour the juices and pineapple chunks into a pan, and reduce until thick.
- Slice the pork, and pour the glaze over it. Serve alongside, or on a bed of the rice and lentils.
Sweet and tangy–rather tasty!
21 January 2000
…and about time, too.
This is the first time I’ve updated this on-line diary in almost three months. Pathetic. I know exactly why, too. It’s not because I haven’t had anything to say (it has been a very full three months). It’s not because I haven’t had the time (I’ve had plenty of that, but I’ve chosen to spend it elsewhere). It’s because I fell victim to a particularly nasty programmers’ disease: Get It To Work (GITW).
My main goals in designing these new pages for the sunpig site were:
- I want to have a diary page (the thing you’re reading now) that automatically directs the viewer (that’s you) to the latest entry. Whenever I add a new entry, that will be the one you see at www.sunpig.com/martin.
- I want the viewer (you again) to be able to move back and forth through the diary entries.
- I want the diary entries to be stored in plain HTML format rather than in a database. HTML is a nice, portable format that can be converted to whatever system I might use in the future.
- I want to gain some experience with programming CGI scripts in perl.
I did all of these things. It works. So what did I do wrong? I forgot to add in step 2: Make sure the system allows me to easily add and edit diary entries.
Too often, you hear programmers say, “Okay, so it may be a bit hard to understand, but once you get familiar with it….” This is not what you want to hear about a new piece of software. What you want to hear is: “It’s simple to learn and use right from the start, and once you get more familiar with it, you can do all of these other fabulous things!”
“Hard, but”, versus “Easy, and.” It’s a bit of a no-brainer, really. Make the interface hard to start off with, and you will start off with users resenting the system, complaining about it, and, worst of all, not using it. If users don’t see the pay-off from your system straight away, there is an excellent chance they will go back to the old version of whatever they were using, or they will find some other, simpler way of doing it. Or they won’t do it at all (like me).
Wrong way to make a user create a new diary entry:
- Create an empty text file
- Write the diary entry, using HTML formatting tags (e.g., <h1>, <p>, <b>, etc.)
- Save the text file with the name of the current date, i.e. 20000121.html
- Use an FTP tool to upload this diary entry to a particular location on the target web site
Initially, this seemed to be a reasonable way of doing things. I’m a bit of a wiz with a text editor, so creating files should be a snap. I write HTML for a living, so no problems there, either. Uploading the file to the web site? Doddle.
Except that it’s a pain to actually do. It means I have to have a text editor available. It means that I have to have an FTP tool available. I can’t just go into a web cafe and write me a new entry, as I would like to have done while we were in California in November. (Were it not for the fact that Kinkos charge $15 an hour for web access. Even the most expensive web cafes here in Britain aren’t that expensive.)
So, the good way to make a user create a new diary entry is this:
- Go to the diary creation web page
- Enter your user name and password
- Write the entry on the web page
- Press the “save” button
I don’t have to worry about what name I give the file–I don’t even have to think about that fact that it *is* a file. All of that technical stuff is hidden from the user. Which, come to think of it, is probably one of Martin’s rules of User Interface:
The user should not have to know anything about the underlying technical implementation.
Example: In a system I’ve been working on recently, there is a database table with a field called “date_1“. (Tip: never call a database field “date_1”. It causes any programmer who works on the system after you to want to hunt you down and rip your fingers off, one by one.) The table holds account details. The field “date_1” holds either the start date or the end date of an account, depending on the account type. (Tip: never ever do this. In addition to the programmer who comes after you, the Gods of Software will also want to vent their wrath upon you.)
When I started work on this system, I wrote a web page for entering account details. On the page, there was one field for this “date_1”. If you changed the type of account (from a drop-down list box), the caption of the field would change from “start date” to “end date”.
Bzzt, wrong. But thanks for playing.
If the user isn’t aware that the “date_1” field should contain different dates, they will go in to the web page, and see “start date” as the default. They will then change the account type to one that requires an end date, and then merrily enter a start date in the field, because that’s what was asked for when they looked originally
Sure, users would learn about this, “once they get familiar with it,” but until then, they will make mistakes, complain about the system, and resent it. If you’re in the business of building software, user dissatisfaction quite simply equates to reduced sales.
Unfortunately, if you write this stuff for yourself (i.e., this diary system), you have three choices:
- Resent yourself
- Buy, or bring in a system from outside
- Don’t use it
I’m too vain to resent myself, I’m too proud to buy in something like this (which I could write myself–this is what I do), so I just haven’t been using it.
So one of my next projects is going to have to be writing a few PHP pages to act as a new diary entry/edit mechanism. Now all I need to do is learn PHP…
(And while I’m at it, I might do a little calendar thing to show what dates have diary entries on them. Because at the moment, if you click on the “previous entry” hyperlink on this page, you have no idea whether it will take you to an entry from last week or last year. So you don’t know if you’ve missed anything unless you actually scroll all the way back. A bit useless, I’m sure you’ll agree.)
Car! Books! Stuff!
27 October 2000
Woohoo! After four, yes, four months of waiting, we’ve finally
got the car we won in July. I went along to Abercromby Toyota last Monday
to pick it up. I think the sales people were a bit confused when the first
thing I asked was, “will you buy it back off us?” They got over it, though,
but the price they offered wasn’t quite the price we were hoping for. So now
it’s on the open market.
Would you buy a used car from this man? Of course you would 🙂
The long wait is finally over:
The Amber Spyglass by Philip Pullman is finally out in hardback. This is the
third book in the “His Dark Materials” trilogy, which started with
The Northern Lights and carried on in The Subtle Knife.
Last Christmas Abi gave me the first three Harry Potter books. I zipped
through them in a matter of days, and found that I was thirsty for more
young adult fiction. (For the last few years now, I’ve had an idea for a YA
trilogy of my own bubbling about in my head, but it hasn’t emerged onto paper
yet. I was hoping to stir up some more creative juices. Hardly surprisingly,
it still hasn’t happened yet.)
At one of our local Waterstones,
in the YA section, I found a pile of books, all apparently in the same series,
that caught my eye straight away. The name of the author: Philip Pullman.
The book covers were colourful and moody, the lettering of the titles bold and
sublty ornate, like a finely crafted sword. Whoever came up with the design
deserves an award–they are some of the finest and most inviting covers
I’ve ever seen.
As I read the blurbs, I discovered that there were two series: a Victorian
trilogy (The Ruby in the Smoke, The Shadow in the North and The
Tiger in the Well) and the “His Dark Materials” trilogy. At the time
I didn’t realize that only the first two books of this trilogy were available.
Can I just say, “AAARGH”.
The Northern Lights and The Subtle Knife are just stunningly
good books. They may be targeted at a youthful audience, but any adult will
be equally bowled over by them. The characters are engaging, the world Pullman
has envisioned is wide in scope, filled with genuinely innovative fantasy ideas
(like Lyra’s world, where everyone has a personal daemon, a kind of animal familiar
that is almost part of one’s soul), and the adventures portrayed are gripping,
fast-moving, and filled with tension and action. Plus, they introduced us to
Tokaji wine 🙂
So, for the last nine months or so, I’ve been eagerly waiting for The Amber
Spyglass to appear. Fan sites originally said it would be coming out around
April, but the release date was set back to November (although it’s out already).
Some rumours say that this was to avoid conflict with the launch of the fourth
Harry Potter and the Goblet of Fire, others say that Pullman delivered a
larger than expected manuscript to his publishers, and that it required extensive
editing to bring it down even to the eventual 550 pages of the UK hardback edition.
(I suspect the former, myself.)
But now it’s finally here. I picked it up yesterday evening, and I’m looking
forward to some long and pleasurable hours over the weekend. Once we’ve finished
laying a new floor in our loft, that is.
Microsoft Certification update
After having been a “temp” MCSD (two of my qualifying exams expired
three days after I’d achieved got my MCSD), I’ve now upgraded myself to
permanent MCSD status. The dreaded “70-100 Exam” (Analysing Requirements
and Defining Solution Architectures) turned out not to be so hard after all,
and I passed it with a modest 99%. No, really.
Fifteen weeks down, twenty-five more to go. Abi is just starting to show, or
maybe she’s just getting fat. (Ouch–stop hitting me!)
Well, more like yet another set of upgrades to the old one. Frankenstein,
which was build from scratch from individual components back in 1995, has now
shed its last original part–the keyboard. And that was only because it had
too large a connector to plug into my brand new
Abit KT7 motherboard. Mmmm….Donuts…
To go with the motherboard is a new AMD
Duron 800 chip, which is a serious eye-opener after my old K6-2 400. I can
now finally run Deus Ex at an acceptable
framerate–even on my old Voodoo Banshee video card. Okay, so it’s only
running at 640 x 480 resolution, but that’s just fine by me. It still looks
great. (And as for Quake 3, can we say 79fps? Sure we can!)
At the same time, I also decided to give up my treasured Linux project.
I like the idea of Linux, and I love puttering around with it, writing little
scripts, hacking around with CGI and perl. I don’t love having to
spend several days trying to figure out how to get my modem working, how
to set up the drivers for our wireless
ethernet cards, how to configure Samba to serve up our MP3 collection,
and how to configure a proxy/firewall to allow both Abi and me to share
our internet connection.
All of the above had been in my original plan for yon wee Linux beastie
in the corner. But when I can reformat the hard drive, install Windows 98
and WinProxy and have the machine
doing all of the above in under two hours with Microsoft software, then
it really isn’t much of a contest.
I figure I’ll probably end up with a Linux machine somewhere inside
the firewall, and maybe I’ll mess around with it occasionally. I hack
around with computers all day for a living; when I get home, I really just want
things to work first time. Unfortunately, Linux just doesn’t cut it
on the ease of use and configuration front yet.