Programming

BitTorrent Creator Praised 'Digital Piracy'

Because so many copyright holders offer files legally over BitTorrent, some experts believe the file-sharing technology will survive the inevitable scrutiny of the courts. As Ed Felton notes, creator Bram Cohen has frequently promoted the legal non-infringing use of his creation. Stories about Cohen frequently cite his good intentions: Cohen denies that he wrote BitTorrent with the intent to assist piracy and says he is the last guy you would ever find stealing digital content. A recently ... (read more)Microsoft has abandoned six million developers with its decision to end mainstream support for Visual Basic 6, Karl E. Peterson writes in the current Visual Studio: There are millions of existing VB6 and VBA applications; this alone constitutes a compelling reason to ensure support for these applications on existing platforms. Otherwise, the authors of these applications have no means to use new platform features and no reason to encourage their customers to adopt the new Microsoft platforms. ... (read more)

Open Source, Insert Foot

As a Java devotee, I grimace whenever language inventor James Gosling expounds to the press on the subject of open source. In a story noting the 10th birthday of Java, Gosling said, "We did do it as close to open source as you could and still be a corporation." Last month, Gosling responded to an Apache proposal to create an open source version of Java with puzzlement: It's often difficult to get a good picture from the open source community of what they actually object to in what we're doing. ... (read more)

Choosing a Programmer's Editor

A reader laments the difficulty of writing programs in a plain-vanilla text editor: I have a question that I can't seem to frame correctly. It relates to my inability to format nested punctuation (in any language, on any day). I would dearly love to see a quasi-visual editor which replaces the {{ ... }} with nested shading, and bold type used to identify classes, italics for variables, etc. etc. It clearly calls for a different approach to the text-bound, linear approach to coding. What would ... (read more)

I Kludge Therefore I Am

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 ... (read more)

Java applet takes forever to run

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)

How virus writers catch the coding bug

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 ... (read more)

Peer into the future with JXTA

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 ... (read more)

Logging stack traces with Log4J

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 ... (read more)

Regular expressions are beautifully ugly

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 ... (read more)