Java

Java can GOTO hell

In the Java Specialists newsletter, Heinz Kabutz and Carl Smotricz have devised a way to write BASIC programs in Java with a series of case statements for line numbering, a GotoException, and horrendous formatting: Carl told me that it was possible to program GOTO in Java. Naturally I was curious, so I asked Carl to give me an example. ... What makes me scared is that the code runs and actually works. ... (read more)

Java coders have lost their POJO

In an interview about Java programming, author Bruce Tate uses a term several times without explanation: POJO. The same acronym is popular on the Apache Geronimo developer's list, so I looked for a definition. It stands for "plain old Java objects," simple classes that are implemented as an alternative to Enterprise Java Beans and other complex methodologies. It appears to have been coined by Martin Fowler in the book Patterns of Enterprise Application Architecture: The alternative is to use ... (read more)

Apache coder offers Java weblog

There's lots of interesting shop talk on the Radio weblog of James Strachan, a maniaclly busy Java programmer who cofounded the Geronimo, Dom4J, and Jaxen projects at Apache (among others). Geronimo, Apache's new open source J2EE server, began in August and seems to be rapidly moving towards its first significant public release. Right now, it's still in Apache's Incubator, a place for unofficial projects to prove themselves, but that's clearly a formality at this point. ... (read more)

New JSP tag library for Google queries

The open source Google Tag Library is a set of custom Java Server Pages tags that make it easy to add Google searches, cached pages, and spelling suggestions to a Web application. The tag library, which was created by Erik Thauvin, Matt Croydon, Diego Doval, and Arjun Ram, uses Google's Web services interface and require a free license key from Google that permits 1,000 automated queries per day. ... (read more)

Speed up Java: Use the server VM

The author of the Java is Faster than C++ and C++ Sucks Unbiased Benchmark offers a tip for speed-conscious Java programmers -- always run classes with the server version of the virtual machine: No one should ever run the client JVM when given the choice. ... Every form of Sun's Java runtime comes with both the "client VM" and the "server VM." Unfortunately, Java applications and applets run by default in the client VM. The Server VM is much faster than the Client VM, but it has the downside of ... (read more)

Java inventor tries for a jackpot

A profile of Charles Simonyi in Technology Review describes Java inventor James Gosling as a recent convert to modeling: Recognizing that the software industry constantly reuses old programs, Gosling proposes finding a way to plug existing code into a modeling tool that will represent it graphically, rather than requiring programmers to pore over millions of lines of text. ... Code-named Jackpot, the project is still small, well outside Sun's product development process. In an Artima interview ... (read more)

Handling MD5-encoded passwords in Java

On his Arena Red weblog, Trygve Isaacson offers MD5Password, a Java class that offers a simple interface for using MD5-encoded passwords: Typically, you just want to either check that a clear text password you've been given hashes to match a stored value, or you want to hash that string to get a value you can store. So that's just two very simple function APIs ... ... (read more)

Sun offers icon graphic collection

Java programmers can find several dozen nice-looking icons for use in graphical user interfaces in the Java Look and Feel Graphics Repository, part of Sun's Java site. The graphics are intended to promote Java's standard look and feel, but they also can be adopted for other purposes. I'm using them in an RSS newsreader demo project for the next edition of Sams Teach Yourself Java 2 in 21 Days. ... (read more)

Ayers outlines his beefs with OPML

Danny Ayers offers an "anything but OPML" rant against the world's most popular outline markup language. He writes: It's worth noting that you can express hierarchies and everything else I've seen suggested for OPML (text outlines, links, images etc) in (X)HTML. I suspect there are more HTML readers/writers than OPML ones! Unless XHTML can be used to express the expansion state of specific items, I don't see how it could be used as an alternative to OPML for outlines. OPML's an odd bird, but ... (read more)

Creating MD5 hashed passwords in Java

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