Vandalism, repaired

I've dumped my photo album onto my laptop, and today, whilst I was waiting in the garage for my car to be fixed, I started to sort them out - the problem with digital cameras is that it's far easier to take photos than it is to keep track of them! I've found some stuff I should really post, so expect it to come out in dribs and drabs over the next few weeks. Here's the first instalment.

Wain Stones

These 'kissing stones' are more properly known as Wain Stones, a famous Dark Peak landmark, and an ancient land boundary marker. I have an enlarged version of the picture as my desktop background as well, so I'm quite fond of them. Last year, the farmer who's land they are on (Bob Clarke) sadly died. Someone - goodness know who - thought it would be a good idea to hack his name into one of the two rocks.

Wain Stones

I'd only met Mr. Clark once or twice and briefly at that but Mossy Lea Farm was always immaculately tidy, as was the rest of his land - and tidiness isn't a trait farmers are known for - so I can't think he would have approved of the crude and thoughtless way his name was hacked into the stone. Needless to say, nobody who saw it was happy, and one of the other Rangers came up with a way of ameliorating the damage as far as possible. He carefully smoothed away the rough edges of the letters and then painted over the raw yellow of the fresh rock surface with a mixture of peat and used engine oil.

Wain Stones

As you can see from the photo above, from a distance it's barely noticeable - if you get up close you can still see it, but it's far better than it was.

As an interesting aside, if you look at the stones you can see they are pockmarked with small holes that look just like the bullet holes you see in the walls of shot-up buildings. Well, local rumour has it that during WWII bored pilots would strafe the stones as they passed over, so they are in fact bullet holes, softened by the passage of time. So thoughtless vandalism is nothing new...

YAPC::EU roundup #2

Well, I'm back from from the YAPC::EU conference, so I should probably write up the rest of the happenings. On Thursday Tim Bunce arrived - I was hoping he was coming as he lives in Southern Ireland. Tim is the designer and author of the extremely widely used perl DBI module, and a really nice guy to boot. As usual, we spent time catching up with gossip and generally putting the world to rights.

On Thursday evening we all walked to the Odyssey Centre, and over dinner Tim explained a nasty UTF-8 related problem in the DBI interface. DBI allows you to bind variables to columns in a query, so that the values of each successive row are stored in the variables. The problem is if you bind a variable to one query that returns UTF-8 values, and then subsequently rebind it to another query that returns ASCII strings. The first bind/query sets the UTF-8 flag on the variable, and the subsequent bind/query doesn't clear it, so Bad Things Happen. Nick Clark (current perl pumpking) said that he thought that we'd gone about as far as we could retrofitting unicode support into the current perl5 interpreter, and that the 'Final Solution' would have to wait for parrot to be complete. Nick was saying that lots of the XS modules on CPAN aren't unicode-aware (I'm guilty of that!), not because people don't care but because as he explained "They didn't change, but perl changed underneath them".

We also talked some more about the ABI issues I mentioned in my last post. Not only does perl have the unfortunate habit of putting the libperl.so library in a different place for each micro release, it also doesn't actually have a well-defined ABI. Perl does have something that purports to define an ABI in the shape of the embed.fnc file and friends, and in fact on some platforms (e.g. Win32, AIX MacOS and others) it's used to produce files that define the interface provided by perl as it's mandatory to have such a thing to be able build perl on those particular platforms. The problem is that every platform uses a different set of exported symbols, and that's further permuted by the multitude of ways that you can build perl (threaded, multiple interpreters etc.) - see makedef.pl for the gory details - it's nasty. This makes it difficult to know exactly what symbols should be exported for Linux or Solaris - and the fact that virtually the whole of the documented interface consists of a mad macro mishmash makes this challenging to sort out, to say the least. On top of that there is nothing to actually stop XS modules using any old bit of the perl internals they choose, and some do so choose, so enforcing an ABI could well break an unknown number of CPAN XS modules. I did consider using a mapfile to version libperl.so on Solaris, but after looking at it I backed quietly away before turning on my heels and fleeing. Nick opined that we should probably fix this for perl 5.10 (that should please Rod), but it's a gnarly problem. On a brighter note, I asked Dan Sugalski on IRC this morning if parrot was going to suffer from the same problems, and he assured me it wouldn't. Yay for Dan :-)

Allison Randal was also at dinner with us on Thursday, and at one point Tim asked her "I hear you've just stared working for O'Reilly, what exactly are you doing for them?", to which the immediate riposte was "Well Tim, I'm your new editor!" Tim is currently writing the second revision of the perl DBI book, a process which he memorably described as "Like having your teeth drawn out with pliers, very slowly over the course of a year". Any distant thoughts I ever had of writing a book disappeared at that point!

After dinner we went and found the rest of the mob in the bar, and I had a bit more of a chat with Leo Toetsch about how I could help out with parrot. People have been trying to get hold of machines (including sparc) for Leo, and in fact he's just got a new iBook, courtesy of TPF. However it's clear what he actually needs is help with the other platforms - he just doesn't have time to test/build on all the variants. Leo told me that the threading support in parrot is pretty rudimentary at the moment, and Dan has also been saying that work needs to be done on making parrot less dependent on the perl5 that is already on the platform for configuration information. As I mentioned before, the Solaris sparc and x86 JITs needs work. plus it would be nice if it it worked with the Forte compilers as well. Both Dan and Leo said that dtrace looked interesting, especially as it is now possible to embed your own probes in an application, so there's some obvious synergy with Solaris 10 there as well. There's certainly a whole lot of stuff to be done, now all I have to do is to find the time and support to do it ;-)

On Friday the conference finished off with the traditional auction, where donated items are auctioned off to help fill the TPF coffers. The general idea is to see who can pay the most outrageous amount for the most worthless piece of tat. A set of fridge magnets with perl code statements printed on them went for 50 pounds, and a signed copy of the Perl 6 book went for something approaching 300 pounds, as far as I can remember. The very last item is the chance to choose the colour of the conference organiser's t-shirts for the next year's conference. This year with the conference being in Belfast, the colour was naturally orange. Next year it's in Portugal, and for some reason I still can't fathom, the winning bid was for black fishnet. Ewwwww....

Tags : , ,
Categories : Tech, Perl, Work

YAPC::EU roundup #1

Well, my talk yesterday on how we use perl to help in the development of Solaris went down OK - the only heckling was friendly (thanks, Nick ;-) and I was asked if I would release some of the bits I talked about as Open Source, specifically the stuff for allowing you to embed MySQL queries inside TWiki topics, and the mod_perl handler for doing SCCS history browsing. Something to do when I get back to the ranch.

The conference has wireless access, and by a fortunate coincidence my hotel room is directly across the street from one of the rooms we are using in the conference centre, which means I can get a wireless connection from my hotel room, which is a real boon!

I bumped into Abe Timmerman on Tuesday evening in The Crown - the only pub I've ever been in that is owned by the National Trust! Abe looks after the Perl Smoke framework - this is a distributed set of machines that run daily regression tests on perl on as many different machines types as possible. After last year's YAPC::EU I scrounged together five old machines and installed Solaris 2.6 through to Solaris 10 on them to add to the smoke pool. I'd been kinda busy and not really paying attention to the test output, and one of the machines had wedged in the test suite back in June and had chewed up over 2000 hours of CPU - oops! The test framework was also in need of an upgrade, so we set to and upgraded it - hopefully by tomorrow we'll see the first sets of results from the new version of Test::Smoke.

I also had a quick chat with Leo Toetsch about what needs to be done on the Parrot front (Parrot is the new interpreter engine that Perl 6 will eventually sit on top of). The first things that would benefit from some attention are getting Parrot to build well with the Sun Forte compilers, and then there's a whole load of stuff to do related to threading support, making sure the x86 JIT works OK on Solaris x86 and improving the sparc JIT, which hasn't received very much attention. So, loads to do once Solaris 10 ships and I get clear of some of my current commitments on the Open Source Solaris project.

I also grabbed Nick Clark to discuss an issue that's been a bit of a pain for us when upgrading perl versions. Perl uses its version number as part of the path under which it stores libperl.so - for example, /usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE/libperl.so. The problem with this is that if you upgrade to a later but binary compatible version of perl, the version number component of the pathname changes as well. This means that anything that explicitly links against libperl can no longer find it. In general this is anything that embeds a perl interpreter within itself - an example being the Apache mod_perl plugin that we ship as part of Solaris. The obvious fix is to put a symlink somewhere and link against that, however some perl5-porters mailing list discussion will be required to sort this out.

And lastly I managed to get a nice new orange Fotango pen from Leon Brocard - the one I got from him during YAPC::EU 2000 had finally given up the ghost. Reason enough for coming to the conference :-)

Categories : Tech, Perl, Work

Off on a jolly^W important conference

As part of my penance (and my sins must have been many), I look after the perl we ship in Solaris (yes, I admit it, it's my fault - whatever it is). However along with the heavy responsibility comes the opportunity to go off on various high flying conferences and talk to lots of other Important Open Source People like myself.

However, I've given all that up, and instead I'm going to YAPC::EU tomorrow in glorious...
Belfast. I'm also singing for my supper, in that I'm giving a talk on how we use perl to help in the development of Solaris. My manager will be happy (Hi Allan!) as instead of an expensive flight to Portland to go to even more expensive OSCON he gets off with a 130 Pound air fare (57 Pounds less than it costs to go to Watford on the train) and a paltry 65 Pounds for the conference fee. The reason that it is so cheap is that it is a grass-roots conference, run by the perl hackerati, for the perl hackerati. It's also cheap so that we can spend the bulk of our money on beer (only joking - honest!)

Actually I'm really looking forward to it, the perl crowd are a great bunch and I'm really looking forward to meeting up with my friends (well most of them - Some of the Finnish contingent wimped out this year - you know who you are ;-) IRC is OK, but you can't beat 'facetime' as it is so inelegantly called. Hopefully I'll have caught up on all the scurrilous perl gossip by the time I come back!

Categories : Tech, Perl, Work

The US kills civilians and children on camera, then lies about it

Yesterday, a US Bradley fighting vehicle was attacked and disabled in Baghdad. Three hours later, when a crowd of curious onlookers (including children) came to look, two US attack helicopters came back, rocketed the Bradley and machine gunned the crowd, in the process killing at least 13 and injuring about 60 others. One of the people killed was a TV reporter recording a report at the scene. The US military them proceded to tell several different versions of what had happened, all of them clearly contradicted by the graphic TV coverage of the poor reporter who was killed. According to the BBC:

"In the first explanation of events offered by the US military early on Sunday evening, the helicopter was said to have blown up the wrecked Bradley "to prevent looting and harm to the Iraqi people".
Since when has rocketing and machine-gunning civilians kept them from harm? The original BBC News report can be found here, and the TV coverage is here - warning, it's pretty disturbing. I remember all the furore the US kicked up over the massacre in Tiananmen Square, how is this any different?

And I wonder just how much coverage this received in the US press? Virtually zero, as far as I can tell. I've searched for 'Mazen Tumeisi' - the name of the journalist who was killed - CNN - nothing. Washington Post - nothing. Fox News - nothing. Google News - one paltry hit from a non-commercial site - they don't even pick up the BBC story. If I didn't know better, I'd say censorship is alive and well in "The Land Of The Free". What's even more ironic is that in the last week the US has been heaping opprobrium on North Korea for not reporting the huge explosion that happened in the north of the country - once again, how is the US news blackout of this event in Baghdad any different to the actions of the North Koreans?

Shame on you, USA, shame on you. And shame on us for supporting you in the first place.

Categories : Personal

Wildlife roundup

August was a busy month, and September wasn't much quieter, so I've been neglecting my blog - naughty me. I've had the following wildlife photos floating around for a while, and I've finally got round to posting them.

Catepillar

I spotted this humongous caterpillar whilst I was out on patrol. I'm not sure what it is (possibly a fox moth caterpillar?) but I thought it was kinda pretty against the heather

Leveret

This leveret that I spotted near Wain Stones was quite unconcerned, and let me get pretty close before lolloping off. I'm sure that if it survives its first winter it will be far more wary next year!

butterfly

I took this whilst I was on holiday in Scotland, on the Kintyre peninsula. This is a Peacock butterfly (Inachis io). There are some beautiful pictures of other British butterflies on Stephen Cheshire's website.

Dragonfly

This cooperative dragonfly perched long enough for me to get a couple of shots of it, this is the most in-focus of the bunch! I'm no expert, but it looks like it is probably a Hawker dragonfly, Family Aeshnidae. Feel free to look at the British Dragonfly Society webpages to see if you can figure out which one it is!

Categories : Peak District