Pythonaro blog

15 June 2008

Italian Football Folklore: "il biscotto"

The "Biscotto" (literally "biscuit") is a central concept in Italian football. It's a sum of Italian attitudes towards football institutions, honesty, fair play, and "dietrologia" (the study of what might be hidden -- from "dietro", behind -- another very Italian concept). The term comes from an ice-cream brand, as you would expect from such a food-obsessed culture; specifically, an ice-cream surrounded by two biscuits. The biscuits don't touch each other, but squeeze the ice-cream between them -- exactly like two contenders that won't hit each other, but will manage to squeeze out a third party standing in their way.

For example, say that two teams have to play a match in a tournament, and there is only one possible result that will qualify both them to the next phase of the competition and eliminate a third party. They could make an agreement to make sure the "right" result comes out; that would be a classic "biscotto". Or say that two teams have to play at the end of a season, and one club hasn't got anything to play for, while the other needs the points to avoid relegation (hence condemning another team)... you get the idea. It's basically a combine where a third-party gets hurt.

The Italian football team has been (or it was perceived as being) on the wrong side of a "biscotto" several times in recent history, most infamously at Euro 2004 when Denmark and Sweden produced a 2-2 draw which qualified both Scandinavian nations and kicked out the "Azzurri". If you then consider the 2002 incident (when South-Korean hosts kicked out Italy in a match plagued by a terrible referee), and the penalty awarded in the first minutes of the 2006 World Cup final (on a dive by French player Malouda), you should be able to understand why the Italian press is currently running wild with suggestions of an upcoming "biscotto" between Romania and the Netherlands. The Oranje are already mathematically certain to be the group-winner, whereas Romania needs a victory to stay in second place and kick out France and Italy... something that Holland might like, considering as these two (currently troubled) teams usually become tough competitors in the final stages of a major competition.

The Italian people experienced a long history of political intrigue, stretching back all the way to Imperial Rome; we tend to see daggers hidden in every dark corner, secret agreements struck in the most worthless situations, puppeteers pulling strings in the smallest of everyday occasions. For centuries our political landscape was defined elsewhere, with Italian city-states acting as proxy for various European powers, all the way up to the Cold War. As a result, we tend to be a little too suspicious, and assign to others responsibilities that should really be ours.

If we really wanted to qualify, we should have won (or drawn) against the Netherlands, and won fair and square against Romania. Instead, our men played badly (especially in the first game), and our "lethal" strikers couldn't score even given massive amounts of chances (a defender had to step up and do it). They shouldn't have put themselves in that position in the first place. Once you get to depend on the whims of somebody who doesn't own anything to you, you can't complain about anything that might happen. Life is tough.

(This said, my money is on Romania to win. It's hard to kick old habits, I guess. And the actual ice-cream is fantastic, and so difficult to find in Manchester -- anybody that can send a box over here?)

Labels: , , , ,

posted by GiacomoL @ 1:27 PM   1 comments links to this post

02 June 2008

OSS development makes "surprising" users more difficult

Scenario: you have two competing products. One is fully developed "in the open" (online Trac, open mailing lists, etc); the other is 100% closed (main bugtracker/dev lists are "behind the firewall", no public nightly builds, etc). What does it happen when you introduce a new feature?

In the closed case, nobody will know. You can plan a big Steve-Jobs-like demo, or disseminate distracting rumours (and send competitors up the hills); as long as you can avoid leaks, you are in control.

With an "open" project, in a few minutes the word will be out. You can hide things in a wiki or a bugtracker, but version control checkins will "fess up" pretty fast (you could deliberately put in blank or disguised comments, but that would irremediably pollute your repository). Competitors will start efforts to match the feature, and your competitive advantage might be gone even before you had time to exploit it.

The element of surprise, with an open project, is not available. This might or might not be a big deal.

Personally, I'm finding it a bit of a nuisance, since I have a couple of new features in the pipeline for my little apps which, I hope, will be seen as fairly innovative for this sort of tools.

Labels: , , ,

posted by GiacomoL @ 10:45 AM   0 comments links to this post

22 June 2007

Linux reloaded

Linux users are fiddlers.

They like to poke stuff, prod around, fix this and that, curious like little monkeys. They can be extremely individualistic, never satisfied by someone else's solution, willing to customise the very last bit of everything.

That's why there's such a plethora of Linux "flavours" on the net: every taste is catered for by a niche community of fellow fiddlers. It's quite a rare event when one distribution emerges as a major player, calling to itself a wide number of sysadmins, developers, hobbyists and other variegated humanity. It's even rarer to see a not-for-profit enterprise gain and maintain such a high level of quality and success through the years, instead of waning and eventually fold or "sell out" to market forces.

Debian and Gentoo are two of a kind. Apparently very different in their approach to technical issues, they actually manage to channel their developers' and users' geeky enthusiasm in something bigger, thanks to explicit and implicit ideological premises which look much more similar than what their communities might think.Gentoo is the ultimate fiddlers' choice. The implicit philosophy is rooted in believing the user must have total and complete freedom with their software, without being obstructed by the distribution developers in any way. Absolutely everything is “tweakable”, as close to the metal as possible, as faithful to upstream sources as possible. You can rebuild an entire system literally from scratch, modifying every flag, every variable that you care of (and more) and still end up with a configuration which will (usually) allow for easy maintenance and upgrade; applications will look and work pretty much as their original developers intended, with very little distribution-specific glue.

The problem of this approach is that there is no opt-out. Very few packages have a pre-built binary, and even then switching between binary versions and regular ones is not really foolproof. This means long compilation times, and a more stressed hardware overall. The community is a bit more anarchic than the average bunch of Linux geeks (if possible) and efforts to institutionalise it resulted in alienating several key developers, and accusations of getting too close to the disparaged "political" model followed by Debian. The original founder moved on (to Microsoft, the enemy!), then dwindled back to find its child creature having changed too much for him to bear. It's not clear if Gentoo will "still matter" in a few years.

Debian started in a similar way (much earlier than Gentoo), but slowly settled on a very different philosophical stance. If Gentoo's credo is "as bare as possible", Debian wants to be "as perfect as possible"; Debian developers won't release sub-par solutions, systems that (might) fail to deliver, even when the alternative is to not release anything at all. They'd rather think something through, to come up with ideas which are rational and solid, than to introduce short-lived hacks that might, one day, wreck your system or embarrass the developers.

This philosophy produced what is currently regarded as the best software packaging system ever deployed (dpkg/APT), which manages to be both extremely simple for users to adopt, and extremely flexible for developers to customise. It also resulted in the biggest software repository ever maintained, with thousands of packages available for dozens of supported architectures, whose maintenance is an extremely challenging task by itself.

This also reflects in Debian's social stance, which is both more logical and radical than any other distribution. While Linux vendors will usually play in a very grey area, mixing commercial and not-for-profit interests (with very little safeguards for both parties), the original Debian community unapologetically chose to always guarantee the interests of not-for-profit initiatives (and the rights of end-users) over corporative greed.

While Linux communities usually favour informal structures and processes, Debian developers laid out a complex (and often Byzantine) system to guarantee that participation be open to everyone on a fair basis, and that solutions be transparently chosen in democratic ways.

The problem of this approach is that, in the very apolitical geek community, it can look very slow and "untidy". Lists and forums are prone to flame wars and politicisation, slowing the pace of development. Zealotry, that very human phenomenon which routinely appears as soon as social laws are drawn, runs wild in the non-technical elements of the community, sometimes forcing it to introduce unpopular changes (if extremely logical ad precise).

Recent examples of this behaviour include the year-long license "purge" (dozens of packages were removed from the repository or forced to explicit their license as GPL), the ABI migration (a change in the GCC compiler which required all packages to be rebuilt or modified, delaying release of the 3.0/"Sarge" release) and the fight with the Mozilla community (which, after becoming a corporation, challenged Debian's independence in handling their sources, to which Debian developers replied by ditching the official Firefox/Thunderbird names and logos in their builds, replacing them with ironic Iceweasel/Icedove counterparts -- a move, they say, which was then technically obligatory on legal grounds). These were all but uncommon events for Linux distributions, however only Debian managed to choose the most unpopular ways to resolve them... because they were, strictly speaking, the most radical and logical as well.

This "infrastructural" work (both legal and technical) allowed Debian to eventually emerge with two major releases in a relatively short frame, and a very good outlook for the future; while all distributions experience a shrink of efforts based on their codebase, Debian produced a spin-off that emerged as possibly the most popular distribution for non-geeks (Ubuntu), the revolutionary "LiveCD" approach (pioneered by Knoppix), and went on to become the de-facto standard for new efforts.


This post started with the idea of explaining why yesterday, on my laptop, I switched from using Gentoo back to Debian. Having experienced Gentoo for a year, I grew a bit tired of huge compilation sequences; moreover, the pace of changes and breakages in the "portage" package repository is currently very high. I used to rave for the latest and greatest version of each application, but now I find that 99% of my requirements are well catered for by year-old software. So I moved to Debian's stable release (4.0/"Etch"), whose rock-solid quality I already know. I used to run the unstable "Sid" branch, but I no longer need bleeding-edge stuff, neither need I heavily tweak a system in order to make my laptop devices work, which was the experience that had led me to Gentoo. I know that the Debian community is massive, and there are thousands of support resources on web and IRC, so I'm confident that, should I have a problem, somebody will know the solution already. And I know that I'm running software with a social purpose, to which I can contribute something back without feeling that I'm just being used for cheap labour.

Is this a sign that Linux is finally mature, stable, and ready for the masses? Or it's just that I'm getting old?

For sure, I’m still a fiddler; and that’s why I still run Linux.

Labels: , , ,

posted by GiacomoL @ 9:17 AM   0 comments links to this post