Thursday, December 21, 2006

A couple of useful sites and things to try

I've spent a little bit of time looking around for some solutions to my complaints about Mac OS X, and, as usual, Google helped me find a variety of useful reading which I'll now help Google find better by adding some extra in-links:

  • X Vs. XP compares OS X to Windows XP in a reasonably unbiased and undoubtedly thorough way. There are lots of useful tidbits here if you read carefully, though I wouldn't read too much into any final conclusions.
  • CodeTek's VirtualDesktop Pro looks like it may be an interesting and helpful way to improve the usability of the OS X desktop. I've not tried it yet, so definitely don't consider this a strong endorsement.
  • MacWorld is a good online resource; it's MondoMouse article was my greatest hope of being able to resize a window by its other corners (i.e., without having to use the bottom-right corner). Unfortunately, that dream didn't play out the way I'd hoped -- MondoMouse still only resizes that corner, but simply enables you to do the resizing without aiming for that corner so precisely.
  • Google's Mac Software page is a good list of the software we make available for the Mac. Be sure to notice the Custom Search Engine box at the top of the page that does a search over only Mac-related sites. And yes, I too look forward to more of Google's great client-side software being available for OS X.
  • An imagination-inspiring article on booting an Intel-based Mac into Ubuntu Linux using an iPod. Cool!
  • And, of course, there's Parallels (or BootCamp) in case I can't get over my Mac Annoyances and decide to run Ubuntu or even Vista :-)
I've definitely felt the smaller market share impacting the availability of workarounds for obvious problems. With respect to Windows, almost anytime I have the thought "somehow has to have fixed this," I can find some creative solutions. Even with Linux, I have a similar experience (perhaps because of the greater capabilities and curiousities of the hacker community around GNU/Linux). With Mac OS X, I seem to less often be satisfied with what I can find out there.

Maybe if more Mac wizards wrote blogs.... :-)

Saturday, December 9, 2006

First experiences with my new Mac Mini

Five days after placing my order, my Mac Mini arrived on Thursday November 30th, 2006. First some details about the system I configured and the accessories I orderd:
  • Mac Mini with 1.83 GHz Intel Core Duo processor, 2GB RAM, 120GB HD, SuperDrive 8x, and OS 10.4 [Tiger] (~$1200)
  • Apple Cinema Display 23" LCD (~$1000)
  • Miglia TVMax TV Tuner/PVR USB device ($260 from Apple's Store)
  • 500GB NewerTech MiniStack USB drive ($260 from Other World computing)
I didn't bother with buying a new keyboard or mouse -- I have a couple extra USB keyboards and a USB 900 MHz (but not Bluetooth) wireless mouse lying around that I figured I could use until I decide if I want something more Mac-specific. I've since found the MS Wireless Keyboard for Mac and might try it (except I'd really prefer a wired keyboard -- since it doesn't move, I'm happy to trade the cord for not having to change batteries).

That Thursday night, I eagerly opened the packages (everything except the external drive, which was due to arrive the following week) and set it all up. Within a half hour, I was booting. Comically, the one time I briefly paused was in trying to figure out how to turn it on! My non-Mac keyboard lacks a power button, and I had located the stylish Mac Mini box and matching PVR device atop my old PC (magnifying the amazing contrast in design). In that location, it was hard to find the power button on the back of the Mini. My short search was rewarded with the recognizable and satisfying Mac-booting sound... it's surprising that PC manufacturers haven't duplicated that strategy and provided an equally distinctive and comforting audio snippet as the BIOS takes off.

Once booted, I got started with the requisite configuration and software upgrades. Tiger (i.e Mac OS X 10.4) was very user-friendly in asking me questions to set itself up properly, and it took little time. What then took longer was installing all the updates since the software was installed at the factory. There was about 400MB of updates needed, which took about 45 minutes to download and install. (I should point out that the Mini first detected the Internet via my somewhat flaky Hawking 802.11g Wireless Bridge it was connected to via a router, rather than using its built-in AirPort to talk directly to my Linksys WAP downstairs -- it was a reasonable decision, but I've since switched my default route to use en1, the AirPort interface.)

While the OS upgrades were in process, I downloaded other essential software: Firefox, various Firefox extension (especially the Google toolbar), and Google Earth. I also tried getting a Yamaha USB Midi adapter to work, only to discover that Yamaha hasn't yet updated the drivers to work with Intel-based Macs (wow, PowerMacs already seem so old! I solved that problem by just buying a different USB Midi adapter made by M-Audio from Amazon -- I downloaded the driver for it first to double-check that it was Intel-ready!)

After a reboot or two, I had what Apple claimed was the latest install of all the Right Stuff. I only had another hour or so that night to experience the new system and had just a few significant senses and discoveries:
  • Having a Unix-like terminal program with all my comfortable Unix and GNU tools available out of the box was great (of course, Linux distributions have perfected this long ago, but somehow it felt different because of the snazzy Aqua interface)
  • The modifier keys were a bit confusing to me... not only was my Windows-intended keyboard mis-labeled for a Mac, but certain shortcuts for, e.g., Firefox were switched from being on Control to being on Option or some other button. I'll have to spend some time customizing the keys, but I'm betting this is surmountable.
  • The Cinema Display is somehow even more amazing than the Dell 24" widescreen displays I have at work... its brightness and the sub-pixel rendering of text that the OS does makes it simply extraordinary! (To be fair, Vista's rendering on the Dells is comparable -- my RedHat-based X distribution at work [from 2004ish] just looks lots worse.)
Now, between getting my Mac Mini setup and writing this post, it's been over a week (and a hectic one at that). With that extra time to reflect, I can now confidently point at my top two complaints so far:
  • Why, why, WHY can't I resize a window by dragging on arbitrary corners of the window?!? I shouldn't have to move and resize just to keep the bottom-right of a window in the same place and make the window smaller. [Disclaimer: I spent a fair amount of four years earning my Ph.D. working on the Scheme Constraints Window Manager (SCWM) which supports amazing capabilities for window arrangement and which I customized to my personal preferences very heavily. It's safe to conclude that I do not have typical requirements in terms of windowing support.] There are a couple of shareware tools that let you resize windows without having to grab on the control at the bottom-right, but they all still seem to only resize from that corner. Ugh!
  • I don't like the Application menu being on the top of a giant screen. That design decision made sense on a 9" screen in the mid-1980s, but it's clearly wrong now: when I have an application window in the bottom right of the screen, I shouldn't have to drag the pointer all the way across all that screen real estate in order to tell the application what I want to do. I've held off looking for a solution to this so far, thinking maybe I'd get used to it and like it, but I'm becoming more skeptical that I'll ever come around.
I'm looking forward to digging in more to the Darwin Unix side of my Mac this weekend and over the holiday. I'll write more when I have a sense of how that's going.

Monday, November 27, 2006

My first Macintosh Computer

I've been programming computers since 1980, starting with a class at RadioShack learning BASIC on TRS-80 Model IIIs. Those machines pack a whopping 2 MHz of processing power, but it was enough to amaze me (hell, I was 7, so lots of things amazed me!) Over my 26 years of working with computers, I've accomplished lots of things over a wide variety of areas -- I've programmed in a dozen different languages including BASIC, 6502, Z80 and MIPS assembly languages, Pascal, C, C++, Java, Perl, Awk, Sed, Python, Ruby, Smalltalk, Haskell, Miranda, CLP(R), Prolog, Scheme, Lisp, JavaScript, XSLT, and others that I can't even remember. I've published in both industry magazines (e.g., Compute's Gazette, Run, InformIT) and in top tier international conferences and academic journals (e.g., WWW Conference, UIST, IEEE DCC, Software Practice and Experience, AAAI, TOCHI, IEEE Transacations on Software Engineering). For Google, I've built systems that are used by millions of people, and led teams that are responsible for a huge portion of the online performance advertising market. But one thing I've never done is own an Apple Macintosh computer...

There's never been any compelling reason not to buy Macs, I just always found the raw computer performance of PCs more appealing to my sense of value than the premium that Apple forces consumers to pay for their glitzy white machines. I should clarify that I've used Macs a bit here and there through my professional career. Perhaps most notably I taught Algorithms and Data Structures to a great bunch of junior high-school students at Johns Hopkins University's Center for Talented Youth using Macs back in the summer of 1993.

Two primary changes in technology made me finally consider the Mac as a viable alternative purchase. First, Mac's OS X, first released in 2001 (so I'm still behind the game) is based on BSD Unix -- finally, a real operating system on top of which all the great UI features are built. I've been a Linux nut since 1993, so OS X, at least under the hood, is already very familiar to me. Second, Apple finally switched to using Intel x86 processors in the Mac. This more recent change means that I can dual- or triple- boot the other OSs I care about on the same machine -- if I decide the Mac is not for me, I'll just install a new GNU/Linux distribution to play with or try Windows Vista in the spring. That means there's no risk of the new machine becoming a doorstop like my Commodore Vic-20 became 20 years ago when my mother bought a Commodore 128.

So, this past long holiday weekend, CyberMonday came early to me, and I decided to order my first Apple Macintosh computer -- a decked out Mac Mini I accessorized with a TV tuner, a 23" HD CinemaDisplay monitor, a .5TB external drive, and a MIDI cables to USB adapter so I can plug in my music keyboard, too. Apple still hasn't sent me confirmation of the mini shipping, but everything else is on its way, and I'll report back here later about my first experiences.