grack.com

I’ve had a chance to play around with Fedora Core 4 for a week and it’s turning out to be one of the best Fedora releases out-of-the-box.

It doesn’t look much different that Fedora Core 3 did.  The biggest changes under the hood are the updates to the Xorg and kernel packages, as well as compiling everything for GCC 4.0.  My desktop looks identical to the one that Fedora Core 3 showed me, with the exception of the new “Places” and “Desktop” menus - the two new top-level menus that come from the latest Gnome iteration.

The only kinks I’ve encountered were apt not working without a tweak (adding Apt::State::FirstRun "false"; to the apt.conf file) and some packages not being available in the 3rd-party repositories that I normally use.

I give this release a hearty thumbs-up.

Read full post

I spent a few hours this weekend converting my entire Fedora Core 3 system over to EVMS.  The advantage over using one of the other alternatives like the bdclaim patch is that EVMS can manage your root filesystem.  This lets you alter the underlying storage of your root filesystem, including “hotswapping” one storage device for another without having to boot to a shell.

It isn’t straightforward getting this working in Fedora Core.  You’ll need to do some initrd hacking to get it up and running. 

Here’s what you need to do.  Note that this assumes that you are running the same kernel that you’ll be booting:

  1. Mount the EVMS initrd as loopback under /tmp/initrd-loop.

    # mkdir /tmp/initrd
    # mount -o loop evms-initrd /tmp/initrd
    
  2. Delete the /sbin/modprobe symlink from the EVMS initrd and copy it from the Fedora system’s /sbin directory:

    # rm /tmp/initrd/sbin/modprobe
    # cp /sbin/modprobe /tmp/initrd/sbin
    
  3. Create a /lib/modules/`uname -r` directory in the initrd.

    # mkdir /tmp/initrd/lib/modules/`uname -r`
    
  4. Copy the device mapper kernel drivers from the root filesystem to the initrd.

    # cp /lib/modules/`uname -r`/drivers/md/* /tmp/initrd/lib/modules/`uname -r`
    
  5. Run depmod to get the proper modprobe data files.

    # depmod -b /tmp/initrd-loop
    
  6. In the “load modules” section of linuxrc, add “modprobe dm-mod”.
  7. Add the following lines to linuxrc, just before “Pivot-root to /sysroot”:

    # Mount a new tmpfs filesystem on the new system's /dev/ directory
    mount -t tmpfs none /sysroot/dev
    # Copy the evms and console devices to the new directory
    cp -a /dev/* /sysroot/dev/
    
Read full post

It should be interesting to see if the Mozilla Foundation can push out a cairo-based Gecko 2.0 engine with SVG and foreignObject support before Microsoft gets XAML out the door with Longhorn.  Having SVG+foreignObject available in every browser would open up a lot of new potential for web development without flash.

From what I’ve read, Robert O’Callahan at X-Tech demoed SVG rotating a Cairo-rendered Google homepage.  Amazingly, you can still interact with rotated page as you would a normal page.  This looks like some of the stuff that has been coming out of the XAML camp over the last little while. 

Given these recent developments, you can safely draw equivalence between XAML-umbrella (Avalon/XAML/databinding/etc) and the XUL-umbrella (XUL, SVG, XHTML, XTF).  With the possibility that it’ll see the light of day before Longhorn does, it might end up taking a bite out of the already lackluster excitement over the next Windows release.

Having had a glimpse of both technologies, I’d have to put my support behind the W3C-based XUL technologies.  I much prefer the familiar CSS approach to the bizarre stylesheet-language-shoehorned-into-XML approach that XAML takes.  Dumping the powerful CSS language doesn’t make much sense - especially considering how cleanly SVG has embraced it.  I think that CSS can easily be extended to support some of the minor shortcomings without a total redesign.

Read full post

Selling a house is always so much work.  We’ve been painting window sills and ceilings, cleaning windows and putting way more effort into our lawn than usual. 

It’s a shame I can’t just make a backup of the house every couple of years and then restore it.

Read full post

I tried out the Google Web Accelerator today - it’s an interesting product that likely is helping Google as much as those that install it.  I’ve seen a number of people discussing how Google can use it to silently spider the web.  Interestingly, a packet trace discovers that data flows upward from the user’s computer to Google’s servers - likely sending the data back to Google’s cache.

I wonder if this is similar to the “rsync HTTP cache” idea that was floated a while back.  It used a form of delta compression - possibly what this Google Accelerator product does.

Being the Linux geek that I am, I tried it out through Wine on my Fedora Core 3 box.  It turns out that Wine was missing an implementation of StgCreateStorageEx and StgOpenStorageEx.  After a quick implementation (and a post to wine-patches), I have the cache file creating correctly.  With this patch it runs for a bit and dies soon after.  I think it might have something to do with Wine’s winsock (but I haven’t looked closer).

Read full post