Thursday, May 22, 2008

JavaOne 2008: Its not the conference its the people

This year was a wonderful trip to JavaOne 2008. There were three items that made it memorable: first being part of the JavaOne selection committee, and second bringing one of the JUG members to his first JavaOne, and third all of the wonderful people who make JavaOne a community of conversations.

I was part of the external review committee for Java Tools and Languages. I got to review the over 300 submissions on our tracks alone. There were a number of really great submissions, and some real dogs. The rewards for the review process were a full conference pass, a wonderful dinner, recognition in the official JavaOne conference guide book, and most importantly being part of the community to select presentations.

The second item was to get a pavilion pass to the conference for Randy Burgess at the last moment. A special thanks to Sharat Chander, Sun Microsystems, for making it happen. Randy got to experience JavaOne. The enormity of the event often dazes the first time attendee. Randy was no exception. I think he will be back next year.

John Gage in the opening remarks reminds us each year the total number of hours in JavaOne and challenges us to meet new people. If you take advantage of this opportunity you will not be disappointed. The conference is much better when you meet new people and discuss familiar, and more importantly, unfamiliar topics.

The conference halls are filled with a brain busting compendium of technical sessions. They give you the chance to "sip from the fire hose of knowledge". It also gives the attendee a chance to meet some of the folks they may only see in mailing lists, or in email exchanges. The access to the technical experts is key. The technical talk may be good, but the "real" conversation occurs at the podium afterwards, and in the hallways. This is where the real knowledge transfer occurs.

When you go to technical sessions look around at all the faces surrounding you before and after. If you are focused on certain tracks: Java EE, Netbeans, web, etc., you will find that there are a certain select group of people that appear at the same talks. These are the folks you will want to meet. They are not the casual observers who come to sessions out of curiosity. They are the people who use the technology and feel a vested interest in it. Do not be afraid to introduce yourself. You will be surprised who you meet. The person next to you may be Craig McClanahan (Struts and JSF), Gregg Sporar (Netbeans), or maybe Tor Norbye (Java Posse, Netbeans).

Randy asked me after about a day if there was anyone I did not know. I said sure, but I still have time. Tick. Tock.

The fundamental "take-away" from this whole post is that JavaOne is a great technical conference, but the real power of the conference is lost unless you participate in the conversation. People make the difference. A conference is a conference, JavaOne is a community of conversations.

Using PHP Add-On (Plugin) on Sun Java System Web Server 7.0

Sun has a great product in its Web Server, but the PHP plugin (Web Server 7.0 PHP Add-On 1.0) is almost completely useless. It will do PHP perfectly well, but who simply uses just PHP.

There are a number of extensions that are available for PHP which are available. The plugin is a very vanilla compilation of PHP 5. Sun should have compiled the plugin with most, or all of the available extensions. This would have made the plugin a complete drop-in replacement for using PHP on Apache.

There is hope... The plugin is based on PHP 5.2.0. I have a simple set of instructions on how to use the binary from the PHP archive site for Windows to replace the missing functionality.

  1. Go to PHP Releases page and download the Windows binary.
  2. Unzip the binary files.
  3. Shutdown the Web Server administration site, and any instances.
  4. Go to the plugin directory and zip up the php plugin just in case... My directory is located in C:\Program Files\Sun\WebServer7\plugins.
  5. Copy the extensions directory from the unzipped files to the plugin directory.
  6. Copy the php.exe and php-cgi.exe to the plugin directory
  7. Copy the .dll files from the unzipped files in the root directory to the plugin directory.
  8. From a command line run php -v from the plugin directory. If it is missing any files that it needs, it should report them. Copy the missing files to the directory.
  9. Restart the instances and make sure the logs are clear.
The list below represents the .dll files which I have in my php plugin directory.
  • gds32.dll
  • libeay32.dll
  • libmcrypt.dll
  • libmhash.dll
  • libmysql.dll
  • libswish-e.dll
  • msql.dll
  • ntwdblib.dll
  • php5ts.dll
  • php_bz2.dll
  • php_curl.dll
  • php_dba.dll
  • php_dbase.dll
  • php_exif.dll
  • php_fdf.dll
  • php_gd2.dll
  • php_gettext.dll
  • php_gmp.dll
  • php_ifx.dll
  • php_imap.dll
  • php_interbase.dll
  • php_ldap.dll
  • php_mbstring.dll
  • php_mcrypt.dll
  • php_mhash.dll
  • php_mime_magic.dll
  • php_ming.dll
  • php_msql.dll
  • php_mssql.dll
  • php_mysql.dll
  • php_mysqli.dll
  • php_oci8.dll
  • php_openssl.dll
  • php_pdo.dll
  • php_pdo_firebird.dll
  • php_pdo_mssql.dll
  • php_pdo_mysql.dll
  • php_pdo_oci.dll
  • php_pdo_oci8.dll
  • php_pdo_odbc.dll
  • php_pdo_pgsql.dll
  • php_pdo_sqlite.dll
  • php_pgsql.dll
  • php_pspell.dll
  • php_shmop.dll
  • php_snmp.dll
  • php_soap.dll
  • php_sockets.dll
  • php_sqlite.dll
  • php_sybase_ct.dll
  • php_tidy.dll
  • php_xmlrpc.dll
  • php_xsl.dll
  • php_zip.dll
  • ssleay32.dll

Good luck and let me know how it works for you. I will see about posting an enhancement request to Sun to incorporate all of the extensions on version 2.0 of the add-on.