Notes from Jordan Hubbard’s LISA 08 talk

Wednesday, November 19th 2008

http://www.usenix.org/events/lisa08/tech/hubbard_talk.pdf

Interesting bits:

- 10.6 to be released Q1 2009?
- Leopard’s sandbox files are written in Scheme
- “ASL,” Apple’s replacement for syslog
- Claims MacPorts is “Apple’s 2nd most successful project”

Snow Leopard to have Cocoa Finder

Friday, October 17th 2008

Via Appleinsider

Hope this means Cocoa iTunes as well.

Best of Breed

Thursday, October 9th 2008

John Gruber:

Let’s just say it up front: the iPhone is the greatest piece of consumer electronics that has ever been made.

Everything Apple as a company has ever stood for, good and bad, was to get to the point where they could make this.

A billionaire can buy homes, cars, clothes that the rest of us cannot afford. But he cannot buy a better phone, at any price, than the iPhone that you can have in your pocket today.

I agree completely, and this is the same feeling I had when I first started using a 15″ aluminum PowerBook.  I used to hear that it was a “very satisfying feeling to own a Sun machine.”  I am very satisfied knowing that I couldn’t possibly own a better class of computer.

10.5.5 updates X11.app

Wednesday, September 17th 2008

And replaces the OS X-ish icon with one that resembles the X.org logo.  I kind of liked the design of the old one, but it’s good to know they are moving forward with X11.

“Windows Mobile” magazine halted, publishers to print “iPhone Life” instead

Tuesday, August 26th 2008

Smartphone & Pocket PC magazine publisher Hal Goldstein noted in a blog entry that the reason isn’t that sales of Windows Mobile devices are plummeting — on the contrary, almost 20 million Windows Mobile devices were sold during the last Microsoft fiscal year. It’s just that advertising support from Windows Mobile manufacturers, cellular carriers, and developers has dropped significantly.

(via Tuaw)

The Last Word in File Systems

Thursday, August 21st 2008

When developers make a claim like this, it takes serious proof to back it up. I’ve been interested in ZFS ever since the first rumors about it appearing in Mac OS X Leopard, where it was reportedly included, then pulled, then included, then pulled for a Sun developer stealing Steve’s thunder from the keynote, but actually pulled because it wasn’t ready.

And now Apple is officially claiming ZFS read/write support in Snow Leopard, I decided it’s time to test it myself. While source code and binaries are available for the testing code in OS X, I wanted something I could test without going over USB, and something I could use for an extended time to provide some practical benchmarks. And with a new spare hard drive in my Linux server, I looked into the ZFS-FUSE project.

Right now there’s no native support for ZFS in the Linux kernel, and while Sun is “looking into it,” there may never be support due to fundamental incompatibilities between the ODDL and the GPL. Someone could conceivably work on a native Linux port, but until the licensing problems are resolved it will never be included in the mainline kernel. So for now, the only working thing is to go through the Filesystem in Userspace (or FUSE) project, which adds more CPU and RAM overheard. I have no other ZFS usage to compare it against, but as I’ve been using it, I can’t help but think it should be a little faster.

ZFS is a new approach to filesystems. It seeks to bring just about every important feature together and become the end-all filesystem. End-to-end data integrity (no fscking, ever), built in RAID and RAID-like features, the arbitrary creation and destruction of volumes, arbitrary addition and removal of disks, and a mathematical data allocation limit that is so unfathomably huge, it exceeds the quantum limits of earth-based storage, requiring more energy than could be gained from boiling the oceans just to create the bits on which the data would need to be stored. It very well could be the last word in filesystems.

For working with ZFS volumes, there are only two commands to learn: ‘zpool’ and ‘zfs’

To understand what’s happening, it’s important to first learn how ZFS approaches the idea of a disk, a volume, and a filesystem. It’s simple, but it may take a little unlearning of what you already think about storage.

First there is the physical disk itself, as it is represented in your operating system, along with it’s partitions, if any exist.


Linux
/dev/sda First disk
/dev/sda1 First disk, first partition

Mac OS X
/dev/disk0 First disk
/dev/disk0s1 First disk, first partition

Solaris
/dev/c0t0d0 First disk
/dev/c0t0d0s0 First disk, first partition

Typically all you would think about is the partition and the mount point, but ZFS adds another layer to the stack: pools, which are made up of any number or combination of whole disks or partitions, in any RAID configuration you like. And from the pools come your mountable filesystems. Since it’s a popular concept now, think of the pool like a cloud. You can put anything (in terms of disks) into it. And you can get anything (in terms of filesystems) out of it.

Here’s how a typical, one disk, one partition ZFS filesystem is created. From here on, I’m using device names as they are in Linux. Italicized text is my input.


zpool create pool0 sda

That’s it.  No other command is necessary to start using your filesystem.

Note the absence of a partition designation. That’s because ZFS understands how to use partitions as well as whole disks, and it doesn’t care how they go into the pool. “pool0″ is just the name of the pool. It could be “tank” or “array” or “box” or any other thing that helps you remember this is both a container of your disks, and a grab-bag for your filesystems. It’s a virtual entity that connects your disks (which could be any number of anything) to your filesystems and their mountpoints (which could be any number of anything). It’s sort of like a logical volume in RAID, but much, much more.

By default, ZFS will create a mount point in / by the name of the pool, so to change this mount point from <code>/pool0</code> to something else, you can do:

<code>

zfs set pool0 mountpount=<i>/mnt/zfs</i>

</code>

Mount points are created automatically if they do not exist.  There’s a bunch of other properties you can change, including built in compression.

<code>zfs get all <i>[filesystem]</i></code>

See a list of all properties on a zfs filesystem

<code>zpool status</code>

See the status of your pools, whether they are single drives, striped RAID arrays, or mirrors, and what disks comprise each pool.

<code>zfs list</code>

See total, free, and used space for each zfs filesystem.

<code>zpool iostat</code>

See real time read/write statistics on your filesystems

<code>zpool scrub <i>[pool]</i></code>

Force an integrity check of the entire pool.

<code>ztest</code>

Simulate all sorts of crashes and problems and see how your ZFS copes with it

In the next part, I’ll go through some of the more complex tasks such as creating a RAID-Z, mirroring, and importing/exporting volumes.

‘Back to My Mac’ as a killer app for IPv6

Tuesday, August 19th 2008

Interesting article at AppleInsider on the idea that Apple may be silently pushing adoption of IPv6 through the ‘Back to My Mac’ service, which tunnels IPv6 over IPv4 using IPSec.

While Apple can’t single-handedly transfer the Internet to IPv6, it can provide killer apps that will drive adoption among consumers. That kind of thing is right up Apple’s Infinite Loop alley. The company pushed for adoption of the MPEG AAC codec with iTunes and the iPod, upgrading the world from MP3 while preventing the world’s music from being locked up in Sony’s ATRAC or Microsoft’s Windows Media DRM. Most other music players now support AAC as well.

Apple then got behind H.264 video and started pushing hard, even while file traders complained that Apple should just stick with the well known old variants of H.263 codecs used by DIVX and others, or use the proprietary codecs used by Windows Media Video and Adobe Flash. The success of iTunes helped push even Adobe’s Flash to H.264, and convinced Google and the BBC to serve their video content to iPhones using standard MPEG H.264 rather than Flash or Windows Media.

I’ve similarly wondered if this is the case with Apple’s use of SproutCore for MobileMe as an attempt to get people away from Flash. And somewhere deep in my soul I believe that Apple is driving up Linux and BSD usage by the existence of OS X, but that just may not be true.

Linux 2.6.26 including memtest

Thursday, July 24th 2008

Memtest is a commonly used tool for checking your memory. In 2.6.26 Linux is including his [sic] own in-kernel memory tester. The goal is not to replace memtest, in fact this tester is much simpler and less capable than memtest, but it’s handy to have a built-in memory tester on every kernel. It’s enabled easily with the “memtest” boot parameter.

Commit log

Developer responses to App Store reviews

Thursday, July 24th 2008

Craig Hockenberry on App Store reviews:

Some have suggested that buying the app should be a requirement before leaving a review. I agree, but this will not completely mitigate the need to vet content. A large percentage of applications are free: the trolls will just download before going on their merry way.

If all of this wasn’t depressing enough for developers, I’ll leave you with my biggest disappointment: reviews are a one way street. I’m not one to feed the trolls, but many of the reviews I’m seeing would benefit from a “Just try this…” or “We’re working on that…” type of response. There’s not even a link to our support on the reviews page.

I’ve found that the effect of having a single, centralized source for iPhone apps can be a two-edged sword. While it gives the developer much greater exposure with much less work, it also provides a single, centralized feedback forum, with a de facto community of users that can and will publicly praise or decry your work.

iPhone 2.1 beta, no sign of NDA.

Thursday, July 24th 2008

http://developer.apple.com/iphone

Updates to the Push API that is coming later this year, GPS updates rumored to be getting prepped for turn-by-turn:

A few new things we are seeing in this version of the software is the addition of a bunch of Core Location features that track the direction you are heading, and the speed you are traveling.

The notes state you cannot use this toolchain to build apps for the App Store, and apparently the link to the NDA is gone. (Via GearLive)