1608: A Roman law establishes that bakers who intend to sell vermicelli must belong to the Guild of Vermicellari. I hacked together a FileMaker Pro 6 database application for Mac OS 9 this weekend with my wife M.C. Moewe. She began a job two weeks ago covering real estate and land development for the Florida Times-Union, and she'll be working on a weekly Pipeline feature that's better suited to a database than a word processor. The application must output records as a word processing file with font formatting and ... read more

One of my favorite works of art was executed as a Java applet. I bought Every Icon by John Simon Jr. in May 2000 and have been meaning to put it on my Web site ever since. The display of the work takes several hundred trillion years from start to finish, so I don't feel so bad about taking almost four years to share it on Workbench. ... read more

Sunday's New York Times Magazine had a cover story by Clive Thompson on the symbiotic relationship between virus writers and script kiddies in the underground programming community. The piece suffered from the normal journalistic conceit of overexaggerating the newness of its subject. Virus-authoring toolkits are at least as old as the Dark Avenger Mutation Engine, which was being hyped to the gills 12 years ago, but you wouldn't know that from reading the story -- Thompson makes it sound like the 15-year-old ... read more

My November 2003 Java Matters column for Linux Magazine is now available online. It covers JXTA, a set of XML protocols for peer-to-peer network programming created as an open source project by Bill Joy and Mike Clary at Sun Microsystems. JXTA's an extremely ambitious project with a steep learning curve. A quote from the column: The formulation of networks on the fly, with or without a central server, through firewalls and with authentication and encryption, atop the Internet and other networks -- just writing a ... read more

The Dining.Name Web application uses Log4J, Apache's logging library for Java, to log the behavior of classes that import XML data into a MySQL database. Log4J is a simple class library -- the basics take no more than a half-hour to learn, as I described in a Linux Magazine article in 2002. It supports four levels of logging and external configuration. Right now, I'm building Dining.Name at debug level and getting verbose output. When I'm confident that it works, I'll change it to fatal level by tweaking a ... read more

For several years, I've been unable to find a suitable Web server log statistics program for this server, which hosts several dozen virtual domains for myself and a few friends and relatives. The commercial options such as WebTrends and Wusage cost more than I want to pay for a server-wide solution. The open-source and free-beer programs I have found are either skimpy on stats or can't handle sites that get millions of hits a year. I've decided to write my own program in Java, a project I'm naming Logfreak. The ... read more

I found a much-needed Java programming tip in a LiveJournal XML-RPC client programming discussion this afternoon: How to create an MD5-hashed password from a string. Radio UserLand only presents hashed passwords when publishing via XML-RPC, storing the plain text version in the object database. The following class method can be used to create a hash from a string: public static String hashPassword(String password) { String hashword = null; try { MessageDigest md5 = MessageDigest.getInstance("MD5"); ... read more