Nicholas Riley’s Weblog
Thoughts from a computer science graduate student,
medical student and Cocoa programmer (this week).

Skip over navigation
November 2003
Sun Mon Tue Wed Thu Fri Sat
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
Aug   Dec

made with
Click here to visit the Radio UserLand website.

NetNewsWire: More news, less junk. Faster


15   20   16   12   11   09   07   
expand / collapse all posts
how this works

Saturday, November 15, 2003
My life hasn't entirely settled down yet, but I have really missed being able to write down whatever is on my mind.

I have a new weblog, created with PyCS and PyDS. I'll miss a lot about Radio, but not its instability, CPU usage or bugginess.

Posts from this weblog will migrate to the new one at some point. For the moment, this page will remain. If you're accessing the RSS feed from, it should automatically redirect; if not, the new feed is here. 1:31:00 PM | reply [] | trackback []

Wednesday, August 20, 2003
I'm taking a temporary break from blogging, mailing lists, news, Cocoa programming, and almost everything else computer-related in my life. It's nothing life-threatening, just a strong need for more focus on my research. This entry is here just so you don't think I've dropped off the face of the earth. 9:12:52 PM | reply [] | trackback []

Saturday, August 16, 2003
Haven't blogged in a while, and don't have much time tonight, so here's a somewhat stream-of-consciousness entry.

Last week my mother and I got her DSL set up in record time, and were doing an iChat AV conference a few seconds thereafter. She went to her first major league baseball game last night, courtesy of her company, and had great seats. So did Eric Soroos, apparently. The weird coincidence is that she just moved from Boston to Seattle, and she goes to a game where the Red Sox and Mariners were playing.

Also in sports news, today was the last Chicago Bears game to be played in Champaign; I'm so happy that only U of I football games will make parking impossible to find on Saturdays. In celebration (not really), we played a game of touch football to warm up at Kuk Sool today. Aside from a minor knee injury, I'm mostly back to my pre-Norway-trip level of fitness.

I'm still largely focused on research, not that it's making me work any faster. I haven't done more than a few minutes' on my Cocoa projects, still. The free time I have had, I've spent helping Steve move in, testing FontCard, and doing AFS/Kerberos stuff on the Macs at ACM. ACM is starting to get some content on their wiki I set up a few months ago (running Sakana, of course).

Ben's in purgatory between living arrangements at the moment, and he's loaned me his Yamaha S90 for a week (picture of my setup here). The feel of the keyboard is so piano-like, it's amazing—not that I'm much of a pianist. The S90 has a USB MIDI interface built in, as well as an mLAN (FireWire) option. There are so many MIDI channels on the S90 that Sibelius's MIDI setup window is impossible to use, because all the descriptions are cut off. I've managed to get it to work fine for playback, but recording has issues if I turn on the metronome. Not sure I want to delve into the huge impenetrable Yamaha manual for an instrument I only have for a few more days.

I spent the night fixing my desktop G4, because apparently I forgot to seat my Radeon correctly and was seeing continuous kernel panics with accompanying disk corruption (journaled HFS+ only protects your metadata, not your data!) until I reseated the card. DiskWarrior 3's speed is really incredible on volumes with large number of files.

In the process of reinstalling the card, I managed to lose two screws under the motherboard—what a horrendous location the AGP slot's retaining screw occupies. I mentioned this to Steve and he said "this is why I have a magnetic screwdriver for computer work". Indeed. I'm now in the process of restoring the files that I know were corrupted; hopefully there isn't any more corruption hiding. 11:14:48 PM | reply [] | trackback []

Tuesday, August 12, 2003
This is a test of the new WYSIWYG Radio editor. This takes me back to Mozilla (not even Camino) for the first time in quite a while. Mozilla seems faster than last I used it, but the user interface is still clunky as ever, and some long-standing usability bugs, such as not being able to close an empty tab from the keyboard in certain cases, remain. It's Safari's great attention to detail, rather than any wealth of features, that continues to make it my preferred browser.

The editor itself lacks some important features, such as drag-selection by word, but it is fast, responsive, supports multiple undo (are you listening, Safari?) and is truly WYSIWYG, by default using CSS for styles.

nice, if cryptic

It's truly nice to see some new Radio features after a long drought. While Radio isn't the best tool in the world, it's a great value, even at the current rate of improvement, and I'm so used to it by now that I can't imagine switching.

Still enjoying the cable modem. Last night, Steve brought over his OpenBSD firewall box, and within five minutes we had DHCP and NAT working on the wireless network, dumbing down my wireless router to a simple access point. VPN setup comes later. I was stunned that it worked the first time. The funniest part was when he plugged in the serial console, and it displayed "Login incorrect", then there was a huge pause before anything else displayed; as usual, it then looked like "login: login: login: login: login:".

Some feature requests for the WYSIWYG editor: I want <pre> and <tt> buttons on the toolbar, and the HTML source view to be displayed in a monospaced font. It'd also be nice if paragraph breaks weren't formed by <br><br>; shades of Netscape 4.

Tonight I help my mother set up her DSL in Seattle, and all of us will have broadband connections at home—much better for iChat AV.
12:16:49 PM | reply [] | trackback []

Monday, August 11, 2003
I really am an idiot for not getting a cable modem until now. I only got it because Steve is moving in with me, but let's just ignore that fact for the moment... The productivity I've lost to modem latency and transfer speeds over the past four years is too much to think about it.

So, in conclusion, goodbye,

and hello,

Finally! Now, off to work. 10:00:40 AM | reply [] | trackback []

Saturday, August 9, 2003
Sorry, trackback should actually work now. Forgot to actually click the "enable trackback" checkbox. Oops.

Back to work... 11:43:59 PM | reply [] | trackback []

Here's something I posted on the Boston BBS, which I figure might be useful to someone else. It traces the terminology relating to disks from Mac OS 9 to Mac OS X in a hopefully intelligible fashion.

Q. I'm trying to understand the differences between a disk image, a folder, and a partition. Does anyone have the energy?

A. There can be a lot of confusion over terminology. Mac OS 9 and Mac OS X can use different terms to refer to the same entities. Unix adds some more terms of its own, which have filtered down into Mac OS X in some places. I hadn't thought about all the complexity until I attempted to write this message. I'll try to define each of these, sometimes more than once: disk, drive, folder, partition, volume, slice, image.

In Mac OS 9, the icons you see at the top right corner of your desktop represent disks. Most Macs come from the factory with a single disk, named “Macintosh HD.” In most cases, each of the disks you see on the desktop corresponds to a physical object. Insert a CD or DVD: you'll see its icon appear on the desktop. Attach your iPod, and the same thing happens.

Folders are organizational aids which exist within a disk. When you move an item into a different folder on the same disk, you're just updating the disk directory to give the item a new parent. The file itself doesn't move on disk.

Mac OS 9 also employs the concept of a drive, or container for one or more disks. For floppy disks, the drive is the enclosure, and a disk is a physical floppy disk. For fixed drives such as hard drives, using Apple's Drive Setup or a similar utility, you can partition the drive into one or more partitions, the contents of which appear as separate disks.

In Mac OS 9's Apple System Profiler, one of the tabs is labeled "Devices and Volumes". The Mac OS 9 concept of devices include drives, but also memory cards, keyboards, mice, cameras, scanners and so on: anything that can be connected to your Mac via ADB, USB, SCSI, FireWire, and so on.

You can think of a partition like a space on a bookshelf, and a volume as the book filling that space. All the partition specifies is where the book begins and ends on the shelf; the volume contains its own internal structure such as titles, tables of contents, indices, etc, as well as text and graphics (your files). This internal structure is known as a filesystem. Common filesystems are Mac OS Extended (HFS+) and its journaled variant on Mac OS X, and FAT32 and NTFS on Windows 2000/XP.

Volumes can also exist without enclosing disks (partitions): one example is AppleShare. The AppleShare client asks you which volumes you want to mount, after you've connected to a server. Since the corresponding storage area on the file server may be a folder, or an entire disk, it can't be realistically referred to as a disk. Network filesystems do not have corresponding physical formats on disk, but implement network protocols—the Apple Filing Protocol, in this case.

The disk/drive separation began to break down with the introduction of high-capacity removable, desktop-mountable media (CD, Bernoulli/SyQuest, etc.) Each removable disc or cartridge could be partitioned, just like a hard drive, and it would appear on the desktop as multiple "disks". Referring to a CD or Bernoulli cartridge as a "drive", or relying on the difference between "disc" and "disk" would be to nit-pick, but it took until Mac OS X for Apple to redefine "disk" for consistency.

What Mac OS 9 calls a drive, Mac OS X calls a disk. Disks in Mac OS X include hard drives, floppy drives, flash memory cards, and so on. Note that "Drive Setup" in Mac OS 9 has been replaced by "Disk Utility", indicating the change in wording. Where Mac OS 9 may refer to the contents of a floppy disk or hard drive partition as a disk, Mac OS X only uses the term volume (“disk” was already taken). From now on, I will only use the Mac OS X meaning of “disk”.

I mentioned above that filesystems and volumes can exist without partitions, in the case of network filesystems, or in Unices, special-purpose filesystems such as device filesystems. (More on the expanded meaning of "device" under Mac OS X in a minute.) Partitions can also contain other things than filesystems. If you're using Mac OS X, open Terminal and type "sudo pdisk /dev/rdisk0 -dump" to receive a list of partitions on your startup drive. On my PowerBook, the output looks like this:

/dev/rdisk0  map block size=512
   #:                 type name                 length   base     ( size )
   1:  Apple_partition_map Apple                    63 @ 1
   2:       Apple_Driver43*Macintosh                56 @ 64
   3:       Apple_Driver43*Macintosh                56 @ 120
   4:     Apple_Driver_ATA*Macintosh                56 @ 176
   5:     Apple_Driver_ATA*Macintosh                56 @ 232
   6:       Apple_FWDriver Macintosh               512 @ 288
   7:   Apple_Driver_IOKit Macintosh               512 @ 800
   8:        Apple_Patches Patch Partition         512 @ 1312
   9:            Apple_HFS Ti                 69947904 @ 1824     ( 33.4G)
  10:            Apple_HFS Puma                8190424 @ 69949728 (  3.9G)
  11:           Apple_Free                           0+@ 78140152d
There are 11 partitions on my hard drive. The first is the partition map itself, which contains the information above. Without it, a Mac would have no idea where to find the partitions on the hard disk—it'd just be one long stream of data. Each partition in the map has a type, a name (which does not necessarily correspond to the displayed name on the Desktop), a length and base address. The two Apple_HFS partitions do indeed contain HFS(+) filesystems; the other partitions with name "Macintosh" contain driver code (for pre-OS X SCSI Manager 4.3, ATA, FireWire, and Mac OS X's IOKit, respectively). Disk Utility will copy the first few driver partitions only if the "Include Mac OS 9 Drivers" box is checked.

Drivers and partition maps aren't the only thing non-filesystem partitions are used for. Most Unix variants can use designated swap partitions to handle virtual memory paging, and the iPod, for example, uses a partition to hold its operating system separate from your music and data.

"Devices" are a more generic term, yet can refer to more specific entities under OS X, thanks to its Unix heritage. A device is any item which is individually addressible through a Unix device node (a special type of file, which is generally hidden). For disks, you typically have a "raw" (unbuffered) disk device (the "/dev/rdisk0" of above), which applications such as Disk Utility use to format and partition disks, a corresponding entire-disk device, and indvidual devices for each partition. The buffered disk device for my hard disk is /dev/disk0, and the individual partitions are /dev/disk0s0, disk0s1, and so on. The 's' indicates a slice number, which is a BSD-derived word for something resembling a partition. (FreeBSD uses partitions inside slices because of limitations in the PC partition table format, which are labeled by letters such as "b" for the swap space and "c" for the entire slice... but this is going too far off topic.)

An image file (on the Mac, one typically ending in .img or .dmg) consists of the data in a disk or partition. Apple's imaging utility, Disk Copy, in Mac OS 9 only makes volume images, which contain a single partition and no partition map. Disk Copy can construct a volume image from an existing volume, or create a volume to image on the fly from the contents of a folder you drag onto it.

With the redefinition of "disk" in Mac OS X, the new Disk Copy gains the ability to make disk images. These images come complete with a partition map and, potentially, multiple partitions, though I've never seen the latter in practice. OS X's Disk Copy can still make volume or folder images if you wish, and introduces a new format called a sparse image file, which starts off small and grows as you add data to the image through normal operations. (Sparse images are inefficient for everyday usage; they're mainly useful if you're copying a bunch of files to an image and don't know in advance how large the image will be.)

You can do almost anything with an image file you can do with any other disk or volume. Starting with an old control panel called MountImage, you could mount images on the desktop (on other operating systems, this is known as a loopback mount), or you can write them to real disks or partitions. Internet-enabled disk images in Mac OS X 10.2.3 and later are automatically mounted, their contents copied to a folder in place of the image, and the images deleted—which results in their behaving much like a StuffIt archive.

As much as I've written, I'm only covering the simplest scenarios here. There are as many ways to map your files to physical storage as you can think, from logical volume managers to RAID, HSM, SAN and NAS, various forms of distributed caching and disconnected operation. Most of these are not easily available on the Mac, though managing your files is hard enough already that I hope Mac OS X migrates beyond fixed partitions and flat files in the near future.

I wrote most of this from memory, so corrections are appreciated. 11:32:56 PM | reply [] | trackback []

Thursday, August 7, 2003
This week, I managed to fry both of the external ports on my FireWire PCI card, and the supposedly protected FireWire port on my PowerBook. Many months ago I dumped my old cheap FireWire enclosure, and now only use a WiebeTech AC-powered bridge, an iSight and iPod, and a high-quality Adaptec cable to connect my two machines for FireWire over IP. Since I haven't plugged anything except the Adaptec cable into my PowerBook for several weeks, I think my use of FireWire over IP is responsible, possibly when combined with the static electricity that is rampant at the lab. So I'm going to buy an Ethernet card to use instead, and send back my PowerBook for warranty repairs when I get a chance.

Just ordered a replacement FireWire card; hopefully it will last me until it's time to replace my desktop machine (most likely next summer).

None of this is particularly helping with my research, which is proceeding at an astonishingly slow pace since I got back from Norway. I haven't had any time to spend on my Cocoa projects in weeks. Nor have I finished writing my journal or organizing photos. But if I lose a hard drive and have no current backup, it will be even worse, so I'm pouring money and time into making my computers work again.

On the bright side, my apartment is in great shape, Steve is about 80% moved in, I went to Kuk Sool on Monday, our cable modem install is scheduled for next Monday, and I finally have made some progress on getting my car registration and insurance moved out to Illinois. 10:53:35 PM | reply [] | trackback []

Looking for older (or newer) material? Click another date on the calendar at the top of this page.