You read it right. A Firefox crop circle (photos here; slashdot post here.) Is your LUG this crazy? You just have to love our LUG here at OSU. I only wish I had more time to participate. I did make it to the Firefox weather balloon launch.
I'm still in a bit of shock, but I found out Bryan Ruan, a former classmate/choirmate of mine, died a couple of weeks ago. He was working at his construction job when he fell off a roof onto a concrete floor. He died due to complications with brain swelling. I was never a close friend, but I remember him well. This is also the first person I know that is my age that died.
There are miscellaneous blog postings and news articles: here, here, and here.
Is PHP ugly? Often. Is PHP well designed? In some respects yes and in some respects no. What is arguably the best feature of PHP? It's just so easy to get started. Just edit a file and reload your web-browser. No compiling. No deploying. No restarting Apache because the file changed and Apache has a cached version of the wrong thing. Just edit and hit reload.
So what's the state-of-the-art with Java web applications? Running them as an entirely separate process in a wanna-be-a-full-scale-webserver-but-I'm-just-a-servlet-container tomcat instance (or JBoss or Websphere or whatever.) You want to start using the Java language to create dynamic websites? It's so simple! All you have to do is download an entirely unfamiliar program (tomcat), edit a "user-friendly" XML format, start the tomcat daemon, learn the servlets' API, edit a Java source file, build it with an unfamiliar "make" tool that supports ".war" files, and tell tomcat that you want to deploy the file so that it can reload it's internally cached version. Yup, just 7 easy steps with hours of reading and learning just for "Hello World." And strangely enough, this user experience is brought to us by the same people who brought us the simplicity of the Apache web server.
Gosh, why even bother with Java at all? Well, the Java community might point you to excellent performance and process isolation (which is true), but you'll probably get at least one answer involving babel like "enterprise integration of application stack technologies to support high-performance web frameworks." But good luck with the simple question, "Why do I have to perform 7 complicated steps just to write and execute 'hello world'?" You'll probably just get a blank stare. What, you don't get a warm feeling in your bosom every time you learn an API? You must not be a real Java hacker!
In response to this insanity, there's mod_gcj. That's right, an Apache module that lets you run Java just like you would a PHP script, or a Python script, or a Perl script, etc. No more "It's cool to have my web server take 3 seconds to respond because my CGI has to launch a JVM with every hit!" No more "we use servlets because that's what good Java programmers do." Simply write Java code, compile it, reload your web page. No really, just that. You might even be able to get up and running faster than you can say, "But Sun didn't tell us to do it this way!"
It will be fun to see where all of this goes. One strange back-alley of mod_gcj is Rhinola. Have you ever wanted to use JavaScript on the server-side to develop web-based applications? That's right, server-side JavaScript! What a strange idea, but at least it's way easier to deploy than Java...ahem...than Java used to be. (Thanks mod_gcj!)
(Note: I'll keep you all updated as I play with mod_gcj some more.)