Dave Johnson on open web technologies, social software and Java
Here's a little something else I'm thankful for. My brother Dan has been low-frequency blogging for a while and he's getting better and better. His blog is called Film Babble and it's definitely babble (and I mean that in the absolutely best way possible), but his writing style is interesting and he got a pretty deep knowledge base to draw on when it comes to movies and music. His latest post is about director Robert Altman, who just passed away.
Happy Thanksgiving to those that celebrate this fine American holiday and happy Thursday to those that don't. As always, I'm thankful for my happy and healthy family and happy that we'll be able to get together this weekend. And, as usual, we enjoyed a traditional Thanksgiving dinner at my parent's place over in Chapel Hill. For us, the traditional dinner is turkey, stuffing, gravy, rice, cranberry sauce, stir-fried veggies and dessert of pumpkin pie and chocolate pecan pie (my personal favorite). Tomorrow we'll head down to Andi's folk's beach house near Topsail Island, NC for a couple of days of doing mostly nothing -- the water will be cold but with temps around 70F my crazy kids might just brave the icy waves. Hope you have a good one too.
I'm a bit late in blogging this. Tonight's talk at the TriJUG looks to be a very good one, presented by Sun blogger and JVM guru Steve Goldman who works from Sun's Cary, NC office.
New Compiler Optimizations in the Java HotSpot(tm) virtual machine.
Presented by Steve Goldman
This talk covers recent work in the client and server compilers for the Java HotSpot(tm) virtual machine to achieve higher performance of Java(tm) programming language applications. Synchronization-related optimizations, escape analysis, multi-tier compilation, and other topics will be covered. This talk is targeted at users of the Java(tm) programming language interested in how their programs are dynamically compiled to high-performance machine code and what performance improvements to expect in various areas in the Java(tm) SE 6 release.
I've been itching to try Ubuntu so I decided to install it on my old Dell box, which as running Debian. I downloaded Ubuntu 6.10 Edgy Eft, burned it to CD, backed up my data and booted off the new CD.
While I expected my Mac upgrade to go smoothly, I was expecting this upgrade to require a long morning of opening the computer, growling and cursing under my breath. That didn't happen. The Linux installers I've used in the past didn't give me the option to resize partitions and I've been using one big partition, so I was pleasantly surprised that the installer has the built-in ability to resize my partition without losing data. I was also happy to see that my video card was configured properly, which is a first for me -- previously, I've always had to edit X config files to get things right. So far, it's thumbs up to Ubuntu.
I was tempted to switch away from Apple, but in the end I decided to take the easy route and buy another Mac laptop. When Apple updated the MacBook Pros a couple of weeks ago, I ordered one.
And I'm not kidding about the easy route. Transitioning from my old Powerbook to my new MacBook was amazingly easy, especially when you consider the fact that I moved from a PowerPC processor to an Intel. It was this easy: start up new Mac and when prompted hook old Mac to new Mac via Firewire cable, wait 2 hours and boom... all applications, settings, mail... everything... is perfectly duplicated and ready to on my new laptop. And yes, it's fast. As long as my battery doesn't explode and I don't get hit by random shutdown syndrome -- fingers crossed, knock on wood and all that -- I think I'll be a happy with my new Mac for very long time.
The ROME mailing list has been a little quiet lately. I'm hoping to change that. Roller's built-in planet aggregator uses ROME, Roller's Atom protocol implementation does too and I recommended ROME in my book, so I'd really like to see ROME continue to improve and grow. Now that I'm focusing on a standalone version of Roller-Planet, I've got some time to devote to those goals. Last week I cleared the bug list, this week I committed some improvements to ROME's summary/content handling and next I'd like to start pushing for a ROME 1.0 release. If you'd like to see ROME thrive, please join the fun.
In my off-hours, I've started work on Blogapps 2. Blogapps is a collection of RSS/Atom utilities and applications based on the code from RSS and Atom in Action. You can read more about the project in my recent Blogapps article on on Java.net. Up until now, I've been working alone, but now the project now has a couple of committers. Ramesh Mandava (of the Java WSDP team) joined to help with the Blogapps 2 effort.
We're starting with some renaming. Instead of using chapters-oriented directories and package names, we're more logical and intuitive application names. We're also switching from package name com.manning.blogapps to org.blogapps. Later, I hope to update some dependencies (e.g. Apache XML-RPC 3.0), consolidate/streamline some of the utilities and explore alternatives to Tomcat/HSQLDB for the Blogapps server.
By now, everybody's heard the good news that Java is being released under the General Public License (GPL v2), the same free software license used by Linux. A dual-license arrangement will allow Sun to continue to offer commercial licenses. Sun's Java EE implementation and developer tools, which had already been released as open source under Sun's MPL-based CDDL license are being relicensed under a triple license of GPL, CDDL and commercial licenses.
The usual "how's this good for Joe Java developer?" and "how's Sun gonna survive?" questions are coming up on the forums and blogs. The Open Source Java FAQ answers those questions very well, but here's my take. A truly free/open source Java is good for Java developers and what's good for Java developers is good for Sun. GPL is a good choice because it's truly and undeniably free/open source and the viral nature of GPL drives innovation back to the center, which prevents closed source forks of Sun's Java implementations.
So, how's this good for Java developers? Finally, Linux distros can bundle what is arguably most popular/well known, high-quality, high-performance, multi-platform and well-supported Virtual Machine there is. And that's not just good for Java developers, JRuby is starting to look pretty good too. That will result in more developers choosing the Java VM, more ISP/hosting providers supporting Java and more users using Java. That's good for Java developers. And and it's good for Sun -- if Sun, the ultimate experts in Java, can't make mo'money from mo'Java then I just don't know what to say.
Why is GPL a good choice? GPL and dual-licensing gives Sun the best of both worlds. GPL means Java is truly free/open source, which satisfies the free/open source community and the growing number of governments and orgs that are mandating open source. The viral nature of GPL guarantees that innovation is driven back to the center, i.e. you can modify the Java VM and redistribute it, but you must release your mods free for all under the GPL (and trademark law says you can't call it Java). And the other world I referred to? Licensees who don't want GPL can keep on licensing under commercial-friendly terms and most probably will.
So it's all good and big congratulations to all the folks who worked to make open source Java possible!
 By which I mean Java(TM) technology and include Java SE, ME, EE, etc.
I ran the Old Reliable Run today and thanks to the cool weather, overcast skies and better training I did a little better than last year. Last year I had to stop to walk a couple of times and I ran the 10K in 55:36 minutes. This year I didn't stop, felt strong and I think my time was closer to 54 minutes.
Update: Here are the (soon to be) official times:
Place Bib Name Chiptim Guntime Pace
===== ==== ======================= ======= ======= =====
489 1443 DAVID JOHNSON 54:31 55:18 8:54
The Server Side posted an excerpt from RSS and Atom in Action last week. Chapter 2: Development kick-start explains how to setup the Blogapps Server and how to post to just about any blog server via MetaWeblog API from Java and C#. And if you're interested in that, then you'll also be interested in The Blogapps Project, which was published on Java.net last month.
On the O'Reilly site, Mark Woodman's How to Build an RSS 2.0 Feed is now available as an O'Reilly Short Cut, a 56-page PDF for $7.99. Marks says that he covered RSS 2.0 from the perspective of the RSS Advisory Board Profile (aka RSS 2.0.8), which seems like a good idea. And he covered ROME too.
Yes, definitely brilliant. No bias here.
Mike Swaine in Dr. Dobb's Journal: But employee blogs are turning out to be a good place to go to track what's really going on. When Sun partnered with the University of Kent on the NetBeans IDE/BlueJ Edition, Ian Utting of U Kent vlogged in Sun's blog space about this beginner's Java tool. Incensed by rumors that Java doesn't work on Windows Vista, Sun's Chet Haase blogged to the contrary. And, responding to a high-news-value development, CEO Jonathan Schwartz links to YouTube video of Jonathan and Sun's Chief Technologist Greg Papadopoulos on Oracle's decision to fork Linux. (Hey, that's Jonathan's choice of words, not mine.)
And maintaining a place for ex-employees to blog is either brilliant or loony. My guess is, brilliant.
The second installment of James Snell's developerWorks article on Atom Publishing Protocol (APP) is online. In part 2 he shows how to post to an Atom server and one of his examples is Roller. If you want to try Snell's example code with Roller, but you don't want to go through the trouble of installing full-on Roller/Tomcat/MySQL, try the super easy-to-install Blogapps Server bundle.
Here are links to parts 1 and 2 of Snell's article:
And now, both parts of RSS and Atom in Action Chapter 4: Newsfeed Formats are online at WebReference.com. The chapter includes a history of RSS and Atom newsfeed formats and diagrams that illustrate the elements each format.
Roller 3.0 is a major new release that focuses on infrastructural improvements necessary to better support a large community of bloggers. These improvements includes a completely new URL structure, a new template system, better support for multi-language weblogs and an easy-to-manage front-page weblog. (read more)You can find the full announcement with download and documentation links is on the Roller project blog.
Leonard Richardson and Sam Ruby are writing a book on REST Web Services and they're going to develop it in the open on their blogs. If you care about web services of any kind, you're going to want to follow along.
To design a website you need to know about HTTP, XHTML, and URIs.
To design a web application you need to know about HTTP, XHTML, and URIs.
To design a web service you need to know about XML, SOAP, WSDL, UDDI, WS-Policy, WS-Security, WS-Eventing, WS-Reliability, WS-Coordination, WS-Transaction, WS-Notification, WS-BaseNotification, WS-Topics, WS-Transfer...What happened there?
It's fairly easy to navigate to your old blog entries on a Roller system, but we don't provide an archive page like some blog servers do. Today on JRoller.com, Alex Ruiz explains how to add a nicely styled archives page to your blog using Roller's "big calendar" macro.
We've got a new meeting place, Helios Coffee in the Glenwood South area of Raleigh. Please join us to talk blogging, podcasting, politics, tech or whatever else is on your mind.
We deployed the Roller 3.1 codebase to blogs.sun.com yesterday so Sun bloggers have got Web 2.0 taggy goodness now. The rest of the Roller-using world will have to wait for Roller 3.1 to make its way through the Apache Incubator release process. Want to know more about 3.1, here's the Roller 3.1 What's New page.
But be warned. If you stand outside the Apache software factory waiting for Roller 3.1 to emerge onto the loading dock, you'll be somewhat disappointed. The next release due out is Roller 3.0 (here's the Roller 3.0 What's New page) -- we just got the votes to make the release so you can expect it in the next couple of days.