Macworld Expo, Day 1

I got up at 4AM this morning and got to Moscone West around 5AM. The line was already all the way around the block. At about 7AM they finally let us in, only to stand in line inside a big room. They finally let us go upstairs a little after 9AM, just minutes before Steve got on the stage.

Steve barely mentioned the Macintosh and he didn’t even mention Leopard. One of the announcements was that they’re dropping “Computer” from the company name – it’s now merely “Apple, inc”. For the first few minutes he talked about the successful transition to Intel and the success of iTunes Store before he started talking about iTV. Most of the keynote was about the iPhone. He introduced it as 3 devices: a touchscreen iPod, revolutionary phone, and internet communicator.

Although the iPhone won’t be available until June, I really want one even though the cheapest model is $499. Since it only comes in 4G & 8G models, it can’t replace my 80G iPod and hold all of my music. It is a lot better than my LG CU600, which I’m very disappointed with. It can also replace my PSP as a wireless web browser, so I can travel with only one device.

I’m posting this from Microsoft Blogger’s Lounge in the main hall.

MacWorld Expo

I’m leaving for MacWorld Expo Sunday morning. Here’s my tentative schedule so far:

Mon. 1/8/2007

  • Pick up badge
  • Events at Apple Store

Tue. 1/9/2007

9:00AM – 11:00AM – Keynote
2:00PM – 3:30PM – Q&A with Kevin Smith

Wed. 1/10/2007

9:00AM – 10:00AM – Macworld Live with David Pogue
1:15PM – 2:30PM – Windows on a Mac
2:45PM – 3:45PM – Macworld Best of Show 2007
4:15PM – 5:30PM – Give your Mac a tune-up
6:00 – 7:30PM – Web Designers and Programmers BOF

Thu. 1/11/2007

9:00AM – 10:00AM – MacBrainiac Challenge
11:00AM – 12:15PM – The Mac in your Living Room
1:15PM – 2:30PM – Mac OS X Wizardry
7:00PM – 10:00PM – Netter’s Dinner

I’ll keep checking the Hess Memorial Events List

Beware of shell substitution

Someone was having trouble installing some software where they had to specify a password on the command line. The password happened to be something like big$$dog[1] and they were doing something like:

install -password big$$dog

It seemed OK, but when they went into the admin utility the password didn’t work. Anyone familiar with Unix shells should see the problem right away:

$ echo big$$dog
big9975dog

In bash, ‘$$’ evaluates to the current process ID, which gets substituted before the command is run. Enclosing the password in single quotes would fix the problem.

[1] Actual password & command name changed due to their proprietary nature.

USB/SATA Drive Problems

When I upgraded the internal drive in my MacBook Pro, I put the old drive in a USB to SATA enclosure, based on the JMicron 2338 chipset. I find that in heavy usage, the drive will lock up with the access light on steady and my computer will hang. In fact I had to force reboot twice tonight just trying to copy a large Parallels VM to that drive. I finally gave up and used a Firewire drive instead.

A google search turned up several reports of hangs and other problems with that chipset. Unfortunately all SATA to USB adapters I’ve seen use the same chipset.

Mac On Linux




Mac On Linux

Originally uploaded by mike3k.

I installed Ubuntu Linux on my G4 minitower, which I now have set up to boot OS X 10.2, 10.3, 10.4, as well as Mac OS 9. I also got MacOnLinux running and was able to boot Tiger while running Linux. Unfortunately it’s so slow that it’s unusable.

Linux Server

One of my big projects in the last week was setting up LDAP on my Linux server and configuring a Mac to use it for authentication. It took me a few days to get the server working, but once I understood the schema & naming conventions, I was able to figure it out easily.

I needed to test a piece of software which required administrative access but failed when using an Active Directory login. Since I don’t have an AD server, I was able to test it with LDAP by enabling it in Directory Access. I was able to log in with a userid defined on the server rather than locally and debug the software.

Another reason VSTS sucks

My company recently switched from Visual SourceSafe (which I accessed using SourceOffsite) to Visual Studio Team System for version control, which has caused me endless grief.

The first annoyance was there’s no way to see which files were changed locally in the file list. The bigger problem is it can’t handle Unix/Mac line endings. If you use the compare feature, it will show the ENTIRE file changed because of the line endings.

FireWire vs. USB 2.0 Speed

To save room on my internal drive (which will no longer be necessary after the drive upgrade), I tried putting my Windows Vista & Linux Parallels VMs on an external drive. I have two bus-powered 2.5″ external drives: a SmartDisk FireLite 60 with a FireWire connection, and a Western Digital Passport 120 with a USB 2.0 connection. Even though the FireLite is a 4200 RPM drive and the WD is 5200 RPM, I find that the FireLite is dramatically faster. It took about 3 minutes to copy a 6GB Parallels HDD file to the FireLite and over 5 minutes with the WD. Resuming a suspended Windows VM took about 2 minutes on the WD and less than a minute on the FireLite.

Unfortunately I find the FireLite unusable because of the high-pitched squeal it makes, which gave me a headache for several hours after I used it. I may try putting the WD drive into a Firewire/USB enclosure and connecting it via FireWire.