Archive for the 'Operating Systems' Category

fileXray vs hfsdebug

Sunday, April 17th, 2011

I’ve been asked how fileXray is better than hfsdebug. Here goes: The primary answer is that it is not meaningful to compare them. Dramatically speaking, hfsdebug is the tip to the iceberg that is fileXray. It would be contrived to say that a bicycle is similar to a fighter jet because they both have wheels [...]


Monday, November 1st, 2010

Does the idea of wielding power—a lot of power—intrigue you? Check out fileXray. Start with the ebook. If you are one of the target audiences, it will be worth your time.

Crafting a Tiny Mach-O Executable

Sunday, March 15th, 2009

The other day I came across this web page in which the author describes his experiment to create a tiny ELF executable that will run on Linux. The result: a 45-byte ELF executable that executes and returns a value. The executable is functionally equivalent to the one generated from compiling the following C program. /* [...]

Retrieving x86 Processor Information

Monday, March 2nd, 2009

The other day I needed to know within one of my experimental programs if the host x86 processor supports certain features. In many cases, the operating system provides interfaces that can answer such questions. Sometimes, the interfaces may not have the answer, or you may wish to avoid them for other reasons. (Say, you don’t [...]

XBinary: Extended Binary Format Support for Mac OS X

Tuesday, January 20th, 2009

XBinary is software that lets you add kernel-level support for executing arbitrary binary formats on Mac OS X. To read more about it and to download it, visit the XBinary page.

AncientFS on Linux and FreeBSD

Monday, December 22nd, 2008

By popular demand, I’ve "ported" AncientFS to Linux and FreeBSD. It was reasonably straightforward. Largely on purpose, AncientFS depends on the cross-platform interfaces of MacFUSE for the most part. Most people don’t realize that MacFUSE is much more than a "Mac OS X implementation of the FUSE API." Of course, the name "MacFUSE" doesn’t help [...]

Extended Notes on AncientFS

Wednesday, December 17th, 2008

Here are some extended notes on understanding, compiling, and using AncientFS, the file system I talked about in the previous blog post.

More User-Space File System Goodies

Tuesday, December 16th, 2008

There has been much buzz about new features and functionality in MacFUSE 2.0. Besides the MacFUSE 2.0 release, there are still more new and interesting things to be discussed in the realm of user-space file systems. As I described and briefly demonstrated during my recent talk at the Googleplex, I wrote several new user-space file [...]

A Note on Pathname Processing in HFSDebug

Monday, November 24th, 2008

A couple of weeks ago, I released HFSDebug 4. I’ve updated it to make HFSDebug’s pathname processing a little more sophisticated. Depending on how (and how seriously) you use HFSDebug, knowing the details could be useful. When you specify a file system object to HFSDebug using a pathname, how HFSDebug will treat the pathname usually [...]

HFSDebug 4.0 and New HFS+ Features

Sunday, November 9th, 2008

I wrote HFSDebug in early 2004. I initially made it available as a software tool to help understand fragmentation in HFS+ volumes, although it could also be used to analyze several implementation details of HFS+. Eventually, I extended HFSDebug to be able to analyze all on-disk aspects of HFS+, along with the ability to compute [...]

All contents of this site, unless otherwise noted, are ©1994-2014 Amit Singh. All Rights Reserved.