Wednesday, November 30

Puns: Victory

My wife is one of those people who hates puns. You already know about me.

So, when I can get her to laugh at a pun or two, it always feels like a not-so-small victory.

The other day, as we were dressing our baby together, I was noodling one of his arms into his shirt while she was struggling with the other. I got his hand out first, so as soon as it popped out of his sleeve, I said,

"I win!"

That was enough to make her laugh, but I really caught her off guard when I continued with,

". . . the arms race!"

Monday, November 28

Solaris Overview

The comments I've gotten (in person; none on the blog yet) on my previous post have ranged from "WHOA!" to "...what's Solaris?", via bemused rolling of the eyes. Those were from colleagues, university friends, and my long-suffering wife, respectively.

So I figure I should explain a little bit what Solaris is. It's a Unix operating system, one of many. That means that rather than being based (at some level) off the original DOS code, it's based off a different proto-operating system that is technically better-designed but a lot less user-friendly. Sun Microsystems develops it, although they've recently open-sourced the code (which means that anyone can change it now, and they don't have to buy the DVD from Sun to get it). It's only really as of the most recent release of Solaris -- version 10 -- that it runs well on PC hardware; previously, Solaris only really ran on Sun's own SPARC machines.

As a Unix variant, Solaris is a pretty strong one. It's scalable (which means that when you put it on bigger and better hardware, it can take advantage of all the extra processing power it has available), robust (which means it's difficult to crash), and secure (which means it's difficult to gain access to other people's files, or to pretend you're someone you're not). It also shares the advantages of Unix in general -- several of its core design decisions make it much easier to program for than Windows, it's more secure, and (at least right now) it's less vulnerable to worms and viruses.

Right now, Solaris' major competitor for the hearts and minds of the Unix community is Linux. Linux is better than Solaris at being user-friendly, better at integrating new features quickly, and less encumbered by silly executives' ideas of what makes a good operating system. Solaris is better at making big corporations happy with it, and at moving in lockstep with itself so that the whole package works with itself, and you don't have dumb problems where your keyboard driver's latest version doesn't work with the latest version of your motherboard driver, and there's no older version of your motherboard driver that also works with your mouse.... and so on.

So that's what Solaris is! Please feel free to tell me I'm wrong and why, if you also know what Solaris is. I'm sure I missed things.

Sunday, November 27

I'm writing this from Solaris.

It took almost a week, but I finally got Solaris 10 installed and all up to snuff on my laptop. At this point, it almost feels natural.

There are a few warts remaining: I'm using the stock graphics and touchpad drivers, which work well enough but are missing a few key features (hardware acceleration for the graphics, and the side-of-the-touchpad scroll functionality for the touchpad). I'm not entirely happy with the default fonts that Firefox and Thunderbird are using, but that's relatively easy to fix as well.

So on with the war story!

I found, downloaded, and burned to DVD a Solaris 10 image that's a beta candidate for Solaris 10 Update 1. Burning the image under Windows was a bit of a pain (the online community has much more information about burning illegal DVD copies than legal ones; if you have an iso image and you just want to put it on a DVD, you end up learning a fair amount about how to get around the (non-existent, in this case) copy proteciton. Somehow not, I think, what the MPAA and RIAA had in mind when they attempted to lock people out of the format). However, after a single abortive attempt, I was able to get a bootable DVD image, and get to the Solaris install mode.

Installation was actually relatively painless, once I got over kdmconfig's terrible, terrible user interface. The Solaris installer still needs a lot of work in the UI department to be approachable; installing Ubuntu was a lot easier. On the advice of a few friends around the office, I installed in non-networked mode, so I didn't have to know DNS names or NIS setup or any of those goofy things. It just asked me for a hostname and a timezone.

Once I had the bits laid down on the drive, with grub in place and set up to dual-boot Windows and Solaris, the first of the Moments of Truth arrived: time to see if it boots.

It did.

Into 640x480, even though the installer had correctly detected and used the laptop's native 1400x1050 resolution. Without a way to talk to the Windows install, where a bunch of useful files were. With neither wired nor wireless networking functioning. And without sound or any battery management. So I tackled those problems in the order I've given them above, which also happened to be the order of annoyance for me.

Video As it turns out, the installer uses Xsun as its X server, instead of Xorg (which is the default postinstall); while kdmconfig can do autodiscovery for Xsun, it can't for Xorg. In fact, xorg.conf was absent from /etc/X11 entirely, and it was using the internal defaults which are, of course, pretty conservative. I was able to launch a terminal window (I guess I could have dropped to console mode) and get to /usr/X11/bin/xorgcfg which let me specify some more sane values for my Hsync and Vsync without worrying about arcane details of xorg.conf syntax, and then log out and restart Xorg. No change! still 640x480. So I checked what xorgcfg had actually done in xorg.conf, and found that it had commented out the H and Vsync entries it put there, in the hopes that the monitor's DDI subsystem would be capable of sorting that stuff out on its own. It wasn't, though, so I uncommented the entries and restarted again -- success! Native resolution, persisting across reboots, without instability.

Windows Interoperability: The windows side of the laptop was set up as two partitions: an NTFS boot partition, and a FAT32 partition helpfully called SHARED. Solaris doesn't come with an ntfs driver, but it does have the pcfs driver that's capable of reading and writing FAT16 (which nobody uses anymore because it'll only do 2GB partions) and FAT32. Mounting it was just a question of experimenting with mount(1M), with the mount(1M) and pcfs(7FS) man pages open. Another point of interoperability that amazed me to begin with was the fact that when I stuck a FAT-formatted USB thumbdrive in the machine (actually to transfer some networking stuff over to Solaris), it Just Worked -- automountd noticed it, mounted it, and helpfully put a link on my GNOME desktop. It Just Worked! It was more than a little creepy, and I couldn't help but wonder whether it was going to corrupt files or otherwise cause problems. But it didn't (as far as I could tell).

Networking: I was expecting networking to be an ordeal of legendary proportions. It seems to be a place people get stuck in a big way, and it's compounded by the fact that, until you get internet connectivity, it's impossible to find solutions to your problems on the machine that's actually having them. It was surprisingly easy, though, not least because of Inetmenu. After installing the package and setting up RBAC (all described in the documentation), just running the GNOME applet automatically connected me to work's network, authenticated properly against the NIS and everything. And I thought the thumbdrive thing was cool! It Just Worked, almost as if I was in Linux!

Getting wireless set up was a bit more difficult, but that wasn't really Solaris' fault. I had only gotten the wifi router 24 hours before, so I was trying to figure out its web UI, the Windows wireless networking setup, and the Solaris wireless setup all at once. Also, unlike the wired card, the driver I needed wasn't stock -- I had to get it from the same OpenSolaris laptop community site I linked above. Also, the wificonfig utility that I used to set my WEP key and configure the wireless connection was a bit flaky, and reported failure when I ran it alone on the command line but seemed to work when inetmenu ran it. Oh well -- it works, and I'm actually typing this wirelessly from my living room right now.

Sound: After the wireless triumph, I was able to get some software installed and make the place feel a little bit more like home. I snagged Blastwave's pkg-get, and downloaded firefox and thunderbird and sudo, to make my life easier and not have to su to root all the time to do configuration. I also started looking around the web to see what the deal was with sound, and found a few places that had drivers I could use. I installed them, but I couldn't get them to work -- I knew that they were doing *something* though, because after I installed them and reboot(1M)ed, the machine would lock up when either Windows or Solaris tried to initialize. Eventually, I discovered that reboot(1M) and shutdown(1M) are NOT THE SAME THING, and that I needed to do the latter and not just the former to get the driver to load properly. Once I did that, I had sound!

Battery: Solaris' power-management functionality for laptops is pretty limited. It can't do the dynamic performance tuning that Windows can with the Pentium M, and scaling screen brightness and such on the fly according to battery usage is beyond it. That said, there are some beta programs on the community site for a battery utility and GNOME tray applet, and I'll take what I can get. I get about an hour and 40 minutes of battery life out of Solaris on a full battery, probably more if I can figure out a way to dim the screen and scale the CPU back manually. That's OK though -- the times when I want to run it without a battery pack are actually relatively few and far between.

I'm sure I've glossed over some of the difficulties I had, and that there are configuration steps that I've missed in this little war story. Drop me a line if you're interested in more details, or if you want to install Solaris on x86 -- I feel confident I can solve most installation problems, now.

Phew! Now I can get back to real work!

Thursday, November 24

Mutton Bombs


I don't know that I can think of a single thing that'll top that. Mutton bombs.

Wednesday, November 23

Hipeponymous: a Canoe metareview

The Tragically Hip have released their first ever Greatest Hits collection, titled Hipeponymous. I haven't seen/heard the 2CD, 2DVD monster set yet; I have, however, read Canoe's review. I'm mostly happy with it, with a few minor exceptions: The review text feels lukewarm to me, which is a bit at odds with the 4/5 star rating, and I disagree with the author's desire for a more intrusive look into the musicians themselves rather than the band itself. One of the reasons I like the Tragically Hip is that the personalities behind the band are so self-effacing; the band is about the band, not about its members.

The review was certainly effective in making me want the album; looking at the track listings and the descriptions of the DVDs, I've already made plans with my partner-in-crime Pharaohmagnetic to (as he so poetically put it) "drink deep from the spirit of the Hip and the spirit of the Scots loch. You know. Rock and booze. MANLY!"

I'd give this review a 3/5: the presentation is solid and it hits all the major points, but that sparkle of wit that makes a good review great just isn't there.

Laptop Agony, Laptop Ecstasy: *nix on the Toshiba Tecra M2

This article is about how I have tried, with mixed success, to install Ubuntu Linux and Solaris 10 on my Toshiba Tecra M2.

That line is so that people can find this post if they're looking for another war story.

This is the first line of the actual experience! When I got my laptop, it came preloaded with Windows XP, modified by the IT department (it's a company toy) to their exacting standards of corporate ridiculosity. It also had more than half the hard drive set up as a Linux partition, running a relatively strange distro loosely based on Suse.

I considered it a writeoff from the beginning, and blew it away in favour of Ubuntu. I'd heard good things from /. about the Debian-based, end-user-focused, fanatically-supported distro, and I'd wanted to try a Debian flavour for a while. The Ubuntu install was totally painless. Creepily so, in fact; I was expecting to have to do a lot more fiddling to get things to work than I did. Ubuntu is a GNOME distro, which is fine with me; they offer KDE packages, but I'm not familiar with KDE so I haven't tried them. The Synaptic package manager is as creepily easy to use as the installer, and within 20 minutes of logging in for the first time I'd downloaded a few new packages and updated the kernel and libc and openssl and a few other things I don't remember. All I had to do was point and click.

Of course, once everything was stable it was time to break things. installing a better nvidia driver was another Synaptic step, along with some conf file edits for the settings manager program. Hardware acceleration was noticeable, too; it's not often a single software update has such a noticeable effect on performance, but this one did.

Then, I jumped off the deep end and tried to get TwinView, NVidia's dual-monitor system, running. That took a *lot* of hand-edits to xorg.conf, but I was successful in getting it mostly right after a couple hours. Google, the ubuntu forums, and the nvidia linux driver forums were all very helpful; it was really a question of getting the correct parameters on the driver. Having some familiarity with TwinView from the Windows side was helpful too, so I didn't have to tab back and forth to the documentation to figure out what the options meant.

Once that was up and going, I started fiddling with the touchpad driver -- Ubuntu Blog has some good info. Haven't quite got that working perfectly yet, but it's usable; I can use tap-to-click, but not tap-hold-to-drag. More on that in this space if I get it working.

But that might be a while, since I'm going to be blowing the Ubuntu partition away and replacing it with (shock! horror!) Solaris 10.

Yeah, that's gonna be a beating. I'll let you know how it goes.

Wednesday, November 16

It's a good thing I like being scared.

Dear sweet lord above.

Charlie Stross has mastered a kind of cerebral, analytical approach to horror to which I am very vulnerable, in an abstract kind of way; His Laundry horror stories have yet to fail to make me look over my shoulder for days afterward, and his political analysis seems not to fall into the standard British-scifi-author leftism that annoys me so much about Banks and his ilk. I think it's the plausibility that does it.

And today's article, linked above, is a fine example of his political analysis.

Monday, November 14

The Agony and the Ecstasy of New Hardware

Yay! I got a laptop.
Oh god. I got a laptop.

So now I can finally get around to getting wireless in the house -- and get yelled at for using it. Now I can finally work in the park -- and get dirty looks for being one of those jerks that brings his laptop to the park. Now I can work on a powerful, roomy machine -- and I have to reinstall all my apps on the new machine. Now I can play with new hardware toys like a touchpad -- and have to reinstall the drivers 4 times in a single day because of spyware interactions.

It goes on, but you see where I'm going.

It's an underwhelming, exhilarating experience, new hardware is.

Tuesday, November 8

...and while I'm here

Civilization IV was released this week.

Most of my Civ experience is in Sid Meier's Alpha Centauri and Civ III. I'd flip from one to the other, liking parts of both. What I really wanted was a game that had it all -- civ3's culture mechanics and sense of sweeping history, and SMAC's customizable governance and prettier graphics.

Civ IV delivers, and more.

The new gameplay mechanics are enough to make it more than just a graphics update to civ III, which is really nice. And the gameplay's as addictive as ever. If you're a fan of the genre, it's a good buy.


Boy on a Stick and Slither hit one out of the park again this week.

I'm not sure I agree with the sentiment -- I don't dread the holidays, except for the advertising excess and department-store christmas trees in November -- but the execution is pure gold. If I were reviewing it for real, I'd say something like
"Steven L. Cloud's Boy on a Stick and Slither juxtaposes childlike art with a biting, wry style of humour. Neither, on their own, would warrant attention -- but the combination is guaranteed to draw a smile, if not a chuckle, from even the most jaded reader."
Shit. I guess I just did.