echo "hey, it works" > /dev/null

just enough to be dangerous

Daring Fireball: Pay Walls

If the Times and/or Post were to erect a pay wall, I see things playing out as follows: they lose most of their readers; ad revenue declines accordingly; the revenue they make from readers who do pay won’t even make up for the lost ad revenue; and so by switching from free to paid access they’d actually sink further into the red.

Daring Fireball: Pay Walls

This seems so obviously true to me, I find it surprising that it keeps coming up. I wish they'd just do it, and collapse, so that something sensible can take the place of the broken old media. Oh, and if you wouldn't mind taking down the music and film industries while you're there, that would be great, thanks.

It's relatively absolute

In one of the experiments I'm running for my research, I have to take a snapshot of a page and serve it locally. Of course, if I just grab the HTML, any relative URLs will break and the locally served page is unlikely to look much like the original. So, I put together a bit of code to make the links absolute. I remember trying to do this a few years ago in Python and having enormous headaches, but this Ruby version was relatively painless. That says more about my skills as a coder than anything about the relative (get it?) merits of Python and Ruby.

%w[uri net/http hpricot].each {|lib| require lib}
url = ''
response = Net::HTTP.get_response(URI.parse(url))
body = Hpricot.parse(response.body)
absolutisable = { 'a' => %w[href],
                  'applet' => %w[codebase],
                  'area' => %w[href],
                  'blockquote' => %w[cite],
                  'body' => %w[background],
                  'del' => %w[cite],
                  'form' => %w[action],
                  'frame' => %w[longdesc src],
                  'iframe' => %w[longdesc src],
                  'head' => %w[profile],
                  'img' => %w[longdesc src usemap],
                  'input' => %w[src usemap],
                  'ins' => %w[cite],
                  'link' => %w[href],
                  'object' => %w[classid codebase data usemap],
                  'q' => %w[cite],
                  'script' => %w[src],
(body/"#{absolutisable.keys.join('|')}").each do |elem|
  absolutisable[].each do |attr|
    uri = elem.attributes[attr]
    elem.raw_attributes[attr] =
      URI::parse(url).merge(uri).to_s unless uri.nil?
puts body

This code doesn't take into account @import'ing CSS, and internal CSS links like url will break it, but I think it accounts for everything else.


Chris J. Davis has started working on some image editing software focussing on imagery for the Web. The working title of the project is Simpleshop, because the impetus is the huge number of unused Photoshop features when you only use it for Web images. Knowing Chris, Simpleshop will be a complete misnomer before long and the application will definitely be doing it's own thing rather than simply being a cut-down version of the other 'shop.

Chris will open source the project when he has a working prototype.

Browser wars and crappily broken web sites

There's recently been a lot of noise about a return to the browser wars (Alex Russell, Jeff Croft, Stuart Langridge, James Bennett). The point being that standards take eons to complete and standards bodies aren't the right people to be inventing cool stuff for us to use on the web, it's us and the browser makers that should be creating the cool stuff for the standards bodies to codify. Ok, that all sounds great (albeit an incredible simplification of a multifaceted issue). So, let's go out and push that envelope.

In order for the future to be better by a large amount, it must be different by a large amount.

Of course Alex Russell's comment above is obviously true. There are plenty of people out there pushing boundaries, creating the future. The thing that concerns me is that there is a significant crowd of developers who use arguments against the cool-stuff-limiting effects of obsessive validation to dismiss validation completely.

"Hey, your web site is broken."
"Meh, read this."
"Um, but your site is broken in stupid, careless and lazy ways. You're not pushing any boundaries here, and you're damaging accessibility and the users' experience."

The W3C Cannot Save Us

To get a better future, not only do we need a return to “the browser wars”, we need to applaud and use the hell out of “non-standard” features until such time as there’s a standard to cover equivalent functionality. Non-standard features are the future, and suggesting that they are somehow “bad” is to work against your own self-interest.

Did Lonely Planet err in selling to the BBC?

One of the stated reasons for the Lonely Planet sale to the BBC earlier this year was to expand the "digital" aspect of the business, an area where they had so far failed to leverage their reputation. For digital we really have to read online. After all, the Thorn Tree is great, but it's really just a forum. The recent story about technology issues at the BBC (via) make one question whether it was the right partner for online innovation.

Here's Tony and Maureen Wheeler talking about the sale.

Shirky: Ontology is Overrated -- Categories, Links, and Tags

People have been freaking out about the virtuality of data for decades, and you'd think we'd have internalized the obvious truth: there is no shelf. In the digital world, there is no physical constraint that's forcing this kind of organization on us any longer. We can do without it, and you'd think we'd have learned that lesson by now.

Mojo - Norman Walsh

By itself, a web page that lets you send SMS messages or make phone calls isn't really all that exciting. What makes the Mojo stuff cool is that it's all accessible with RESTful web APIs. If you can drive an http: connection, you can send messages and make calls.