Archive for March 2004

Wednesday, March 31, 2004

Tactile Pro Keyboard

Adam Engst writes about a subject dear to me: keyboards. My favorite keyboard, in terms of feel, was the ADB keyboard that shipped with the Apple IIGS. Unfortunately, it didn’t have F-keys, Home/End, or Page Up/Page Down, and the arrow keys were arranged in a line. The keyboard that shipped with the SE/30 was flawed in the same ways, but it also had a good feel.

The Apple Extended Keyboard II combined a full set of keys with a solid, “clicky” feel that wasn’t too loud. I believe it was the best Macintosh keyboard ever made, and I continued to use mine after getting a USB Mac until it finally wore out. After that, I tried every Mac keyboard I could find and eventually settled on the Micro Connectors flavored keyboard (the Micro Connectors Web site seems to be down), which I use to this day. The Micro Connectors is a decent, but not great, keyboard. The feel is solid, but not as smooth as the older Apple keyboards, and it’s extremely loud.

(On the PC side, I was quite happy with the old PS2 Dell QuietKey. It had a great feel, and it truly was quiet.)

Engst reports on the Tactile Pro, which he says is similar to the Apple Extended Keyboard, but with USB, volume and eject keys, and detailed keycaps. Sounds great.

Tuesday, March 30, 2004


Now that DreamHost servers are back up after about a day of downtime, I can link to RegExLib, a site with a large collection of regular expressions.

Thursday, March 25, 2004

WebObjects in 15 Minutes

Jonathan Rentzsch created an excellent QuickTime movie that shows how to create a simple WebObjects application. The best part is seeing how the different tools fit together.

Wednesday, March 24, 2004

Panic Interview

James Duncan Davidson interviews Cabel Sasser and Steven Frank:

Well, when it became obvious that the Amiga was dead as a platform, the Mac seemed like the spiritual successor to it. After all, it was a platform with a minority market share and there was no way we were going to run something mainstream! We were both running it under emulation on the Amiga…

Tuesday, March 23, 2004

Music Typesetting

Chris Hanson writes about LilyPond, which he says is like LaTex for music, but easier to write. The best music typesetting software I’ve seen is Music Press. It’s easy to use (direct manipulation everywhere), produces great output, and is fast. Unfortunately, it’s pricey for non-professionals and is not OS X–native.

Friday, March 19, 2004

Subvocal Speech

Another case of research following fiction (via Kai von Fintel).

Markdown 1.0b3

I don’t plan to use Markdown, John Gruber’s Setext-on-steriods Perl script. I’m already using reStructuredText, which is more extensible and supports multiple output formats. However, there are still some reasons that I find Markdown interesting.

First, the syntax is extremely clean. It looks only slightly more structured than e-mail or Setext, hardly at all resembling the troff-like Textile that it’s often compared with.

Second, Markdown is unabashedly designed only for producing (X)HTML. It supports inline chunks of HTML without the need to escape anything.

Third, the code. It’s formatted and commented well. Rather than separating the parsing and output phases by building a rich internal representation, it follows the common Perl style of treating text transformation as a series of regex substitutions. Perhaps this is because Perl’s syntax encourages the uses of regexes and discourages the use of references. Or perhaps it’s because this approach is expedient when the only output format is HTML. In any case, the decision to make the internal representation a string led to some code that made me laugh out loud. You see, you can’t really repress references. If you need them, they’ll come back in another form: in this case as MD5 digests that stand in for chunks of protected text.

Disk Inventory X 0.8

Disk Inventory X is a new utility (licensed under the GPL) that uses treemaps to graphically display how much disk space different files and folders use.

Wednesday, March 17, 2004

Mac Developer Journal, Take 2

When I first looked at Mac Developer Journal, I liked the content but not the clunky Zinio reader (which commandeers a top-level spot in my home folder) or restrictive file format. The second issue fixes the most glaring problem: that the layout was designed for printing but could only be printed one page at a time. The first thing I did after downloading the sample of the second issue was to print it to a PDF file. This worked without a hitch, although some of the interactive content printed as solid black boxes. I could now read the issue in Preview.

Alas, all was not well with the PDF file. Not surprisingly for a Quartz-generated PDF, it had no clickable internal links or URLs, and no bookmarks. What is surprising, though, is that the text was not selectable or searchable.

I like to read magazines on paper, but I was unable to print the complete sample issue at high quality. Whether this was because of software problems or my PostScript-emulating GCC printer, I don’t know. When I printed from Zinio Reader, nothing printed after logical page 52 (the first page of the REALbasic article). Author names printed as black boxes. The same thing happened when I tried to print the PDF from Preview, even if I asked it to start printing on page 52. I was finally able to print the issue by asking Acrobat Reader to print the PDF as an image, but that took a long time and reduced the quality. The text wasn’t as sharp, and the code examples no longer had shaded backgrounds.

Page 28 (the last page of the Search Kit article) printed with the body text in a sans-serif font, unlike the rest of the article. This article, by the way, was the one in the sample issue that most interested me. Unfortunately, it ended up being high-level and didn’t seem to provide any information that’s not found in Apple’s own PDF documentation for Search Kit. It also commits the typographical sin of using ligatures in code examples.

On the plus side, some of the articles that aren’t in the sample issue look interesting (the Rich Siegel interview and the two After Hours articles). And the Web site has a video interview with Brent Simmons, in which he has some very nice things to say about SpamSieve (as well as Bare Bones, Omni, and SubEthaEdit).

Overall, I like the content of Mac Developer Journal, but it doesn’t really have the focus that I want. There are marketing-type articles and interviews, which I would read but that aren’t really enough to get me to buy the magazine. There are introductory technical articles. And there are more general-interest “how to” articles that wouldn’t be out of place in Macworld. The writing is definitely a notch better than MacTech. What there are not, it appears, are the develop-style technical articles that should be the core of a Macintosh developer magazine.

For a look at how good a developer magazine can be, consider the platform-agnostic Dr. Dobb’s Journal. It manages to be both broad and deep—see, for example, the tables of contents from the March and April issues—and features columns from Verity Stob and Mike Swaine. I realize that the prices are not directly comparable due to the Mac market’s small size, but at $50/year Mac Developer Journal seems very expensive compared to DDJ ($35/year). The issues are smaller, they’re quarterly rather than monthly, and they’re delivered in Zinio format instead of on paper.

Thursday, March 11, 2004

Affrus 1.0

Late Night Software, makers of the excellent Script Debugger, has released a Perl editor and debugger called Affrus. I’ve been trying it in beta form for a while, and am very impressed. The syntax coloring is smart. Affrus knows whether a variable is global (package) or local (my), and it shows this by coloring local variables orange and global ones black (and there are more colors, e.g. for cases like $_). This helps to remind me when I forget that Perl variables are not local by default, as in all the other scripting languages I use.

Another example: when you Control-click somewhere in the code, Affrus shows a pop-up menu listing the local variables that are in scope. It should go without saying that Affrus is AppleScriptable, attachable, and recordable, and that it supports Edit With BBEdit.

Tuesday, March 9, 2004

Spatial Nautilus

Sayamindu Dasgupta (via Robb Beal):

I was simply stunned by the ease of use and the efficiency of the spatial mode—I did a complete reorganisation of my home directory (consisting of 168271 items) in just around half an hour.
Also, what made me all the more happy was the fact that the Nautilus developers have not got rid of the older “navigational” interface, it can started by selecting a folder in the spatial window, right clicking, and selecting “Browse Folder.” Their comments on this ?? “We want Nautilus to give us the best of both worlds” Cool!!

Monday, March 8, 2004

Scripting Interface Guidelines

TN2106 offers Apple’s guidelines for creating scriptable applications. To do things the right way, I should really be using the new sdef format, but unfortunately it isn’t yet supported by Suite Modeler. (Memo to Don Briggs: please e-mail your registered users when you update Suite Modeler.)

CVSTrac 1.1.2a

I’ve posted a new Mac OS X build of CVSTrac, which I call 1.1.2a. There are three changes from 1.1.2. First, I’ve added a patch that’s not yet in the official CVSTrac documentation to fix a leap year bug where CVS check-ins after 2004-02-29 would be associated with the wrong day. Second, I’ve added instructions for setting up CVSTrac to run as a CGI using Mac OS X’s built-in Web server. Third, CVSTrac is now uses the latest version of the SQLite library (2.8.13).

SQLite 2.8.13

SQLite 2.8.13 was released today. I’ve posted a Mac OS X build that may save people some time. When you download SQLite and build it on a stock Mac OS X system, the sqlite tool has a very primitive command-line editing facility. This build of sqlite uses the GNU readline library, which provides fancy command-line editing (using, e.g. Emacs key bindings) as well as a command history. Software built using the included libsqlite.a library does not link with readline and thus is not tainted by the GPL.

Saturday, March 6, 2004

Web vs. Desktop

Tim Bray:

Application interfaces (VB, win32, X Windows, Mac OS) used to be “richer environments,” and the users abandoned them by the millions, in favor of the browser, the moment they got a chance (granted, the browser was an advance on previous online-service interfaces).


Which is not to say that the browser is the right answer for everything. Here’s an overgeneralization which I think works. Computer applications, excluding games, fall into one of three baskets: information retrieval, database interaction, and content creation. History shows that the Web browser, or something like it, is the right way to do the first two. Which leaves content creation.

Some interesting ideas, but the point is a little murky since he considers NetNewsWire to be a browser, when it’s both a “richer environment” for information retrieval and also a tool for content creation.

Monday, March 1, 2004

ATPM 10.03

The March issue of ATPM is out.