November 3, 2008
How I arrived at Ruby
I've used interpreted languages for several decades, starting with the Lisp and command language interpreters I found on Stanford's WYLBUR (really, ORVYL) system in the early 70's. Most of my early programming, however, was done in compiled languages (eg, Assembler, C, COBOL, Fortran). I didn't get into serious scripting until I started using Unix.
November 2, 2008
Using Ruby, Perl, Python, and PHP in concert...
About a year ago, I was tasked with "tidying up" the Protégé-Frames User's Guide. This consisted of a few hundred files of rather ugly machine-generated HTML. To reduce the effort of cleaning up and maintaining the files, as well as the chance of editing errors, I wanted to mechanize the process as much as possible. That is, eliminate the repetitive and voluminous header and footer blocks, auto-generate indexes and navigational links, etc.After writing some support code, I was able to re-cast the HTML into RHTML (HTML with embedded Ruby). A two-pass generation process allowed me to collect page names and navigational information, then generate both index pages and nicely cross-linked content pages. However, that wasn't the end of the story...
Multiple sets of Terminal windows in Mac OS X (Leopard)
Back in May 2006, I wrote a blog entry about creating multiple sets of Terminal windows in Mac OS X. This weekend, I finally got around to upgrading my desktop machine to Mac OS X 10.5 (Leopard). Leopard's version of Terminal is a great improvement over the old one, but it still is only a single application. So, if I hide it, all of its windows go away.Although my old blog entry explains how to create multiple Terminal instances, the part that dealt with editing the executable binary no longer worked. Because the solution involved Real Code (TM), I decided to create a new blog entry...
May 27, 2006
Multiple sets of Terminal windows in Mac OS X
Having three screens up 24/7, it's easy to accumulate windows. I typically have several dozen available on my Mac, spread across a few dozen apps. In general, this is quite convenient. When I'm not using an app, I hide it (via cmd-H) and all of its windows disappear. If I only want to get a few windows out of the way, I WindowShade them or send them to the Dock.Unfortunately, these approaches don't work very well for applications that have lots of windows. Terminal programs, for example, may have dozens of windows, each presenting a different shell and/or application context. Mac OS X doesn't let me hide some of an app's windows, so that's out. The Dock and WindowShade are awkward ways to manage dozens of windows; simply dismissing and retrieving a set of several windows becomes quite a hassle.
April 17, 2006
Mechanical augmentation of Wikipedia
I'm a big fan of Wikipedia. I use it both as a personal reference tool and as an easy way to add depth to web-based documents. However, I think that its utility might be improved by a bit more mechanical augmentation. This augmentation could take (at least :-) three forms: generated pages, automatic content, and requested content.
April 13, 2006
Ontiki: first steps
Previous weblog entries (Ontiki: an ontology-aware wiki, Mechanically-augmented wikis) have discussed the possibility of creating structured wikis, using mechanical (i.e., software) augmentation. This entry is a very early status report, discussing my initial experiments and early progress in this effort.
March 12, 2006
Our Spotlight book is out!
Spotlight, introduced in Mac OS X 10.4 (Tiger), is Apple's new desktop search feature. Although it isn't perfect, it's quite a useful addition to other forms of file-system navigation. So, when SpiderWorks asked me to write a book on the topic, I jumped at the chance. Now, after a year of off-and-on effort, the book is available for purchase.

