Windows users are whiners

"Linux is hard to install"
You probably bought a computer with Windows preinstalled and bought a new one when it came to a grinding halt. Next time try reinstalling it from scratch, drivers and applications included.

"Linux doesn't support as much hardware"
Don't worry. The occasional digital camera, memory stick and USB harddisk will probably work. Check the Internet, select the proper components and buy a custom computer. It is probably cheaper than a computer off the shelf with Windows preinstalled. If you want a laptop, try a Dell or consult the Internet.

"I can't run my programs on Linux"
True, if you want to run Linux programs on Windows you have probably more luck to find a native Windows version. But there are more ways to get the job done. If you want to burn a CD, you don't need Nero. If you want to write a document, you don't need MS-Word. If you want to manipulate an image, you don't need Photoshop. If you want to develop a program, you don't need MS-Visual Studio. K3B, OpenOffice, GIMP and Kdevelop work just as well. And yes, we do have Firefox.

"I can't play my games on Linux"
Computers aren't there to play games. Try a console, buy an xBox and scratch your disks, I don't care. If you want to do something serious, try Linux.

"I don't want to work on the command line"
My girlfriend uses Linux all the time. She doesn't even know what a command line is. Get real. A good Linux distribution allows you to do all the essential stuff from the GUI. Don't tell me editing the registry is easy.

"Windows is just as secure as Linux"
Yeah, and my grandmother is world champion polka dancing. On Linux, there a no real threats where viruses, spyware or trojans are concerned. All the programs you have to install on Windows to get the thing remotely secure eat up CPU seconds and make your computer less stable and responsive.

"Windows is just as expensive"
Don't think because it came preinstalled that you didn't pay for Windows. Believe me, you did. And all these nice programs like Nero, Photoshop, MS-Office don't come for free as well. You're probably using pirated versions. Wait 'till your next WGA check.

"I'm lame"
You're probably right. You want it the easy way. You want to come home, plug in your computer and play some lame game right away. You don't want to spend an hour installing an OS and think before you click a 'continue' button. And because you've been doing that for the last ten years, you don't want to study some manual and learn a new program. You're so lame, that you are even prepared to fork out your hard earned cash from your wallet in order to stay lame. You're the kind of person that admits that carbondioxide emissions are a problem, but you're too lame to take the bike to go to work. Instead, you bought yourself a Hummer because you thought it was cool. You're the kind of person that prefers to write endless blogs full of excuses instead of making a change. Face it, it's not Linux that is the problem, it is you.

A little history of Fuddenheim

The last decades a little war has been fought in the small town of Fuddenheim, located near the border between the Principality of Liechtenwald and South Prussia. A group of private citizens, led by Rinus Poortvliet and Rik de Knegt from Belgium, decided some 15 years ago to introduce free public transport in order to combat air pollution and congestion. Donations allowed them to buy a few buses which were operated by volunteers.

At first, the commercial public transport company Omnifast GmbH hardly reacted. The schedules of the new service, called Linexx eV, weren't very attractive to the general public, they said, and on top of that they operated just a few lines. Commercial transport was much more professional and offered more choice.

However, the free transport slowly became a hit and Omnifast couldn't ignore it anymore. So they hired a performance testing company called Artibus to compare both offerings. It published the report a little later, showing that a comparable ride with the free service took a lot longer and required more transfers. Careful investigation showed that the research was rigged. Measurements of Omnifast were excluding the waiting time required and were restricted to the lines were Omnifast offered a direct service.

But dedicated to offer the best possible service, Linexx quickly improved their shortcomings. Now Omnifast was really in trouble. "Once you start using this service, you can never transfer to our professional services again." the chairman of Omnifast raged "This is a thing the General Conditions of Use (GCU) of Linexx explicitly prohibit." Which was not true. Omnifast was just not allowed to charge passengers for that part of the trip which was traveled with Linexx coaches. "Communism, that's what it is!" the chairman cried "They want us all to work for free!"

Omnifast launched a big publicity campaign which they baptized "Raffst du es nicht?" (Don't you get it?) in order to scare away potential passengers, saying that although the service was free additional costs made it very expensive. For instance, if you used a prepaid Omnifast Travelcard. All of them were performed by Artibus, which continued to claim that "although they were sponsored by Omnifast, they had no influence on the methodology used or the findings" which of course nobody took serious.

A small local taxi company called Fuddenheim Taxi Gesellschaft (FTG), which had been hired by Linexx from time to time to provide additional vehicles, now claimed that buses from Linexx were using dedicated taxi lanes and required a fee for their use. Linexx asked which lines were affected, so they could be rerouted. FTG answered "they could not say which ones, but there were many".

After years in court it became clear that there were hardly any 'dedicated taxi lanes' in Fuddenheim at all. Rumors said Omnifast was behind the claim, but that was never proved. Due to the negative publicity, FTG lost many customers and is now on the brink of bankruptcy.

In the meanwhile, Omnifast was developing a new service, a project which was delayed over and over again and when it was finally introduced, customers were disappointed. All they got was a refurbished bus. In the beginning Omnifast claimed had they attracted many new customers, a claim they were unable to uphold.

Recently, a small group of volunteers made an agreement with Omnifast. Omnifast agreed to give away free Linexx vouchers. Furthermore both companies were allowed to use each others 'dedicated bus lanes'. "Not that we are using any dedicated bus lanes from Omnifast", a spokesman of the dissident Linexx volunteers hastened to say "We just want to make sure that if we do, our customers won't have to pay an additional fare."

The other volunteers of Linexx reacted quickly and changed the GCU, making an agreement like this impossible. Omnifast in response hired the headmaster of the local business school. "Most volunteers of Linexx don't want to change the GCU" the local newspaper 'Die Woche' reported "Most of them even think it is smart to cooperate with commercial transport companies". It proved he had interviewed only three drivers, of which two weren't even working for Linexx.

The end of the story is that the chairman of Omnifast yelled "Linexx is using our dedicated bus lanes, but we won't tell which ones." When asked, he grumbled again: "We may go to court one day. But not now." Linexx reacted quickly, saying "We're sure Omnifast is using some of our lanes too. If they sue, we sue. But maybe it is better to refrain from having dedicated bus lanes altogether. Life is much easier that way." Which may prove to be true, because later 'Die Woche' found out that lines downtown were not covered by the Omnifast agreement.

The small war rages on in the streets of Fuddenheim. It just illustrates once more time how ridiculous people can get. We'll keep you informed.

Teaching Microsoft: the aftermath

A lot has happened since I debunked Alan MacCormack's research. First, a very clever attack from some "Rufus":

"Insufficient sample sizes because the survey is not meant to be representative. Additionally, for exploratory research, it is nothing unusual to use a semi-structured approach. The goal is, for example, to extract key words the can be used for proper measurement in the later, the 'real' survey."

This may all be true, but I'm not interested in whether this is a valid methodology in social sciences. What I'm interested in is whether the methodology justifies the conclusions. Obviously not, according to Rufus:

"The intention of the study was not to reject any hypotheses or to be representative."

If the study was not intended to be representative the conclusions are a priori invalid. Still, they are presented as if they are valid and applicable. Rufus continues:

"You still decided to use lots of rhetoric to 'prove' your point. For example, this one: 'MacCormack also fails to state why licensing implications are more complex than the war in Iraq, the greenhouse effect and save the whales'. This is of course a rhetoric attack."

No, this is not rhetoric attack. When a researcher makes choices I expect him to explain why he chose to do that. McCormack does not or not sufficiently.

Finally, Rufus debunks his entire rhetoric himself:

"The problem is obviously that his results shouldn't have been advertised in the first place. However, is this the professor's fault or Microsoft's?"

Obviously, the professor's. Remember that in the eWeek article he comments in great length on his research. If this research wasn't intended to be published in this stage he should have said so. He had every occasion to do so, didn't he? I have contacted Rufus through email, but have not received any response yet. Maybe what "DB" wrote isn't too far from the truth:

"Looks like Microsoft are reading this too. And if this was an exploratory survey they wouldn't be trumpeting it as the real thing."

Of course, I tried to comment on the eWeek article, only to find that I was banned:

You have been banned from posting. If you feel this is an error, please email sean_gallagher@ziffdavis.com

Sure, I contacted Sean Gallagher. I haven't had a response yet, for all I know it may be an error. If you want to know what I wrote, here is the comment I submitted:

I've written an article on this: The Beez speaks

It is interesting that one of my comments states that although the method used
is a valid practice, the conclusions as stated in this article cannot be
backed by the method used.

Bad journalism.. pity.

I leave it to you to decide whether that is sufficient cause to be banned or a valid comment. I never expected to follow the fate of Groklaw. Let's see what comes next.. I can only say that I'm a real person and I'm not paid or sponsored by IBM. Just your average blogger. ;-)

[Update: It has been reported that Sean Gallagher doesn't work for Ziff Davis anymore, so guys, update your messages! And Sean, you're out of the equation, sorry for mentioning your name, man. After weeks not a single email has made it to my inbox.]

Learning Microsoft how to get the facts

"There are three kinds of lies: lies, damned lies and statistics."

Well, not much has been changed since Mark Twain spoke these wise words. The recent survey of Associate Professor Alan D. MacCormack, most well-known for his article "Intellectual Property, Architecture, and the Management of Technological Transitions: Evidence from Microsoft Corporation" proves this once again. True, the very first page clearly shows Alan's association with the software giant by clearly stating that it concerns "a study funded by the Microsoft Corporation". Usually this is enough for us Linux zealots to write it off and concern ourselves with more important things. Still, eWeek found it important enough to mention. Knowing a thing or two about statistics and how to manipulate them, I thought let's see how well the professor does.

In short, it is garbage. There are three basic flaws:

  • The sample taken is far too small to be representative;
  • The selection is flawed;
  • The interpretation of the questions and the responses is done by the researchers.

The sample is too small
At the time of writing, there were 42,909 projects listed at Freshmeat of which about 72.5 percent had a GPL or LGPL license. That is about 31,102 projects. For the sake of argument, let's assume they are all one man projects. Because that is not true. A study from the Haas School of Business shows that there were 121 maintainers and 2,605 developers working on the Linux kernel in 2000. For your information, that is kernel version 2.2.x.

So on one hand we have 31,102 open source developers and 2,726 Linux developers. What do you consider to be a reasonable representative sample? 10 percent? Less? One percent, which boils down to 311 open source developers and 27 Linux developers? No. According to our Harvard professor only 34 open source developers (of which 7 are Linux developers) are required. Every high school kid will tell you that you can draw no significant conclusions from such a small sample.

If you don't believe me, I will allow Alan to speak for himself: "Based on the selection criteria for the developers, and the semi-structured approach we felt that the 34 interviews was more than sufficient to conduct exploratory research." and a bit further on: "The semi-structured approach we felt that the 34 interviews was more than sufficient to conduct exploratory research to identify the predominant developer opinions on the most critical issues."

Dear Alan, how many times do I have to explain to you that it doesn't matter how you feel about matters, but how well you can prove them. That has been a sound scientific principle for the last two thousand years. You'll never make a full professor that way!

And to prove that I know what I'm talking about, here is the proper way to determine a reasonable sample size. First you need three parameters:

  • Population size
  • Confidence level
  • Confidence interval

The confidence interval is the plus-or-minus figure usually reported in newspaper or television opinion poll results. For example, if you use a confidence interval of 5 and 47% percent of your sample picks an answer you can be "sure" that if you had asked the question of the entire relevant population between 42% (47-5) and 52% (47+5) would have picked that answer. The wider the confidence interval you are willing to accept, the more certain you can be that the whole population answers would be within that range.

The confidence level tells you how sure you can be. It is expressed as a percentage and represents how often the true percentage of the population who would pick an answer lies within the confidence interval. The 95% confidence level means you can be 95% certain; the 99% confidence level means you can be 99% certain. Most researchers use the 95% confidence level.

So, using a 95% confidence level and a confidence interval of 5 we need to interview 379 developers, not 34. See Alan, proving your point isn't too hard..

The selection is flawed
Okay, maybe there were too many open source developers who didn't want to participate in this survey. Yell 'Microsoft sponsored' and most of us Linux bigots will say 'thank you' and hang up. So how many developers were actually contacted? I'd say from the various mailing-lists it shouldn't be a problem to contact at least 10,000 developers. No. Only 354 were contacted. Less than 10% responded. The others either used the 'bounce' option in KMail or flatly declined.

Now the real fun comes. Alan quotes Lakhani and Wolf who did a structured quantitative study of 684 developers from 287 distinct projects in 2005. They divided the community in four distinct clusters:

"In the first cluster, developers were most commonly motivated to contribute to open source because of a work need or because they were paid to contribute. All developers in the second cluster were motivated by non-work needs. Developers in the third cluster were most commonly motivated by intellectual stimulation or a desire to improve their skills. Finally, developers in the fourth cluster were most commonly motivated by a belief that they were obligated to give back in return for having used open source code or a belief that code should be free."

This classification is used by this study, although they found it appropriate to merge clusters two and three. Why?

"In this research, we combined clusters two and three because they have the same set of top motivations that are distinct from clusters one and four, and they both have intellectual stimulation as the second highest motivation."

Pardon me? First of all, I object to this classification in the first place. When I start programming I usually have an itch to scratch, either for work or for pleasure. When the project really begins to interest me I start to explore uncharted ground, just for fun. And yes, since I've been using Linux and associated programs I feel obliged to give something back in return. That puts me in all four categories. Second, when I have a problem to solve (let's say to change the copyright message in all my private sources – wow, that's intellectually motivating!) my motivation puts me in cluster two. When I'm fiddling around with a tiny multitasking environment I've suddenly shifted to cluster three. Since my motivations are quite different in both cases I don't see any reason to merge both clusters.

All four clusters have roughly the same size, about a quarter. Depending on their answers developers are assigned to one of these clusters:

"We assigned developers to one of three groups based on their response."

The distribution of these clusters is as follows:

Cluster%MacCormack%Lakhani
15625
2+32456
42119

This shows that either Lakhani's research was flawed (where the distribution of clusters is concerned) or MacCormack's sample is not aselect. Using the "de Hond method" this could be corrected, but MacCormack fails to do so.

Finally, Alan even admits he has made an atypical selection:

"We targeted developers for our research based on two criteria: the projects to which they had contributed, and their role on those projects."

Even if this was intentional, by doing this Alan severely limits the applicability and validity of his research. Also, criteria for the importance of the role of those interviewed are lacking. Table B just lists them as "developers" which can be anyone, even the guy who merely wrote the print routine. Remember those 2,726 Linux developers?

Interpretation is done by researchers
This really makes me shiver. I do not hold much of opinions to begin with. Opinions are like noses; everybody has got one..! I don't like highway troopers to stop me just because they thought I was speeding too much. All judges will require at least some kind of measurement. MacCormack doesn't think that is necessary:

"Given the complexity of licensing implications, we felt the topic was not well suited for a structured / quantitative survey. Instead, we used a semi-structured document to facilitate discussion and conduct exploratory research to identify developers’ opinions on open source and proprietary software licensing issues."

In laymens terms this means "say what you think and we'll tell you what you mean":

"From the responses, we used an inductive approach to synthesize the developers’ responses into key themes. After defining these themes, we looked across responses to identify indicative phrases and responses of a pro or con position on each theme. We then compared each developer’s statements against these indicators to classify each developer as either pro or con on that theme. If a developer provided statements that were mixed (i.e. matched both pro and con indicators for a theme), we examined their responses to related questions. We used the broader context to assign them as pro or con on the theme."

MacCormack also fails to state why licensing implications are more complex than the war in Iraq, the greenhouse effect and save the whales. What does MacCormack? He feels again. Never seen such a sensitive professor. BTW, Lakhani found no problem in using a structured, quantitative approach to survey his topic. Open source is obviously not as complex an issue as closed source.

I won't go so far as to say that MacCormack has deliberately manipulated his findings, but in any case his research is seriously flawed IMHO. I'm a lecturer at colleges and universities too and when some student of mine would offer me a survey like this he wouldn't make the grade, believe me. I advise Microsoft to buy its surveys somewhere else in the future.

DRM is (almost) dead

Recently, Fred Amoroso of Macrovision published his response to Steve Jobs call for a DRM free world. Needless to say, he did not agree with Steve, mainly because that is what Macrovision does: its main product is DRM. Several readers pointed out to me that Steve Jobs did not object to DRM for ethical reasons and I agree: Steve is a businessman, not an activist. Steve Jobs statement is important however, since it signifies a departure from the stance most corporations have had so far concerning DRM. And recently EMI announced that they also left the DRM bandwagon. That's not good news for Macrovision.

Of course, the arguments Fred Amoroso uses are flawed to say the least. I'll tell you why. First he states that DRM is broader than music. Those of you who use a PDA of a DVD player probably know that. Every copyrighted content is affected. But the arguments against DRM apply there too. A tautology at best, but hardly an argument of any importance.

Second, he states that DRM is in the customers best interest. Why? Because it enables the industry to use electronic distribution channels. In what way is that interesting to the end user? That he can see a movie at home instead of going to the cinema? That he can see a movie in Europe at the same time it has been released in the USA? Or simply that he can stay at home instead of renting a DVD? Even if only some of these possibilities are used I can only see advantages for the industry: cutting out the middle man. And of course, there is the price argument: DRM makes content cheaper. That is true, if we would have a choice. The point is: there is no choice! EMI CD's come with DRM, end of story. They don't offer the same CD at a higher price without DRM. Are copy protected CD's and DVD's cheaper as their unprotected counterparts? Again, no. Prices are comparable. Did DRM make recordable media cheaper in Europe? No. You pay the same price for a DRM infested CD and pay a fee on top of your recordable media. And since you're not able to rip your CD and transfer the resulting files to your MP3 player, you pay even more. So, DRM only increases the price consumers pay for content and limits their choice, not the reverse as Fred wants us to believe.

Third, dear Fred claims that DRM will increase electronic distribution. As I've already pointed out, how does that benefit consumers? It does only benefit the industry. Even worse, if they step out, somebody else will step in. The industry left electronic distribution to Apple, because they stated – and I quote here – that the industry only produces content, not distributes it. And even that is an overstatement. Most companies serve as a bank. They give loans to artists, which need to be repaid, so most artists so not see a penny from a record company until after their second album. On the other hand, the technology is here and will be used, whether the industry uses it or not. Books will be scanned and OCRed, music and video digitized and the whole electronic highway will serve as a split second distribution medium, simply because it is there. The only option is to label every single copyrighted bit, outlaw any device that cannot be "trusted" and ship all hackers with more than one braincell to Guantanamo Bay. Ok, am I getting ridiculous yet?

Finally, Fred wants "interoperable DRM". So what. DRM infested content will never be as easy to share and manage as unprotected content, no matter what. This is one of the most fundamental flaws of DRM: unprotected content has better value than protected content. Where there is a margin, there is profit; where there is profit there is a market; where there's a market there are suppliers. DVD Jon is not the problem, he is the inevitable consequence.

Neither Prohibition nor "the war on drugs" have been successful in eradicating the problems they addressed, because it is a simple question of supply and demand. DMCA is flawed in itself and in some cases even detrimental. Even when all political and technical goals are achieved, DRM will give rise to a new form of piracy, much more professional and malignant than anything they've seen before. As long as pirates can provide the content at a lower price than the official channels - and they will - the black market will continue to exist and even thrive. Think of it: Blueray offers the possibility of mass producing Blueray disks loaded with DVD quality, unprotected movies. Mod chips that will allow you to view it on any machine you want. And how much priority do you think the police will give to piracy? "Terrorists robbed the Federal Reserve Bank, eighty-nine civilians were raped and decapitated, five million K of cocaine was brought into country, but we did capture at least three bootleggers and two kids who traded MP3's in a schoolyard".

And whatever you may think of piracy, it is still a petty crime compared to trafficking drugs, firearms or alcohol because there are no health issues here. I think public support for DMCA will drop dramatically when the first eleven year old is thrown in jail for hacking his way into a HD-DVD he legally bought. Already political support for DMCA is subsiding. Consumers are also voters and votes still beat money where politicians are concerned.

So far, corporations have come up with inadequate solutions to piracy. The first one is to offer a better quality. The first step, digital media, is usually successful. The audio CD was a success and so was the video DVD. The second step - pushing the envelope - usually doesn't work. SACD and DVD audio are hardly mainstream and I expect HD-DVD and Blueray to fail as well for the very same reason: good is good enough and more is too expensive. Note that most illegal downloads are of inferior quality. Still people are willing to view an entire film shot in some obscure Asian movie theater with a mobile phone as long as it is the latest hit and it is free. The second one is putting up hurdles for Joe Average. True, Joe Average will not crack any DRM issues. But may be he has a friend or colleague who can open up that DRM infested CD that he cannot play in his car stereo. The CD-R Joe brings home does not only play in his car stereo, but he can also make a copy for a friend or family member after telling them "not to buy the CD", because you can't play it on car stereo, MP3 player or computer. And next time Joe will wait until an unprotected, illegal copy pops up because he now knows what that darn logo means. Even better, since the inability to play the CD on certain devices violates basic consumer rights, Joe's friend can simply rip the thing and get his money back. The conclusion that DRM promotes piracy is almost unavoidable.

But the industry seems to avoid the most effective and obvious measures at all cost: offer more choice and lower prices. In the beginning DVD's came with a lot of extras and a hefty price tag. Nowadays you can choose between the single disk version – feature only – and the full fledged double disk version. There are many ways to differentiate and offer consumer choice. And don't tell me differentiation costs money: it wasn't me that invented the region code. But it were the consumers and the electronics industry that defeated it. Globalization works two ways as the industry has learned by now.

The confusion the industry is in is best illustrated by Bill Gates, who told a bunch of bloggers that he advised users just to rip their CD's and on the other hand Steve Ballmer, who not only released the most DRM infested software product in the history of computing, but also proposed even harder anti-piracy measures (read: DRM). As if WGA works perfectly.. NOT!

The main question is when (and not if) the majority of consumers will fail to adopt a new, costly technology, creating a major debacle for the corporations that developed it or when the electronics industry will cease to play along with the increasingly absurd demands of the content industry.

IMHO the industry should start to consider alternatives for DRM, simply because there is no alternative. The Dutch have a saying "an ass doesn't stumble over the same stone twice", meaning a smart man learns from his mistakes and doesn't repeat them. What do you think we call people who do?

Benchmarking

Every now and then the question pops up: "Why is 4tH so slow". Well, 4tH isn't slow. It's twice as fast as Python and outruns most other C-based Forth compilers with the obvious exception of gForth. Anton Ertl has done a great job of documenting gForth and you get a great insight on how he has been able to achieve this. First of all, gForth is bound to the GCC family of compilers and the creators of gForth use that to their advantage. They examine the code that is created and how GCC optimizes it. They do not only do this for a single architecture, but for several.

4tH is very different. It tries to be as generic as possible, so most compilers are able to compile it properly, even those of twenty years ago. You can check the code of some compilers of some platforms, but not all of them. And there is the main problem. As "Advanced C: Tips and Techniques" illustrates, the same source does not result in similar behavior on different platforms and with different compilers. Some say that pointer access is always faster than array access. "Advanced C" proves you wrong.

The only way you can actually improve the performance of a compiler like that is by inventing a much cleverer algorithm. E.g. by reducing function calls, eliminating checks or caching results. Today, I experimented a bit with a special GCC construct, the computed goto. To my surprise, I gained very little. Wait a minute, I've done this several years ago, using the same C compiler. Why doesn't it work now?

Well, I'd forgotten to throw in an extra instruction pointer. When I did that, the results were as expected. I still didn't like the source. It was a mess. Then I got an idea. Why not just apply the extra instruction pointer to the general source? I did it and to my surprise I achieved almost the very same results. The computed goto didn't do the trick, but the extra instruction pointer did. Unfortunately, I can't discard the indexed instruction pointer completely, so after each instruction two instruction pointers have to be incremented instead of one. So, this works for GCC, but will it work for TurboC or LCC or Pelles C or XL C? It may even slow it down..

Even though it may seem that C compilers produce comparable code, the opposite is true. A switch() statement is transformed to a jump table by GCC and TurboC. XL C produces something that is comparable to a long "if..elif..elif..endif" construction. In order to accommodate XL C, the most often used tokens are in the beginning of the switch() statement. That's what makes performance such a difficult issue. What works for one compiler doesn't work for another. That's why more and more products – like the Linux kernel itself – are bound to one particular compiler or even one particular version of a compiler.

But there are more qualities related to source code than just raw speed. It has to be easy to read and to maintain. The recent speedup in 4tH complicated matters for developers – the previous source code was much easier to extend and modify. The computed goto would complicate matters even more and for what: 1% speedup for a particular compiler family. The first thing I did when I created 4tH was to set down the requirements. Speed was one of them, but only if it didn't violate other design objectives.

IMHO speed is overrated. Benchmarks execute hundreds of millions of the same instructions, taking ages to finish. In real life that is almost never the case, except for some pretty processor intensive jobs you'd never dream to write in a scripting language. It is another example of how artificial most benchmarks are and explains why even significant improvements are almost never translated fully to every day use. Telling an interpreter it is slow makes just as much sense as telling a bicycle it is slow. Although that is true, millions of Dutchmen find good reasons to use them every day. If you need to go a long way, you simply won't use a bicycle. If an interpreter is too slow for a job, you grab a compiler. It is as simple as that.

Still, many jobs don't require that much raw speed. I designed a lot of batch processing programs in 4tH. Some take about a minute to finish – that could be better. However, since the rest of the job takes another ten minutes it won't change the scheme of things if I take off half a minute of its execution time, exchanging a perfectly reliable and proven program for a new one that may contain bugs. All that development effort, all the time it takes to test it - for what. Half a minute of execution time per week..

Not every program is created equal. Some are there to run only once and solve a particular problem. E.g. it I want to convert a mailbox permanently, it won't matter too much if it runs five minutes or half a minute. A cron job running ten seconds a day or a second doesn't make much difference either. A program running 0.01 seconds or 0.1 seconds is almost indistinguishable. In the ten years I'm using 4tH I've found I hardly ever need to grab a C compiler anymore. The upside is, that I'm able to create programs much faster and much more reliable, especially where parsing and text conversion are required.

People know that. Modern scripting languages like Perl, Ruby, Python and PHP are much slower than 4tH, but benchmarking is rarely performed. Some will say those languages can be sped up with Parrot and equivalents. The truth is that few ever do. How many people do you know that have converted all their Perl scripts to Parrot? The answer is: for most jobs you do not need to. Fast is fast enough.

Computers are thousands of times faster than 20 years ago. That means a job you could only perform using a high speed compiler can now be done by a scripting language. That may explain the recent rise of the scripting languages. I used Z80 assembly in the days of the Sinclair Spectrum for three reasons: first, interpreters were highly underpowered, second you had not much room to play around with and third, compilers took too much memory to be useful – the best you could do with them was display "Hello world" on the screen in a very speedy way. When the IBM PC came along, I took my refuge to C. It was versatile and boosted my productivity. And now we are here, in the age of the scripting languages.

Those who are still focused on raw speed are the nerd equivalent of the guys tinkering with automobiles. Nowhere – except in Germany – you can go over 65 MPH. Still, they are trying how far you can go with current technology. You won't be able to get your groceries any faster, but that isn't the objective of it all. The problem for us developers is, that we're trying to please. But 10% or 50% speedup – no matter the technical feat in itself - is not what these people are looking for. They are going for two or three times faster, something that is very hard to achieve, even more when there are other requirements you have to satisfy.

Sometimes the solution is very easy – just get a better compiler. The first and biggest speedup I achieved is when I switched from TurboC to DJGPP. After that, 4tH ran 2.5 times faster. But nowadays high quality compilers are commonplace. Note that even a high quality compiler like Intels cannot speed up GCC programs by more than about 15%, tops.

I still think that most Open Source developers are excellent. They listen very carefully to their users and try to comply. But stay true to your design objectives and carefully balance the needs of your audience. You may be able to satisfy the wishes of the speed demons, but always consider what qualities you trade in. It may be that you have to let go users of a certain platform, since there is no compiler left (to your disposal) that compiles your source. You might have to make your source code harder to read and understand and lose those who loved to tinker with your program. Your speedup may cause a slowdown in other compilers.

A drag racer goes very fast, but I prefer a Audi cabriolet A4 to cruise along the French coastline. It is so much more comfortable.

The unknown soldiers of KDE and Gnome

When World War I was over, millions had died and large parts of southern Belgium and Northern France had been turned into a a grim wasteland. World War II didn't prove to be much better. Japan had suffered two nuclear bombs and some of the most beautiful European cities were gone. Millions had died. It is easy to blame the Germans or the Japanese, but it is only now that we are willing to listen to the stories ordinary civilians of these countries have to tell. No life was left untouched.

In the aftermath of the recent KDE-Gnome war I have spent several hours writing articles I never intended to write. If I had wanted to write about the KDE-Gnome controversy, I would have done so long ago. I did not draw first blood. But when I write an article I do not take prisoners. The only thing I can blame myself is that I did not properly investigate self-proclaimed editor Sal Cangeloso. Yes, again an "editor" who spreads FUD. Who behaves like a little boy breaking a window and running away as fast as he can. If you want to react to his article you can only comment on it by becoming a member of his largely uninteresting forums or writing an email if you happen to find this page.

This war was so ugly, that Brian Proffitt, managing editor of "Linux Today" decided to comment on it. I agree with most of it. "It seems that you can't post an article about either desktop, however benign, without some yokel using the opportunity to flame the other environment", he writes. Well Brian, compare this one to this one. I suspect that the first one triggered Sal to write his article. Can you tell the difference?

The first one mainly concentrates on why he likes KDE. The second one concentrates on why you should avoid KDE. Sal is not stupid. His article is well written. He writes with authority as if he doesn't need to prove his claims. That makes him more dangerous than your casual troll. Like so many he doesn't seem to get it into his head that Linux is fundamentally different from other Operating Systems. He dreams of the cathedral and thought he could force it this way. Well, not on my watch, buddy. Two can play that game.

Many wonder why there even is a controversy between both environments. There are many competing projects in the FOSS world and almost none has resulted in this kind of rivalry. It started with KDE using a proprietary toolkit. That was wrong by any measure, and it triggered the start of the Gnome project. KDE had a headstart and Gnome the moral higher ground. All that changed when Qt became a GPL licensed product. And then Stallman made a fatal error. In the final paragraph of his comment on the recent developments he commanded his troops into the trenches. Like in World War I, they are still there. Any random shot starts a massive shelling.

Others have fueled this controversy, like Torvalds. Calling millions of Gnome users idiots is not the smartest thing to do. The generals started it, the generals should end it. Stallman should stop dreaming of a single GNU application stack. A cathedral is a cathedral, no matter how "democratic" it is. Commercial vendors like Novell should refrain from choosing defaults. None of the desktop environments will disappear on short term and trying to influence the choice users make will only fuel this war. In this respect, I think that Mark Shuttleworth has got it right. Finally, both projects should start to work closer together. I still dream of a Kimp and a Gonqueror.

What really has to stop is the licensing FUD around Qt and KDE. Qt is GPL and not LGPL, just the way Stallman likes it. If it had been the other way around, the same people would probably argue that you can use Qt to create non-free software. It's the world upside down. I think it would help if either Stallman or the Gnome project would take a stand here, so this argument is invalidated once and for all.

One thing that this war has learned me is that the smartest people of all are the "civilians", our users. They just use a mixture of what is there and don't understand what the fuss is all about. They happily shop in the giant bazaar for whatever they need. I remember I was like that once. I had switched from Windows to Linux and bought a commercial VCD player because there was no free one available. Stallman? Who is Stallman? I wanna watch my videos!

It were these users who made it clear, that I should write this article. Of course, there were the usual mental cases, I had to remove some profanity from a comment or two, but most were quite reasonable. Even if we happen to occupy different trenches. In some way, it remembered me of a story of World War I were French and German soldiers left their trenches on Christmas day to play a game of soccer.

Some had even taken the trouble to read my introduction, instead of jumping right away to the spicy stuff. I don't need Gnome dead, I just need a living and thriving KDE. I fully agree with Brian Proffitt in that respect. I repeat it one more time, I really don't care what you're running as long as I don't have to run it. I have to use Windows every working day of my life, thank you. And the Gnome people have enabled me to run some of their applications on that desktop, thank you too! KDE could do better in that respect.

Okay, whatever you think of me, I have taken my responsibility and made my final comment on this issue. I challenge all the players I mentioned in this article to do the same. Because what has happened in the end? We've soiled KDEs 10th anniversary and probably not a single user has changed his desktop. If we could only agree that the bazaar is a good thing, I think we might be getting somewhere.

So get out of the trenches, guys. I feel like playing a game of soccer. Yes, yesterday my bullets were flying over your head and my best friend was shot. But we could agree on not firing today. I do not regret pulling the trigger and I don't think you do. It may be too early for excuses, but maybe one day we find we've forgotten why we were fighting anyway.

Some will interpret a call for peace as a sign of weakness. Well, you're free to try. I still got a few nukes ready to fire. I did install SuSE 7.3 on a Dyme 166 MHz machine with 32 MB installed and I used KDE 2.2 from July 2003 to December 2004 to write my documents, develop my compiler and browse the web. When I get bored during the holidays I might boot the beast and take a few pictures if you want to. And after 25 years in this business I certainly know how to format a floppy. I don't like FUD and I don't like lies. It may be a character flaw of mine.

Einstein once said that "I do not know how the Third World War will be fought, but World War IV will be fought with sticks and stones". So, before you start to flame me again ask yourself one question: is it the right thing to do. Personally, I'd rather finish the documentation on my compiler, which is long overdue, than to spend my time writing articles like this. I think that is a better way to serve the community and certainly more productive.

I can say all the Gnome users and developers I've enraged with my article only this: you felt the same way as I did and that is all I wanted. We share that experience and by knowing this, we might be able to learn something. I have and I hope you do.

P.S. When I was spellchecking this article, Open Office highlighted "Cangeloso". I pressed "Always ignore". So should you.

Three reasons NOT to use Gnome

I've always been a proponent of choice. Maybe it has to do with my biology study, I don't know. Variation makes a population stronger and resilient. A few days ago, I wrote an article on comp.lang.forth, passionately arguing that the ANS Forth standard should allow even more diversity in architectures, command sets and design objectives. That's why I like Open Source. Whatever you're looking for, somebody has done it. If not, you can always start a new project.

So, it is only logical that there is a large variety of desktop environments and window managers. Even more than you can imagine. One of my favorite Linux magazines, the German "Linux User" has a monthly section dedicated to it. Although I don't have any intention to change my desktop, it is nice to see what people come up with. Some solutions I find even tempting.

One of the better qualities of the Open Source community is mutual respect. Developers make different choices, but they usually show understanding for the choices others have made. One of the characteristics of respect is honesty. You don't spread any FUD to harm your opponent or his product. That is why "Three reasons to use Gnome" shocked me.

I don't object to the article itself; Sal Cangeloso is free to use what ever he wants and list his reasons for using it. But he is not free to spread FUD and use some very questionable arguments. I've used KDE from the first moment I installed Linux and I've never been disappointed. I've even used it on a 166 MHz, 32 MB Pentium II. Sure, it wasn't a speed demon, but I've used the machine for 18 months at a stretch. I like my KDE and when you look at the comments this dubious article received, I'm not the only one.

I've always had the idea that this whole KDE vs. Gnome thing has been kept alive by Gnome proponents (see the last paragraph). I can imagine why. Somebody starts a desktop environment based on non-free software. A year later, in 1997, you found a project with the aim to create an entirely free desktop. After three years, you find that you've done it all for nothing, because somebody changed the licensing. What a bummer! What now?

Okay, you start a project called Mono to give it a boost, based on a totally nonfree architecture (sic) - designed and promoted by a company I choose not to mention. It's still not working. Even worse, the father of the single piece of software that started it all says in public that "your whole mentality is a disease" and your baby will only be used "by idiots". On top of all the guy who gave your favorite desktop environment the long awaited recognition becomes the first patron of KDE. Apart from driving off a cliff, what can you do. Easy, let's do what the professionals do. Spread FUD.

First of all, SuSE has always defaulted to KDE until it was bought by Novell. Novell also bought Ximian. Right, that company was founded and owned by the guy who wrote both Gnome and Mono, Miguel de Icaza. It is safe to say that this choice was made for political and not technical reasons.

Second, Gnome is far from "lightweight" as these figures will show you. Personally, I find Gnome sluggish and not quite as snappy and responsive as KDE. That is quite understandable if you know how Gnome came to be. The Gimp Tool Kit was originally developed to make GIMP, a Photoshop clone – not to build an entire desktop on top of it. It has the most horrible API you've ever seen. KDE has one of the most well designed APIs I've ever seen. Absolutely no comparison.

Third, I absolutely prefer most of the KDE applications to their Gnome counterparts. If you've ever worked with LyX, you'll never go back to Open Office Writer again – except for compatibility reasons concerning an Office suite whose name I choose not to mention. Konquerer is the fastest browser around – with the possible exception of Dillo. Bluefish or Quanta? Don't give it a second thought - Bluefish even lacks a preview or help feature. I prefer Kmail over Evolution, because the latter resembles a PIM whose name I choose not to mention. Krita is quickly becoming the image editor of choice. And Koffice is a better suite than the bunch of unrelated applications like Gnumeric and Abiword that form the "Gnome office" suite. Not to mention that "Gnome office" is lacking a Kexi equivalent. I have to admit I really like Dia, though!

Finally, Sal Cangeloso resorts to the ever lasting Gnome FUD trump card, licensing. Okay, I'll repeat it here for the very last time: since September 2000 KDE is 100% GPL. No "licensing issues" at all. The next one who tries that trick gets his lights punched out.

I really don't care which window manager you use. I really don't care what desktop environment you use. But you should not reward a project that has and keeps on spreading FUD just to force its eternal nemesis out of the market. If you want a sluggish memory hog that leaves you no choice unless you happen to like XML hacking, be my guest. But note that when there is no KDE anymore, you will be left with no choice at all - except of course with what the good Gnome people think is good for you – welcome to the cathedral!

Note that there are a lot of people that are very passionate where KDE is concerned. Why? Because it is their tool of choice and they use it every day. Some have used Gnome for a while and switched. For some, KDE is too heavy (e.g. DSL, Puppy Linux) and they were happy to see that there are alternatives - the bazaar. That is what Open Source is all about. And don't you forget it.

Hasta la Vista, part 3: Of Windows security and other oxy-morons

If you happen to be a regular reader of my blog you know I have this thing with editors, especially when they are reporting on IT developments (a subject I know a thing or two about). The point is, I find most of them either too dumb or too corrupt. I've also reported on the ethics of Open Source FUD, and compared to the ethics editors should follow, I'm not even doing too bad:

  • Test the accuracy of information from all sources and exercise care to avoid inadvertent error. Deliberate distortion is never permissible.
  • Distinguish between advocacy and news reporting.
  • Distinguish news from advertising and shun hybrids that blur the lines between the two.

Why do you give Microsoft a platform to spread its FUD? Why are you guys deliberately spreading FUD? Where is the independent research journalism you were so proud of in the past? Are you really thinking you're objectively reporting about the world around you and what is actually happening there?

  • Support the open exchange of views, even views they find repugnant.
  • Tell the story of the diversity and magnitude of the human experience boldly, even when it is unpopular to do so.
  • Give voice to the voiceless; official and unofficial sources of information can be equally valid.
  • Diligently seek out subjects of news stories to give them the opportunity to respond to allegations of wrongdoing.

We're already happy when some comments make it past the moderator. Hardly ever an editor – or any other IT journalist for that matter – asks an Open Source proponent for comment. You just pickup the press releases – or worse: download them, so you don't have to type them in – and copy them to your word processor. I must admit, it saves a lot of time, but whether that is true journalism remains to be seen.

Exhibit one. Where was the news coverage of Linux in 1999? Most people – including me – were still thinking it was an experimental, command line driven system. I was considering a Windows NT system when I bought a German magazine and found out Linux was a perfect replacement of Windows 3.11. I installed it February 2000 and after a few months I booted Windows 3.11 perhaps once a week to play a DOS game or scan a picture. A real history of "telling the story of the diversity" and "giving a voice to the voiceless", huh?

Exhibit two. Linux coverage in the Netherlands has been abysmal, to say the least. Most Dutch magazines don't seem to see the difference between "Freeware" and "Open Source", although they acknowledge there is something out there that is called "Shareware". The only Linux question you'll ever see is "How do I uninstall Linux", and the only Linux articles that are published carry headlines like "Is Linux after all these years still not ready for the desktop"? Main argument: "Most people use Windows", which is true and if you won't do your duty as a journalist, it will stay that way.

Of those magazines, Computer!Totaal really isn't the worst. They even know there is something out there called Open Source and every once in a while they do report on how to use Linux to set up some kind of server. Some editors are willing to discuss matters in length with you, which is a good thing. However, the editorial of the September issue is one of the worst I've seen in a long, long time.

José Pauty, argued that buying a safe computer makes no sense. People are just too stupid for such devices. They visit fishing sites, click on every attachment, install ActiveX components. Secure computers are a waste of money.

And that calls himself – in order to avoid prejudice, I hope it is a guy - an editor. It is a excellent example of how some editors can spin out of control and write pure nonsense if they are not subjected to a proper peer review. Think about it: you don't need to buy a decent lock since you always open up when the doorbell rings. Better, why buy a door at all? All houses are vulnerable anyway. Hey, in most cases people even know their assailant. The only way you can secure your house is to wall yourself in. Security? Better save yourself the money! It can't be done!

Still, I can laugh about such ignorance, until blatant lies pop up. Linux just seems more secure, because there are so few of them. That is FUD. And if you're a competent editor, you know it is FUD. Why? Well, when it comes to web servers, the biggest target is Apache, the Internet's server of choice, even after attempts of Microsoft to bring its share down. Attacks on Apache are nevertheless far fewer in number, and cause less damage. And in some case Apache-related attacks have the most serious effect on Windows machines. Attacks are of course aimed at Windows because of the numbers of users, but its design makes it a much easier target, and much easier for an attack to wreak havoc. Windows' widespread (and often unnecessary) use of features such as RPC meanwhile adds vulnerabilities that really need not be there. Linux's design is not vulnerable in the same ways, and no matter how successful it eventually becomes it simply cannot experience attacks to similar levels, inflicting similar levels of damage, to Windows.

Why is Windows so vulnerable? There are several reasons for that. First, Windows has long been hampered by its origin as a single-user system. Windows was originally designed to allow both users and applications free access to the entire system, which means anyone could tamper with a critical system program or file. That means viruses, Trojans, spyware and other malware can do that too. Windows Server 2003 makes some more progress toward true multi-user capabilities, but even Windows Server 2003 hasn't escaped all of the leftover single-user security holes. That's why Windows Server 2003 has to turn off many browser capabilities (such as ActiveX, scripting, etc.) by default.

Second, Windows is monolithic by design, not modular like Linux and OS/X. These architectural models have very deep security implications, one being that a monolithic system tends to make security vulnerabilities more critical than they need to be, since every flaw in a piece of the system is exposed through all of the services and applications that depend on that piece. E.g. when Microsoft integrated Internet Explorer into the operating system, Microsoft created a system where any flaw in Internet Explorer could expose your Windows desktop to risks that go far beyond what you do with your browser. A single flaw in Internet Explorer is therefore exposed in countless other applications, many of which may use Internet Explorer in a way that is not obvious to the user.

If you are a Windows user and you're reading this using Internet Explorer, I can only advise you one thing: go to the nearest Firefox distribution point, get the 5 MB package, install it and come back. Still reading this? Getting a bit red in the face? Think I'm unfair? Well, I challenge you to copy a few credit card numbers to your clipboard. It would be very nice if you'd add some PIN codes too. I'm doing this too on my Linux/Firefox workstation, don't worry. It won't infect your Windows installation in any way, it just shows how information can leak out - and it works with other information too, not just credit card numbers. Now click this link. Still so happy with Windows and Internet Explorer? Still think I'm unfair? Here is how it works. And note this is only one of Internet Explorers vulnerabilities.

And last, but not least, because of the horrible quality of coding at Microsoft itself. This blog really shocked a few people when it came out. And don't think Vista will do much better. Apart from being nagged by UAC popups, it will only get worse since Microsoft has decided security cannot be left to third parties. Well, that feels good, being totally dependent on Microsoft for your digital security..

Some Windows zealots boast that Windows has C2 level security, but what few people know is that this is only valid in a standalone configuration – yes, that means no network – and no floppy. Microsoft acknowledges this on their site, but hides the actual information in an executable or buries you in a lot of information. It bashes Novell, lists C2 requirements extensively, only to say in the middle of a paragraph that "this means that the evaluation of Windows NT Server as a standalone system (..) is complete, and that the evaluation of the networking functions (..) is still in process".

Ok, let's wrap it up. I think it is clear by now that Windows security was primarily designed for a single user, stand alone Operating System. For a long time Microsoft focused on selling software, as much as possible and as fast as possible. Proper design and good coding had to take a backseat. Instead of fixing these fundamental problems, Microsoft has continued to add kludges, which in essence don't solve anything. It was not until after several attacks had decimated Windows installations that Bill Gates declared that security was the topmost priority.

That was January 2002. And what did Microsoft do after these disasters? Did they scramble and fix the problem? No, they spread more FUD, and more FUD and still more FUD. Up to this day. And the big news sites sat up and barked happily along when Microsoft issued another boring, FUD-ridden press release instead of doing what they should be doing and do some proper research of their own.

We've come full circle here. In the next and final part of this series I'll be delving in the dark, murky dungeons of Windows backdoors. Don't believe they are there? I'd be most surprised if they weren't there and so will you.

Microsofts Genuine Advantage

A lot of managers are afraid to use Open Source Software, because it doesn't come with any support. Of course that isn't true. It is a classical piece of FUD. And then again, how much is support worth?

I've been able to introduce several pieces of Open Source Software to the company I work for and we haven't needed any support so far. It just works. And if you want to, there are plenty of big companies that do offer support, like Red Hat, Novell and IBM.

On the other hand, I've had many experiences with 'professional' support in a professional environment and they weren't always very good. More and more MCSE's, less and less resolution.

But that is B2B support. An Innocent Consumer may get considerably less latitude as is illustrated by this (fictional, but inspired on real events) day at Microsoft Support:

MS:Microsoft Support. Good morning, sir. Can I help you.
IC:I have a problem. My computer has halted with a message.
MS:What's the message, sir.
IC:ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102; Microsoft Windows is Not Present
MS:May I have your product key, sir.
IC:[gives completely valid product key]
MS:I'm sorry, sir. That is not a valid product key.
IC:But I bought it at Amazon! And it was shipped with Federal Express.
MS:I'm sorry, sir. It is a counterfeit copy.
IC:I don't understand..
MS:I'm sorry, sir.
IC:Is there anything you can do for me?
MS:You could contact Amazon, sir. Or..
IC:Or what?
MS:You could send us the CD's, sir. We will verify authenticity for you.
IC:That would be great! When will I have them back?
MS:We just verify authenticity, sir. We won't return them.
IC:Even if it is a genuine copy?
MS:Even if it a genuine copy, sir.
IC:Oh..
MS:I'm sorry, sir. Have a nice day. [click]

MS:Microsoft Support. Good morning, sir. Can I help you.
IC:Windows displays some strange message on my screen.
MS:What's the message, sir.
IC:ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102; Microsoft Windows is Not Present
MS:May I have your product key, sir.
IC:[gives completely valid product key]
MS:Ok, sir. Can you please reboot your PC?
IC:Will that solve the problem?
MS:Please reboot your PC, sir.
IC:Ok, ok, wait a minute.
MS:Please call us again if you eXPerience any more problems. Have a nice day, sir. [click]

MS:Microsoft Support. Good morning, sir. Can I help you.
IC:Hi, it's me again. I still got the same error.
MS:What's the error, sir.
IC:ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102; Microsoft Windows is Not Present
MS:May I have your product key, sir.
IC:[gives completely valid product key]
MS:I'm afraid you'll have to reinstall Windows, sir.
IC:Really? That takes forever. Is there any other way?
MS:No, sir. I'm afraid not. Have a nice day. [click]

MS:Microsoft Support. Good morning, sir. Can I help you.
IC:I reinstalled Windows and I still got the same message box!!
MS:What does the box say, sir.
IC:ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102; Microsoft Windows is Not Present
MS:May I have your product key, sir.
IC:[gives completely valid product key]
MS:That will be fixed in the next release, sir.
IC:The next release? When will that be?
MS:Vista will be released January 2007, sir.
IC:Can I get an update?
MS:No sir, not for a OEM version.
IC:And how much will it cost me to get this new release?
MS:$199 for Windows Vista Home Basic, sir. Do you want to pay with Visa, Mastercard, Diners, etc.
IC:I can order right now?
MS:No sir, we have to charge you $350 for this call.
IC:I don't get any free support?
MS:No sir, not after sixty days and only if it concerns a bug in our software.
IC:This isn't a bug?
MS:No sir, it's a critical security update issue.
IC:[murmurs a credit card number]
MS:Thank you sir, for calling Microsoft support. Have a nice day! [click]