The Okayplayer take: Zidane...Materazzi...Fight!!!...Fatality...Sucka!

Here's why I love Okayplayer. Fuck the pundits. The best commentary on the Zidane/Materazzi incident is on those OKP boards. I don't know what M said to Z, and I'll be real: M got the class punk laugh as Z went to the principal's office to collect his whupping. But before that, M got served something proper. And the OKPs were into the Adobe Premiere with the quickness. My favorite new avatars come from the fellow demented.

And I said What? What does the Hexagon Honcho say to Zizou? He says "forget that shit, brah. You a gee." I guess what should I expect? The French were like "How many baby mamas you got, Mitterand? Never mind that shit. You a gee". Might not be the most upright attitude, but for my part, I'm a hell of a lot more concerned about hard core fascism dogging the game in places like Italy than I am bad-tempered blows from individual Figos and Zidanes. 'Nuff respect to the Azzuri on the field yesterday. They deserved their win, having slogged through three overtime elimination matches. If Materazzi did say something foul to Zizou, he got his looking like a crash test dummy. It's all even. Zizou wraps up his career with his street cred intact. Aw, man, I shouldn't say that. I'm a father of three...Naw, whatever. My kids better learn how to handle their own business. Zizou y va marquer...avec le tête aussi...

[Uche Ogbuji]

via Copia

Allez les bleus

I expected it to be Germany versus France, and since I'm an ardent ABI fan (anyone but Italy), I'm a bit annoyed at one half of the semi-final results. I do have to admit some awe at the Azzuri's ability to put out of their minds all the madness that has recently surrounded the game in their country. It's really hard not to be melted by Grosso's explosion of joy and relief after he scored his magnificent goal. It's also hard not to admire Cannavaro, who is several times over the most complete defender in this tournament (as Thuram was in 1998--no one was so spectacularly distinguished in 2002). I also have no sympathy for teams who bunker down to sit on a draw or one goal lead, so I concede the Germans deserved their fate for playing for penalty kicks. They did redeem themselves against Portugal with an effervescent offensive display.

France did their part, and after their slow start, they've been marvelous to watch. I do wish Henry showed more of his usual club side spark, and a dominant performance today would be not a moment too soon. Everyone else has already thrown every superlative in every dictionary at Zidane, and i have none to offer except to hope he takes the crown he deserves into retirement.

Italy are heavy favorites in almost every camp, but I see no such lopsided odds. For a start, let's not forget that no one gave France a chance against Brazil, either. I like the wise old men of France under the immense pressure of the biggest sporting final in the world. The country of Italy has three titles to France's one, but they are tied in the post-war era, and more importantly, this very France squad has experience of going all the way, while no one remains from Italy's victorious 1982 team. Experience counts as much as fitness in such a game. Also, Italy has faced plenty of off-field adversity, but France has had more to deal with on the pitch, and I wonder how Italy will respond if they do stumble and let in a goal. Buffon has been solid, but we've all seen his wilder moments at club level. Then again every other moment for Barthez is a wild one, and I still think Les Bleus could end up regretting picking him over the rock solid (though less experienced) Coupet.

We'll see, I guess. Here's hoping for bis mille neuf cent quatre-vingt dix-huit, including the drama, and the result.

[Uche Ogbuji]

via Copia

One more miserable commentator nugget

Who the frick is Nuno Gohmz? How did he sneak onto the field against Germany in the place of Nuno Gomes? Seriously, when Nuno Gomes scored the lovely diving header yesterday off a gorgeously shaped cross from Figo, the commentators went on and on about the goal by "Gohmz", pronounced to rhyme with English "homes". (For some reason it made me keep thinking "who is this Gormless Gohmz--remember Gormless Gordon from that old game "Mermaid Madness"?). JP Dellacamera started the "Gohmz" business, and I figured John Harkes just had to correct him. No. John Harkes went on with the same pronunciation in his comments. And through the rest of the game they mentioned the goal, and the mispronounced name over and over, making me wince each time. It was almost as if they were doing it on purpose to goad their detractors. Well, I'm well bloody goaded.

Never mind that it takes only a little familiarity with Portuguese names (and nicknames: Gomes is not actually his surname) to understand some general patterns of their pronunciation, and that there were three teams in this World Cup offering plenty of examples that would suggest anything bu an elision of that second "e". I suppose it's too much to expect for JP and John to have watched the Champions League, where Nuno Gomes played for Benfica, and had his name pronounced reasonably well by superior commentators. Or simpler yet, did they not have a pronunciation sheet provided by the mighty ABC? Surely ABC Sports/ESPN has a research department. Oh, I know: they're otherwise occupied hunting down all those useless stats posted up in a black box to obscure the actual game we tuned in to watch.

OK, so mispronouncing a name is a minor sin, and to be fair, UK commentators mispronounce non-Brit names all the time (and I think they often do so out of perversity rather than ignorance), but something about the mangling of "Gomes" really underscored for me the slovenliness of the commentators we've had to endure. With 83 comments, and counting, on my first complaint about those imbeciles, I know I'm far from alone in my frustration.

[Uche Ogbuji]

via Copia

Why Ruby doesn't interest me

Kudos to Ruby boosters for building awareness of the language. It's now truly inescapable. That's undoubtedly a good thing. The fewer languages-that-don't-suck people are aware of, the better. For my part, though I've never been the slightest bit interested. I've also not really had any occasion to express my non-interest. I have had colleagues push me hard to look at Ruby, and once or twice I've done so,. I've found that it's definitely a nice language, but not a big enough improvement over Python to be worth the effort, and just annoying enough in some ways to discourage me from making any extra effort to soak it in.

Today I ran across a Weblog posting with many points that echoed my attitude and I figured, what the hell, that's good for a "co-sign".

In "Why I Like Python more than Ruby" Mark Ramm writes:

Don’t get me wrong, I like Ruby. And it’s not particularly difficult to read. But the philosophy of the language designers led to design choices that emphasize writability over readability. And in that department I think the advantage has to go to Python. Python lists are easy to use, but more importantly I understood all of the list methods and how to use them in the matter of a few min. Perhaps Ruby’s arrays are more powerful that Python lists, but so far I’ve yet to find something that can be done in Ruby that can’t be done easily in Python.

As I think about it even the things people complain about in Python like the explicit self, or significant whitespace are designed to with readability in mind. [emphasis mine]

I think possibly the only Python complaint that really resonates with me is the raggedness of its scoping. Nested scopes and closures help, but there are still patchy spots (advantage Ruby, I hear, thanks to blocks). I'm sure I'm forgetting other Python annoyances, but oft-cited complaints such as the GIL, Unicode API, explicit self and significant whitespace don't bother me one bit.

In comments Karl Guertin says:

In order to get me to switch languages, I have to get some sort of big advantage to make up for the loss of expertise. As a long time Python programmer, I’ve never felt compelled to use Ruby. I’ve read through why’s guide and poked at Rails, but in the end I don’t come up with enough to merit a switch. I’m sure a number of Ruby programmers are in the same boat for Python, and I think that’s fine.

The languages I’m currently investigating (Concurrent Haskell, Erlang, Clean) provide strong concurrency support, which I believe is the next frontier of programming due to the upcoming multi-core machines. In the Python community, Stackless provides concurrency primitives though I don’t think it can take advantage of multiple cores. Is there a concurrency effort in Ruby? All the Ruby news I hear gets drowned out by Rails.

Yeah. Rails seems great as far as it goes, but I'm not even much for Web frameworks in Python, let alone deciding to switch language just to use a framework. I'd be just as likely to start loving Java because Eclipse is neat.

I'm by no means wedded to Python, but if I do make the switch away, it would be to a truly fresh language, not just an incremental change of view.

[Uche Ogbuji]

via Copia

Goliath [no spoilers]

Marcello Lippi says there's no longer such a thing as Goliath in world football. Oh yeah? Let's check out the last eight:

  • Germany
  • Argentina
  • Italy
  • Ukraine
  • England
  • Portugal
  • Brazil
  • France

Oh, no such thing as Goliath at all. Just the same old punters who keep winning the lottery. Does make you think of poor Uruguay's sitting with her lonely toes in La Plata wondering why she didn't get invited to the World Cup Champion's party.

I'm predicting Germany vs. France for the final, with Germany winning it.

[Uche Ogbuji]

via Copia

"Create vector graphics in the browser with SVG"

"Create vector graphics in the browser with SVG"

Subtitle: Add two-dimensional vector graphics to your Web pages with the flexible, XML graphics format of Scalable Vector Graphics (SVG) 1.1.
Synopsis: Learn step-by-step how to incorporate Scalable Vector Graphics (SVG) into Web pages using real browser examples. SVG 1.1, an XML language for describing two-dimensional vector graphics, provides a practical and flexible graphics format in XML, despite the language's verbosity. Several browsers recently completed or announced built-in SVG support.

I was early to SVG, exploring it in this 2001 article, but in recent years I haven't had as much time as I'd have liked to work with this fun technology. I was able to put it to use in projects last year, and I think it's good timing, considering recent inroads SVG has been making in browser and mobile spaces. I've been lucky to have much fewer problems than Eric has. Most of what I've tried just works, and does so in Firefox, Opera 9 and MSIE/Adobe SVG Viewer.

[Uche Ogbuji]

via Copia

XML metrics

Rick Jelliffe has been working on XML metrics for a while. As I reported in "Thinking XML: XMLOpen and more XML Hacks", discussing Rick's presentation at XMLOpen 2004:

Jelliffe's talk was actually about his experiences trying to come up with metrics of XML schema complexity. The idea was to get an index number to help estimate the difficulty of implementing processing tasks (such as creating an XSLT transform) for a vocabulary and the typical uses for the vocabulary. Jelliffe's formula was a count of element types, attributes, and various special cases of these measured either from a DTD or from one or more instance documents. While there was some discussion of the exact details of such measurements -- for example, the extent to which structured fields and controlled vocabularies within content complicated processing -- the general idea turned out to be one that others had considered and even implemented. I mentioned that at Fourthought, the consultancy where I practice, we have created a lightweight measure to estimate how hard it would be to develop an XML schema (in RELAX NG) given the outlines of a vocabulary needed by the client. It will be interesting to see whether the industry begins to come up with general measurements of XML language complexity, and even to standardize such measurements, perhaps along lines that are traceable to ISO standards for software quality.

Recently Rick published a series of Weblog postings on on the topic.

A commenter brought up GMX/V,

LISA OSCAR's latest standard GMX/V (Global Information management Metrics eXchange - Volume) has been approved and is going through its final public comment phase. GMX/V tackles the issue of word and character counts and how to exchange localization volume information via an XML vocabulary. GMX/V finally provides a verifiable, industry standard for word and character counts. GMX/V mandates XLIFF as the canonical form for word and character counts.

The main idea is to provide LOE and thus cost estimates for l10n efforts.

[Uche Ogbuji]

via Copia

"Whaddayamean 'racist'"? What indeed?

I figured my sour note on Aragonés would bring along some line-fudging, and I was right. A commenter said:

Hell, Spain and Europe are full of racist people, sure, but Aragonés is not one of them. Ask Samuel Etoo or any of the black players he had under his orders.
Calling someone "black" is being racist as much as calling someone "blonde" is being racist, and Aragonés said just that to Henry, black.

I understand where he's coming from, but unfortunately I think that like a lot of discussion of racism, whether by alleged victims or alleged perpetrators of the practice, it looks for unequivocal boundaries at the expense of common sense.

First of all my "lazy, thick nigger" bit came from Ron Atkinson, not Aragonés (remember I admitted I had no idea what the latter was saying during the sideline blow-up). In that celebrated case (I couldn't find the whole brouhaha all well explained in one place, but here's Wikipedia FWIW), the TV analyst abused Desailly with the unfortunate phrase when he thought he was off-air. My whole sour bit of dialogue was just one of those "eternal braids of football intrigue" I mentioned. Aragonés had popped off in similar fashion on Henry, probably when he thought no one else would hear him, and here he was playing France, their eternal nemesis, and land of Desailly-the-national-football hero. But do you know one of the things Atkinson said to claim his indiscretion didn't make him a racist? He pointed out that he as a manager (of West Bromwich Albion) was one of the first to employ black players, and that he'd always treated those players well. That rather puts ironic paid to the first defense of Aragonés in the above quote.

It brings me to mind of my cousin, now about to graduate from Med school in London. He was a brilliant footballer in high school. His team went so far in a national youth tournament as to play their finals at Wembley stadium. By his account, his coaches were quite kind to him, as far as football went, but had no patience for his academic ambitions. In effect they told him that a black kid like he was much better off pursuing his football talent than giving himself airs about becoming a doctor. Even his teachers exhorted him towards professional football. I'd readily admit those coaches and teachers were just offering kindly advice, but I expect it doesn't take a lot of pondering to realize that their attitudes were also racist. From what I hear, such cases are very common in England. Luckily for my cousin, his parents, typical immigrants, raised him to think better of exclusively pursuing anything that didn't come with a double-or-triple-barrel degree.

So back to Atkinson and Aragonés. They've probably in practice helped more black players than they've abused. Are they racists? That's a ridiculous question. You can't do a 10-billion person line-up and file into neat boxes who is or who is not a racist. We've all done and said racist things because discrimination is written into our very nature as a defense mechanism. It's actually a miracle of civilization (not only European civilization, BTW) that we are able to mingle together as much as we do with so little incident, relatively.

Movies such as Monsters Ball and Crash like to try stirring us up with the deep insight: "look: that terrible racist is really just human after all". I just roll my eyes every time. Is anyone under any deluded impression that persistent racists are some species apart? On the other extreme a movie like A Time to Kill sets up a scene where an audience is supposed to cheer that a KKK kook has been set on fire. The (mostly white) movie audience with whom I saw the movie happily obliged. I'll never forget that moment. I was astonished. I guess it's quotidian to assume that membership in the KKK warrants summary immolation? That's supposed to be better than the idea that interracial sex warrants lynching? In that movie theater it was obvious to me that those same unthinking passions (typically of a manipulated mob) is the instrument of genocide as surely as of comic book social justice.

Anyway, my point is that Aragonés may be a perfectly fine fellow, but that the Henry episode showed him in a very foul light, and his better nature should have prompted more contrition than he's ever shown. And never mind Aragonés. What of the Spanish FA? They know they are facing a deluge of football-related racism (a lot of it of the truly violent and terrifying sort, not just salty language from old men), and so how could their response be such a ludicrous slap on Aragonés' wrist? Aragonés' comment was be deeply offensive to some, and probably constituted incitement of some others, and the official response was far worse than the original offense. Speaking of incitement, I like many others believe that the Aragonés incident helped fuel the despicable treatment of black English players by the host Spanish crowd in a "friendly" a little while later (of course that's why I brought up Shaun Wright-Phillips, who was subjected to particular abuse). This shows how the wrong words in the wrong mouth can incite far worse than casual insult. Spain, Italy and Eastern Europe has atrocious racist incidents every week, such that it has become a commonplace. And the respective official associations have made it a routine to fine clubs $1000 here and there in supposed punishment. This is the real problem, not that Aragonés had a moment of poor judgment.

There is plenty of racism in England, but after some particular horrors in the 80s, I give the English FA, under--Oh the irony--huge pressure from Thatcher's government, much credit for cracking down with ruthless efficiency on the problem. For this reason, football is one of the areas where the English can be more confident of not encountering serious racism. There is precious little will to tackle the problem as thoroughly in too many other European countries. The problem goes all the way up to FIFA (have I mentioned how much I hate FIFA?). Just before the World Cup Sepp Blatter led a grandiose resolution that FIFA must use the power of football to "help make the world a better place". Of course taking action in some of the worse places is a bit too much of a reach beyond mere proclamation. In 2004 Blatter's response to the abuse of the English players in Spain was that he wouldn't have thought ill of the English team had they abandoned the game. Gee thanks sir. You're such a help. What of actually putting pressure on the Spanish FA to clean up its act? FIFA likes to argue in such instances that they're helpless to interfere in the internal concerns of a national FA. Right. But Blatter now has the bit in his teeth to prevail upon the FA to reduce the Premiership from 20 to 18 teams. Oh that's not interference in an national FA's matters. Whatever makes me think that?

And so I'll move to maybe the most interesting point in my correspondent's argument--that Aragonés just called Henry a "black shit". I think the implication meant is that so abusing a person is not racist. I've heard reasoning like this before, and again I wonder what's happened to common sense. The fact that calling someone "black" and calling someone a "shit" separately could possibly not be considered racist does not suddenly put a halo on the epithet "black shit". When Aragonés says "don't let that black shit beat you" it is precisely as racist as if he'd said "don't let that nigger beat you". Context is more important than precise words will ever be. Even if you've only seen what Aragonés says in print, the impact of the words should be obvious. If you actually see the tape, it's even more chilling. Sure, Aragonés is just trying to do what he can to get into Reyes' head. After all Reyes is Henry's club team-mate, and the coach has to make it clear to him that with the national strip on Henry is now the enemy. I get that. But in using the words he did, Aragonés was obviously trying to trigger a visceral response in Reyes to Henry's color. If Henry had been white he wouldn't have said "don't let that white shit beat you", because he wouldn't have expected the fact that Henry was white to have meant anything to Reyes. Explanations that Aragonés was just using salty language to motivate are so self-servingly simplistic that I think they're disingenuous.

[Uche Ogbuji]

via Copia

"Tip: Rescue terrible HTML with TagSoup"

Well, since I've so emphatically broken my Weblogging pause for The Cup, I'd better post some professional items.

"Tip: Rescue terrible HTML with TagSoup"

Subtitle: Turn poorly formed HTML into valid XHTML
Synopsis: XHTML is a friendly enough format for parsing and screen-scraping, but the Web still has a lot of messy HTML out there. In this tip Uche Ogbuji demonstrates the use of TagSoup to turn just about any HTML into neat XHTML.

TagSoup is very handy. EVen though it's a Java project I put it to use from Python code fairly often. It also recently went full 1.0.

[Uche Ogbuji]

via Copia

Create-a-caption:Argonés vs. Vieira [spoilers for France vs. Spain]

I have no idea what the Spanish coach and French midfielder were yelling to each other in the 73rd minute (well, Aragonés was yelling, Vieira was talking/gesturing), but I couldn't help imagining:

Aragonés: Damn you lazy, thick nigger!
Vieira: Calm down, man. Desailly doesn't play for us anymore.
Aragonés: Oh, a wise guy? I'll have a pop at you, you... [referee orders him to the bench]

Is that rude of me? Defamatory, even? Well, people who know of several unfortunate recent incidents in football know well that actual events are far worse than any cynical concoction. I just borrowed from history's own script.

I believe I'm barely sensitive to racism, but it does gall me that the systematic football-related nastiness in Spain, Italy and Eastern Europe is so mildly handled by venal FIFA while the occasional shirt-tug is considered a stain on the very integrity of the game. Just ask Sean Wright-Phillips whether he'd rather get his shirt tugged or handed the Spanish mob treatment.

BTW, Henry is my favorite player, but I thought it was despicable for him to pretend that Puyol had elbowed him in the face. That should probably not even have been a foul that led to Vieira's headed goal. Shades of the Champion's league final where Eboué dove to set up the free kick that led to Campbell's headed goal. Arsenal and Barça in an eternal braid of football intrigue, I guess.

[Uche Ogbuji]

via Copia