Archive for November, 2006

the ubuntu devconf

November 20, 2006

A week or so ago I went along to the Ubuntu Developer Summit at Google HQ. I saw Mirco demo some of his new toys, met up with Christian and Alex from VMware, but more importantly had an interesting hour-long session with the Ubunterians about packaging and third party software – all the usual stuff.

I’ll be doing it all over again in a few weeks at the OSDL summit, as well.

Here are some notes on the result of that chat:

  • It was generally agreed there were problems and it’d be nice to resolve them. Some time was spent talking about the issues that 3rd parties have (eg ELF misdesigns)
  • There was disagreement about the solutions. The Ubuntu guys see themselves as not being Linux but rather something else. “There is a reason it’s not called Ubuntu Linux”, it was said. They don’t want ISVs to write software for Linux but instead write it for Ubuntu (and by implication, either not bother with Red Hat/Novell or “port” apps individually). The fact that Ubuntu doesn’t really have enough market share to justify porting apps to it specifically doesn’t really matter.
  • There was a strong feeling that the goal of standardisation across distributions is inherantly incompatible with the fundamental idea of a distro. The logic goes, what is a distro if not a set of patched packages? Standardisation takes away the ability to modify packages. Therefore we can no longer improve things beyond the base. Therefore we cannot build a distro. Therefore standardisation is a bad thing.
  • There was talk of using virtualisation, efficiency tradeoffs etc – so if the Ubuntu guys want to fork GTK and mess around with some API then patch the apps which break, that’s fine, as long as they provide a “pristine” upstream copy that standardised apps run against. It means less efficiency if you run both upstream binaries and downstream binaries at once but it improves reliability. But they weren’t keen on even this compromise.
  • They were surprised that Inkscape considered itself as an ISV. There wasn’t much awareness of the problems open source projects can have with distributions – like slow updates, odd patches etc. The fact that Inkscape are building autopackages I think was a surprise.
  • I had to leave after an hour for a cap planning meeting, but I asked wasabi (who was present) what the conclusions were afterwards. Apparently it boiled down to “well this sucks but what are we going to do about it?”. Answer: nothing.

This sort of conversation makes me very cynical about the relevance of the OSDL and LSB. It is easy to pick on Ubuntu here but in practice I know this kind of thinking is endemic to the distributions … it would have been exactly the same at a Fedora conference. It was a shame that Mark Shuttleworth didn’t show up – his blog entry is the only reason I went along, as I’ve had similar conversations via email before so knew what to expect. Unfortunately it sounded like he had a lot of pushback on those plans and they are now being watered down to simply being “it’d be nice if source compiled the same on every distro”, which is basically where we are today, sort of, except because there are no ISVs there’s no real incentive to keep it that way and sometimes it breaks.

Nonetheless I’ll be going to the OSDL DAG meeting in Oregon in December, this time representing Google instead of only myself. And I’ll be saying exactly the same things as we always have done.

macos vs linux

November 5, 2006

When you join Google as an SRE they ask you what kind of laptop you want. When I joined the choice was between a MacBook Pro and a Windows based ThinkPad. I believe Linux laptops are either going to be supported “real soon now” or were just added, but given the choice I went for the MacBook. This was a smart move – SRE work revolves around UNIX and the Mac is the lesser of the two evils in this respect.

Eventually the plan is to get a desktop and move entirely back to Linux. For various reasons that can’t happen until 2007 though.

Until then, I am stuck with a Mac. Here are some things I like about it:

  • I can search for and download pretty much any random app and it’ll work.
  • It suspends and boots very fast. The boot/shutdown is very polished.
  • VPN integration is seamless
  • It has an integrated webcam that works really well
  • The magnetic power connector is neat
  • I can scroll by putting two fingers together on the touch pad and dragging
  • Having the menu bar at the top allows for some nice unified app/toolbar aesthetics

Unfortunately the list of things I don’t like is much longer. For most of these issues Linux or non-Apple hardware is better.

  • Heat
  • You can’t adjust the font size on a global basis (!!)
  • Awkward keyboard. One key is labelled with an unpronouncable symbol. The ctrl button doesn’t extend all the way to the end, so I’m constantly hitting “fn” instead of control, or the command key instead of alt. No right mouse button. Eject is just above delete, so I eject CDs into my stomach.
  • Crap window management, eg, there are no virtual desktops, you cannot maximize anything, and the only way to select a window you can’t see is to use they keyboard or expose, which is worthless for windows that all look the same when shrunk (eg, emacs buffers or terminals).
  • Talking of emacs, the native version seems to be “Aquamacs”, which has some extremely questionable modifications. By default every buffer opens in its own window. This is apparently The Mac Way, but it’s also The Wrong Way. In a big emacs session I can easily have 10-20 buffers open at once, and having each one in a separate window would be insane. Another annoying Mac-ism: Command-Q is bound to quit, which is right next to Alt-Q (fill paragraph).
  • The terminal emulator is crap. It uses some non-standard font that doesn’t resize or anti-alias correctly, there are no tabs, hitting Ctrl-C doesn’t do what you’d expect and it has to be closed manually after the shell ends. It doesn’t have desktop transparency either …. it can only do real transparency which is too distracting.
  • Even if the terminal emulator ruled, the FreeBSD userland would let it down. I’m sure it’s great if you’re used to it, but I grew up with GNU and trivial stuff like the lack of colour ls now bugs me all the time. Half the command line options I try to use either don’t exist or have different names.
  • Basic developer tools like subversion are not installed even with the developer tools pack. Installing them using the system installer doesn’t tell you where the files went ….. in this case into /usr/local/bin which isn’t in the path!
  • Riddled with pointless inconsistency. Some apps unload when you can’t see them anymore, others don’t. Some apps use one theme, some use another, and “plastic” apps using the newest theme switch back to the original pinstripe when not focussed. This is way more distracting that it sounds!
  • Many apps, including the Finder, like to block for long periods on network IO. You can’t bring them to the front when this happens.

Looks are a wash. A lot of people say MacOS is prettier than Linux, and that was certainly true 3 years ago but these days the differences are irrelevant. Apple have toned down the eyecandy progressively over time and the Linux guys have increased it, so they now meet somewhere in the middle. The latest iTunes uses the same shade of grey that Windows 95 did, and uses custom scrollbars that are no longer patterned. It still looks professional, but it’s no longer got any “wow” factor left. Meanwhile the latest Ubuntu looks great. When Christian was using his tricked out compiz/gnome desktop in Happy Donuts a few weeks ago, a stranger came over and started asking about it. He’d seen the cube and wanted it on his machine. Explaining what an OS was proved interesting …