Sunday, October 19, 2008

Linux vs. developers

I work at Microsoft, and from observing the workplace, I am pretty sure that every Microsoft developer is perfectly capable of installing a video card.

When I worked at Google, all my computer configuration tasks were handled by technicians from the internal IT service called the "Tech Stop" (*). They were smart, efficient, and knowledgeable Linux experts, and they were always on hand.

Coming from the Windows world, I of course needed a lot of help. At first, I thought that it's just me, and eventually I would accumulate enough know-how to handle Linux myself.

As time went, I noticed that most other Googlers rely on the Tech Stop experts as well - for the tasks that I considered trivial, and which any developer should be able to do easily - on Windows.

I started asking around, and discovered that at Google, 80% of all engineers would NOT be able to replace a video card with a different model: that would require configuring X, and that was well beyond vast majority of people.

Linux: 1, developers: 0 :-).



Сергей said...

I think it's not related to development skills. It's just different level of your habits. GUI or CUI :-)

Win32 useless without UI (and even has GUI as part of the kernel), so it is required to support all bunch of graphics cards or just VGA (for not recognized cards).

Linux can be useful without GUI.

Yi Li said...

I like to manage my own Linux workstation and Windows laptop, and keep them away from Techstop guys. I don't like other people to touch "my" machines. I can do this even Linux configuration might be a little difficult than Windows.

And another example:
I was using a Matrox G400 video card on my home computer. And it's a Matrox G550 now. The two cards share the same driver. The problem is, I can not get OpenGL enabled on Windows Server 2003, for neither card. Though DirectX has no problem.
OK! Think twice before saying "Have you turned on the hardware acceleration on Server 2003?". I'm not newbie.

1. I already turned on video hardware acceleration. Otherwise DX won't work.
2. The card IS OpenGL enabled. It runs happily on Windows 2000.
3. Windows 2003 IS OpenGL enabled. nVidia cards runs happily on Windows 2003.
4. I have tried every version of drivers.
5. I wrote to support. Guess what? "Have you turned on the hardware acceleration on Server 2003?"
6. Search with Google? Well, probably because these two cards are old style, and Server 2003 is pretty new, there is few information.

Well, I had to say, sometimes installing a video card on Windows is not that easy, unless installing means "having it lightened".

Илья Казначеев said...

You can't have linux:developers 1:0, because linux *is* developers.

I can reconfigure X after hardware update. But it's pretty PITA. X configuration sucks: it contails a lot of garbage X just don't really need to know (or can infer) to make use of the system's hardware.

But, X isn't linux, the same X powers freebds, solaris and a lot of commercial unices.

BadTux said...

Recent Linux distributions make it a PITA to reconfigure your "X" configuration, and sorry, it's not that I'm inexperienced with Linux -- I've been doing Linux since 1995. It's just that distribution vendors have completely messed up their "X" installations, dropping the old X configuration tools that used to be available because they were "too hard", but not adding anything to replace them. Linux on the desktop is just too darned frustrating even today, ten years after the Linux geeks started nattering about Linux on the desktop. (And don't get me started on Linux *sound*, my blood pressure won't stand that!). My revenge: I bought a Macbook, pumped it up with 4gb of memory and a 320gb hard drive, and run Linux in a VMWare window when I need Linux. And if I, with over 10 years of Linux experience, finally get fed up enough with desktop Linux to do that, is it any wonder that Googlers with much less experience simply say "f*** it, I'm calling Techstop"?

Someone needs to take the most popular Linux distribution vendors out to the woodshed and switch some sense into them...

Sergey Solyanik said...

Or alternatively, they need to be paid for software they build :-). But this would be like Microsoft, then...

On a serious note, software development has tons of nasty, rote, boring projects - internationalization, integration, ui finetuning (including making sure that keyboard shortcut are the same as everywhere else, and not the ones from your first and still favorite text editor Epsilon :-)).

I don't understand how these aspects can be delivered for free - you've gotta pay me a LOT of money to get me to work on this stuff :-)...

BadTux said...

And Red Hat Software in fact does have hundreds of programmers on staff who are paid to deal with this stuff. But they're like DEC in 1983. DEC asked their customers, "what do you want?" and their customers said, "bigger and faster minicomputers!", so DEC happily delivered, utterly ignoring those new "personal computer" thingies. Red Hat asks their customers, "what do you want?" and their customers say, "better and faster server operating systems!" and Red Hat happily delivers, largely ignoring that "desktop" stuff. The Nokia Internet Tablets prove that it is possible to put a consistent and usable UI on top of Linux. It just seems that nobody else is willing to try, instead releasing a bunch of hashed-up stupidity.

So I basically give the middle finger to Linux on the desktop. Until someone is willing to put the money into doing it right (and realistically Red Hat Software is the only outfit in LinuxLand who could do so), it's just too much $%@! frustration.

Anonymous said...

PC user - mostly can change video card

Linux users - mostly can not change video card :-)

Mac user - mostly do not even have to know there is video card ( or driver !!!) Things just work :-)

That why on Google IO 08 almost 100% of Googlers had MacBook Pros ruing OS X !