I'm close to finishing the changes I've made in the control flow layer to improve the usability of the whole system.

Cristopher Oliver came up a while ago (in an email dated May 20) with an idea of how to share the JavaScript bytecodes among various users, yet keep the variables space separate:

I looked into this briefly and I think the following approach might work: precompile
scripts using Context.compileReader() to Script objects instead of using
Context.evaluateReader(). The compiled Script object is immutable and can be shared between threads. You can then evaluate the script on 'thrScope' via Script.exec(context, thrScope).

This requires that all the script files that need to be read have to be aggregated as one single large file. I'm using a SequenceInputStream to do this, which works fine except for the fact that file location is lost. This means that error reporting is pretty much useless.

What I want to do is create a specialized class which is able to keep track of source files and their line numbers. The JavaScript error reporting will then be able to use this object to report the correct location.

I've started working on a simple RSS feed aggregator. It is written entirely in XSLT, and so it has a very small footprint.

The idea is to describe the RSS feeds you're interested in using a simple XML file format. The XSLT stylesheet is then used to process this file, obtain the RSS feeds from the remote sites, and translate them to HTML.

This is a pull model, the program needs to be run at regular intervals to pull the RSS feeds and generate the HTML file, which could then be incorporated in the Weblog. A crontab entry should do the job.

I plan to integrate this with MovableType by having the generated file be a template file instead of a plain HTML file, which could then be imported in another template to assemble a larger page. I still need to figure out all the details.

I'll post the XSLT stylesheet and a sample description file as they become more stable.

Once this foundation is in place, a MovableType user interface can be easily added. The UI will simply generate the XML description file, which could be used to generate the rest of the bits. I'll probably need some help doing this portion, as I'm very new to MovableType and I don't think I'll have the time to build this.

One thing I still need to add is a simple search capability. I tried MT-Search, but I couldn't figure out how to integrate it nicely with the same look and feel as the rest of my Weblog site.

Another thing I'd like to have is the ability to periodically publish RSS feeds from other people's Weblog and news sites. I need to find or write an RSS translator to HTML. This should be a fairly trivial task using Java and XSLT. Integration with the rest of MovableType would be the only problem, but I think that a simple crontab entry to automatically fetch RSS items and an HTTP GET request to MT to regenerate the Weblog should both solve the problem.

I need to start a TODO list on my Weblog: the number of things I want to implement starts growing.

Over the weekend I played with my PowerShot S30 digital camera and iPhoto. The program is really nice, but I wish it could allow me do few more things.

I installed the BetterHTMLExport plugin in iPhoto, which allows you to customize the look of your pages. Next step is to write the templates to look the way I want them to.

I then need to find or write a small plugin which allows the generated HTML to be published on a Web site of my choice, and not on mac.com, which is going away anyways. It's a shame the BetterHTMLExport plugin doesn't come with the source code, I need to reverse engineer the plugin API myself. I've used class-dump to do the initial investigation of the plugin API.

Another thing I'd like to be able to do in addition to publishing the pictures on the Web, is to save them on a CD. I did find a plugin on the Web that does it, but it requires an external program, Toast Titanium to be able to do it (the program itself is ~$90). I think burning the CD can be done easily with the help of the MacOS X included hdiutil, a command line program for burning CDs.