Posts tagged 'java'



Atom protocol powered Blogging Portlet

Jeffrey Blattman has put together a new Portlet that makes it possible to blog via Atom Publishing Protocol (APP) from a portal page. He's added it to the Open Source Portlet Repository on Java.net so you can try it out against your favorite APP server.

Good news

Lots of good news and stuff to blog this past week including the Sun makes a profit story, the Sun-Intel deal and more. I really like reading news like this Amid Profit, Brighter Days for Sun and this Sun turns profit after five quarters in red.

And how could I fail to mention the announcement of Lotus Connections, the product formerly known as Ventura. Connections is IBM's new Web 2.0 social networking suite and it includes Roller. IBM's James Snell posted some background info about IBM's internal use of social networking tools and how that led to Lotus Connections. Elias Torres blogged about it too and included a screen-shot of the new Connections based BlogCentral (IBM's internal blogging site).

And in other news...

My ApacheCon EU talk on 'Roller and Blogs as a Web Development Platform' was accepted. Looks like I'll have a busy May, Amsterdam for ApacheCon and (hopefully) San Francisco for JavaOne all in the space of two weeks.

Wordpress is finally gonna get Atom format support and apparently Atom protocol support is going to happen too.

The ROME project is just about ready for ROME 1.0 and there's a new subproject in the works: ROME Propono. co-worker Ramesh Mandava and I are putting together a Blog Client library (based on code from Blogapps) and an Atom client/server library (based on code from Roller). Hopefully, we'll have it ready by the time that ROME 1.0 comes out.


Open source ghetto at JavaOne?

Geir's got a great idea for JavaOne. Hope it's not too late for 2007.

iPhone: don't think of it as a computer

Via Rafe Colburn I just found a NY Times article that confirms Apple will tightly restrict what apps are allowed on the iPhone: 

Steve Jobs: "I don’t want people to think of this as a computer [...] These are devices that need to work, and you can’t do that if you load any software on them [...] That doesn’t mean there’s not going to be software to buy that you can load on them coming from us. It doesn’t mean we have to write it all, but it means it has to be more of a controlled environment."

Controlled environment? You mean like a Java VM? Probably not. I suspect what Mr. Jobs means is that 3rd party software vendors will have to pay Apple for the right to  develop software for the iPhone, but details of that plan have not yet been worked out.


iPhone: Apple apps only?

Sun alum Adrian Cockcroft lists some important but unanswered questions about the new Apple iPhone, Apple's sleek new phone-ipod-camera combo due out in June (for about $600 + Cingular Service plan). Adrian wonders "Is it open for more applications to be loaded? [...] or is it locked down?" and "what is the model for developers to extend the platform?" Rick Ross wonders why nothing was said about Java support and OSNews noticed the very same thing.

Josh optimistically points out the upside of "a real OS, real apis, and a real web browser capable of running real web applications - all delivered by a company that isn't going to fight us every step of the way." Yep, that would rock.

So what's the deal? Does Jupiter Research's Michael Gartenberg, who says the iPhone is "not extensible by third parties, only Apple," have the inside scoop?


Akismet support for Roller

This week I've been working on a new feature for Roller called Comment Validators, which makes it possible for Roller site admins to plugin validation rules to be run against comments. If a comment fails validation it is marked as spam, put into the blog's moderation queue and the blog's owner is notified with a list of the reasons that validation failed.

I commited the work to SVN yesterday, so now we've got an excess-size validator that checks for comments larger than a threshold, an excess links validator that checks for comments with too many links and what may be the most useful validator of all the AkismetCommentValidator -- which checks comments against the Akismet anti-spam service. I'm not sure how stable the Roller trunk is right now, but I decided to risk a deploy so now this blog is protected by Akismet.

Update 1: Yowza. The site crashed last night and after a little googling, I think I may have run into a Hibernate bug (HH-1579). I turned on the JVM -server option. Let's see how that goes.

Update 2: The JVM -server flag seems to fix the Hibernate problem. I wrote a note about the problem on the roller-dev mailing-list just in-case somebody else runs into it.


Farewell to 2006

I've been too busy with year-end projects to blog over the past couple of days and now suddenly, it's time to say farewell to 2006. So I'll do that with a quick summary of the year.

2006 was a pretty good year for me. I published my first book: RSS and Atom in Action. Roller is still growing, reached 3.0 status and is now very close to becoming a top level Apache project. IBM started contributing to and announced a Web 2.0 product suite that will include Roller. I did my first solo JavaOne presentation and spoke at both ApacheCon EU and ApacheCon US. And, I haven't mentioned it yet, but I also landed a new job inside Sun, which starts on January 8th (more about that later).

On the home-front: the boys (now 4, 8 and 10) are all healthy, happy and doing well in school. We celebrated my dad's 70th birthday and Alex's 10th birthday. We took family trips to Ocracoke, Atlanta, Austin, Northern Virginia and made numerous visits to the in-laws beach house near Topsail Island. Plus, Andi and I escaped from the kids for a week in Ireland to celebrate our 15th wedding anniversary -- our first kidless vacation in about ten years.

I hope you had a good year too and will have an even better 2007. Happy new years!


Roller-Planet mind map

I'm glad I was able to help Simon get his personal planet back online yesterday. And I'm glad the task was fairly easy. All Simon needed as a new version of Blogapps PlanetTool updated to use ROME 0.9 and I was planning on doing that anyway.

What's PlanetTool you wonder? PlanetTool is a command-line program which reads a set of RSS/Atom newsfeeds and then uses a set of templates to generate a planet site with HTML, RSS, Atom, OPML and other representations. Simon uses it to bring together his personal blog, Sun blog, del.icio.us links and Flickr.com photos into a single webpage and a single feed. If you subscribe to that feed, you'll get just about everything that Simon publishes to the web.

If you're interested in learning more about PlanetTool, here are some of my previous posts on the topic:

The above title Try PlanetTool, it's easy! is a little misleading, but it brings me to my point. PlanetTool is only easy if you're a developer or a power-user; somebody who can handle running Java on a server, editing an XML config file and setting up a cron job. Simon could handle it, but I'd like to make planets easier.

In fact, I'd like to make it as easy to create a planet as it is to create a blog. This past week, I've been thinking about how to do that by taking the simple ROME powered Roller-Planet code, which is found in both Roller and PlanetTool, and build it into a multi-user planet server -- kinda like Roller, but for planets instead of blogs. To get my thoughts into digital form I worked up a little FreeMind mind-map on the topic, dumped it to text, added some wiki syntax and some screen-shots. The result is this: a RollerPlanetMindMap that outlines ideas for the future development of Roller-Planet.


Join the blogs.sun.com team

If you dig blogs, wikis, feeds, Java and Solaris then you might be interested in the fact that we're hiring. Linda Skrocki's got the scoop on the job opening in Sun's Community Software Engineering team.


ROME 0.9 (beta) is available

A new release of the RSS and Atom Utilities (ROME) project ROME 0.9 (beta) is now available on the project's Java.net website. This new release includes fixes to Atom relative URI resolution, easier parsing for RSS feeds that use <content:encoded>, better support for mapping of RSS to and from Atom and numerous small fixes. [Read More]

Apache Abdera 0.2.0 (incubating) released

Abdera is an open source Atom parser, generator, client and server tool-kit for Java. James Snell announced a new version of Apache Abdera (incubating) the other day and the feature list is impressive, especially for a "0.2.0" release. Here's an excerpt:

The goal of the Apache Abdera project is to build a functionally-complete, high-performance implementation of the IETF Atom Syndication Format (RFC 4287) and Atom Publishing Protocol (in-progress) specifications. [... incubator blah blah blah ...]
  • A reworked API that improves usability
  • Decoupled extensions from the underlying parser implementation
  • An Atom Publishing Protocol client implementation
  • Updated support for the current Atom Publishing Protocol draft specification
  • Added support for Internationalized Resource Identifiers (IRIs)
  • Improved Thread Safety
  • Fixed a number of Classloader issues that kept Abdera from working properly in application server environments.
  • Improved Javadocs
  • Added test cases and sample code
  • Added experimental Bidirectional Text support
  • Improved implementation of OpenSearch v1.0 and v1.1 extensions
  • Implementation of MediaRSS extensions
  • Implementation of Feed Paging and Archiving extensions
  • GoogleLogin Authentication Support
We might have to steal that IRI support for ROME. Actually, that's something that should be built right into the Java platform. Apparently IRI support was considered for Java SE 6 and something was implemented, but then rolled back.

Visual Web Pack is NOT for you if...

Roumen: Visual tools for web development are a double-edged sword. They have their advantages and disadvantages. Some users love Visual Web Pack for what it provides but some of them go crazy because by using visual tools they lose a bit of control or they don't fit their development environment. So I'd like to discuss this topic, so that you can decide whether Visual Web Pack is for you or it is not.

A very thoughtful and balanced post from Netbeans evangelist Roumen Strobl that examines some of the reasons you might or might not want to use the new Netbeans Visual Web Pack.


Blogapps 2 progress

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.


Java is free!

Get the Source

By now, everybody's heard the good news that Java[1] 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! 

[1] By which I mean Java(TM) technology and include Java SE, ME, EE, etc.


Roller release backlog

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.

Pebble 2.0

Pebble 2.0 is available. Pebble "is a lightweight, open source, Java EE blogging tool designed for individuals and small groups" developed by Simon Brown. No database required.

History of Struts 2 post at OnJava.com

Don Brown has written an interesting history of Struts 2. In case you don't already know, Struts 2 is the result of the merger of two competing open source communities: Apache Struts and OpenSymphony WebWork.


JBoss Netbeans IDE and Netbeans 5.5 beta 2

Via Roumen, the JBoss Netbeans IDE is available with support for EJB3/JPA. The announcement is on the JBoss site, downloads are on the Netbeans site.

So now there are two easy ways to get started with EJB3/JPA and both are based on Netbeans: 1) JBoss Netbeans IDE and 2) Netbeans 5.5 plus the Enterprise Pack, which includes Glassfish/Sun Java App Server. Currently, both IDEs are based on Netbeans 5.5 beta 2 but don't let that scare you away.

I've been using Netbeans 5.5 beta 2 on my Solaris box for a week or so now and it's quite stable. On my Mac, not so much -- beta 2 worked fine until I installed the Enterprise Pack and then I started to get all sorts of slow downs and very strange repaint problems in the tree-view. I upgraded to a Q-Build (the 20060818 one) and now it's quite usable -- still a little sluggish but then again everything seems sluggish on my Powerbook these days.

Netbeans 5.5 (beta) and other new software


Netbeans logoAfter I got back from JavaOne, I loaded up on all of the cool new software I saw in action at the conference, including:
I installed all of this stuff and I've been using Netbeans 5.5 with Subversion support all week. On my Solaris/x64 box, Netbeans 5.5 seems very stable. The Subversion client is a little flakey, as is to be expected for pre-release software, but it's been really holding its own during some refactoring and package renaming work I've had to do this week.

So, if you're itching for Subversion support in Netbeans, give the 5.5 beta a try and help the Netbeans guys out providing feedback on the mailing lists and issue tracker.

The JavaOne general session demos last week (e.g. the build-a-blog-server in 5 minute demo) seemed to show an extremely fast build-deploy-test loop. So next, I'm going to try to switch to SJAS9 + Derby for development and debugging and see how it compares to working with Tomcat / MySQL. Last time I tried SJAS (version 8) for development, I found it to be a little too heavy for my tastes.

Atom protocol and WADL


Via The Aquarium I see that Mark Hadley's work on Web Application Description Language (WADL) is now a Sun Technical Report. WADL provides a way to describe a REST based web application or service so that tools can discover services, generate proxies, etc. As I understand it, WADL is to REST as WSDL is to SOAP.

There's also something new since the last time I looked at WADL. Mark has added a section on the Atom protocol and examples that show how to use a WADL file to replace an Atom introspection document. Looks like good stuff to me. If you need an introspection doc for your REST based web service, why not use WADL?

Via Google, I found that there's also a WADL presentation on-line.

« Previous page | Main | Next page »