Tidiness thwarted

February 17th, 2009 - 366 words

We went to Solihull on Saturday. We had lunch at Wagamama. We bought valentine steak at M&S (having failed to find a proper butcher) and vegetables from a proper greengrocer. But the prime reason for going was so that I could get some audio bits and bobs from Maplin.

I love Maplin. I don’t understand how people spend hours browsing in a clothes shop, but I could spend all day looking at gadgets and tools and bits of wire. Yes, I bought the audio bits I needed, but I also bought some self-adhesive velcro pads, some velcro cable ties, and a USB hub, thinking I could sort out the mess of cables under the desk by the Mac Mini.

So it was that on Saturday afternoon, I emptied months’ worth of accumulated clutter from the alcove where that disk and that Mac live, unplugged it all, then plugged it back together again neatly.  The trailing mains block velcroed to the inside of the desk; cables suspended from the underside; the USB hub suspended from the underside for easy and neat accessibility.

With other stuff tidied as well, I settled back to use the Mac desktop properly for the first time in months (as opposed to my usual practice of clearing a tiny space in which to use the mouse, opening Vuze, looking at it or deleting something, all left-handed while craning round the corner.

First things first: the Mac told me there were updates to install. I told it to get on with it. This involved a reboot. Upon reboot, everything was disturbingly slow. The desktop would freeze up for minutes at a time. I managed to summon up a console. It told me there were disk errors. I found the Disk Tool. It told me my main disk was faulty, and the ‘repair’ button was greyed out.

I tried to boot it from the install DVD. It wouldn’t do it. Every time I tried, it would spit out the DVD, then boot from the hard disk. The more I did this, the less often it would boot, until eventually it wouldn’t boot at all.

So, an excuse to abort this silly Apple lark. Another post, I think, for what happened next.

Digital photo display: requirements

February 15th, 2009 - 300 words

I was trying to read this morning, but as it happened my laptop was angled such that it was clear view, and the Picasa screensaver came on. I couldn’t stop looking at it: it has some pretty pictures and some good memories on it.

This got me to thinking: what would persuade me to cave in and buy one of those digital photo displays? They’re increasingly cheap, but I don’t think they’re quite right yet. What would it take to make something I’d be pleased to hang on the wall at home?

So here’s what I want:

  • at least 15 inches diagonal
  • 4:3 aspect ratio - since that’s what comes out of most cameras
  • look as good as or better than a colour laptop display (I specified this in terms of resolution and colour depth, but replaced it with this more subjective statement)
  • viewable from as many angles as a print
  • e-ink, because:
    • it should reflect light like a print, not transmit light like a screen
    • it should use little-to-no power when displaying a still picture
  • battery operated - one set of batteries should last at least 6 months
  • modular enough to mount in the frame of your choice - I don’t mind too much if I have to break a warranty and hack it apart, but I do want that to be possible. It’s even better it it’s designed to be used with arbitrary frames.
  • reads from a standard memory card (WiFi would be nice, but it’s not a deal-breaker for me)

This doesn’t seem too much to ask. I’d pay about £80 for something that met all those requirements: more than you’d pay for a LCD photo frame today. E-ink is on the cusp of becoming mainstream. I think full colour e-ink will be expensive for a short while, and then as production ramps up, drop in price dramatically. Fingers crossed!

Everything bad about it is on purpose.

February 6th, 2009 - 20 words

… although something about the YouTube beta uploader seems to have made my voice sound reedy and out of tune…

Easy programming languages and Real Programmers

January 29th, 2009 - 799 words

Warning: I disappear for weeks, and when I come back it’s a geek post. Sorry.

There’s an old saying: “Real programmers use C”. If you mention this in the wrong circles, it will degenerate into a pointless “four Yorkshiremen” contest, in which someone eventually awards themselves the crown of being the most “real” programmer because they used to write programs by hand-blowing vacuum tube valves.

Still, nowadays C is about as close as most programmers get to ‘bare metal’ programming. Some get closer to the metal by coding in CPU-specific assembly language, but increasingly that’s specialist work. Most graduate computer scientists write a few dozen lines of assembly as one minor module of their degree, and never touch it again.

Meanwhile, I have recently found myself using something that may appear to be the polar opposite of C. Software AG’s WebMethods product has its own language, named ‘Flow’, in which a program (a ’service’) is created by dragging steps into a window from a pallette. A flow step has inputs and outputs, and you can drag a line to join an output to an input.

So, for example, if you wanted to write (a + b) * c in Flow, you’d create a service, and define inputs a, b, c, along with an output ‘result’. Then you’d browse through the available built in services, find the ‘add’ service, drag that in. You’d join ‘a’ and ‘b’ to the inputs of ‘add’. You’d find the ‘multiply’ service. You’d drag ‘c’ to one of ‘multiply’s inputs, and the output of ‘add’ to the other. Why, it’s all so easy, even a business analyst could do it!

Flow makes programming easy by doing away with all that tricky typing, and all those difficult concepts ‘real programmers’ waste their time with. Concepts such as datatypes, scoping, exception handling, function signatures, information hiding, and so on.

But here’s the problem: that’s good stuff that Flow has thrown out. If you pass that (a+b)*c service a=1,b=2,c=3, it’ll behave nicely and give you 9. But if you pass it a=1,b=2,c=”banana”? What if you leave out b altogether?  Nasty things happen *at run time*: things that even a C compiler would have forced the programmer to deal with. Scale that up to serious applications, and you have a recipe for absolute disaster.

Yet, criticise Flow, and people come out of the woodwork with that ‘it’s easy enough for business analysts’ argument.

Let’s dedicate a paragraph to being polite to business analysts. Anyone clever enough to be a worthwhile business analyst is definitely clever enough to use a conventional programming language. Indeed, the analytical mind you need to do the job probably means they’d be among the first to appreciate the value of conventional language features. So let’s reword the claim. Flow, it is claimed, gets away with being how it is, because ‘it’s easy enough for people who aren’t clever enough for conventional languages’.

This is so very, very wrong.

Real programmers - by my definition - in 2009 - will often choose not to use C. A real programmer will seek out a language that will allow them to get the job done quickly, comfortably, and with as few errors as possible. Depending on the job at hand, sometimes that’s C, sometimes it’s Java, increasingly often it’s a scripting language, or a mixture. If WebMethods Flow were so easy, it would be popular with real programmers.

Experienced programmers can deliver seriously faulty Flow code, because it lacks the sanity checking they’re used to. With Flow, you have to be almost as careful as if you were writing assembly. As basic as C’s image is, it has more safeguards than Flow.

Inexperienced programmers are in a worse position yet. They are dropped into a friendly looking world in which pretty much anything they do is accepted as runnable. They are given an awful lot of rope with which to hang themselves.

Beneath the simple facade presented by Flow, there’s quite a complicated interaction between data structures. There are some quite common circumstances in which really subtle nuances to do with Java object references create behaviour which the Flow programmer does not intend.

These inexperienced programmers are ill-served by a language that does not rein them in.

When a conventional language tells you “you can’t divide a word by another word”, that’s not being harsh - that’s being helpful.

When a conventional language says “you can’t refer to a variable named ‘paramter’ because you never defined one”, that’s not being unfriendly, that’s pointing out a spelling mistake and anticipating a more serious problem.

These are things that were known in the 1970s or earlier.

Computer scientists didn’t invent these things just to be clever, or fancy. They invented them because they make programming easier. I contend that any language that dispenses with them is not easier, but more difficult.

What I need is a ruthless copy editor…

New Year’s Eve

January 1st, 2009 - 166 words

Happy New Year!

Last night, rather than hold a big party, we invited a few people round for drinks, then hit town gently.

I fetched Tom and Abbi by car, then Jim turned up, followed by John and Suzanne with baby William, then Gary and MC with baby Amelie. Some mulled wine and several bottles of fizz were consumed, while people cooed over the babies. At around ten, we sent the babies and their families packing, and the rest of us headed out into the cold.

Leamington was pretty sedate. The Jug and Jester was so quiet that they’d abandoned their plan of charging £3 entry, so we stopped there for a swift one. On Regent St. it was a bit more lively, but we pressed on to the Star and Garter, which was respectably busy (although we were still able to walk in and find a table).

It was all very pleasant. We saw in 2009, and stayed there until around 2. Then we came home.

That’s our brave story.

Scuba Diving

December 16th, 2008 - 1,864 words

A couple of posts ago (which equates to several weeks — tut) I mentioned that Debbie and I had been taking scuba diving lessons. Debbie has warned me about the risk of becoming a dive bore. I reason that if I write it all here, everyone has the option to not read it.

The chain of events went like this - we booked a holiday in Mexico with Tom and Abbi, with kite surfing the primary purpose of the trip. Once it was booked, we read up on the place, and like our previous kite surfing trip (Egypt) it’s a well known diving hotspot. On the many windless days in Egypt, we took pleasure in snorkeling, and were a little envious of the divers who got to see more stuff and didn’t have to surface all the time.

Debbie called ScoobaBoosta in Warwick. We’d been there before to buy snorkels, masks and fins, and we’d both been very impressed by Sarah’s friendly service, and the way she recommended the cheapest gear in the shop. That’s good business sense, in as much as it earned her our repeat custom.

The use of CamelCase in the shop’s name was not a factor — I didn’t notice it until I started typing this, and looked up the official spacing and capitalisation on their web site. I assume the name was not borne of any computer geekery, since when they took delivery of a new POS system a couple of weeks ago, nobody there was revelling in the technology. But I digress…

ScoobaBoosta run weekly sessions in the swimming pool at Warwick School (a fancy posh boarding school), so we went for a “try dive”. That’s a chance to see whether you enjoy it, but it doubles as the first of five pool-based lessons if you choose to continue towards open water certification.

PADI, the qualification agency, goes for this approach in a big way — your taster is also the first chunk of a larger course. They use the same marketing strategy at many more levels. Crafty - not that I begrudge it.

We enjoyed the try dive, and signed up for the rest of the course the following day.

Now we had two choices. The first option, and a popular choice, was to do our five pool sessions in Warwick, then take proof that we’d done it to Mexico, to do our four proper open water qualification dives in the warm Carribean Sea. The second option was to reach Mexico already qualified. This would entail doing our qualifying dives in Stoney Cove, a very well regarded dive site in a flooded quarry in Leicestershire. The way the timing worked out, we would be doing this in mid December. Traditionally, you may be aware, December is a cold month.

Boldly, we chose the second option.

The pool sessions all went very smoothly. Although I have nothing to compare it against, I thought the instruction was excellent. I feel that the PADI teaching materials are very well structured. I’ve seen mutterings on the Web that the course should teach you more before declaring you fit to dive independently. I’m not experienced to agree or disagree with this, but I do think that what it does teach is taught well, and I believe it’s clear to the learner that at the end of the course there are plenty of limits to your knowledge, that you shouldn’t push.

The pool sessions are mostly about skills you need to deal with mishaps underwater - so that you can deal with them calmly if they occur in a real dive. There’s a lot of swapping mouthpieces, removing and replacing masks, breathing without the mask, and so on. Some of these are somewhat unpleasant experiences - it’s a wrench to deliberately remove the only thing that’s delivering air to your body, or the only thing that allows you to see. You just have to grit your teeth and get on with it, something I’m glad to say we were both able to do.

All the while you have to remember to never hold your breath. If there’s nothing to inhale, make sure you’re exhaling slowly. Changing depth while holding your breath can do you a lot of damage.

The real shock came when we learned we’d have to leave the house at 7am on a Saturday morning to get to Stoney Cove on time. I didn’t know mornings had a seven.

When we got there is was cold, windy, and raining hard. We arrived before the ScoobaBoosta mob, and wandered around a bit to see what was what. The car park was full of eager divers, undeterred by the weather. The site is as you’d imagine a flooded quarry to be, but one side is developed, with a waterside pub, a dive shop, changing rooms, and a number of features designed to simulate various entry situations.

After our explore, we spotted some people erecting a gazebo alongside their van. “Dammit,” I said, “I wish our school had a gazebo.” Joy of joys, it was our school. Not only did they have shelter organised, but they had flasks of hot water to make coffee and hot chocolate, and complimentary croissants and pain chocolat. Not just croissants. M&S croissants.

With us were Richard, who had been with us in the pool, and Andrew, who we’d not met before.

We changed into dry suits. Dry suits are the reason we accepted the December dive challenge. You can wear thermal underwear beneath a dry suit. A snug padded undersuit is provided. Hypothermia is a big no-no when diving, and I had confidence that the technology would keep us warm. I hadn’t reckoned with Debbie’s freakishly tiny neck.

Only one of the available dry suits had a small enough neck seal for Debbie. It was slightly undersized for the rest of her body, which affected her mobility. We were also decked out in wetsuit hoods and gloves.

The first dive was mostly a swim around, our first experience of diving outside a swimming pool. Because of the cold, the water was very clear and we could see fish swimming at the bottom. Our route took us past the Nautilus, a steel sculpture resembling a Verne-esque submarine. We followed the shelf beyond which the deepest part of the site lay (off limits to us) towards the sunken cockpit of an aeroplane. We tried not to allow that reminder of a forthcoming new series of Lost to distract us, lest we forget to breathe.

In fact, at least while on the move, it was more pleasant in the water then in the rain on the surface. The cold made itself known though, when we knelt on the bottom, inactive, as someone was tested on a skill.

There were a few skills to be tested - it turns out that removing your mask in cold water is quite a shock to the system, but we both managed fine.

When we emerged, my undersuit was still bone dry, and I was not particularly cold. Debbie and Andy both had dry suits full of water, and were feeling the cold. Instructor Dave wisely decided to press on with the second dive of the day as quickly as possible. The activity of changing tanks and getting the equipment on again kept the cold at bay to an extent.

The second dive was more loaded with skills. During this, we had an incident. The test was for Debbie to pretend her air had run out, take my spare mouthpiece, and breathe from it while pretending to ascend together. She did everything perfectly, put my mouthpiece in her mouth, then shook her head urgently. Immediately Dave’s mouthpiece was handed to her, she put that in then shook her head again, and made for the surface, followed by Dave. She had, in fact, performed a very good Controlled Emergency Swimming Ascent (the notorious CESA) - a last resort, but the right choice. To me, it seemed a very long wait, not knowing whether she was OK, but Dave checked she was OK, brought her back down, and we repeated the test successfully. We’re not sure what went wrong the first time around. The equipment was fine.

In fact, a CESA was intended as part of that dive, but due to the cold, and our extended time in the water, Sarah cut the test short. We packed up, and drove home, exhausted, to flop in front of The X Factor final with a kebab.

On Sunday, it was more of the same, but at least it wasn’t raining this time. Our third dive of the weekend took us to 16 metres’ depth - 2 metres short of the maximum depth we’re allowed with our training. Our reward for this trip down the quarry’s old train line was to swim through the plane cockpit. Apparently there was an enormous perch settled inside, but I was concentrating too hard on keeping the right buoyancy, and not getting kicked in the face by whoever was in front.

Once again, Debbie’s clothes inside the supposed dry suit were soaked through. I can’t imagine what it can have felt like - except that it was cold. Again, I was dry and hence reasonably warm.

Dive four was planned as a no-nonsense box-ticking exercise. We would descend, perform all the necessary tests, and ascend, all as quickly as possible to minimise our exposure to the cold. This we did. It included the CESA test. The trick with this is to continuously exhale as you swim upwards. As the ambient pressure decreases, the air in your lungs expands, so you can continue to exhale for longer than you’d imagine. Debbie’s unplanned CESA had been begun with nearly empty lungs, so she was able to experience the phenomenon to its fullest. I started with plenty of air, so I didn’t get that experience.

Andrew lost control of his buoyancy during a ‘hover’ exercise, and floated to the surface. When asked whether he wanted to go back down to carry on, he considered his coldness, and decided he’d prefer not to, so unfortunately he needs to try the fourth dive again. He plans to do so in warmer climes.

When we surfaced, I bolted for the shore, only to be called back - we had a final test, of removing our equipment on the surface, then putting it back on again. If you watched Dead Set, you might recall the scene of a frantic zombie flailing around in the Big Brother jacuzzi. The three of us must have looked very similar, struggling on the surface. At least the exercise warmed us up. Eventually we all managed it, and crawled ashore up the slipway, panting.

In the warmth of the pub, over a drink, we logged our dives, and Sarah signed our certificates. We are Open Water Divers, at the very bottom rung of the ladder (where many recreational divers are content to remain), which means PADI guides are willing to take us to depths of 18 metres in settings where breathable air is available directly above. In theory we can dive unsupervised, but I don’t think I’ll be doing that until we’ve got a bit more experience.

Somehow, in the evening, we summoned up the energy to go to Warwick Arts Centre to see John Shuttleworth perform.

My Christmas gift to the world

December 2nd, 2008 - 30 words

Don’t say I never do anything for you. I may even have got it in before you heard the original for the first time of the year in a shop.

Ousted and obsolete

November 17th, 2008 - 13 words

Why blog, when someone else is doing so much of a better job?

Back from the dead

November 11th, 2008 - 228 words

My cyberstalker has been missing my words of wisdom so much that he emailed me to complain. So what shall I write about?

Trips to various Merlin Group theme parks? Taking up Scuba diving? Making soup? A nice weekend in Monmouthshire celebrating mum’s 60th birthday?

No, I’m going to comment very briefly about The X Factor.

I like the X Factor. It’s big and dumb, but it knows it. It’s polished. It’s fun. It’s pantomime, but it deals in real dreams.

But when MPs start asking questions in parliament about who’s been knocked out, you have to wonder.

Point one: The judges have pointed out it’s not a dancing competition. Debbie and I like to observe every week that it’s not a ‘wanting it’ competition (as much as the contestants would like it to be). It’s also not a singing competition. It is, to quote Superintendent Chalmers “nothing but a damn popularity contest”. The clue’s in the title. It’s a competition about having ‘the X factor’. Singing is only a tiny part of that. A glint in the eye, a certain way of moving, something indefinable - that’s what brings the votes in. Or just being Scottish, apparently, if last year is anything to go by.

Point two: The standard by now is incredibly high. Every week, someone good is going to go. That’s how it works.

Cyberstalker - No, Debbie has not left me.

Bestival

September 8th, 2008 - 492 words

Instead of going to Glastonbury in June, this year I joined a select group of festibuddies for Bestival, on the Isle of Wight.

As well as being smaller and less of a juggernaut, it was *supposed* to be a festival with more reliable good weather than Glastonbury.

I arrived on site in a biblical downpour to find it was already as muddy as Glastonbury on a very muddy year. I got lost in the dark because the way in wasn’t lit — later finding that I’d led a bunch of strangers through a winding woodland path, instead of the direct route onto the site. Then I wandered around with a rucksack and a tent for forty minutes getting drenched while looking for Tim and Richard at the campsite they had prepared.

What added insult to injury was that I’d turned down the opportunity to spend Thursday in a
comfy bed in a warm dry house, since Al lives in Ryde. I had taken the train to Portsmouth and boarded the FastCat ferry. Surrounded by festivalgoers, I decided I didn’t want to delay the festival experience. I phone Al and said that unless is was raining when I made shore, I’d get the bus to the festival. It started pouring shortly after I’d paid for the bus and lugged my stuff on.

Things did pick up. Bestival has got a smashing atmosphere. A good 70% of the crowd brought fancy dress (sea theme — lots of pirates and wenches, Nemos, submarines and Steve Zissou crew members) and there was much high-fiving of strangers.

It really was extreme weather, and they did an OK job considering, but nonetheless, the comedy tent never hosted an act, since a river developed running through it, and other tents were closed at sunset for safety reasons. There’s a lot less wacky stuff to divert you when you
want a change from music than there is at Glastonbury, and the weather eroded what there was.

Not that there was nothing. A favourite of mine was the live jukebox - a caravan into which a three-piece band is crammed. The front is done out like a Wurlitzer, the buttons on which are marked with eclectic songs. People push the buttons, the band has to play the song.

It’s not billed as a retro event, and I wouldn’t have gone if it were, but on Sunday I realised that I’d almost exclusively been watching golden oldies. The Wedding Present, My Bloody Valentine, The Specials, The Human League, The Sugarhill Gang, George Clinton…

Did I mention The Specials? They were a “surprise act”, and they were fantastic.

I think it would be lovely in the sun. But then again, so is Glastonbury. A muddy Bestival isn’t as good as a muddy Glastonbury. And a sunny Bestival probably isn’t as good as a sunny Glastonbury.

Still, it was a great weekend, and if I allowed myself more than one festival a year, I’d probably make Bestival a regular.

I’m gunning for Glastonbury next year though.