loading twitter...

October 2006

gLife?

I’ve been increasingly using Google’s services for much of what I do on the Internet. Mail and calendar I had (I still read a lot of email with a Real Mail Reader, and of course, I have to use Notes at work), and I’ve been using the Docs service for schoolwork and when writing notes. I switched from using Vienna (because RSS feeds are teh important) to Sage, but Sage is terrible, so instead I’ve moved over to Google Reader.

This is all pretty nice. All these services work well for what I need them for, and I can access them from pretty much anywhere. The only drawback is that all of these services are still tied to these AJAXy interfaces, which are OK, but really don’t compare to a real UI designed for the system you run on. iCal looks better than Google Calendar, and is easier to use; Apple Mail looks and works better than the GMail interface. You can use both of these services from those apps, sure, but with limitations.

I kind of don’t get why these sync and search technologies Google is deploying aren’t being integrated into the operating system at all. That, my friends, is a killer app, but no-one cares to implement it.

Uncategorized

Comments (0)

Permalink

Unexpected consequences

I guess Google’s code search has had two impacts:

  1. I’m getting more spam, probably because my email address is all over a lot of open source software.
  2. People who search PHP for “include” post “vulnerability reports” to security lists, without reading or understanding what the code does, and if it’s using “include” safely.

Uncategorized

Comments (0)

Permalink

A few random bits

I haven’t posted much in the recent weeks, but I’m feeling pleased (not happy, but pleased), so here’s what’s been happening recently:

I sold my old car. I put it up on craigslist on Saturday afternoon, and someone bought it Sunday morning. I now have cash money and I don’t need to worry about parking it (and moving it every 72 hours). Yay.

I bought a piece of art. I decided to become a software engineer, and not an artist, so being able to buy neat pieces of art is the consolation prize. I like this piece, because I like both “errors” we see in media like film and digital images, and I like the aesthetics of thin, dark rectangles separated by little gaps (I obsessed a little over this in high school/beginning college, when I still wanted to be an art student). I also see little glimpses of things, which of course, only inhabit my own head, when I glance at the piece; those things disappear quickly, though, but I enjoy their brief appearance.

I went to see The Departed this evening. It’s a good movie, even though everyone gets shot in the head at the end. They need to find a way to clone Jack Nicholson, because the world will just Not Be Right without him in it.

Uncategorized

Comments (0)

Permalink

Cryptomnemonics

Nice presentation.

Uncategorized

Comments (2)

Permalink

Becoming an NFS server

I’m trying to write a user-space file system for a school project, and I’m going to do this on OS X. FUSE doesn’t seem to have been ported to OS X yet, so I’m trying instead to write it as a user-land NFS server. This seems to be problematic, though, so I’m asking you for help, my dear lazyweb:

I’ve used rpcgen on the NFS v2 XDF description to generate the stub code. This seems obvious enough: it generates a bunch of svc stubs that I need to implement, to implement the functionality of my file system. It does its magic by unregistering any other NFS server with portmap:

(void) pmap_unset(NFS_PROGRAM, NFS_VERSION);

Then it wraps up my socket (which I bind to 127.0.0.1, because I only want it available locally) into SVCXPRT object, and I pass this to:

svc_register(transp, NFS_PROGRAM, NFS_VERSION, nfs_program_2, IPPROTO_UDP)

Now, pmap_unset and svc_register both try to talk to the portmapper, which isn’t running on my machine, so they both hang for about a minute, then exit with a failure. Trying to launch portmap by hand results in:

portmap[1124]: PID 441 started this second instance of portmap (the first instance may not be running, as it launches on demand via launchd), exiting!

That’s nice. Thanks, Apple.

So, I have a variety of questions:

  • Do I really need portmap (and mountd, I guess) running? Or can I just write my damn NFS server, and tell Finder to mount it, with the port number I’m listening on?
  • Has anyone else ever successfully written a user-space NFS server to implement a file system like this? Is your code available?
  • More generally, is there a toolkit that lets you more easily write NFS based file systems?
  • Apple says that launchd automatically starts portmap when it is needed, which is full of lies. How can I really make it launch portmap?

Edit: why are all NFS-related packages dead on the Internet? Neither the “Universal” NFS server (a user-space NFS server), nor portmap seem to exist anywhere on the Internet. I can get the source for these from Debian, and through Apple’s open source page, but are these packages otherwise dead?

Uncategorized

Comments (4)

Permalink