Skip to content

Justin's Linklog Posts

Hating ABIs

Software: OK, one of my current UNIX pet peeves, perfectly illustrated by the new RPMs for KDE 3.2.

  : jm 1015...; sudo rpm -Uvh *.rpm 
  Password:
  error: Failed dependencies:
      libiw.so.26 is needed by kdenetwork-3.2.0-0.1

I don’t have a wireless card in this machine.

WHY does kdenetwork, a network configuration applet, link with a shared library component of the wireless-tools package? Why is this not simply a shell script, or even an optional binary command? Have the UNIX desktop environments forgotten all about the UNIX way in their rush to implement ‘components’? To quote Doug McIlroy :

This is the Unix philosophy. Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

(my emphasis added.)

Hint: if you don’t intend to call some third-party code over and over
again several times a second — in other words, so that performance is essential — you do not need to link against it as a shared library. Calling it as a command, with fork and exec, will work just fine and avoids this kind of ‘DLL hell’.

A related issue is how this emphasis on binary or component ABIs impacts scriptability and plugins. Ever since Netscape came up with their plugins, we’ve had this new model that third-party application extensibility meant linking shared libraries into the app (with ABI issues), or calling out to components over distributed-object transports like CORBA or MCOP (with API issues), instead of the traditional ‘helper app’ model.

As a result, generally, when I install a new version of Mozilla, I have to try and remember what plugins I had in the last one, track them down, download the latest version to work around ABI changes, and hope they work in this version of the browser.

Inevitably, they don’t — I haven’t found a working Java plugin in over a year. On the other hand, I can always click on a .ram link to listen to a RealAudio stream, because it doesn’t really matter if the browser and realplayer were built with different compilers in the ‘helper app’ case.

In addition, and paradoxically, scriptability is becoming less of an option in the modern UNIX GUI apps. Let’s say I want to be able to do the kind of thing Windows has had for years with it’s ‘Send To’ menu; put a simple shell script into an ‘actions’ directory, and it’ll appear in the right-click context menu, so that I can right-click on a file and select ‘Run frobnicator’ to frobnicate it. (Similar is possible from MS Internet Explorer.)

Is it possible in Firebird? Not a hope. But you can write an extension — 100KB of undocumented Javascript. Great.

In fairness, the file managers have the right idea — GNOME’s Nautilus does support this nicely, and so does Konqueror. But there’s an ongoing tendency to adopt the ABI dynamic-linking model, or the distributed-object model, in places where it’s just not necessary, and a simple UNIX pipe or command API — the ‘helper app’ model — would work beautifully.

hmm. </rant> ;)

More interesting bits on ‘rscheearch at Cmabrigde Uinervtisy’

Spam: Gary Schrock on the SpamAssassin-talk notes:

… that study that’s being talked about in an email doesn’t exist. There’s something in the Trends in Cognitive Science journal about it, that discusses why that email is actually as readable as it is. I’d try to pass on the knowledge, but while I may work in a lab that does psycholinguistics, that doesn’t mean I understand it enough to pass it on. But the short story is there’s no such research at Cambridge.

(The irony here is that this was being talked about in the lab where I work earlier today, and when I mentioned this email someone in the lab was able to hand me to article from Trends. Unfortunately the journal is only available online with subscription.)

No Longer Possible To Spoil Votes In Ireland?

eVoting: ‘Spoiling your vote’, e.g. writing in ‘none of the above’ on a ballot paper, is a legally-permitted response to a ballot in Ireland and many other countries. Secrecy in how you vote is constitutionally required.

Aengus Lawlor on the ICTE list points out that it appears the new e-voting system in Ireland will no longer permit spoiling to take place in secrecy.

Indeed, in the 7 constituencies where e-voting machines were trialed in the 2002 Nice Referendum, no spoiled votes were cast. Compare:

  • Carlow-Kilkenny: turnout 47,192, Spoiled Votes 244 (that’s 0.51%)
  • Cork North-West: 29,056, 144 (0.49%)
  • Dublin Central: 28,880, 115 (0.39%)
  • Dublin North-Central: 36,532, 93 (0.25%)

with the e-voting constituencies:

  • Dublin South: 51,229, 0
  • Dublin South-West: 31,336, 0
  • Dublin West: 25,659, 0
  • Dun Laoghaire: 50,070, 0

A pretty notable anomaly there, ignoring the wishes of 0.5% of the electorate.

On a separate issue — let’s hope the Powervote systems aren’t as bad as the Diebold ones. Here’s the RABA Technologies’ assessment of Diebold AccuVote-TS Voting System security (PDF, 167KB), noting locks picked in 10 seconds, default passwords used to re-encode a voter card as a supervisor card, etc etc.

BUA Training — clueless interview

Media: ever wondered why SCO is being targetted by the MyDoom virus?

Wonder no more. Apparently, according to William Campbell of BUA Training in this hilariously off-the-wall interview with RTE’s Morning Ireland radio show, it’s because of the Browser Wars and ‘Open System Software’. He goes on to explain:

‘if you go to a website, such as openoffice.org, you can download a free copy of what is the competitor for Microsoft Office, an equivalent of Microsoft Word, and equivalent of Microsoft Excel, which probably most of you have on their computers.’ ‘These competitors, they don’t really exists as companies, although there are some companies such as Open Office.org and eh, Star Office and lynux, but em, Microsoft has put all the commercial competition out of business, or they bought them up or whatever.’

Complete transcript here.

Sounds like Morning Ireland needs some new ‘computer experts’ ;)

Public Service Announcement

Admin: If you have anything hosted on dogma.slashnull.org, our old shared server, get in touch with the boxhosting list, Vin, or even myself ASAP. It’s going to be gone in 2 weeks…

Applauding the Landing

Travel: Maciej writes up a few reasons why he likes Poland. Aside from the hilarious description of day-to-day formality in speech, there’s this snippet:

In all of Eastern Europe, it’s traditional for passengers on an airplane to applaud when it lands. The cynic in me is tempted to call this a legacy of the Tupolev days, when a safe landing was truly a special occasion, but I prefer to think of it as an acknowledgement that flying ten kilometers above the Earth at near-sonic speeds is something to appreciate. For unknown reasons this custom irritates the stuffing out of certain of my American friends, who will be glad to know it is slowly dying out, reserved now only for more spectacular landings in heavy rain or turbulence.

This is something that’s traditional amongst the older Irish travellers, too (I’ve noticed it on charter flights to holiday destinations). The youngsters don’t do it, of course, unless the plane has just stopped safely after skidding sickeningly sideways across the tarmac.

I’ve always wondered if it was an Irish thing, but now I see it’s not; and given the two nations involved, and the distance between them, I suspect it’s something that people always used to do, and they’re just not doing anymore in the places where air travel is commonplace.

Shame, I’m sure the staff would love the appreciation ;)

Blogsplosion!

Social: It’s a blogsplosion! (neologism, Creative Commons license, cheers.)

First off, we have Old Rottenhat, a fantastic group-weblog featuring several old mates of mine, musing on music (Eoghan), psychogeography (Delaney), quitting work (Dr.), and random comments (Krossie). It’s great reading.

Next, Tom has finally set us up the blog in the form of Linux and Goblins, ‘your home for neither of the above’, with some trademark Tom-style moaning, half-baked ideas, and pestering of some politician git called Phillip Boucher-Hayes.

Both are now firmly ensconced in the sidebar, and on my daily list… an RSS feed for Old Rottenhat can be found here, and I’ll be making one for Tom too when I get the chance.

Referrers from IAEA.org

Spam: Ever seen this in referrer logs, and wondered if the International Atomic Energy Agency really had linked to your site? Sourcefrog has.

Of course, it isn’t them. In reality, it’s a spambot called Atomic Harvester 2000. This is how spammers get ‘targeted lists of email addresses’; they throw a couple of search terms into this, it hits Google, and scrapes all email addresses from the pages found. More info:

Server Moved

Admin: taint.org has moved to a new server. Let’s see if it works!

New Server

Admin: So, taint.org has moved to a new server. With any luck, this message should show up there and get blogged…

Record business protects Irish and British consumers

Music: … from CDWow selling us cheap CDs. Paddy forwards on the news — ‘CDWow.ie will now charge EUR 3 on every CD sold from their Irish site. And they wonder why people download music illegally…’

It seems that IRMA and the BPI both joined forces in this case against CDWow, hence this decision affects Ireland, too. The record industry are very happy — ‘it is not the consumer that will suffer, just CD Wow’s profit margins.’ Not entirely clear how the consumer doesn’t suffer due to a 3 Euro surcharge, but I’m sure they have it all worked out.

Globalisation where it suits the producers, rather than the consumers, is the name of the game here.

More at The Register.

(Thanks, Paddy!)

US/Ireland Cultural Differences

Culture: Five killed in separate road crashes. Donncha notes ‘There were 2 terrible road accidents this morning. One of them was just outside Cahir, in Co. Tipperary. I drove past there dozens of times in the past and I was shocked to hear the news.’

It’s interesting to note this cultural difference. In Ireland, a road crash with multiple fatalities is national news, on the 6 o’clock news; in California, as far as I can see, it’s pretty much an everyday fact of life — unless there was a juicy ‘road rage’ story attached, it won’t get reported.

Are there more deaths in the US than Ireland? It seems not. The US department, NHTSA, notes that California had 3,956 fatalities in 2001, which works out at 11.47 per 100K population. The Irish dept, NRA (heh — that’s National Road Authority) notes a 2001 rate of 10.7 per 100K population. (However, Ireland’s rate has dropped since then, due to an increased emphasis on road safety; the 2003 rate is reported to be the lowest since the 1960’s. Not sure what it is now, though.)

So, interestingly, the death rate is comparable — so where’s the difference? I reckon it must be simply a PR issue; Ireland’s road safety authorities have made it a PR priority, so that public awareness of road safety is heightened. As a result, road crashes are headline news.

The IKEA Walkthrough

Funny: The IKEA Walkthrough: ‘IKEA is a fully immersive, 3D environmental adventure that allows you to role-play the character of someone who gives a shit about home furnishings. In traversing IKEA, you will experience a meticulously detailed alternate reality filled with garish colors, clear-lacquered birch veneer, and a host of NON-PLAYER CHARACTERS (NPCs) with the glazed looks of the recently anesthetized. … with practice (and this IKEA Walkthrough!) you will soon be able to muster the sense of numb resignation necessary for victory.’ (defectiveyeti)

Using Subversion With Fedora Core 1

Linux: If you use Fedora Core 1, here’s a yum stanza to download and install Subversion.

Add these lines to /etc/yum.conf:

  [subversion]
  name=Subversion at Summersoft
  baseurl=http://summersoft.fay.ar.us/pub/subversion/bin/subversion-latest/fedora

Run:

yum install subversion

That’s it! svn will now be kept updated using yum.

Orkut Down for Tweakage

Social: orkut – under construction: ‘ Based on your suggestions, I’m taking orkut.com back to the lab for some fine-tuning and improvements. It will likely take a few days to finish them. None of your data will be lost and I should have some nice surprises for you when I bring it back online. I’ll email you when it’s ready and running again.’

Probably taken offline mainly to deal with this wee buglet ;)

Orkut.com is interesting on a few levels:

  • the Google link paid off massively. It has a lot more geek cred than it would have had otherwise (especially given the in-my-opinion fugly MSN-style design, and — ugh — .aspx URLs ;)

    As far as I can see, it’s not really Google-affiliated; just written by a Googler in his spare time. The Google names I know don’t seem to be in there, and no games of ‘Six Degrees of Sergei Brin’ are possible ;)

  • the invite-only startup gave it some good initial buzz.

But IMO it needs a few tweaks: the main one IMO is export. Friendster, Tribe.net et al all give the impression that they want to lock you in the trunk so they can ‘monetize’ your network, or something. If that’s the way it’ll work, great, it’s a toy, and that’s all they’re getting from me.

These things are just toys until I can get my data back out again in a machine-readable format (FOAF, RDF, etc.) I want to augment it with other social data; like an anti-spam web of trust based on who I know, and being able to graphviz my social network, dammit! ;)

Brian McCallister has a few more useful comments.

Puzzles: a UK crypto guy says the Voynich manuscript is gibberish and reckons he’s figured out how it was made. ‘They have shown that its various word, which appear regularly throughout the script, could have been created using table and grille techniques. The different syllables that make up words are written in columns, and a grille – a piece of cardboard with three squares cut out in a diagonal pattern – is slid along the columns. The three syllables exposed form a word. The grille is pushed along to expose three new syllables, and a new word is exposed.’

Spam: NY Times on the Spam Conf 2004.

Debugging Thoughts

Software: Nelson Minar: Primitive Debugging. Nelson quotes Kernighan, ‘The most effective debugging tool is still careful thought, coupled with judiciously placed print statements’, and assents from a viewpoint a quarter of a century later. Strange but true; I find this also. Why is that?

IMO, it’s all usability problems.

  • debuggers are labour-intensive. To print or explore a complex data
    • structure requires lots of typing, or liberal cut and paste from a side window with your debugger commands ready to go. DDD does a very good job of helping with this, since it’s built around a data display model.
      • It’s easy to make a mistake that requires a full restart. If you’re single-stepping through some code, hit a loop, and want to skip several steps, you might select ‘continue until loop exit’ — then find that you’ve gone too far. What can you do? Restart from scratch.

        There is a fix for this — backstepping. However, so far it seems to be only available in research models; I don’t know of any deployed debuggers that support this.

Even given a good debugger, I find myself throwing in a printf() every time. By now, my brain’s hard-wired to debug using printf.

(More correctly, my own equivalent, a ‘JMDB’ statement. This is a little bit of usability sugar; I’ve defined that in my editor as a language-dependent macro to output a ‘JMD’ string — so I can find it easily in code and output — and the file and line numbers, along with whatever data I want to log.)

It’s too late to save me ;)

Moriarty Tribunal Reading Weblogs

Ireland: So, Sarah Carey got called up to testify at the Moriarty Tribunal, since she was involved with ESAT. In the process she notes that she ‘was slightly freaked out when the Chairman, in the process of reprimanding me for leaking information, made reference to my media activities AND my website! So are they reading my blog?’

Sounds like it…

She definitely deserves bonus points for the tagline.

Tridge’s Spam Hashing System

Spam: Andrew ‘tridge’ Tridgell’s junkcode directory really does contain some useful snippets, like he said. Here’s spamsum, a checksum algorithm for hashing spam text:

The core of the spamsum algorithm is a rolling hash similar to the rolling hash used in ‘rsync’. The rolling hash is used to produce a series of ‘reset points’ in the plaintext that depend only on the immediate context (with a default context width of seven characters) and not on the earlier or later parts of the plaintext. A stronger hash based on the FNV algorithm is then used to produce hash values of the areas between two reset points. The resulting signature comes from the concatenation of a single character from the FNV hash per reset point.

Very very nice!

What Invention Are You?

Funny: The latest ‘personality test’ page, via forteana — what surreal invention are you? Justin is ‘a hi-fi that looks bigger than it really is!’, and taint.org is ‘a housebrick that keeps your teeth clean and never needs repairing’.

Also — even better — Giant Battle Monsters. Apparently ‘taint.org is a Collosal Man-Eating Plant that breathes Fire, is Susceptible to Electrical Damage and Extremely Hydrophobic, was brought back from a Distant Volcanic Island, has a mean Left Hook, and eats Metal.’

Tales of Tel Aviv

Politics: G2: Tales of Tel Aviv.

Tomer, aged 33, a promoter in the music business who personifies Israel’s lost generation, the soldiers of the two intifadas: ‘There’s no prize any more for being a good soldier or a good citizen, we all have a mental scratch – for some of us it’s a scar, for others it’s a Grand Canyon. The saddest thing for me is seeing people in their mid-20s with such an empty look in their eyes. All the symptoms are of people losing hope, of seeing no solution.

At the moment I’m trying to promote the Geneva accords as much as possible. We’ve all made so many mistakes in this region, what else have we got to lose? But mainly, I’m just sad.’

Serbian Football Hooligans

Sport: Observer: Football, blood and war: an insane article about the
crossover between Serbian nationalist paramilitaries and football hooliganism:

The crowd watched as a group of Serbian paramilitaries (the self-styled ‘Tigers’), dressed in full uniform, took up positions in the north stand. There were about 20 of them and, one by one, they held aloft road signs: ’20 miles to Vukovar’; ’10 miles to Vukovar’; ‘Welcome to Vukovar’. More road signs were brandished, each one bearing the name of a Croatian town that had fallen to the Serbian army. From high up in the stand, Arkan, the notorious commander-in-chief of the Tigers and director of the Red Star supporters’ association, emerged to receive the delighted applause of supporters who were no longer fractious but united in hatred of a common enemy – the Croats.

Mind you, that was 1992. Still, very scary. (Via the ie-rant mailing list)

New Spammer Trifluidityck

Spam: The new hash-busting, Bayes-avoiding, spam evasion trick: inserting random dictionary words into the middle of another word. Like so:

Subject: SPAM(30.8) Be your own bovertigoss…

and

Subject: SPAM(29.6) Earn huge monteleostey quickly from home…

I’m not sure exactly why increasing monteleosity (something to do with the intensity of light emitted on a mountain, I think), and becoming a bovertigoss (a kind of antipodean rodent) would help me, though. It certainly isn’t helping the spammers — both messages were autolearned as spam on arrival.

More Crazy Laws

Tech: Great. More on the ‘prevention of banknote scanning’ thread; Ed Felten notes that the European Central Bank is

considering recommending legislation to the EU to require inclusion of currency recognition into digital imaging products. Predictably, the ECB’s proposal is wildly overbroad, applying to ‘any equipment, software, or other product’ that is ‘capable of capturing images or transferring images into, or out of, computer systems, or of manipulating or producing digital images for the purposes of counterfeiting’. As usual, the ‘capable of’ construction captures just about every general purpose communication technology in existence — the Internet, for example, is clearly ‘capable of … transferring images into, or out of, computer systems’.

Let’s hope that proposal gets shot down in the way it deserves.

Annoying Non-spam Tricks, pt. XVIII

Spam: OK, I just noticed that I have a few hits for the SpamAssassin rule HTTP_ENTITIES_HOST in my corpus. This searches for obfuscated hostnames in the URL links in mail messages, and is generally a very reliable sign of spam — because who would want to hide a hostname apart from spammers?

Well, Buy4Now.IE, for one, it seems. WTF? I have a mail here that uses this markup:

  <a href="''http://www&#46;buy4now&#46;ie/fbd''>

Totally and utterly nuts. If they really wanted a way to tickle malware detectors, mail filters, and anti-spam measures, they could hardly pick a better one. I have no idea why they did this.

grr....

The EURion Constellation

Tech: PDF file: how do photocopiers decide not to photocopy modern banknotes? ‘a geometric pattern … of five 1 mm large circles’. Fascinating stuff from Markus Kuhn, as usual! (via HackThePlanet)

The True Story of Monopoly(R)?

Games: Anti-Monopoly: ‘A professor and a freelance writer are determined to set history straight on the origin and theft of a favorite American pastime’.

Details how Monopoly(R) is very similar — and allegedly based on — The Landlord’s Game, a socialist educational game from 1904, which was introduced as follows: ‘the object of this game is not only to afford amusement to players, but to illustrate to them how, under the present or prevailing system to land tenure, the landlord has an advantage over other enterprisers, and also how the single tax would discourage speculation’.

Apparently, once Monopoly(R) was set to succeed, this original was bought out and buried for $500. Here’s some more links that seem to back that up…

MonopolyCollector.com says ‘the Landlord’s Game was very similar to Monopoly(R), with the purchase of properties, utilities, a public park square, and a ‘Go to jail’ square. Many feel Darrow just added items to this game and improved some features.’

This article and its second part provide lots more detail.

Here’s a description of ‘The Landlord’s Game’, and another.

The Spam Conference 2004

Spam: So, next Friday I’ll be in Cambridge, MA for the Spam Conference 2004, a one-day extravaganza of probabilistic classifiers, spam-bashing, and hopefully, some socializing too.

Anyone else planning to attend? If so, see you there!

Back to work you slackers

Funny: The staff of O2 Retail, Kennedy Road, Navan have set them up the foneblog, it appears, and are messing about… Why not give ’em a call? Looks like their number is +353 46 21803!

On the subject — Dervala on texting. I couldn’t get over the text frenzy that took place over New Year’s — I’d forgotten all about it in the few months I’d been away.

Some Good News, For Once

Food: So I’m reading Fast Food Nation, which looked well set to put me off burgers and beef products for life.

Then I get to the epilogue, and find a glowing write-up for In-N-Out Burger, our local chain; they provide healthcare for their workers, use quality-assured beef, and have received top marks in food quality and cleanliness for years! Hooray! And they even have a secret menu (although the 4×4 seems a bit Elvis, if you ask me).

Beef’s back on the menu!

Society: The Age: They are afraid, very afraid: ‘it would seem that terrorists have
succeeded in frightening a nation. They may be aided by several decades of over-reaction to the social malaise that is endemic to the poorer and disenfranchised parts of America. It seems that at least one generation has already grown up in the grip of largely irrational fears.’

Misc: some snippets:

Google-Flop: Self-Reinforcing Stupidity

Web: What’s the link between Debian Linux and Dueling Banjos? Any ideas? No? Well, according to Debian Weekly News of September 16th, 2003, it’s become what’s called a Google-flop:

No Dueling Banjos from Debian. Some of the most bizarre mails on debian-devel over the years have been repeated requests by various people for the sheet music for dueling banjos. Several list subscribers have been eager to assist the posters in their search. Jim Penny called this the Dueling Banjo Effect and explained that this has become a self-perpetuating Google-flop. People use Google which points them to Debian to get this sheet music, and the act of asking reinforces Google’s notion that Debian is a good place to get the music.

(thanks to Rick Moen for pointing this out on the ILUG list.)

Nicorette

Funny: Getting Even With Nicorettes (NYTimes): a very funny article about giving up smoking by taking up a full-time nicotine gum habit.

‘I’ll be at a party,’ he said, ‘and someone will say, `Oh, is that Nicorette?’ and I’ll say, `Yes, do you want some?’ They’ll say, `Oh, I don’t smoke,’ and I’ll say, `Try it anyway.’ There’s this excitement and curiosity, and then on about the fourth chew, this look comes over their face that says, `Oh God, why are you giving me lead?’

‘It’s like prank gum. It’s like going to kiss your grandmother and finding her tongue in your mouth.’

MS and GPL software

GNU: Let’s all be very nice and friendly for our latest convert to the GPL club, Microsoft. Hi, MS!

Degenatron!

Games: The DEGENATRON Archive and Gaming Page — amazing. The Degenatron is the games console advertised, and occasionally featuring in radio phone-ins as to the violent behaviour of ‘kids these days’ and the like, on the in-game radio stations in GTA:VC. This faked ‘homage’ page is perfect; right down to the animated rainbow horizontal-rule divider.

Be sure to check out the playable emulators! Smash the green dots inside the mysterious red square!