<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mac OS X Internals: The Blog &#187; MacFUSE</title>
	<atom:link href="http://www.osxbook.com/blog/category/macfuse/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.osxbook.com/blog</link>
	<description>A Systems Approach</description>
	<lastBuildDate>Wed, 09 Sep 2009 21:57:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Why MacFUSE Installation Recommends a Reboot</title>
		<link>http://www.osxbook.com/blog/2009/03/02/why-macfuse-installation-recommends-a-reboot/</link>
		<comments>http://www.osxbook.com/blog/2009/03/02/why-macfuse-installation-recommends-a-reboot/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 06:01:09 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=412</guid>
		<description><![CDATA[I often hear users&#8212;and even developers, for that matter&#8212;grumbling about the fact that they are &#34;required&#34; to reboot their systems after installing or upgrading MacFUSE. I&#8217;ve even heard explanations that because MacFUSE &#34;does something with the kernel,&#34; a reboot is necessary. Well, this whole rebooting-required thing is a myth. Lets clear up some misconceptions. When [...]]]></description>
			<content:encoded><![CDATA[<p>I often hear users&mdash;and even developers, for that matter&mdash;grumbling about the fact that they are &quot;required&quot; to reboot their systems after installing or upgrading MacFUSE. I&#8217;ve even heard explanations that because MacFUSE <em>&quot;does something with the kernel,&quot;</em> a reboot is necessary. Well, this whole rebooting-required thing is a myth. Lets clear up some misconceptions.</p>
<p>When you install the official MacFUSE package, you see the following rebooting-related notice.</p>
<p><center><br />
<img src="/images/blog/macfuse_installer.png" /><br />
</center></p>
<p>To begin with, it is <em>recommended</em> (not <em>required</em>) that you restart your system. Unlike in the case of Mac OS X software installations that do necessitate a restart, you can simply close the Installer window after you are done installing MacFUSE.</p>
<p>Now, why is it even recommended that you restart? Let us get some context.</p>
<p>If you are installing MacFUSE for the first time (that is, you are not upgrading a MacFUSE installation), restarting is entirely unnecessary.</p>
<p>If you are upgrading a MacFUSE installation, restarting is a heavy-handed way for users to avoid the confusing situation described below&mdash;it is still not <em>required</em> to restart if you know how to avoid the confusing situation and are willing to deal with the extra steps needed.</p>
<p>MacFUSE consists of both kernel-resident and user-space-resident software components. The MacFUSE kernel extension is both dynamically loadable <em>and</em> dynamically unloadable. That is, you can simply unload it if it is not in use and reload a new version.</p>
<p>There is one important thing to know: the kernel-space and user-space components of MacFUSE are in lockstep. You cannot use an older user-space MacFUSE component with a newer MacFUSE kernel extension and vice versa. The aforementioned confusing situation arises when you upgrade MacFUSE <em>while</em> you have a MacFUSE-based file system mounted. The busy kernel extension cannot be unloaded, and the upgraded user-space components will refuse to work with the old kernel extension.</p>
<p>The user-space MacFUSE components actually ensure that the loaded kernel extension is the matching one. In fact, if you upgrade an installation while the MacFUSE kernel extension is loaded, the user-space components will try to unload the old extension and then try to load the new extension. This works, except in the case when the already loaded kernel extension is &quot;busy,&quot; which would be the case if you do have a mounted MacFUSE-based file system.</p>
<p>If you first ensure that no MacFUSE-based file systems are mounted, you can upgrade MacFUSE, <em>not restart</em>, and once upgraded, start using the new MacFUSE. The <code>lsvfs</code> command-line tool can be used to determine if a MacFUSE-based file system is mounted.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>lsvfs</strong>
Filesystem                        Refs Flags
-------------------------------- ----- ---------------
ufs                                  0 local
nfs                                  1
fdesc                                1
cd9660                               0 local
unionfs                              0
hfs                                  2 local, dovolfs
devfs                                1
autofs                               2
msdos                                0 local
<span style="background-color: #00ff00;">fusefs                               0</span>
</pre>
<p></code></p>
<p>If there is no entry for <code>fusefs</code> or if the corresponding value in the <code>Refs</code> column is 0, you shouldn&#8217;t have to do anything. If the value is non-zero, you need to unmount that many MacFUSE-based volumes.</p>
<p>To sum up, a restart is <em>recommended</em> so that end users don&#8217;t have to understand these details. Even then, the only time a restart will actually matter is the case when you <em>upgrade</em> MacFUSE <em>while</em> a MacFUSE-based file system is mounted and <em>then</em> you attempt to mount yet another MacFUSE-based file system using the upgraded version of MacFUSE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2009/03/02/why-macfuse-installation-recommends-a-reboot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extended Notes on AncientFS</title>
		<link>http://www.osxbook.com/blog/2008/12/17/extended-notes-on-ancientfs/</link>
		<comments>http://www.osxbook.com/blog/2008/12/17/extended-notes-on-ancientfs/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 12:17:01 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=269</guid>
		<description><![CDATA[Here are some extended notes on understanding, compiling, and using AncientFS, the file system I talked about in the previous blog post.]]></description>
			<content:encoded><![CDATA[<p>Here are <a href="http://osxbook.com/software/ancientfs/" title="AncientFS: Ancient Unix File Systems on Mac OS X">some extended notes</a> on understanding, compiling, and using AncientFS, the file system I talked about in the <a href="http://www.osxbook.com/blog/2008/12/16/more-user-space-file-system-goodies/" title="More User-Space File System Goodies">previous blog post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/12/17/extended-notes-on-ancientfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More User-Space File System Goodies</title>
		<link>http://www.osxbook.com/blog/2008/12/16/more-user-space-file-system-goodies/</link>
		<comments>http://www.osxbook.com/blog/2008/12/16/more-user-space-file-system-goodies/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 20:46:09 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=284</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>There has been much buzz about <a href="http://code.google.com/p/macfuse/wiki/CHANGELOG" title="MacFUSE 2.0 Changes">new features and functionality</a> 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 systems to &quot;celebrate&quot; two years of MacFUSE.</p>
<p>Now that the talk&#8217;s video is available. I&#8217;ve written some notes on the new file systems themselves. There is a lot of new information <em>and</em> new code for those interested in file systems, Mac OS X, and operating systems in general. Much of it is academically and practically useful, and some could have significant potential down the road. You could also think of it as a new year gift to the Mac OS X and open-source communities.</p>
<p>This is a meta note on how you can go about discovering and understanding the <em>what</em>, <em>how</em>, and <em>why</em> of everything I&#8217;m talking about.</p>
<h3>1. MacFUSE State of the Union Talk (2008) Video</h3>
<p>If you were not at the talk, <a href="http://www.youtube.com/watch?v=cY8lBOSO3ak" title="MacFUSE State of the Union Talk (2008) Video">watching the video</a> would provide useful context and should help greatly in understanding what follows.</p>
<h3>2. AncientFS</h3>
<p>Next, you could look at AncientFS, which I introduced, among other things, during the talk. AncientFS lets you mount ancient (and in some cases, current-day) &quot;data containers&quot; as regular volumes on Mac OS X. It supports the following formats.</p>
<ul style="list-style: square;">
<li><strong>v1tap</strong>&mdash;DECtape <code>tap</code> tape archive; UNIX V1</li>
<li><strong>v2tap</strong>&mdash;DECtape <code>tap</code> tape archive; UNIX V2</li>
<li><strong>v3tap</strong>&mdash;DECtape <code>tap</code> tape archive; UNIX V3</li>
<li><strong>ntap</strong>&mdash;DECtape/magtape <code>tap</code> tape archive; 1970 epoch</li>
<li><strong>tp</strong>&mdash;DECtape/magtape <code>tp</code> tape archive</li>
<li><strong>itp</strong>&mdash;UNIX <code>itp</code> tape archive</li>
<li><strong>dtp</strong>&mdash;UNIX <code>dtp</code> tape archive</li>
<li><strong>dump</strong>&mdash;Incremental file system dump (512-byte blocks, V7/bsd)</li>
<li><strong>dump1kI</strong>&mdash;Incremental file system dump (1024-byte blocks, V7/bsd)</li>
<li><strong>dump-vn</strong>&mdash;Incremental file system dump (512-byte blocks, bsd-vn)</li>
<li><strong>dump1k-vn</strong>&mdash;Incremental file system dump (1024-byte blocks, bsd-vn)</li>
<li><strong>v1ar</strong>&mdash;Very old (<code>0177555</code>) archive (<code>.a</code>) from First Edition UNIX</li>
<li><strong>v2ar</strong>&mdash;Very old (<code>0177555</code>) archive (<code>.a</code>) from Second Edition UNIX</li>
<li><strong>v3ar</strong>&mdash;Very old (<code>0177555</code>) archive (<code>.a</code>) from Third Edition UNIX</li>
<li><strong>ar</strong>&mdash;Current (<code>!&lt;arch&gt;\n</code>), old (<code>0177545</code>), or very old (<code>0177555</code>) archive (<code>.a</code>); use (v1|v2|v3)ar for UNIX V1/V2/V3 archives</li>
<li><strong>bcpio</strong>&mdash;Binary cpio archive (old); may be byte-swapped</li>
<li><strong>cpio_odc</strong>&mdash;ASCII (odc) cpio archive</li>
<li><strong>cpio_newc</strong>&mdash;New ASCII (newc) cpio archive</li>
<li><strong>cpio_newcrc</strong>&mdash;New ASCII (newc) cpio archive with checksum</li>
<li><strong>tar</strong>&mdash;ustar, pre-POSIX ustar, or V7 tar archive</li>
<li><strong>v1</strong>&mdash;First Edition UNIX file system</li>
<li><strong>v2</strong>&mdash;Second Edition UNIX file system</li>
<li><strong>v3</strong>&mdash;Third Edition UNIX file system</li>
<li><strong>v4</strong>&mdash;Fourth Edition UNIX file system</li>
<li><strong>v5</strong>&mdash;Fifth Edition UNIX file system</li>
<li><strong>v6</strong>&mdash;Sixth Edition UNIX file system</li>
<li><strong>v7</strong>&mdash;Seventh Edition UNIX file system</li>
<li><strong>v10</strong>&mdash;Tenth Edition UNIX file system</li>
<li><strong>32v</strong>&mdash;UNIX/32V file system</li>
<li><strong>bsd</strong>&mdash;BSD file system (V7-style with fixed-length file names; e.g. 2.9BSD or 4.0BSD)</li>
<li><strong>bsd-vn</strong>&mdash;BSD file system (pre fast-file-system &#8220;UFS&#8221; with variable-length file names; e.g. 2.11BSD for PDP-11)</li>
</ul>
<p>To learn more about AncientFS and how to use it, please read the <a href="http://osxbook.com/software/ancientfs/" title="AncientFS: Ancient Unix File Systems on Mac OS X">AncientFS article</a>. Enjoy seeing ancient data seamlessly in the modern namespaces of Mac OS X!</p>
<h3>3. The UnixFS Layer</h3>
<p>AncientFS also led to UnixFS, a general-purpose abstraction layer that proved useful in getting several other &quot;alien&quot; file systems up and running on Mac OS X. It is particularly useful for &quot;Unix-style&quot; file systems, where you need concepts such as on-disk and in-memory superblocks and inodes. As I mentioned during the talk, I used UnixFS in conjunction with ad-hoc &quot;Linux emulation&quot; to bring support for the UFS, System V, and Minix file system families on Mac OS X. That amounts to a large number of new file systems, but it was easier than it sounds because the idea was to take existing Linux kernel implementations of these file system families and make them work <em>in user space</em> on Mac OS X!</p>
<p>UnixFS is currently rather &quot;beta&quot; and not a formal API by any means. Since it is a programming interface and doesn&#8217;t do anything by itself, it will be of interest only to developers at this point. In future, it may also evolve into a &quot;LinuxFS&quot; layer that could make it even easier and faster to <em>systematically</em> make Linux kernel-based file systems work on other platforms with very few code changes. For now, you can browse some <a href="http://code.google.com/p/macfuse/source/browse/#svn/trunk/filesystems/unixfs/common/" title="UnixFS Source Code">bits of code</a>.</p>
<p>You <em>can</em>, however, use the aforementioned UnixFS-based file system families: UFS, System V, and Minix. To do so, check out the relevant part of the MacFUSE source tree and compile one or more (or all) of the UnixFS-based file systems&mdash;it is quite straightforward: a single <code>make</code> in the <code>filesystems/unixfs/</code> subdirectory in the MacFUSE source tree should build all of them. (You must have MacFUSE installed, of course.)</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>svn co http://macfuse.googlecode.com/svn/trunk/filesystems/unixfs</strong>
$ <strong>cd unixfs</strong>
$ <strong>ls -F</strong>
Makefile	common/		sysvfs/
ancientfs/	minixfs/	ufs/
$ <strong>make</strong>
...
$
</pre>
<p></code></p>
<h3>4. The UFS Family</h3>
<p><a href="http://code.google.com/p/macfuse/source/browse/#svn/trunk/filesystems/unixfs/ufs/" title="UFS Source Code">This is a user-space implementation</a> (read-only) of the UFS file system family. Most of the UFS-specific code comes from the Linux kernel and is largely unchanged. Specific UFS flavors supported are as follows.</p>
<ul style="list-style: square;">
<li><code>old</code>&mdash;the oldest UFS format</li>
<li><code>sun</code>&mdash;used in SunOS/Solaris</li>
<li><code>sunx86</code>&mdash;used in the x86 versions of SunOS/Solaris</li>
<li><code>hp</code>&mdash;used in HP-UX</li>
<li><code>nextstep</code>&mdash;used in NEXTSTEP</li>
<li><code>nextstep-cd</code>&mdash;used in NEXTSTEP CDROMs</li>
<li><code>openstep</code>&mdash;used in OPENSTEP</li>
<li><code>44bsd</code>&mdash;used in FreeBSD, NetBSD, OpenBSD, and Mac OS X</li>
<li><code>ufs2</code>&mdash;used in FreeBSD 5.x</li>
</ul>
<h3>5. The System V Family</h3>
<p><a href="http://code.google.com/p/macfuse/source/browse/#svn/trunk/filesystems/unixfs/sysvfs/" title="SysVFS Source Code">This is a user-space implementation</a> (read-only) of the System V file system family. Most of the sysvfs-specific code comes from the Linux kernel and is largely unchanged. Specific sysvfs flavors supported are as follows.</p>
<ul style="list-style: square;">
<li><code>svr2</code>&mdash;used in SVR2</li>
<li><code>svr4</code>&mdash;used in SVR4</li>
<li><code>xenix</code>&mdash;used in Xenix</li>
<li><code>coherent</code>&mdash;used in Coherent Unix</li>
</ul>
<h3>6. The Minix Family</h3>
<p><a href="http://code.google.com/p/macfuse/source/browse/#svn/trunk/filesystems/unixfs/minixfs/" title="MinixFS Source Code">This is a user-space implementation</a> (read-only) of the Minix file system family. Most of the minixfs-specific code comes from the Linux kernel and is largely unchanged.</p>
<p style="border-top: 1px solid #C0C0C0; padding-top: 1em;">
The following image summarizes the new file system capabilities Mac OS X gets as a result of these exercises.
</p>
<p>
<center><br />
<img src="http://osxbook.com/images/blog/manynewfs.png"/><br />
</center>
</p>
<h3>7. The &quot;One More Thing&quot; Thing</h3>
<p>Although it isn&#8217;t directly file system related, the last thing I demonstrated during the talk was the ability to run ancient Unix (PDP-11) binaries seamlessly on Mac OS X. PDP-11 aside, the techniques used to do so are generally useful for research and experimentation because unlike Linux, Mac OS X does <em>not</em> allow developers to extend the set of binary formats that can be &quot;natively&quot; executed by the kernel. The demo shows the Fifth Edition Unix kernel being compiled on Mac OS X using the original C compiler toolchain from a Fifth Edition disk image mounted using AncientFS. Additionally, there&#8217;s an &quot;authentic&quot; reproduction of the following ominous error message by running the original <code>mv</code> executable from Sixth Edition Unix.</p>
<p><code></p>
<pre>
	values of &beta; will give rise to dom!
</pre>
<p></code></p>
<p>For more details, please watch the last section of the talk video. This is very preliminary work for which no source code or binaries are available yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/12/16/more-user-space-file-system-goodies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Note on Automounting MacFUSE File Systems</title>
		<link>http://www.osxbook.com/blog/2008/12/11/a-note-on-automounting-macfuse-file-systems/</link>
		<comments>http://www.osxbook.com/blog/2008/12/11/a-note-on-automounting-macfuse-file-systems/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 10:50:20 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=260</guid>
		<description><![CDATA[Mac OS X, like many other Unix-like operating systems, includes the &#8220;autofs&#8221; file system layer that make automatic on-demand mounting of remote resources possible. See the man page for automount(8) for more details. Such automatic mounting is orthogonal to and possible with MacFUSE. (NB: You will need MacFUSE 2.0 or above for this to work [...]]]></description>
			<content:encoded><![CDATA[<p>Mac OS X, like many other Unix-like operating systems, includes the &#8220;autofs&#8221; file system layer that make automatic on-demand mounting of remote resources possible. See the man page for <code>automount(8)</code> for more details.</p>
<p>Such automatic mounting is orthogonal to and possible with MacFUSE. (<strong>NB:</strong> You will need MacFUSE 2.0 or above for this to work properly since older versions of MacFUSE filter out the &#8220;automounted&#8221; mount-time argument.) Consider <a href="http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS" title="sshfs"><code>sshfs</code></a>, a user-space SFTP file system implementation that works with MacFUSE. The following is a quick-and-dirty example of how you could set up an autofs mount for <code>sshfs</code>. (There are other ways to set up autofs mounts.)</p>
<p>Create an <code>/etc/fstab</code> file (or add to an existing one) with the following entry. We will create what&#8217;s called a &#8220;static map&#8221; in autofs parlance.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>cat /etc/fstab</strong>
dummy:<span style="background-color: #00ff00;">user</span>@<span style="background-color: #00ff00;">host</span>:/<span style="background-color: #00ff00;">remotedir</span> /Network/<span style="background-color: #00ff00;">name</span> sshfs volname=<span style="background-color: #00ff00;">volname</span>,allow_other 0 0
</pre>
<p></code></p>
<p>You will have to customize the green highlighted components. <code>user</code>, <code>host</code>, and <code>remotedir</code> are the SFTP user name, the SFTP server host name, and the remote directory on the SFTP server, respectively. You can choose some reasonable value for <code>name</code> and <code>volname</code>. The local mount point will be <code>/Network/name</code>.</p>
<p>Next, to keep things simple, configure key-based authentication to the SFTP server so you can log in without having to type your password.</p>
<p>The keyword &#8220;sshfs&#8221; in the <code>/etc/fstab</code> entry is the type of the file system. Given a file system type <code>foo</code>, the automounter will expect a <code>mount_foo</code> file-system-specific mounting program to exist. In our case, we don&#8217;t have a separate mounting program for <code>sshfs</code>. However, because of the format of the entry and how the automounter passes arguments to the mounting program, it will work if you simply copy the command-line <code>sshfs</code> program  to <code>/sbin/mount_sshfs</code>. Alternatively, you can create a symbolic link as follows.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>which sshfs</strong>
$ /usr/local/bin/sshfs
$ sudo ln -s /usr/local/bin/sshfs /sbin/mount_sshfs
</pre>
<p></code></p>
<p>That should be it. Run the <code>automount</code> program to update the state of things. The <code>-c</code> argument tells the automount daemon to flush any cached information.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>sudo automount -c</strong>
</pre>
<p></code></p>
<p>If everything went well, the new mount should appear in the output of the <code>mount</code> command. In the following example, we used <code>SSH</code> as the name component of the mount point.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>mount</strong>
...
map -static on /Network/SSH (autofs, automounted)
</pre>
<p></code></p>
<p>Now, if you simply access <code>/Network/SSH</code>, the SFTP file system should be automatically mounted.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>ls /Network/SSH</strong>
Applications		Volumes			work
Desktop DB		bin			private
...
</pre>
<p></code></p>
<p>If there is an error in mounting (say, the remote host is not reachable), you will not be permitted to access the <code>/Network/SSH</code> directory.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>ls /Network/SSH</strong>
ls: SSH: Operation not permitted
</pre>
<p></code></p>
<p>You can specify a timeout period after which an automounted file system will be unmounted if it has not been accessed within that period. Either use the <code>-t</code> argument of <code>automount</code> or see the <code>/etc/autofs.conf</code> file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/12/11/a-note-on-automounting-macfuse-file-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VeryBigFS: All You Can Read</title>
		<link>http://www.osxbook.com/blog/2008/12/10/verybigfs-all-you-can-read/</link>
		<comments>http://www.osxbook.com/blog/2008/12/10/verybigfs-all-you-can-read/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 14:44:51 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=244</guid>
		<description><![CDATA[VeryBigFS is a trivial MacFUSE file system&#8212;about 60 lines of C code&#8212;that creates a huge volume with a huge file in it. &#8220;Huge&#8221; would be 512TB in this case. This is useful if you want to see how a program will deal with unusually large files. Since it is extremely unlikely for the majority of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/macfuse/source/browse/trunk/filesystems/verybigfs/verybigfs.c" title="VeryBigFS Source Code">VeryBigFS</a> is a trivial MacFUSE file system&mdash;about 60 lines of C code&mdash;that creates a <em>huge</em> volume with a <em>huge</em> file in it. &#8220;Huge&#8221; would be 512TB in this case.</p>
<p>This is useful if you want to see how a program will deal with unusually large files. Since it is extremely unlikely for the majority of us to be able to <em>actually</em> create files that are 512TB in size any time in the near future, faking is the way to go. Assuming you have MacFUSE installed, here is how you can try this file system.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>ls</strong>
Makefile	verybigfs.c
$ <strong>make</strong>
...
$ <strong>mkdir "/Volumes/Very Big HD"</strong>
$ <strong>./verybigfs "/Volumes/Very Big HD"</strong>
$ <strong>ls -lh</strong>
...
-r--r--r--  1 singh  wheel   512T Nov 28 05:38 copyme.txt
</pre>
<p></code></p>
<p style="background-color: #e0e0f4;">
As an aside, note that HFS+ does not support sparse files. In fact, if you create a large scratch file on HFS+, it will be zero filled &#8220;soon&#8221;. This can take a long time depending upon the file size, the hardware, and the resources available. Mac OS X provides a way for a privileged process to set a file&#8217;s size without zero filling: it&#8217;s the <code>F_SETSIZE</code> command of the <code>fcntl()</code> system call.
</p>
<p>Here is what the Finder tells you about the file <code>copyme.txt</code> inside the volume.</p>
<p><center><br />
<img src="/images/blog/verybigfs.png" title="VeryBigFS in the Finder"/><br />
</center></p>
<p>Note that although the tantalizingly named file is fictitious in that it doesn&#8217;t occupy any real disk space, you <em>will</em> read 512TB of zero-filled data if you choose to do so.</p>
<p><code></p>
<pre style="font-size: 85%;">
$ <strong>od -Xv copyme.txt</strong>
...
1357500          00000000        00000000        00000000        00000000
1357520          00000000        00000000        00000000        00000000
1357540          00000000        00000000        00000000        00000000
1357560          00000000        00000000        00000000        00000000
1357600          00000000        00000000        00000000        00000000
...
# A very, very, very long undetermined length of time...
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/12/10/verybigfs-all-you-can-read/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacFUSE 2.0 is Here!</title>
		<link>http://www.osxbook.com/blog/2008/12/08/macfuse-20-is-here/</link>
		<comments>http://www.osxbook.com/blog/2008/12/08/macfuse-20-is-here/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 23:42:48 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=275</guid>
		<description><![CDATA[It was a little over two years ago that I gave serious thought to making user-space file systems a reality on Mac OS X. The result of that work, MacFUSE, was introduced at the Macworld conference in January 2007. Since then, MacFUSE has come a long way. It&#8217;s been used in projects big and small [...]]]></description>
			<content:encoded><![CDATA[<p>It was a little over two years ago that I gave serious thought to making user-space file systems a reality on Mac OS X. The result of that work, <a href="http://code.google.com/p/macfuse/" title="MacFUSE Project Page">MacFUSE</a>, was introduced at the Macworld conference in January 2007. Since then, MacFUSE has come a long way. It&#8217;s been used in projects big and small and has made numerous existing (on other platforms) and new file systems possible on Mac OS X.</p>
<div style="background-color: #EAEAF4; padding: 1em;">
MacFUSE is a native file system for Mac OS X&mdash;&#8221;native&#8221; means that it lives in the kernel, like HFS+ and AFP. However, MacFUSE doesn&#8217;t ultimately provide the file system content itself&mdash;it communicates with a standard Mac OS X application to read or write the actual file system content. Thus, MacFUSE is a file system that lets you write file systems. To do so, a developer would use one of the APIs provided by MacFUSE. MacFUSE 2.0 provides multiple APIs including, but not limited to, the FUSE API from Linux.
</div>
<p><a href="http://code.google.com/p/macfuse/downloads/list" title="Download MacFUSE">MacFUSE 2.0</a> is a major update to MacFUSE. We&#8217;ll be discussing what&#8217;s new in MacFUSE 2.0 in <a href="http://google-opensource.blogspot.com/2008/12/open-source-developers-google-speaker.html" title="MacFUSE State of the Union Talk">a talk at Google&#8217;s Mountain View headquarters</a> today. For those who can&#8217;t be at the talk, there are two versions of the &#8220;what&#8217;s new&#8221; description.</p>
<p>The Apple-style version is easy to state: <em>&#8220;improvements and bug-fixes.&#8221;</em></p>
<p>Alternatively, you can read the <a href="http://code.google.com/p/macfuse/wiki/CHANGELOG" title="MacFUSE CHANGELOG">CHANGELOG</a> in its entirety at the project&#8217;s web site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/12/08/macfuse-20-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacFUSE Talk at Google</title>
		<link>http://www.osxbook.com/blog/2008/12/02/macfuse-talk-at-google/</link>
		<comments>http://www.osxbook.com/blog/2008/12/02/macfuse-talk-at-google/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 21:08:13 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=266</guid>
		<description><![CDATA[Next Monday (December 8, 2008), there will be an open-to-all talk on MacFUSE at Google&#8217;s Mountain View headquarters. Here is a more detailed announcement.]]></description>
			<content:encoded><![CDATA[<p>Next Monday (December 8, 2008), there will be an open-to-all talk on MacFUSE at Google&#8217;s Mountain View headquarters. <a href="http://google-opensource.blogspot.com/2008/12/open-source-developers-google-speaker.html" title="MacFUSE Tech Talk at Google">Here</a> is a more detailed announcement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/12/02/macfuse-talk-at-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GrabFS Source Code</title>
		<link>http://www.osxbook.com/blog/2008/08/19/grabfs-source-code/</link>
		<comments>http://www.osxbook.com/blog/2008/08/19/grabfs-source-code/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 20:59:45 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=103</guid>
		<description><![CDATA[Earlier this year, I released GrabFS, a MacFUSE file system that shows &#8220;live&#8221; screenshots of Mac OS X applications. If you wish to understand how GrabFS works, you can now browse its source. Enjoy.]]></description>
			<content:encoded><![CDATA[<p>Earlier this year, I released <a href="http://osxbook.com/book/bonus/chapter11/grabfs/" title="GrabFS: The Screenshot File System">GrabFS</a>, a MacFUSE file system that shows &#8220;live&#8221; screenshots of Mac OS X applications. If you wish to understand how GrabFS works, you can now <a href="http://macfuse.googlecode.com/svn/trunk/filesystems/grabfs/" title="GrabFS Source">browse</a> its source.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/08/19/grabfs-source-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Install/Update Capabilities in MacFUSE</title>
		<link>http://www.osxbook.com/blog/2008/07/25/new-installupdate-capabilities-in-macfuse/</link>
		<comments>http://www.osxbook.com/blog/2008/07/25/new-installupdate-capabilities-in-macfuse/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 00:09:26 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=102</guid>
		<description><![CDATA[MacFUSE has a new install/update mechanism that greatly simplifies and improves things both for end users and developers who use MacFUSE in their software. The relevant wiki page has all the details. Note that instead of Tiger- and Leopard-specific downloads, now there&#8217;s a single downloadable disk image containing a single installable package. The package, which [...]]]></description>
			<content:encoded><![CDATA[<p>MacFUSE has a new install/update mechanism that greatly simplifies and improves things both for end users and developers who use MacFUSE in their software.</p>
<p>The <a href="http://code.google.com/p/macfuse/wiki/AUTOINSTALL" title="MacFUSE Install/Update Engine">relevant wiki page</a> has all the details.</p>
<p>Note that instead of Tiger- and Leopard-specific downloads, now there&#8217;s a single downloadable disk image containing a single installable package. The package, which third parties can choose to include within their metapackages, knows how to install the latest version of MacFUSE for your platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/07/25/new-installupdate-capabilities-in-macfuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Version of MacFUSE</title>
		<link>http://www.osxbook.com/blog/2008/04/28/new-version-of-macfuse/</link>
		<comments>http://www.osxbook.com/blog/2008/04/28/new-version-of-macfuse/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 19:04:24 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/?p=97</guid>
		<description><![CDATA[Version 1.5 of MacFUSE is out. The CHANGELOG has details of what&#8217;s new.]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/macfuse/downloads/list">Version 1.5</a> of MacFUSE is out.</p>
<p>The <a href="http://code.google.com/p/macfuse/wiki/CHANGELOG">CHANGELOG</a> has details of what&#8217;s new.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/04/28/new-version-of-macfuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacFUSE Now Friendlier with Objective-C</title>
		<link>http://www.osxbook.com/blog/2008/01/09/macfuse-now-friendlier-with-objective-c/</link>
		<comments>http://www.osxbook.com/blog/2008/01/09/macfuse-now-friendlier-with-objective-c/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 19:21:07 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/2008/01/09/macfuse-now-friendlier-with-objective-c/</guid>
		<description><![CDATA[Quoting my Google Mac Blog post in its entirety: A new version of MacFUSE is now available. As always, you can download a ready-to-install prebuilt package, or browse the ready-to-build source. Besides bug fixes and other minor improvements, there is a major new developer feature in this release: an Objective-C framework is now part of [...]]]></description>
			<content:encoded><![CDATA[<p>Quoting my <a href="http://googlemac.blogspot.com">Google Mac Blog</a> <a href="http://googlemac.blogspot.com/2008/01/new-version-of-macfuse-now-with.html">post</a> in its entirety:</p>
<div style="background-color:#f0f0f0; border-left: 2px dashed rgb(40%,40%,40%); padding-left: 8px;">
A new version of MacFUSE is <a title="now available" href="http://code.google.com/p/macfuse/">now available</a>. As always, you can download a ready-to-install <a href="http://code.google.com/p/macfuse/downloads/list" title="prebuilt package">prebuilt package</a>, or browse the ready-to-build <a href="http://code.google.com/p/macfuse/source" title="source">source</a>. Besides bug fixes and other minor improvements, there is a <i>major new developer feature</i> in this release: an Objective-C <a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html" title="framework">framework</a> is now part of the core MacFUSE distribution! MacFUSE.framework will make developing user-space file systems in Objective-C easier than ever before. We look forward to seeing lots of interesting new applications based on MacFUSE.</p>
<p>Ted Bonkenburg, one of the engineers behind MacFUSE.framework, will give a talk this Thursday, January 10, during the next <a href="http://cocoaheads.org/us/SiliconValleyCalifornia/index.html" title="Silicon Valley Cocoaheads">Silicon Valley Cocoaheads meeting</a> at the Apple campus in Cupertino. His talk will focus on using the MacFUSE Objective-C API, but much of it will carry over to using other programming languages with MacFUSE. We&#8217;ll also show some very cool file system demos. So, if you&#8217;re interested in MacFUSE and are in the area, be there! It will be a hands-on talk, so please bring your laptops if you want to follow along. (Xcode 2.5 or newer required.)
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/01/09/macfuse-now-friendlier-with-objective-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GrabFS: The Screenshot File System</title>
		<link>http://www.osxbook.com/blog/2008/01/02/grabfs-the-screenshot-file-system/</link>
		<comments>http://www.osxbook.com/blog/2008/01/02/grabfs-the-screenshot-file-system/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 21:47:31 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>
		<category><![CDATA[The Book]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/2008/01/02/grabfs-the-screenshot-file-system/</guid>
		<description><![CDATA[A while ago, I wrote about procfs for Mac OS X, a MacFUSE-based file system. Subsequently, I added more cool features to my procfs implementation. Recently, I had reason to demonstrate procfs again and realized that I needed still more cool features. That need led to GrabFS. In a pinch, GrabFS is a file system [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="/book/bonus/chapter11/grabfs/" title="GrabFS: The Screenshot File System" style="border: none;"><img src="/book/bonus/chapter11/grabfs/images/volumeicon.png" style="float: left; margin-right: 1em; margin-bottom: 1em;"/></a><br />
A while ago, I wrote about <a href="http://osxbook.com/book/bonus/chapter11/procfs/" title="A MacFUSE-Based Process File System for Mac OS X">procfs for Mac OS X</a>, a <a href="http://code.google.com/p/macfuse/" title="MacFUSE Project Page">MacFUSE</a>-based file system. Subsequently, I added more <a href="http://osxbook.com/book/bonus/chapter11/procfs-cool/" title="Making procfs Cooler">cool features</a> to my <a href="http://macfuse.googlecode.com/svn/trunk/filesystems/procfs/" title="MacFUSE procfs Source">procfs implementation</a>. Recently, I had reason to demonstrate procfs again and realized that I needed still more cool features. That need led to <em>GrabFS</em>.
</p>
<p>
In a pinch, GrabFS is a file system that shows you a live view of the window contents of currently running applications. In a GrabFS volume, folders represent running applications and image files represent instant screenshots (&#8220;grabs&#8221;) of the applications’ windows. You simply copy a file or just open it in place, and you have a screenshot. Open it again, and you have a new screenshot!
</p>
<p>
<a href="http://osxbook.com/book/bonus/chapter11/grabfs/" title="GrabFS: The Screenshot File System">Go here</a> to read more about GrabFS and to <a href="/book/bonus/chapter11/grabfs/#DOWNLOAD" title="Download GrabFS">download it</a>. GrabFS requires Mac OS X &quot;Leopard&quot; and MacFUSE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2008/01/02/grabfs-the-screenshot-file-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacFUSE: New Release, Leopard Support</title>
		<link>http://www.osxbook.com/blog/2007/10/26/macfuse-new-release-leopard-support/</link>
		<comments>http://www.osxbook.com/blog/2007/10/26/macfuse-new-release-leopard-support/#comments</comments>
		<pubDate>Sat, 27 Oct 2007 02:11:54 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/2007/10/26/macfuse-new-release-leopard-support/</guid>
		<description><![CDATA[A new release of MacFUSE is here. There is a new version for Leopard, a new version for Tiger, and a new version of sshfs.app that runs on both Tiger and Leopard. Downloads: http://code.google.com/p/macfuse/downloads/list Documentation: http://code.google.com/p/macfuse/w/list]]></description>
			<content:encoded><![CDATA[<p>A new release of <a href="http://code.google.com/p/macfuse/">MacFUSE</a> is here. There is a new version for Leopard, a new version for Tiger, and a new version of sshfs.app that runs on both Tiger and Leopard.</p>
<p><strong>Downloads:</strong> <a href="http://code.google.com/p/macfuse/downloads/list">http://code.google.com/p/macfuse/downloads/list</a></p>
<p><strong>Documentation:</strong> <a href="http://code.google.com/p/macfuse/w/list">http://code.google.com/p/macfuse/w/list</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2007/10/26/macfuse-new-release-leopard-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making procfs Cooler</title>
		<link>http://www.osxbook.com/blog/2007/06/05/making-procfs-cooler/</link>
		<comments>http://www.osxbook.com/blog/2007/06/05/making-procfs-cooler/#comments</comments>
		<pubDate>Wed, 06 Jun 2007 07:05:13 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[The Book]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/2007/06/05/making-procfs-cooler/</guid>
		<description><![CDATA[A few weeks ago, I released as open source a MacFUSE-based process file system for Mac OS X. I recently added several new features to this procfs implementation. Some of these features are &#34;cool&#34; in that they put a new twist on certain types of visual information. For example, there&#8217;s a folder /proc/system/hardware/displays/ that contains [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I released as open source a <a href="http://osxbook.com/book/bonus/chapter11/procfs" title="A MacFUSE-Based Process File System for Mac OS X">MacFUSE-based process file system for Mac OS X</a>.</p>
<p>I recently added several new features to this procfs implementation. Some of these features are &quot;cool&quot; in that they put a new twist on certain types of visual information.</p>
<p>For example, there&#8217;s a folder <code>/proc/system/hardware/displays/</code> that contains a subfolder each for connected displays. Subfolder <code>0</code> represents the first display, <code>1</code> is the second display (if any), and so on. Within each such subfolder, there&#8217;s a file called <code>info</code> that contains information about that particular display: its resolution, bits-per-pixel, bytes-per-row, whether the display is built-in, whether it supports OpenGL acceleration, and so on. There&#8217;s another file called <code>screenshot.tiff</code> that contains a TIFF rendition of what&#8217;s on that display at that moment&mdash;an <em>always-live screenshot</em>, if you will. You copy this file and you get a screenshot. Copy it again, and you get a new screenshot. You can just open it in place too.</p>
<p>Along similar lines, there&#8217;s another folder <code>/proc/system/hardware/camera/</code> and a file <code>screenshot.tiff</code> within it. When you open this file, procfs activates the camera momentarily, takes a picture, deactivates the camera, and makes the picture available as a TIFF file. You can copy the file and you get an image of what the camera&#8217;s seeing at that moment. Copy it again and you get another &quot;live&quot; image.</p>
<p>Besides these, the updated procfs has other (not-so-visual) interesting features.</p>
<p>More details, source code, and a precompiled binary available here:</p>
<p><a href="http://osxbook.com/book/bonus/chapter11/procfs-cool/" title="Making procfs Cooler">Making procfs Cooler</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2007/06/05/making-procfs-cooler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video: MacFUSE &#8220;Open Source&#8221; Talk</title>
		<link>http://www.osxbook.com/blog/2007/06/01/video-macfuse-open-source-talk/</link>
		<comments>http://www.osxbook.com/blog/2007/06/01/video-macfuse-open-source-talk/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 08:00:52 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/2007/06/01/video-macfuse-open-source-talk/</guid>
		<description><![CDATA[We did a MacFUSE talk at Google last week: Video on YouTube]]></description>
			<content:encoded><![CDATA[<p>We did a MacFUSE talk at Google last week:</p>
<p><a href="http://www.youtube.com/watch?v=Yjdp70474LE">Video on YouTube</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2007/06/01/video-macfuse-open-source-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Public Talk on MacFUSE @ Google</title>
		<link>http://www.osxbook.com/blog/2007/05/10/public-talk-on-macfuse-google/</link>
		<comments>http://www.osxbook.com/blog/2007/05/10/public-talk-on-macfuse-google/#comments</comments>
		<pubDate>Fri, 11 May 2007 05:54:16 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacFUSE]]></category>
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://www.osxbook.com/blog/2007/05/10/public-talk-on-macfuse-google/</guid>
		<description><![CDATA[People are welcome to join us at Google on Thursday, May 24, for an open-to-public talk on all things MacFUSE. I&#8217;m told that &#8220;Doors open at 6:30PM at Google&#8217;s Mountain View campus. Guests should plan to sign in at Building 41 reception upon arrival. Refreshments will be served&#8230;&#8221; Here&#8217;s an abstract: File systems provide one [...]]]></description>
			<content:encoded><![CDATA[<p>People are welcome to join us at Google on Thursday, May 24, for an open-to-public talk on all things <a href="http://code.google.com/p/macfuse/" title="MacFUSE Project Page">MacFUSE</a>. I&#8217;m told that &#8220;<em>Doors open at 6:30PM at Google&#8217;s <a href="http://code.google.com/events/visitors/">Mountain View campus</a>. Guests should plan to sign in at Building 41 reception upon arrival. Refreshments will be served&#8230;</em>&#8221;</p>
<p>Here&#8217;s an abstract:</p>
<div style="background-color: #eaf4f4;">
<p>
File systems provide one of the most familiar interfaces end users know. Since implementing a traditional file system is extremely complex and difficult, presenting information seamlessly through files and folders has typically been limited to a small set of select programmers—often kernel hackers who develop at the lowest layers of a system.
</p>
<p>
The MacFUSE mechanism breaks this barrier on Mac OS X by doing all the in-kernel hard work once and for all and leaving to the developer only the file-system-specific logic, which can be implemented as a regular user-space application. MacFUSE, with its simple programmer-visible API (same as the Linux FUSE API) and multiple language bindings, almost trivializes the process of making anything and everything appear seamlessly as a set of files and folders. You can also use it to blur the line between the Macintosh Desktop and the Web.
</p>
<p>
In this talk, you will hear the story of MacFUSE from yours truly.
</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.osxbook.com/blog/2007/05/10/public-talk-on-macfuse-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
