Posts from July 2005.

Back from What The Hack

I am back. It was cool. Great guys I went with; actual event was nothing very exciting, but it didn’t matter because we had a superb laugh anyway. More full writeup later, but for now a quick taster of what the time was like: The Little Book Of Chin. Warning: think about the idea of implying that someone is lying by showing them a chinny raccoon. If you don’t find this funny, you won’t find the thing linked funny either.
I am now going to go to bed and sleep until my name changes to Rip van Langridge.

Printing reversed images onto transfer paper with OpenOffice.org

I needed to print one of those “mirror” image prints onto some of that iron-on transfer paper ready to go on a flag (a LugRadio flag for What The Hack, as it happens). The instructions for the transfer paper say “select the Flip option when printing“. Windows does this; Linux doesn’t. So: how do you flip your nice OpenOffice document so that it’s backwards on the paper so it transfers nicely onto your flag (or t-shirt)? Easy workaround:

  1. Convert the document to a PDF
  2. Load the PDF in xpdf
  3. Hit the print button
  4. Change the “print command” from lpr to lpr -o mirror

That’s it. Worked fine.

OpenTech 2005

Today I was at the OpenTech 2005 conference in London. It was pretty interesting. Met some cool people: Jeremy Zawodny ; Jeremy ‘TiddlyWiki’ Ruston; Ewan Spence ; Tom Steinberg and Francis Irving from MySociety ; Dave Green and Danny O‘Brien from NTK ; Natalie Downe ; and Simon and Jono and Sooz who I knew already :)
Much interesting stuff was talked about. There was a lot of BBC Backstage discussion, unsurprisingly, and I need to enter their competition; Mike Ryan has sold both Jono and I on the need for a MythTV box, I think; and Kamaelia might be a very cool thing indeed from Auntie Beeb. Oh, and Simon hassled me nine times about doing some Django stuff, which is already on the list. :)

Two cool things that happened at OpenTech

The first cool thing that happened at OpenTech was that Danny O‘Brien set up a pledge to donate a fiver a month to a new UK EFF which I signed up for. I signed up by phone, very smoothly; Francis Irving explained that you can associate your phone signup with an existing PledgeBank “account“, which I did. And I’m the first person on the list on the website, although I was actually the second to sign up because the first hasn’t put his name on it :) If you’re in favour of digital freedoms in the UK then you should think about signing up too; the pledge requires a thousand people, which would give this putative UK organisation five grand a month.
The second cool thing was some “physical media hacking”: Ewan Spence asked for people with iPod Shuffles to come down to the front. He had five volunteers; he took their Shuffles and put them in a box, and then, while saying “and now we hack this media!“, shook the box and then gave each of the five back a random Shuffle. Ha! Good things about this: as Ewan said, this is what media hacking is all about; you try a new thing, and if you don’t like it you go back to what you had before. And it was hilarious. The people who were shuffled didn’t think so, mind; one bloke had a face as black as thunder. He may have had some private information other than mp3s on it, mind; nonetheless, it was an excellent bit of crowd-pleasing by Ewan.

A book baton

The musical baton meme has undergone a transmutation, a metamorphosis out there in the wilds of the internet, into a book meme instead. And it’s been passed back to me by both Dustin Diaz and the Cannibal. On with the show!

Books owned
About, ooh. 800 or so? We used to have about 1500 but we cleared down the library or not in order to (a) make room for the piano and (b) get rid of a load of books. If you react in horror to the idea of getting rid of books (bear in mind that we gave them to charity shops; they didn’t get burned or anything) then I feel your pain, but we had no choice. To be frank, the way the policy worked was that if either Sam or I could think of any even remotely plausible reason why a book should stay then it stayed. And we still got rid of 700 books. These were books we’d had for years; that had travelled from house to house, being packed into and out of boxes, and hadn’t been opened, let alone read and enjoyed. I haven’t missed any of them, and I really hope someone else has picked them up in those charity shops and liked them and paid for them. It’s a book’s destiny to be read, not to sit on a shelf and get dusty, so I got all the ones that I didn’t want to read back into circulation.

Last book purchased
The Discworld Companion by Terry Pratchett and CMOT Briggs. Fascinating, although I was reassured to realise that I knew most of it already. Bit disappointed that some of the entries look like an entry in an encyclopaedia but are actually just direct word-for-word lifts from the books.

Book reading right now
I never just read one book. There’s the aforementioned Companion for one thing, and Harry Potter and the Half-Blood Prince (with review when I get a round tuit), and the books lying around half-opened on my desk are Exile by R. A. Salvatore and Night Prey by John Sandford. Upstairs lying around there are a couple of Tom Clancy oeuvres, I believe. Oh, and Fred Forsyth’s Avenger too, which is pretty good.

Books that mean a lot to me
First, and always top of the list, is The Secret History by Donna Tartt. Best book I’ve ever read, that.
Other than that…the list changes a lot, I think. The Dragonlance Chronicles will probably show up in it, as will something by John Sandford. The Dark Knight Returns by Frank Miller. My copy of Legend by David Gemmell. It varies depending on how I’m feeling.

Other suckers volunteers to do this meme

Bloglines down again

Has anyone else noticed that since Bloglines got bought by Ask Jeeves they seem to go down more often? Maybe it’s just because of increasing popularity, but I’d have thought that getting purchased by a big company with funding rather than just being run by the guys would help with stability and whatnot. Still a good service, although they still haven’t implemented my suggestion that you differentiate between new items and Kept Read items in the left pane so I can tell whether there’s anything new that I haven’t read.

A really geeky show

There’s a really geeky show produced by four guys from Wolverhampton in the U.K. called LugRadio (http://www.lugradio.org). It’s a panel talk show about Linux and the surrounding technology and culture. The guys that do the show are huge geeks, are quite funny, and actually do a better job of discussion Linux and open-source technology-related issues that most in the mainstream press. Their British accents make everything they say sound just a little bit smarter and funnier too.Steven Garrity talks about podcasting

Cool. That’s a really nice thing to say. We love ya, Steve.

Encoding an SVCD to an Archos PMA400-playable XviD file

I need to do this, so I’m documenting it here.

mencoder -ovc xvid -xvidencopts bitrate=1000 -oac mp3lame -lameopts preset=medium -o ww1.divx.avi vcd://

I don’t have the aspect ratio quite right, and I think therefore that the video needs resizing, but that can wait for another day.

May the Task Force be with you

The Web Standards Project now have a JavaScript arm. It’s called the DOM Scripting Task Force, and I can’t do better for a description than to quote the manifesto:
At the moment JavaScript suffers from outdated, uninformed, and inaccessible development methods which preclude … [Stuart Langridge]

src="http://www.kryogenix.org/favatars/http://www.sitepoint.com/"
alt="SitePoint"> Syndicated from the
SitePoint
Stylish Scripting weblog

—–

Ribald for her pleasure

The latest episode of LugRadio, season 2 episode 21, ‘Ribald for her pleasure’ (arf!) is out. I’m really pleased with it. And we got Miguel de Icaza’s permission for it (you’ll find out why when you listen). Most pleased. Let us know what you think!

—–

Archos PMA400

I’ve got an Archos PMA400 pocket media assistant. It is outrageously cool. It not only plays MP3s like your iRiver or iPod or whatever, but it plays video as well, and it records video, and it records sound, and it’s a PDA, and it runs Linux. Viciously cool. Kevin Boone’s PMA400 FAQ is a useful resource for what it can do and how to make it do even more. Looking forward to the journey home so I can listen to the latest LugRadio on it :)

The WaSP DOM Scripting Task Force

Some exciting news: the Web Standards Project have set up the DOM Scripting Task Force to boost the quality of scripting on the world wide web. There are lots of very important scripting people who are part of it, like PPK and Jeremy Keith and Dean Edwards and Christian Heilmann and Derek Featherstone. And me, too. DOM Scripting is, I think, the most important thing that remains to be sold to the web development community; structured HTML and stylesheet-based design are now known as the superior techniques and people are following them. (As Mark Pilgrim once memorably said, “It is quite obvious to me that these are the future of the Internet and of the computing industry in general, and if you don’t see that by now, I can’t help you. Adapt or get left behind.“) The nature of decent scripting, though, is still a bit out in left-field; there’s too much perception that scripting is (a) for kiddies who want flashy effects or (b) bad for accessibility or© not part of a proper web hacker’s toolkit. The DOM Scripting Task Force is going to do its best to change that. You can read the WaSP’s official press release about the Scripting TF, and the DOM Scripting task force’s official site will be garnering content as time goes on. Web developers: this is your call to arms. Get on, or get out of the way.

Refining the work

It looks like Ajax (or remote scripting, or whatever you want to call it) is turning a bit of a corner, because JavaScript is turning that same corner: refinement of possibility into best practice. Cameron Adams has written up an article on Usable Interactivity with Remote Script … [Stuart Langridge]

src="http://www.kryogenix.org/favatars/http://www.sitepoint.com/"
alt="SitePoint"> Syndicated from the
SitePoint
Stylish Scripting weblog

Ocelot

Joke from the man Jones:

How do you titillate an ocelot?

Oscillate its tit a lot.

Am still in hysterics here!

RSS feeds with changing enclosure URLs

On the LugRadio site we publish an RSS feed of episodes, and each episode includes an enclosure tag which references the downloadable MP3 for that episode. So, one snippet from the feed looks like:

<item>
    <title>Bars with coconut in</title>
    <link>http://www.lugradio.org/episodes/31</link>
    <description>Jono Bacon, Stuart Langridge (Aq), Matt Revell, and &lt;span title=&quot;On Call
Bald&quot;
style=&quot;border-bottom: 1px dotted #ccc&quot;&gt;Ade Bradshaw&lt;/span&gt;
talk about Linux and whatever else comes along, including:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An interview with Yannick and Carlos from Nokia about the Nokia
Internet Tablet and the company&apos;s approach to open-source software&lt;/li&gt;
&lt;li&gt;Bounties for writing code: are they a good idea?&lt;/li&gt;
&lt;li&gt;Ian Brown, head of FIPR, on ID cards in the UK, and whether they
should happen or not&lt;/li&gt;
&lt;li&gt;Samba: should we be inventing our own open protocols rather than
chasing the tail-lights of closed competitors?&lt;/li&gt;
&lt;/ul&gt;
</description>
    <enclosure url="http://lug.mtu.edu.nyud.net:8090/lugradio/lugradio-s02e19-040705-high.mp3?podcast" type="audio/mpeg" length="17659904" />
</item>

The problem is this: if the enclosure URL changes, people’s podcast clients and RSS aggregators download stuff again. How can I avoid this happening?

A couple of suggested wrong solutions:

1. Never change the URL

Can’t do that. The URL points to a mirrored copy of the episode’s mp3 file. If that mirror goes offline (our mirrors are run by volunteers without payment), we have to change the URL to point to another.

2. Use a redirect

Lots of people say “just make the URL be http://www.lugradio.org/mirrors/season2/episode19/mp3” and have that be a CGI script that redirects to a mirror. That would be great if podcast clients were compliant HTTP clients, and followed redirects. In practice, they are not and do not. This means that, if we implemented the redirect anyway, we’d be secure in our integrity but lots of people couldn’t download the show the way they want. Knowing that we are right and they are wrong is cold comfort when we’re annoying our listeners; we can’t use redirects.

3. Coralize the podcast enclosure URLs

Use the Coral distribution network to not put too much pressure on the archive that goes into the mirror feed. We’re already doing this, but if that archive goes away, the Coralized URL won’t point to anything, and we’ll have to change the URL. The Coral people are very cool, but they won’t cache all our mp3 files indefinitely.

4. Set up an archive that never goes away

Essentially, this is a suggestion that goes with suggestion 1: make sure that old mirror URLs don’t break by setting up the One Canonical Archive that the podcast feed points at. The issue with doing that is that that one archive gets hit pretty hard for bandwidth, because all the podcast readers use it. This means that it has to be an archive with lots of bandwidth to cover the initial download spike when an episode is released. We could use archive.org, and we do upload episodes there, but their upload process is long and laborious and would delay an episode’s release by quite some time, which we’d rather not do.

5. Do a ‘redirect’ by streaming the data through our URL

No-one’s suggested this, but I’ve thought of it. We could put the URL from the “redirect” suggestion above in the feed, but instead of having that URL redirect to a mirror, that URL points to a CGI script which downloads the data from a mirror and streams it out on the fly to the consumer. I don’t want to do this because it puts a horrific bandwidth requirement on the lugradio.org machine; every downloaded byte of a LugRadio episode will go through that machine, and we can’t afford the bandwidth for that.

At the moment, we Coralize URLs, and we’re trying to set up a Canonical Archive based on a very useful donation (about which more in a few days). But is there a better way? I can’t help but think that there should be a better way around this; something with tag URIs or guids or something. Remember that we need something which works with the podcast clients that currently exist; I don’t want to hear “clients should support XXXX and if they don’t then you should ignore them“, because we don’t have the luxury of doing that, sadly.

Any help will be greatly, greatly appreciated; I’ve been wrestling with this problem for months now and I’m still not sure how to solve it. Thanks!

Police evacuate Birmingham centre

Bloody hell. The police are evacuating Birmingham city centre in response to a threat. They’ve taken 20,000 people out. I have to be there in less than 36 hours for work. Hope it’s a hoax.

—–

London bombings

Things seem to be quietening down in London, as I write at 1.45pm. There’s a decent liveblog over at europhobia for up-to-date news; the BBC notes that bloggers across London are providing eyewitness accounts. With mobile networks and landlines down, the net has been the way that everyone’s staying in touch; I’ve been able to ascertain that people I know in London, like our firm’s London office, Tim, Tom and Lynne , Dean , and Richard are all OK within minutes of asking. If I had relatives in London and didn’t have the net I’d be pretty frantic by now. Rumours are still flying thick and fast, but most of them seem to be unfounded, and it would appear that no more attacks or events have happened since about 11 this morning. The FTSE’s going mad, but again unfoundedly, and people are calling on the traders to calm down a bit. The Wikipaedia has also risen to the challenge, as a good summary of events within minutes of them happening. Soon things are likely to switch from a hunger for news to an outpouring of analysis, which is likely to include the statement from Al Qaeda claiming responsibility, and whether it’s legit. Tony Blair has left the G8 summit to fly to London, so we may hear the word from the top at some point. It’s reassuring to see the lack of hysteria; although London’s seriously hectic by all accounts, it’s the hecticness of an extremely busy city, not the hecticness of mindless panic.
Hope everyone’s OK.

European Parliament rejects software patents bill

The Eurpoean Parliament has rejected the Computer Implemented Inventions Directive 648 to 14. No software patents for us! Hooray!
Hooray! I’m not sure I’m being clear enough about this. That’s bloody fantastic news.
“Hi-tech firms supporting the directive said it was vital to protect the fruits of their research and development.” The SME market, ordinary users, open-source development groups, and Stuart Langridge all said “we’re not going to sign away our ability to write software to a few firms with deep pockets“. Hooray!
“More than 1,700 Europe-wide companies, represented by the Free Information Infrastructure UK (FFII-UK), joined the plea for the European Union to reject any law which patents software.” I think all of you who are relieved and pleased by this decision should raise a glass to Rufus Pollock and the FFII for representing our views. They’ve done a great job, and they must be really rather happy today. Well done, guys.
Update: those of you thinking “bloody free software hippies, why are software patents bad anyway? Stop whining!” might want to read Why Can’t I Patent My Movie? for the lowdown.

Say hello to Rory

Rory, this is the internet. Internet, this is Rory.
Rory smiles for the camera
We have a new cat, Rory (it’s short for Rorschach). He’s very cool indeed, oh yes. Stupidly friendly, too. Since I had trouble finding a decent picture of Bert I’m not going to make the same mistake twice, so I have already gone wild with the camera and taken a load of pictures of Rory. Hope he likes it here.