Whirr… shhwip! :>POOF!<: *gleam*

Oh my god! They‘ve done it! As it seems, Apple has introduced a really cool under-the-hood feature into Mac OS X 10.3 (you know, the black cat thing). It is some kind of auto-defragmentation within the HFS+ file system.

As documented in this Ars Technica Forum Thread, the source code for this can be reviewed in the recently posted Darwin sources.

Heres how it works: files under 20 MB in size get checked for fragmentation on open and if they are too distributed, they get reallocated. So a contiguous block of data is allocated, the data is copied over and the old data gets cleared afterwards. The result is a nicely ordered file. No need for disk doctors anymore as this seems to be a viable solution to the problem of scattered data.

Here is the fun part: the source code itself contains a nice illustration of how this thing works. It‘s so great: whirr… shhwip! :>POOF!<: *gleam*

/*
 * Relocate a file to a new location on disk
 *  cnode must be locked on entry
 *
 * Relocation occurs by cloning the file‘s data from its
 * current set of blocks to a new set of blocks. During
 * the relocation all of the blocks (old and new) are
 * owned by the file.
 *
 * -----------------
 * |///////////////|
 * -----------------
 * 0               N (file offset)
 *
 * -----------------     `´`´`´`´`´`´`´`´`
 * |///////////////|     }    whirr...   {     STEP 1 (aquire new blocks)
 * -----------------     `´`´`´`´`´`´`´`´`
 * 0               N     N+1             2N
 *
 * -----------------     -----------------
 * |       ////////| ===}|///////        |     STEP 2 (clone data)
 * -----------------     -----------------
 * 0               N shhhwip!            2N
 *
 *                       -----------------
 *     :>POOF!<:         |////*gleam*////|     STEP 3 (head truncate blocks)
 *                       -----------------
 *                       0               N
 *
 * During steps 2 and 3 page-outs to file offsets less
 * than or equal to N are suspended.
 *
 * During step 3 page-ins to the file get supended.
 */

I love it.

Chaos Computer Club Public Wiki

Huh. We have finally managed to convert the Camp Wiki to a general Chaos Computer Club Public Wiki System. Radar has spent many hours separating the Camp content and putting it in its own section (called a „Web“ in Twiki speak). If you had an account on the Camp Wiki, it should still work.

This makes the Wiki usable for more than just a single event and the new „20C3“ section invites you to use the Wiki for planning your activities at the upcoming Chaos Communication Congress in December.

I admit the CCC Wiki is still no beauty albeit being useful. Unfortunately, even the next release of TWiki (which was expected in August but still isn‘t ready) won‘t bring much in terms of CSS-based design. So it would be another hack changing the templates to allow for a more sexy look. But so far at least the features are nice. Go ahead and use it!