Search Results: "ron"

20 February 2007

Ross Burton: Icon Request...

I'm just finishing off a 0.1 release of Tasks, a minimal To Do application for GNOME (yes, it's another EDS frontend). However, I don't have a rocking icon and can't seem to find one in the GNOME or Tango icon theme. Does anyone know of a cool icon I could use, or does anyone out there fancy flexing their drawing muscles and knocking up a quick icon?

Bastian Venthur: Rebuilding the Archive Using Cowbuilder

Did you ever want to rebuild the archive, but setting up this whole wanna-build/sbuild/buildd stuff somewhat scared you? Then this small script might be for you. All you need is cowbuilder, the rights to build inside a cowbuilder environment and this script. When you call it with a list of packages as argument it will build every package in a clean cowbuilder environment, saving the buildlog (succeeded-$package or failed-$package) and cleaning up the rest afterwards. To speed up things you can run several instances of this script concurrently — lockfiles will prevent the script from building the same package more than once. It is even safe to kill the script and restart it later. It will automatically skip all packages where a logfile (succeded failed)-$package already exists. All you have to do after you killed the script is to remove the lockfile in the LOGDIR and the $package-directory in the BUILDDIR.

#!/bin/sh
# Version: 2007-02-20
LIST=$1
LOGDIR=$(pwd)/"logs"
BUILDDIR=$(pwd)/"build"
BASEPATH="/var/cache/pbuilder/base-testing.cow"
function build  
    PACKAGE=$1
    mkdir -p $BUILDDIR/$PACKAGE
    cd $BUILDDIR/$PACKAGE
    apt-get source $PACKAGE &> /dev/null
    cd $(find . -type d ! -name .)
    pdebuild --pbuilder cowbuilder --use-pdebuild-internal --buildresult .. -- --basepath $BASEPATH &> $LOGDIR/.$PACKAGE
    if [ $? -eq 0 ]; then
        mv $LOGDIR/.$PACKAGE $LOGDIR/succeeded-$PACKAGE
    else
        mv $LOGDIR/.$PACKAGE $LOGDIR/failed-$PACKAGE
    fi
    cd $BUILDDIR
    rm -rf $PACKAGE
 
[ -d $LOGDIR ]   mkdir $LOGDIR
if [ ! -e $LIST ]; then
    echo "No Buildlist given."
    exit 1
fi
while read package; do
    # Create Lockfile (ln -s is atomic and fails if link already exists)
    ln -s $package $LOGDIR/.$package.lock 2> /dev/null   continue
    # Build the package if not already built
    if [ ! -e $LOGDIR/succeeded-$package -a ! -e $LOGDIR/failed-$package ]; then
        echo $(date +%F %T) Building $package...
        build $package
    fi
    # Remove Lockfile
    rm -f $LOGDIR/.$package.lock
done  $LIST

I know my bash scripting skills are shitty, so please send patches after you laughed ;) I’m currently running two instances concurrently for 3 days on my Pentium 2,4GHz HT box and have rebuilt ~70% of the testing archive so far. It would be cool to distribute the rebuilt across a few computers via ssh, so that they’re all building on the same list but using their own cowbuilders. It should be sufficient if all computers shared the same LOGDIR across the network, but I’m not sure how to do this. NFS does not the trick since it cannot guarantee the atomicity of the ln-command.

Benjamin Mako Hill: Novartis, Stop It

Swiss pharmaceutical company Novartis is currently suing the Indian government over its patent law in an effort to further limit production of generic drugs in India. Among other drugs, the company is trying to stop India's production of generic AIDS medicines that supplies more than half of the developing world. M decins Sans Fronti res (MSF) has a great FAQ and bunch of other information on their access to essential medicines (AEM) site that you should check out if you are unfamiliar with the case. Mika has been working on a variety of AEM projects for a while with quite a few important successes. From a certain perspective, some of the core calls for access to knowledge share common ground with free software, free culture, and anti software patent advocacy that I've been involved in. Of course, it puts things in perspective to see Mika and others in the AEM community point to millions of people and say that those people will die because of an IP maximilist position. Last week, I went with Mika to a protest of Novartis near MIT. It was just below freezing, slushy, raining, sleeting, and probably the worst weather I've ever experienced in Cambridge. Despite all that, it was wonderful to join a large group of activists in Cambridge/Boston and around the world to send a strong message to Novartis. You can watch a video of the protest or see a set of photographs. Both were taken by my friend Jay.

19 February 2007

Jonathan McDowell: The UK rail network sucks

I've been ill; I had the flu (first time I've ever actually had to take a day off work). And then I spent a week working from Portstewart. Which was a bit odd, as Katherine's living in furnished rented accomodation which means the decor is completely not us (we've always lived in unfurnished places before). Anyway. I went down to London Saturday week ago, and of course there was no direct train from Norwich because Network Rail like to screw over people travelling on weekends. And then I came back from Stansted yesterday and there were no trains from Stansted. So I end up on a replacement bus service to Cambridge (where I'm supposed to pick up a train to Norwich). And the moron driver goes to Audley End (fair enough, we knew it would stop there), reaches J9 of the M11 and decides to go southbound rather than over the junction towards Cambridge. So we end up practically back at Stansted - at J8 he comes off the M11 and rejoins northbound, then drives up to J11 before coming off. I'm not a Cambridge resident, but I'm sure this isn't a sensible route, even factoring in that I don't think you can go northbound at J9. 3 hours of travelling time. I'd have been better on the bus, but I just missed it and the next one wasn't for another 2 hours. And then there's pricing. I'm going to a wedding in Glasgow next month. It was £50 cheaper to fly than take the train (and even given check in times I suspect will be significantly faster). I'm considering a meeting in Manchester at the start of April and flying is cheaper than the train (again by over £50) and in fact given the timings would mean I could actually do it in a day rather than having to sort out accomodation. Flying is even cheaper than driving it seems, and probably faster or at least equal given check in times. I know I'm supposed to be flying less, but it's hard. Give me a viable rail network that's actually competitive on pricing (I'm not even talking about walk on pricing, I'm trying to book in advance with known travel dates/times) and has a decent schedule and I'll use it!

18 February 2007

David Pashley: Ogg Player Redux

After my last post on music players capable of Ogg Vorbis playback, I was recommended: I can discount the iHP120 straight away as it's a HD based player and will be too large for what I want. Update: I'm intentional avoiding any Apple products. iRiver t10
iRiver T10
90GBP will get me a 2GB device. Several people have claimed it works as USB mass storage, although I've seen someone say American versions wouldn't work. iRiver have a firmware updater to convert it to UMS, so I might need to find a Windows installation. It has good battery life of around 45-50 hours from a single AA battery, which is good. It's got good reviews for its sound quality and its rugged construction might make it good in the gym. Kingston K-PEX100
Kingston K-PEX100
A 2GB model will set me back around 65GBP. It's a touch larger, but thinner than the T10. Looks like a UMS device. It can be expanded with miniSD cards, which seems a nice feature. It only has a 17 hour battery time using the internal rechargable, which seems a bit low, considering my CD player will do 120 hours off two AA. Reviews have mentioned that the build quality is a little budget and a couple of firmware bugs, but hopefully these have been fixed now. Samsung's YP-U2
Samsung YP-U2
Can only find a 1GB unit for 60GBP, although there is a 2GB unit available. Battery life is only 14 hours from the internal rechargable battery. It's smaller than the iRiver T10 and is a UMS device. I've seen reviews complain about the audio quality of this device. I think the lack of battery life and audio problems will rule this one out. Cowon iAudio U3 and T2 I wasn't recommended any particular models, but the two I'm considering is the T2 and U3.
iAudio T2
The T2 is a necklace style player, which is rather unusual, but I can pick up a 2GB model for around 100GBP. Battery is around 12 hours using the internal rechargable battery. Looking at the reviews, the supplied headphones make up the actual necklace part and you have to remove that to use your own headphones, which is what I'll be doing, having just bought some Shure E2Cs. They also say the controls are a little confusing.
iAudio U3
This is the most expensive of the products I've looked at at 115GBP for the 2GB model. Battery life is around 20 hours. Reviews have been very positive. Not sure if it's worth the extra price though. Update: Apparently the 2GB model can only be charged via USB, where as the 1GB model comes with a charger too, Also, I read in a review that it has doesn't do gapless playback, which is very annoying. Why don't players do gapless playback? Summary I think my top choice is the iRiver T10, although each of the others have their plus points. The K-PEX is expandable, the T2 is small and the U3 gets good reviews. I think I've discounted the Samsung. I will try and find each of the players in a local shop to have a play before I go out and buy one. If you have any comments on any of these players, or you have another product to recommend I'd be very interested. Oh, and continuing my trend of discovering bands that have split up, I've been getting into At The Drive-In. :S
Read Comments (13)

Holger Levsen: life's too short

...so I left some more IRC channels. for now I'll stay on those mailinglists, but if the unfun continues, I'll stop that too. Ironically just when I have time for IRC again...

Have fun!

Evan Prodromou: 28 Pluvi se CCXV

Ugh. I have some blogging catching-up to do, which I'm going to try to take at a fast clip. I tend to get bogged down in the daily details, which can make getting my info down electronically kind of difficult.

Trip to New York City Maj, Amita June and I drove down through upstate New York for LinuxWorld OpenSolutions Summit. It was a good drive -- really pretty going through the Adirondacks in winter. There were icicles hanging dozens of meters from stone cliffs -- really dramatic. We spent Tuesday night with our friends Jen Bohner and Massoud Marzban. Jen is a friend of mine from high school, and Massoud is her husband. They live in Sunnyside, Queens now, after a year stint here in Montreal just before Amita was born. We miss having them around here, but they seem to have settled in well in NYC. Jen is working way too hard on a master's of education while teaching 5 classes during the day in New York public schools. Despite this, they found time to make us a great dinner, open a bottle of wine, and spend the evening chatting. Really decent people. tags:

LWOSS The next morning, Valentine's Day, I got up early to go into Manhattan for LWOSS. I called for a car service that Jen and Massoud use, but they failed to show up, and when I called back they hung up on me. Deborah's Car Service, there. Make sure to miss them if you're in the area. Anyways, I managed to flag down a cab and get into Manhattan anyways. It wasn't too much fun -- there'd been a big snowstorm the night before, and traffic was gnarled and bitter. Still, I got to the event hotel -- the New York Marriott Marquis on Times Square, got checked in, and registered for the event just fine. The keynote speaker was security expert Bruce Schneier, who gave an extremely insightful talk about economic laws as they apply to computer security. It was very interesting, if hard to follow at times -- it's not always easy to keep economic theories and security practices juggling in your brain at the same time. I met up with Don Marti, who'd invited me to participate at LWOSS, in the speakers' lounge. He had assembled a great team of interesting people who know a lot about Linux and Open Source: John Mark Walker, Jeremy Allison and Jerry Carter of the Samba project, and Jeremy Garcia of LinuxQuestions. Sadly, the snowstorm had canceled the flights of two more participants, Donald Becker and Sascha Chua. (Those weren't the only two people who couldn't come because of the flying problems. I overheard dozens of conversations on cell phones of people whose colleagues couldn't make it for the show. In retrospect, it's pretty surprising that we had the event at all. Schools and businesses were closed all across New York on the 14th and 15th.) Don's plan was simple: to hold an "unconference" at the heart of the conference. We took a section of the showroom floor, set up some chairs and a big monitor for demoing, plus a whiteboard, and just started some interesting conversations. I talked about Web APIs, since I wrote an article on Web APIs for LinuxWorld.com in December. Other people talked about their own projects, about Linux distros, about tools in the Open Source toolkit, about the process itself, and all kinds of things. It was really fun and productive. (I'm realizing now that I should put Don in touch with Ted Ernst, who's been instrumental in organizing three of the Open Space events I went to in the last year. It would be really interesting to have an Open Space event the day before or after the main conference... making mental note, here.) Otherwise, the event was really pretty good. I talked a lot with Jeremy Garcia, who started using MediaWiki about the same time we started using it for Wikitravel. LQ is a really great project, and a nice mix of different community platforms. I managed to luck into an LQ t-shirt, which I'll wear proudly. The other big news, for me, was getting a loaner Nokia N800 to use during the event. The N800 is an Internet tablet, about the size of a cell phone, but without phone features. I liked it so much that I asked the Nokia team to loan me the device for a long-term review, and they agreed. So I took it home with me. Meanwhile, Maj and Amita June had a nice time tooling around New York. They went to the American Museum of Natural History on Thursday, which was pretty great -- Amita loved looking at the animals. We had dinner on Wednesday at a pub off of Times Square called The Perfect Pint -- although the food was a little more upscale than pubby. Thursday night we got a babysitter through the hotel and had drinks at the Broadway Bar (in the hotel) and dinner at The View (also in the hotel). The View is a rotating restaurant at the top of the Marriott Marquis -- pretty fun to do. tags:

UbuCon On Friday, I went to the Google HQ in Manhattan for TheUbucon, another (!) unconference, this time about Ubuntu and the people who love it. I got to hear Mako talk about the Ubuntu community process, how it works, and how to get involved. It was pretty impressive. I also did some key-signings and talked to a lot of interesting people. Including Kevin Mark, who had lots of comments on my blog. Hi, Kevin! I had to take off just as the event was getting started, to go pick up Maj and Amita June at the hotel and check out. We took a cab back to Queens, where we'd stashed the car so we didn't have pay outrageous Manhattan parking fees. Sadly, someone had taken the opportunity to key our paint job. I love you back, New York. tags:

Drive home I wanted to drive back through Connecticut, Massachusetts and Vermont on the way back, for variety, so we turned east and headed up through Westchester County. It turned out to be a real mistake -- traffic on a Friday afternoon out of New York is apparently pretty miserable. We took 4 hours to get to Hartford, by which time the baby was miserable and the rest of us were feeling pretty punked out, too. We ended up in the Motel 6 in Enfield (Connecticut) where we ordered pizza, took showers, and just got our heads back together. Today we got up early and had a nice drive through Western Mass and Vermont. The little northern New England towns were pretty beautiful in the snow, and we passed a lot of barns and farmhouses that looked like movie sets. We stopped in Burlington for lunch, and had a leisurely drive over the border and back home. When we got to our house, I had to shovel drifted snow -- about 3-4 feet deep -- out of our parking space so I can pull the car in. But otherwise the house is in good order. I'm glad to be back. tags:

17 February 2007

Alexander Schmehl: Is there a mail client which doesn't suck?

Until recently I was a quite happy user of the mail client mutt. I used to receive mails on my own mail server, check them for spam, and at home I used fetchmail to pull them all down, where they where sorted in different folders via procmail. Not very elegant, but working. Sometime I read the mails directly on my server, which wasn't as comfortable as possible, since the mails where all in one big pile. So I needed to change something to sort them on the server and sync them home. Not a big problem, you might think? Well... Sorting mails on my server wasn't a big problem (beside the fact that I needed to tweak my procmailrc a bit; I used real folders at home, but dovecot wants to have the folder hierarchy separated by dots in the names of the physical folders). First I tried to use mbsync, from the isync package. First problem was, that mbsync doesn't like subfolders (which I didn't found out via the documentation, but from a friend using it, too). So I needed to rename all my folders (nearly 100) again to something mbsync would understand. I worked quite well and did, what I wanted to do: Syncing mails from my home computer to my mail server and the other way around. It was nearly perfect, and I would be able to read mails even without net connection. Perfect for boring train rides! But after only one week something went wrong. mbsync started to segfault. Beside receiving new mails and doing the usual stuff (reading them, moving them to other folders) I changed nothing. But it kept on segfaulting; I didn't found out why (see #411120). Obviously I need a working mail setup, so I searched something new... like my old mutt! Why not use mutt to access the imap server directly? Okay, I wouldn't be able to read mails while traveling around in a train... but hopefully mbsync would be fixed in the meantime. But using mutt with imap sucks, too. While it is perfectly possible to read my mails, it seems impossible for mutt to check, which folder has new mails. No, that won't work. Thanks, I'll have a look at something else... Perhaps I should try something new? My girlfriend likes thunderbird icedove. Nice user interface... no problem accessing my imap server... and it has some kind of offline mode. But... NO! It seems it's impossible to make system wide folder settings! Like... displaying new mails on the top instead of the bottom... or using the thread view... or setting this damn "check this folder for new messages" flag, so the folder will be checked for new mails. Damn! I won't click through every single one of my nearly 100 mail folders to set the settings I want. Sigh... isn't there a mail setup which doesn't suck? It isn't that complicate: I want to use gpg, I want to have threading, I want my folders to be displayed properly (preferably in some kind of tree), I want to see which folders have new mails and it shouldn't be that huge (which kicks out kmail and gnus); bonus points if I can continue using my favourite editor and for some kind of offline mode. Update: icedoves threading sucks, too. It seems to be based on the subject of the mails, not mail headers. Leading to quite iritating views on a mailfolder containing a lot of auto generated messages with similar subject. PS: No, I haven't tried offlineimap, yet. Some people warned me to not use it. Well... perhaps I'll give it a try.

Mike Hommey: VMDK open specification

Dear lazyweb, A while ago, there was a PR announcing that VMware was opening its VMDK specification with GPL compatible licensing. While anyone can get the specification document, provided they fill a form, I haven’t seen any note, on the document itself or anywhere else than the PR that this indeed allows an open source implementation. The only thing that remotely ressembles licensing of the document could be
To ensure that readers of this specification have access to the most current version, readers may download copies of this specification from www.vmware.com and no part of this specification (whether in hardcopy or electronic form) may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of VMware, Inc., except as otherwise permitted under copyright law. Please note that the content in this specification is protected under copyright law even if it is not distributed with software that includes an end user license agreement. This specification and the information contained herein is provided on an AS-IS basis, is subject to change without notice, and
to the maximum extent permitted by applicable law (…)
But this is more about the document itself than about the use of the specification. IANAL, but without more terms, the point of being able to read this specification is moot. It could even be patented and enforced… Anyone with a better clue ?

16 February 2007

Alastair McKinstry: Tied up in Tentacles

Last year I was working for a small Satellite ISP : we installed broadband over satellite to small communities. Our satellite provider was Italian, so the IP addresses we used were mis-identified as being Italian (not Irish). This turned out to be a problem when google was appearing in Italian, and directing you to Italian sites; I fixed this with a hack redirecting google.com to google.ie using squidGuard in front of a transparent Squid proxy. One year later, Ildana has gone bust, but the servers and other subnets are still in the field, some with new non-Satellite uplinks. I got a call from an old customer who was having a wierd problem: they could reach all the internet except Google. Surely Google had not gone down? A quick look showed that google was now redirecting google.ie to google.com. Curse and recurse ad nauseum. Easily fixed, though. So whos to blame? Google and many,many other websites, for ignoring language preferences stated in the HTTP headers (especially those websites who pull in adverts based on IP address, while failing to pass on language preferences: we saw English-speaking newspaper pages with Italian adverts). The whole broken nature of GeoIP ? especially with Mobile IP, nobody should be making assumptions based on IP address to location. Try looking at geographical DNS extensions, etc. instead. And how should squid and squidGuard cope with mutual loops?

15 February 2007

Biella Coleman: I cite, you cite, I rant

Since there are few topics about academic etiquette than get me as excited as the norms of citations, I was quite fascinated by Joseph Reagle’s blog entry on the topic, a discussion that spanned a summary of Helen Nissenbaums’ work on the subject to his own wrangling with how he should recognize others who have independently reached similar conclusions as his own. Citations fascinate me because they are one of the few tangible inscriptions that reveal just how much of our work is indebted to others; it is stimergic (and if you don’t know what that is, read Joe’s entry as his moral wrangling over citations had to do with this term, his use of it and the discovery that someone else came up with it also). Despite the fact that all disciplines use them, we use them slightly distinctly. Lawyers use them in lawyerly-like ways: they cite the crap out of everything (it is kinda annoying but kinda helpful) and this makes total sense: they are covering their asses (lawyers know how to do this well), they are following the logic of their own practice as case law is quite citational, and well, law professors usually have one if not two research assistants, and this I am sure helps them in covering their citational bases. Another big difference in practices of citations is between a conventions that includes the name of the person you are citing in the body of the text and those that stuff all that data in a footnote. I can’t stand the later convention, not only because it is a pain in the neck to have to go back to the footnote JUST to see who the heck the author is citing but I think the credit should be right there, springing off the page so that the politics of collaborative recognition are, well, very evident (and I do understand that if you are citing a buttload of folks, that sometimes it is just better to do that in footnotes and sometimes with history they are citing way to may folks to really do it effectively in the body of the text). Joe raises some fundamentally thorny questions of who and how do we cite given that we may come up with an idea with the power of our own little brains, only to find out (gasp) that others, past and present and very unknown others, say something similar. On the whole, I tend to try to make clear, as Joe did in the example he provided, where I am totally taking the idea from someone to apply to another idea of mine and where I have an independently crafted idea and I am citing others so as to support my own position, which usually only strengthens my own argument. And what I find is that just because a cohort of folks may be working on similar topic (open souce, hackers), since we do so from our own perspectives and methods, most of the research will be original, though not as much as we tend to perform to our superiors. Also I sometimes find myself with an idea, which I consider as my own, but where I am so in need of a citation because it is an idea that seems at an intuitive level to be right on but it is hard to truly substantiate with the data I have (I am in that position right now and am desperate to find someone who says what I say and thus have a means to support what otherwise seems like a lofty idea…) And in fact, one thing that bothers me about citations is that we don’t seem to take seriously that the date of publication may not just tell us when something was published but help us gauge if something can become “dated.” What I mean is that when (and I guess if) I publish my book on hackers and Debian, it will not be a reflection not of some timeless aspects of hacking but firmly based out of the time period (roughly 10 years give or take 3 or 4) that I was either researching and writing about the topic. And while you can and should cite folks who wrote stuff in the past because that stuff still matters (a lot of what Steven Levy says for example still holds water) a lot changes. And yet I can’t stand how folks then cite someone as wrong when in fact all that went wrong is that time does what it does best: MOVE FORWARD and social phenomenon change along with the passing of new moons. This is not as likely to happen in the hard sciences but sure as heck happens with anything in the so-called human realm (which is why it bothers me that the social sciences and humanities model our citational and journal practices so similarly to the hard sciences, when it seems there are enough differences to warrant more differences than there are but that is a whole other topic). So now I try to note where my analysis diverges because the context so radically changed and really leave critique for those things I can safely and fairly disagree with on its own terms.
Finally, Nissenbaum’s article seems so interesting (I have not yet read it but now will) because it confronts how our practices of citations may or may not (or should) change in the face of a proliferation of access to work due to electronic media (she flags: wildcat publisher, grey literature, preprints). But I have found that, at least in anthropology journals, and especially in the anthropology of science, technology, and medicine, authors are mostly citing other anthropologists, as if a whole scholarship on a topic was non-existent, which seems more odd today when it has gotten easier to mine and find this stuff. They only cite “non-anthro others” when these folks are so standard, it would look horrible not to do so, but there is not a move to branch out, which I find a real shame and why I sometimes get really down on disciplinary journals (and why I am quite content to be joining an interdisciplinary department). And to be clear, I don’t fault individual authors, it seems that this is the unstated expectation and if that is what is going to get you in a journal, and that is what gets you tenure brownine-points, then you do as everyone else does. And that brings me to the final point which is the problem with standards in citational practices. So for example in the field of science studies, everyone must and usually does cite Bruno Latour. And as Chris Kelty reminded us, there is *very* good reason to. But I find what happens is that once a person is flagged and gets cited ad nauseum (which is mostly a decent but not full proof baramoter for judging good work), it become self-perpetuating reality/cycle because everyone else is doing it and it seems weird if you don’t (and I have sometimes seen some articles just awkwardly cite famous people in their discipline when it made little sense to do because, I think of this phenomenon). So all of a sudden, it becomes all Microsoft-Windows like: you cite, they cite, and it becomes “standard” who you cite and you can’t seem to escape the default. But alas, there is always an escape hatch, because one of the gems in academia is discovering that one theorist or book relate x to y and z topic that for some reason everyone else overlooked (because they were busy citing Latour,) to bathe some topic in a wholly new light and then a whole group of folks become unfashionable and the cycle begins, yet again…. The solution? If we only had a couple of research assistants like the lawyers, well maybe we could branch out a little and cover our bases a little..

Russell Coker: a good dog for uplifting

The Norwegian Puffin Dog has six toes that are all fully formed. This has to be a good start for the uplift process.

The requirements for uplift are intelligence, speech, and the ability to use tools (dexterity in fingers). It seems that the Puffin Dog has a finger advantage over other breeds. Also the Lundehund has the ability to spread it's front legs out horizontally and to turn it's head around to face backwards, both these abilities significantly increase it's potential ability at using tools (uplifted dogs could use their mouths to manipulate tools as well as their hands).

So we need to find a breed that has good vocal capabilities and a breed that is intelligent and produce a cross-breed that has the best of all three!

Lundehund Syndrome sounds nasty, and would be almost impossible to breed out of pure bred dogs, but when producing a cross-breed it should be easy enough to do. Given that we don't care whether the uplifted dogs look like Lundehund's, have the same number of teeth, or are identifiable with that breed in any way other than dexterity it should be easy to breed out the genetic damage.

MJ Ray: Cycling: Flax Bourton Greenway: Warning: May contain nuts

I saw the Flax Bourton greenway consultation (available on http://www.n-somerset.gov.uk/Transport/Travel/Cycling/flaxbourtongreenway.htm) includes a railway bridge with what looks like a maximum-radius corner on one side, but a tight corner emerging from behind a fence on the other. I wonder whether there's any reason for that, because it looks dangerous to me. Check Sustrans plans carefully. One one hand, they've got the money and planning authority respect to get dumb stuff built, but on the other hand, they've got the money and respect to get good stuff built. Use 'em.

Julien Danjou: How to work in hostile environment #1

Always have a friend reachable by phone and able to open a ssh access to a special port. When you're are working at a customer HQ with a Windows station, 5 firewalls in front of you and a limited Internet access, that might make your day.

David Welton: Caching "streamed" content in Rails

In a previous article, I illustrated one way of generating streaming content programatically. The application utilizing it is still slow in sending it, though, because it's got to interact with the database, process the data, and so on. The ideal solution would be to cache it, however, the normal rails cacheing solutions don't work, because the return value is a Proc, and if you try and write that to disk, it just writes the equivalent of proc_object.inspect, which doesn't do me much good. However, I figured out a clever way of running the exact same controller method "standalone", and stashing the results to disk. I placed this file in scripts/cacher:
#!/usr/bin/env ruby
ENV['RAILS_ENV'] = ARGV.first   ENV['RAILS_ENV']   'development'
require File.dirname(__FILE__) + '/../config/boot'
require "# RAILS_ROOT /config/environment"
require 'console_app'
app.get '/mycontroller/big_results_method'
resp = app.controller.response
File.open("# RAILS_ROOT /public/cached_big_results.csv", 'w') do  out 
  resp.body.call resp, out
end
I think it could be improved, because it seems to be running the DB query twice - once during the actual app.get, and once again when the Proc is called. But, in any case, it works, and now I can call it from a cron job.

Joey Hess: wikis out of disk

Today wiki.debian.org was briefly running on a full disk, and this MoinMoin based wiki failed pretty spectacularly: We're used to some unix programs not dealing with being out of disk space very well. But IMHO wikis should be in the same class as package management systems, revision control systems, or databases: running out of disk should be something they handle gracefully without data loss and with graceful degredation when possible. Course I wrote a wiki engine too, and it didn't fare much better. Possibly worse, although I tested it much harder than MoinMoin: Of course I've fixed all these problems, and it seems quite robust now on randomly failing disks. If a page edit fails, it will go as far as to bring you back to the edit form and let you try again. I'm interested in how well other wiki engines stack up.. Also, if anyone has some hints for good ways to write regression tests involving full disks, I haven't found an approach I like yet.

Andrew Stribblehill: Words and punctuation

I don’t generally post whilst annoyed — which could explain why my postings are generally of a whimsical nature and (hint hint) don’t get enough comments. However, this post is different. I am angry that people see fit to write things for public consumption or wide dissemination when they obviously have little regard for the language in which they are writing. As a general principle, if you don’t know the right spelling, punctuation or grammar, ask someone who does know! People who don’t know where apostrophes belong: this means you! Another hint: the word “momentary” does not mean, “in a moment”. It means “for a moment”. Big difference. If “the power will resume momentarily”, I’m going to unplug my delicate electronics. If it will resume shortly I will cheer and lo! there will be great rejoicing.

Jordi Mallach: Tunisia

Last month, Bel n and I managed to secure our trip to Tunisia on the very last moment. So, planning trips on the very last moment isn't nothing new around this place, but we made a big effort to take things to the limit. I can't remember why exactly, but on January 31 we were *so* close to fucking everything up before it started, when we packed our stuff just a pair of hours before having to leave to the train station. My luggage was prepared in a rush, so while I think I took everything I thought I'd need, I didn't really select my clothes too much. The idea was to have our suitcases mostly empty to bring back stuff from the markets: smoking cachimbas, lamps, leather stuff, etc. At that time I didn't know that would end up being a great strategy. Anyway, like 9 minutes before the train's departure we were stuck in Nuevo Centro without a taxi and at that point I really had lost hope about being on time. For some reason, there were no taxis in the area, when it's normally a place where there's tons of them. Suddenly one appeared, we rushed in and I asked the taxi driver to please fly to the station. Happily, we got an incredible green wave around the avenues, he drove us at like 80 Km/h and we even had to wait for a few minutes at the station. In Barcelona, we prepared our small New Year's Eve dinner with my cousin Laia and Marc, and while the plan was to go to sleep pretty early to be in good shape to go to the airport next morning, the bottles of wine and cava emptied quite fast, and around 4:30 we were quite drunk when we decided it was enough. When some annoying sound woke us up next morning, it was really late, so we again rushed out to the empty streets of Barcelona, sneaked into a regional train, without knowing it was the only way to get in time in El Prat airport, and after some initial confusion trying to find the travel's agency desk in the wrong terminal, we managed to check into our flight, being the very last to do so. With all the rush, I couldn't get some clothes from my suitcase transfered into my hand luggage, which I really wanted to do after my nice lost luggage experience during Debconf 5 in Helsinki. Anyway, chances are small that your luggage gets lost, right? But of course, Murphy is always vigilant, and this was a great opportunity to fuck me up. After a short but horrible (due to our really bad hangover) to Tunis/Carthage airport, we were in the long security/passport check. When Bel n picked up her bag and mine didn't appear, I tried to tell myself hey, it'll appear, no worries! . After 15 minutes, the stupid suitcase was nowhere to be found. Apparently, another two pieces of luggage had the same luck, which made us contact a group of four Uruguayans who were missing one of them. Nothing too terrible; it'll surely come on tomorrow's flight. After reclaiming our lost luggage, we went out to the parking where a bus was waiting for us, and on the way there, the six of us nearly fell into the first Tunisian scam, involving a dude selling jasmine flowers at 2 each. The bus took us down to Jasmine Hammamet, the most touristic place in Tunisia. Valencians might have an easy imagining the atrocity of the area by picturing what twice Marina d'Or plus Benidorm including Terra M tica would look like. Kilometres and kilometres of a disgusting Who can build the most horrible giant hotel right next to the beach contest. So it was pretty clear we had to spend as little time as possible in the area. We soon learned about how transport works in Tunisia. The cheapest is to use the public busses and the luagge collective taxis, we soon found out. Our first morning there, our guide Rejeb, working for Iberojet and Solplan touroperators, gave a talk where he advised us against travelling alone, specially around the South, while he offered organised trips around the country for every day of the week. Although we expected this danger! speech, we decided to book the two day trip to the South and Great South of the country, basically because it was the best way to see many places in a short time, even if it meant having limited time in each destination. We wandered around Jasmine Hammamet and discovered Carthage Land, sort of a Disneyland set in the age of Anibal and Carthage's empire, which was inside a newly built medina complex. This was a really bad place to practice the art of haggling, as the place was so desert, merchants really tried hard to get you buy something. Again, we were close to fucking up after our first negotiation, but we finally decided we weren't so interested. Lucky, we later found out the price was outrageous. Sadly, we spent way too much time in that tourist trap, and we found it was too late to go to the real Hammamet town to see a real medina and real stuff, so we had a long walk around the immense beach until sunset. On Wednesday, we did organise a bit with the Uruguayans and some others we had met: Mar a and Santi Kuchi Kuchy , Cristina and Pedro and an Argentinian family, and managed to hire a van driver to drive us all over the North. For quite a good price, we were taken to a few ruin sites in Carthago, now mostly a residential area, and it was really impressive. While the condition of many of the remainings is not optimal, it was exciting to see things which had been built by Phoenicians and Romans 2,000 years ago. I really enjoyed the remainings of the Antonine thermal baths of the city. It had been a huge building right next to the sea; one of the standing columns helps figuring out how big it had been. Right next to this site, the Presidential Palace dominated the whole gulf. Military places are treated zealously in Tunisia, and it is against the law to take pictures of any bit of it, not even a barbwire of the fence. The Palace had a great Tunisian flag waving over it, and many signs advised you against taking pictures in that direction. I couldn't resist.


The ruins of the Roman Antonine Baths After Carthage, we went to Sidi Bou Said, a small touristic town, which had the peculiarity and beauty of having all windows and doors painted in a beautiful light blue colour. Our last stop for the day was in Tunis, where we visited the most amazing medina of the whole week. Unlike the new medina in Jasmine Hammamet, this one was literally packed with people going up and down the maze of very narrow streets. Every few metres you'd come across a new, attractive smell coming from the few salons de th or spice, leather or perfume shops. Here we finally started developing our haggling skills, and managed to get a few items for reasonable amounts.


Streets of Sidi Bou Said Back at our hotel, everyone tried to get a quick dinner and go early to bed, as next morning we were taking a bus for our trip around the South. There was time to call yet another time to the Airport, to find out that one of the luggage pieces had been found. While there was no news about my suitcase, we shared a taxi to the airport to pick the found suitcase, and see if mine was actually there by any chance. Unluckily, it wasn't, so I wouldn't have any clothes for the desert visit. Some people in the group were kind enough to lend me some t-shirts and pants. For my underwear, I actually resorted to using some of Bel n's (no kidding, it was way too sexy :P), while mine dried up after some manual washing. The alarm clock went off at 5:15 or so, and soon after we were ready in the hall with our small bags. When the bus was ready to pick us up, the guide said we weren't allowed in, as we weren't on the list. WTF? We were nearly the first ones to book and pay for it! So he finally let us in, for a short while, until he realised there was no space for everyone, so he demanded that we got off. Of course, we didn't, and a long and very disgusting argument started between the guide, us and a few people who had seen us pay for our trip, and were trying to support us. To make a long story short, we ended up stepping down when I noticed the bus driver calling the police, and after Rejeb, our guide, told us the other bus would be waiting for us at the travel agency if we quickly took a taxi there. We of course knew that was a fantasy to get the bus moving, but dealing with the police at 6:30AM wasn't on my list of activities for the day, so we finally gave up to let the rest of the people get in time to their visits, as they were very tightly scheduled to make everything fit in two days. Nobody was waiting for us at the travel agency, but we were promised our money back, which did happen in the evening; our plans for Thursday and Friday were a bit broken though, and the rest of the morning was spent looking for alternatives. When we had managed to book a new trip in a different agency for Saturday, we took the bus to Nabeul, the capital of the province, well known for their medina specialised in pottery. In Nabeul, we lived a tourist trap which I found to be quite original. Not having walked 3 metres into the city walls, some young dude stops us and tells us that he knows us, as he works in the restaurant of our hotel . I totally didn't remember his face at all, but why not? So he quickly tells us Nabeul has good carpet workshops, and her sister is working in one which is regulated by the Government, and you can only visit two days a week. Coincidentally, Thursday is one of them! So he literally grabs us by the arm and takes us to one of the streets perpendicular to the main market street, and we enter a carpet shop. To the right, his sister probably being like 45 years older, is knitting a nice carpet on the loom. And a few seconds after, we're taken upstairs, where a Teletienda show starts before us. Without being asked if we want to buy a carpet, some other dude starts to unroll carpets and more carpets before us, talking in some very basic Spanish. While we're offered jasmine tea, which is really nice, Ali the brother quickly excuses himself and vanishes, leaving us with the salesman, which continues unrolling more and more before us, now helped by someone else. When 10 minutes later we convince them that we won't buy any carpet, he asks a donative for his young employee, who has unrolled and will now roll back a zillion carpets. Back in the hotel, we have dinner with a pair of Catalans from our flight, and when we tell us about the carpet place, they tell us they went over the same story like one hour before us! On Friday, we got some advice on other places to visit, and decided to go up to Cape Bon and visit Kerkuan, the only important remainings of a Punic city which, when conquered by the Romans, was destroyed to the grounds, but not rebuilt on top (they were busy with Carthage). Romans did an excellent job when destroying cities, and the result is a site which still lets you see perfectly how a small town (around 1,500) looked like 2,000 years ago.


Ruins of a Kerkuan neighbourhood, with their red bathrooms nearly intact To reach Kerkuan we had taken the bus up to Nabeul and then our first luagge to Kelibia, where we took a taxi (after no less than half an hour arguing in French with the taxi driver to settle on a rate for a ride to Kerkuan and then to the tip of the Cape in El Haouaria. Luagges are undoubtedly the best way to travel medium distances for very little money, while getting mixed with locals. During our ride up North, we chatted with a nursing student from Kelibia who was going back to her town for the weekend. She was really open, like most of the people we found in Tunisia, and we ended up exchanging our post addresses; we still need to send her a postcard from Val ncia soonish. This area wasn't so touristic, so the roads, while totally acceptable, weren't as good as the highway from Tunis to Sfax we were used to. We had seen some bits of the local driving skills , but the luagge driver performed some of the most extreme overtakings I've ever seen. These happened every three of four minutes, so after a while I was actually amused about what was going on. We would overtake two lorries on one go when there was absolutely no visibility; if things went too far, people would just slow down to let the overtaker get back into his lane on time, and those coming ahead would just use their headlamps to make them know it was just a bit too close. The taxi driver, annoyed at us, took us to Kerkuan but didn't wait for us; he immediately left, leaving us without any transportation in the middle of nowhere. After a visit at the site, we walked around 2.5 kilometres back to the main road, where we decided it was too late and risky to continue the journey up to El Haouaria, so we waited on the road gutter for a taxi. The first one which stopped was, to our surprise, the same bastard who left us one hour before, who stopped, laughing at us a little. Luckily some other taxi came by in the correct direction, and soon forgot about that man. After a taxi, luagge and bus ride, we were back in Hammamet, and the desert group had already got back from the two day trip. We were asked over and over what happened, what did we do, etc. People who hadn't talked to us before would come over and see; we were really surprised about the warm welcome we had. After dinner, we improvised a customes party, and many people managed to dress up in Tunisian/arabic fashions using bed sheets and so on. We had to wake up at 5AM next morning, but didn't go to bed until 2AM. Nothing could go wrong this time. We had our tickets, we had confirmed we would be going on Sunday the night before, so at 6:15, our new guide came in, and came straight towards me. He said something in German, and after I told him I spoke absolutely no German, he said huh, well you know the bus is full of Germans, and my indications will be in German? . Pretty incredible, but again a fuckup by the agency. My ticket said, clearly: Sahara safari. Bus + 4x4. (ALL). Turns out ALL meant Allemand, not everything included , although we had requested English pretty clearly. This was quite a minor problem though, after having no clothes for a whole week and having been left behind two days before. I think we were really lucky getting that German group, though. We were only 16 people on the minibus, making the stops a lot faster than the normal ones, where 55 persons need to get out and in of the bus. We had our own Routard guide for Tunisia, so we could read about the places we were about to visit before getting ther. Also, I surprisingly knew much of what our guide was talking about, just missing the details he talked about oil production in Tunisia compared to Spain's, among other topics . When the landscape was becoming drier and drier, Bel n and I spotted something dark far away ahead in the completely straight road. As it became bigger, I started thinking it might be the #1 place to visit for me in Tunisia: El Djem's impressive Roman amphitheatre. When we got off the bus, I was totally excited. Before me, the walls of an incredibly well preserved, huge Roman building; in fact, the best Roman ruins in the whole continent. El Djem's amphitheatre was the third biggest of the Roman empire with 35,000 seats, only surpased by Rome's and Capua's. It remained mostly intact until the 17th century, when some of its stones were used to build the city and some of the treasures taken to the Great Mosque of Kairouan, but when it took more damage was during two consequent wars, when the Turks didn't have many problems to blow part of the wall away using cannons to end up a siege of the city.


The Roman amphitheatre of El Djem The underground tunnels are intact, and it's difficult to not have flashes of Gladiator while walking under the arena's trapdoors. Sadly, there was little time to spend there, and we had to continue the journey after just 45 minutes. I would have spent half of the day there. From here, the landscape truly started to get drier and more desertic. The south of Tunisia is a giant olive field, until you reach the Great South, where it's dry enough that the only thing that grows in the land are rocks. Hours later we arrived in Matm ta, the very famous troglodyte village of small holes in the ground. Although I was curious about being there, watching how organised and massive tourism has destroyed these Berber's ways of life dissapointed me greatly. Our guide stopped the bus in one of the pits, which was decorated with white and light blue. In the first room, an old woman was grinding something in a small, stone mill. The dwellers of the few pits still used by their original inhabitants now make a living by letting people into their homes and getting dinar as a payment for taking photographs. What the woman was doing was just a bit of theatre, part of the show. After this first room, we got into the middle of the pit, which had a series of other passages to some rooms, some of which were simply open so we could get in and have a look. I felt a little bit like violating someone's privacy, and wondered how much the house had changed in the last years.


Inside a troglodyte underground house in Matm ta After our visit, we continued up the mountains of Matm ta, and after going by a giant "WELCOME TO MATMATA" sign drawn in white in the middle of a mountain, Hollywood style (!), we stopped for a brief photo-stop (sic). Indeed, the view was quite impressive, and is universally famous as one of the filming spots of Tatoonie scenes in Star Wars: A New Hope. Speaking of famous places, a few minutes later we stopped at the top of one of the hills, were we'd have lunch in the Hotel Sidi Driss, a place of pilgrimage for Star Wars fans, as it was the troglodyte pit which served as the Skywalker's home. The place is full of references to the film saga, and one of the open pits is full of set pieces stuck into the walls. We were served couscous, which wasn't bad, but was cooked and served in the most genuine fast-food fashion. Everyone there gets couscous to eat, apparently, and it's the same in many other touristic places in the area.


Matm ta's lunar landscape From here, our journey headed straight West, in the middle of the rocky desert, until after some time, you could start to see lines of palm tree branches planted here and there, a sign that rocks would soon disappear, being replaced by sand and dunes. As when we were approaching El Djem, at some point a huge, dark spot appeared on the horizon. Douz, probably named after some 12th French batallion which stayed there, is a small town in the very limit of the Sahara desert, built right next to a huge oasis, exclusively dedicated to palm tree plantations, making dates production a big source of income, along with, of course tourism. The travel agencies use Douz as the starting point for several-day trips into the desert, camel rides and stuff like this. Our guide offered us getting a camel and carriage ride in Tozeus for 20 dinar, but Bel n and I declined. He didn't seem to be too happy about it, and had no problem commenting this in German and Arab with the driver (Spanisch and Spanien were clear to me). We learned that the agency (or the guide) makes around 3 Dinar for everyone who contracts the camel rides, after speaking to one native young kid who worked in the camel place. While our German trip mates got dressed in berber fashion, we opted to walk into the desert and play around in the sand on our own. I discovered a few desert insects which were unlike anything I've seen anywhere, and their diminute trails were all over the dunes. Looking West, the view was astonishing, with only thousands of kilometres of yellow dunes ahead us.


The evening sun over the dunes After they came back, we were taken to our hotel, which was really impressive. After leaving our stuff in our room, we headed back to the desert, which was like 300 metres away, to see the sunset over the Great Dune . There's a street which literally serves as the frontier between the rocky ground and the sand desert. From there, you could see many lines of palm tree branches, which are planted by locals in a futile attempt to stop the inexorable advance of the desert. Women in Douz and other towns in the desert limit spend their days sweeping the entrances to their homes, as sand gets in really fast. A small village next to Douz even had to be abandoned and rebuilt in some other place, with the old one being finally devoured by the dunes. When it got dark, we still had some time to kill before dinner, and we discovered a hammam in our hotel. I got in, and saw there was a bored young man inside. He informed us about the prices, and after some short deliberation, we realised we'd spent half of the camel money in some Arab relaxation; while I got a really cool massage, Bel n enjoyed a Turkish bath. I spoke to the guy for a while, and he said not that many people used that hammam. He actually handed the list of services since 2002, which easily fitted in one piece of paper. People don't know what they are missing; he explained that most of the hotel's clients just showed no interest in the baths. I wonder how Fins or Norwegians would react, given their sauna culture. The dinner and breakfast in that hotel was absolutely awesome, and I actually ate too much to have an easy sleep. Next morning we had to be ready at 5:30. That's pushing my limits. The bus started crossing the Chott Jerid when it was still quite dark. The chotts are dry, salt lakes in the middle of the desert, which during some seasons do get some water, sometimes from the underground. The Chott Jerid is the biggest of the three chotts in the area, and the views are fantastic. It's like a giant, totally flat muddy sea which reflects light creating dangerous mirages of oasis-like dark patterns. Before the construction of the recent road that links Douz and Tozeur, crossing the chott was so risky that many people died in the attempt. We had the unique opportunity to see the sun rise over the salty horizon.


Sunrise at the Chott Jerid Again, on our way to Tozeur, we were offered a carriage ride for ten dinar, and again we declined. The guide then asked us if we had no money or what. So in Tozeur we basically wanted to walk around the oasis fields, and ended up talking most of the time with some old man who sold drums and desert roses. On a 4x4, we went up North to Chebika, a really cool town with a small oasis of thermal water, which I guess was around 40 C. The short walk to the wall where the oasis surfaced was packed with children who insistently begged for money or offered necklaces and other items. It was difficult to make them understand you didn't want anything. We then went up the mountain behind Chebika through a road which had its own piece of history. It seems that during WWII, Rommel suffered an Allied siege in Chebika, with a range of mountains behind their backs. The Allies gave him one month to surrender, and he took his time to answer. During that time, he ordered his engineers to design and build a road which would let them escape Chebika through the steep mountains, and they managed. When the ultimatum expired, the Allies apparently found out Chebika had been abandoned by the Germans, including tanks and most of their equipment. So, on the way up, a few kilometres away from the Algerian border, there was another typical visit to the biggest oasis waterfall in Tunisia, which was several metres high.


The oasis at Chebika Our Sahara trip would soon end, and after lunch we headed Northeast on our way to Hammamet. On our way back, we stopped in Kairouan, one of the key Islam pilgrimace spots, with the Great Mosque as the biggest attraction. Unluckily, as we arrived after lunch, we didn't had a chance to see it. Apparently it is really impressive. We haggled a bit for a pair of babouches and a small leather couch in the medina. We came back to our hotel around 7, and found most of the people around the hall. After the obligatory update on how it went, we went to bed as we were exhausted, and of course we had to get up really early to head to the airport. The airport was at that early time of the morning a total chaos, and while people stood in the checkin lines, I tried to find out what was going on with my still lost luggage. I went back to the lost luggage window, which would be closed for 5 more minutes. When they finally opened, they told me once again they had no clue about what was going on with my luggage. I finally understood they had no clue: my tracking number wasn't in their database. I asked them if I could have a look at the unreclaimed luggage storage room. They kindly opened a small door for me, and invited me to go inside and have a look. The view was gross: hundreds of lost bags all over the place. As I was in a bit of a hurry (I actually had to get back to Barcelona), I asked him where to find the bags of one week ago, and he nearly bursted into laugher. Okay, I had to look all over the place, scanning every piece of luggage in an attempt to spot mine. There were bags of absolutely every type in there. In one of the corridors, I sensed a disgusting smell, and figured out some poor guy may have food or something in one of their lost bags, which was rotting in that horrible room. So wrong: soon after I found myself nearly stepping on a puddle of shit, as if someone had literally dumped it right there. Oh my... luckily my search was nearly over and unsuccessful, and I got back to Barcelona with the hope of finding my bag in El Prat. After looking in their two storage rooms I realised I'd probably not see the luggage again, which is a real pain in the ass. A few hours of train later we were back in Val ncia, with a feeling of having spent 3 or 4 weeks in Tunisia, not just 8 days. Really a great place to visit, not only for their cultural treasures, both current and ancient, but for the openness of their people. I hope I'll be back at some point!

14 February 2007

Gerfried Fuchs: Localized XMMS-SID

ccr has uploaded a new beta version of his fabulous xmms-sid extension for the X MultiMedia System which now also supports localization. I have prepared a package so you can test it, start localizing it for your language, or just enjoy it. I have noticed some possible wrong implementation of the i18n infrastructure, I had to do the msgfmt for the de.po myself — if you know what goes wrong here any input is absolutely welcome.

13 February 2007

Christian Perrier: fr: 99.858%, cs: 93.363%, de: 81.470%, sv: 79.599%, vi: 78.085%

No change today, mostly. Today's NMUs: faqomatic, calamaris, scsitools, cyrus21-imapd (most of them fix erroneous translation files here and there). Uncoordinated upload for atokx, wmmoonclock, atokx2. For all of them, I was having a pending call for translation updates, which the maintainer had been notified of....and which wasn't finished yet. Hurrah....:- atokx and wmmoonclock will improve the stats for French tomorrow...but we will be missing 100% because the atokx2 upload hadn't wait enough for us to send the update (and Steve has been slow.....). Really infortunate.

Next.

Previous.