Fundraising

May 31st, 2009 - 38 words

Look, a blog post!

But it’s not a proper one. It’s just solicitation for sponsorship, because we’re doing the Two Castles Run again, like a pair of idiots.

Here’s the link, in case the widget up there doesn’t work: http://www.justgiving.com/jhdp_2castles2009

Conservatory Daruma

March 18th, 2009 - 20 words, 1 image

Conservatory Daruma - (Flickr user ukslim).

The fact that both eyes are filled in tells you that a wish came true.

Salsa

March 17th, 2009 - 243 words

Leamington needs a Mexican restaurant. Yes, it already has one — Chico’s — but last time I checked it wasn’t very good. I wish them well, and a little competition would surely spur them to improve.

In the meantime, we felt conflicting emotions when we saw that Tarkos (nee Tarsus) kebab shop had closed down, to be replaced by Salsa, a Mexican takeaway.  Tarsus was the default kebab shop when we were students. Tarkos made fabulous donners, but Sakaraya is closer to us and does an excellent chicken kebab, so we hadn’t given them much custom of late. But a Mexican takeaway! New dining opportunity!

On Friday, we resolved to try it out. We walked over, rather than phoning for a delivery, and ended up ordering nachos grande, some spicy lamb meatballs with rice, and a beef chimichanga, all to share.

Everything was delicious. The sauce with the meatballs was especially good. We had been cautious not to order too much (with Chinese and curry, it’s easy to end up with way too much food). In fact on this occasion we could have managed more, so perhaps a starter each and some side dishes would have been appropriate.

All in all then: good news.

Then, on Sunday, we peered at an A4 notice taped to the inside of the premises opposite our house. “Casa Rico Mexican Takeaway, opening soon”. They’re like buses, I tell ya. I hope they’re successful enough that someone expands into a sit-down restaurant.

  • Sushi
  • Mexican
  • Noodle bar

March 2nd, 2009 - 24 words

Remember ambient dub? ‘course you do!

Now I come to think of it, I should have strapped a couple of mini maglites to my ears.

Beaten by Steve Jobs

February 17th, 2009 - 526 words

So in my previous post, I explained how my Mac Mini died, just as I was feeling proud of my neat desk area.

I bought it in 2005 when they had only just been released. Since it proved itself incapable of running the GarageBand music software it was supplied with to any reasonable performance standard, it’s main purpose has been to download, rip and store media.

  • It was the iTunes machine - feeding both my iPod and Debbie’s iPod Touch
  • It was the Bittorrent machine
  • It was the file server - it has a 120GB external drive attached

A great deal of our TV watching is streamed from this machine (onto an original Xbox running XBMC). I synchronise my iPod frequently, to pick up podcasts. Not having it is a nuisance.

The Mac Mini makes a good, if expensive, home server because it is unobtrusive and quiet.

Still, looking at the uses, I thought it was a good opportunity to save some money, and have some fun building a quiet, small, neat home server using those PC-compatible mini-ITX boards you can get. If it ran Linux I could get away with something fanless and low-powered.

I specced up a mini-ITX box. With the inevitable spec creep, it soon passed the £250 barrier.

Then I remembered the iPods. I looked into various ways to integrate iPods with Linux. There are some promising freeware applications, all of which had minor issues which would require effort to overcome. I want to be able to continue to plug my iPod in before my morning shower, and return to find it synchronised without having to type anything. iTunes runs under WINE, but not without effort, and nobody seems to have got it to synchronise. VMWare, also, doesn’t seem to be iPod-friendly.

All this seemed to be leading me towards running Windows on my Mini-ITX box. I shuddered. If you already run Windows, then you might tolerate the flaky implementation of iTunes within it. If you need to run iTunes, buying a copy of Windows specially doesn’t make sense.

With their iPods, Apple were strongly pressuring me towards MacOS.

Then I remembered my external drive. It’s an Iomega, in a nifty case that echoes the design of the Mac Mini, such that they stack up and look like they belong together. As such, it came preformatted in Macintosh HFS+ format. I remember thinking at the time, I should reformat it to a more ubiquitous format, but I was lazy and did not. You can’t read *that* from Windows. Even in Linux it’s not all that solid.

And so it was, that I regretfully admitted that Apple has boxed me into their ecosystem, just like Stallman warned me, and that to fight it would require effort. The easiest solution was to spend my way out of it and get a new Mac Mini.

Debbie allowed it, since it was her easiest route to seeing Lost on time this week, and since the Apple Store is affiliated to the BA Miles Store.

I ordered it on Sunday evening, it reached me today: post-haste, not erewhile!

Actually I’m quite looking forward to seeing whether this one can record more than four bars of mic input in GarageBand without the app crashing.

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.