Programming

Closing a PHP Mail Form Vulnerability

I wrote a PHP script that accepts e-mail from web site visitors using a feedback form. The script works with different sites, routing mail to the right inbox with a hidden field on the form: The who field doesn't specify an e-mail address, because that would be easy pickings for spammers. They crawl the web looking for e-mail scripts that can be configured to send e-mail to any recipient they specify. Instead, my script was written to send mail only to accounts on my server: $recipient = ... (read more)

Displaying XML Data with PHP

I recently finished writing Sams Teach Yourself Programming with Java in 24 Hours, the fourth edition of an introductory book for Java programmers, which comes out in around two weeks. I've been given wide editorial license with the book, so it contains unusual projects like Lottorobics, a lottery simulation applet that demonstrates why "Win the Lotto" is a terrible retirement plan. The new edition adds chapters on XML and XML-RPC that use XOM and Apache XML-RPC, two great open source class ... (read more)Henri Bergius has incorporated code from my Weblog Pinger Library for PHP into the Midgard Content Management System. This represents a Sally Field moment for me, the first time that any code I've written has made its way into another project thanks to an open source license. I'm going to celebrate my increased geek cred by buying something like this. ... (read more)

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)