Search Results: "evo"

25 September 2007

Masayuki Hatta: ghostscript 8.61.dfsg.1~svn8187-1 uploaded

So, brand-new packages are now in the NEW queue. Sorry it took soooo long time(my life has been hectic these days). I guess it might take another long time to make them entered into the archive, so I give you some apt-line:
deb http://people.debian.org/~mhatta/debian/ghostscript/ ./
deb-src http://people.debian.org/~mhatta/debian/ghostscript/ ./
Tell me if something goes wrong in the process of transition. One of the reason I was reluctant to upload them (while Ubuntu has already did almost 2 month ago) was, the CJKV support in GPL Ghostscript 8.60 is notably regressed from the level of ESP Ghostscript 8.15.1. Seems Till Kamppeter once merged some key CJKV patches into the mainline SVN repository, but later they were revoked. Until recently, I didn't realize why Till used a rather peculiar old SVN snapshot 8187 for Ubuntu (the current SVN revision is something like 8249), but now it's clear for me. I could choose to apply those revoked patches to the 8.60 source by myself, but as you might know I'm a lazy bastard, so I simply follow the Ubuntu path, with some Debian-specific tweaks. Well, let's hope this issue will be fixed before the official 8.61 is released...or I'll try, hopefully.

Tag this post with del.icio.us!

19 September 2007

Romain Francoise: In an expression of the inexpressible

One year ago today:
FOR IMMEDIATE RELEASE

19th September, 2006 -- Dunc-Tank.org is pleased to announce its first fund-raising experiment: collecting donations to help Debian GNU/Linux 4.0, codenamed etch, be released on schedule on the 4th of December, 2006.

Dunc-Tank.org aims to support Debian's efforts to meet its release schedule for etch by financially supporting the volunteers working on managing the release process, allowing them to devote their full attention to that task. [...]

15 September 2007

MJ Ray: Spammers: Total Language Solutions Limited

My personal email account was spammed by Jennifer Kirkham-Sandy (Phone 0800 6 121 151) of Total Language Solutions Limited, 3 The Courtyard, New North Road, Exeter EX4 4EP, Devon. Registered number (England and Wales) at the above address: 03933805. They seemed to be using a service called qwertywordmarketing. I've reported it to the hosting company, so we'll see what happens.

14 September 2007

Simon Richter: "Free" markets

Over in alt.anarchism rages a discussion on the "efficiency" of markets, mostly circling around the medical sector as an extreme example (lots of government interference). Since this is Usenet, we haven't found consensus on the definition of a free market yet. The definition I learned in school was that free markets are fully transparent, i.e. buyers and sellers both have the necessary knowledge to determine a product's quality and are aware of the other market participants. The proponents of anarcho-capitalism contend that a free market is one that is devoid of regulation. These definitions are pretty much opposites in highly specialised fields (such as medicine), as patients usually lack the expertise to recognise "quality", so market regulations are established to promote transparency and establish a free market. So, which definition were you taught? Update: corrected the name of the group.

12 September 2007

Uwe Hermann: I'm now getting Green Energy via Lichtblick

Since a few days I'm a happy customer of Lichtblick, the biggest electric utility (Stromanbieter) in Germany which provides 100% green energy (or kostrom as it's called in Germany). Why? I was getting tired of all those hypocrites and liars (a.k.a. politicians) who keep on talking about global warming and renewable energy, but fail to produce any real results since many, many years now. So I decided to do my (small) part to help reduce CO2 emissions, the greenhouse effect, and global warming. After measuring the energy consumption of all my power-sucking devices and replacing or turning off some of them, and after replacing all lightbulbs with highly efficient energy saving lightbulbs, changing the electric utility was the next logical step. First try (failed) As probably almost everyone in Munich, I was a customer of the Stadtwerke M nchen (SWM). According to the last electricity bill I got from them, their sources of energy are: 17% renewable energy, 83% fossil energy sources, 0% nuclear power. Well, at least they don't use nuclear power, that's a big plus IMO, but 83% polluting, fossil crap? Thanks, but no thanks. So I opted to use their kostrom M-Natur tariff, which (they claim) provides 100% renewable energy. They use the so-called Aufpreismodell (sorry, German only), i.e. you pay a few cents extra per kWh, and this extra money is invested in renewable energy sources (mostly small hydropower plants around Munich). As I found out a few hours later (d'oh!) this "Aufpreismodell" is not really ideal (you still pay a conventional electric utility instead of one with 100% renewable energy, for instance). In addition, I stubled over a petition for the city of Munich to stop investing in a new fossil fuel power plant (bituminous coal, to be more precise). Which I promptly signed (and which went to several local parties including the greens, the mayer of Munich, and others).
Now, this is what I call hypocritical behaviour — on the one side they claim/pretend to be environmentally friendly by promoting their "M-Natur" tariff, and at the same time they invest even more money in fossil fuels? WTF? Anyway, it seems the petition did have at least some impact, the aren't allowed to invest more money into that fossil fuel powerplant than they already did. For me that was more than enough reason to immediately revoke my M-Natur tariff, and what's more, I switched to a completely different company now, Lichtblick (see also the respective Wikipedia page). I'm not willing to support such energy policies/politics with my money anymore. Lichblick Lichtblick is an kostromanbieter in Germany, supposedly the biggest one.
Their "energy mix" is 100% renewable energy (which is correct, unlike with SWM, as they do not own any additional fossil fuel plants). 76% of that is hydropower, FWIW. Their prices may be a bit higher than those of conventional electric utilities, but not all that much; you might even pay less, depending on where you live and which tariff you have now. You can use their price calculator to find out. Btw, some other good choices in Germany are Greenpeace energy, Elektrizit tswerke Sch nau, and Naturstrom AG. How the switch went Easy. Grab the respective PDF, print it, fill in the required info, and send it to them. Alternatively, they also offer online registration. It'll take a few weeks until the switch is performed; they have to contact your current electric utility etc. In my case it took ca. 4 weeks. There are no additional costs for switching. There is no "downtime" whatsoever (not even a few seconds), German law requires that you always reliably get your electricity 24/7 (and it indeed worked just fine for me). So, that's that. From now on I'm happily using green energy all day (and night) long. I'm doing my part in Saving The Planet (tm) and I sleep a bit better at night... P.S. No, I'm not getting paid by Lichtblick (or anybody else) to write this.

9 September 2007

Biella Coleman: The King of Kong: A Fistful of Quarters

I spent much of my early childhood at the video arcade. I was fortunate enough to have a best friend who 1) Lived in the old quarters of San Juan where you could walk everywhere 2) Had three older teenage sisters who would take us when we were still quite young to the arcade, which also doubled as a fantastic ice-cream parlor. My favorite game there was galaga, and I played it incessantly (and had to use a foot stool too!!) As a result of all that childhood gaming, I am still pretty half decent at it. For example, I more often than not beat my partner (except under less than auspicious conditions, like being sleep deprived), which is pretty unbelievable as he is much more of a video game wizard than I and otherwise beats me in everything.
Back in my first year in grad school, a cohort of us would play Galaga after our large theory class, and I would also always win (and by a lot and then get crushed at foosball). So of course when I heard that there was a documentary on the very genre of arcade games that consumed so much of my early childhood, King of Kong and a movie that was rumored to leave you at the edge of your seat (which seemed like an impossibility to me), I decided to fork over the cash and check it out in the movie theatre last night. And it was well worth every penny. The movie somehow managed to capture a story and set of subjective experiences that I think are incredibly hard to portray via film: the individual and social intimacy that comes with machine interaction. The story lines revolves around two very different characters who are masters at conquering one of the hardest video games in the world, Donkey Kong and are trying to clinch the world record. The tale of rivalry between them is really good in and of itself and probably without this drama, the movie would have not worked. But what I also found amazing was how the movie conveyed the persistence of the (older) game. They live on in the lives of individuals and collectives, despite the rise of a whole, new class of games that are much more popular today. I am not sure how much longer they will live on, or if the movie was also inadvertently portraying the rise and slow decline of an era that will, in another 50 years, become part of the archive of dead history. Whatever the case, if you had a loving relationship with these games (or your friends or parents did), check out the movie. It really has some incredible footage and moments and will make you want to run to that old arcade, once again.

4 September 2007

Romain Francoise: Shared links for 2007-09-04

31 August 2007

Ross Burton: Evolution Lovers and Haters

Evolution (the email client, not the theory) really seems to bring out extreme emotions in its users.
RP: pgc: I'm with you, I hate evolution
dodji: yay
dodji: evo haters fanclub
chris: I also hate Evo, but everyone here loves it and wants to have its babies
ross: I've had evo's babies
chris: ross: I bet there were random duplicates
Poor Evolution. NP: Directions LP, Acroplane

30 August 2007

Theodore Ts'o: On the benevolent dictator model

Recently, Josh Berkus blogged about The Myth of the Benevolent Dictator. In it he complained about people who try to posit that a benevolent dictator was "an unalloyed asset" to their project, and that there were many successful and valid forms project governance other than the singleton project leader. Furthermore, he argues that the best way is to form a community, and then ends by suggesting that people who say "dictatorship good" is really saying "democracy bad", and perhaps the motives of the person using that argument should be questioned.

Given that I was one of the first people (and probably the first person) to use that phrase to describe Linus's governance model, obviously I feet the need to respond to his thoughts on the matter.

First of all, the term "benevolent dictator" comes from an old saying, "the best form of government is the benevolent dictator --- there's only one problem, finding the benevolent dictator"[1]. And in my presentations where I explained the Linux project management model, I was always careful to say that there were other models that were used by other projects, and that it was interesting to study why certain management models worked for some projects but not others.

So by definition, if a project is successful with a single project leader ultimately responsible for making decisions to settle conflicts, then that leader is a "benevolent dictator"; if they aren't successful, then that would be an example of a dictator who wasn't able to be "benevolent", eh? :-)

In all seriousness, though, I agree with Josh when he says that the key part of an open source project being successful is gathering together a healthy community. But let's unpack that a little. In order for a community to be healthy, there needs to be general consensus on the values and cultural norms for that community. So for example, in the case of Debian, which Josh holds up as a successful community, not everyone has the ability to vote; you have to pass a fairly stringent process which tests your technical skills and your willingness to subscribe to Debian's core values as embedded to the Debian Social Contract. People who do not pass the New Membership process do not have the right to vote in Debian, even if they are the most rabid, fanatical users of Debian.

This brings up a key point about governance analogies; they all don't map cleanly into the real world for two closely related and extremely important reasons: (1) No one has a fundamental human right to be a member in some OSS project, and (2) No one is forced to stay in a particular OSS project. These are really two sides of the same coin, and what it means is that, as in Debian, "democracy" does not mean that everyone is entitled to political franchise, or the right to vote, and in a project which has a "benevolent dictator", the powers of the dictator is fundamentally limited by the simple fact that if he is too unreasonable, people are always free to leave or fork the project. These differences are extremely important when trying to reason about "democracy" or "dictatorship" as being good or bad as applied to open source projects.

Democracy is rarely the best way for an open source project to make decisions. For technical issues, you want the right answer, and majority vote isn't necessarily way to resolve a technical issue. As far as policy decisions, if the decision can not be made by consensus, then some percentage of the community will be unhappy with how the decision, and that can cause a huge amount of arguments and dissension. If the community has very clearly expressed values, then the number of times where such votes need to be made will be minimal.

For example, Debian has an explicit declaration of its values and mission in its Debian Social Contract; people who don't agree to the Social Contract aren't allowed to become Debian Developers and thus are not allowed to vote. But, one of the more controversial disputes that have threatened to tear apart Debian is the question of the non-free packages, and that's fundamentally because of an ambiguity in the Social Contract. On the one hand, Debian has declared that it is fundamentally 100% about Free Software, to the extent that it has adopted Richard Stallman's rather petulant request that the Linux operating system be called GNU/Linux (which admittedly is better than Lignux.) On the other hand, the Social Contract also explicitly specifies the existent of the non-free section in the distribution. Over time, this ambiguity have been the source of a lot of highly passionate debate and controversial votes that have satisfied neither the FSF fanatics nor the more Linux-like moderate position tolerating the use of proprietary as well as open source software. I submit that if Debian had either explicitly stated an FSF-centric position, and only accepted members that supported point of view, or explicitly subscribed to a position that users should be able to use whatever software they feel meets their needs, as Ubuntu has, it would avoided many arguments that have threatened to tear apart Debian.

More recently the fact that the Social Contract has been silent about whether or not Debian Developers should be paid or purely be 100% volunteer. This was never an issue in the Linux Kernel community, but for some reason it has been a highly divisive and disruptive issue inside Debian. Democratic votes have not really resolved the conflicts, and in fact some might claim that these votes have if anything hardened various Debian Developers' positions.

Going back to Josh's final point, "Next time you hear the words 'benevolent dictator' you probably want to think about the motives of the person saying it. Because the corollary to 'dictator good' is 'democracy bad', and is that a place you really want to go?", I am quite proud to stand by my convictions that for Open Source Projects, pure democracy is a bad idea. If a projects wants to be technically successful, it needs to be a meritocracy, and chose the best technical decisions; Linus does not decide by abiding with majority vote whether or not a patch should be accepted, and that's as it should be.

Even Debian's "raw democracy" doesn't let any random luser get to vote on who should be the Debian Project Leader. Decisions need to be made by people who are competent to make a valid choice. Even in real life, one could argue that the choice made by Americans, over of which 70% believed that Saddam Hussein was "very likely" or "somewhat likely" to be personally involved with the 9/11 attacks even though there has been absolutely no evidence to support this "gut feeling", made a rather disastrous choice in voting to re-elect George Bush to the presidency. Democracy without sufficient education, literacy, and intellectual curiosity to learn about what is happening in the world can result in truly disastrous choices being made. So certainly, democracy is not a panacea. In the real world, it may be the best choice of many bad choices, given how much people have suffered under military dictatorships. However, in the Open Source world, things are different because people are always free to leave one project and affiliate with another --- not an alternative most people living in dictatorships have historically had. Given these key differences, I think it is clear that for open source projects, democracy is indeed often a bad idea, and that if you if a project has a single person with a strong technical vision and good interpersonal skills, the benevolent dictator model can indeed be a very viable and successful.

Does that mean that other forms of governance can't work? Of course not! The rotating dictatorship used by Perl[2], the core-team-with-strongarm leader used by OpenBSD, the corporate dominated scheme of MySQL, the self-selecting core team model of Samba, all are successful models. I just have to strongly disagree with Josh's claim the single strong leader approach is somehow inferior to "democracy" as if democracy was somehow a magic bullet.


[1] For am early example of this quote, nine years ago, please see this message, where I'm pretty sure I authored the colon prefixed quote, and I know I was using the term "benevolent dictator" much earlier than 1998.

[2] In the early days of Perl, it also used the benevolent dictator model. Larry Wall is a great exemplar of how someone who has a strong vision of what he wanted to accomplish, and was humble and easy to work with, both on-line and in person, can make all the difference in the world for an up-and-coming open source project.

29 August 2007

David Nusinow: Maybe It's Better If You Just Like Bending Over

Josh Berkus is the man.

28 August 2007

Biella Coleman: Conversing about Open Access

Karl Fogel’s recent comment asking why Samir Chopra and Scott Dexter did not publish Decoding Liberation with some sort of open licenses, especially since they are such unabashed advocates of open licensing, spurred a flurry of further comments from the authors on my blog as well as some more thought out blog posts and commentary. I don’t have too much to add except perhaps to state the obvious: the economics of book publishing and software are quite distinct creatures. When it comes to software, one can pull in revenue from support and services, while this is pretty much impossible for most books. Software also has a much shorter shelf life, which is why making it open access, fast, is key. Books however have a longer shelf life, which is why I am personally not opposed to some sort of limited copyright for books (around 5 years, give or take a couple) so that publishers can recoup their costs (and in academic publishing, no one is making a bundle of money, that is sure) but then it should be made free to the world, never to die that awful death of “out of print” (in so far as it can be thrown on the web, legally). Journal publishing is another matter and I firmly believe that articles should spread far and wide and quick because of their shorter shelf life, which tends to be shorter mostly because there are just so many articles… As Alex Golub has informed us, my own professional association has really failed not only in providing more open access journals, they are not even allowing the members of the organization any say in the matter. But thankfully other disciplines and academics are taking open access and the possibilities afforded by new media a little more seriously and here is an edited volume by CT Watch Quarterly The Coming Revolution in Scholarly Communications & Cyberinfrastructure that provides an important node in what is an important conversation.

26 August 2007

Biella Coleman: The problem with presentism

A few days ago, Joe Reagle was telling me about the rise of (sometimes very arcane) policies and bureaucratic imperatives that now characterize Wikipedia. A few days later I stumbled across a few interesting posts on the topic, posts (especially Nick Carr’s) seeping with almost celebratory gloom and doom:
‘But, given human nature, is it really so “incredible” that Wikipedia has evolved as it has? Although writers like Yochai Benkler have presented Wikipedia as an example of how widescale, volunteer-based “social production” on the Internet can exist outside hierarchical management structures, the reality is very different. As Wikipedia has grown, it has developed a bureaucracy that is remarkable not only for the intricacies of its hierarchy but for the breadth and complexity of its rules. The reason Deletionism has triumphed so decisively over Inclusionism is pretty simple: It’s because Deletionism provides a path toward ever more elaborate schemes of rule-making - with no end - and that’s the path that people prefer, at least when they become members of a large group. The development of Wikipedia’s organization provides a benign case study in the political malignancy of crowds.”
It is without question that a problem has arisen in Wikipedia, a problem composed of a thick web and net of rules that can be helpful as guidelines but often are often confusing and clearly work to ensnarl new users. But can we so quickly put blame on so-called human nature? Or is it not a problem of human organization, which as the anthropological and sociological record shows, can take many forms? And is it not just that: a problem begging for a solution instead of an opportunity to declare the fundamental nature of wikipedia (and that of human nature?). Not only may history prove him wrong, other large scale collaborative projects at least prove that solutions can be found to deal with problems of growth and scale. It is as if Carr just wants to see a project like Wikipedia fail, which somehow, this morning hit a raw nerve. What I find exciting about large scale projects of (at times unwieldy) collaboration are not just the explicit outputs of the projects (an encyclopedia or operating system) but the social worlds they create. And there is no inevitable path they *must* follow. These groups have a choice to react to and respond to these sort of problems and enact solutions that will hopefully solve them and allow these projects to change. Debian, a slightly older project than Wikipedia, has gone through many growing pains and there was even a period when the the whole process of integrating new Debian developers was shut down and if my memory serves me correctly, for 2 years! At the time, it could have been possible to say: “This signals the end of Debian” but eventually a solution was found, the New Maintainer process, which while not perfect (what is?) allowed the project to grow and produce a great operating system for years to come. Debian today faces new problems and is working to find solutions. I hope that Wikipedia can and will do the same. And instead of declaring its death, why not wait and see, and offer something a little more constructive and illuminating, than destructive?

25 August 2007

Gustavo R. Montesino: SoC Final Report

The Google Summer of Code coding period has ended earlier this week, so it seems to be a good time to stop and look what was done (and what wasn't). Let's start with an objective analysis, following the list of planned features:

Advanced query of bugs on the Debian BTS

In a 1-10 scale, I would give myself something like 6 or 7 here. bug-triage can query bugs by number, source package, package, maintainer and submitter. These parameters can be combined to make an query (reports must match all parameters) and more than one query may be added, subtracted and and'ed. A clearly missing feature is querying by usertag, support for it has been added on btsutils already and is just a question of adding a new input box on the query builder dialog (it should work if you enter the query manually in the bug-triage query line AFAICT).

Show all the information related to a bug report

bug-triage has a "goto" button which opens the bug in the user's preferred browser. Missing is the support to open the bug in a MUA, which I have promissed to Lo c.

Send additional information to a bug report

bug-triage has a "followup" button which opens the user's MUA with the right address. Maybe setting the subject would be nice...

Manipulate the tags of a bug report

I haven't had time to implement this at all. I've started it, the bugs have a context-sensitive menu which have each of the available tags as checkboxes on the right current status, but clicking on them does nothing currently.

Search for similar bugs in upstream developer BTS

This one would value something like 3 or 4 in a 1-10 scale. It searches upstream bugzillas by product and component, but doesn't do any cool trick like searching words in the bug subjects. The plus is that it does support KDE bugzilla, even though I haven't been brave enough to promisse it before SoC :P

Forward a bug report to the upstream developer BTS

There isn't really a good interface to report bugs programatically on GNOME bugzilla, which was disappointing. <rant>There is the bug-buddy xmlrpc(?) interface, but the developers say they will actively break anything using it, which I find very free-software-unlike.</rant>. The current bug-triage solution opens a browser with some of the fields filled. It would be nice to fill the full bug description, but its limited by the maximum size of an URL, so it fills only an introductory text (something like This bug was filled on Debian BTS #XXX) currently. Let's hope bugzilla 3 get on the GNOME world soon.

Conclusions

Unfortunately, this project hasn't evolved as much as I would like in the second half of the GSoC. As I said elsewhere, a lot of stuff has happened, some good, some bad, but on the end everything I hadn't been able to dedicate myself to anything I should. Even so, I think the project may be considered sucessful.

Maybe the more interesting product of this project, at least currently, is still on python-btsutils. As I said in the middle-term report, it'll be integrated in the debian_bundle soon, and might be powering important stuff like the devscripts in the future.

The bug-triage application has a lot to evolve yet, but is also an interesting tool IMHO. There are a lot of hurdles in the way to get different BTSes integrated, but the effort will for sure pay in the future. I plan to keep developing it (evon though keeping the GSoC pace is impossible) and am anxious to see the results ;)

Finally, as I said before, one of the main things on GSoC for me was the potential to learn cool stuff. The best choice I've made during all of this was to use Python. Even though it's still a new language for me, and i still have to search embarassingly simple things in the tutorial/reference, it was a lot more productive than if I was developing in C. Learning to use git was also a great. This goal was the more fulfilled one, I've really learnt a lot of things which will surely be useful in the future. BTOH, I still can't get used to glade :/

24 August 2007

Simon Richter: componentization tutorial #1: understanding what we are trying to do

This is the first post of a series on componentization, starting with a brief explanation of the problem(s) we are trying to solve. I expect some familiarity with programming in general, but no specific knowledge of any particular system; the terms "DLL" and "shared library" are used interchangeably. When you are writing a DLL, you are essentially committing to support whatever interface you are exporting forever. So it better be good on the first try. DLL hell is what happens if it was not good, and you end up making an incompatible change. The obvious way an interface can be "not good" is when you need to touch the header files that define it in order to implement some new functionality. You can get away with a few things, like the addition of new functions, if you can somehow make sure that users will always have a recent enough version of your DLL around, but in general any change to the interface is going to be incompatible. The traditional Unix way of solving the issue has been renaming the library. When you link a program against a shared library on a system that uses the ELF format, the linker looks inside the library for the SONAME field, which tells it what name the library wants to be known under, and the program will then attempt to load this file at startup (which usually is a symlink to the latest compatible version). This "official" name of the library usually contains a number (sometimes more than one), and when there is an incompatible change, you simply change that number, and the new version of the library can be installed in parallel with the old. There are additional mechanisms, like symbol versioning support, that allow a single library to provide different "versions" of exported functions, and have the program specify the desired version for each symbol. To run a system like this, one generally needs to keep track of programs' dependencies; this generally happens in the package manager with more (Debian) or less (Red Hat) support from package build scripts. If you built your system from scratch, you end up doing this work yourself. That's why you had highly paid system administrators in the old days, and very short shell scripts to replace them (with various degrees of success) in the current age. In the Windows world, things have been a bit different, because except in large installations, you generally do not have a clueful, benevolent system administrator who will take care of these things; rather, you have users that expect your software to work without having an insight into the inner workings. In general, software developers have not been taking chances and simply shipped all the DLLs they needed along with the main program. When they installed these DLLs into the same directory as the program, things were fine, if they installed them into the WINDOWS directory, not so much, because when you had two conflicting versions of the same DLL, you had to decide which one to keep, and a program that would only work with the one that you threw away would simply fail in curious and interesting ways. This is the original definition of DLL hell — you cannot do it right. To make matters worse, this is not the only way an interface could change. When you define a platform, you write up an "Application Binary Interface" (ABI) document that details conventions that should be followed; for example, the ARM processor does not have a dedicated stack pointer register, so the ABI document for Linux on ARM says that R13 is to be used as a stack pointer, functions may thus expect it to point to memory that is readable and writeable, and memory with an address lower than the stack pointer is considered "free". When the function is done, it is supposed to jump to the address in R14, which happens to be the register the ARM's "Branch with Link" instruction sets to the address of the instruction following it. If the function takes arguments, the ABI says where to find them, and if it returns a value, it also tells where to place that. For everything not in the ABI document, the compiler author gets to choose. The ABI document usually attempts to be rather minimal, so it defines how C functions are to be called, and calls it a day. Anything not in the C standard is not guaranteed to work between different compilers (or even different versions of the same compiler). That includes C language extensions such as the "long double" data type, language features in C++ and Java such as namespaces, nested types and exceptions, and the data structures used by the C library's malloc() function. The latter makes life difficult even for pure C programmers, as it disallows releasing memory from a different module than the one it was allocated in, because the different modules may link to different C libraries. In essence, this means you are not supposed to export anything from a DLL that is not a C function, and even then, there are additional requirements. You could in theory export data objects, but that is discouraged, as it exposes an implementation detail. Now, we're in a bit of a dilemma here. There is lots of interesting code out there that is not necessarily written in C, we'd like to reuse it and we don't want stuff to break. The Linux approach so far has been "we simply pretend the problem does not exist", and this has been working to a large extent, simply because everyone uses gcc, and when the ABI extensions the gcc people had made changed, recompiling everything that uses these extensions makes the problem go away. This has several drawbacks. For one, it mandates that the tools used to rebuild everything and keep the installation consistent be written in C or handle the transition gracefully (for the curious who have a Debian system handy: look at libapt-pkg's SONAME), and it also requires that we have the full source code for everything not just available but buildable in an automated way. Within the context of a Linux distribution, both of these are true, so we have survived the last major ABI transitions without too many losses. So we need an extension of the ABI document that specifies how modules written by different people and compiled with different compilers can interact. These are commonly called component models, and, to quote Andrew Tanenbaum, "[t]he good thing about standards is that there are so many to choose from". Next: "componentization tutorial #2: CORBA and COM"

21 August 2007

Rapha&#235;l Hertzog: Deprecating cvs.debian.org in favor of Alioth

It’s very difficult to discuss with DSA and make things evolve if none of the DSA member express an interest in something related to your goal: here comes an example of a story like another in my desperate quest to try to help the DSA team. :-) Last time gluck ran out of space, a few non-DSA people (me, taggart, Ganneff, and others I might have forgotten) contacted people to ask them to clean their home directories. Following that discussion we discussed a bit about the opportunity to move some services from gluck on another host. Among the services on gluck, there’s cvs.debian.org. As an Alioth administrator, it struck me that cvs.debian.org is the only VCS service that’s handled by the DSA team. It seems logical to not duplicate the administrative work and have all the VCS repositories handled by the same team. The logical conclusion is that cvs.debian.org should be deprecated in favor of Alioth. So I made the suggestion in RT ticket #146 (login with guest/readonly). I got exactly zero response from DSA. No support and no opposition. So I went ahead and contacted the last users of cvs.debian.org: All in all, the debian-doc and debian-www folks are rather supportive of the move, but it requires adjustment to the build infrastructure, in particular to keep track of the status of translations. I have no answer from DSA and the buildd guys however. The web team started a wiki page to evaluate the VCS that they would switch to. Volunteers would be welcome to organize the conversion of the repositories and to fix the build infrastructure accordingly. This a nice little project for new contributors that want to learn. :-)

Theodore Ts'o: Thoughts about the Palm Foleo

I looked at the Foleo and played with one while I was at Linux World a few weeks ago, but it is so restrictive in what it can do that I was completely unimpressed. First of all, according to one of the people at the booth, it will only work with a select set of Treo's; mostly the newer ones. A colleague I was with had just gotten a Treo 650, and the person at the booth said that it wouldn't work with that model of Treo. (WTF?) Furthermore, it will only do e-mail (POP or IMAP) by linking with the Treo over bluetooth connection and letting the Treo pull down the e-mail and store it on the Treo. Given that it only has 128 megs of RAM and 256 megs of Flash, it just doesn't have enough storage apparently to run a stand-alone e-mail application, which is a little bit scary. The limited amount of memory is probably why it is using Opera as a web browser, which previous experience on the N800 has largely unimpressed me in terms of compatibility with Web 2.0 sites that aggressively use AJAX or flash. So OK, it's not supposed to be a laptop. But the problem is, for 0.2 pounds more, I can get a laptop. Let's review the critical statistics, shall we? The Foleo costs $499, weighs 2.5 pounds, and has a size of 10.5" by 6.7" by 0.9". As stated before it has 128 megs of RAM and 256 megs of flash, with a SD slot for expansion purposes, and it has a claimed 5-6 hours of battery life. But let's compare that with my IBM X41 which I recently purchased off of eBay for $800. It has 1.5 gigs of memory, and 60 gigs of hard disk. It has two batteries; with the 4 cell battery it weighs 2.7 pounds and delivers 2 hours of battery life, and with the 8 cell battery it weighs 3.2 pounds and delivers 4 hours of battery life. So true, even with the 8 cell battery the X41 is 1.7 pounds heavier and still has slightly less battery life. But you can do a lot more with the X41! Furthermore, the Foleo's weight advantage is somewhat nullified by the fact that you have to bring the Treo around to do certain activities, and the Treo has to be powered on since the Foleo is mostly designed around being a remote large screen for the Treo. At the end of the day it's all about tradeoffs. Perhaps if enough companies created enough killer apps that could fit in 128 meg of ram for the Foleo, it might be useful enough to justifying buying it. I hear for example, that even though the Foleo doesn't have any kind of PIM functionality, a 3rd party ISV is planning on making a product available that will provide calendar and contact functionality that can sync Palm PDA's. No word on how much it will cost or how usable it will be, but with enough applications, maybe Foleo could be useful enough to justify its size/weight. I imagine that these apps will probably be commercial ones, since open source apps like Evolution will probably have difficulty fitting in the Foleo's constrained environment. :-) And, of course, it's a lot cheaper than my used X41 laptop, never mind a brand-new Lenovo X61s, which could run 2 or 3 kilobucks fully outfitted with the 4 gigs of memory and 160 gig/7200 rpm drive. However, as a road warrior, my priorities are not just weight, but functionality. A 2.5 pound solid-state laptop with only 128 megs of memory which massively restricts what I can do is not a good use of the space in my laptop bag. What I'm waiting for is the next generation of the Thinkpad X series which has a solid state disk --- which shouldn't be that far off --- and the elimination of the spinning magnetic media would mean that we should have something with Foleo's battery life without the Foleo's limited usefulness. Sure, maybe I will need to wait another year or two for my perfect laptop (12", 1024x768 LED display, at least 60 gigs solid state disk, at least 2-4 gigs memory, Intel core 2 or follow-on processor, < 3 pounds, > 5 hours useful lifetime) to become available, but the technology to do this exists today; it's just a matter of making it affordable. But given that kind of long-term future, I'm willing to settle for now with either 2 or 4 hour battery life, and a slightly heavier laptop, than to use something today with a desperately slow ARM processor and only 128 megs of memory. The weight/size savings and the increased battery life of the Foleo isn't a fair tradeoff given its very limited capabilities. This is all really too bad, because if Palm is counting on the Foleo to allow it to succeed, I think the concept has some massive shortcomings, much like their claimed LifeDrive product, which didn't last very long. And I really like the Palm company; I still haven't found better PDA functionality on a decade-old Palm design compared to what is available on all of the Nokia phones I've looked at, the WinCE phones/PDA's, the N800, etc. So I want Palm as a company to stick around. But with Treo getting eclipsed by newer smart phones, and the Foleo not getting particularly good buzz by folks reviewing it --- and after I played with it, I have to agree with the majority of the reviewers that this is not the Next Big Thing --- I'm not sure how much longer Palm is going to be around.

15 August 2007

Bastian Venthur: My top 5 Firefox/Thunderbird annoyances

Firefox is constantly gaining marked share (especially here in Europe) and it’s little not-yet-so-popular brother Thunderbird is evolving too. While I’m happy that they’re contributing their part to bring Free Software to the masses, I’m concerned that the quality of their software (especially Firefox under Linux) has decreased in the last months. Here are my top 5 annoyances for Firefox and Thunderbird. Some of them only apply to Debian’s version others are more visible on my fairly old and “slow” (1.5GHz/512MiB) Laptop than on current and therefor faster machines: Firefox Thunderbird While I’m still happy with Thunderbird (or Iceddove as we call it here) I’m really searching for an alternative to Firefox (Iceweasel). Unfortunately there is currently no alternative available which fits all my needs. Firefox has two extensions no other browser seems to provide and without which I wouldn’t want to work anymore (I wonder if that was a proper English sentence…): While other browsers have some ad-blocking functionality too, they all seem to lack the filter set updater. The next best alternatives are Konqueror and Epiphany but besides the lack of the above features every one of them has it’s own little quirks which doesn’t really motivate me to make the switch yet. But Konqueror is making progress and I’m really looking forward to KDE4 which will hopefully bring a usable web browser so I can finally get rid of Firefox. Update: Ooops, I nearly forgot my favorite pet annoyance of Firefox under Linux: Why does it have to insult the user’s eyes with this ugly toolkit when drawing check boxes, line edits, buttons etc? Firefox under Windows paints stuff like that according to Windows’ current theme, Konqueror under Linux as well, but what does Firefox for years?

9 August 2007

Evan Prodromou: 21 Thermidor CCXV

So, a few weeks ago (Journal/22 Prairial CCXV) I expressed some discomfort about the Mister Wong logo. I'm very happy to see that the company has taken my and other people's uneasiness into consideration and removed the logo from their site. They've started a new Mister Wong logo contest with a grand prize of $6000 (American, assumably) and two second prizes of $3000. That's a pretty good cash-out for a logo contest; Mister Wong is also a high-profile and growing site. I hope some of my designer friends and colleagues decide to jump in. (Yeah, Brigitte, Marie-Claude, Patrick, and Mark, I mean you!) I think it's definitely an interesting challenge for someone doing identity work. I'm not going to join the contest, though. My only idea right now is to do a copy of the current Mister Wong logo (same gray suit and tie) but with a Caucasian man's face instead. The sub-title? It can't be Wong when it feels so white. Yeah, that's why I don't get the big bucks in the corporate identity biz. tags:

Back on Planet So, I got a lot of feedback about removing my blog from Planet Debian -- all of it bad. People really felt that it was important for all Debian developers to be able to say their piece on PD. So, I re-instated it this morning. I'm going to try to make some changes to fix the main thing that seems to bother people: that my post titles are the current date in the French Revolutionary Calendar. For some reason, that really gets under people's skins. Unfortunately, a few things on my (hand-coded) wiki-blog site expect that format, so it's going to be a little tricky. One thing I might do is create and distribute a Greasemonkey script for planet.debian.org (and p.d.net) that seeks out titles that look like French revolutionary calendar dates and replaces them with a random selection from an array of more typical blog post titles:
  • "Some thoughts"
  • "A funny thing happened today"
  • "What I've been doing lately"
  • "Depressing thought"
  • "Haven't blogged in a while"
  • "WTF!?!?!"
  • "My opinion"
  • "Random notes"
  • "IMHO"
  • "Snapshots from my life"
  • "Further proof that we live in a crazy world"
  • "Memo to myself"
Any other suggestions for all-purpose blog-post titles to add to the array are welcome. tags:

7 August 2007

Sergio Talens-Oliag: Lifestyle, Resignations and the Peter Principle

I'll be 0x24 (hex) or pow(6,2) (dec) years old next Sunday and it is becoming obvious that I need to change my lifestyle. On the physical side I'm sure that I have to loose between 20 and 30 Kg. if I don't want to have health problems in the future. The plan is to change my eating habits and do sport regularly. The basic idea is to do a diet seriously and keep part of the rules more or less forever (that's the habits change); the other important thing is to do some exercise, I've never liked sports too much, but I'm sure I can try to walk some days and swim others (I've been going once a week to the swimming pool during the last months and I'll be doing it twice a week starting this September). On the mental side, I need to reduce my obligations and care less about the work problems in and out of the office. To reduce my obligations and have more free time I decided a couple of months ago that I was going to leave the Uni, as it was taking away a lot of time that I can use for more important things; I notified it and after this September I won't be working for the Universitat de Val ncia anymore. Initially my idea was to keep my main work and use some hours each week to work on my PhD Thesis, but the truth is that I'm not interested anymore; I don't have anything specially interesting to say and my main motivation for getting a PhD has also disappeared (at some point I thought about becoming a full time University professor, but after three and a half years I've had enough, at least for a looong while). This leaves me with my work at the ITI as my main and only work, but after some months I'm seriously considering leaving it also. My main problem there is that I believe that I'm starting to suffer the Peter Principle or something similar; almost all my professional career I've been working as a technician, first as a programmer and sysadmin and lately as analyst and team leader or technical manager, but now, as it seems to happen always in the Spanish IT companies, I'm being forced to move to a pure project management work and, to be fair, I don't like it. I don't know if that means that I'll get to my level of incompetence, but if that is the case I think I'll have to try the Peter's Parry, that basically means to refuse a promotion (I've already done it asking to get a place under my theoretical level, although not on a convincing manner, it seems) or use the Creative Incompetence technique, that is, give the impression that you have already arrived to your incompetence level (probably it is too late to do that at my current place, but maybe on the next one I'll be able to do it). Maybe this is not the last level of the Peter Principle, as I'm sure that I can and will do this work (I'm thinking about moving, but I will not do it until I have a plan for the future, and that will probably mean a new job), but I'm also sure that I will never do it as well as I can do technical tasks because I don't have any real motivation to do it and while I plan to get the skills needed, they are not attractive to me. I understand that on the current IT world we need to have project managers, and I really hate bad managers, but that does not mean I like to become one, I prefer to be a team leader and work only on one or two projects at a time, instead of having more than five and not do real work in any of them; my main problem is that the challenges and tasks a manager has to do have nothing in common with the things I like from computer science and I'm too perfectionist to handle people that does not care about how things are done in a lazy way (a team leader with a couple of projects can handle technical people, when you are a manager with multiple projects you miss the day to day perspective and problematic people is more difficult to handle). Oh well, we will see how things evolve. The good thing is that I believe that one way or another I'll end up having a better life and, if I'm able to care less about my own work (and the one done by others) maybe I'll be able to stay at an acceptable level on the hierarchy without getting burn out and maybe some day I'll be able to work again on the things I like and keep my promises.

Russell Coker: Blog Memes

A common pattern in blog communication is referred to as a Meme. Here is one example of the commonly used definition of the term as applied to blogs. One common factor that doesn’t seem to get directly mentioned much when people define the term (but which always seems to be mentioned in passing) is the idea of tagging people. So the definition of a meme as applied to blogs seems to be a silly question that you answer in a blog post and then request that some other bloggers (usually 5) answer as well. At the end of this post I have included the dictionary definition of the term (here is the Wikipedia definition). I believe that it is incorrect to call a question such as “which superhero do you most identify with” a meme. Instead I think that there is a Memeplex associated with such posts. One meme is that when someone “tags” you (requests that you answer a question) it should be considered an honour (someone in the blog-sphere likes you enough to ask you random questions in a public forum). Another meme is that such discussion is a good thing (although an increasing number of people in the more serious part of the blog-sphere oppose this). A final one that is apparent to me (I’m sure that there are others) is that so-called memes and lazyweb posts are the same thing (I believe this to be wrong). I believe that lazyweb posts if written about interesting topics can contribute significantly to the community knowledge base. I also believe that chain lazyweb posts (here is a link to the only such post I’ve made so far) can also contribute if created in a sensible manner. Chain posts that don’t require any thought or input from the person re-posting them (EG “please post this message to all your friends so that they can know of the terrible war/famine/earthquake/whatever in some foreign part of the world”) are of course quite useless (you can make a post of links once a month if you want to spread the news about such things). Now I agree that some amount of conversation among bloggers in a community that is personal and not directly related to the main topics of discussion is good for building the community. From Jargon File (4.4.4, 14 Aug 2003) [jargon]: meme
/meem/, n. [coined by analogy with gene’, by Richard Dawkins] An idea considered as a replicator , esp. with the connotation that memes parasitize people into propagating them much as viruses do. Used esp. in the phrase meme complex denoting a group of mutually supporting memes that form an organized belief system, such as a religion. This lexicon is an (epidemiological) vector of the hacker subculture’ meme complex; each entry might be considered a meme. However, meme is often misused to mean meme complex. Use of the term connotes acceptance of the idea that in humans (and presumably other tool- and language-using sophonts) cultural evolution by selection of adaptive ideas has superseded biological evolution by selection of hereditary traits. Hackers find this idea congenial for tolerably obvious reasons. PS This evening I had planned to go to a LUV meeting and see my friend Andy Fitzsimon (blog) give a talk about Inkscape (for which he is famous). I also had a day off work, so it was going to be a day of non-stop fun. But instead I got some sort of cold/flu, stayed in bed for much of the day, missed the meeting, and was late in my blog post. This sucks.

Next.

Previous.