Mar 2002

AEStream and Friends

New Apple technote “describes the AEStream* collection of APIs that can be used to construct Apple event records and Apple event descriptors using stream oriented calling conventions. These APIs allow you to use interesting and easy to maintain stream oriented algorithms for creating complex Apple event descriptor records.”

iBooks Love Linux

O’Reilly: “It feels a bit like a homecoming. After years wandering in the cranky wilderness of mix-and-match PCs I’m working again on a computer that feels like it has a soul. The reason I feel like this? The other week I switched from an Intel-based laptop to an iBook.”

Script Debugger 3.0.2

This maintenance release adds AppleScript Studio support and fixes bugs.

Making ‘clean’ URLs with Apache and PHP “As you probably know, when a search engine spiders your site and finds a query string it stops. After all, how on earth can the robot know that all the pages are not the same with just a different parameter passed to the page?”

Template Languages in XSLT “This article will show you how to implement your own specialized template languages by building up a simple example capable of transforming a music database in XML into any form of HTML.”

Tips for Scripting Java with Jython

O’Reilly: “Jython is a complete re-implementation of the Python programming language, written in 100 percent pure Java, which runs on any Java Virtual Machine (JVM). Python is a high-level, interpreted, object-oriented scripting language which combines elegant syntax rules with powerful built-in objects to create a language that is very easy to write, read, and maintain.”

How to Create, Load, and Use Multiple Nib Files

Cocoa Dev Central: “But, what do you do when you want a variable number of instances for a given window or set of windows?”

What is XML? “Is it even possible to explain XML in simple English—especially in the limited space of an XML Q&A column?”

CPAN PLUS “Its objective is simple: do what does, but do it better. We’d start with a clean code base designed to accommodate different types of use.”

Building an Extensible Form Validator Class

Developer Shed: “I’ll be attempting to build a reusable library of functions for form input validation, in an attempt to save myself (and, hopefully, you) some time the next time an application needs to have its input checked for errors. The end result of this experiment will be a PHP class that can be easily included in your scripts, and that exposes basic object methods for data validation.”

Two Ways to Implement Session Tracking

WebReference: “The techniques presented in this article do not use the new technologies present to implement session tracking, but use some old, tried and tested ways which are extremely popular even today. After reading this article you would be able to implement session tracking using any language, since you would understand the concepts of session tracking rather than some language dependent implementation.”

Learning the Mac OS X Terminal, Part 4

O’Reilly: “Things really become interesting, however, when you take advantage of a little known feature of term files, the ability to define a command line to run when the window opens. Doing this allows you to create your own double-clickable run files that open in Terminal within a window of your exact specifications and run any command line (or script file) you can come up with.”

Error Handling in PHP

Developer Shed: “No developer, no matter how good he or she may be, writes error-free code all the time. Which is why most programming languages—including PHP—come with built-in capabilities to catch errors and take remedial action. This action could be something as simple as displaying an error message, or as complex as heating your computer’s innards until they burst into flame.”

Python 2.2.1 release candidate 2

The second release candidate of Python 2.2.1 is a bugfix release.

Big Cat Plugin for AppleScript (beta 1)

This free plugin for OS X adds a Scripts submenu to your contextual menus. You can attach and run your own AppleScript scripts from the Finder and other apps—such as BBEdit, Eudora, and Internet Explorer—that support contextual menus. Here’s a Finder screen shot and an Internet Explorer screen shot.

Mailsmith 1.5

BareBones: “Not only is Mailsmith a scriptable mail client—giving you scripting access to checking mail, sending messages, and moving messages between mailboxes—but it’s also a fully scriptable text editor. Most AppleScripts written for BBEdit work in Mailsmith.”

Building with Ant: Deployment and Distribution “These days, it is trivial to run a servlet container on your workstation. This should be your first line of deployment. Before you push your application to any other servers, you should deploy it locally and look it over.”

Contextual Menu Workshop

Tomasz Kukielka: “Contextual Menu Workshop is a free framework for creating Contextual Menu plugins for Mac OS X.”

MySQL Explained to Frontier Users

Old programmer’s philosophy: if you work primarily (or exclusively) in one environment, it’s a good idea to learn about others. It stretches your mind, helps you think more widely and imaginatively about how to solve problems. 1.0

It’s an open source clone of that uses Cocoa or GNUStep.

Displaying Referrers

Brent Ashley posts another method of doing a referers page. He uses awk to parse his logs and PHP to build the referers page.

Vertical Text in Java

O’Reilly: “If you’re developing your application using Java on the Macintosh, you may have noticed that Apple’s Human Interface Guidelines specify vertical text in side tabs, but Java only supports horizontal text. To address this, I wrote the VTextIcon class, which manages vertical text with support for localization.”


This new sample code from Apple helps build Apple events and object descriptors.


New Cocoa sample code from Apple “shows how to add a dock menu to your Cocoa application, so that clicking and holding on your application’s dock icon displays a menu. It demonstrates this by scanning a folder of your choice (which you can choose from the ‘Preferences...’ menu item) for pictures, displaying those pictures in the dock menu, and setting your desktop picture to the picture you choose from the menu.”

Authorization Services Reference (pdf)

Apple posted a preliminary guide to the Authorization Services API.

Carbon Help Manager Reference (pdf)

Apple posted a preliminary guide to the Carbon Help Manager.

Mach-O Runtime Architecture (pdf)

Apple posted a preliminary guide describing the Mach-O runtime architecture.

acgi Dispatcher 1.0b4

James Sentman: “New in Beta 4: Adds ‘debug windows’ that let you see exactly what data is going back and forth between dispatcher and the scripts.” acgi Dispatcher allows traditional-style acgi scripts and apps to run behind Apache on OS X.

Manila Envelope 1.0.3 Released

Tim Jarrett’s Manila Envelope is an external editor for Manila weblogs. This release adds a couple new features and fixes some bugs.

Scripting Apple DVD Player

Jesse Shanks: “The DVD Player application comes with a scripting dictionary that allows the intrepid user to control aspects of the way the player acts, looks and responds. Besides commands to start, stop, pause and stop DVDs, there are commands for the arrow keys, the return key and ability to go to any of the menus found on a disc.”


Macrobyte: “RCSearch is the super-easy-to-use search engine for UserLand’s Radio Community Server. It’s also a Just-in-Time search engine: within minutes of a new page being uploaded to your community server, the page will be fully indexed and searchable.”

Rolling Referers Page with PHP/MySQL

How to do a page that shows referers for the past 24 hours. (Like the same feature in Manila.)

Look Up PHP Function for BBEdit

A very simple AppleScript script. Highlight a PHP function in a BBEdit window, then choose Look Up PHP Function from the Scripts menu. Your browser will then run a search on the PHP site to find the docs for that function.

A Perl Hacker’s Foray into .Net “So for our exploration, the components of the .NET Framework that we care about are the Common Language Runtime and the C# language. And to nail it down beyond any doubt, these are things that you can download and use today. They’re real, they exist and they work.”

An Update on the Eclipse Project

LinuxPlanet: “IBM, Rational Rose, HoloSofx, CommerceQuest, Versata, and at least 25 other vendors have all been readying tools for the open source integrated development environment (IDE). Meanwhile, a greatly enhanced Eclipse 2.0 is slated for release in May.”

Regular Expression Basics “If you’ve seen a regular expression before and thought it looked like alien space-algebra, it does, but have no fear—you’ll be fluent in alien space-algebra in no time!”

AEBuild*, AEPrint* and Friends

Apple Technical Note: “The AEBuild* suite of routines provide simple to use and easy to maintain facilities for constructing complex Apple event structures in memory for sending information to other applications. AEPrint provides a symmetrical pretty printer routine for viewing complex Apple event structures as strings formatted using the same syntax as the strings AEBuild* is able to read.”

Modifying Dreamweaver to Produce Valid XHTML

A List Apart: “Problem: Dreamweaver 4 falls short in its ability to produce well-formed, standards-compliant markup. Solution: You can easily harness Dreamweaver’s two greatest strengths, its flexibility and its user community, to make it one of the best tools on the market for producing good XHTML.”

Accessibility and Authoring Tools

A List Apart: “With the advent of standards-compliant browsers, we need to turn our attention to the tools that help designers and developers build the web. Professional developers and homepage hobbyists alike can code their pages with simple text editors. Hand coding, however, won’t always allow developers to meet tight publication or delivery deadlines.”

Using Mailfilter on Mac OS X

Paul Bissex: Mailfilter is “a command-line POP client whose only job is to kill spam. It connects to your POP account, compares the headers on waiting messages to its configurable list of rules, and deletes messages accordingly—before your e-mail client even downloads it. You don’t have to change any settings in your e-mail client or on the server where your POP account resides.”

XSL Transformation with Xalan

DevShed: “In this article, I’m going to take things further, exploring yet another addition to the Java/XML family. It’s called Xalan, and it’s an XSLT transformation engine that should substantially simplify the task of converting, or ‘transforming,’ XML documents into other formats.”

Working With JavaScript - Dynamic Forms

Apple: “Forms are key components of all Web-based applications. But important as they are, Web developers often present users with forms that are difficult to use.”

Ruby: Productive Programming Language

Linux Journal: “Every few years something significant happens in the land of computer programming. In my opinion the Ruby computer language is such a landmark.”

Secure Mail Reading on Mac OS X

O’Reilly: “In this article I describe a danger inherent in most mail-reading methods, and ways to work around it on OS X, using the Mail program. I’ll also give you a brief tour of some SSH client tools that subtly stow away in the Mac OS X distribution.”

Date/Time Processing with PHP

From Developer Shed.

Frontier ODBC Extension

Tallent Communications Group: “The ODBC Extension allows a Frontier user to easily write cross-platform scripts for connecting Frontier to any ODBC compliant database system such as Oracle, Sybase, MS SQLServer, Access, mySql, or anything with an ODBC driver for your platform.” This new versions works in OS X.

PostgreSQL Extension for Frontier

From André Radke, a DLL and set of verbs for calling PostgreSQL from Frontier.

Generating Web content with Cocoon “Cocoon is a Java Web-application for generating dynamic content using XML. It can be installed on any Java Servlet Engine and comes with a wide variety of components for generating, transforming and outputting data with XML.”

[Question n: Answer];

Cocoa Dev Central: March 16 questions and answers.

Building with Ant: Directory Structure “The foundation of any build process is the project directory structure. A messy project directory, cluttered with files dropped willy nilly into whatever directory the ‘file save’ dialog happened to open up with, leads to arcane and bug-prone build scripts. On the other hand, if you try to organize too compulsively, you can end up with a byzantine nest of sub-sub-subdirectories that make it tedious to find the files you’re looking for.”

Secure Server for Frontier and Radio in Development

Macrobyte Resources: “Early pre-release versions have already been tested successfully. A public, time-limited beta version will be available in late March.”

Transactions in MySQL

Webmonkey: Jay Greenspan “answers the age-old Q: ‘What’s the big deal with Transactions?’; investigates the four properties that a database must have to be considered transaction-capable; takes a closer look at locking mechanisms; and finishes up with a look at MyISAM tables, the lesser cousin of fully transaction-capable tables.”

mod_perl Developer’s Cookbook

Book excerpt—Chapter 4: Communicating with the Apache Server.

Python 2.2.1 release candidate 1

It’s a bugfix release.

Roxen WebServer 2.2

Linux Journal: “The Roxen WebServer, from the Swedish company Roxen Internet Software, is a viable alternative for those who find Apache inappropriate for their needs. Although Apache dominates the internet web server market, it has some weak points: it lacks a built-in SQL database backend, flexible administration tools and easy SSL certificate management.”

Top five frustrations experienced by Web shoppers “Pop-ups come first: for 52% of the respondents, pop-ups constitute the element Internet users hate most.”

Radio Community Server

UserLand: “Radio Community Server (RCS) is a software application for Radio UserLand or Frontier/Manila that makes it possible for individuals or organizations to host communities of Radio users. It offers all of the community functionality currently offered by UserLand’s centralized system.”

The Wrong Way to Use CSS in Page Layouts “Unfortunately, many people are still using WYSIWYG packages to do their web development, and many of them are trying a table-free approach in their attempts to ride the wave of the CSS flood. What some of these developers tend to forget is that pixel-precise layouts are anything but, especially when you consider all the custom settings users may have on their systems.”

Apple Sample Code Enhancements: HTML Source and API Searches

ADC News: “You can now view a sample’s source code online in HTML format. To access the source code, simply find the sample you’re interested in and select your preferred format from the pull-down menu. In addition, you can search for specific APIs using Google search technology.”

Creating Toolbars for Mac OS X

O’Reilly: Programming with Cocoa: “Today we’re going to continue our parade through the new Aqua interface with a look at toolbars. Toolbars are a great addition to the Macintosh GUI. They provide a consistent interface across all applications and are highly customizable by users, taking some of the UI burden off the developer.”

OmniOutliner 2.0 beta 1 debuts

MacCentral: “New features in OmniOutliner 2.0 include a customizable toolbar, new column types, notes, auto-numbering, sorting, summary values, new keyboard shortcuts, support for alternating row colors, an updated info window, and more.”

Searchable RSS

I just added a new feature to this site—you can specify a search string and get the results as RSS. I’m not sure it’s useful, but why not.

Why mod_perl? “If you love Perl and your favorite Web server is Apache, then you will love mod_perl at first sight.”

PHP and Regular Expressions 101 “Regular expressions are simple to implement, and once you’ve mastered a few regular expressions (which are specially formatted strings that we can use to tell the regular expression engine the portion of a string we want to match) you’ll be asking yourself why you left regular expressions in the corner for so long.”

XML Tools 2.4

Late Night Software’s XML Tools for AppleScript update fixes bugs regarding whitespace and character encoding.

RFC: MetaWeblog API

UserLand: “This API views a post as a package of metadata with some well-known names and room to grow on an organized or an ad hoc basis. In my experience those are the kinds of APIs that have legs.” I agree that an API richer than the Blogger API is needed—and that using a struct is the way to do it.

iNET will run on Mac OS X

MacCentral: “Halcyon Software, a company that specializes in migration services and technology business, has released a beta version of its iNET technology, the first commercially available Java-based implementation of the Microsoft .NET framework.” As Paul Revere is said to have said: The redcoats are coming!

User Authentication with Apache and PHP

DevShed: “As it turned out, my user authentication module had enough security holes in it to drive a few hundred dump trucks through. I spent the next week plugging those holes, and along the way learnt a number of valuable things about access control—most notably, that it’s not as easy or as obvious as you might think.”

Building a Quick-and-Dirty PHP/MySQL Publishing System

DevShed: “Constructing a dynamic, database-driven Web site in Perl would take me a week; with PHP, I’m done in two days, and my code is cleaner, more readable and less convoluted than my best efforts in Perl.”

Frontier Contextual Menu Plugin 1.0

No longer beta. This free OS X plugin allows you to run Frontier scripts from apps which support contextual menus, such as the Finder, BBEdit, Eudora, and Internet Explorer. Here’s a Finder screen shot; here’s an Internet Explorer screen shot.

Web File Types 1.0 contextual menu plugin for OS X

The OS X version of this plugin has been released. It allows you to quickly and easily change the type and creator codes of files in the Finder. Here’s a screen shot.

XSLT Powers a New Wave of Web Applications

Linux Journal explains the basics of transforming XML documents via XSLT.

At the Forge: Zope Products

Linux Journal: “Each Zope product is actually an object class (or a set of classes) that can be instantiated any number of times in our web site.”

Building with Ant: Introduction

Earthweb: “The more interesting your application becomes, the more complicated your build process. In this article, I will sketch out a framework for how to use simple tools (like Ant and JUnit) and a simple directory structure to avoid many of the common growing pains of application development.”

User-Agents page

I was curious about what browsers were hitting my site, so I started recording user-agents. Check out all the Radio UserLand hits.

New unix-porting mailing list

Apple’s new mailing list is “for community discussions regarding all the questions people face when doing a port: What’s different about Darwin? Which high-level toolkits should I use for my GUI? Is there a workaround for this problem? Has someone tried to port this before?”

JavaScript OSA 1.0.2 fixes bugs

JavaScript OSA is Late Night Software’s implementation of Mozilla JavaScript as an OSA component for Mac classic and OS X.

Installing Open Source Software on OS X With Fink “Fink is very handy. With it, you can automatically install and update dozens of free software programs on OS X. These programs include many different text editors, Internet programs like email clients and Usenet browsers, programming tools, and more.”

Frontier/Radio Contextual Menu Plugin Beta 4

The scripts folder is now structured: different folders match the different selection types. That way you can have one set of scripts for files, another for text selections, and so on. This may be the last beta.

Frontier/Radio Contextual Menu Plugin Beta 3

Major change—it now also works with text in apps such as BBEdit, Eudora, and Internet Explorer. This screen shot demonstrates.

Apache Web-Serving With Mac OS X, Part 5

On installing and developing with MySQL and PHP.

AWPS Template Builder/Renderer

The Little Page of Beta AppleScripts: “AWPS (Applescriptable Web Publishing System) is a template-based webpage rendering system; basically a framework into which you add your own code, templates and data, and let it do all the hard work of putting these together. The control logic (standard AppleScript) is kept completely separate to the html templates, making design and editing a snap.”

Mac OS X v10.1.1 - v10.1.3 technote

Apple Technote TN2043 lists changes in system software updates 10.1.1 through 10.1.3.

Getting List of All Processes on Mac OS X

Apple Technical Q&A 1123: “If you want to list all of the running applications you should use the Carbon Process Manager routine GetNextProcess. This will return a list of all application processes, including those running in the Carbon, Cocoa, and Classic environments. However, this doesn’t return a list of non-application (daemon) processes.”

Style Sheet Switcher

Choose a theme for this site. A demo of using CSS to define layout and style.

Mo’ Betta Rollovers

A List Apart: “For optimum usability, a rollover must be instantaneous—BAM!—or the effect is diminished... The solution? Don’t swap images.”

pySlice for Frontier

Greg Pierce: “pySlice is a suite of scripts for UserLand Frontier or Radio UserLand that implement string and list slicing, based on index values (ie, ‘1:3’)—the same way slicing is implemented in the Python language.”

Studio Log Gallery

Lots of interesting AppleScript scripts and AppleScript Studio examples by Jesse Shanks. (Via

Referers Page

I missed having a referers page—so now I have one. As with Manila and Radio sites it’s public.

OpenOSX publishes PHP 4.1.2 package

MacCentral: “Without typing a single UNIX command, the OpenOSX package will install PHP 4.1.2 and dependent libraries: PDF Lib 4.0.2, Libcurl, and Freetype 2.0.4.”\r

Macrobyte Resources releases AttSearchEngine

It’s a search engine for Frontier and Radio UserLand that indexes text and attributes. “AttSearchEngine is a developer’s tool. There’s no user interface, because it’s not a tool for users. You build the AttSearchEngine into your software or project.”\r

Cocoa API reference documentation

According to an email posted by an Apple manager to the Cocoa-Dev list, Apple’s Cocoa API reference documentation is now content complete.

Building OpenSSH 3.1 on Mac OS X 10.1.x

Stepwise: “A serious security issue has been discovered in OpenSSH 3.0.2 (Apple ships this version with Mac OS X 10.1.3). Update to the latest version as soon as possible.”

Frontier/Radio Contextual Menu Plugin Beta 2

The code that maps a menu item to a script on disk was re-written, made cleaner, smarter, and shorter. It also now supports exported script objects, which means it should work easily with Radio UserLand now.

Developing C/C++ Applications with the KDevelop IDE

Linux Journal: “The aim of this article is to enable you to create an application with the KDevelop Integrated Development Environment (IDE) on a Linux/UNIX system running KDE 2. We explain this process by creating a sample application that gives some insight into the development framework and how it works.”

Server-Side Development on Mac OS X: Launching Tomcat “Last time, we installed Tomcat 4 on Mac OS X. This time, we’ll look at how to set it up to launch automatically, and how to run it more securely, as an unprivileged user.”

XML Parsing with DOM and Xerces (part 2)

Developer Shed: “This concluding article focuses on the dynamic generation of Web pages from an XML file, demonstrating how Java, JSP, Xerces and XML con be combined to create simple Web applications.”

Frontier Contextual Menu Plugin Beta

OS X users—you can attach Frontier scripts to the Finder’s contextual menus. (It will work for Radio too in a later beta.)

Contribute to the Frontier Directory

Seth Dillingham is looking for Frontier resources for the Open Directory Project. (Via Scripting News.)

Web File Types OS X Beta

By popular demand—okay, two or three people—here’s the first OS X beta of this contextual menus plugin.

Plugging RDF Content into Your Site with PHP

Developer Shed: “Imagine a site that carried the latest news from the hottest portals on the Web. Stock prices, weather information, news stories, threaded discussions, software releases...all updated dynamically, on an hourly basis, without any manual intervention. Imagine the traffic such a site would get.”

launch 1.0a7, a command-line launcher for Mac OS X

Opens URLs, prints documents, launches apps in the background, and more. By Nicholas Riley.

Style Sheets or JavaScript? How to use CSS instead of JavaScript for rollover effects. (Via Zeldman.)

Aspect-Oriented Programming with WebObjects

Stepwise: “AspectJ is an aspect-oriented extension to the Java programming language. It is freely available as open source, and version 1.0 was released on November 30 last year. It’s time for WebObjects developers to evaluate if and how they can benefit from using AspectJ.”

DSFinder for Frontier and Radio

This utility makes it easy to look up documentation on Frontier’s verbs and keywords when you’re scripting. Just right-click on a verb name and choose Open in DocServer.\r

Comments feature now works

If you follow the link above, you can comment on this posting. To comment on any post, click under the post where it says comments.

Technology Behind this Site

If I don’t specify, people will send me email. So here’s a page that describes the technology used to run this site.

Links page

Added a links page with cool places to visit. Also added links to the template.

These folks are my ISP. The price is reasonable and service is good. I’m utterly pleased.

XML News Feeds

This page is syndicated in both RSS and scriptingNews2 formats.


The Software section of the old site has been imported. It includes two really old CMM plugins for Mac OS 8/9. As far as I know they still work.

Frontier Stuff

The old Frontier content—on FileMaker, MacBird, and UCMDs—has been imported into the new site. Most of it’s obsolete, or at least pretty old, but it may still be useful to somebody.


© 1995-2014 Ranchero Software, LLC