Skip to content

Author: Justin

Justin Mason, the author of this weblog.

ApacheCon, and cranes falling into the sea

Trips: So I'm just back from ApacheCon 2004, which took place in the lovely Alexis Park building site ;)

Good fun was had -- very interesting to meet all the faces behind the names from various mailing lists and blogs, and get the inside track on how the ASF really works... there's quite a lot you don't get to understand from the outside, or even from being a committer. So, a useful trip.

Most of the talks were, naturally, very web-oriented -- we'll have to see what we can do about that, next time around! One useful tidbit: I didn't realise, but found out at the conference, that the ASF ConCom are very generous with paying speakers' expenses. So maybe next time I'll join the speaker line-up, too.

A major goal, one we achieved, was an impromptu SpamAssassin developer summit, 5 days sitting down together hammering on bugs and plans, with 4 of the main developers present (myself, Daniel, Theo and Michael). Pretty much achieved, although there were some thorny bugs to deal with... one interesting factor is that we may now be moving towards emulating the Apache httpd's preforking model to deal with a memory/performance issue we're seeing in 3.0.x.

Finally -- this sequence of photos has been cropping up all over the internets. When I saw it, I immediately thought it looked a lot like Ireland -- and Roundstone, Co. Galway, in particular. Sure enough, it appears it is! I guess the Connemara landscape of Roundstone's bay is pretty memorable, after all...

patents4innovation.org

Patents: Patents4Innovation is a new site set up by several European multinational companies to lobby for the legalisation of software patenting in Europe.

Their FAQ is good for a laugh, including an answer that basically says that the Patent Office needs to do a better job, and another which states that opponents of software patents have been unable to demonstrate any 'convincing' evidence of swpats causing economic harm (despite the FTC and PriceWaterhouseCoopers reports, which are pretty high-profile organisations).

But the best quote -- in fact, the only quote -- appears on their Testimonials and Quotes page. Here is in full:

"... successful and profitable high-tech enterprises seem to be characterised by holding patents and copyrights. These instruments might reduce the vulnerability of firms with respect to competition and equip them with a more favourable market position."

Source: the "Observatory of European SMEs 2002 / No 6: High-tech SMEs in Europe", commissioned by the European Commission

(My emphasis.) Of course, there's nothing worse than having to compete on a level playing field. ;)

(Thanks to Christian Beauprez for spotting that!)

New Scientist’s psychic website

Web: The lovely C sent me a link of note -- it's the eglu, 'the world's most stylish and innovative chicken house and is the perfect way to keep chickens as pets'. (She has a thing about keeping chickens.)

So I was all set to link to that on NoMoreSocks.newscientist.com, New Scientist's nifty new xmas-pressies site; but -- get this: it will not load in Firefox 1.0PR, 1.0, or Konqueror at all -- in fact, using telnet, the site doesn't actually respond to requests on port 80 from my linux desktop.

The only browser it seems to work with is MS Internet Explorer in VMWare, presumably using MSIE's psychic powers to contact it without going through TCP/IP.

Mysteriously, it can be lynxed from my server in Ireland, but similarly doesn't work for C's Firefox installation on her desktop. How wierd!

One Really Stupid Feature

Usability: So, I've just found out about a useless feature of my microwave oven the hard way. The microwave's manual notes:

Demo Mode

The Demo Mode is ideal for learning how to use the microwave oven. When set, functions can be entered without actually turning on the magnetron. The microwave oven light will come on, the fan will run and, if on, the turntable will rotate.

To Turn On/Off: The microwave oven and Timer must be off. Touch and hold TIMER SET.OFF for 5 seconds until 2 tones sound and 'd' appears on the display. Repeat to turn off and remove 'd' from the display.

Great! How useful! What a friendly UI! A tiny 'd' that indicates that, although your microwave looks like it's cooking away, it's actually doing nothing.

If you ever want to prank a friend with a Whirlpool oven, I'd recommend this one ;)

Global Guerrillas

Politics: Global Guerrillas: 'Networked organizations, infrastructure disruption, and the emerging marketplace of violence. An open notebook on the epochal war of the 21st Century.'

This stuff is scary -- and I think it's right; the author thinks Bin Laden sees the US as an over-stretched 1980's Russia, vulnerable to economic collapse; his last communique talks about what he calls the 'bleed-until-bankruptcy plan'.

Bruce Sterling says 'You ever read my 80s novel ISLANDS IN THE NET? The one with a sinister, imaginary book of military strategy in it called THE LAWRENCE DOCTRINE AND POSTINDUSTRIAL INSURGENCY? Well, this blog feels a lot like I imagined that book would have felt. Kinda floods the mind with creepily subversive 21st century insight.'

Definitely worth reading.

‘Stubberfield’ falls victim to first felony anti-spam conviction

Spam: 2 found guilty in first felony spam conviction: 'LEESBURG, Va. - A brother and sister who sent unsolicited junk e-mail to millions of America Online customers were convicted Wednesday in the nation's first felony prosecution of distributors of spam.'

Jeremy D. Jaynes, 30, (aka. Gaven Stubberfield) and Jessica DeGroot, 28, convicted to nine years in prison and a $7,500 fine respectively.

Nine years -- wow, that's a serious conviction for spamming... Virginia clearly takes this very seriously, as the home of AOL. Let's see if this causes any of the remaining spammers to think twice.

Four More Wars

Politics: Disaster. I can't believe it.

NoSoftwarePatents.com, and Michel Rocard appointed to draw up EP swpat response

Patents: I haven't been blogging much, as I've got the damn flu. I thought I was clear after a minor bout, then it came back around again for another run... urgh. Now I'm all hot, confused, achy, and (due to it affecting my ears and therefore sense of balance) clumsy. Damn you, influenza virus! :(

But there's some good news -- NoSoftwarePatents.com has opened, with a nice, clean, clear website full of excellent content. Not only does it cover the usual list of basics, with good examples like FFII's web-shop example, it goes into more detail about parallels; here's a great one:

Patents on software are just as wrong as expanding the patent system to literature. With patents on story elements, no movie could be published without having to firstly check whether there is any general idea in the storyline that someone patented during the last 20 years. Here's an example: At first sight, Dirty Dancing and Titanic are two very distinct movies. However, if there were patents on story elements, then the makers of Dirty Dancing could have sued the studio of Titanic. Both movies have a scene in which a poor boy takes a rich girl from a party of her social peers to a dancing party of his group, and she enjoys it. Dirty Dancing came out only nine years before Titanic, so any patent would still have been in force. No one knows whether James Cameron had that Dirty Dancing scene in mind as he wrote the Titanic script. Maybe Cameron never saw Dirty Dancing but the patent (if it existed) could be used against him anyway.

That's exactly the right parallel to make! Software patents cover the tens to hundreds of little algorithms you need to put together to make a software product, and comparing an algorithm in a software product to a scene concept in a movie, illustrates that nicely.

Each page has a little quote from heavy-hitters like Bill Gates, Oracle, Deutsche Bank, PriceWaterhouseCoopers, etc., coming out against swpats. There's also a section dealing with the disinformation that the other side has been putting out.

Next time you need to send a URL over to educate someone about this issue, this is the one to reach for.

Some news on the EU Software Patents Directive -- IDA eGovernment News reports that 'the formal approval of the draft Directive on the patentability of computer-implemented inventions by the EU Competitiveness Council has been postponed due to translation delays', and notes that 'on 6/10/2004, the Parliament's Internal Market Committee selected former French Prime Minister Michel Rocard to draw up its response.' It goes on:

Unsurprisingly, the appointment of Mr Rocard -- an outspoken adversary of software patents -- was welcomed by opponents of the proposed directive and criticised by its supporters. That Michel Rocard is taking over the dossier reflects the fact that the wider economic, infrastructural and social implications for Europe are now seen more clearly. Also, in the Council a learning process has begun, and it will be supported by the Parliament's move, Mr Holger Blasum of the Foundation for a Free Information Infrastructure told journalists. On the oher hand, Francisco Mingorance of the Business Software Alliance pointed out that Mr Rocard hasn't shown any sympathy to the directive in the past. We can only hope he will be sufficiently open to the view of persons and groups which have a different opinion, he said.

Well, that sounds like good news to me ;)

Why implanted ID chips are bad for privacy

Security: The RFID vendors are clearly on a roll, with all manner of uses being proposed. The most recent story is that VeriChip plans to implant them subdermally in hospital patients.

The company line is that it's privacy-safe, since it doesn't expose health records per se -- just the patient's ID number. However, that's missing the point, in my opinion.

RFID chips will broadcast their ID whenever they are within range of a compatible scanner, and the range (in this case) is several feet -- although the story notes that their readers used to track farmed salmon work from 10-12 feet, and the Schmoo Group guys I met last month had no doubts that a high-powered directional antenna like their wi-fi sniper rifle could extend that. There's no encryption, or handshaking, in these chips, it sounds like.

There's no mention if the chip is removed after you leave hospital; some comments about the idea behind this is that it may help if you're involved in an accident, and want your info available to healthcare users, in which case you'd have the chip implanted and broadcasting at other times, in other places, as well.

So, if you've got one of these implanted, it'll broadcast a unique code to readers in range at all times. If an attacker can scan while you're nearby, and picks up that code, they know that it's you, and you only. They only have to match that ID code to a visual identification once, and henceforth you can be tracked by that ID code.

There's a possibility that they'll fix this, by upping the CPU power and incorporating some decent public-key encryption -- but then you need a PKI big enough to track every implanted citizen in the entire country, and the costs will go up and up. I'd find that doubtful. (Mind you, they seem to assume that having a centralized secure database of medical records is a fait accompli in most of the articles anyway, so...)

Cambodians Eager to Dine on Rats (fwd)

Funny: AFP: Cambodians Eager to Dine on Rats:

'At first I just cooked them for my family to eat, but guests who tried them said they were tasty, so I started selling a few fried rats to the villagers,' he said. Business boomed so he devoted his menu to them.

' We only eat the small rats -- we dare not eat the big ones because they have too much hair.'

Big in Laos, too -- although I don't think I've heard of sit-down restaurants selling them. When I was travelling in Laos, one of the first tips I heard from other travellers was, 'if you see something that looks like a fried rat -- it is'. urrgh.

(BTW, there's actually good reasons not to eat rat-meat; wild rats and mice are truly filthy animals, vectors of all sorts of nasty diseases.)

Selves and Others now publishing RSS feeds

News: Selves and Others is a site that cropped up a couple of months ago, tracking the output of many of the left's strongest voices, for example:

Well, one feature they were missing was RSS feeds, allowing users to track new articles by a specific author as they're published. They've just added it; the good old orange XML button now appears on each author's page. Excellent!

Playing US games on a European PlayStation 2

Games: when I moved from Ireland to the US, I brought along my PS2; I hadn't had it that long, and I wasn't going to leave it behind (despite many offers to give it a good home ;).

Of course, Sony include plenty of trade-restrictive features in the PS2; European games won't play on a US PS2, and vice versa. So until now, I've been playing the few games I brought along from Europe, with the help of a YPbPr VGA converter, allowing the PS2 to display on a VGA monitor, and a transformer to transform 110V US current to 220V.

But that was before the superb japanese craziness of Katamari Damacy came along, and with GTA: San Andreas due out next month, something had to be done.

So -- after a little shopping, I found the solution -- rather than get into serious stuff like soldering, I got this -- the Slide Card. It's a 1.5-inch long piece of plastic, with a carefully placed notch. It requires one piece of PS2 modification -- you first of all have to remove the front of the CD panel. This just requires popping out one screw and a couple of clips, painless. You can then leave it off -- it's purely cosmetic -- or stick it back on if you really want to, at a future date.

Then, when you want to play an import game, the protocol goes like this:

  • put in the Slide Card boot DVD, power on the PS2
  • wait for the Swap Magic splash screen
  • insert the little plastic Slide Card, and slowly drag it left-to-right until it hits a piece of plastic internally
  • use it to pull out the CD tray, place the import DVD into the tray, and push it back in
  • use the Slide Card again, grabbing a little internal peg part with the notch in the card, and dragging the card right-to-left to load the CD into place.
  • hit 'X' on the PS2 controller, and the game boots!

So, this is a nifty solution; it basically works around the disc-replacement logic in the PS2, without any soldering or hackery required. And I've successfully used it after a night at the bar on several occasions, so that's the true test of how twiddly it is ;)

Unfortunately, by now I've probably spent nearly as much on hardware to play US PS2 games with a European PS2, as I would have if I'd just bought a US PS2. But hey...

Indymedia cross-border takedown reaches Slashdot

Web: The slashdot story. The comments contain a massive amount of noise, but there are some highlights...

Some details of the backend; it appears Indymedia need more mirrors, and the imc-tech list and #tech channel are the best contact locations to get in touch. The comment also notes that the Mir CMS used by most IMCs generates static HTML -- which is a good thing! I hereby withdraw my kvetching about server-side dynamic scripting in that case ;)

The techie who 'had the contract with Rackspace' comments, and provides a link to his weblog, which contains copies of the trouble tickets.

He also notes that the possible illegal posting was a newswire submission -- therefore not 'published' per se, just uploaded in the same way an unmoderated-up slashdot comment is.

And finally -- he notes that the EFF are offering to represent himself and Indymedia pro bono. Yay EFF!

The Electronic Frontier Foundation (EFF) is currently assisting Indymedia investigate possible responses to the seizure of its information. More than 20 Indymedia-related websites, along with Indymedia's online radio, were hosted on the servers, which were dedicated machines provided by Rackspace.

'This seizure has grave implications for free speech and privacy. The Constitution does not permit the government unilaterally to cut off the speech of an independent media outlet, especially without providing a reason or even allowing Indymedia the information necessary to contest the seizure,' said EFF Staff Attorney Kurt Opsahl.

This is great news. Top-secret takedowns are not a good thing, especially when they span three national borders...

More on the Indymedia shutdown

Law: t r u t h o u t quotes this press release from Rackspace:

In the present matter regarding Indymedia, Rackspace Managed Hosting, a U.S. based company with offices in London, is acting in compliance with a court order pursuant to a Mutual Legal Assistance Treaty (MLAT), which establishes procedures for countries to assist each other in investigations such as international terrorism, kidnapping and money laundering. Rackspace responded to a Commissioner's subpoena, duly issued under Title 28, United States Code, Section 1782 in an investigation that did not arise in the United States. Rackspace is acting as a good corporate citizen and is cooperating with international law enforcement authorities. The court prohibits Rackspace from commenting further on this matter.

(my emphasis.) I wonder which of those 3 Indymedia is supposed to have been infringing? It's pretty clear how Rackspace feel about this situation, I think.

It seems MLATs have been used before to shut down Indymedia sites in the US; this cryptome mirror of Montreal IMC pages documents one such case. Here's a summary from a quoted email there:

Heres a quite interesting story on the power of mlats and what we will have to look forward to with the COE treaty :

A cop car was broken into in Quebec and a security doc relating to measures for the Free Trade Area of the Americas summit protests was stolen and posted in the net in Seattle. At the behest of the RCMP, a magistrate judge issued an order to grab the records from a Seattle web site called the 'independent media center' using the US/CAN mlat. They were then visited by the FBI/Secret Service. They then had a gag order on this for several days before it was released today.

Great precedent. I wonder if when my car gets broken into again, I can use the cybercrime treaty to find my stereo again...

And snippets from the IMC press release of the time:

On the evening of Saturday, April 21, a day which saw tens of thousands demonstrate against the FTAA in the streets of Quebec City, the Independent Media Center in Seattle was served with a sealed court order by two FBI agents and an agent of the US Secret Service. The terms of the sealed order prevented IMC volunteers from publicizing its contents; volunteers immediately began discussions with legal counsel to amend the order. This morning, April 27, Magistrate Judge Monica Benton issued an amended order, freeing us to discuss the situation without the threat of being held in contempt.

The original order, also issued by Judge Benton, directed the IMC to supply the FBI with 'all user connection logs' for April 20 and 21st from a web server occupying an IP address which the Secret Service believed belonged to the IMC. The order stated that this was part of an 'ongoing criminal investigation' into acts that could constitute violations of Canadian law, specifically theft and mischief. IMC legal counsel David Sobel, of the Electronic Privacy Information Center, comments: 'As the U.S. Supreme Court has recognized, the First Amendment protects the right to communicate anonymously with the press and for political purposes. An order compelling the disclosure of information identifying an indiscriminately large number of users of a website devoted to political discourse raises very serious constitutional issues. To provide the same protection to the press and anonymous sources in the Internet world as with more traditional media, the Government must be severely limited in its ability to demand their Internet identity--their 'Internet Protocol addresses.' A federal statute already requires that such efforts against the press be approved by the Attorney General, and only where essential and after alternatives have been exhausted. There is no suggestion that these standards were met here.

The sealed court order also directed the IMC not to disclose 'the existence of this Application or Order, or the existence of this investigation, unless or until ordered by this court.' Such a prior restraint on a media organization goes to the heart of the First Amendment. Ironically, the Seattle Post-Intelligencer learned about the existence of the order from 'federal sources,' suggesting that the purpose of the gag order was simply to allow the government to spin the issue its way.

The order did not specify what acts were being investigated, and the Secret Service agent acknowledged that the IMC itself was not suspected of criminal activity. No violation of US law was alleged.

Of course, cryptome is still chugging away as it always has been; simple HTML and no server-side dynamic scripting, means easy offshore mirroring ;)

How to turn a stale project site into a useful Wiki

Web: Almost every project and organisation has, at some stage, bemoaned having stale data on their website, and wished there was a better way to keep it up to date; or wished their FAQ was more complete; or wished they had the time to HTML-ize all their know-how and get it up there.

Well, here's what we did in SpamAssassin to deal with this problem. (Seeing as I've talked about this three times in the past month, I'll write it up here so I can just point at the URL next time!)

First off, we experimented with having the site checked into CVS, FAQ-o-matic, and the Python FAQ software (which was pretty good). All were OK, but very specific in format, using the traditional question-answer FAQ layout -- that's good for FAQs, but not so good for a lot of other stuff -- and keeping it updated was still limited to a small group, therefore the info got stale again.

So we moved to a Wiki. Here's my tips for Wiki-izing your website so that the end results are better than what went in.

Use good wiki software: unusable software will be a pain to use, and the info will still go stale. We used Moin Moin - http://moin.sourceforge.net/ - partly because I like Python (it's nearly perl! ;), it can produce RSS, and it was pretty easy to install.

Don't worry: people won't vandalise it (much). It turns out that vandalism and people throwing up crappy info isn't a serious problem at all. You should increase the barrier, in the following ways:

Require user accounts: set the security policy so that a user account must be set up before editing is possible. This means you won't get wiki-spammed, and also has the side effect of imposing a pretty big barrier to casual vandals.

Send changes to a list: set all changes to be mailed to a mailing list as diffs. This is the most important tip. If you already have a mailing list with the knowledgeable part of the community on it, use that list -- because they're the ones who'll be able to recognise if erroneous info is put up, and will be annoyed about this enough to bother fixing it. There's a bonus side-effect of this; even if some people didn't like the wiki to start with, they'll eventually be needled into using it by wanting to fix stuff they perceive as wrong. And then they get sucked in ;)

Use diff for the mailed changes: Moin by default will only send out change messages saying 'something changed on this page!'. That's not good enough, unfortunately -- you want to mail out what the new text looks like, and highlight exactly where the change happened. Moin can do this nicely, with this patch, which adds a mail_commits_address, where all diffs on every page are sent, using the normal diff mechanism.

Ensure the wiki software can revert quickly: If someone does make a bad change, Moin supports one-click reversion of the page to what it was beforehand. That's great for dealing with spam, or clueless vandalism.

Keep one or two static pages: If you're worried about some script kiddie thinking that defacing a wiki makes them look cool, then keep one or two of the primary user-facing pages as static data. For example, take a look at the link-bar at the top of http://spamassassin.apache.org/ ; five of the ten links are to static pages, the other five are now wiki-ized. In particular, our front page and our downloads page are both static, but our docs are predominantly Wiki'd.

Publicize Mozex: most techie groups will have techie users, and we hate using browser text-boxes to edit text. Mozex -- http://mozex.mozdev.org/ -- saves the day here -- it's a godsend.

Shepherd new changes: in the early stages, you want one or two people who tidy up changes from Wiki newbies, as they go in. They need to keep it looking pretty, and perform Refactoring of stuff that could be laid out better or should become multiple pages. Eventually, others will get the hang of that (and do a much better job than you do ;).

That's the lot. Most of these are to, essentially, migrate aspects of your already-existing and already-working community into this new outlet. In our experience, it's worked really well -- our Wiki is now the most reliable source of info about SpamAssassin, and is extensive and up-to-date.

Indymedia server drives seized

Politics: Indymedia's hard drives in Rackspace UK seized by FBI order, seemingly as a 'courtesy' to Swiss police. There's several morals to be learned:

  • Rackspace UK are happy to roll over for the US feds;
  • it appears the action was taken using powers granted under the USA-Patriot Act;
  • hosting in Europe is not safe from bad US laws.

However, the UK site is back on the air, and reportedly they're recovering nicely; 'All this goes to prove that Indymedia is decentralised enough (but not perfectly) to survive an attack and that as a cooperative international network, we rock!'

more on H5N1 Bird Flu

Health: A few hours after ( ;) I link-blogged this New Scientist article about a case of the H5N1 avian flu transmitting itself between humans, Boing Boing put up this entry titled 'Bird Flu risk extremely low', which concludes that the risk is effectively not worth worrying about.

It's fundamentally wrong, and is well worth pointing out as a result. As Quinn at ambiguous.org says, it's not the danger now that's important here -- it's the potential.

I read New Scientist religiously, so I've been following it, and this search on H5N1 gives the perfect illustration of why this is well worth worrying about:

(Now, while it's worth worrying about, it's not us end-users who should be doing the worrying. It's the politicians who need to ensure CDC and the WHO are funded well, the terrible state of vaccine development and production be sorted out, the lack of outbreak monitoring infrastructure be addressed, and research into these strains is funded and given a priority, in case things do go all pear-shaped influenza-wise.)

New fronts for patenting

Patents: Sun files for patents on per-employee software pricing plans (/.). 'Method for licensing software to an entity, including determining a per-employee cost for the software, determining a number of employees of the entity, and determining a total licensing cost using the number of employees and the per-employee cost, wherein the total licensing cost comprises a software license for all employees of the entity and all customers of the entity.'

But, in my opinion, here's the good news -- this is a patent on a license agreement. In other words, this is a new front for patents -- the field of law.

Once the lawyers start running into situations where trivial concepts in their license agreements are patented, you can be sure the situation will start to turn around. ;)

Firefox 1.0PR’s software installation UI

Security: Given the current prevalence of phishing attacks and spyware infestations, designing a good user interface that protects naive users against malware is now more urgent than ever.

Firefox is, of course, widely touted as more secure than MSIE. This is by and large true, due partly to MS' emphasis in their UIs on one-step 'easy' installation and confirmation-dialog reduction (in my opinion) -- but also due to the fact that spyware companies don't yet see Firefox as a target to the same extent.

This changed recently -- spyware 'toolbars' started to appear for Firefox as well. It was quite a surprise to see a dialog pop up when accessing an otherwise normal-looking (though advertising-heavy) page, using my Linux desktop, prompting me to install some 'toolbar' .xpi file!

Firefox 1.0PR now includes code to deal with this. Here's how it works.

If a site I'm viewing attempts to install an XPI file, I get this prompt:

Note that it's NOT a dialog. This is pretty handy, because it means that I won't get annoying dialogs all the time if I do accidentally go to a unscrupulous site; it just appears like the part of the page. In the clueless user case, they may not even notice that they've been protected, which reduces the risk that they'll install the extension anyway.

(However, I would have extended it by using an icon or look-and-feel that indicated that this was a 'trustworthy' part of the UI, rather than possibly part of the page.)

If I hit the 'Edit Options...' button, I get this:

A simple-enough dialog containing the list of sites permitted to install extensions. update.mozilla.org is in there by default, and I've added texturizer.net so I can install from their more extensive list of older extensions. The address of the current site has been dropped in automatically.

To permit the site, I have to hit 'Allow', then 'OK'. So I do that, and hit the 'install' link on the webpage again:

And there's the Software Installation dialog. Note the red Unsigned warning, the proportion of text that is a warning about installing bad stuff (fully half!), and -- this is interesting -- a greyed-out 'Install' button.

The button is on a timer -- it becomes clickable after 2 seconds. This, presumably, is to ensure that people read the dialog! Reportedly, users no longer read dialogs, instead hitting OK on every dialog that appears. In my opinion, this is arguably due to 'the boy who cried wolf' syndrome: by default, MSIE and older Mozilla versions will ask all sorts of stupid questions about 'are you sure you want to send stuff on the intarweb?' whenever you use Google. If anything is guaranteed to induce dialog fatigue, it's that feature.

(Update: actually, that's not the reason. Reportedly, it's a workaround for a couple of social-engineering attacks, whereby an attacker could persuade the user to type a word ending in 'Y', and time the dialog to appear just before 'Y' is typed -- causing the keyboard shortcut for 'Yes' to take effect; or persuade the user to double-click in the right spot, and similarly time the dialog to appear in the right place, in time for the second click. Still, I maintain the measure is useful to deal with the 'dialog fatigue' issue too. ;) Thanks to Smyler and Rod for pointing this out.)

I would have gone further:

  • the 'a software install was blocked' page element should have an indication that it's 'trustworthy content'
  • both dialogs should default to 'Cancel', to avoid users deliberately pressing 'OK'
  • I would possibly require a 'yes, I read this' tickbox to be ticked before the software is installed.

Interesting though. This is the way internet-facing UIs are going to have to develop, in my opinion.

Slides from Toorcon 2004

Spam: my slides from the presentation I gave at Toorcon 2004, 'Spam Forensics: Reverse-Engineering Spammer Tactics', are now up. Hope they prove enlightening ;)

Back from Toorcon

Travel: Toorcon was great fun! Lots of interesting conversations.

Unfortunately they had a cruddy internet connection, so I'm majorly backlogged, and can't write about any of it just yet ;)

Bush at the UN

Politics: So I was listening to that this morning. Did I hear correctly? Did Bush really say that one of the good side-effects of Iraq's invasion, was that there were now hopefully less attacks inside other countries? sure looks like it:

'Coalition forces now serving in Iraq are confronting the terrorists and foreign fighters so peaceful nations around the world will never have to face them within our own borders.'

I'm sure the Iraqi civilians will love that. 'Hey guys, sorry about all the missing limbs, but you're doing a really good job of being flypaper so we don't get hurt. Cheers! Have a 15% corporate tax rate!'

ToorCon

Conferences: Hey -- I'm talking at ToorCon 2004 down in San Diego this weekend! Come along and check it out, if you can.

I'd better hurry up and file my presentation slides pronto ;) The topic is:

Spam Forensics: Reverse-Engineering Spammer Tactics

In this talk, I'll discuss how the SpamAssassin project has identified reliable signatures indicating that a message is spam, by reverse-engineering spammer tactics from the spam mails themselves. I'll also discuss several specific features that we have identified, how we found them, and why the spammers add them.

Sitescooper is WorldChanging!

Green: Wow -- UC Berkeley's Lab Notes newsletter this month includes an article noting the benefits to the environment of reading your news on a PDA instead of getting a delivered newspaper. Check this out:

In a new study, UC Berkeley researchers report that receiving your news wirelessly on a PDA instead of delivered to your door requires up to 140 times less carbon dioxide, several orders of magnitude less greenhouse gases, and the consumption of 26 to 67 times less water.

...

To tease out the truth, Horvath and graduate student Michael Toffel dissected nearly all of the environmentally-relevant processes involved in both wireless news delivery and teleconferencing. In the case of newspapers, the researchers focused on the environmental effects of reading the New York Times in Berkeley, California, from the manufacture of newsprint and ink to the delivery from a nearby printing press to disposal of the newspaper. This data was then compared to such factors as the energy used to manufacture a PDA, including its microprocessor and battery, and the electricity required by wireless and Internet service providers to deliver news content to the device.

Sitescooper is therefore a WorldChanging tool!

The EU software patents battle returns

Patents: Now that the summer break is over, software patents are back on the EU's agenda. The FFII (via EDRI-gram) reports

On 24 September 2004, the European Council will probably meet to rubber-stamp the 'political agreement' achieved on 18 May 2004 on the highly controversial software patents directive (2002/0047 COM-COD).

According to the FFII the text was designed to mislead ministers about its real effects. 'It consists of many sentences of the form or 'software is ... unpatentable, unless ... [condition, which, upon closer scrutiny, turns to be always true]'.' And, states FFII, 'It can be said with certainty that only a minority of governments really agrees with what was negotiated, but several governments were misrepresented by their negotiators, who broke intra-ministerial agreements or even violated instructions from their superiors.'

More info:

Lara Doody Smith

Life: Luke writes:

Lean and I were joined by Lara at 6.10pm on Saturday 28th September. Lara is a little (8lb 7oz, so not _that_ little) girl. And she is gorgeous. Of course.

Congrats! I'll be dropping in on the three of them next week, looking forward to it...

Planetary Backgrounds now using Coral

Web: My Nearly-Live Planetary Desktop Backgrounds site is now using NYU's Coral Content Distribution Network instead of FreeCache.org. (FreeCache wasn't caching the files, because they were too small. drat.)

Coral is a 'decentralized, self-organizing, peer-to-peer web-content distribution network', using a distributed sloppy hash table and peer-to-peer DNS redirection infrastructure.

At least, apparently. ;) I haven't read the papers yet, but what I do know is that so far, it seems to be working perfectly -- each file is requested exactly once by the CDN servers:

  193.10.133.129 - - [31/Aug/2004:16:50:31 +0100] "GET
  /xplanet/tmp/200408311455.399750/day_clouds_800x600.png
  HTTP/1.1" 200 706936 "-" "CoralWebPrx/0.1 (See
  http://www.scs.cs.nyu.edu/coral/)"

and never requested again. That's a big saving... nifty!

Linux and small hardware vendors

Linux: Everyone who's used a non-MS system will have learned -- typically the hard way -- that not all hardware is equal. Not just in terms of specs, flexibility and power, but also in terms of whether or not it can be used at all.

Most hardware vendors consider their specification and interface documentation to be their crown jewels; giving access to these without a signed NDA is impossible. On the other hand, for free software developers, signing an NDA makes life quite difficult -- it can be done, but nobody else can help you maintain it further without signing an NDA, the resulting code may 'disclose' too much of the 'IP', and so on. In a lot of cases, the vendor isn't interested in giving access to the specs, even with an NDA -- it's their IP and why isn't the customer just using Windows?

The end result: lots of hardware with crappy support on non-MS operating systems.

Things aren't as bad as they used to be, though -- since nowadays the high-end hardware is more likely to support standards, and Linux is a top choice on embedded hardware (set-top boxes for example), so it has a much higher profile. But cheap, end-user oriented PCs still wind up with components from vendors who couldn't be bothered with non-Windows customers, and that can mean using a hacked-up, reverse-engineered driver and hoping it works. (That's not to denigrate reverse-engineered drivers. some of them work great. But fundamentally, the vendors are making a mistake here.)

So it's pretty impressive to see that LaCie are now sponsoring development of k3b, the CD/DVD burning application for KDE!

Good timing too, I was about to buy a DVD burner ;)

kgst output to ALSA/Artsd/ESD instead of just OSS

Linux: Here's a patch that adds support for ALSA/Artsd/ESD output from kgst, the KDE gstreamer middleware used by JuK.

Background: JuK is a great music player app for KDE. However, it hogs
the sound device while running, which means that nothing else gets access to play sound until the app is shut down. This is suboptimal.

The reason it does this is because it plays sound via this chain of components: juk -> kgst -> gstreamer -> sink. Unfortunately, the
kgst component doesn't allow control over what output sink to use, instead hard-coding the string 'osssink' -- the OSS drivers, for traditional Linux /dev/dsp sound. My laptop doesn't support mixing in the sound hardware, which means I need to use a software mixer. 'osssink' doesn't support software mixing, instead giving the caller exclusive access to the sound card, and other apps will just have to wait for it to finish.

(As to why JuK doesn't just play mp3s by running 'mpg321 name-of-file.mp3', and let us specify the '-o' switch to use, I wish I knew. (ObOldbieGripe: component-based architectures are full of this kind of needless over-complexity ;)

Anyway, the patch in the bug above lets the user provide an environment variable for a string for kgst to use instead of 'osssink'.

Life Hacks: the magic of flat files

Tech: This is the second entry talking about 'Life Hacks'. Possibly the best tip I came away from the talk with, is this one:

All geeks have a todo.txt file. They use texteditors (Word, BBEdit, Emacs, Notepad) not Outlook or whathaveyou.

What we keep in our todo is the stuff we want to forget. Geeks say they remember details well, but they forget their spouses' birthdays and the dry-cleaning. Because it's not interesting.

It's the 10-second rule: if you can't file something in 10 seconds, you won't do it. Todo.txt involves cut-and-paste, the simplest interface we can imagine.

It's also the simplest way to find intercomation. EMACS, Moz and Panther have incremental search: when you type a "t" it goes to the first mention of "t", add "to" and you jump to the first instance of "to", etc.

Power-users don't trust complicated apps. Every time power-geeks has had a crash, s/he moves away from it. You can't trust software unless you've written it -- and then you're just more forgiving. Text files are portable (except for CRLF issues) between mac and win and *nix. Geeks will try the Brain, etc, but they want to stay in text.

I was already doing this, having learned the latter lesson ;), but I was making one mistake -- I was trying to keep the TODO.txt file small by clearing out old stuff, done stuff, and cut-and-paste snippets of command lines, and by moving things into files in 'storage' directories.

That doesn't work. You think you'll be able to grep for it later, but you'll have forgotten what to grep for. You'll even have forgotten what storage directory you used. The solution is to keep it all in one big file, and use i-search. That really does work.

In fairness, I actually have two files of this type. One is the "real" TODO.txt. But the other is a GPG-encrypted file containing usernames, URLs, passwords, nameservers, VPN settings, etc. I have a feeling this is another common Life Hack idiom, too...

Another great tip in the same vein, from JWZ -- make an /etc/LOG:

Every machine I admin has a file called /etc/LOG where I keep a script of every system-level change I make (installing software, etc.) I rsync these LOG files around (keeping redundant copies of all of them in several places) so that if/when I need to re-build a server from scratch, it's just a matter of following the script.

This has been working out great (when I remember to do it. Discipline! ;)

Life Hacks: getting back to the command-line

Tech: So Danny O'Brien's 'Life Hacks' talk is one of the most worthwhile reflections on productivity (and productivity technology) I've heard. (Cory Doctorow's transcript from NotCon 2004, video from ETCon.)

There's a couple of things I wanted to write about it, so I'll do them in separate blog entries.

(First off, I'd love to see Ward Cunningham's 'cluster files by time' hack, it sounds very useful. But that's not what I wanted to write about ;)

People don't extract stuff from big complex apps using OLE and so on; it's brittle, and undocumented. Instead they write little command-line scriptlets. Sometimes they do little bits of 'open this URL in a new window' OLE-type stuff to use in a pipeline, but that's about it. And fundamentally, they pipe.

This ties into the post that reminded me to write about it -- Diego Doval's atomflow, which is essentially a small set of command-line apps for Atom storage. Diego notes:

Now, here's what's interesting. I have of course been using pipes for years. And yet the power and simplicity of this approach had simply not occurred to me at all. I have been so focused on end-user products for so long that my thoughts naturally move to complex uber-systems that do everything in an integrated way. But that is overkill in this case.

Exactly! He's not the only one to get that recently -- MS and Google are two very high-profile organisations that have picked up the insight; it's the Egypt way.

There's fundamentally a breakage point where shrink-wrapped GUI apps cannot do everything you want done, and you have to start developing code yourself -- and the best APIs for that, after 30 years, has been the command-line and pipe metaphor.

(Also, complex uber-apps are what people think is needed -- however, that's just a UI scheme that's prevailing at the moment. Bear in mind that anyone using the web today uses a command line every day. A command line will not necessarily confuse users.)

Tying back into the Life Hacks stuff -- one thing that hasn't yet been done properly as a command-line-and-pipe tool, though, is web-scraping. Right now, if you scrape, you've got to do either (a) lots of munging in a single big fat script of your own devising, if you're lucky using something like WWW::Mechanize (which is excellent!); (b) use a scraping app like sitescooper; or (c) get hacky with a shell script that runs wget and greps bits of output out in a really brittle way.

I've been considering a 'next-generation sitescooper' a little bit occasionally over the past year, and I think the best way to do it is to split its functionality up into individual scripts/perl modules:

  • one to download files, maintaining a cache, taking likely freshness into account, and dealing with crappy HTTP/HTTPS wierdness like cookies, logins and redirects;
  • one to diff HTML;
  • one to lobotomise (ie. simplify) HTML;
  • one to scrape out the 'good bits' using sitescooper-style regions

Tie those into HTML Tidy and XMLStarlet, and you have an excellent command-line scraping framework.

Still haven't got any time to do all that though. :(

Image Watermarking With ‘pamcomp’

Web: My Dad runs a couple of websites -- his architectural photography business, and Andalucia Photo Gallery, a side project selling some lovely photos from the Andalusia region of Spain.

Needless to say, as the family geek, guess who coded all that up? Using WebMake, naturally ;) This was the main reason I wrote the 'thumbnail_tag' plugin.

You'll note, however, that the image to right is watermarked, quite small, and encoded with a low quality setting. It turned out after a couple of years of operation, that the images were being downloaded and used in print all over the place -- from both sites!

It seems photo piracy is rampant. Even with terms of use clearly linked on the sites, it's still commonplace for print publications to swipe the images -- and not just the little guys, either -- some big commercial names have apparently used the images without asking (or paying licensing fees).

The Andalucia gallery site was a favourite; being a good hit for 'travel photos spain' meant lots of images being used for holiday pages in magazines, newspapers, and so on.

Needless to say, digital watermarking software doesn't work -- it's trivial to load an image into Photoshop, resize or crop, and resave, apparently. Even if PS did respect the watermarks, netpbm doesn't, and a watermarked image isn't identifiable as such once it appears in print anyway! So we went for the blunt-tool approach, adding visible watermarks to the images.

It's pretty easy -- pamcomp allows you to overlay one image on top of another, using a third as an 'alpha mask' to control transparency. The results are pretty nice and not too intrusive.

It's a shame it has to be done, though... :(

MS Patents sudo(8)

Patents: The varchars.com scraped RSS feeds now include new patent grants and applications by certain companies! Interesting, although given that most developers are advised not to look, not advisable ;)

However, I glanced at the MS one -- and immediately spotted this gem: US Patent 6,775,781, filed by Microsoft, is a patent on the concept of 'a process configured to run under an administrative privilege level' which, based on authorization information 'in a data store', may perform actions at administrative privilege on behalf of a 'user process'.

This, and the patent claims, perfectly describe the operation of sudo, fundamentally as it's operated since running on a 4.1BSD VAX-11/750 in 1980.

20 years head start on a patent application -- surely that must qualify as prior art ;)

RFID Security

Security: It looks like the security people are starting to take a look at RFID, and it's not pretty.

I link-blogged this the other day -- RFDump is a tool to display and modify data in RFID tags -- including deployed ones, at least in some cases. (Think rewriting the price tags in a shop, scrambling the tracking numbers on a warehouse full of goods, or corrupting frequent-shopper data on a card.)

It looks like this was also discussed at USENIX Security '04 in an RSA presentation (those notes are swarming with typos, but the content's there ;)

That talk has some interesting stuff -- 'blocker' tags which spoof readers with gibberish data, or crash the collision-detection network protocol; while that's being discussed as a security tool here, if the protocol is that hackable, and the hardware is available, I could see that having additional interesting effects in a supermarket. Of course, range is an issue -- but that hasn't stopped Bluetooth hacking, wardriving, etc.

If you ask me, it looks an awful lot like RFID is chock-full of security holes, and the features that make it so attractive (low power use, low cost, tiny size) will be the very features that militate against adding security. We could be in for interesting times here...

A ‘Boulder Pledge scoreboard’ website

Spam: Ask Slashdot: How Powerful is the Turn-Off Power of Spam? The question is, 'How often do you make the decision to NOT buy something form a company because you know they engage in spamming activities?'

This is an old idea -- it goes back to a December 1996 column by Roger Ebert, of all people, who proposes the following pledge that all internet users should take:

Under no circumstances will I ever purchase anything offered to me as the result of an unsolicited e-mail message. Nor will I forward chain letters, petitions, mass mailings, or virus warnings to large numbers of others. This is my contribution to the survival of the online community.

8 years later, it's more important than ever.

However, it's complicated by one additional factor -- not everyone knows which products and companies use spam to advertise. For example, did you know that Kraft routinely advertise their Gevalia coffee through spam?

My suggestion -- a daring individual (that rules me out ;) should set up a website where samples of major-product-advertising spam are collected from (trusted) reporters. A quick scoreboard based on how many reports a particular company accumulates, and we have a Boulder Pledge reputation service.

Some simple rules should be applied:

  • Messages arriving at never-used spamtrap addresses, or scraped addresses from USENET or the web, especially if the message hits multiple of those addresses (indicating a high volume), is the basis for a listing;
  • Failure to respect opt-outs, of course, would be a biggie;
  • Using a known spamhaus, or sending via open proxies in Shandong, would be a massive thumbs-down;
  • Failure to clean up it's act after being made aware of the problem, oh dear.

It'd be essential to take an extremely careful approach to this; any hint of personal axe-grinding, and the site would be useless, written off as just the work of 'another anti-spam kook'.

Essentially, this'd be a Fortune-500-oriented version of spamvertized.org.

Reportedly, many of the large companies using spam to advertise are fully aware at a management level that they are responsible for spamming. (That line about open proxies in Shandong is no joke -- at least one Fortune 500 company has hired a spamhaus that does this.)

Doubtless, some spamvertisers may be victim to an overzealous but clueless marketing department, on the other hand -- but either way, a public 'name and shame' forum gives a great impetus for them to avoid this problem, at least once they've been bitten the first time.

In some cases, it's dodgy 'affiliates' that use spam to advertise their products -- but a company that operates affiliates really should post a policy that says that affiliates found to be spamming will be terminated and have their commissions forfeited; reportedly, that has been found in other programs to quickly cut off the problem.

Spamusement rocks!

Spam: oh man, Spamusement started off well, and has just been getting better and better; * HEATH WARNING * had me laughing out loud, and the idea of linking the entries since August 8 as a series is genius.

Announcing IPC::DirQueue

Perl: So, I wrote a new CPAN module recently -- IPC::DirQueue. It implements a nifty design pattern for slightly larger systems, ones where multiple processes, possibly on multiple machines, must collaborate to deal with incoming task submissions. To quote the POD:

This module implements a FIFO queueing infrastructure, using a directory as the communications and storage media. No daemon process is required to manage the queue; all communication takes place via the filesystem.

A common UNIX system design pattern is to use a tool like lpr as a task queueing system; for example, this article describes the use of lpr as an MP3 jukebox.

However, lpr isn't as efficient as it could be. When used in this way, you have to restart each task processor for every new task. If you have a lot of startup overhead, this can be very inefficient. With IPC::DirQueue, a processing server can run persistently and cache data needed across multiple tasks efficiently; it will not be restarted unless you restart it.

Multiple enqueueing and dequeueing processes on multiple hosts (NFS-safe locking is used) can run simultaneously, and safely, on the same queue.

Since multiple dequeuers can run simultaneously, this provides a good way to process a variable level of incoming tasks using a pre-defined number of worker processes.

If you need more CPU power working on a queue, you can simply start another dequeuer to help out. If you need less, kill off a few dequeuers.

If you need to take down the server to perform some maintainance or upgrades, just kill the dequeuer processes, perform the work, and start up new ones. Since there's no 'socket' or similar point of failure aside from the directory itself, the queue will just quietly fill with waiting jobs until the new dequeuer is ready.

Arbitrary 'name = value' metadata pairs can be transferred alongside data files. In fact, in some cases, you may find it easier to send unused and empty data files, and just use the 'metadata' fields to transfer the details of what will be worked on.

Sound interesting? Here's the tarball.

CEAS Roundup

Spam: So, CEAS was great fun, and very educational:

  • Got to meet up with various antispammers, including Daniel and Theo from the SpamAssassin dev team, Jeff Chan from SURBL, Dan Kohn from Habeas, Catherine Hampton from The SpamBouncer, Miles Libbey, John Levine, Neil Schwartzman -- lots of good chats.
  • MS really know how to feed a conference! I hear rumours there was an extra-special tinned-meat-product-based dish at the banquet...
  • But their firewalling tendencies put a serious damper on keeping in touch with the outside world, at least until we set up an SSH tunnel on port 443 ;)
  • During a lull, Dan Kohn fired off a hands-up census -- a good 75% of the attendees (roughly) admitted to using SpamAssassin!

My highlight papers:

  • IBM's Chung-Kwei pattern-discovery system -- the one which Mark dug up. Very interesting stuff; it turns out that bioinformatics is full of large corpora of data (genomes) which you then need to find patterns in. Funnily enough, so is SpamAssassin: s/genomes/spam/, s/patterns/regular expressions/. The more advanced pattern-discovery algorithms even allow complex patterns to contain alternative blocks, 'don't-cares' and similar regular-expression-like features.

    The really good bit of Chung-Kwei is the Teiresias algorithm (more pages, online demo). Of course, being IBM research, it's probably patented to the hilt, and may be tricky to license; but it's certainly pointed us in a whole new interesting direction -- anyone know any bioinformaticians?

    IBM is really gearing up on anti-spam research. 4 of the 6 papers listed on their website were presented this year, at CEAS.

  • Another good paper was On Attacking Statistical Spam Filters, by Gregory L. Wittel and S. Felix Wu, which (similarly to Henry Stern's submission, which I helped a little with) dealt with an attack on Bayesian filters.

    This is interesting stuff; we're pretty sure it's not as serious as it could possibly be, in SpamAssassin's implementation, but it's still a serious attack.

  • The Impact of Feature Selection on Signature-Driven Spam Detection was an interesting paper on AOL's new signature schemes. (The conference was sponsored by Cloudmark, BTW, but those guys were nowhere to be seen -- in which case they missed this presentation ;)
  • Reputation Network Analysis for Email Filtering was interesting, in that it mirrors to a degree the thinking behind web-o-trust.org, but in my opinion suffered due to a lack of thought about avoiding spoofing (by including IP address information in the FOAF file, it could do this now). However, once SPF becomes pervasive, this could be combined with that to generate personalised webs of trust usable for email whitelisting.
  • Resisting SPAM Delivery by TCP Damping was very nifty; plug a classifier into your MTA, and thereby detect connections from spam relays. Once you've found them, you then throttle down their connection as they attempt to deliver spam. Some other TCP-level tricks can do nifty stuff like massively increasing the bandwidth consumption of the spamming machines. Very very nice!

I took copious notes on the SpamAssassin wiki, if anyone's curious.

Patents in an open source world

Patents: Newsforge: Patents in an open source world, by Lawrence Rosen (founding partner of Rosenlaw and Einschlag).

Interesting article, but I'm not sure summary point number 2 ('continue to document our own "prior art" to prevent others from patenting things they weren't the first to invent') really helps, when the patent examiners clearly haven't performed the simplest Google check. I've found obvious prior art in 30 seconds, by plugging 3 words from patent claims into Google in the past (and yes, I have a reasonable idea how to read patent claims by now).

Point number 3 is interesting, since it contradicts most other advice I've read regarding patent searches: 'Conduct a reasonably diligent search for patents we might infringe. At least search the portfolios of our major competitors. (This, by the way, is also a great way to make sure we're aware of important technology advances by our competitors.) Maintain a commercially reasonable balance between doing nothing about patents and being obsessed with reviewing every one of them.'

However, this comment really is interesting and raises something major that I'd never heard of before -- users of proprietary software can also face a significant risk from the patent threat. In particular, according to the linked comment, Microsoft licensed some patented technology from a company called Timeline Inc., but the license was not sublicenseable -- in other words, it did not grant their customers the rights to fully use the technology! (in fairness to MS, this was established later in court.) Result: href="http://trends.newsforge.com/comments.pl?sid=39443&cid=96153">MS SQL server OEMs and ISVs are now being sued.

Post-Apocalyptic Fiction

Reading: Both jim winstead and Nelson Minar have praised Earth Abides , a 1949 post-apocalyptic novel where 'all but a handful of people die from a mystery disease', and the ensuing narrative 'follows one man's attempt to rebuild something like a society.' It seems a tip from original happy mutant Mark Frauenfelder was the pointer for both of 'em.

I'm a huge fan of the genre; I think it's something about our age group, growing up in the shadow of Reagan's 'Evil Empire' speeches, Threads and (much less terrifying) The Day After.

Given that, it looks like Earth Abides goes straight into the wishlist. However, I should make another couple of reading tips while I'm at it, in the same genre:

First off, Jack London's short story
The Scarlet Plague (1912) is a clear antecedent to Earth Abides. In this story, too, a plague hits the planet and wipes out most of civilization; an old man talks to children who've known nothing but the post-apocalypse period. It's pretty short and well worth a read.

But my main recommendation is Kim Stanley Robinson's The Wild Shore (1984), first book of his Three Calfornias trilogy, and his debut novel.

It takes place in 2047, 60 years after a massive nuclear attack on the US, by Russian infiltrators (pretty dated, eh ;). The narrator is a teenager in a primitive agrarian community on the coast of southern Orange County. His group are farmers, living far away from the previously built-up areas; the people who live amongst those ruins are shunned, and the different tribes meet only occasionally to trade. Disposable butane lighters are a treasured commodity.

He gradually discovers that the US was once a superpower, and that they are now being kept in a virtually stone-age state by outside powers. The interesting factor here is that most sci-fi authors, at this point, would embark on a jingoistic, militaristic armed struggle; it initially seems that's what's happening, but Robinson takes a very interesting tack, in his own style, and this really makes the book something special.

(I won't go too far into it, but if you really want to know and don't mind spoilers, this site thoroughly spills the beans.)

Counterfeit Cops

IP: A funny IPR-enforcement-related story from New Scientist (sorry, subscriber-only link):

Just before delegates (to the 28 May 'Global Congress on Combating Counterfeiting') left Brussels to ponder their future anti-counterfeiting measures, a salutary tale started doing the rounds.

The WCO (World Customs Organization) produces a CD database of the codes needed to identify goods by type so that local customs authorities can collect the appropriate duties. The discs sell for EUR 1000 apiece, but WCO investigators have found that staff at some border posts, which are supposedly the front line in counterfeit detection, are not using the official CDs. Instead - you've guessed it - they are buying cut-price pirated copies, complete with crudely photocopied, plainly fake covers and sleeve notes.

Physician, heal thyself!

Kentucky sez ‘Opt-Out Still Doesn’t Work’

Spam: Some fantastic data in this paper from the Kentucky Long-Term Policy Research Center.

It's a brief 2-pager detailing the effectiveness of the CAN-SPAM Act in reducing the spam load, using a set of test addresses. The methodology is pretty good.

One point in particular is very important: 'opting out' from spam Just Does Not Work. This graph tells the whole story:

After opting out from spams received, the amount of spam received at those 'opted out' test addresses actually rose. (This even after CAN-SPAM made such activity explicitly illegal.)

Some other data:

  • obfuscating addresses on web pages is still working; 7.7 times the spam is received if you don't bother doing so.
  • e-mail harvesting also continues after CAN-SPAM made it illegal.

If anyone needed proof, this shows that spammers are quite happy to break the law; strong enforcement 'teeth' are needed for any anti-spam legislation. (UK, take note: the thoroughly useless system whereby spam complaints must be submitted on paper isn't going to help!)

The Technical Details document also notes something interesting: one test address was set up to test 'opting out' of legitimate mass mail from some (unnamed) big websites, and continued to receive ads 'sometimes months after opting-out'. For shame!

(thx to John Levine for forwarding the links.)

Spam: Michael Radwin on open HTTP redirectors, and in particular noting that Yahoo! have (finally) closed their main one down. One down, several hundred to go ;)

Good history of the exploitation techniques that spammers have been using, too.

BEST SONG EVER — identified!

Funny: Some of the taint.org readership (that's you, Nishad) may be familiar with BEST SONG EVER.mp3 -- it's an insane, 10-minute workout: one guy ranting at a high pitch in some east-asian language at an incredible speed over some cheesy Casio, hardly taking a breath, punctuated by bizarre 7-Zark-7-style ribbits and squawks. By the end of it, he's nearly hoarse. It is incredibly bizarre. Turkopop has nothing on this.

Well, it's origin has been discovered -- he's called E Pak Sa, and the style is called 'Pansori'. His version is a modern take on this ancient traditional style -- 'While singing, he would imitate the sound of all of the instruments used in the prelude and interlude, and even the sound of the whistle used to gather the tourists.' From there, he grew in popularity, especially in Japan:

'Sell-out concerts, myriad television appearances, riots at in-stores, and Japanese teens speaking Korean are all products of E Pak Sa's impact in Japan. E had infiltrated the popular culture of Japan and paved the way for other Korean artist to do the same.'

And guess what -- his Encyclopedia of Pon-Chak album can be listened to online! The YMCA cover -- track 2 -- is strongly recommended.

Ross Anderson not quite so cool anymore

Security: Ross Anderson, crypto and security guru extraordinaire, moonlights as -- wait for it -- a street bagpipe player:

I play the pipes (the Great Highland Bagpipe and the Scottish smallpipes). I played competitively as a teenager, and thereafter paid my way through university by working as a street musician in Germany, France, the Netherlands and Denmark.

NOOOOOO! ANYTHING BUT THE BAGPIPES!!!

Only joking. But yes, he really does play the bagpipes. And that submission to the EU's consultation on the management of copyright and related rights is worth a read, to get an idea of how the new increased enforcement of music copyright has had chilling effects on the viability of the UK's folk music scene. (found via Karl-Friedrich Lenz.)

Kiera Knightley

Funny: Kiera Knightley's photoshop boobjob has been all over the place recently -- it's a pretty extensive reworking. But then, that's standard practice nowadays...

However, best comment goes to stephendann:

In photo 2, she has the quad damage. The skin colour darkens, the chest expands, the stomach contracts and the character skin is obviously altered so the rest of the players know she's supercharged. In POTC:King Arthur, it's a more subtle damage modified than (the) UT2K4 glowing purple bow.

LOL!

Great SSH tip, and how to fix a KDE glitch

Unix: via Ted Leung, Adam Rosi-Kessel's Linux Tips page has some very useful tips, and this one's great -- to avoid
getting SSH connection resets, add the following to your .ssh/config:

    serveraliveinterval 300
    serveralivecountmax 10 

This will insure (jm: sic) that ssh will occasional send an ACK type request every 300 seconds so that the connection doesn't die.

As a similar tip that took a while to track down -- KDE users who've upgraded between KDE releases, will probably by now have seen lots of messages like this:

  nameofapp (KIconLoader): WARNING: Icon directory /usr/share/icons/hicolor/
  group 48x48/stock/text not valid.

It took a bit of googling about to find the cure:

  • run in a shell (I cannot find this on any menu): kdebugdialog --fullmode
  • select: debug area: 264 kdecore (KIconLoader)
  • Change the Warning Output to 'None'
  • select: OK

DVD pirate’s pitch ends in arrest

Funny: BBC: DVD pirate's pitch ends in arrest:

A man has been arrested after trying to sell counterfeit DVDs - at a Trading Standards Office.

The man had apparently missed the sign on the office in Beehive Lane, Chelmsford, Essex, and asked if anyone would like to buy pirated films. Staff said they were very interested indeed in what he had to sell, but when he realised where he was he ran off, leaving his wares and £210 in cash.

Police later arrested the man in a supermarket in Chelmsford.

Hacking Netflix

Movies: Hacking Netflix, via torrez.

Jason Kottke points out a great quote on a Friendster cross-site scripting attack -- this great quote: 'We have a policy that we are not being hacked.'

He also speculates that Google used the GMail invite-network data for whitelisting -- but whitelisting based on email address alone is trivially exploitable, so I'd doubt it.

I'm just back from a trip over to Cape Cod to meet family (halfway between here and Ireland, y'see ;) -- lots and lots of luvverly lobster and sundry shellfish -- and after a 6 day trip, had 5000 spams and a couple of thousand nonspam mails to deal with. Thankfully SpamAssassin dealt with the spams (only about 5 false negatives, no false positives I could spot) -- but I'm going to have to do something about that volume of mail. drowning in the stuff. argh.

Microsoft 0wnz ‘http’

Web: Back in 2002, it occurred to someone to check the Google search results for 'http', to figure out what the most popular sites were.

Looks like it's changed -- here's the top five results from a Google search for 'http' now:

  • 1: Microsoft
  • 2: AltaVista (!!)
  • 3: Yahoo!
  • 4: My Excite
  • 5: Google

My guess: older links are getting good PageRank, using whatever new tweaked algorithm they're using. But AltaVista beating Google? ;)

RTE’s Bush Interview

TV: RTE's 'Prime Time' secured a fantastic interview with GWB, with Carole Coleman asking a few very pointed questions. Watch it with RealPlayer, or listen to the audio in MP3 (2.7Mb).

There's a pretty accurate transcript here:

Let me finish! How many times do I have to tell you how to do your job? See, I gotta insult France at least once. Then I gotta claim 'merica to be the most generous nation in the whole wide world, even though it's not true. And listen, let me mention that democracy in Pakistan, too. And guess what? I'm the first president to ever call for a Palestinian state and I'm damn proud of it - just look at the size of my smirk now. Listen, as long as I keep repeating myself and mouthing empty platitudes, you won't have a chance to call me on any of the bullshit coming out of my mouth.

OK, the official one is here.

It appears that the White House just dropped the ball on this one; reportedly, they had her list of questions three days in advance, but given that they suggested that she 'ask him a question on the outfit that Taoiseach Bertie Ahern wore to the G8 summit' (!!!), they weren't paying attention, and expected some kind of giggling moronic schoolgirl, or something.

Hilariously, the White House has since complained to RTE, the Irish Embassy, the Irish Government, and the reporter herself. Probably God, too. I doubt Prime Time will ever get a White House interview again, but given what they clearly expect from the poodles in the White House press corps, that's hardly much of a loss.

(I'd love to see what'd happen if he had to deal with Paxman ;)

Also, went to see Fahrenheit 9/11. Fantastic movie, and best of all, incredibly well-attended.

My favourite moment: the reminder of just how easily the US news media sold itself out during the war. Seeing Katie Couric blurting 'Navy Seals rock!!' like some kind of starstruck 5-year-old with an Action Man toy, was a classic. It's good to see that this will be immortalized in celluloid, as it was truly shocking at the time. (Not much has changed; Judith Miller is still writing for the NYT.)

Samuel L. Jackson’s ‘Irish’ comment

Ireland: Here's a hot UL that's floating around the irish web right now --

In a British program about Samuel L Jackson and Colin Farrell's lastest movie SWAT presented by British presenter, Kate Thornton, the following exchange occured:
  • Thornton: What was it like working with Colin (Farrell), cos he
    • is just so hot in the U.K. right now?
  • Jackson: He's pretty hot in the U.S. too.
  • Thornton: Yeah, but he is one of our own.
  • Jackson: Isn't he from Ireland?
  • Thornton: Yeah, but we can claim him cos Ireland is beside us.
  • Jackson: You see that's your problem right there. You British keep claiming people that don't belong to you. We had that problem here in America too, it was called slavery.

... yeah, right. ;)

(Update: Actually, believe it or not, that's more or less how it really went. Here's the transcript.)

Some commentary at
TheReggaeBoyz.com (quote: 'I NEARLY DEAD TO RASS!!!!') and Kuro5hin.

It looks like the TV programme does exist; no scripts online, unfortunately, so we'll never figure out if this one really happened, I think.

IMO, it's made up for sure. That last line is just a little too harsh for a primetime schmooze-a-gram, at the very least. Plus, it's the kind of thing only an Irishman would give a shit about -- the perpetual adoption of Irish celebs and worthies by the UK media is a continual source of irritation for the Irish -- as Dervala puts it:

'No, Oscar Wilde was ours. You put him in jail, though. And Shaw was ours. And Yeats. And Johnny Rotten.'

Announcing a new script

Web: Minor software announcement -- after some time using HTMLThumbnail, album, and even WebMake to build photo galleries, I finally got peeved enough, and gave in to the temptation of 'not invented here'. ;)

Presenting Uffizi, a CSS- and template-driven, themable perl script to generate photo galleries. Quoting the POD:

  • it's very self-contained, apart from dependencies on Image::Size and the ImageMagick convert command
  • fast, efficient incremental rebuilding
  • generates full CSS-styled, templated and valid HTML
  • every part of the generated HTML can be modified through the templates
  • generates reasonably-sized images as well as thumbnails, with a link to the full-sized image
  • secure -- all pages are static HTML, so your webserver won't get r00ted through a silly photo album script

I am, of course, using it on my own photo pages, and I'm very happy with it; it's been a while since I had to hack it. (I need to get it to thumbnail MPEGs as well, but apart from that it's teh nifty IMO.)

SpamAssassin now an Apache TLP!

Spam: SpamAssassin is now officially an Apache top-level project! InternetNews.com coverage:

The Apache Software Foundation is taking the spam fight to a new level -- literally -- with the promotion of its Spam Assassin project to top-level status.

Hooray ;)

The ‘humans are 99.84% accurate’ figure

Spam: 'The spam-classifying accuracy of a human being is 99.84%'. This statement has passed into SlashDot lore as the gospel truth, so time for some debunking.

First off, that's not what Bill Yerazunis said in the CRM-114 Sparse Binary Polynomial Hashing and the CRM114 Discriminator paper. Here's the real quote:

the human author's measured accuracy as an antispam filter is only 99.84% on the first pass

Here's a copy of the original mail:

I manually classified the same set of 1900 messages twice, and found three errors in my own classifications, hence I have a 99.84% success rate.

(my emphasis). In other words, the author sat down and ran through 1900 messages manually, then ran through them again, and checked to see how many messages in the first batch disagreed with the second.

Let's consider an alternative situation, where a user is presented with one message, and asked to take their time, give it a full examination and some thought, and then classify the message. I would consider that more likely to be classified correctly, since fatigue will not be an issue (after 1900 messages, I'm pretty tired of eyeballing), and neither will time pressure (taking 20 seconds on each of 1900 mails would require 10.5 hours, and would be excruciatingly boring to boot).

In addition, the study wasn't clear on exactly how much information from each mail was presented. Too little (just the subject line) or too much (every header and raw HTML), and a human will be more likely to make mistakes than if the mail is rendered fully, and the extraneous header info hidden. In my experience, I've never hand-classified 1900 messages purely through either method, because it's just too tiring, and I know I'll make quite a few mistakes. The UI for this work is important.

And finally, the figure is derived from a study with one user performing a task once. There's no way you could use that figure in a serious setting -- it's not valid statistical science. Here's Henry's comment:

Yerazunis' study of "human classification performance" is fundamentally flawed. He did a "user study" where he sat down and re-classified a few thousand of his personal e-mails and wrote down how many mistakes he made. He repeats this experiment once and calls his results "conclusive." There are several reasons why this is not a sound methodology:
  • a) He has only one test subject (himself). You cannot infer much about the population from a sample size of 1.
  • b) He has already seen the messages before. We have very good associative memory. You will also notice that he makes fewer mistakes on the second run which indicates that a human's classification accuracy (on the same messages) increases with experience. For this very reason, it is of the utmost importance to test classification performance on unseen data. After all, the problem tends towards "duplicate detection" when you've seen the data before hand.
  • c) He evaluates his own performance. When someone's own ego is on the line, you would expect that it would be very difficult to remain objective.

So, to correct the statement:

'The spam-classifying accuracy of this one guy, when classifying nearly two thousand mails by hand, was 99.84%, once.'

Cormack and Lynam’s study on supervised spam detection

Spam: or, 'SlashDot spam drama'. So, a few days ago, I forwarded a link to a paper I'd been sent -- it's a great paper, and I'm not just saying that because SpamAssassin did well -- it really tests some of the popular open-source spam filters comprehensively, and correctly. (The authors have 24 years of information retrieval research between them.)

The results have been pretty incendiary. ;) Here's a timeline with links, in case you were wondering where we are right now:

A UNIX shell tip

UNIX: I've just made the first change to my core bash configuration in years, to add -b to the set command-line. It triggered some thinking about when the last one was.

It turns out, that apart from writing scripts and aliases frequently, I haven't changed my commandline UI in any respect, since about 2 years ago. By contrast, I've been hacking about with GUI settings continually, new desktop backgrounds, themes, colours, etc. Odd!

Anyway, here's the tip -- it's very handy, I find.

I changed to using a 2-line prompt, with the first line containing the time and the full working directory, in a 'magic' cut-and-pasteable format:

        : exit=0 Thu Jun 24 17:55:29 PDT 2004; cd /home/jm/DL
        : jm 1203...; 

Note that the prompt starts with ":", which means that bash/sh will ignore the line until it hits ";". The end result is that the entire line evaluates to "cd /home/jm/DL" when pasted. Hey presto, cd'ing several terminals to the same dir just involves triple-clicking in one, and middle-button-pasting into the others. nifty! Similarly, the second line has a little bit of prompt, but that snippet will be ignored when cut and pasted.

Having the exit status of the last command (bash var: $?) is useful too. The code:

  do_prompt () {
    echo ": exit=$? `date`; cd $PWD"
  }
  PROMPT_COMMAND='do_prompt $?'   # executed before every prompt
  do_prompt 0                     # set up first prompt
  PS1=": `whoami` \!"
  PS2="... >>; "            # continuation prompt
  PS1="$PS1...; "

The Web-App generation

Software: Mark Twomey, in response to all the Win32 API stuff recently:

We now have a generation of computer users ... who have never received or sent email from a so called 'rich client', never had to send a postal order off to order something from some distant vendor, and are not amazed by something like a search engine. ....

Those ('rich client') people remind me of minicomputer users who crapped on the 'crummy little operating systems' used on 'crummy little desktop computers.'

He's right, you know -- for de yoot, Windows is generally just a way to access Hotmail.

Ahmed Chalabi and Iran’s encryption

Security: some crypto drama.

Ahmad Chalabi apparently told the Iranian government that the NSA had broken their secret code, according to 'US intelligence officials': NYTimes: Chalabi Reportedly Told Iran That U.S. Had Code. This story is still running -- Bruce Schneier has just posted his expert opinion, as has Ross Anderson. As I noted on Eric Rescorla's weblog, here's my (non-expert) theory ;)

It's known that the Iranians used Crypto AG equipment up until about 1992, and it's been widely reported that Crypto AG's systems were backdoored by the NSA and traffic routinely decrypted. (also, Baltimore Sun story, 1995)

Reportedly, the Anglo-Irish discussions of the 1985 were a rather one-sided affair, because the Irish government used Crypto AG machines to communicate between their Embassy in London and Dublin, and intercepts of their reports were fed back to the UK government.

In addition, according to this article (backup), the NSA also provided Iraq with intercepts of Iranian secret traffic, while Iraq was a US ally -- which could explain why Chalabi would have known about it.

It also speculates as to how it was done:

'Knowledgeable sources indicate that the Crypto AG enciphering process, developed in cooperation with the NSA and the German company Siemans, involved secretly embedding the decryption key in the cipher text. Those who knew where to look could monitor the encrypted communication, then extract the decryption key that was also part of the transmission, and recover the plain text message. Decryption of a message by a knowledgeable third party was not any more difficult than it was for the intended receiver. (More than one method was used. Sometimes the algorithm was simply deficient, with built-in exploitable weaknesses.)'

So my opinion is that Chalabi's claim was very old news from the 80's and early 90's -- which pretty much fits in with the rest of his tip-offs to everyone else ;)

“Vice-President Hunter Thompson”

Politics: Kerry in Colorado:

"Just to put your minds all at ease, I have four words for you that I know will relieve you greatly," Kerry told the fund-raiser. "How does this sound? Vice President Hunter Thompson."

Travel: Great posting on culture shock and 'going native' at Yankee Fog.

Hacks: Dan Kaminsky's LayerOne presentation hits Slashdot. Definitely one of the highlights of that conference.

Spam: confession for two: a spammer spills it all. Interesting -- especially since the spammer winds up earning less than he would have working for Starbucks.

It's also worth noting this posting from Gary Smith on the sa-users list, in which Gary filled out a spam form with some not-entirely-valid info -- with hilarious results!

So I did talk to some of these lenders. Apparently they buy leads from www.lendergateway.com . One guy that I talked to was irritated because it costs him $100 per lead they sell him and it's supposed to only be sold to him. He apologized quite a bit and was nice enough to give me the information on who sold him the names. The number he game me goes to voicemail which I'm going to try later. A couple other people told me what I can do with myself and one lady kept saying that she couldn't give me information on who provided her with my information.

The stupid thing is each time I talk to them I tell them I'm on a cell and that I need their name and number and I'll call them right back. They give it to me... So when they hang up I start calling again and again. I've been irritating the hell out of them...

Anyways, that's the fun storing of what happens when these forms are filled out.

$100 per spurious 'lead' would make a serious dent, if enough spurious leads showed up... ;)

WINW

Net: WINW Is Not WASTE: 'WINW is a small worlds networking utility. It was inspired by WASTE ... (WINW) has diverged from its original mission to create a clean-room WASTE clone. Today, the WINW feature set is different from that of WASTE, and its protocol is incompatible with WASTE's protocol. However, WINW and WASTE achieve similar goals: they allow people who trust each other to communicate securely.'

Not quite there yet -- just a Windows version with no sharing -- but actively under development. One to keep an eye on...

Great Economist article on UNIX

Software: Economist: Unix's founding fathers (via sourcefrog.net). A very good article on Thompson, Kernighan and Ritchie's amazing achievement, with some new details I hadn't heard before:

AT&T was required under the terms of a 1958 court order in an antitrust case to license its non-telephone-related technology to anyone who asked. And so Unix and C were distributed, mostly to universities, for only a nominal fee. When one considers the ineptness of AT&T's later attempts to commercialise Unix -- after the court order ceased to be applicable because of another antitrust case which broke up AT&T in 1984 -- this restriction, an accidental boost to what would later become known as the open-source movement, becomes even more crucial.

So that's how that happened. Just think -- if it wasn't for that court case, we'd probably all be hacking on VMS. ;)

Also at sourcefrog, mbp points out that the Sulston reverse-engineering story is 'remarkably similar to that of Richard Stallman several years earlier, when the frustration of closed-source printer software helped motivate him to start the GNU project'.

Patents: yet another sourcefrog link, this time to a CNet story with a hilarious quote regarding software patents and the GIF/PNG debacle:

But Unisys credited its exertion of the LZW patent with the creation of the PNG format, and whatever improvements the newer technology brought to bear.

'We haven't evaluated the new recommendation for PNG, and it remains to be seen whether the new version will have an effect on the use of GIF images,' said Unisys representative Kristine Grow. 'If so, the patent situation will have achieved its purpose, which is to advance technological innovation. So we applaud that.'

Wow. Presumably by the same logic, they applaud al-Qaeda for improving airline security innovation, too...

What’s wrong with DRM, and ‘better support’

Copyright: Cory Doctorow's DRM talk presented to MS research yesterday. This is a fantastic introduction to the issues regarding DRM; if you know someone who isn't convinced that DRM is A Bad Thing, this is the argument they need to read.

OSes: /.: France Considers Open Source. The usual arguments are going on in the comments, but some people still insist that they get better support from MS than from Linux vendors.

What planet are they on? Because it would have been handy for me to live there, on the occasions in the past where I've had to develop code on MS platforms, and administer networks of Windows PCs. In my experience, you do not get support from Microsoft. Instead, you do what you do with Linux -- go searching on Google, read MSDN, or post in the MSDN forums.

As far as I can see, there's zero difference between doing that with Windows, and doing exactly the same thing with Red Hat -- except in the latter case, you can turn up debug logging through a documented API or switch, use the source and fix it yourself, find the original developers and post a message to their core -dev list, or even ask them personally.

Where's this amazing support? Maybe the companies I've worked for just weren't paying enough, and therefore weren't significant blue-chip customers. Or maybe it's because we weren't based in the US, and so got support from less-skilled, less high-priority staff in a regional office. But I've certainly never experienced the support these advocates claim MS offers, which makes me think it's FUD as usual.

Bloomsday!

Literature: Happy Bloomsday Centenary! Google agrees:

Google Bloomsday logo

You can have a read of Joyce's masterpiece online at online-literature.com, although this is certainly one text that works better on paper, to be pored over and parsed slowly. But regardless of whether it's readable on-screen or not, the legality of that copy is dubious, anyway.

As this Telegraph article notes, the copyright situation on Ulysses is, sadly, a total mess. Even 84 years after it was written, and promptly banned in the US, UK and Ireland for 'obscenity', Ulysses remains a thorny legal subject.

The novel was first published in 1922, and as such, fell into public domain in the UK in 1992, but was apparently 'pulled back' in 1996. According to this mail, due to recent copyright term extensions, the 1922 text will now remain in copyright in the EU until the end of 2011, and may not expire until 2032 in the US. And this Irish Times article notes that in Ireland, 'copyright on Joyce's works ran out on December 31st, 1991, 50 years after his death. However, EU regulations revived copyright from July 1995 when it extended the lifetime of copyright to 70 years.'

Reportedly, the Dail even had to pass emergency legislation last week to prevent an exhibition at Dublin's National Library from being sued by the Joyce Estate:

The threat to the exhibition has been caused by the 2000 Copyright Act which creates a doubt about its ability to display manuscripts bought by the State because the Joyce estate still holds copyright.

Hilarious. Recent overzealous copyright extension legislation snares governments too! But they get to rewrite the laws in emergency session to fix it ;)

All very ironic, considering Ulysses' structure was deliberately derived from The Odyssey in the first place.

Making a Bootable CD from a Floppy Image

Tech: Troubleshooters: Making a bootable CD from a bootable floppy image.
Making a note of this for future reference -- it should be handy next time I need to do a BIOS or firmware upgrade on my Thinkpad.

I ran into the need for this recently when trying to upgrade the BIOS on my Thinkpad running Linux, so hibernation would work. IBM don't provide BIOS upgrade tools for Linux, so you have to keep a Windows partition around. (Yes, I pay the Windows Tax -- I've been bitten by proprietary firmware upgrades requiring it in the past, as in this case.)

Amazingly, however, even after paying the Tax, the 'non-diskette' BIOS upgrade (ie. the standalone Windows app) doesn't work from Windows XP! Instead, you get a hard hang when it tries to bring the machine down from XP to a single-app mode to perform the upgrade. Running from DOS similarly fails, because the BIOS upgrade app is a WIN32 application. Clever.

Eventually, I wound up reformatting my Windows partition, installing Windows 98 (!), and running the BIOS upgrade app from that worked fine. But next time around, I should be able to save myself a few hours of MCSE imitation by using this floppy-to-CD trick... here's hoping. ;) PCs Are Hard.

‘Precision’ bombing, and iTMS Europe

War: A couple of war links, I'll keep it short. ;)

High-profile air strikes 'killed only civilians'. 'The American military launched some 50 air strikes designed to kill specific targets during the Iraq war, it emerged yesterday, but none of them found its mark. Instead the air strikes had a high civilian toll, according to military officials serving at the time.' Still, it sounded good, like as if CSI were doing all the war strategification and stuff ;)

And: the
Pentagon 'Torture Memos' took some tips
from the torture techniques used in Northern Ireland in the 1970s.

Music: Licensing row mars iTunes launch. UK indie labels report that 'where Apple has spoken to labels the terms on offer have been commercial suicide', and as a result, they won't be selling their tunes via iTMS Europe.

I agree with Mark Twomey on this one -- bad move. This (and the prices!) reduce the Euro-iTunes offering to about the usefulness of whatever that one is that Real.com have (you know, the one you can't even remember the name of) -- and nobody in Europe buys major-label music online anyway.

First Nobel Prizewinner forced to reverse-engineer?

Software: This mail contains a fantastic anecdote from The Common Thread: Science, Politics, Ethics and the Human Genome, by John Sulston, head of the Sanger Centre, and a joint winner of the Nobel Prize for Medicine. I'll reproduce some bits here:

Once the first fluorescence sequencing machines arrived, it became clear that we had to take control of the software. The machines worked well, but ABI (jm: the vendor) wanted to keep control of the data analysis end by forcing their customers to use their proprietary software. ...

I could not accept that we should be dependent on a commercial company for the handling and assembly of the data we were producing. The company even had ambition to take control of the analysis of the sequence, which was ridiculous. ...

So, one hot summer Sunday afternoon, I sat on the lawn at home with printouts spread all around me and decrypted the ABI file that stored the trace data. ... Within a very few days, Rodger and his group had written display software that showed the traces - and there we were. The St Louis team joined in, and they all went to decrypt more of the ABI files, so that we had complete freedom to design our own display and analysis systems. It transformed our productivity. Previously we'd only been able to get the traces as printouts, which we bound together in fat notebooks ....

I certainly feel that between us we did push ABI back a bit and denied to them complete control of this downstream software. It was the first experience of the kind of battle for control of information that I seem to have been fighting with commercial companies ever since: a foretaste of the much larger battles that would later surround the human genome.

Amazing. Was John Sulston the first Nobel Prize-winner to have to reverse-engineer a proprietary file format in the course of his research?

And would his actions be legal in the UK in a few years, once the IPR Enforcement Directive is transposed into law there?

LayerOne

Conferences: LayerOne was seriously great! Got to meet up with some really interesting people; discuss some nifty stuff; and get some new angles on the whole hacking scene.

Seriously, that was well worthwhile, especially in terms of potential new ways to deal with spam, and issues to watch out for in terms of spammer techniques in future. A great techie conf, and the boozing^Wsocialising was pretty good too ;)

I'm actually giving some thought to going to Defcon after that...

German neo-nazi UBE, and CAN-SPAM

Spam: Reg: German hate mail spam attack stuns experts: 'Mailboxes in Germany and the Netherlands were flooded yesterday with spam containing German right-wing propaganda. Spammers used the Sober.G virus - a mass mailing worm that sends itself to email addresses harvested from infected computers - to spread their messages as widely as possible.'

The one good thing about this is that it might help some people realise that spam isn't all about porn and commercial email; any kind of mail can be spam, including political speech.

However, this may be a bit late for the US, since CAN-SPAM explicitly does not regulate political spam. ah well, you live and learn, I suppose. ;)

Updating European Election voting guide for Ireland

Patents: Ciaran O'Riordan just posted a message to ILUG, regarding how concerned voters in Ireland can use their votes in tomorrow's European elections to prevent legalising patenting of software ideas in Europe. Here's the scoop:

Area Vote #1 and #2
East Avril Doyle Eoin Dubsky
South Brian Crowley Gerard Collins
North WestSean O'Neactain
Dublin Patrica McKenna Ivana Bacik

Note the main thing I got wrong -- some sitting MEPs from Fianna Fail and FG actually voted the right way! So a vote for FF in this case, is a vote against software patents. (I never thought I'd be saying that, but there you go ;)

TaintBochs, and oil

Security: A very interesting security paper -- Understanding Data Lifetime via Whole System Simulation. It combines virtual machines with data-flow tracking (a la perl's 'taint' mechanism, after which this site is named ;)

By modifying the Bochs VM to support tracking 'tainted' data, they found several cases in popular apps (Mozilla, emacs, and MSIE) where passwords entered from the keyboard are retained in memory, and thereby wind up on disk due to swapping.

This has been a known issue for a long time -- see the source for passwd.c from the 'shadow' package -- but aside from security-naive developers, several other factors have made it more complex recently:

  • recent too-smart compilers will optimise away memset()
    • buffer-zeroing unless you're careful (oops!)
      • Input buffers and event queues are a problem; password data from the keyboard will often persist in the kernel, window system, and application event queue buffers.
      • Abstractions cause many needless copies of tainted strings. Mozilla's abstraction layers even include a string-copy to the heap to perform a string comparison operation, ouch ;)

In general, they suggest more use of buffer zeroing, even for low-level buffers that might not seem to require it (such as the X server's event queue, and the kernel input buffers).

BTW, a similar system they didn't mention is the Sidewinder firewall appliance, which uses what they call 'Type Enforcement' -- effectively, tainting the data based on which network interface it arrived on.

Overall, a very nifty paper. I wonder if Tal Garfinkel is related to Simson? ;)

Oil: a MeFi gem: expert opinion on depletion of the oil reserves. 'Simmons, Campbell, even the Iranian Bakhtiari agreed that the real situation of Saudi reserves is very bad. ... Not a rosy picture, even for optimists.'

Patents: Transcript of the rms talk from a couple of weeks ago.

MS’ latest patent

Patents: Oh, come on. USPTO: task list window for use in an integrated development environment. Here's claim 1:

  1. A computer-implemented method for managing development-related tasks, the method comprising:

    during an interactive code development session, evaluating source code to determine whether a comment token is present;

    in response to determining that the source code contains a comment token, inserting a task into a task list; and

    in response to completion of a task, modifying the task list during the interactive code development session to indicate that the task has been completed.

There's 74 more claims that are about up to that standard, including the usual 'an input module connected to the knee-bone' mumbo-jumbo that means it 'isn't a software patent'.

This is just quite simply absurd. Are we really supposed to believe that nobody had thought of what is essentially a list of tickboxes, displaying the output of 'grep TODO *.c', before March 6, 2000? You have got to be kidding. This /. comment suggests that Delphi 5 (released 1999) did it.

(update: looks like there was a provisional patent application, so that may have to be Mar 5 1999.)

William Chiles, Anders Hejlsberg, Randy Kimmerly and Peter Loforte should be ashamed of themselves for filing this joke. And the USPTO examiner who granted it should be fired.

(PS: a factoid from the slashdot comments: IBM receives (note: not even 'files for') nearly 10 patents every day.)

Invasion of the spambots

Spam: Good Salon article on the new forms of spamming, such as Wiki and referrer-log spamming etc. Here's a good quote:

'The adult industry will likely be married to spam and its attendant distribution methods long past the evolution of man into beings of pure energy,' jokes Domenic Merenda, vice president of business development for Edge Productions, a company that operates adult-media properties.

There's a good deal of crossover -- I've seen both email and referrer-log spam advertising the same porn sites.

Nigritude Ultramarine

Web: the June part of the contest is over, but given that there's a July part still to go -- here's a 'Nigritude Ultramarine' link to Anil Dash.

I wasn't really bothered at all about this, until I came across this guy, whose technique involved spamming third-party Wiki sandboxes with backlinks. His excuse? 'A Sandbox (is) a part of a system in which everybody is urged to play around freely. Usually for testing purposes. You can post headings, paragraphs, lists and links here. The content in return will be indexed by Google.'

As this forum thread points out -- 'The SandBox page is there for a purpose: to allow users of the wiki to learn to use the software. It is
not meant to be "a place where anyone can create backlinks."'

Sorry, that's spam in my book.

GMail Invites

Mail: GMail users, check your mail; if mine was anything to go by, you should have three new invites to give out.

Irish Dating Site, and TheyWorkForYou.com

Web: Bernie Goldbach points to a site that's news to me: AnotherFriend.com. It's an Irish dating site.

I've had the odd discussion comparing dating culture in the US (organised 'dating') and Ireland and the UK (where it's a lot more casual), and I must say, I was really convinced that the Friendster/craigslist-style organised, web-mediated dating just wouldn't fly.

Seems I was wrong! Right now, there's 157 people online on the site, with a good half of those being logged-in, chatting users, and about 75% of those in turn being premium, paying members. Wow, not bad.

Politics: TheyWorkForYou.com is a triumph. The most incredibly detailed, and web-aware, hypertextual database of political activity I've seen yet. The web-awareness -- full of scraping, links, RSS and even community -- is what makes it amazing; the concept of being able to read news of your representative's latest speeches and voting record in your RSS aggregator is incredible. We need to get this out there for every country in the world.

It certainly beats Today in Parliament, that's for sure ;)

Aside: nice choice of username for the 'Site News' weblog:

Some sites linking to this entry

An error occurred: Connection error: Access denied for user: 'fawkesmt'@'localhost' (Using password: YES)

Wierd: Incredible footage (WMV stream) of a guy who went nuts, converted a caterpillar earthmover into what is essentially a tank, and went on a GTA-style rampage through the streets of Granby, 15 miles west of Denver, Colorado. In the process, he destroys the local bank, the newspaper, and several stores, seemingly working on the basis of (several) personal grudges.

Action Replay

Hacking: Amazing -- the Action Replay cartridge is still around!

To be honest, I'm quite surprised that the PS2 hardware platform allows any of this stuff without some mod-chip-style soldering... but then, it's pretty clear Datel have the technology to figure these things out. Impressive.

Aside: in my teens, I wrote demos on the Commodore 64 entirely in the Action
Replay's built-in monitor. I tried using compilers that supported such luxuries as symbolic labels, variable names, etc., but the ability to halt the entire machine and debug extensively, with a single button press, was just too nifty ;)

Irish MEP Candidates

Patents: lyranthe.org notes that the EU elections are coming up this Thursday, 11th June. Accordingly, here's a single-issue roundup of the candidates, from what I've heard:

  • The Labour Party, sadly, haven't yet come up with a concrete policy on the issue -- but the Dublin candidate, Ivana Bacik, has (verbally) stated her opposition.
  • The Greens, however, are actively campaigning against them, their candidates clearly understand and have communicated with voters on the issue in the past, and the cross-Europe party policy is clearly stated.
  • Eoin Dubsky is an independent candidate, standing on a primarily anti-war platform. He's stated his opposition to software patenting clearly and publically. He's also a total techie -- with RSS feeds and a Redbrick account! ;)
  • FG's position is totally unclear, as usual... ;)
  • And in the other corner: FF and the PDs are whole-heartedly supporting software patenting; in fact, they're the ones running the EU Council which just pushed through software patenting law despite the democratic mandate from the European Parliament. boo.

(PS: these are my opinions, not those of my employer. ;)

(updated: I'd left out Eoin Dubsky! my bad, now fixed.)

Easy-peasy web scraping: HTTP::Recorder

Perl: I've been writing a few convenience web-scrapers recently using WWW::Mechanize, with great success.

So the latest development, HTTP::Recorder, looks very nifty too:

HTTP::Recorder is a browser-independent recorder that records interactions with web sites and produces scripts for automated playback. Recorder produces WWW::Mechanize scripts by default (see WWW::Mechanize by Andy Lester), but provides functionality to use your own custom logger.

... Simply speaking, HTTP::Recorder removes a great deal of the tedium from writing scripts for web automation. If you're like me, you'd rather spend your time writing code that's interesting and challenging, rather than digging through HTML files, looking for the names of forms an fields, so that you can write your automation scripts. HTTP::Recorder records what you do as you do it, so that you can focus on the things you care about.

No SSL support yet, though, as far as I can see, but for simple scraping -- or as a good starting point for a more complex Mechanize script -- it looks like it'll work great.

ISPs, AUPS, and RIRs

Spam: Kasia raises a very interesting question. Here it is, in a nutshell:

Should the quality of an ISP's enforcement of its Acceptable Use Policy, be a condition of their contract with their Regional Internet Registry, and therefore affect whether they can be assigned new network address space?

  • Are there that many ISPs with lax or virtually nonexistent spam-related AUP enforcement? Yes, definitely.
  • Is spam that much of a problem? Speaking personally, I would say yes, but then, I would ;)
  • who would judge whether an ISP is doing enough, or too little?

Head on over to her weblog if you have a comment on this.

Don’t look for it, and you won’t find it

Health: USDA orders silence on mad cow in Texas: 'The U.S. Department of Agriculture has issued an order instructing its inspectors in Texas, where federal mad cow disease testing policies recently were violated, not to talk about the cattle disorder with outside parties ... The order ... was issued in the wake of the April 27 case at Lone Star Beef in San Angelo, in which a cow displaying signs of a brain disorder was not tested for mad cow disease despite a federal policy to screen all such animals.'

Great idea -- if you want to avoid finding mad cow cases, just don't bother looking for them! The beef rendering plant in question supplies beef to MacDonalds, reportedly.

Press: LWN: A look at SpamAssassin 3.0 (article is subscriber-only until next week).

OSes: Kernelthread.com: Making an Operating System Faster. Great article on some OS-level optimisations Apple used in MacOS X -- including a nifty boot-time read-ahead system which reportedly more than doubles the speed of OS X reboots. nice!

Wildlife: here's another critter we encountered last weekend -- a baby Western Diamondback rattlesnake, hiding in a crevice.

Spamometer

Spam: The Spamometer; a 1997-vintage spamfilter along the lines of filter.plx. Interestingly, I hadn't seen this before -- who knows, if I had, SpamAssassin could have used a (0.0, 1.0) scoring system instead of the '5 point threshold'. ;) (Thanks, Gary!)

Going to LayerOne

Conferences: I'm going to LayerOne; it looks interesting, and I've been hoping to bump into Danny O'Brien (who's there doing his Life Hacks talk) for a couple of drinks and a blather for quite a while. Other speakers look similarly interesting, in an 'offbeat hacker conference' way, so I think it'll be fun.

Conflicts with The Streets playing the Wiltern though, but c'est la vie ;)

Desert camping, and Dr. Strangelove’s all-zeroes password

Life: I've learned one thing this weekend -- humans are not designed to function in the desert. I went bush-camping in the Anza-Borrego Desert state park with a few mates, and we quite simply baked in the 45C/113F degree heat. Walking 3 miles in that heat was easily equivalent to 15 miles in normal temperatures.

We did manage to catch a good look at one of the endangered bighorn sheep that live there -- the poor sheep was clearly trying to get to some water, but those damn humans kept getting in the way!

On the way back, we passed the aftermath of a forest fire near Temecula. Scorched earth.

Security: via IP -- a very scary article at Bruce Blair's Nuclear Column -- apparently, the secret unlocking codes on the launch control mechanisms of Minuteman nuclear missiles were deliberately set to '00000000' throughout the height of the cold war, because the Strategic Air Command 'remained far less concerned about unauthorized launches than about the potential of these safeguards to interfere with the implementation of wartime launch orders.'

Green: A couple of good /. comments on renewable power sources: one from a wind farm designer, and some anti-FUD figures for solar panels.

Music: The full text of
The Timelords' The Manual (How To Have a Number One the Easy Way) is online:

        THE JUSTIFIED ANCIENTS OF MU MU
      REVEAL THEIR ZENARCHISTIC METHOD USED
        IN MAKING THE UNTHINKABLE HAPPEN.

                  KLF 009B
          1988 (YOU KNOW WHAT'S GONE) 

Snippets

Photos: the view out to sea from Seal Beach, just south of LA. (duh. thanks Ben, I'd b0rked the link earlier.)

Patents: via the FFII Kwiki, here's 2087 Microsoft USPTO software patents viewed roughly by subject matter. The 'Web' selection is particularly interesting.

Terror: The Atlantic: All you need is love -- how the terrorists stopped terrorism. Amazing -- marry them off!

Tourism: Pictures from Bangkok's new 'Sky Bar' -- open-air dining, 63 floors up, with no walls apart from 1.5-metre-high glass.