And another new year begins…

Hola compadres! Well, it’s been all quiet on the Gimboland front for a while, so I thought I’d bring things up to date a little. First up, happy new year!

There hasn’t been much Gimboland activity at all since October or so because I’ve just been so darn busy with work – these damn students just won’t leave me alone. I think I’m being too helpful, and I need to work on being gruff and dismissive. The new term begins next Monday, and there’ll be exams to mark and marks to collate which is a pig of a job but one I’m landed with, so don’t expect great things on this site for the rest of January. In fact, February and March are probably out to, because (hold onto your hats) I’m getting married at the end of February. Woo and indeed hoo. More details later (and the inevitable pictures), but for now suffice to say that as if I didn’t have enough to do with teaching, marking, and research, I also have wedding preparations to think about now too. :-)

Nothing much else is flitting into my mind at the moment, so I think I’ll leave it there. Once again, happy new year everyone – I hope you all had funky Christmases, and all the best for the year ahead.

Sayonara!

No reason to expect things to get any better, I suppose…

I’ve been so involved with work over the last few months that I’ve kinda stopped paying close attention to what’s happening on the world stage – it’s so depressing anyway that I guess I needed a break. So it’s nice to start the year on an extremely black-humourous and cynical note with Exile Magazine’s Funniest 50 Moments of 2003 [null] (a little Russo-centric in places and very dark throughout).

The Nuclear Winter Religion

What do alien life, nuclear winter, passive smoking, and global warming all have in common? Well, according to Michael Crichton, they’re all religions [gamma].

His point relates to the process of science in general, and how it gets compromised by exposure to politics and other social “realities”. Very interesting stuff.

Let’s be clear: the work of science has nothing whatever to do with consensus. Consensus is the business of politics. Science, on the contrary, requires only one investigator who happens to be right, which means that he or she has results that are verifiable by reference to the real world.

Once you abandon strict adherence to what science tells us, once you start arranging the truth in a press conference, then anything is possible. In one context, maybe you will get some mobilization against nuclear war. But in another context, you get Lysenkoism. In another, you get Nazi euthanasia. The danger is always there, if you subvert science to political ends.

Parts of this remind me of this short article by Brian Eno, which introduced to me the word “propagenda”, and which happens to be stuck on my wall at home.

And while I’m writing, and since Lysenkoism was mentioned above, I’d just like to say how much I enjoyed Solzhenitsyn’s One Day in the Live of Ivan Denisovich, which I’ve devoured over the last few days – compelling and vivid stuff. Much more enjoyable, in fact, than Twenty Thousand Leagues Under The Sea, which after twenty years of anticipation, was a really dull disappointment. I guess I’ve been spoilt by the likes of Bruce Sterling for Jules Verne to hold much wonder for me. Shrug…

Python round-up

Checking out the Daily Python-URL for the first time in ages, I immediately see the following interesting items: MMA for autogenerating MIDI accompaniment files; lython, a LISP front-end for python, and finally, an ickle bit of python to calculate sunrise times (what, no sunset?). Good to see the Python world is rolling on without me…

The Sounds of Redness

Now that’s comedy. Gotta love that yeti.

Mac OS X for hackers

What is Mac OS X? – a hacker-friendly answer [null].

Full of natty bits like the following:

It is worth noting that pressing T while your Mac powers on would boot it into what’s called the FireWire Target Disk Mode. Essentially, your Mac becomes a fancy external FireWire disk drive.

XNU’s Mach component is based on Mach 3.0, although it’s not used as a microkernel.

Get your pies for the great pie fight

http://3.14159265358979323846264338327950288419716939937510582097.org/ [bash]

IT Industry shift away from Microsoft?

Here’s an Inquirer article claiming that the IT industry is starting to shift away from Microsoft, taking the point of view that we’re at or approaching a “tipping point” [bash]. I’m not sure I buy it – I’ve spent so long waiting for this to happen and it never seems to, but what the heck, the article has some interesting aspects, so I thought I’d share. :-)

Pricelessware

Use Windows? Like groovy small programs that do useful things? Then check out Pricelessware and tinyapps.org [gamma]. In fact, tinyapps.org also has Palm software – note ye well, young Basheera (eg this and this).

Nazi Zeppelin Techno Bonanza

blode – rather odd but rather amusing too [bash]; also, anybody who’s enjoyed Elbow’s marvellous version of Independent Woman as much as I have (you know who you are, Malc and Bash), ought to find this mildly amusing. Any anybody who hasn’t enjoyed it yet ought to watch that just for the music, which is fab, and an excellent ghost track for CDs you make for your friends…

Norton Defiant On My Chest

Somebody please buy me a Norton Defiant t-shirt or jersey for my birthday…

This is your art on LSD

This is your art on LSD [milk] – wow. I think my favourite’s definitely the one at 2 hours 45 minutes.

I’m having a little trouble controlling this pencil. It seems to want to keep going.

Darth Vader vs Mr Punch

So Darth Vader doesn’t like Mr Punch either, eh? [Thanks, Dave!]

The Fluffy Hippy Guide To Deadlines

The Fluffy Hippy Guide To Deadlines, easily identifiable as such by the words “giving a deadline to yourself or to another is like giving a gift”. [via that fluffy hippy I can't stop talking about, probably because I'm marrying her at the end of next month, bash]

Switching gentoo runlevels at boot

Back when I used to run Debian, it was very often very useful to be able to boot to a different runlevel from the default. In particular, when there were problems, it was great to boot to level S (single user, a minimal boot) and start fixing things.

Runlevels in Gentoo, which I’m using now, are handled differently (also because you generally use grub instead of lilo), and I didn’t know how to do this.

Happily, this gentoo forum thread holds the answer (hidden away amongst the dreck), which is that you can add “softlevel=<whatever>” to the kernel boot options when in the grub menu. So “softlevel=single” seems to do the trick.

Hurrah.

Tim, do you know where your towel is?

Via Mr Finnis’ excellent weblog, apparently the upcoming Hitchhiker’s Guide to the Galaxy movie will star Martin Freeman (Tim from “The Office”) as Dent Arthur Dent, and the deliciously slippery Bill Nighy as Slartibartfast. Jim doesn’t tell us where he gets this goss from, alas…

And while we’re linking from Found, this was quite amusing too, but not nearly as meaty as this lovely nugget.

They talk by flapping their meat at each other.

Partway Gay

Partway Gay – a Washington Post article about fluid shifts in sexual orientation/behaviour in American teenagers, particularly girls [via bash].

Outside of conservative religious circles, the common understanding for years has been that homosexuality is largely genetic, based on physical attraction, and unchanging. Though an easy model to understand, if not accept, it has a major flaw: It is derived almost exclusively from male subjects. Recent studies of relationships among women suggest that female homosexuality may be grounded more in social interaction, may present itself as an emotional attraction in addition to or in place of a physical one, and may change over time. Young women also appear to be more open to homosexual relationships than young men are.

Well, dur. Roll on the day when human beings stop trying to judge, categorise or even explain sexual preference, and just accept that we’re all people, and some people love some other people, and that’s all we really need to know. This world is a scary enough place as it is without being told who you can or can’t be nice to.

Scrooge McDagobert, King of France.

I learned today, from my research supervisor, that in Germany Scrooge McDuck is known as Dagobert, who was also a Frankish King, the most powerful of the Merovingians and reputed descendent of Christ, depending on how many socks you’ve been smoking lately. Crazy world.

Ikea Walkthrough v2.3.1

How to survive Ikea [yeti]

If you speak like the Swedish Chef you may be able to fool the employee into thinking you are the IKEA regional manager.

Happy Anniversary To Me

It’s a significant, anniversary-laden date for me.

First and foremost, in exactly one month, on February 29th, I’m getting married – nuff said.

Second and foremost, a year ago today I received my first email from the girl I’m gonna marry – the start of something big.

Third and finally, I delivered the first Operating Systems lecture of the year today, the same lecture I delivered a year ago (though not on this exact same date), so I’d like to consider this my one-year anniversary as a lecturer. Since that blog entry, I’d say I’ve become more comfortable with waffling on and on (as if such a thing were possible, I hear the members of my family saying), and a lot better friends with chalk.

Today’s lecture felt a lot better than last year’s… I asked if there was anybody in the room who’d been there last year and there were a couple (slackers!), but they didn’t tell me if I’d improved or not. ;-)

Shurely shome mishtake

Crazy… Gimboland is the top Google hit for funniest weblog ever – but only because I tried to help get defective yeti into the top spot, here.

Curator – nifty looking python for image galleries

Curator – some nifty looking python for image gallery creation. Possibly something for me to look at when I finally get round to getting my galleries working again, which I’d love to do in time to put up some wedding pix, but don’t see happening due to workload… :-/

Curator is a powerful [python] script that allows one to generate [static] web page image galleries [with "tracks"] with the intent of displaying photographic images on the Web, or for a CD-ROM presentation or archiving.

Nokia prefers Python to Perl for smartphone scripting.

Nokia prefers Python to Perl for smartphone scripting.

Random Mark Twain Quotes

The Random Mark Twain Quotes Page [gamma].

Do something well by doing it a lot.

Here’s something for me to think about when I’m setting coursework [gamma]…

The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality.

His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot -albeit a perfect one – to get an “A”. Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity.

It seems that while the “quantity” group was busily churning out piles of work – and learning from their mistakes – the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.

Bike Frame Size

Some interesting notes, via an old email from Simon, about choosing a frame size for your bike. Somewhat skewed towards road bikes (“racers”, as we used to call ‘em when I were a lad) but worthy of note anyway. Author thinks everyone’s riding bikes too small for them.

Dog Tired

I worked a 59 hour week this week. Highlights included ’til 10 on Monday, ’til midnight on Tuesday, ’til 3AM on Wednesday, and 7 hours today (Sunday). It’s been exam marking and mark-collating season, and I’m on the team that does this job in the department, so…

This level of craziness is unusual for me, thank God, but every week since Christmas has been full on (wedding preparations and house-related shenanigans (selling one, looking for another to rent) have helped fill the gaps nicely), and in fact, when one of the secretaries said to me a couple of weeks ago “ooh, it’s been really busy this week – last week was lovely and quiet, wasn’t it?”, I had to reply “Jill, I haven’t had a quiet week since <pause for thinking> – August”. Alas, it’s true.

Roll on the summer, that’s all I’ll say…

Just

Something I spotted on the unofficial UWS Computer Science student forum: Just

Nice one seymansey, whoever you are…

Crackling cardies

According to the ever-trustworthy popbitch, Tony Benn‘s rider for his recent lecturing tour read as follows:

Armchair (comfortable), rug, a vegetarian sandwich, fruit (esp. bananas!) and tea. Sound engineers should also be aware of possible sound interference from Mr Benn’s cardigans.

Simple, timeless, underpants.

Soylent Green is underpants! [chicken]

Video feedback fractals

Analogue fractals, anyone? Video feedback is the way! Via this page, via gamma.

The Squirrelly Has Landed

The Squirrelly Has Landed – congratulations Matthew, Queen, and Ickle Baby Squirrelly.

Wedding Weather Watch

I’ll be keeping a real close eye on this page over the next five days… Looking good right now, fingers crossed it stays that way.

We received our first wedding cards/presents today, from our colleagues. Let the booty giving commence!

Frosty The Lecturer

Well, that was new… I walked into my Networking lecture this morning only to find an actual snowman on the podium at the front of the room. I wasn’t quite sure what to do but reasoned it’d probably last through the lecture so I left it there and sure enough, it was fine. Well, it need need a little preventative maintenance around about “Isolated Routing – Hot Potato”, but that done, he made it through, only to be rescued by a couple of second year girls and taken to his new home on the flower beds outside, there to melt in the sun.

Oh yes, forgot to say: it snowed last night. Car had four inches of powdery white fluff on it this morning – fun fun fun fun fun!

Wedding preparations continue apace… Bronwen (bridesmaid #1) arrives today, Bash is off work to meet her. It’s Bash’s mehndi party tonight, and I’ll be here at work burning CDs of music for the party & ceremony. Tomorrow I lecture 12-1 then we skidaddle to Cornwall. Party on Saturday, wedding on Sunday – wish us luck!

And here’s the proof

And here’s the proof that what I told you yesterday was true…

Me with Snowman, lecturing

Click the picture to see more of Swansea in the snow.

I’d just like to point out/emphasise, by the way, that I didn’t put the snowman there. Honest.

Wedding bells

OK, so, I’ve left it waaaay too long to write about this, but the more time passes the more things I have to tell about and the more other things I have to do, so I figure I should say something, anything here even if it’s much less than complete.

So anyway, I got married. :-) A month ago!

I’m about half-way through writing properly about it, but it’s not ready for publication and right now I don’t have time, nor will I for a while… I just got back from a conference in Barcelona (where the weather was very Swansea-like, I might add, to my disappointment), and I’m about to depart on my honeymoon to South Africa on Thursday! Honeymoon is belated due to teaching duties immediately after the wedding, alas. It promises to be interesting and possibly overwhelming: the day after arrival, I’ll be meeting about 250 of Bash’s family & extended family for a big party, and will no doubt feel very much under the microscope – but so long as she’s by my side I know I’ll cope… :-)

Anyway – for now, here are some hurried words and a link to the photos, which have actually been online for quite a while. There are loads of them, and they’re not properly sorted out, and there’ll be more to add later, but what the heck. Here they are: Andy & Bash’s wedding photos!

Here’s a quick pick of maybe some of the best of the bunch (if you only look at one, look at the first one, which is Photo Of The Day, without doubt):

Best photo of the day Bash dressing with help of Sabiha Bridal party & close relations Boys from the Dwarf! Henna hands Avec Ickle Adamski Bash looking great the night before

The wedding was, of course, marvellous, thank you – everything I’d ever wished for, absolutely. Bash looked incredible and although there were hiccups with the organisation (mainly the hotel being fsckwits), it went fine, and I don’t think any of the guests noticed, particularly.

It feels great to be married… Weird sometimes – particularly initially, we kept catching ourselves and saying “we’re married” with amazed voices, although really this was just the next stage of saying, for the last few months, “we’re getting married” with amazed voices – but so right. One thing I said in my speech was that people always say “when you know, you know”, and I’d always nodded but not really understood, and that now I understand.

Of course, now the real work begins.

That’s it for now, I think – I’ll say more after we get back (19th April), modulo internet cafes in SA, I suppose! (Heh – you can tell you’ve been hanging around theoretical computer scientists too much when you drop “modulo” into conversation, or refer to getting stuck in a turnstile as a “deadlock situation”)

So… The week or so immediately preceding the wedding was one of the most stressful of my life, I’d say… Looking back now it’s all a big hazy fog, but I think it was a combination of trying to keep up with work (which is a more-than-full time occupation anyway), getting jobs done for the wedding (eg burning CDs of music, printing & cutting placecards for the reception, etc.), buying things like presents for attendants and, oh, how about some shoes for the Bridesmaid, and generally running around like headless chickens.

I have a vast spreadsheet which has already moved into the pages of family folklore, and which I used to keep track of guest list, seating plan, budget, who’d booked rooms for whom, what music we were going to play and, critically in the last few days, a schedule and packing list. The schedule was fun – with just over a week to go before the Big Day I started allocated tasks to particular days, and all of a sudden I could see an unbroken path connecting where we were now with where we would be the day after we were married. The choice was to get very focussed on the task at hand or turn into a dribbling mess. I can’t remember right now which path we took. The packing list has about a hundred items between us – and we still managed to forget part of Bash’s outfit (but I’m getting ahead of myself). Yet another lesson that technology is just a tool, not a solution…

Things really started happening on Thursday 27th February: Bash had the day off in order to meet Bronwen, Bridesmaid coming from SA, but I had lectures to deliver & seminars to attend – boo! We went for a couple of swift drinks at JC’s (student bar) at the end of the day, but then I had to get back to the office printing placecards and burning the music CDs for the wedding. The girls swanned off to my house to have henna put onto their hands and, in Bash’s case, feet. I finished with the CDs at about 11, and popped round to help wrap their appendages in clingfilm to protect the henna overnight, then I tidied up and went to Bash’s house, there to sleep (they all stayed at mine – boo again).

Friday morning, up at 7 and back round to mine to help everyone get ready and packed (and to pack myself!). Barbara (the other Bridesmaid) and I both had lectures to deliver so the plan was to hit the road as soon after 1pm as possible. I guess we managed that, in that about 2:30 turned out to be as soon as possible. :-/ The car was jam-packed with bags, Brides, and Bridesmaids, and off we set.

We got as far as Port Talbot, about half an hour down the line, before I said to Bash, “I know this is a rhetorical question, but you did pick up your blouse from the shoe shop, didn’t you?” The blouse was part of her wedding outfit, and was at the shoe shop as a colour match because they were dyeing her shoes. I knew she’d picked it up, it was clearly a rhetorical question, I just had to ask. So she turns white, puts her head in her hands, swears a bit, and tells me that yes, she did pick it up, and yes, she left it back at the house.

I was the picture of calm as we turned around and drove home. :-)

So we got to my parents’ house, had welcomes, spooked the cat, unloaded, got changed and everything, then went into Plymouth for a meal. We were supposed to meet Bash’s uncle Yusuf Vaizie who’d come over from Ireland but somehow that didn’t work out – communication problems – but we had a good meal nonetheless. Considering we had an early start the next day we stayed up fairly late chatting about stuff, checking arrangements, etc. and I took this lovely shot at around 1am, just before going to bed.

In one of those wonderful touches that really make you believe in God, it snowed, and snowed well. Saturday morning, we woke up to see this outside the bedroom window (more here, including obligatory pawprints). It was really great to feel that our wedding weekend had got off to such a special start.

So we headed into Plymouth, ‘cos I, being a Super Uber Bridegroom, had arranged full body massages for the Bride and Bridesmaids (their delight at this offer was matched only by their disappointment that alas, I would be too busy to provide the massage myself). We arrived at the hotel, installed the Bridesmaids at the spa, and were then met by the first “hiccup” of the weekend – the first of many small hiccups, alas. I’d been told, not two days previously, that we would have access to “the Commonwealth Suite”, where our wedding and party were taking place, all day on Saturday, so we’d arranged to decorate it in the morning, and had a couple of people coming along to help. Instead, we found, there was an event going on there until 1pm, so we had no chance to do any decoration before then.

As I say, this was the first of several niggly problems. To be fair, the hotel responded pretty well to this particular problem and were generally helpful, and but generally there were a number of things and generally made promises and reassurances that things would be OK

The Plymouth Hoe Moat House (Moathouse ?) Hotel made some bad mistakes in handling our wedding. No details here, but they seemed inexperienced and really botched several important things (eg opening doors for bride’s entrance, implementing our seating plan properly, actually folding the name-cards we’d prepared telling everyone where to sit, not having food from breakfast on the floor at the wedding dinner, etc. — ask me for more details if you’re interested), and we generally didn’t feel like they were being helpful enough, particularly on the day.

We still haven’t written our thank you cards.

We still haven’t sent the throw-away cameras for development.

I’ve still got two films of XP2 (black & white) to develop.

In other news, the following have been sitting in my browser/inbox over the past couple of weeks:

  • Around Cornwall in a mini – the continuing advertures of Krag Wad, erstwhile colleague at Frontier. (Ack – since I wrote this link, two weeks ago, maybe Krag has stopped paying his bills. Boo to that.
  • Also from Krag, Webjay – “listener created playlists of songs on the web”. I must confess I haven’t actually downloaded anything from here yet, my brain won’t let me, but there you go.
  • Via Simon, a set of spider-drawn world subway maps, all at the same scale – neat. Hey, Barcelona’s there!
  • Driving home from work the other night, Bash was surfing the airwaves and came across some aural madness which we assumed was being projected from John Peel’s brain. How wrong we were – it was, in fact, Late Junction on, horror of horrors, Radio 3 (and of course, since then we’ve been cruising to work in the morning to the relaxing sounds of Grieg and Barber, rather than the grating claxons of John Humphrys and Jim Naughtie), and very eclectic it was too. Anyway,In particular, it introduced me to Moondog (true and improbable cartoon bio here). They played a track from A new sound of an old instrument, which was really great, so that’s on my Amazon wishlist now…
  • Also really enjoying “Lightbulb Sun” by Porcupine Tree, and a mix CD of Ali Akbar Khan which someone put together for us…
  • Exercises In Style – thanks, Rich!

Postcodes online!

Registration-free UK postcodes online – fantastic, and much nicer than the official Royal Mail site, which they’ve managed to completely screw up. Wonder how long before they take it down, though… [ntk]

The honeymoon is over

Well, the honeymoon is over, as they say. Fear not, however – it’s not that Bash and I don’t like each other any more, it’s just that, er, we went on honeymoon, and then came back. Ho1 ho1 ho1, had you going for a minute there didn’t I?

The excitement began the day before we left the country; as reported in earlier issues of Gimboland, I’d been to Barcelona just before, and on the way out of the UK the nice lady at the check-in desk pointed out to me that my passport was about to expire (in about a month). This would, she said, present no problem as far as travelling to Spain was concerned, but there was no way they’d let me into South Africa, apparently. Cue one hurried phone call to Bash back at Base Camp, who got online and discovered what I had to do when I got back… We returned from Barcelona the following Tuesday, and on the Wednesday off I tootled to glorious Newport to pay my ninety quid and get an emergency passport from the Passport Office. Now I’m as ready as the next IT professional to pour scorn upon government IT projects, but fair play, the boys and girls in Newport really came through, and three hours, one haircut, some lunch and a trip to the library later, there was my shiny new passport in my grubby mitts, and South Africa lay ahead. By the way, I can report that Newport Library, an oasis of calm and learning in an ocean of concrete depression and shiny leisure suits, has open internet access and, to my great surprise, enough security knowhow (unlike Barcelona university) to install a firewall which prevented me downloading putty and checking my email. I looked for a “java applet putty” or similar but couldn’t find anything which did the trick. Anyone got any tips?

Wednesday being a great success, we packed and segued neatly into Thursday. Small amounts of running around then we finally left the house at 3pm. Taxi to station, train to Reading, bus to Heathrow, plane to Dubai, plane to Johannesburg, meet relatives, collect hire car, drive to brother’s house. Total time spent travelling: about 26 hours. Yick. Still, we nearly bought tickets via Amsterdam and Nairobi, so maybe we got off lightly.

Our arrival at Jo’burg airport set the tone of the rest of the trip: I met some new relatives. There to greet us were Bash’s Mum, one brother (Lee), both sisters-in-law and all her (close) nieces and nephews. I say “close” because unlike us stuffy Brits, they use niece and nephew to refer to childen of their siblings, children of their cousins, children of their second cousins, etc. Also, cousin might mean cousin, or second cousin, or first-cousin-once-removed, or just a buddy. Aunty and Uncle mean Aunty and Uncle but are also respectful terms of affection for unrelated elders. As you can possibly imagine, Bash’s explanation of her family relationships got quite confusing, and I ended up drawing a family tree on the flight from Dubai. It took up about five pages and covered the close relations on her Mum’s side. We’re talking a big family here, people.

Gladly, as I proceeded to meet maybe a third to a half of them (ie about 200 people) over the next two weeks, they all proved to be warm, friendly, hospitable, and just downright nice. One thing her Uncle Yusuf (yes, really an Uncle) said after the wedding (in his “report” to the rest of the family) was that he’d felt that being with my family was “like being with a white version of our family”, and I came to see what he meant. Her close family in particular made me feel very at home, and I’m very pleased to report that I now have two lovely Mums.

By the way, my first Mum is in Derriford Hospital, Plymouth, today having a hip replacement. Please send her a prayer/some good wishes/some positive energy/whatever you think appropriate. Thanks!

I won’t go into huge detail of the honeymoon here – I did keep a diary and maybe sometime I’ll write it up and put it on the wedding pages. I also have lots of photos of course, which I developed last weekend, but unfortunately the scans are rather “dusty” so I’ve sent them back to be done again. In a quick summary, though:

  • We arrived on the Friday; on the Saturday night there was a family reception of about 150 people where I shook many hands and really honed my skills at making salaam. Was a nerve-wracking experience but ultimately lots of fun and a good start to the honeymoon.
  • We followed that by going home and watching Devdas – ace!
  • We spent a few days around Johannesburg/Pretoria, meeting people and doing a bit of shopping (especially good: Rosebank Mall and its Rooftop Flea Market)
  • Road trip, baby! To Durban, on the Indian Ocean coast, staying with a cousin in her place right on the sea front – outstanding. I fell a bit in love with Durban, I must say; the sunshine, the heat, the humidity, the rain, the ocean, the people. Maybe I couldn’t stand it in the summer, though… I took some of my best photos on the trip in Durban, of surfers in the Indian Ocean, of Bash in the Botanical Gardens, of the skyline from a pier, … I will return. And again, such amazing hospitality.
  • Back to Jo’burg for the last few days, including a Hivemind meetup (ie lots of SA media and IT types) at a very cool jazz cafe, and staying the night at Bronny’s, who gave us a scare the next morning by pretending to break her leg – again!
  • A great picnic with all the close family at Jo’burg Botanical Gardens on our last full day, the highlight of which was Alicia taking her dog off the lead, saying something about it being “very well trained, will stay close if called”, and then watching (and running after) as it bombed straight into the water and began gleefully chasing ducks.
  • Lots and lots of really great home cooked Indian food. Bash and I relaxed our recently tendency towards vegetarianism for the duration of the trip, and were rewarded with some truly excellent meals. Thanks, everyone!
  • Bash’s cat Sienna approves of the union, and displayed her approval by bringing us a sparrow every morning that we slept at her Mum’s house. We’re looking into the logistics of bringing her to the UK, but it’s likely that the quarantine restrictions will be too onerous.
  • In Dubai airport on the way back, nearly succumbing to the temptation of Micky-D’s, but instead keeping the Adventurous Food flag burning by getting a Lebanese chicken biryani and kiwi juice which were excellent. Take that, Ronald!
  • I’m sure I’ve forgotten something, but that’ll have to do for now.

And now of course, it’s back to reality. I spent last week catching up with everything I should have been catching up with over the Easter break, but there’s still a big marking backlog and loads of other stuff on my to-do list. Bah!

Minor and major injuries

We spent the weekend down in Cornwall with my folks – very relaxing. Bash and I attempted to recreate a little adventure I went on one perfect summer’s day when I was 11, tramping across some nearby fields (indeed, trespassing) in search of half-remembered landmarks which might not even be there any more. We didn’t find them, but did have a lovely walk nonetheless.

I bought my brother’s bike from him, and had a wonderful ride in to work yesterday, along the sea front from Mumbles, but perhaps I pushed myself a bit hard… I bent over to lock it up, and stood up again too quickly; I got a head rush, said to my friend Alex “I feel unusual”, and fainted, knocking my head on the top of a low wall on the way down. So now here I sit with a nice butterly stitch on my forehead and a couple of grazes on my cheek/temple area. Kewl. Everyone’s been very sympathetic but really it’s nothing.

It’s especially nothing when compared with breaking your leg on the way down Suila Grande in the Andes, being left for dead in a crevasse, and spending the next four days crawling back to Base Camp in excrutiating pain with Boney M rampaging round your head. But that’s exactly what happened to Joe Simpson, as we discovered last night when we watched Touching The Void at Taliesin. Absolutely fantastic, easily the most gripping movie I’ve seen a long long time, and oh so well filmed. Crackin’ stuff and highly recommended, even if you’re not into climbing.

Black Books quotes!

Courtesy of the rather chocolatey Barbara, a site of Black Books quotes – groovy. I must download them and write a python script to turn them into a fortune cookie database, like I did for Coupling once upon a time. Rest assured that when I do, I’ll make it available here.

Ack, what the heck, it’s a five minute job so here we go: Black Books Quotes Fortune Cookie File. However, now that I actually look at the quotes, I dunno, they seem to be mainly long snatches of loads of dialogue, rather than the short pithy quotes I was hoping for. I may have to watch Black Books carefully and add some of my own.

By the way, if you want to use bbquotes.ft or coupling.ft with fortune, you need to run strfile whatever.ft first, to produce whatever.ft.dat – otherwise fortune is liable to complain. Anyway.

Tetris is NP-Hard

I got slightly distracted by the October 2002 Gimboland archive, and came across something which might be of interest to my students, or even my colleagues: Tetris is NP-Hard. Here’s the accompanying paper from MIT. For the uninitiated, here’s an explanation of NP-Hard, not that you might be any wiser after reading it.

Hell’s burritos

Hell’s burritos.

Orbital to split up

Shite – now I have to go to Glastonbury this year. What a pain in the ass. Oh, except the tickets have all sold out, and a pair seems to be going for 400 quid (and counting) on ebay. Screw that. Bollocks, I’d really hoped to see Orbital again some time. :-(

Marillion stick two fingers up to the RIAA, kinda

Marillion and the death of the music industry [bash].

History will see it [the music industry] as a funny little anomaly that happened between 1950 and 2010. While technology made it possible, advances in technology will also make it impossible.”

Steve Hogarth

Nice.

While we’re on the topic of music news, I was amused to note that Goldie Lookin’ Chain are in this month’s Q Magazine. I will provide edited highlights in due course.

Blimey, I just nearly choked on a piece of chewing gum.

Happy Star Wars Day

Happy Star Wars Day, people, and may the fourth be with you.

I’m amazed I haven’t said that on Gimboland before. Lord knows I’ve annoyed Rich with it enough over the years, as I shall now proceed to do…

ssh tunnels for fun and profit

Kewl, I just set up my first ssh tunnel, after reading this article. Very handy.

Your bread sucks

The bread you buy from the supermarket sucks, but then all my German colleagues have been telling me this for ages, rye-chompers that they are…

At the root of the problem is “loss leading”. It works like this. Everyday groceries, such as bread, butter, milk and sugar, are classified as known-value items (KVIs). These are the key purchases whose price shoppers know and by which they judge which shop offers the best value. Most prices are no longer marked on packets but only appear on the shelves, where we notice them briefly. As a result, most of us have little clue what other items cost.

And, of course, the retailers’ losses on KVIs are made good in higher prices elsewhere – on those items we can’t remember the price of. Healthy foods, such as fruit and vegetables and wholemeal bread, tend to have the highest retail margins, whereas loss leaders are often the least healthy purchases – over-refined cereals, highly processed products full of salt, fat and sugar. So loss-leading drives a race to the bottom: it undercuts quality foods and distorts the market in favour of the cheapest and unhealthiest. And it has put most of our traditional bakers out of business.

Ah yes, the joy of free market economies.

Team Laser Explosion!

Team Laser Explosion! – rad.

Do you like secrets? There’s a fan club too.

Orkut rumour mill

Allow me to contribute to the rumour mill. I just received this message:

Word on the street:

[09:19] <@Lonewolf> orkut's had its hardware confiscated by the FBI for peddling child porn

Certainly the website is down. Presumably some bright spark was using one of the communities for this nefarious purpose. Shame, I still hadn’t got a high enough sexy rating to show on my front page…

If you have no idea what I’m talking about, don’t worry. :-)

Later: time to quosh the rumour, apparently they’re just having DNS problems (again). Jolly good.

Alien venus flytrap jazz hand syndrome

Alien venus flytrap jazz hand syndrome, or, as Rich puts it, “just weird”.

Speed test

NDO Bandwidth Speed test, which might be of interest to my brother Mike, who’s got that pleased look on his face ‘cos he’s just got ADSL installed. :-)

House music in a nutshell

House music in a nutshell [bash].

Studio black magic

Black Magic – old Sound On Sound article on some audiophile/hi-fi good-practices/myths/snake-oils and their applicability (or otherwise) in a studio setting.

Georgeous, simply geogeous

I seem to have a mental block against writing the word “gorgeous” right first time. It always comes out as Georgeous. I don’t even know that many Georges – what’s going on in my cerebral cortex?

Lots of free VST plugins

Lots of (apparently) free VST plugins.

… and a few more here, too, including the rather nice “Tapeworm” – yes folks, it’s a Mellotron.

Smashing the stack for fun and profit

Phrack 49 article 14 aka “Smashing the stack for fun and profit”, a classic article on hacker techniques for the exploitation of buffer overflow bugs. I should consider talking about this in my C programming course – should get the more mischevious students excited, at least.

I was amused to note that the author calls themself “Aleph One”, which is also the name of a tape I put together about six years ago of the music I’d created up to that point. As it happens, I’m currently in the process of recording those tracks from the minidisc on which they currently live, and anticipate publishing them in Ogg Vorbis format (mp3s suck, people!) Real Soon Now.

I used the name because I’d been blown away by learning about infinite cardinals in my set theory lectures as an undergraduate. Aleph Zero is the smallest infinite number, equal in size to the number of integers that exist. Aleph One is the next one up, equal in size to the number of reals (ie decimals). It all gets crazy from there, and is somewhat explained here (where what they call Aleph Null is what I call Aleph Zero).

mutt and imap

How to use IMAP email with mutt – yes, it really is that easy. Nice.

Mumbles tides times

Tide table for Mumbles, where I live.

Bumble!

Bloody hell… A bumble bee has just flown in through the open window (it’s a beautiful day here in Swansea, folks), and proceeded to alight on my mixer, right next to a big red jack that’s stuck in one of the sockets, and now it’s acting as if the things a flower: waggling its bum, brushing its legs down its sides, and generally doing what bees do.

Hmmm, it seems to be lying in just one place waggling its arse gently. I wonder if it’s OK. Maybe I should take a look with a view to rescuing it, should it be in bumbletrouble. Bumble bees have a reputation (in my brain at least) of being among the most chilled out of bees, bumbling around in a friendly manner and never stinging anyone who didn’t deserve it. So my chances are good, I hope. Here goes!

Well, that didn’t happen… Just as I sprang into action, so did el bee, finding his way to the window and grinding against it angrily for a while, looking more and more like a hornet every moment now that I thought about it, until gladly, he got with the program and headed two feet to the left, there to exit whence he came. Another happy ending, as is, indeed, usually the case with bumblebees.

SNDREC32.EXE grooves

SNDREC32.EXE grooves – very cool. “Getting creative with Windows”, as Andrew put it…

The Shining in 30 Seconds Re-enacted by Bunnies

The Shining in 30 seconds re-enacted by bunnies – does what it says on the tin, though I think it could have stood being a minute long, or maybe two.

Planet Knuth

Wow… For perhaps the first time, I’ve just learnt something from a first-year report I’m marking. Apparently, Donald Knuth has a planet named after him. Yes indeed, ladies and gentlemen, we hereby present, Planet Knuth.

mixtapehost.com

mixtapehost.com – download free DJ mixes, some of them very long, in various styles. My head is currently bobbing to this one. Via [seymansey]

Meatspace Gimboland

Oh. My. God.

Hey Hey 16k

Hey Hey 16k – required viewing for anyone who ever loved a ZX Spectrum. If you didn’t, well, go and watch it anyway, and ponder what might have been.

Shame it doesn’t get to the (fantastic) chorus until the end of the song, which as any pop mogul would tell you is entirely the wrong thing to do…

Ghostscript PDF writer tips

Ghostscript PDF writer tips. For ages now, I haven’t been able to convert Postscript to PDF using ps2pdf on my box because the pages were coming out the wrong size, and I couldn’t find out how to fix it in the documentation. This page has brought back my happiness, and now I can produce lovely PDF notes, exams, handouts, and papers natively on my dekstop box without bloody logging into another box every time I want to make the PDF. It’s pure joy, it really is.

Hard to believe I only got 55% on this geek test [bash], isn’t it? (Warning: somewhat broken in Opera under Linux, alas.)

Digital black & white

Tips for converting colour digital pictures to black & white in Photoshop/Gimp [gamma]. By tips, we mean that this goes beyond the basic “convert to greyscale” and into adjusting constrast levels, etc. for better results. Nice.

No rootkits on me, apparently…

chkrootkit – check your local Linux machine for root kits [gamma]. Gladly, it claims I’m clean.

Teaching

Shell scripts in 20 pages [gamma].

Right, that’s enough gammatron-catchup for one afternoon, it’s time I did some marking.

The Mathematics Genealogy Project

The Mathematics Genealogy Project [gamma].

Find any mathematician, his “parent” (i.e. dissertation advisor) and “children” (i.e. students).

I know that one of my colleagues is a ‘grandstudent’ of Turing but although Turing is listed here, my colleague isn’t. :-) I’ll have to remember who it is, find the details, and submit them.

Later: a sharp-eyed student pointed out that it’s Phil Grant, as you can see here.

2007-01-27: today I noticed that two more of my colleagues, Anton Setzer and Ulrich Berger, are grandstudents of Hilbert, in a line going back to Gauss, Dirichlet, Fourier, and Lagrange. Rather impressive.

Six degrees of Brian Eno

I was overjoyed to discover recently that my wife has met Nelson Mandela.

I wasn’t particularly excited about Nelson Mandela, although I’m sure he’s a nice chap. No, what really got me excited was the realisation that Nelson Mandela is of course a drinking buddy of Bono, and Bono’s spent large amounts of time in the recording studio with one of my heroes, namely Brian Eno.

Hence, here are my Five Degrees Of Brian Eno:

Andy GimblettBasheera KhanNelson MandelaBonoBrian Eno

w00t

Best. Laptop. Ever.

So Bash just bought herself a 15 inch Powerbook, and is acting all smug and Mac-user-like. Just wait, however, until she sees this, far superior, product. Best. Laptop. Ever [gamma]

Logic Audio FAQ

Been getting into Logic Audio a bit lately, so here’s a little bookmark for myself, which the rest of you must ignore, or else: a Logic Audio FAQ,

Goodbye youth, hello tartan blankets

Today is the last day I will spend in my twenties. Will I spend it squeezing every last drop out of my youth while it remains, by climbing mountains, making music, and imbibing proscribed substances from off the breasts of young ladies? No, I will not: I will spend it marking the CS-238 Networks & Data Communications, and CS-228 Operating Systems exams.

The rest will have to wait until tomorrow.

Chilled out Cornish ducks

The Cornish ducks made longer and more relaxed sounds, much more chilled out.

Dr De Rijke said she chose ducks because they were sociable and had a good sense of humour like humans.

I don’t know, we were at a comedy night here at the uni and this duck came on and he was all like, quack quack quack, and we were all like, that is like, so not funny.

Birthday shenanigans, and the week from hell

Like Simon, I’ve spent most of the last two weeks in Exam Processing Hell. Part of my duties include collecting module marks from the various lecturers in the department and inserting them into a couple of fairly hairy databases. On the face of it that’s simple enough, but it’s fraught with all sorts of terrors, such as chasing late marks, keeping the vast amount of information thus produced organised, and dealing with all the annoying “edge cases” – that 0.5% of students who are, say, external candidates and for whom the rules are different.

Oh, it’s fun, and last week I basically work and slept, and was working after midnight on three occasions. Anton, my colleague in this venture, got it even worse, and was here all night one night…

So in short, it’s been Real Unpleasant, and I haven’t had much time for updates. However. I must record, as hinted at here, that I turned 30 last Saturday, and barring the obvious and unavoidable existential crisis which must accompany such an event, had a rather good time. I spent the day dressed as Spongebob Squarepants, in the company of two rather foxy mermaids, a couple of pirates, a flamingo, a tree (avec tres amusing monkey), a Pacific savage, a stochastic hammerhead shark, and a few normal people (here gathered). We had a great meal, a very pleasant cruise through the Mile, and a splendid all-night bonfire/barbeque courtesy of SUCS.

Being born in June has two big benefits. The first is that you’re as far from Christmas as you’re gonna get, so there’s a minimal risk of “well, OK, but it’ll have to be your birthday and Christmas present” type deals. This is important. Second, the weather’s often gorgeous, as was indeed the case this year. The sun shone, there was a pleasant breeze, my sponges soaked up the sweat (and, on a couple of occasions, the drink), and all was well. A few of us met up at Chez Bandy then perambulated through Mumbles (enduring or enjoying the stares of passers by) to the beautifully situated restaurant Castellemare, just around the headland with views of the Bristol Channel and the north coast of Devon. There we met the rest of our happy band, and had a rather yummy lunch. (Will, of course, was too immersed in abstract or poetic thoughts, to remember to pay, so we stung him for a round later.)

From my parents, I received a bicycle horn. It is mighty. From many, many, people (including my parents, they didn’t just give me the horn), I received one of these, which is very very nifty indeed. Andrew, of course, gave me a maul.

After lunch, we took a leisurely crawl back through the Mumbles Mile, taking it easy and trying not to get blue on everything. We touched base at Chez Bandy once again after that, before heading off to the beach for the bonfire. There were shenangigans and hijinks.

So, big up thanks to everyone who came and made it possible, apologies to anyone I offended or annoyed, and particular thanks to Andrew and Will for the photos. We’ll do it again next year, and every year after that until I’m 40, when the aim will be a party in space.

Moby Dock

Moby Dock, an OS X-like dock for Windows XP/2000 [null]

Canine Comprehension Compendium

The 24 words every dog knows, according to Matthew Baldwin. Particularly nice to see “Brillig” and “Barebacking” there…

Clockin’ out!

It’s five o clock and I’m leaving work. This is wonderful – the first time this has happened to me for weeks. Colour me cycling!

Mac Daddy

Today I wanted to get root on Bash’s Powerbook but didn’t know how. She, ever the clever one, suggested Google. Oh, such an obvious answer, so cliched… But it’s funny because it’s true, and I found my answer at this two year old article on the top ten Mac OS X tips for unix geeks (it’s number two – use the ever groovy sudo). Marvellous.

FotoLibra

fotoLibra, and an explanatory article by the missus. This is very tempting – I have some photos which are potentially of marketable quality. I just wonder what chance there really is that they’d be picked up and I could make some money from them. I suppose I can try six for free, and see what happens…

TouchGraph GroogleBrowser

Via Krag, whose wotever, he assures me, will be back up and running “real soon now”, we have the TouchGraph GoogleBrowser V1.01, which seems to use the Google APIs to make some pretty funky interactive graphs in a Java applet. It seems to use Googles “Similar to…” functionality, which means that the one for gimbo.org.uk doesn’t contain much that I recognise – lots about clocks, it seems. File under “odd but cool”, I guess.

Also cool, assuming your browser supports it, is the StumbleUpon toolbar – random web surfing with peer-recommendations, ratings, etc.

iicf

iicf [simon]. Fantastic.

(Context, for the uninitiated.)

None more black

Saw Spinal Tap for the first time in years last night. Oh, so good. It’s such a fine line between stupid and clever…

Whose Linux Is It Anyway?

Whose Linux Is It Anyway?, a Computer Business Review article about some claims that Linus Torvalds effectively nicked the early Linux code from other sources. Nicely, the article brings in the Super Big Gun of Andy Tanenbaum, author of Minix, who basically shrugs and says “it’s a load of nonsense, and the whole thing is highly suspicious”. The article concludes by hinting that Microsoft may be involved…

One Gimblett In Italy

One Gimblett In Italy – in Tuscany, so probably some “purncey Eengleesh bourgois” in the words of Steve Bell‘s Monsieur L’Artiste.

Check your surname here [gamma].

Noam Chomsky’s weblog

Oh. Wow. Noam Chomsky has a weblog [act]

Halfcircle

A.Simple.Blog, the blog of Craig Lockwood, erstwhile colleague of mine at Frontier, who’s now gone on to better things, i.e. starting his own company.

Be realistic

Join me – smirk at the headline [wendym].

Linux iRiver ihp-120 notes

Notes on using an iRiver ihp-120 with Linux.

Patents we’d like to see destroyed

Electronic Frontier Foundation publishes patent hit list [act].

As part of its Patent Busting Project, the EFF in mid-June began soliciting the public for submissions of patents that were both potentially invalid and used to stifle online innovation. The organization received nearly 200 suggestions, 10 of which it will now formally ask the U.S. Patent and Trademark Office to re-examine.

For example:

2. Clear Channel’s Instant Live patent, which covers technology used to produce instant recordings of live concerts. The media giant recently bought the patent and is now going after artists who choose to give fans CDs of their shows.

I was trying to explain to Bash, just the other day, why Clear Channel are evil – here is the Gimboland entry on the topic made – gulp – three years ago, although Salon seem to be making you jump through hoops if you want to read it – sigh.

Pragmatic Programmers

Don’t Live with Broken Windows, a conversation with Andy Hunt and Dave Thomas, aka The Pragmatic Programmers. They talk about the craftsmanship aspect of programming, and the idea, which I’ve always held close to my heart and been called a niggly unproductive perfectionist for, that small problems (in code) should be fixed and not left to fester, grow, and necessitate kludges and hacks. These guys seem pretty clued in.

Part two of the interview is here.

DRY says that every piece of system knowledge should have one authoritative, unambiguous representation. Every piece of knowledge in the development of something should have a single representation. A system’s knowledge is far broader than just its code. It refers to database schemas, test plans, the build system, even documentation.

Yes!

All via the terribly exciting programming languages weblog, Lambda the Ultimate. Also at Lambda, the beginnings of a programming quotes database, which includes the rather wonderful (to my mind at least) “static typing is to a good programmer what a spell checker is to a good writer“.

Elektronic – Supersonik

Wow, it seems that the exceedingly cheesy “Elektronic – Supersonik” tune mentioned here is in fact Molvania’s Eurovision entry [null].

Zladko “Zlad” Vladcik rose to prominence in 2002 when he won Molvanian Idol in controversial circumstances – the other finalist, Ob Kuklop, pulled out due to a serious throat condition after one of the judges tried to strangle him. “Zlad” immediately released the megahit, “Juust Az I Amm” – hailed by Rolling Stone as the most incorrectly spelt song of all time.

Superb.

Bill Bailey Blog

Bill Bailey has a blog (thank you, Barbara!). Alas, no mention yet of the recent and rather good thank you Swansea gig, although judging by comments on earlier gigs it wasn’t particularly hatstand, so maybe I’m expecting too much.

Anyway beardy man, we salute you and your broom!

Also, rise up ye masses and demand your rights!

Dashboard vs. Konfabulator

Via tr, one for the OS X people, and anyone interesting in the hissyfits that computer people sometimes throw: an interesting article comparing and contrasting Dashboard with Konfabulator, and arguing that the broo-ha-ha about Dashboard being a Konfabulator rip off is unfounded.

Thus, Dashboard is clearly an extension of Mac OS X system-level technologies: Web Kit for layout and scripting; Exposé for the Dashboard window layer; and Cocoa for advanced functionality. Dashboard is the result of advanced Mac OS X technology in action.

Konfabulator, on the other hand, was designed from the start with platform portability in mind. (A port to Windows was announced back in December.)

And this next paragraph…

Konfabulator is not a lightweight or small-footprint environment – every Konfabulator widget runs as a separate process, with its own runtime environment in memory. Most Konfabulator widgets use more memory than typical full-blown Mac OS X applications. Not just Konfabulator as a whole – but each widget. Install it, fire up Process Viewer, and see for yourself. (Ironically, the Konfabulator “CPU Portal” widget seems to leak memory.)

… is particularly interesting, and probably explains why Bash’s super-doovy Powerbook has been running less than optimally lately. Throw your Konfabulator into the road darling, it hasn’t got a chance!

Logical Methods in Computer Science

Logical Methods in Computer Science, a new open-access, online, refereed journal, freely available on the web. And whose name do we see on the editorial board but Swansea’s very own type theory guru (and my personal exam team nemesis) Anton Setzer. Nice.

Our lungs are dumb. Special air,please.

When I find the time to learn Ruby, I will do it at why’s (poignant) guide to Ruby, for the simple joy of learning a new language via the medium of cartoon foxes. And I will buy the t-shirt [null].

Random quote from sidebar illustrating general bizzar-o-ness of guide:

You could make it seem like I did tons of drugs. Like I was insane to work with. Like I kept firing people and locking them in the scooter room and making them wear outfits made of bread. Yeah, like I could actually be baking people into the outfits.

Robot Baby Rampage

A miscellaneous collection of cool stuff I either came across while looking for something I saw a while ago and now want to tell you about but can’t find, or came across a while ago, for some reason didn’t blog then, and have just come across again… (It does parse, honest – keep trying.)

Bruce Schneier’s analysis of the recent Witty Worm is a scary insight into the kind of crap we can expect to kill our networks from now on [gamma]. Something for this year’s Operating Systems course (chapter 9, “Security”).

Witty was wildly successful. Twelve thousand machines was the entire vulnerable and exposed population, and Witty infected them all — worldwide — in 45 minutes.

Zulu Family Sues Disney Over “Lion” Song [act]. Bash has a copy of the original recording, “Mbube” (Zulu for “The Lion”) on this compilation, and very cool it is too. Recorded in 1939, I think he certainly gets first dibs. I suppose it’s out of copyright now (?), although aren’t Disney guilty of ridiculous feats of copyright extension in their efforts to protect their revenue streams? Which is nicely ironic. So they’re suing for 1.5 million dollars, about 9 million rand, which is probably enough to buy a large chunk of Durban. ;-)

One for an algorithms course: Sorting Algorithms demonstration applet, which is very cool indeed at getting across why quicksort is so much better than bubblesort, for instance [gamma]. :-)

MD5 hashes are getting cracked [via act, although apparently also via slashdot so I guess I'm the last to know].

At the moment we can crack md5 hashes in this character range: a-z;0-9 [8] which means we can break almost all hashes (99.56%) which are created from lowercase plaintext with letters and/or digits up to length of 8 characters.

Nasty.

“Asterix collection” latin quotes translated to English [act]. I will keep it close next time I read these marvellous books…

As you can tell, I’ve been reading Advanced Combo Tricks a bit lately. It’s good, if pig-ugly. OTOH Gimboland is long overdue for a style update so who am I to talk?

Exciting things in the world of web programming

This (which I was looking for last night – see below) plus this equals potentially interesting times ahead.

Executive summary of speclation contained therein: Programmers are leaving the Microsoft platform (and not adopting .net in the required droves), because web applications are a much more hospitable world for third party developers; the problem with web applications is that they don’t have the marvy user interface capabilities of conventional desktop applications; now along come Apple with some HTML extensions enabling javascript (i.e. easy) and safe operating-system-friendly ways for web applications to draw directly to the screen in beautiful and flexible manners and we suddenly have a mechanism for funky-ass interfaces delivered over the web. Possibly. If it happens. Oh yes, and Apple have teamed up with Opera and Mozilla over this, so it’s us (the aforementioned) vs them (Microsoft and Internet Explorer), only this time we’ll be creaming their asses. Possibly. Yay!

Teaching

One of the things we study in the Operating Systems course I teach is the Morris Internet Worm. It’s a nice story, but perhaps a little old, and although I’ve spoken about more current exploits, worms, etc., I think I need to include some newer material actually in the notes. The Witty Worm I mentioned yesterday is one candidate, and oh my, here’s another [RISKS]. Hell, in any given month there are probaby a few good candidates…

In the same issue: a reminder of the uselessness of Security Through Obscurity, and it’s bigger, better-armed brother, Security Through Legislation; also, why Caller ID is broken under Voice Over IP.

RISKS is just the best – I can’t believe I’ve been unsubscribed for so long (over a year). It’s scary to read about the scale and repetition of all these problems, then slightly reassuring to realise that intelligent people are paying attention, then deeply troubling to realise that mostly, the people in charge and the people at the sharp end simply aren’t listening or don’t understand.

iCalShare

iCalShare – just over a thousand iCalendar format calendars for you to download into iCal, Sunbird, whatever… It needs more categorisation in my opionion, and, well, quite why anyone (even my brother) would want to know all of the dates of the latest Yes tour is beyond me, but there you go.

Richard Feynman and The Connection Machine

Richard Feynman and The Connection Machine [lambda]. I’ve been casually meaning to read a biography of Feynman for a while – he sounds like one hell of a guy. Cool picture, too.

Tasty Nuggets from the Programming Front

Several tasty nuggests from Lambda the Ultimate, which I’m enjoying immensely:

First and foremost, not only is there a shell named after my wife, there’s now also a programming language which happens to look rather zarjaz, and might actually persuade me to give Mono/CLI/CLR a look [lambda].

Next, here’s a paper on crash-only software [lambda].

It is impractical to build a system that is guaranteed to never crash, even in the case of carrier class phone switches or high end mainframe systems. Since crashes are unavoidable, software must be at least as well prepared for a crash as it is for a clean shutdown. But then — in the spirit of Occam’s Razor — if software is crash-safe, why support additional, non-crash mechanisms for shutting down?

Finally, an interview with Knuth (from 1996, think I’ve read it all ready) [lambda].

Diary update

Um, yeah, so I guess I’ve been chilling out, making a bit of music, enjoying the sun, doing a bit of work, and generally trying to make the most of not feeling like my life was an avalanche about to crest over me as I desperately hurled myself downhill… It’s been nice.

But where, my fan has been writing to me in his drove to ask, are the URLs about “unknown links between Cartesian geometry with imaginary numbers, recursion in Ruby and Banco Di Gaia?”. Well, I dunno, they’ll be back soon. In the meantime, a short precis.

The students have (mostly) gone home and the Computer Science department is a ghost town – lecturers are on holiday, at conferences, or (like me), ahem, working from home. It’s nice – a time to forget about teaching for a while, and get some research done, burying myself in books and papers. Soon enough it’ll be time to think about other people’s education again (resit exams in about three weeks, for instance), so I’ve been making the most of it. Plus the weather’s been really excellent…

My parents came and visited for a few days, which was most pleasant, and the first time they’d seen our house in Mumbles. We had a relaxed time, walking and driving around, eating and drinking, talking and reading, and basically Not Doing Much. They also brought us a television – since we moved here in March this has been a TV-free zone, which has been excellent. However, there were times when we missed it (Bash for the news, me for occasional brainless Sunday mornings) so when the parental units offered us their old one we gratefully brushed the gift horse’s teeth and took it home, there to feed it hay.

Bash and I have been exploring Mumbles a bit more lately, finding some excellent paths, walks, etc. – knowledge which we put to good use on Saturday when a possee (nay, pouch) of eight of us headed up to Mumbles Hill, there to lie in the sun, throw apples around, contemplate navels, and in Jo’s case, commune with nature by destroying then apologising to it. The weather was perfect and the view incredible – you could make out the cliffs on the north coast of Devon to the south, and to the east you could see Wales and England getting closer and closer to each other as the Bristol Channel narrowed to the horizon. It was Wow. Of course, all of this is utterly meaningless to anyone who wasn’t there I guess, so I’ll stop now.

We saw “I, Robot” yesterday. It was quite good, apart from Will Smith, who played his usual arrogant-misbehavin’, sytlish-dressin’, rule-bendin’, fast-machine-ridin’, wise-crackin’ gung-ho screen self. Very annoyin’. The robot/robot fight scenes were good though, and reminded me of “Robot Baby Rampage”, a fictional computer game envisioned by some of my buddies once upon a time.

Random update ends.

Bluetooth security flaws

Your Bluetooth phone is a security risk [risks]

Then, German researcher Herfurt developed a program called Bluebug that could turn certain mobile phones into a bug to transmit conversations in the vicinity of the device to an attacker’s phone.

Yay technology.

Jesus M. Christ

Now that’s comedy [act]. I stopped reading Penny Arcade ages ago — too many references to computer games I didn’t and never would know about. But that’s class. Oh, go on then… Just one more.

It’s nothing, really. Just chop it off all ready – I have nine more.

A funny thing happened to me on Tuesday night. Wait. Painful. I mean painful.

My weapon of choice for the evening was a nice wooden breadboard with a sharp triangular edge (i.e. a trapezioid cross-section), which I managed to drop vertically onto my right foot from the worktop (about three feet?) at about 9:30, causing much gnashing and wailing of teeth.

Only when I took my sock off did I realise that it wasn’t just bloody painful, it was also just bloody bloody. Yuck indeed: split nail, split skin, lots of the red stuff, etc. Basically the sharp edge of the breadboard had thundered into my big toe right at the base of the nail, where it could do the maximum damage.

I don’t immediately fall into a swoon at the sight of my own blood, but it was a bit distressing and, as I said, bloody painful, so I sat on the floor and concentrated on Keeping My Shit Together. Fortunately there was a nice young lady on hand to ply me with ice and sugared water, and then drive me to casualty, where we had a nice wait for three and a half hours before the very amiable doctor Laura called my name. She and the nurse generally agreed with my diagnosis of “ooh, that looks nasty”, but displayed their greater medical expertise by not merely looking on, nodding, and chewing their lips thoughtfully, but also suggesting that a) I should get it x-rayed in case it was broken, and b) they should pierce the nail with a needle to let the blood out from underneath.

a) was sensible but annoying because the particular hospital we’d gone do doesn’t have radiology, so this would mean a trip to the one on the other side of town tomorrow, and more waiting around. On the other hand, at least that wouldn’t be late-night waiting around, so hey, small mercies.

b) was exciting and worrying – sounded painful. Off they went in search of the apparently elusive needle necessary for this trick, and when they came back I was suprised to see an implement that looked to my untrained medical eye less like a needle and more like an electric toothbrush. By that I mean it was a hand-held white plastic device of that approximate size and shape – though I should make it clear that there was, at least, a (very small) sharp piece of metal on the end, rather than the less worrying but admittedly less effective (for this purpose) head of bristles one might otherwise expect from my previous sentence.

In the end, it was nothing. Clearly the needle – spring loaded, triggered, and instant in its action – was the result of years of careful observation and design, so suited was it to the task of rapidly piercing the toenail and leaving the piercee feeling pleasantly suprised that the whole experience wasn’t nearly as bad as expected. By way of comparison, I’d say it was marginally less noticeable than that pin-prick they do on your thumb when you go to give blood, so they can test you’re not in fact a gene-stealing alien come to take over the planet. Thus, designers of medical implements, we salute you.

Once it was cleaned up it didn’t look half bad – a bit messy but much more back to normal. Unfortunately I didn’t have the presence of mind to photograph it between cleaning and dressing, so you’ll have to take my word for it. However, in case anyone’s interested (hi Mum!), here are the photos I took before the whole procedure, while waiting, in glorious Zoom-O-Vision:

Both feet forward

Right foot

Right foot - close up

Right foot - Extreme Close Up!

Good thing: during the time spent waiting I managed to scream through a large chunk of Captain Corelli’s Mandolin, which I’d just recently started. I’d put this book off for ages, dismissing it as “the book of the film, which I hadn’t seen though was supposed to be quite good, but I don’t know, it looked a bit schmultzy from the trailer”. I was surprised to learn recently that People Who Know thought different and maybe I should read it after all. And it’s fab – nearly finished now. :-)

Bash used the time well too, ever working, ever working:

Ever on the job

To conclude, I went to the other hospital yesterday and ploughed some more through the book, before learning that no the toe wasn’t broken, and I should just be nice to it, basically. They dressed it again, and now I am muchos swaddled in white linen a la:

Very big toe due to enormous bandages

What an exciting life I lead, eh?

iPod vs cassette

iPod vs Cassette – a comparative study [bash].

Captain Corelli’s World O’ Greece

So here I am reading Captain Corelli’s Mandolin (as I mentioned) when all of a sudden I turn on the TV and it’s all Greece this, Greece that, Greece Greece Greece for some unknown reason – who knew?

Sockscriptions

There is no easier way to deal with your sock angst – what a fantastic idea! [act]

PSF seeking grant proposals.

Note to self: The Python Software Foundation is seeking grant proposals. Ooooooh. Being paid to do cutting edge research work in python – the Gimbo academic dream! Pesky MPhil will have to be dealt with first, however, methinks…

Gimboland tidying

I’ve been tidying up. I’ve ditched a lot of the cruft from the sidebars that was no longer really desired, and in so doing consolidated them to one – the dual sidebar look was starting to feel confining. :-)

I’ve also done lots of behind-the-scenes work and – finally, finally, after months and months and months of frustrated desire – fixed the images section. Hurrah. Next thing is to go through and delete old images I don’t want any more (probably quite a few), and upload lots of new ones, so expect more images on the front page from now on too.

Related to that, I really want to integrate the wedding images into the rest of Gimboland, but to do so satisfactorily will require implementing tracks in my own image management code. Shouldn’t be too bad, ho ho ho. Plus I think it’s time I brought the trek images into the fold too, and started decommisioning andys-trek.co.uk (in fact, the images are still broken over there – sigh).

Some pesky student had pointed out that many pages here were no longer compliant HTML, in defiance of the logos in the sidebar – so I’ve fixed that too…

What else to do? Well, I’d still like to generally revamp the overall style of the pages, and comments would still be nice. Anyone know of a nice open source commenting system I can plug in without having to jump through too many hoops?

Handling .tar.bz2 tarballs in python

I’m sure this will come in handy at some point in the future: how to handle .tar.bz2 tarballs in python. I’d probably have just used popen2() and called tar and bzip2 directly otherwise…

The Catcher In The Why God Why?

I just finished reading The Catcher In The Rye. Jesus, what a waste of time. What a depressing, annoying, tiring waste of time. I swear to God, that book has dragged me down – I’ve been in a terrible mood for days and I’m sure it’s that jerk Sallinger’s fault. Man, I hate that guy.

SCons – python-based Make on steroids

SCons:

an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache

… written in Python.

I say Piraha, you say Piraha, Piraha, Piraha, …

Linguistic determinism gets a boost [lambda]. And here’s the sound-bite everyone’s gonna be biting:

Hunter-gatherers from the Piraha tribe, whose language only contains words for the numbers one and two, were unable to reliably tell the difference between four objects placed in a row and five in the same configuration, revealed the study.

Languages for pi-calculus

Ignore this post unless you’re me and it turns out that yes, I have ended up looking into this (which I might or might not)…

Via this discussion at lambda, some stuff about programming languages supporting the pi-calculus, in particular a PDF paper on PiLib: A Hosted Language for Pi-Calculus Style Concurrency, and Pict, “the canonical example of a Pi-Calculus language”.

Let’s hear it for Firefox

I finally ditched Opera in favour of Mozilla Firefox and (about two weeks later) I can definitely say it’s absolutely fantastic. Earlier Mozilla versions have always seemed too slow and clunky for me, but Firefox is definitely up to speed, looks good, and works well.

I’m particularly impressed by the extensions mechanism… I’d heard that Mozilla was not so much a browser as a platform upon which programs (e.g. browsers) can be written, and that seems to be borne out here. From what’s available, it seems that it’s fairly straightforward to write extensions which range from fairly trivial UI tweaks (e.g. close tab with double-click) to complex apps in their own right (e.g. the Sage RSS aggregator, or the Mozilla Calendar extension). This wide range (and the fact that these things seem – mostly – to work), speaks to me of good design.

Annoyances:

Seems to be a bug in the Linux version (or at least mine), where the fabulous add search engines feature, allowing me to have a single box in my address bar which can do google, wikipedia, imdb, etc., etc. searches, doesn’t work. I can go through the motions to add searches, but nothing happens. Works in Windows. Bah. Like the question of whether the Pope is a Catholic, I’m looking into it. (Update: fix here, namely change permissions of /usr/X11R6/lib/firefox/lib/mozilla-1.6/searchplugins/ .)

The window giving me a view of which extensions I’ve all ready installed is horrendously slow. No idea why, but this seems to be one part of Firefox which has inherited the speed problems I used to see everywhere on Mozilla. It just takes forever to scroll, basically.

Not many annoyances.

Some groovy tips: a whole thread of tips here, which included a pointer to a load more tips on texturizer.net, including one of my wishlist items: remove the close button from the tab bar (since it’s redundant). Change the width of the Search Bar – yay!

So yeah, Firefox. It’s good.

PS: Oh, except that I really miss Opera’s wand feature (for automatically filling in userids, passwords, etc.). Nothing I’ve seen so far in Firebird comes close.

Candygram for Gimbo!

Candygram, “a Python implementation of Erlang concurrency primitives”. Ooooooh.

With Candygram, developers can send and receive messages between threads using semantics nearly identical to those in the Erlang language.

Interessant. Very informative FAQ.

A what?

A belated pumpkin.

It’s ten to two, and that’s what Dave is.

ASCII banner generator

Something I want to bookmark: ASCII banner generator.

Virtual desktop woes

Are there any decent virtual desktop programs for Windows XP? I need the following: a) it must be discreet – preferably no graphical presence, although if it puts something in the taskbar/notification area which I can hide, that’s OK; b) it must have hotkeys for switching between desktops, and preferably they will be configurable (I want to use Alt-1, Alt-2, etc. as in Ion on Linux); c) when I switch away from a desktop and then back again, it should restore everything as it was when I left it; d) it’d be great if you could dynamically create and dispose of desktops, as in Ion, but I expect that’s asking too much and I’ll have to be happy with a fixed number (say, 4).

Now, I don’t think that’s too much to ask. Unfortunately, it seems almost impossible to find anything to satisfy just a), let alone anything else.

I used Microsoft’s very own Virtual Desktop Manager “Power Toy” for a while (can configure it to show only one small icon in taskbar – acceptable), but it fails badly on c) – open Excel, switch to a different desktop, switch back and viola – Excel’s toolbars and menus have disappeared, never to return. Googling for this issue led to a couple of mentions, but no solutions.

So I tried Jeremy Stanley’s VDM, which satisfies a) perfectly (-h on the command line hides it completely), and more critically avoids the Excel problem provided you also specify -a on the command line. Unfortunately you can’t reconfigure the hotkeys (it’s Ctrl-Alt-n instead of Alt-n, boo hiss), and worse, it doesn’t always restore windows to the right depth order, so you often end up with the wrong window on top. Alt-tab boredom. More boo hiss.

Someone must have solved this problem properly?

We have a winner

Oh, I love my wife. While all the rest of you were ignoring my pained cries for help on the virtual dekstop front, she was coming up with the goods. Ladies and gentlemen, we present VirtuaWin, which is wonderful because:

  • I can set the number of desktops to anything up to 9. Not dynamically, but that’s OK.
  • I can configure hotkeys for various features and in particular I now have my beloved Alt-1, Alt-2, etc. – joy. Also a hotkey for making a window sticky/unsticky.
  • I can install a third party extension module to display the (configurable) desktop name when I switch, which means…
  • I can turn off the system tray icon, so that most of the time the app has no graphical presence whatsoever.
  • It handles Excel correctly.
  • It’s free, and it’s GPL.

Those are the reasons why it rocks my world. It has many other options though, so if the above doesn’t sound good to you, lose not heart. For instance, if you like to flip between desktops by putting the mouse to the side of the screen (I don’t), you can tell it to do that. Similarly dragging windows between desktops. Etc. And generally it just “feels” very robust and well engineered. I’m very impressed.

Oh, it’s lovely. Happy Andy.

Where Python meets Haskell

Alex Martelli explaining how Python’s list comprehensions and (new and groovy) generator expressions relate to Haskell, and why Python doesn’t (in generally) do lazy evaluation. As someone with a foot in both camps, but no deep understanding (alas – yet) of what’s actually happening, this is pretty interesting stuff…

Ping Wales launches

Ping Wales – Welsh IT News Online. Launched yesterday after much blood, sweat, and tears by a number of people close to me, most notably the wife… Anyway, God bless Ping Wales, and all who sail in her.

pyparsing

pyparsing — an object-oriented approach to text processing in Python.

durus

durus:

a Python object database, offering an easy way to maintain a consistent persistent collection of Python object instances used by one or more processes

Neat, and if it’s lighter-weight than ZODB, potentially useful to me…

Peekaboo Pole Dancing

Peekaboo Pole Dancing [Jo]:

the world’s first fantasy pole dancing game designed for use in the home!

It even comes with a pole.

The peekabo dance Pole is not compatible with Peter Andre, Mr Blobby Or Bob the Builder. Peekaboo Dance Money is not valid currency in the Ukraine.

Eye eye, Cap’n!

Agent Fluffy has gone slightly beserk [via Dave A].

One for all the Princess Bride fans

Defective Yeti does it again. Oh Matthew, how I wish I could write like you…

Eddie! Eddie!

The EDDIE Tool:

a system monitoring, security and performance analysis agent developed entirely in Python.

Looks nice: you can add extra rules which can arbitrary python expressions (and thus arbitrarily complex), and it does all the usual stuff you’d expect, such as SNMP. The author also suggests Pythonistas might find it interesting as…

an example of a threaded, multi-platform software package, providing easy access to system statistics and using Python’s power to offer a dynamic and programmable rules engine.

Well, I wouldn’t know about that sir.

Erlang Tutorial

Erlang Tutorial (PDF) [lambda].

No sex please, we’re the Welsh Assembly

No sex please, we’re the Welsh Assembly.

An e-commerce website shortlisted for the Welsh leg of the 2004 national e-commerce awards, sponsored by DTI and InterForum, didn’t make it to the final round because its content proved too racy for the Welsh Assembly Government’s internet acceptable use policy.

*grin*

Don’t make me come down there and sing at ya…

Might as well hop on the meme train, as it’s a goodie… Show Tunes For Freedom! – fantastic. [null]

Good thing roundup

Good Things Lately:

I wish I was innumerate rather than illerate, so I had a chance of explaining to you why Jasper Fforde‘s The Eyre Affair is the most refreshing and amusing book I’ve read in a long long time. Set on a slightly alternate Earth in which literature occupies the place popular music does on our Earth, in which England and Russia have been fighting the Crimean War for 130 years, and in which our heroine (the delightful Thursday Next) strives to catch the second most wanted man alive, save her aunt from inside a Wordworth poem, fix the end of Jane Eyre (by journeying into the original manuscript), and remember to look after her pet dodo (an early model). It’s fantastic – if you’re a fan of Pratchett, Tom Holt, Robert Rankin, or hey, why not throw Douglas Adams in here too, I promise you’ll love it. It’s chock full of the kinds of suprising and fantastic twisted ideas that Pratchett used to have, back when he had new ideas. Much fun.

Seriously. Check out the author’s website to get a feel for what I’m on about. Look: toast!,

Also amazing: Solaris. No, not the operating system, no, not the George Clooney film, and no, not even the original film of which that was “merely” a (rather good apparently) remake. I’m talking about the book. It’s mind-blowing. A great example of sci-fi being used merely as a palette with which to paint Crazy Ideas.

And finally, Tim Booth‘s new album, Bone. I’m a big big James fan (Bash introduced me to them in our early days, and <hippy>some of their songs just seem to speak directly to my innermost heart</hippy>, which is kinda nice) so the album was eagerly anticipated, but I must say I really wasn’t sure about it for the first few listens… Musically very interesting (layers, suprises, development, yay), lyrically it sounded OK, but vocally it seemed perhaps a little, I dunno, just weak in comparison with his James work.

Sometimes when you buy a new album you love it immediately, and then it wears off and gets a bit dull after a while (Black Cherry by Goldfrapp springs to mind – I still like it, but I hardly listen to it now). Sometimes you dislike it immediately, and it grows into something you’ll love forever (Morning Light by Locust). Sometimes you dislike it immediately and it turns out you were right (Keep It Unreal by Mr Scruff).

Glad to say, I think Bone fits into the Morning Light category. Or as Dave Wyatt would say, “it’s a grower”. Unfortunately, I’m still illiterate and thus unable to properly articulate why I love it. Attempts: the music’s deep, layered, complex, and progressive, yet has a loose, underproduced feel to it; the lyrics are indeed classic Booth – why are we here, why is love hard, everything’s connected, abandon all hope, don’t abandon all hope, etc; the vocals have grown on me – they are different, and perhaps “thinner” than with James, but this new style fits the music just fine. Plus it’s good cycling music.

Tracks to download if you wanna get a feel: “Monkey God”, “Down To The Sea”, “Be Careful What You Say”.

Interviews: one, two. Sorry for the distraction, Bash…

Operation Hammertime

Stop! Hammertime!

[chicken]

Why Haskell is cool (again)

Why Haskell is cool (again). Over a year ago I was mucking around Haskell but didn’t get deeply into it. Today I picked it up again, and while playing around with tutorials did something which, in my geeky way, I find cool.

With four lines of code, and with no more knowledge than a beginner has, I was able to calculate 10000 factorial. (For my non-mathsy readers, that is, 10000 times 9999 times 9998 times 9997 … times 3 times 2 times 1).

This is a Very Big Number (it’s here if you don’t believe me), and until today I haven’t come across a programming language which can even represent/work with anything this large “out of the box”. I’m sure there are other languages which can – I just haven’t met them. It’s interesting.

It took about seven seconds to work it out. Nifty.

What if America was Iraq?

Thought-provoking reading, by a Professor of History, which might give you some idea of what life is like in Iraq right now: What would America look like if it were in Iraq’s current situation? [null]

The population of the US is over 11 times that of Iraq, so a lot of statistics would have to be multiplied by that number. …

There are estimated to be some 25,000 guerrillas in Iraq engaged in concerted acts of violence. What if there were private armies totalling 275,000 men, armed with machine guns, assault rifles (legal again!), rocket-propelled grenades, and mortar launchers, hiding out in dangerous urban areas of cities all over the country? What if they completely controlled Seattle, Portland, San Francisco, Salt Lake City, Las Vegas, Denver and Omaha, such that local police and Federal troops could not go into those cities?

What if, during the past year, the Secretary of State (Aqilah Hashemi), the President (Izzedine Salim), and the Attorney General (Muhammad Baqir al-Hakim) had all been assassinated?

What if no one had electricity for much more than 10 hours a day, and often less? What if it went off at unpredictable times, causing factories to grind to a halt and air conditioning to fail in the middle of the summer in Houston and Miami? What if the Alaska pipeline were bombed and disabled at least monthly? What if unemployment hovered around 40%?

etc.

No answers, just a lot of rhetorical questions which, if you’ve got any imagination at all, paint a very depressing picture…

RISKS roundup

Stupid Security [risks] — chronicling the stupidity that passes for “stronger security” post-September 11.

Also: Internet attacks jump significantly this year.

… in the first six months of 2004 there were at least 1,237 newly discovered software vulnerabilities and almost 5,000 new Windows viruses and worms capable of compromising computer security. … Even more troubling was the sharp rise in the number of “bot,” or robot, networks, which comprise a large number of infected PCs that can then be used to distribute viruses, worms, spyware and spam to other computers. The survey notes that in the first half of 2004, the number of monitored botnets rose from fewer than 2,000 to more than 30,000. The botnets, which range in size from 2,000 to 400,000 “zombie” machines, are often “rented out” to commercial spammers who use them to distribute junk e-mail while concealing their identities.

Python still amazingly cool also

Oh, how quickly we forget. Or to put it another way, how stupid I am. Or to put it another way, what a fickle language whore I am.

Further to my recent joy regarding Haskell, Stephen Judd appeared from nowhere and reminded me that of course, Python also handles arbitrary-length integers “out of the box”. How the hell did I forget that?

In fact, he went one better and gave me a single line of Python for calculating 10,000 factorial, viz:

reduce(lambda x,y:x*y, range(1,10001))

Admittedly this is harder to grok than the Haskell version:

bigFac :: Integer -> Integer
bigFac n
  | n == 0 = 1
  | n >  0 = n * bigFac(n-1)

(at least, without knowing the semantics of reduce) – but it does also seem to run a bit quicker on my box.

Hurrah for Python!

Of course, this all just reminds me that I’m spending too much time lately thinking about theoretical computer science, and not enough time getting my hands dirty programming… :-/

Update 2007-01-26: Of course, the python version is not easier to grok than this alternative Haskell version:

product [1..10000]

Now that’s beautiful, as is the definition of product.

hOp – a micro-kernel based on the Glasgow Haskell Compiler

Wow… Potential third year project supervision material for next year: hOp, a microkernel based on the Glasgow Haskell Compiler, in which “experimenting with writing drivers in Haskell should be reasonably easy“. Funky as. [lambda]

Fast Easy Database Access with Python

Fast, Easy Database Access with Python. Idioms and tips for making SQL interaction that little bit less painful, that little bit more pythonic…

Don’t let it get your cursor!

Cute as.

More on factorial in Python

More stuff over at tiddly-pom on the whole 10,000 factorial thing. Julian does a good job of pointing at me and laughing (rightly so, rightly so), and there are a couple of imperative approaches to the problem suggested, including one using generators – yay.

Of course, something I forgot to point out about Stephen’s reduce based solution is that it’s a functional approach, and so has more in common with what’s happening in the Haskell version than these imperative versions. Anyway.

Domain Specific Languages

For my later digestion, a raw dump of a number of bookmarks on Domain Specific Languages and Haskell: one, two, three, four (which has many more links). Thank you.

Welcome to tenthousandfactorial.com

Gimboland continues to turn into www.tenthousandfactorial.com… Peter William Lount, editor of www.smalltalk.org shows us how to do it in Smalltalk. Apparently Smalltalk’s been able to do this since about 1980. When I did my first degree, the boys doing straight Computing (I was doing Computing & Pure Maths, not gay Computing, by the way) met Smalltalk as their first O-O language, but alas I never had any serious exposure. The main impression I was left with was of every Smalltalk program being somehow an image of an entire virtual machine, which seemed odd and limiting but was probably neither (this was ten years ago, btw). *Shrug*

Moving on a few years, it had to happen, Daniel Berger wrote and told me how to do it in Ruby. He say:

Hi, I thought this might interest you. Here’s a “factorial” method in Ruby:

class Integer
    def factorial
        (1..self).inject { |f, n| f * n }
    end
end

… and, with that in place, we can now do this:

10.factorial -&gt; 3628800
10000.factorial -&gt; really big number

Or, you could just do that as a standalone method, rather than defining it within the Integer class like so:

(1..10).inject{ |sum,n| sum * n } -&gt; 3628800

Yes, Ruby handles bignums “out of the box”. :) Regards, Dan

Fair enough, though to my mind this is at least as esoteric as the Pythonic reduce-based method mentioned previously. Again, provided you know the semantics of insert, I guess it makes perfect sense. For my money the Haskell version is still the nicest, just because it’s closest to how a mathematician would naturally go about defining factorial. Smalltalk comes close – it looks the part, but there’s still some odd syntax there, IMHO.

This is great. What started out as a glib comment which at the back of my mind I thought was probably wrong but hey, no-one ever reads Gimboland so what the heck, has turned into a nice little thread… :-)

Any other takers?

10,000 factorial in lisp

And now, in lisp, courtesy of the delightfully-named Sam Vevang:

(define (fact a b) ; where a is 1 and b is 10000
  (define (iter a result)
    (if (&gt; a b)
        result
        (iter (+ a 1) (* result a))))
  (iter a 1))

Sam tells me that when he runs this on the STK scheme interpreter, it gives the same result I got.

Man, I really need a commenting system, don’t I? :-(

Generating Python module dependency graphs

Generating Python module dependency graphs in three easy steps. Yay.

March against racism, Saturday 9th October

Images (from my phone) from last Saturday’s march against racism here in Swansea:

Marching down St Helen's Road (1) (640 x 480, 29.18 kb) Marching down St Helen's Road (2) (640 x 480, 39.74 kb) Marching down St Helen's Road (3) (480 x 640, 30.96 kb) Cheerful Cheerleader (640 x 480, 28.05 kb) Gathering at Castle Square (640 x 480, 45.20 kb) Observers (640 x 480, 33.28 kb) Swansea says no (640 x 480, 42.57 kb) Rally at Castle Square (640 x 480, 41.16 kb) Swansea Unite (640 x 480, 38.61 kb) PEAC!!! (640 x 480, 25.88 kb)

As ever, Will has got much better pictures, both technically and aesthetically.

I thought the march was a little disappointing – there seemed to be many people when we were strung out along St Helen’s Road, but when we all gathered in Castle Square at the end, it didn’t seem so large. One of my colleagues, Markus Mickelbrink, went further and said the whole thing was a waste of time, because it was a load of rhetoric about “racism isn’t acceptable, Swansea is a good place for refugees, etc.” without any thought about why, then, things like this were happening – clearly some people in Swansea (and the UK in general) are virulently racist, and do blame refugees, asylum seekers, and anyone who looks/acts different for all the ills of the world – and what do we do about that? He had a point, although I disagree with him when he says doing nothing would have been better…

Valid use of the blink tag

Courtesy of TR, there is one valid use for the <blink> tag

Alien Loves Predator

Alien Loves Predator [ntk]: Kevin Bacon, Swipe It.

Operating Systems in Python

More project ideas for next year: further to this post about writing an operating system kernel in Haskell, it looks like some crazy dudes are doing similar things using Python. Ladies and gentlemen, we present: Cleese, and the delightfully-named Unununium [python-list].

Apparently Cleese started with the idea to “make the Python intepreter a micro-kernel and boot directly to the Python prompt.”, but it doesn’t look like there’s been any movement there over a year, and hasn’t released any files.

Unununium looks interesting, and very much under development. The introduction states that components and a unified filesystem namespace (a la Plan 9) are key goals.

OK, maybe all this is too flakey and out-there for a decent project, but nonetheless, nice to know it’s happening.

Sitting on a stockpile of queer smut

Check his flower pot. Check his flower pot for gay porn. Classic.

Shit

I am slain. :(

Thanks for the bad news, Rich…

We must all now listen to crazy breakbeat music followed closely by Gambian jazz and old 78s, in remembrance.

Python goodie snippets

A couple of snippets from the Daily Python-URL digest: closures in Python, and object orientation isn’t everything.

Who is Tamsin Grieg?

Tamsin Grieg in the Guardian, wittering about celebrity and the absurdity of fame and all that and everyfink. Worth reading if you’re a fan, I guess.

Moaning about work again

Yesterday (a Sunday): at work from 2pm until midnight. Today, 10am until right now (00:50 the next morning).

I’m not spending this quality time doing research or catching up on my marking, so it must be time to exam team stuff? That’s right, kiddies. Joy… Or, to put it another way, sob.

However, my gift of a wife is hauling her purty self out of bed to come and pick me up. Don’t feel too bad: she wasn’t asleep, she was surfing the net and occasionally chatting with me. So that’s nice.

Python interface stuff

I’m currently working on a laaaaarge and very complicated database system – a real beast. I think it’s about time I wrote some nice GUIs to help me wrestle with this beast… You know, drag myself off the command line and into the 1980s and all that. Naturally, I’m working in python, and since I’ve inherited some Tkinter based code, and it looks reasonable, I think I’ll try that out.

These things must be multi-threaded, because there are some very long-running operations taking place. Remembering I’d seen some good stuff online on this very task, I fired up the googlesaw, and found the following: A short example of Tkinter and threads by the venerable Fredrik Lundh, the classic (in that I’ve met it before, back in my Frontier days) Threads, Tkinter and asynchronous I/O from the ActiveState Cookbook (OK, I’m not exactly doing async I/O, but you could consider long-running database ops from that point of view), and finally (for now) a complete Python Tkinter sample application for a long operation, which pays attention to progress bars and the like.

Writing the words “ActiveState Cookbook” reminds me that I’ve got “The Python Cookbook” in dead tree form on my bookshelf. Maybe I should look at that too… Yep, there are a few Tkinter bits and bobs in there (and some database stuff I should probably check out). Groovy.

Bonus level, this looks cool: A Sinus Plasma, using Pygame. That takes me back to my Amiga days, when I used to watch these crazy colourful “demos” with swirly sine waves, the precursors of all the nifty visualisation plugins for winamp, itunes, etc. I always wondered how it was done – apparently it’s bloody simple. :)

Fuck The South

“Let the Spanish keep it, it’s a shithole,” we said, but you had to have your fucking orange juice. Absolutely fantastic. Pure distilled vitriol in its tastiest form. Thanks, Barbara…

Gentle terrorism by photography

Gentle terrorism by photography: David Shrigley’s work is marvellous [will].

Favourites, if you can’t be bothered to browse: Beach Dwellers (which reminds me of “Them”, a picture by my old friend David Dickinson), One Day A Big Wind Will Come (gloriously hopeful), Imagine The Green Is Red (sinister), Sunday Adventure Club (let’s go, kids!), Landmine (must try this), and finally pumpkin (just plain old troubling).

Gfump gfump

www.phamnews.co.ukPlumbing, Heating and Air Movement News, which, being a schoolboy at heart, made me think of farting. Fnar.

A computer trailer is no place for a kitty

w00t! The landlords, in their infinite wisdom, have given permission for us to get a cat, so expect photos of cute ickle kitty doing fluffy/destructive/insane things from now on… And if you can’t wait for that, these should keep you warm.

Fudge pickers

So yesterday we visited the Llys Nini RSPCA shelter and introduced ourselves to a few cats to see if any would like to adopt us. I won’t bore you with the details of all the cute ickle fwuffykins we saw, but honourable mention must be made of Cornelius, the doppelganger of Buster, my first cat and The Best Cat Ever – but he probably needs to be homed with his buddy Josephine, and anyway he’d have a lot to live up to, looking like that.

In the end we’ve put our name down next to Fudge, a dainty white & black shorthair with a gammy leg (though she could still do yoga, I was pleased to see). There is a slight medical question which needs to be settled before they can release her, which might delay things a few weeks alas, but for now we’re hoping she’s the one. If she’s not, Chester was pretty cool (and a lot bigger, which my lap prefers). We’ll see. In the mean time, we can visit Fudge any time we like to get to know her better – and that’s exactly what we’re doing in a minute. Then I’m off to work… :)

Oh yes, and I saw What’s Eating Gilbert Grape? for the first time last night. Magic.

Colour me yellowy orange

As I read this article [simon] on the opportunity the Lib Dems have of becoming “second party” in the UK, I increasingly felt like wow, maybe it’s finally time to join up. Then I read this:

They [the lib dems] are instinctively permissive, even if their brains tell them to be watchful about what they permit.

which, basically, is me. I don’t always listen to the brain, though.

20 years since Bhopal, still no justice

Next Friday is the 20th anniversary of the Union Carbide disaster in Bhopal, and there is a global day of action scheduled. If you don’t know what I’m talking about here, read this, then sign the petition.

Strong typing

Gimbo! Read this article about strong typing. (TR says it almost makes him want to learn ML, so it must be good).

Ooh, it’s all about the fact that Milner-Hindley type inference is w00ty. Excellent: Swansea’s finest at work…

War on drugs equals better coke

So it seems that America’s war on drugs is leading to better, and more, cocaine, and discouraging Columbian farmers from growing non-drugs crops. How so, you ask? The emergence (or, possibly, genetic engineering) of a herbicide-resistant strain of cocoa means that the crop sprayers are doing the farmers’ weeding for them, and wiping out farmers who grow bananas, yucca, maize, well, basically anything else.

Of course, there is another intruguing possible explanation… Perhaps the Roundup-resistant cocoa was introduced to the system by the US. Perhaps the plan is to get all the farmers growing that strain and no other (which seems, from the story, to be happening). Perhaps this strain has been engineered not only to be Roundup resistant, but also to be particularly susceptible (perhaps the only plant susceptible?) to some other herbicide. Perhaps, when everyone in Columbia is growing the new cocoa strain and all the old ones have effectively become extinct, the authorities will switch herbicides and wipe out the entire crop in one fell swoop…

Now that would be impressive. I don’t believe it for one second, but it would be impressive.

Ecks Em Hell

Reading this article about how Python is not Java, I laughed out loud (sorry, I LOL’d), at this misquote from Jamie Zawinksi:

Some people, when confronted with a problem, think “I know, I’ll use XML…” Now they have two problems.

Nice. Keep it simple, stupid.

But read the following comment about how, OK, in Java, XML is a Good Thing. But for my money, that’s more a comment on Java’s relative brokenness than XML’s utility which, as the man says, is basically good for one thing: portability of data. And hey, the Unix folks knew that all data should be represented as text to make it portable back in the sixties… :-)

And this says it all about Python:

To do this, become more demanding of Python. Pretend that Python is a magic wand that will miraculously do whatever you want without you needing to lifting a finger. Ask, “how does Python already solve my problem?” and “What Python language feature most resembles my problem?” You will be absolutely astonished at how often it happens that thing you need is already there in some form. In fact, this phenomenon is so common, even among experienced Python programmers, that the Python community has a name for it. We call it “Guido’s time machine”, because sometimes it seems as though that’s the only way he could’ve known what we needed, before we knew it ourselves.

Hone your tools

As I chopped firewood in the back yard a few minutes ago, I remembered a proverb I’d spotted on the glorious interweb some time during the last fortnight:

If you have a week in which to chop down a tree, spend six days sharpening your axe.

I thought I’d try to find some way to relate this to programming, but frankly it seems so obvious as to not be worth the bother. :-)

Swansea University gets rootkitted

Swansea University’s front page appears to have been rootkitted at some point over the last 48 hours [via davea]:

Swansea Uni Rootkit Thumbnail

w00t. I wonder if this has anything to do with recent hacks on the uni servers, or if it’s an unrelated incident…

(Ten hours later, Sunday evening, and the server is still 0wnz3d. I guess the concept of 24-hour cover doesn’t extend into academia. Hopefully the kiddies aren’t using the box for anything nasty, like spamming…)

The School of Deceipt

Heh… Bash just read me the following from Alvin Journeyman by Orson Scott Card:

“Verily learned to live with constant deception, hiding what he was and what he saw and what he felt and what he did from everyone around him. It was only natural that he should be drawn to the study of law.”

The exception which proves the rule

So says Bash, while listening to the very happy “Fast Lane Jive” on the African Footprint soundtrack:

“It’s impossible to listen to a penny whistle and not feel happy.”

<Short pause>

“Unless it’s a sad song, of course.”

I’d just like to say…

I’ve been really getting into using pushd and popd lately (que?). Yay stacks.

Gimboland gets a facelift

I’ve migrated Gimboland to Movable Type.

This has been way overdue for a long time. Since 2001 I’ve maintained this blog using home-grown code called Neomorph (written in Python, naturally), and I just haven’t had time to add any new features to it. Hence, no comments on Gimboland while the rest of the internet gets fully chatted up. Something had to be done, but what? And when?

The last straw came when I discovered mt.el, an emacs module for making and editing MT entries using everyone’s favourite text editor/chainsaw combo (no pansy-assed through-the-web blog editing for me, no sirree!). Finally, a few weeks before Gimboland’s fourth birthday, it was time to Take The Plunge.

So here we have it: the all new Gimboland, with comments, categories, a new look, and much more CSS than before. Please let me know what you think – now that comments are finally here, I’m eager to read them and find out who actually reads this damn thing. Oh yes, and Bash tells me the thing she likes least about the new design is the new font (Georgia) – although apparently it’s OK on the Mac, so maybe I should just ignore her. Is she right, or is she to be ignored?

My next big task will be to update the image gallery to use something similarly marvellous. All suggestions welcomed – at the moment gallery seems to be the main contender.

Making the change has been a fun process. Here’s a small random list of interesting things I’ve found or done along the way:

My archives all had nasty old “Blogger style” filenames (such as 2002_10_01_gimboland_archive.html), whereas MT uses a format like 2002/10/index.html which is, frankly, nicer. I was worried about this change – what about the millions of people who’ve linked to stories in the archive? Obviously I owe it to my public not to break things, so how to solve this? Well, a little reading (here and here, specifically) later, I now have lots of RedirectPermanent directives in my .htaccess file linking the old to the new – problem solved. Aaaah, Apache.

With Neomorph, all my Gimboland posts lived in a big (824Kb at last count) plain text file. In MT, they live in a database, of course. Gladly, MT has the ability to import from plain text. Naturally the MT import format isn’t the same as the Neomorph format, so almost my first task was to write a (python) script to convert one to the other. It being python, this was easy. For posterity, I’ve added it to the Neomorph tarball.

Useful MT plugins: Amputator, ArchiveDateHeader, BlogCopyright, SafeHref, W3CValidator (very nice – only prints badge at bottom of page if page really is valid; wish there was one for CSS as well).

While I was at it, I changed the Gimboland search box (in the sidebar) to use Google instead of the old Atomz thing I’ve had there for years. Surging forward into the twentyfirst century, eh? Dave would probably tell me I’m migrating to Google just as Google’s beginning to get crap, but I’m not ready for such heresy yet, so it’s fingers in ears all the way.

Europe vs the USA

Europe vs the USA [via GalleryPy via dailypython].

This is also quite nice.

Hentai.

Toaster dmesg

Toaster dmesg, via TR.

Soma

The Soma of history – very interesting.

Raise your glass to the Prince of Stories

Apparently, March 2002 was Gimboland’s top month, with a bumber crop of 89 posts – wow, I must have been really focussed on my job… Back then I was more indiscriminate about collecting things “for later” which of course I never went back to. For example, this post regarding Screen Dream, a webring for online dream journals.

Now, back in my early internet days, one of the sites which got me hooked was “Brian’s Dream Log” which was here but isn’t any more, alas. It was groovy – well written, funny, interesting, a peek into someone’s mind and (I guess) my first experience of the now ubiquitous phenomenon of self-exposure on the internet. I’ve also always quite fancied the idea of increasing one’s capacity for lucid dreaming, and keeping a dream log is apparently one of the techniques which can help there.

Thus, dream logs, they’re interesting. And, sometimes, funny. Since there are only 13 blogs in Screen Dream right now, I’ve added a link to my sidebar, and might well be visiting (and linking to) some of these a bit more often. I may even join in. You have been warned.

(Note to self: stop starting posts/paragraphs/sentences with “So, “… This post had two before I proofed/edited it.)

I have only one thing to say to you all, and that is…

Namaste.

So, there you have it, the whole of Eastern and Western culture summed up in the handshake which reaches out horizontally to greet another, and Namaste which reaches in vertically to acknowledge that, in truth, that there is no other.

IICF, Kitty!

Merry Christmas from Hello Cthulu [bash]

Big chunks of water at minus 70

The Guardian has a story about an iceberg, B15A, which was first mentioned hereabouts in Gimboland’s 20th post ever, February 2001. Nice to know it’s still going – shame about the penguins, though…

Lots more groovy antarctic images here. It’s somewhere I’d love to see, though God knows if I ever will…

Welcome to Boobtown

Bash has just told me that (so they say), Mumbles gets its name from the two rocky outcrops at the headland, pictured ici, via the French word mamelles, meaning breasts. See the resemblance?

I’m so happy.

Isn’t it wonderful when…

… you get your heart’s desire, and nobody gets hurt.

Kinsey vs the anti-sexuals

Interesting review of a movie about Alfred Kinsey at Alternet [via pursed lips].

It’s depressing to see him vilified by the kind of people who think the world needs an organisation called “Restoring Social Virtue and Purity”, and in light of recent (and ongoing) opposition to the theory of evolution in America’s Stupidity Belt, I found this quote from the article unwittingly on-the-mark:

It was the apparent impartiality of his data that so shook America’s settled notions of sexuality, as deeply as Darwin’s theory of natural selection did the literalist biblical notions of creation.

Ultimately, I’m just baffled: Why does America have such a love affair with violence, and such a hatred of sex? And with the rise of evangelical politics in the most powerful nation on Earth (for now), how much worse can it get?

Now we’re here, maybe it’s time to move on…

It’s a long long time since I read Slashdot with anything approaching regularity, so I rely on TR to tell me when anything interesting comes along.

This is interesting: Comment Spams Straining Servers Running Movable Type. Typical. Well, nothing here yet. I shall monitor the situation.

When I was in the early stages of migration, I googled for movable.type.sucks which led me to this at kuro5hin, mainly an amusing and venom-fuelled rant (which somehow reminds me of this classic gem) but has some interesting points to make along the way. On the other hand, the “written by designers not computer scientists” argument doesn’t completely hold water when you look at a lot of the crap that’s produced by people who should know better.

Unfortunately, the fix recommended by SixApart, namely “enable dynamic generation”, is no good for me because it seems badly broken. In particular, some plugins I rely on a bit don’t work dynamically – maybe I can work out why but not right now.

Or maybe I should migrate to WordPress. This guy thinks so.

I was talking about biscuits, Bash…

This is a great idea but that shelf should be bigger if you ask me [null]. Cue Bash to look at me sternly and say “three is enough for anyone”. Yes, well. Quite.

How to win friends and influence people

Summary of the book How to Win Friends and Influence People.

Barbara: ignore this post until January!!!

Incredibly hard but cool game (Pixelfield).

A Merry IICF to you all!

The ultimate Christmas gift for your local cultist: Cthulu slippers [found].

And with that, I’ll say Merry Christmas to my loyal readership. We’re off to Cornwall for a week tomorrow, to find out how Mum deals with a Vegetarian Couple’s First Christmas – should be fun. I’ll be on the end of a telephone line, so probably not much Gimboland. Back around New Year. Namaste one and all…

We interrupt this broadcast…

Just one more quick post before the Christmas shutdown – honest! Look, I’m ready to go, it’s Bash who’s in the shower. OK? OK… So anyway, this is cool: four hours of satellite broadcast intended for mainland China was replaced with a program concerning the outlawed Falun Gong movement. So there we have it, kids: you’ve seen how it’s done in the movies, now get out there and broadcast. ;-)

A tale of detrimental adaptation to local conditions

Bash logic at work yesterday, after our return to Swansea: Something was needed from the attic room, up two flights of stairs.

Bash: “I can’t go upstairs!”

Me: “Why not?”

Bash: “I’ve been living in a bungalow for a week.”

Now gracing the bedroom wall at meatspace Gimboland…

'Frau Am Meer' by Karin Volker

ring.ruleAll() – reference ring not found

Relevant examples are of great help when teaching. I was criticised by students this year for overusing “foo” and “bar” as variable names in my C couse. More imagination is needed, apparently.

Here’s a prime example which I shall recommend to Mr Whyley that he use in his Object Technology course: Rings as objects. And the initial comment to which that one refers..

Courtesy of TR.