Yeah, I’m on Orkut.

It is pretty neat. I have punted the invites to LinkedIn, etc, for a variety of reasons. I have been blowing off the LinkedIn invites mostly because they read so much like spam.

There are three features of Orkut that are keeping me interested in following, even participating, within the resulting community.

First, Orkut seems to have taken the “let’s build it and see what happens” approach. Orkut doesn’t enforce any particular kind of usage pattern or community structure.

Secondly, Orkut’s approach to managing email is such that it is easy to stop orkut from ever sending you messages. As well, Orkut’s messages state clearly exactly why the message arrived in your mailbox and don’t seem to try and “hard sell” some kind of a “BE A PART OF THE FUN NOW OR BE SQUARE!!!” advertising message.

Finally, Orkut may ask for a boatload of personal information as you sign up, but it is pretty much all optional and you can easily customize exactly how your info appears on the pages contained within the site.

To me, the measure of Orkut’s success will be its ability to connect me with folks that I care about. Through Orkut, I have already heard from a couple of folks that I haven’t caught up with in far too long. By that metric, Orkut has been a wild success.

Chris Pavicich has put together a very cool little Finder CMM (contextual menu) that adds Subversion and CVS support to the context menus popped up within the Finder. It is open source and available for checkout/browsing. A prebuilt binary is also available.

Installation Notes.

I have had a look at the code and there is some neat stuff going on (beyond that it “just works). In particular, Chris is using both Objective-C and Cocoa within a Finder plugin. I didn’t know that was possible, but am ultimately not surprised given the work that was put into Cocoa/Carbon interoperability.

Still needs a bit of refinement, but is already quite useful. I will certainly be tracking the devleopment of this and will keep a fresh copy built in ~/Library/Contextual Menu Items!

screen shot.

Eric Peyton wrote a brilliant post that summarizes the use of leak and the malloc debugging tools built into OS X to track down memory leaks.

To summarize:

In a Terminal window….

setenv MallocStackLogging
/path/to/foo.app/Contents/MacOS/foo

… you should see a diagnostic message like …

malloc[PID]: recording stacks using standard recorder

… then, in another Terminal window…

leaks PID

… do whatever it is in the app that you suspect causes leaks. The leaks process will print detailed information about the leak, including the backtrace of the appropriate thread within the application at the time the memory was allocated.

As Eric points out in a later post, if you find a leak in the AppKit or other library code, make sure it isn’t a code path through your own code that is the real cause of the leak. Apple is generally very good about making sure the various frameworks don’t leak memory, but that assumes that the API is being called in the proper fashion.

Some useful man pages:

leaks – Search a process’s memory for unreferenced malloc buffers
heap – List all the malloc-allocated buffers in the process’s heap
malloc – memory allocation
malloc_history – Show the malloc allocations that the process has performed
MallocOptions – Malloc options release notes
Memory Performance – Memory Management & Memory Optimization guide

RSS: It isn’t just for weblogs and geek pubs anymore…

Google reveals a number of interesting RSS feeds. Some that I have found (so far):

The USGS has RSS feeds for World Earthquake Activity.

Xicons has an RSS feed via which they announce new icon sets.

No mention of RSS would be complete without a pointer to Dave Winer’s weblog. He has recently focused upon the pending Indecision 2004 presidential race and, in so doing, has compiled a tremendous number of related RSS resources.

BBC News has a plethora of RSS feeds ranging across many sections of their site. Look for the RSS version mark. Yahoo! News also has rss feeds.

The National Weather Service has RSS feeds for all state weather, national weather, and hurricanes.

Did you know that the US Government has an entire site devoted to XML (including RSS)?.

Update: Mark Carey has a feed of Mars rover photos Spirit Imagery also has an RSS feed of news and images from the rover. The feed does not include images, but tends to be a more complete/scientific feed than Mark’s. I subscribe to both, now. Thanks to Eric for the link.

The iTunes music store now has RSS feeds!

Not only does it have RSS feeds, but you get to create personalized feeds that can have custom quantities, genres, and whether the feed is focused on New Releases, Just Added, Top Songs, Top Albums, or Features & Exclusives.

I have already received notices of new releases via my NNW iTMS subscription that I never would have seen otherwise. This could be very dangerous.

New system. New Python installation. Need readline. Now!

Because of the weblog ‘refresh’, this has fallen out of cache. Python’s interactive interpreter supports readline style command line editing. That is, a good chunk of the basic emacs text editing/navigation commands will work at the interpreter prompt if the readline module is available. Because it is tainted by the GPL, Mac OS X does not ship with the readline library.

Building libreadline is trivial. It can be downloaded from GNU’s ftp site. If you do decide to build libreadline, consider building it as a statically linked library via ./configure –disable-dynamic –enable-static. Subsequently, any applications linked against readline will not require the readline dynamic library to be preinstalled on the target system.

That is exactly how I built the readline.so module for Python. To install (this is one command):

curl -s http://www.pycs.net/bbum/2004/1/21/readline.so.gz |\
	gzip -d -c |\
	 sudo cat > /Library/Python/2.3/readline.so

The source to the module is also available. It isn’t very interesting in that it just contains the readline.c module extracted from the Python 2.3.x source tree and bundled up into a standard distutils managed module.

Ahh…. readline at the Python interpreter. One more bit of sanity restored to my computing environment.

Update: Bob Ippolito pointed out that everything is included in Panther to install the readline module without preinstalling the MacPython Panther extensions. Not only that, but can be done with a one liner:

python `python -c "import pimp; print pimp.__file__"` -i readline

Shortly, it will be “google-able”, making it the best solution yet.

Thanks Bob!