Windows XP
I reduced the c:\ drive to 20Gb, and defragmented it. Visio and ms project are a part of life, so I'll need the windows partition for dual booting. Eventually I'll switch to a VMWare image, but a dual boot is the path of least resistance for now. I stripped the e:\ drive.
Backing up was as follows:
Anything in E:\home\dehora that is not already in subversion (I always keep my ~home in subversion) E:\home\My Documents Anything in E:\home\work that is not already in subversion E:\home\thunderbird (anyone out there tried putting 6Gb of mail into Subversion yet?) C:\Documents and Settings\dehora ....
... and various scatted dot folders that have configurations and data (such as gaim and feeddemon). This is one the reasons I'm off windows. The filesystem is too unstructured and that has apps throwing data all over the place.
Reinstall Windows from the backup drive (this is an IBM TP, it has a partition dedicted to reinstallation). That works, and after about 5 reboots, windows is Really Fast again. And that's another reason to leave Windows, the longer you use it the slower it gets - reinstalling windows every 8 months isn't really on anymore.
Kubuntu
I have traditionally liked KDE more than Gnome. And blue is a nice color. Install Kubuntu via the live CD.
I set things up like this:
hda2/ - 35 Gb hda5/ 10Gb '/' hda6/ 20Gb '/home' hda7/ 2 Gb swap hda8/ 3 GB fat32 '/media/osshare
It didn't like my partitions, it only saw hda5 as 35Gb ext3. Hda5 is actually 10Gb and is the first logical partition on hda2, an extended primary, which is 35Gb. Bizarre. After about a hour of thrashing about with the disk configurations, it turns out rebooting fixes all that, and Kubuntu can now allocate the partitions.
Installed. It Just Works (tm). Brilliant. Start installing some apps. don't bring over the data yet.
Oops. Adept, the Kubuntu package manager crashes hard. The Internet says Adept is crashy but tends to come back with some work. However, removing lock files, killing processes, reconfiguring, hand cleaning the database - none of that will get apt running again. After about 3 hours, and although I've broken 2 or 3 apt databases in last year, I'm wondering about a distribution that will so casually break apt, which is reputedly solid software. The solution I found was to burn the Ubuntu iso with k3b, give up on Kubuntu, and start over.
Ubuntu
Out of curiosity I tried to confuse its partition manager as per Kubuntu, but it didn't bite. No problems during installation.
It Just Works (tm). Ubuntu is just like Kubuntu expect it's sepia, not blue, and doesn't have adept, but does have Gnome.
Over the course of the first week, I Installed a lot of packages, such as easyubuntu, subversion, meld, MyPasswordSafe, Thunderbird, Firefox ("I Can't Believe It's Not OSS"), Eclipse, IDEA, KMyMoney, Gaim, Skype, gFTP, gtkpod, mysql, and lots more. To install some things, means letting the package manager talk to server things called "verses" (universe, multiverse, geddit?).
Ubuntu in use
Ubuntu/Gnome/GTK/Linux is a fine environment, probably an ideal development environment. I didn't boot back into windows for two weeks (I had to work with some Visio files), which I think says something. The way Ubuntu lays out the screen, with a thin task bar at the top for shortcuts, menus and devices/status and a bottom context bar for opne apps, trashcan is a very good use of screen real estate. And it never slows down or degrades in performance over the course of a day, which is important for anyone's work, but especially so for developers.
The other that's great about being on a Linux is a very simple thing - symlinks. I haven't had a chance to look at Vista yet, I hear the monad shell is a huge improvement, but Windows really really needs to support symlinks. Clearly it can be done (witness Junction Link Magic).
The real upside however is that as desktop environment, Ubuntu is more or less complete. Lots of things in it and Linux just work - such as:
Printing. Wireless (install the networking tools). Dual monitor support (some config needed, but it's well-documented). Automouting USB drives. Samba and file sharing with windows.
My kids *love* the screensavers. My daughter asked "what's that" (Amarok), and wanted to know what games came with Ubuntu. It's easier to switch kids if they think Ubuntu is Cool, as opposed to Good.
Notable apps
The post-it notes are cool, and useful.
Eclipse/PyDev/Subclipse
In the switchover, I'm surprised about one thing above all else. In a span of less than two weeks, Eclipse+PyDev became my preferred Python enviroment. I hadn't used Pydev for a while. It's now a very impressive IDE. Previously I had been using Wing, but I've never quite gotten used to its project and file management idioms. Part of the appeal of PyDev is actually in the Subclipse plugin, which has also come on in leaps and bounds in the last few years. Eclipse/SWT itself looks well on Linux (I'd heard otherwise), and seems to be very stable.
Amarok
My colleagues rave incessently about Amarok. I can see why; it's sweet. It stores your prefs in a database, integrates really weill with the web. I mean *really* well - better than anything I've seem that isn't a browser or a feedreader. I love that it has wikipedia, last.fm and radio support built in; and who'd have thought musicbrainz could be so useful? Also it supports mutliple folders sources for your music, and behaves gracefully, as it should, when you are disconnected from your shares or USB drive. The only snafu I had was that you need a particular legacy version of libxine-main1 to play flac files with Amarok 1.4.3, and that takes some fiddling to setup. An awesome application; this is how rich client apps should be. And I hear there's .rb files in there.
Emacs
It takes ages, but you can get an anti-aliased Emacs for Ubuntu. I've been using NTEmacs for years, and not having decent typeface support would have me crawling up the walls. Most of the extensions in my ~/emacs folder worked, except for some very weird behavior with jde (I think it included my .svn folder in its configured makefile or something). Removing the jde folders and reinstalling without .svn subfolders fixed that.
Annoyances
Some minor annoyances:
Cut and paste doesn't work properly. I don't know what level it's failing on, but I regularly lose the last few characters of my selection. Plus sometimes paste is right-click, sometimes it's middle-click, sometimes its Ctrl-V. I assume I'll get used to this eventually. Cursor jumping. The cursor jumps up one or two columns now and then. I don't know why this is, maybe some focus follows mouse thing. Happens inside most apps, but not in Emacs. Hibernate/suspend doesn't work with the Thinkpad. I now have to organise myself properly by saving my work state and turning my laptop off before going home. Others might now be impressed with my new-found professionalism and structured work methods, but it's annoying to to have to serialise my work state every day (I used to go up to a fortnight without rebooting Windows, not a good idea maybe). A combination of Postit notes and Emacs buffers are saving me each day. I think, but am not sure, that my anti-aliased Emacs crashes intermittently. As in poof, utterly gone. I really want to be imagining this one. Nautilus: doesn't handle large numbers of files too well (I have some folders of XML and data files with between 10,000 and 50,000 items; windows will just about function; Nautilus crashes. But it's an extreme need to browse 10,000 files. You get very used to have the folder view on the left hand side in Windows explorer; not all Nautilus modes have this and folder view seems to go away depending on what you're doing; Overall it seems to prefer a browser style model where you drill up and down and rely on breadcrumb bar for context. Not sure about that, I guess I'll get used to it. Gedit occassionaly stops shutdown (similar to how a Windows apps can generally stop that OS booting down). More than once I thought I had shutdown, closed the lid, gotten home and found a very hot laptop in my bag. I've been told this isn't possible, but I managed to show it a colleague a few weeks ago. Installers and icons: for a number of apps I installed, I had to manually create a .desktop file, put it in the right folder, and mockup a 16x16 image file for the icon. it's not a big deal to put one of these together, but as a developer I'm not sure I fit into Ubuntu's notion of a "human being". Human beings don't install software and expect to edit config files to see a desktop icon (imagine asking people to edit .ini files in windows). In fairness, this is probably more to do with the app developers than Ubuntu itself.
Conclusion
Most of this was written back in September. After about 6 weeks of heavy use, there's nothing that has me wanting to move off Ubuntu. It's remarkably solid and well-designed, and maybe no more than 2 years away from being something anyone could use. Definitely a keeper.
The only real downside are some applications I truly miss from Windows - these are Feeddemon, Copernic and TortoiseSVN which have been supplanted by Bloglines, Beagle and Subclipse for now. Beagle and Subclipse are fine, but not having a really good client side aggregator is a pain.