Java Development, Recruitment and Consultancy

Latest News

Java without the Palaver

This section lists some of the latest articles in the press and journals about Java and related subjects. It is built from many RSS feeds and is updated daily. The page can get quite large so if you are looking for a particular topic we suggest you use ctrl-F.

Today's Articles

(updated Wed May 14 07:00:02 BST 2008 )


The Register : Tue, 13 May 2008 08:44:54 GMT
NetBeans extension makes simple work of PHP
Preview in review Arriving with the NetBeans 6.1 release last week was the NetBeans IDE Early Access for PHP . This provides a complete PHP integrated development environment hosted in NetBeans, re-using the infrastructure NetBeans has already employed for Java and Ruby.&

JL Java Announcements : Mon, 28 Jan 2008 10:02:53 -0500
These forums have moved!
Please note that posting has been closed in this forum. To post your announcements, please visit http://java.dzone.com, the new home of Javalobby.

JL Java Announcements : Thu, 24 Jan 2008 07:26:05 -0500
FineReport6.1 enterprise reporting tool launched
A pure JAVA report tool, provide abundant, overall, the structure clear API connects. The cross-platform characteristic of JAVA report tool can support the demand of large system goodly .

JL Java Announcements : Thu, 24 Jan 2008 03:39:37 -0500
STAN - Structure Analysis for Java Public Beta 2
STAN 1.0 Public Beta 2 is now available. This release includes integrated help and lets you generate quality reports via Ant. STAN is available as a set of Eclipse plugins or as RCP application.

JL Java Announcements : Wed, 23 Jan 2008 17:43:39 -0500
JavaZone 2008 Conference Call For Presentations
javaBin, the Norwegian JavaUsers Group has announced a call for presentations for the 2008 edition of JavaZone. The event will take place in Oslo, Norway on September 17 and 18.

JL Java Announcements : Wed, 23 Jan 2008 12:33:32 -0500
Use Sametime and Lotus with Websphere Business Monitor
Use WebSphere Business Monitor's alerts, instances, and key performance indicators directly from Sametime or Notes with dashboard plug-in for Lotus Notes and Sametime.

JL Java Announcements : Wed, 23 Jan 2008 10:39:32 -0500
Crionics jPDF v7.06
New version of the popular 100% java API to view, print and manipulate PDF files. More at http://www.crionics.com

JL Java Announcements : Wed, 23 Jan 2008 05:28:57 -0500
KonaKart v2.2.2.0 Free Java Shopping Cart - JSR 168 Portlet Implementation
KonaKart v 2.2.2.0 is a new release of the free java shopping cart software which now includes a JSR 168 Portlet Implementation, Customer Notifications and UPS Shipping Module.

JL Java Announcements : Wed, 23 Jan 2008 04:23:23 -0500
eHour 0.7.2 - Time tracking
eHour is a free webbased time tracking tool for companies and organisations who need accurate information on how much time is spend on projects by their people.

JL Java Announcements : Tue, 22 Jan 2008 16:20:23 -0500
Super csv 1.30 released
We are very excited to present yet another release of Super CSV, version 1.30.Super CSV is a free CSV reader/writer with a wealth of features to suit all your CSV needs. The framework evolves around

JL Java Announcements : Tue, 22 Jan 2008 12:34:38 -0500
LAMEOnJ v1.0. The open source Java MP3 API based on LAME
LAMEOnJ is a 100% Java API wrapping the standard LAME API. Java methods call the exported lame_enc.dll (Windows), libmp3lame.so (Linux) and libmp3lame.dylib (MacOSX) methods. JNIEasy is used as bridge

Javalobby - The heart of the Java developer community : Tue, 13 May 2008 06:28:02 -0400
Lessons Learned From Springs @Autowired
Last November we got Spring 2.5 and with it the possibility to use annotations for dependency injection (DI). Annotations can be used instead or mixed with the classic application context file(s) based on XML.If you compare the former more complex XML configurations with what you still have to keep, after using annotations, it's quite amazing how straightforward the XML becomes. For projects with...

Javalobby - The heart of the Java developer community : Mon, 12 May 2008 13:11:54 -0400
Top Personal Insights of JavaOne?
Flipping through the pages and pages of notes you may have taken at JavaOne, which ones would you not want to forget? In this case, focus on the personal and the arcane

Javalobby - The heart of the Java developer community : Mon, 12 May 2008 11:21:51 -0400
N-BRAIN, Inc. Announces Coding Competition for Java Software Developers
Are two heads really better than one? N-BRAIN, Inc. intends to definitively answer this question by sponsoring the Hydra Versus Dragon Coding Competition, a Reality TV-style battle between the world's finest software developers.

Javalobby - The heart of the Java developer community : Mon, 12 May 2008 09:40:21 -0400
The Best Java Tools You Never Knew Existed
I was at an awesome presentation at JavaOne of the long tail of Java tools that not many people have come across, which I had to share. So, in no particular order, and with my own emotive comments:

Javalobby - The heart of the Java developer community : Mon, 12 May 2008 09:03:35 -0400
JFX and the Way Forward After JavaOne 2008
For me, JavaOne 2008 was enlightening, exhilarating and exhausting.  It was great meeting colleagues that I had only known via email and JavaFX mailing lists.  I'd like to especially thank all who suffered through my JavaFX University and technical sessions :-)

Javalobby - The heart of the Java developer community : Mon, 12 May 2008 07:48:40 -0400
Facebook Drops Java Support - Loses Another $1B of Fantasy Valuation
This just in from the Facebook-PR-flacks-writing-pure-dross department:"We appreciate all of the effort and time that you've (Java developers, that is) invested in working with us, and apologize to anyone that this change inconveniences. However, we hope you recognize that this is being done with our main goal in mind- improving the overall Facebook Platform experience for users and...

Javalobby - The heart of the Java developer community : Mon, 12 May 2008 04:06:17 -0400
Functional Web Services Testing Made Easy with SoapUI - Part 2
Part 1 of this series helped provide the background neededto begin exploring web services testing. We learned the basics of SoapUI andhow easy it was to write functional tests without writing a single line ofcode. We also saw how to add assertions to these tests. What we will examine

Javalobby - The heart of the Java developer community : Sat, 10 May 2008 21:26:04 -0400
JavaOne: Extreme Innovation (or James Goslings Showcase) Part 1 of 2
In a weekthat now seems to have raced by in a blur, the main hall at the Moscone Center was packed to capacity as youwould expect when James Gosling is delivering the keynote. The session began with quite a touchingtribute to John Gage who has been MC-ing a lot of the general sessions thisweek, the group of four who invented Java acknowledged Gage as their equivalent

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 23:36:11 -0400
Web Frameworks: Comfort vs. Expediency?
Two nights ago I had a conversation with Craig McLanahan, among others, in a slightly dubious sports bar near the JavaOne conference site. When the subject of web frameworks came up, an interesting, and probably obvious, angle emerged.

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 17:15:49 -0400
JavaOne: Intel Keynote
It is daythree of the JavaOne conference and the first session of the day sees DougFisher (VP) deliver Intels keynote. Hebegins by highlighting the fact that Intel is using what they call a tick-tockschedule for delivering new processors on a yearly basis. With each tick they shrink the currentarchitecture and deliver better energy efficiency and performance by putting...

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 16:56:28 -0400
An Inconvenient Truth: A Global Software Crisis
Every project manager or project sponser would love to have a model that churned out the probability of a project succeeding or failing. We may never achieve such precise quantification of project success, but there are definitely some red flags that will alert you. I finally watched Al Gores documentary An Inconvenient Truth.Apart from the remarkable case put forward about the state of...

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 15:22:38 -0400
JavaOne: AMD Keynote
AMD had atough slot towards the end of day two, by this point people have been standingin a lot of lines to take in lots of technical information so it was nosurprise that the General Session hall here was about one third full. The first part of this brief session wasreally just AMD enthusing about their love for Java technology and Javadevelopers but started to get more interesting when Dr...

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 04:51:35 -0400
CommunityOne 2008 Impressions (Day 0 of JavaOne)
The CommunityOne conference this year was on Monday, May 5, 2008, the day before JavaOne "proper". It's easy to think of CommunityOne as a "pre-JavaOne", or "JavaOne, Day 0" because, like JavaOne, it's sponsored by Sun Microsystems, it's at the same venue, and it is logistically managed as sort-of an extension of JavaOne (your JavaOne conference pass is used, but...

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 04:37:03 -0400
JavaFX Gets Video Capabilities
Get ready for high quality video on the screens of your life. Sun has entered into a multi-year agreement with On2 Technologies, to provide immersive media and content on your JavaFX applications.

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 03:30:25 -0400
JavaOne Wednesday Morning Keynote: "Oracle Enterprise" - Oracle Corp.
Oracle believes Java is integral part of the upcoming transformation of the Enterprise to more Web-2.0-like -- to adopt the look and feel of Web 2.0 and fulfill the funtional expectations of the typical Web 2.0 user (creating informational mashups, creating new levels of integration between normally non-integrated modules of a web applicion, or at least data elements managed by those modules)....

Javalobby - The heart of the Java developer community : Thu, 08 May 2008 02:30:07 -0400
When Should You Jump? JSR 308. That's When.
One of the frequently asked questions at the No Fluff, Just Stuff expert panels boils down to, "When should I get off the Java train?" There may be good money out there for the last living COBOL programmer, but most of the Java developers we see still have a lot of years left in their careers, too many to plan on riding Java off into it's sunset.

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 20:59:04 -0400
JavaOne: What's Next in Server Side Technology
My finalsession of day one here at JavaOne was presented by Larry Cable, VP andArchitect for WebLogic Server at BEA Systems (now part of Oracle). Larry deserves kudos for presenting a sessionthat was a wide look at the concepts of Server Side java and the direction itis heading in, instead of using the hour as an opportunity to flog someWebLogic features and licenses. Maybe heknew better...

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 20:38:38 -0400
Interview: JFugue Goes Hip Hop
A new release of JFugue API was announced last week. Its author, Dave Koelle, is at JavaOne and here he talks about the API and some of its hidden treasures.

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 15:30:04 -0400
Intro to Design Patterns: Prototype Pattern
Today we're going to look at the Prototype design pattern.  Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype. - Gof TypeObject Creational

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 15:20:00 -0400
JavaOne: Brian Goetz on concurrency in Java 7
Brian's talk focused pretty much exclusively on the new fork-join framework that will be added as part of the JSR 166 extension in Java 7. There are a few other little goodies in the JSR update but this is the big one.

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 14:23:46 -0400
Maven support 3.1 for NetBeans
This new major release includes:

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 09:16:40 -0400
Embarcadero Buys CodeGear for $23M: New Life for JBuilder?
Embarcadero Technologies, a privately held database tools vendor, today announced a definitive agreement to purchase Borland's CodeGear division for $23 million. The deal is expected to close within 30-60 days and will propel Embarcadero into the league of the world's largest independent ISVs for developer tools.

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 04:19:20 -0400
Butterfly Container 2.2.0
Butterfly Container is a small dependency injection container like Spring's core, Pico container and Guice. It is currently an 87 KB jar file, but supports most of the important features a DI container needs.

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 03:36:39 -0400
A Java Programmer's Guide to Random Numbers, Part 1: Beyond java.util.Random
This is the first in a series of articles about random numbers in Java programs. The series covers the following topics and also serves as an introduction to the random numbers package of the Uncommons Maths library.

Javalobby - The heart of the Java developer community : Wed, 07 May 2008 01:44:14 -0400
JavaOne 2008 Opening Keynote
The main theme of years conference is Java + You and it looks like that could be a big advertising play for Java for the next little while. What does it mean? Well, it is basically a way to highlight the ubiquity of Java technology because it is now running in billions of devices, computers, sensors and more around the world.There was a big push of JavaFX, a technology that Sun wants to...

Apache News Online : 2008-03-05T13:55:16+00:00
05 March 2008 - Apache Axis2/C 1.3.0 Released
Apache Axis2/C Team is pleased to announce the release of Apache Axis2/C version 1.3.0. You can download this release from http://ws.apache.org/axis2/c/download.cgi Key Features ------------ 1. Support for one-way messaging (In-Only) and request response messaging (In-Out) 2. Client APIs: Easy to use service client API and more advanced operation client API 3. Transports supported: HTTP * Inbuilt HTTP server called simple axis server * Apache2 httpd module called mod_axis2 for server side * IIS module for server side * Client transport with ability to enable SSL support * Basic HTTP Authentication * Digest HTTP Authentication * libcurl based client transport 4. Transports supported: HTTPS * HTTPS Transport implementation using OpenSSL 5. Transports supported: TCP * for both client and server side 6. Transport proxy support (HTTP) * Proxy Authentication (Basic/Digest) 7. Module architecture, mechanism to extend the SOAP processing model. 8. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module. 9. MTOM/XOP support. 10. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support. 11. XML parser abstraction * Libxml2 wrapper * Guththila pull parser support 12. Both directory based and archive based deployment models for deploying services and modules 13. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages) 14. Context hierarchy providing access to dynamic Axis2/C runtime information (corresponding contexts to map to each level of description hierarchy) 15. Message receiver abstraction * Inbuilt raw XML message receiver 16. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool) * Axis Data Binding (ADB) support 17. REST support (more POX like) using HTTP POST, GET, HEAD, PUT and DELETE * Support for RESTful Services 18. Comprehensive documentation * Axis2/C Manual 19. WS-Policy implementation...

Apache News Online : 2008-02-06T23:40:03+00:00
06 February 2008 - Apache Tuscany SCA Java 1.1 Now Available

Apache News Online : 2008-01-26T13:03:47+00:00
26 January 2008 - Apache Lucene Java 2.3.0 Released

Cafe au Lait Java News and Resources : Wed May 14 07:00:07 BST 2008
I missed JavaOne this year, but from what I'm reading it doesn't sound like I missed all that much.
I missed JavaOne this year, but from what I'm reading it doesn't sound like I missed all that much. No Java 7. JavaFX still being pitched as the next big thing. Threads are important. Closures good! Closures bad! Blah. Blah. Blah. Sounds like a repeat of last year's show. Did anything new happen? Maybe Java has grown too large to change significantly in just one year. Should JavaOne be biennial? Or maybe we should just attend every other year. Here's a thought: how about moving Javaone to the East Coast or Europe every other year so even if it's the same story, different people will attend?

DevX: Latest Java Articles : Tue, 22 Apr 2008 23:08:32 PST
Mobilize Your Java Applications with Java ME Technologies
Read this beginner's guide to extending an enterprise application to mobile devices with the Java ME technologies.

DevX: Latest Java Articles : Thu, 17 Apr 2008 21:15:07 PST
Grid Enable Your Java Applications with GridGain
Grid computing, the idea of executing code among various computers to solve complex time- and resource-intensive algorithms, has intrigued researchers for decades. GridGain lets Java developers tap into the grid.

JSF Central -- News : 21 Feb 2008 07:30:00 GMT
[fleXive] Community Preview Released: Rapid Java EE Development
Managing and operating on hierarchical data structures is an issue in many projects, alongside with security concerns, internationalization, versioning and querying. To date neither open nor closed source projects or frameworks offer possibilities to dyna...

JSF Central -- News : 01 Feb 2008 06:00:00 GMT
JSF 2.0 Faces Disjointed Components
The project, under the auspices of the Sun Microsystems-driven Java Community Process, already has five primary goals: make custom components much easier to develop, add first-class AJAX support, incorporate a page description language based on Facelet...

James Strachan's Weblog : Tue, 04 Jul 2006 06:49:50 GMT
London Java Meetup on Wed 5th @ 5pm
Thanks to Jez for arranging this we now have a place and location for Wednesday's geeky curry and beer night... Jason van Zyl, lead developer for Maven, Plexus, Continuum and Modello and also founder of Velocity is in town this week. This wednesday, after his free lunchtime seminar with JSIG at the Sun offices, why not join Jason van Zyl, James Strachan, and myself for a few beers and a great meal out... We will be in the pub from about 5pm onwards, and when we get hungry we'll move towards food, so if we are not in the pub, try the restauraunt, if you still can't find us email my blackberry on jeremy.rayner at interactivedata .com and I'll direct you. Sounds like a fantastic evening, I'll see you there, Background  'Jason van Zyl' -> http://tinyurl.com/kh97k  'JSIG seminar' -> http://tinyurl.com/ehdn6 Evening  'Pub: The Puzzle' -> http://tinyurl.com/gcgo5  'Food: The Gulshan' -> http://tinyurl.com/fjw7x See you all there! :)

James Strachan's Weblog : Mon, 03 Jul 2006 18:10:24 GMT
London Java Meetup 6 days early on Wed 5th?
Jason van Zyl (Mr Maven ) is over in blighty for almost 2 whole days so figured it'd only be fair to drink beer and go for a curry. I wondered if folks fancied a rapidly arranged early session of the London Java Meetup - or having an Xtc a day late :). Both Jason and I are up for beer, geeking out and eating curry in any order....

java.net Weblogs : 2008-05-13T20:52-08:00
J1 is awesome!
JavaOne rocks! My impressions and some pics in this post.

java.net Weblogs : 2008-05-13T14:54-08:00
Please check out my JavaOne '08 blogs
I'm covering JavaOne '08 this year over on blogs.sun.com

java.net Weblogs : 2008-05-13T09:20-08:00
Input on a New Desktop Java Database Tutorial
Over the next few weeks, I'll be incrementally posting sections of an extended tutorial on creating a Swing desktop application with database connectivity. The tutorial will go beyond simple database connectivity and show things such as one-to-many and many-to-one relationships as well as how to bind database tables to a variety of GUI components. We'll use a MySQL database that has tables for client info, order info, and countries. There will be a one-to-many relationship between the client and order tables. There will be a many-to-one relationship between client and countries tables.

java.net Weblogs : 2008-05-13T08:07-08:00
Pattern Recognition
A schedule for the mini-talk podcasts... also: Featured Podcast: j1-2k8-mtT01: Enabling Semantic Web Technologies with JBI Java Today: Open Source vs. Open Standards in the JCP, Portal Pack 2.0 final version for NetBeans 6.1, and How Portable is LWUIT? Weblogs: The future of testing, Kohsuke's JavaOne highlights, and Adding jMaki wrapped Yahoo widgets to a GWT app Forum posts: 3D audio, unmarshalling by declared type, and running an MIDP application from a command line

java.net Weblogs : 2008-05-13T06:10-08:00
JavaOne 2008 Wrapup
JavaOne 2008 is finally over ... 9th consecutive one for me andextremely busy as always! Johntalked about GlassFishrelated announcements. Some importantnames/renames/announcements: "Sun Java System Application Server" is now "SunGlassFish Enterprise Server" GlassFish Enterprise Server Unlimited (page coming soon)- Deploy as...

java.net Weblogs : 2008-05-13T01:42-08:00
From Java to Scala?
In many sessions at JavaOne Scala was a topic of interest. In the Java Posse BOF even the question was raised if Scala could replace Java.

java.net Weblogs : 2008-05-12T22:17-08:00
My JavaOne highlights
My JavaOne 2008 wrap up

java.net Weblogs : 2008-05-12T20:29-08:00
Take 13 - Pictures from JavaOne 2008
Continuing from Take 1,2,3,4,5,6,7,8,9,10,11,12and the last lot of pictures from JavaOne2008. Music before Day 4 opening ... All JavaOne 2008 pictures are available here. Technorati: confjavaonejavaone2008photography

java.net Weblogs : 2008-05-12T20:28-08:00
Take 12 - Smash Mouth @ JavaOne 2008
Enjoy some videos of SmashMouth @ JavaOne "After Dark" party. All JavaOne 2008 pictures are available here. Technorati: confjavaonejavaone2008smashmouthsanfrancisco

IT-archiv : Wed May 14 07:00:15 BST 2008
NetBeans 6.0 released
New version of pure Java IDE has been released , with support for many new

IT-archiv : Wed May 14 07:00:15 BST 2008
Java SE 6 Performance White Paper
Java SE 6 Performance White Paper includes detailed

IT-archiv : Wed May 14 07:00:15 BST 2008
Sun phases out mobile Java
Sun will gradually phase out mobile Java (Java Micro Edition) and move respective services to Standard Edition. "We're trying to converge

IT-archiv : Wed May 14 07:00:15 BST 2008
Consumer JRE Early Access
Sun has started an early access program to Java SE 6 Update N (formerly known as the "Consumer

IT-archiv : Wed May 14 07:00:15 BST 2008
YourKit Java Profiler 7.0 released
The major update to YourKit Java Profiler has been released. Version 7.0 includes

ONJava.com : 2008-05-07T23:18:06-08:00
Neil Young at JavaOne
Participated in a Q+A session after yesterday's keynote. Sat down with Neil Young, Larry Johnson, some Sun executives, and a small group of reporters including Tim O'Reilly. Young and Johnson struck me as animated and excited about both the archive...

ONJava.com : 2008-05-07T13:48:26-08:00
JavaOne Impressions from Tuesday
My entries are a day behind. I'm not a reporter, I'm a blogger, and I think it is more important to spend time talking to people than it is to work to some deadline in the press room. There's a...

ONJava.com : 2008-05-07T11:48:10-08:00
Java One Day 0
So, the big kickoff for JavaOne. I guess there was news. Solaris on EC2, which is fine. More JavaFX demos. Expected that. Other than that, what? So one thing that really struck me: Project Hydrazine. Can someone tell me what...

ONJava.com : 2008-05-07T11:18:09-08:00
Neil Young & the cool stuff
Last year JavaOne got the UN guy and was trying to eradicate poverty; this year they got Neil Young and were showing off the cool stuff. CNET blogger Dan Farber has a good write-up and the video that tells you...

ONJava.com : 2008-05-07T08:48:11-08:00
JavaFX Showcase: Should you care to see it?
JavaFX.com is up and running! The problem is that it doesn't work well on most browsers. The small fonts are unreadable when viewed in FireFox or Safari. The site takes a long time to load up. The only thing notable...

ONJava.com : 2008-05-06T12:18:38-08:00
JavaOne Day -1
CommunityOne was huge. Having been to various what-use-to-be NetBeans Day at what-used-to-be the Argent, seeing the Moscone filled with people for C1 was actually quite strange. In real terms, the experience didn't seem that different, however. CommunityOne works the big...

ONJava.com : 2008-05-05T16:18:26-08:00
JavaOne: More than Java, More than 1 conference
Although JavaOne 2008 officially starts tomorrow, it commenced today with CommunityOne. Carrying on the trend that started a couple of years back JavaOne is continuing to emerge as an event for things more than just Java. For statistics sake at...

ONJava.com : 2008-05-05T00:47:34-08:00
JavaOne Day -2
So I am going to break rules here, I am pretty sure, six ways from Sun-day (haHA!). I am pretty sure I have never commented on this before, because, I agree with the 16,000 of you who will tell me...

ONJava.com : 2008-05-04T08:18:01-08:00
JavaOne => J1 | Nutter on JVM | Groovy Beta "Bytecode Diet"
If you are following JavaOne on Twitter, you should "track javaone". If you haven't already signed up, you should read Bob Lee's Going to JavaOne? Sign up for Twitter blog entry from two days ago. People were using Twitter last...

ONJava.com : 2008-05-01T07:17:44-08:00
Introducing [fleXive] - A Complementary Approach to Java EE 5 Web Development
This article is an introduction to Flexive, an open source Java EE 5 application development stack. The authors have extracted a complete application template and describe its use.

ONJava.com : 2008-04-30T20:47:36-08:00
Project Capuchin - Enhance your Java mobile application UI with Flash Lite
As Flash's strength is in fast UI deployment and Java's strength is in services, security and a well developed distribution infrastructure, lots of Java developers are adopting the Flash as their UI choice. When it comes Java ME development,...

ONJava.com : 2008-04-28T16:05:13-08:00
License Fake-out hits ExtJS and Java Service Wrapper: Communities Alienated
In Choosing an OSS License and the Ext-JS saga, Graeme Rocher (of Groovy on Grails fame) reacts to the recent ExtJS switch from LGPL to GPL. Here's a quote: What they have effectively done is built up a community, taking...

Planet Eclipse : Tue, 13 May 2008 08:03:33 +0000
Thomas Kratz: @Deprecated: The Browser
In my last post I wondered loudly about whats going on out there. I thought of an application platform, today I want to put down some ongoing thoughts, inspired by the reactions mainly from David http://coconut-palm-software.com/the_new_visual_editor/doku.php and Andrey http://blogs.xored.com/e4/2008/04/swts-road-to-superprotability.html . Lets remember what Sun somedays said to promote Java technology: The web is the computer. Still we work with dumb terminal applications, nowadays with technically completely horrifying Ajax hacks. What I think of is a truly web-enabled application platform with a seamless desktop integration. The JVM is I guess the best technology we have to make this possible. Guys, mark the browser as @Deprecated, use the Desktop instead. There was not much to hear about Java OS, as noone needed it. Let the jvm be the basis for the WEB OS . Theres something to do that urgently needs to be done. As trevor noticed in his comment, Microsoft's working on Mesh, yes once again the right direction. We are working with applications, applications are working with data, be it some relational datastore (when will we invent something better there, think of modularity in databases ?) or in a filesystem (That needs to be reinvented too, like mesh tries to do). Today many things work but its still to complicated. For e4 I think we could do something on the application platfrom side. Equinox has already many things, security is in progress. Invent a deployment model, that's idiot proof. What we have now maybe fine for developers, but not for all those people out there that use powerpoint and outlook. It has to be a non - noticeable experience, to point to an URL and run an secure application on your desktop. I do not see the point why we should need another Browser plugin. Make your desktop a browser. And think of the ongoing success of Microsoft Office: Give applications a chance to integrate.

Planet Eclipse : Mon, 12 May 2008 18:16:43 +0000
David J. Orme: E4 and Web 2.0 - Is there a better way?
In The Web 2.0 - or are we going the wrong way? , Tom accurately compares Web 2.0 with 3270 (and 5250) terminals of yesteryear and wonders aloud if Web 2.0 is really the right way to go technically with E4. This is a good question. What is the right way to go, both politically and technically? Industry Forces The way I look at it, the following forces are shaping the industry's solution to this problem: Low-touch deployment model. Web pages load fast into the browser. Hot-deploy changes to the server and clients automatically pick them up. Install the client once. Desktops are very expensive to install and maintain. The web browser is already on literally every desktop out there, courtesy of Microsoft and the Mozilla Foundation. Adobe Flash is nearly ubiquitous too. A rich experience is preferred. Google search will probably remain a Web 1.0 application. But for anything much more complicated than this, the world is moving toward a richer Internet experience. Technical Choices Given these realities, let's list the technical means for deploying rich Internet applications and then draw some conclusions about good places to consider investing in E4. AJAX -based Web 2.0 applications. Flash-based applications. Java Web Start. Create a browser plugin like Flash, but that just includes OSGI, SWT, and probably a security model. Create a brand new universal network client based on Eclipse RCP. Let's look at each of these in turn. AJAX-based Web 2.0 applications Tom already described the weaknesses of AJAX : It's basically a hack to turn asynchronous XML requests from a browser into a rich graphical terminal. AJAX applications tend to be sluggish, as they can require round-trip network requests to anywhere in the world and rely on interpreted JavaScript operating over a DOM . Having said this, AJAX 's biggest advantage is that it is already supported everywhere the web is. AJAX is basically the least common denominator platform for rich web applications. Flash-based applications Flash is well-understood and fairly ubiquitous, but it is proprietary. It is not as well supported on 64 bit platforms. However, it has a better programming model for really rich graphics. For example, there is no standard analog of an SWT Graphics Context in AJAX JavaScript, so something like Flash is required in order to implement generic graphics drawing over the web. Java Web Start Java Web Start has a reputation for being roundly hated by Java programmers. I have no personal experience with it so perhaps people can elaborate in the comments. JWS has the disadvantage that its content is not integrated into the web browsing experience. It's basically a way to bootstrap a regular Java application over the web. (Again, if I'm wrong, someone please correct me in the comments.) A new browser plugin like Flash, but that just includes OSGI, SWT, and probably a security model This could be really cool to do. OSGI and SWT running in the browser would be very nice. With less than a 4 meg starting footprint, this could be really practical too. The main problem here is that nobody has written it yet. Also, whoever writes it would need to have someone on staff who is really good at security, if this thing is to be deployed on the Wild, Wild Web ( WWW ). A brand new universal network client based on Eclipse RCP At JPMorgan, we've already done this . ( See also .) The riena project at Eclipse is also working on this. This makes tons of sense within the corporate firewall because: You can control deployment of a new universal network client There normally is a well-defined security model already in place. To be a general solution, however, someone would have to figure out the security implications of running arbitrary OSGI bundles over the Wild, Wild Web. And then the challenge would be to make such a universal network client truly universal on the Internetdeployed to every desktop. Conclusion Looking at the above forces and solutions, it seems to me that AJAX is an obvious platform for building out a new generation of rich Internet applications. It is everywhere. However, we will run into the limitations of AJAX fairly soon and want something better. The only two possibly-viable solutions I can see above are Flash and a custom SWT Browser Plugin. I'd vastly prefer the latter, but fear that the former will win, simply because it's there. Is there any interest in the community writing a SWT-based web browser plugin? Read or add comments to this article

Planet Eclipse : Mon, 12 May 2008 17:38:14 +0000
Fred Grott: EthicalProblemIN EclipseCommunity
I a have bit of problem here with this Converting a Java Project to a Dynamic Web Project in Eclipse article at EclipseZone at Dzone.com . As you can see it was 'composed' from an original article by GreatWebbGuy . In publishing it is a common practice to give the title co-author to the original article author if content is 50% copied from the original article. This article certainly qualifies. Some background, all Dzone.com articles go through some review process an first post articles by any Dzone contributor get the most examination. Are you to disturbed by this? Ma I imaging things? How does this bode positively on the Eclipse community? Okay, lets give a reasonable bow to doubt. What if the system Dzone uses does not allow to do such things? All the more reason to put an introductory sentence at the beginning stating who the co-author is nd their link to the original article. I can state that the Eclipse Foundation does read my Eclipse posts, so if you feel strongly about this I would urge you put your comments in the comment box below.

Planet Eclipse : Mon, 12 May 2008 13:02:39 +0000
Kenn Hussey: On Navigable Owned Ends...
OK, its time for me to get a little bit technical (and to try out JBuilder 2008 ) for a change. While working on the E/R metamodel as a member of the IMM submission team , I ran into an interesting scenario recently involving associations with one end type. Consider the class diagram below (the names have been changed to protect the innocent). Can you see whats wrong with this picture? The intent of the modeler was to express the fact that a bicycle has two wheels, one of which is the front wheel (from the perspective of the rear) and one of which is the rear wheel (from the perspective of the front). If you think about what an instance of this model might look like if it were mapped directly to classes and fields in a programming language like Java (using EMF , for example), youll realize that each instance of the ' BicycleWheel ' class would need a reference to the bicycles other wheel, but also to itself  in order to satisfy the multiplicities (both association ends are required, i.e. they have a lower bound of 1), each wheel must reference both the front wheel and the rear wheel of the bicycle; obviously not a desirable result. In fact, its currently impossible to create a valid instance of this model using Java code generated by EMF, since an attempt to set a reference from the front wheel to itself (to satisfy the multiplicity) would result in its reference to the rear wheel being discarded. Whats interesting (at least to a modeling geek like me) is that this redundancy could, in theory, be eliminated simply by making the association ends (the ' frontWheel ' and ' rearWheel ' properties) navigable owned ends . What does that mean? Well, in UML 2.x, its possible to designate a navigable association end as being owned either by the end type (as in the diagram above) or by the association itself. In the latter case, a mapping to Java would require a class to represent the association; now, in addition to there being an instance of the ' Bicycle ' class and two instances of the ' BicycleWheel ' class, there would be (at a minimum) an instance of the class representing the association which, in turn, would only need to reference each of the wheels once to satisfy the multiplicities. Ed and I have been giving some thought as to how owned association ends might be mapped to Java using EMF, but this special case makes me think that we still dont have it quite right  see below. I think there would still be an issue here with respect to navigability, because given a bicycle wheel, it's supposed to be possible to navigate to both the front wheel and the rear wheel (according to the model). Would this require redundant entries in the maps? What if a front wheel is passed as an argument to the ' getFrontWheel(BicycleWheel) ' method? What if the owner of the bicycle rotates its wheels every season? Im starting to wonder whether it should be considered valid at all to model a bidirectional association with required member ends and one end type. In the absence of an answer to that question and/or EMF support for mapping navigable owned ends to Java, there are a number of ways the model could be changed and still (or better) express the original intent. The model we ended up going with (or, rather, a reasonable facsimile thereof) is below. What might you have done differently?

Planet Eclipse : Sun, 11 May 2008 15:19:17 +0000
Thomas Kratz: The Web 2.0 - or are we going the wrong way ?
Developing software for 25 years I have seen many troubles. And still I'm learning every day. I followed some news around the eclipse e4 platform, and although it has nothing to do in special with eclipse I wonder where we're heading at. I have to admit that I'm no friend of web software development. I always preferred working with UI frameworks on the rich client side, not only that one gets a better user experience, but I always hated the programming models at least in the java world on the web side. When it comes to HTML I always think of the days when I did UIs on the IBM 3270 Terminal, I really think there not much difference. Now in the days of Ajax I'm completeley horrified of whats going on. Yes, we need rich UIs in the browser, I completely agree with that. I admit that i prototype with RAP right now. I also prototyped with GWT which is quit nice, but the Java 1.4 restriction made me throw it away. RAP at least gives me a somehow proper programming model with SWT. But whats going on behind the scenes, I cannot believe that this is state of the art software engineering. Does anyone even remeber the lessons about client-server computing ? When I look at eclipse e4 I guess the guys wonder the same as I do, which way to go these days. Although I don't have clear technical insight, I see Microsofts Silverlight coming up. Am I provocative enough when I say that we need to throw away the HTML stuff completely ? What we need is a application plattform thats web enabled. In my eyes thats what we really need to invent. Do we ? I always cite webstart when it comes to this point and I wonder why so little folks out there use it. In my own little point of view we need to get rid of the "browser" application. The web has to be integrated in the operating system, wether its windows or linux or anything else. We need to have a consistent rich user experience, we need an integrated application platform on the OS level where the user doesnt even notice deployment. To me all that we have at the moment is a more ore less dirty workaround. We have two dominant runtimes, Microsofts CLI (and although I lead an open source company I like many of their ideas) and the Java VM. But thats not enough, we need an application platform, say like eclipse, that already there on the computers like a browser is today. we need deployment mechanisms that are secure and not even noticable to the users out there. I installed Office, it takes an endless time ! Why make a difference between a web and a desktop application ? In my eyes the future is an integrated platform. Dont build the platform on browser technology. Build a platform and integrate a good old browser for the non believers.

Planet Eclipse : Fri, 09 May 2008 03:42:42 +0000
Ian Skerrett: Thoughts on JavaOne 2008
Just finishing up this years edition on JavaOne. Some thoughts& JavaFX was definitely the main message from Sun. The Sun keynote was full of JavaFX demos showing spinning pictures. It reminded me of 1998 spinning Java logos in applets. Sun appears to want to go head to head with Adobe and Microsoft for the hearts and minds of designers and web programmers. Unlike Cote , I think they are too late and I am not sure anyone really cares about JavaFX. JavaOne is usually full of announcements from the major vendors, this year was the exception. In fact the Sun and Oracle keynotes were non-events; kind of boring. One thing that was very surprising to me is that there was little discussion about openJDK and open source Java. Last year it was all about open source Java. I know Sun is still committed to openJDK, it was just surprising the absence of discussion. OSGi did really well at JavaOne . Lots of people were clearly interested but most people have no idea. We still have a long way to go to educate people about Equinox and OSGi but things have started. The Eclipse party at the Thirsty Bear was a great success. Thanks to everyone that came. I also went to the eBay party. eBay is a huge Eclipse user and they are doing some neat things. btw, eBay is looking to hire some Eclipse experts. If you are interested send me an e-mail. Once again we gave out 750 t-shirts at the Eclipse booth. Thanks to everyone that came by the booth. It is great to hear from all the enthusiastic Eclipse users. See you next year.

Planet Eclipse : Fri, 09 May 2008 01:00:49 +0000
BJ Hargrave: Hot off the press: my JavaOne presentation
You can now download the JavaOne 2008 presentation Converting (Large) Applications to OSGi I just delivered with Peter Kriens. The presentation went really well. There was around 700-800 people there and we had some really good questions asked during the 5 minutes we had left for questions. And then many more questions after we left the stage. I felt like a JavaOne Rock Star ! :-)

Planet Eclipse : Thu, 08 May 2008 13:35:17 +0000
Ralph Müller: Bug Report
We need do better in communicating and where to report bugs and issues. Why do I think so? Because I received the following 'Bug Report' today, from a developer (?) called Nagy: F *ING JAVA, and F *ING ECLIPSE!!!!!!!!!!!java.lang.OutOfMemoryError: PermGen spacejava.lang.OutOfMemoryError: PermGen spaceException in thread "Worker-7" java.lang.OutOfMemoryError: PermGen space 7965 mark 20 0 1540m 520m 23m S 99 13.2 1:48.24 java 8186 mark 20 0 1272m 78m 10m S 0 2.0 0:03.20 javaNICE JOB, CONTINUE F *ING GOOD JOB AND EAT ALL OF F *ING WORLD'SF***ING MEMORY! So Nagy, here is the idea: Please report the problem you have at https://bugs.eclipse.org/bugs/. You will have to go through the inconvenience of creating an account and answer some questions like what platform you use, what version you use and the likes, but this type of information would help the team tremendously to assess your problem. As a matter of fact, they might be really happy if you sent them some code example too that demonstrates the problem - please avoid f***ing comments to protect the minors in our community. The address you sent your report to cannot help to solve the issue. Hope this helps ... PS: Excuse me for slightly editing your original message. Ralph

Planet Eclipse : Thu, 08 May 2008 09:11:44 +0000
Eclipse MAT: The Power of Aggregation: Making sense of the Objects in a Heap Dump
The goal of this article is not to provide you with a step-by-step approach in finding memory problems, but to reveal several powerful features of the Memory Analyzer , which are irreplaceable in memory leak hunting. These features might be unified into one topic  aggregation. Memory Analyzer - is a powerful Java heap analyzer. It makes it possible to find a memory leak or reduce memory consumption by looking into the heap dump only. Our wiki page provides detailed information on how to acquire a heap dump. Sometimes you open a heap dump in Memory Analyzer and see nothing & but a pile of small objects: As overview pane shows, the majority of retained memory is more or less equally distributed among several objects, which makes it difficult to see a suspect for a memory leak at first sight. Grouping in Dominator Tree The pie in the overview pane is a graphical representation of the Dominator Tree, which you can open from the toolbar using the button The Dominator Tree is built out of an object graph. Each object in the tree is responsible for keeping its children alive. The tree is sorted in descending order according to the size an object retains in memory. Now, if we group the dominator tree by class (using the drop-down toolbar menu), we will see a different picture: We can see that 700 objects of class com.foo.bar.menu.MenuEntry retain 46 % of the total heap space. Suddenly we see an unequal distribution of the retained memory. How is it possible that we see it only now? The answer is that in this heap dump we do not have one single big object, but a group of leaking objects. Remember, the overview page of the heap dump only displays the distribution of retained memory heap on a per-object basis. So, when we group the dominator tree by class, we group our leaking objects to their origin class and thus get an accumulated retained heap. Lets find out who is referencing all those com.foo.bar.menu.MenuEntry objects. For this select List objects > with incoming references from the context menu. As a result we will get an object reference graph: If we drill down into the com.foo.bar.menu.MenuEntry , we can see the chain of objects referencing our suspect. Unfortunately, in this case it is not really helpful as we see only a LinkedList structure. Grouping referrers to the class level As we have seen looking at the incoming references graph for our suspect objects did not reveal a lot. Grouping referrers to class level might be more helpful. This operation is performed via a context menu. Back in the dominator tree grouped by class, right-click on our suspect com.foo.bar.menu.MenuEntry and select Show objects by class > by incoming references : Grouping referrers by class allows us to see a simple and easy to understand reference chain: We can now see, that class com.foo.bar.menu.MenuEntry is referenced by a LinkedListEntry , which we already knew. But as we continue we see that this entry is again referenced by a LinkedListEntry (this is the head of the LinkedList ) and by the LinkedList . LinkedList itself is referenced by two classes, one of which is of no interest as it is from the java.* package (which for now we assume to be unproblematic). The other one, however, is of interest. The easiest way to find out what keeps our memory leaking group of objects alive in the heap is to check the path to the garbage collection roots. However, paths to garbage collection roots can only be found for a single object but we are interested in finding a common chain of references to a group of objects. Well, this is also possible. Merging Paths to Garbage Collection Roots The Merged Paths to GC Roots view shows the shortest paths from the GC roots to each instance of the selected class. You can open this heap editor using the context menu Merge Shortest Paths to GC Roots on the com.foo.bar.menu.MenuEntry class instance: This operation explores all the paths from the different objects to their GC roots at once and finds a common chain of references for this group of objects. It is a common procedure to exclude weak and soft references from the result as they cannot be the main reason of keeping the objects of interest alive. There we got the reason: one instance of the class com.foo.bar.menu.FoodSupplies keeps in memory 700 instances of the class com.foo.bar.menu.MenuEntry . Now is the right time to check what is going on in the code and fix the problem. Conclusion Apparently, Memory Analyzer has more aggregation features to offer. Some of them will be covered in our future blogs.

Planet Eclipse : Thu, 08 May 2008 00:10:40 +0000
Ian Skerrett: New resource for Eclipse newbies
DZone has just released the first set of their Refcardz, including a  Getting Started with Eclipse . It looks like a great resource for anyone starting in Eclipse. Nitin from Dzone was kind enough to drop off some of the Refcardz for the Eclipse booth at JavaOne; they proved to be very popular. Lets hope they do more of these for other Eclipse projects.

Planet Eclipse : Wed, 07 May 2008 23:27:47 +0000
Wayne Beaton: More pictures from JavaOne

Planet Eclipse : Wed, 07 May 2008 16:48:29 +0000
Wayne Beaton: Some pictures from JavaOne
The Eclipse booth at JavaOne is being hosted this year (as it is normally hosted) by a broad cast of Eclipse committers, representatives from member companies, and other generally-knowledgeable people. Yesterday, some of the folks from nexB hung out at the booth, answering questions about Equinox and being all-around great ambassadors for Eclipse. Here are the nexB folks (along with Lynn and Donald) during a lull in the excitement (its hard for me to take shots when theres lots of activity at the booth, as I end up being one of the folks chatting with the visitors). A highlight of the show for me was meeting up with Luke Li, and old friend from university (back then we knew him as Danny Li). Heres Luke eating the fish after a great Sushi dinner. Hanging out with the nexB guys, and then later with Doug and Shaun from EclipseLink and Virgil from BIRT is the best part of the show for me. Today, be sure to drop by the Eclipse booth. Ill be there from 1130 to 1330 to chat about Equinox, runtimes, and everything else you want to know about Eclipse. Mik Kersten will be there from 1330 to 1500 to talk about Mylyn , and Oliver Wolf will be there from 1500 to 1630 to talk about Swordfish . FWIW, no real swordfish were injured during our sushi-fest last night&

Planet Eclipse : Wed, 07 May 2008 06:28:20 +0000
BJ Hargrave: An AJO is not a POJO
A POJO is a p lain o ld J ava o bject. Everyone talks POJOs these days. They are easy to compose and unit test. They are free of coupling to specific infrastructure details. So you can take your POJO to another infrastructure. For example, from JavaEE to Spring or OSGi. I like them and I think it is the right way to do things. However, people are also fascinated with annotations now. Things like Guice and EJB3 and Glassfish all want you to annotate your POJO. But once you do that, your POJO ceases to be plain . While the non-annotation part of your code is still the same, the annotations in your code mean that your source now has coupling to specific infrastructure details and it is wrong to call is a POJO anymore. You can't compile your code without the proper support for those annotations. If you want to deploy your code in another infrastructure that uses annotations to describe the infrastructure details, you have to add more annotations to your source. While I see the interest in putting the infrastructure information in the source near where it is used. We need to be honest. Your code is not a POJO anymore. It is now an AJO: an annotated Java object.

Planet Eclipse : Wed, 07 May 2008 05:07:44 +0000
Max Rydahl Andersen: JBoss Tools 2.1.0.CR1 Released
While everyone else is having fun at JavaOne we uploaded the candidate release of JBoss Tools 2.1.0 at sourceforge and via the development update site . This release is mainly 100+ bugfixes/enhancements based on QA and feedback from the last release . A few new features did make it into 2.1.x and you can see those at new and noteworthy . To upgrade safely to this release please read the following. Existing Seam projects Existing Seam projects will work fine in this new release, except EAR projects with an application.xml should be updated to have something like the following modules: <module> <web> <web-uri>myprj.war</web-uri> <context-root>/myprj</context-root> </web></module><module> <ejb>myprj-ejb.jar</ejb></module><module> <ejb>jboss-seam.jar</ejb></module> ..and nothing else. The <java> elements we generated previously are unnecessary and breaks WTP 2.0.2. The details about why that is are in the following. Less rigid WTP 2.0.2 We are now targeting WTP 2.0.2+Patches to get some of its important bugfixes. Unfortunately WTP 2.0.2 introduced a bad regression bug concerning deployment and another bug which makes WTP 2.0.2 very rigid about deploying jar's listed in application.xml via <java> or <ejb> tags unless they have xml descriptors (which is not required in JEE 5). This affects Seam 1.2 projects and any other projects using binary jars with EJB's in them and projects that uses <java> or <ejb> in application.xml for jars without descriptors which is the case for projects created with previous version of JBoss Tools To get around these various bugs/ features of WTP 2.0.2 we had to do two things: application.xml in new Seam projects no longer lists jar's in <java> elements to work with WTP 2.0.2. Besides being more correct and standard compliant it also makes the application.xml much smaller so in overall this is a Good thing. Unfortunately existing JBoss Seam projects that uses <java> in application.xml can run into files not being deployed thus we added a EAR validator that will put warnings/errors on offending elements we know can cause problems and with instructions on how to fix it. We provide a cumulative feature patch to WTP 2.0.2 which removes the rigidness in WTP with respect to JEE jars without descriptors. It is a hack, but it at least allows JEE 5 compliant jars to work instead of causing a exception stacktraces and random behavior in Eclipse. We had hoped this rigidness could be removed in an update to WTP 2.x, but that does not seem to happen within a decent time frame so we decided to release the patch on our own. Note: WTP 2.0.2+WTP provided patches will work for most users, but we do recommend running with our patch to avoid publishing issues. Feedback We plan on going GA within the next few weeks so we encourage you to provide feedback on our forum and jira in case you find something bad or good ;). p.s. This version of JBoss Tools (sans the experimental parts) will be available in a JBoss Developer Studio 1.1.0.CR1 for JBDS customers soon.

Planet Eclipse : Tue, 06 May 2008 16:58:54 +0000
David J. Orme: E4 and RCP4: Desktop and Web from one source
Back at EclipseCon, one of the big news items had to do with the proposed Eclipse 4 , or E4 feature set. But I think that the true story behind E4 isn't just in running Eclipse in a browser , but in something much more interesting than that. The real E4 story E4 isn't just a very cool AJAX frameworkit's the ability to write rich client applications that deploy to a desktop or a browser from the same code base. And this is interesting. Which is why I'm attending the upcoming E4 Summit . And why I've switched to a blikia cross between a blog and a Wikito make it easier to both blog and write about E4 . E4 is the Community's Platform I can't make RCP4 happen by myself. IBM can't make E4 happen by itself. Come and join us! Jump inthe coding's fun and the water's warm! Please add comments with your ideas, thoughts, and critiques. Read or add comments to this article

Planet Eclipse : Tue, 06 May 2008 13:17:16 +0000
Peter Friese: Eclipse Stammtisch Hamburg recap
Yesterday, the first Eclipse Stammtisch in Hamburg took place. We had about 30 registrations in advance and were quite surprised that even more people showed up. The location ( Bolero Bar in Hamburg Ottensen ) was well-suited: we had a nice room good enough for about 60 people with a looooong table set up for us. Although I planned to arrive early, I arrived late due to the catastrophic parking situation in Hamburg Ottensen (have to take this into account the next time...). We had some frosty beverages (a big thank-you to Ralph from all attendees!), nice tex-mex food and a lot of Eclipsy (and also non-Eclipsy) conversations. Networking opportunities were great - lots of well-known people like OSGi afficionados Martin Lippert and Gerd Wütherich , "The Modeling Guys (tm)" from itemis (Sven , Jan , Holger , Moritz and me) and Gentleware ( Stefan and André ), Stefan Reichert of WickedShell fame, Karsten Panier of StIXDB ,  Uwe   Petschke  of  The Way Out  ( ObjectFab ) and a whole bunch of people from companies like OTTO , Immonet , Lufthansa Systems , Kühne & Nagel . Academia was also present: Simon Zambrovski of the Technical University of Hamburg-Harburg brought some of his students. Last not least, Ralph Müller of the Eclipse Foundation , who tirelessly answered questions and connected people. Everybody Ralph and I talked to thought that the event was a big success and asked for more. As the term " Stammtisch " implies, this is a somewhat regular event, so there will most definitely be a follow-up event later this year. If there is enough interest (just leave a comment on this post), we will try to arrange an Eclipse Stammtisch each quarter, so stay tuned. Another excellent opportunity to network and exchange ideas concerning Eclipse is the upcoming Eclipse DemoCamp in Hamburg , which I happen to organize together with Martin Lippert of it-agile . After the Stammtisch, Martin and I went to check out a possible location for this event which looked quite promising. If you are interested in attending the Eclipse DemoCamp in Hamburg, add yourself to the list of attendees in the wiki . If you would like to give a demo, please add yourself to the list of presenters. If you cannot come to Hamburg to attend the DemoCamp, choose one of the DemoCamps in a city near you or organize your own DemoCamp. PS: thanks to  Simon  for allowing me to use a photo I took using his camera!

Planet Eclipse : Tue, 06 May 2008 12:09:36 +0000
Gorkem Ercan: Java ME CDC needs a new version
The final release of the JSR for Java ME Connected Device Configuration (CDC ) version 1.1 was 3 years ago. The early draft of the specification is almost 5 years old. The situation is indifferent with the smaller and more common Connected Limited Device Configuration (CLDC) version 1.1 . CDLC specification is also about 5 years old. In the past 5 years the development of the Java did not stop. Java SE had two major releases Java SE 5 and Java SE 6 , and these releases brought major changes to the java language. Today, the java language level of the Java ME remains at 1.4 level as defined by CDC and CLDC specifications. In the meantime. the mobile handset industry has been changing constantly. The devices nowadays have more resources. Devices like N95 have 330 MHz or larger CPUs, 3D accelerators, a good amount of memory, and this was last year. iPhone had made a very positive impact in the industry and convinced the consumers that smartphones are more than phones.  On the other hand, the rapid growth of the developer community around the Google's Android proven that the developers welcome an innovation platform that is closer to Java SE level, rich with APIs on the devices. I believe mobile industry had never been more ready for having CDC as the mainstream Java ME configuration. The richer APIs of CDC will allow the innovation juices of the mobile java developers flow rapidly. The ability to use JNI will enable software that is more integrated to the the device features without need for the platform providers to provide the APIs. This is all sounds good and desired but lately I started to wonder is that enough? The latest discussions on e4 made it more clear that there is a desire on the developers to use Java 5 features. This is not really news, there had been similar discussions on different Eclipse components concerning their use with eRCP , including the latest experience from Wayne Beaton. While with the current state of Java ME, it is a necessity for the components to keep the java language level at 1.4 level. I think it is really time to start with a new version of the CDC to move the the language level to Java SE 5 level and be prepared for the inevitable. Of course, it is some work and investment to do a new CDC specification and therefore the possibility to define a subset of the latest Java SE and calling it the new mobile java remains attractive to many.

Planet Eclipse : Mon, 05 May 2008 17:16:41 +0000
Prakash G.R.: Adding util methods to the generated EMF classes
We had EMF generated model classes and a Util class with lot of helper methods. Both were exposed to clients as an API. Most of the methods in the Util classes were like: //API - Util class Book getBook(Writer writer, String title); //Customer code Util.getBook(daveSteinberg, "Eclipse Modeling Framew ork"); These methods would have been more appropriate in the Writer class itself rather than in a Util class, and it will be more natural to code like: daveSteinberg.getBook("Eclipse Modeling Framework"); This tip is about how to add such methods in the generated code. The first way is simple. Just edit the generated java code and add these methods. EMF is smart enough to identify this method and keeps it safe during regeneration of code. But if you were like me, who consider the generated Java files are as good as class files and don't want them checked into the repository, you can follow the second way. In the eCore Editor for your model, right click the EClass and add a new child EOperation. Go to the Properties view and specify the name, this will be the name of your method. The EType represents the return type of the method. If your method has any parameters, then add EParameter children to the EOperation & specify their types and names. To add the code, add an EAnnotation to the EOperation. In the properties view, set the Source to "http://www.eclipse.org/emf/2002/GenModel". Add a details entry to the EAnnotation. In the properties view set the key to 'body' and value to the code that you want to be generated. Reload your .genmodel from .ecore and generate the code: From Eclipse Tips by Cypal Solutions Like the tip? Subscribe

Planet Eclipse : Mon, 05 May 2008 14:00:00 +0000
Brian Fitzpatrick: Enabling command-line applications for your Eclipse projects
Hi all...   Recently in DTP we came across an opportunity to provide admin-level support for some import/export type functionality within Connectivity. And it was discussed that this would be best done as a command-line application, since administrators may not have access to or wish to use the full blown Eclipse UI to handle this task.   So we started doing some digging and discovered that there's this very cool framework within the Eclipse platform to handle just this kind of thing. A bit of Googling turned up this presentation from EclipseCon 2006:  "Hello World" as a Headless Eclipse Plug-in by Jeffrey Fredrick ( http://www.eclipsecon.org/2006/Sub.do?id=293 )   Though the Eclipse platform has changed a bit since Jeffrey wrote his article, it got me going the right direction. So I thought we'd update it for Eclipse 3.3.2.   Here's the steps we did to create this sample project...   1) Create a new plug-in project.         2) Make sure to un-check the "This plug-in will make contributions to the UI" checkbox.   3) Uncheck any available plug-in templates.   And voila, you have a new plug-in. 4) Go to the Extensions tab of the Plug-in/Manifest Editor. Add a new Extension. Select the "org.eclipse.core.runtime.applications" extension point. Click Finish when you're done.     You have a new "application" node beneath your org.eclipse.core.runtime.application extension.   5) Select the actual extension point node in the tree and note the ID of the application. This is important (I learned this the hard way). You want to provide something unique here that's not too long. It gets prefaced by the ID of your plug-in when you try to run it later.     It defaults to "idX". Call it whatever you want. In this case, we'll call it "CoolApp". The full ID is then my.cool.application.CoolApp when we go to run this later.     6) Go back to the "application" node, right-click and click New->Run. This adds the node that specifies the class you're going to run in command-line mode when you invoke your plug-in application.   7) Click the class* link to create the application class. Our application class will implement the org.eclipse.equinox.app.IApplication interface. Give it a name ("CoolApplication" in our case) and click Finish.     So you end up with the beginnings of your application class:     8) In our case, we're just testing out this functionality, so we don't have to get too fancy. In the Start method, you get an IApplicationContext object, which gives you a whole lot of information about the command line parms that were passed in.   So we're going to add some code to check out those command line parms and just write them out intelligbly.   public Object start(IApplicationContext context) throws Exception {      // get the arguments    Map args = context.getArguments();      if (args.isEmpty()) {       // if there were no arguments, simply write "hello cool world"       System.out.println("hello cool world...");    } else {       // otherwise iterate through the arguments and print them as       // "key = value" pairs after "hello cool world"       Iterator iter = args.keySet().iterator();       while (iter.hasNext()) {          Object key = iter.next();          String output = new String();          if (key instanceof String) {             output = output + (String) key + "=";          }          Object value = args.get(key);          if (value instanceof String) {             output = output + (String) value;          }          System.out.println("hello cool world, " + output);       }    }      // And now we can attempt to get some input and respond from stdio    BufferedReader stdin = new BufferedReader      (new InputStreamReader(System.in));    String message; // Creates a variable called message for input      System.out.print ("Enter the message : ");    System.out.flush(); // empties buffer, before text is input    message = stdin.readLine();      System.out.print("You ");    System.out.println("entered : " + message);      // make sure to return an OK message    return EXIT_OK; }   So now we save our class, make sure everything compiles and builds.   9) Then we export it as a deployable plug-in.     Pick the directory where you want the jarred plug-in to be written to. In my case, I want it to be installed directly in my Eclipse plug-ins directory (the "plugins" directory is added after the directory you specify as the destination). If you put the exported plugin somewhere else, you'll have to copy it into your Eclipse/plugins directory manually. Click Finish and it will put the plug-in where you specified.     10) Now head out to a console window. Assuming you have your Java environment set up correctly, all you should have to do to run the application is go to your Eclipse directory and type:   eclipsec -nosplash -application my.cool.application.CoolApp     And that's all there is to it! I know we're going to look into using this sort of application in the future to provide some command-line import/export functionality when we get a chance.   Hope this helped you out. The Eclipse Platform has lots of cool bits that most of us User Interface people never see!   Until next time... Keep on programming! --Fitz

Planet Eclipse : Mon, 05 May 2008 07:09:03 +0000
Rafael Chaves: Why we write code and dont just draw diagrams
TextUML is a textual notation for UML. The TextUML Toolkit is an Eclipse-based IDE-like tool for creating UML models using the TextUML notation. Other tools follow the same approach. Emfatic (now an EMFT subproject) has been doing the same for EMF Ecore for a long time; the TMF project aims to be for textual modeling what GMF is for graphical modeling, and will be based on GMT s TCS and xText components. Still, people are often puzzled when I explain what the TextUML Toolkit is. A common question is:  if I am going to write code (sic), why do I need UML anyway? . Dean Wampler from Object Mentor wrote on his blog a while ago a post entitled  Why we write code and dont just draw diagrams . It is a short post, but he presents very good points on why a graphical notation is usually not suficient and is bound to be less productive than a textual one when it comes to modeling details. For instance, on the saying  a picture is worth a thousand words , Dean wrote:  What that phrase really means is that we get the gist or the gestalt of a situation when we look at a picture, but nothing expresses the intricate details like text, the 1000 words. Since computers are literal-minded and dont do gist, they require those details spelled out explicitly.  Couldnt have said it better. I strongly advise you to read the original post in its entirety, but I will leave you with another pearl from Deans post (emphasis is mine):  I came to this realization a few years ago when I worked for a Well Known Company developing UML -based tools for Java developers. The tools UI could have been more efficient, but there was no way to beat the speed of typing text .  Enough said.

Planet Eclipse : Sat, 03 May 2008 17:46:30 +0000
Buddhika Laknath: Another GSoC on the air
Ok, here is another post after a long desert - no excuses here, Ive forgoton that I even have a blog.  But now feel like writing something after seeing the new WordPress dashboard First thing on the agenda is GSoC 2008. As you all know Google Summer of Code 2008 is on the way this year too and in case you have been living under a rock, here is the event . GSoC is a good breeding ground for fresh FOSS developments and had been one for me last year when I tried GSoC for the first time. Even though initially I wasnt planning to try out for GSoC this year, after seeing some cool ideas from few organizations I felt like giving a try. I found 2 ideas from Eclipse foundation and Apache very exciting but finally had to leave out one because I hadnt enough energy nor time for 2 proposals. So I tried for Eclipse - creating a new plug-in for XQuery syntax editing which I found the idea is most appealing. One reason is I had been working with XML and Java stuff for a longest of my time and second one is Ive been using Eclipse for my python works, so felt like returning the favour.  So I prepared the proposal, submitted it and got accepted this year round too All thanks should go to my mentor David and congrats to my fellow Vesess colleague Sameera , who also got accepted for GSoC this year for Coppermine photo gallery . By the way, if this helps any future GSoCer, here is my complete proposal . But beyond my not-so-dramatic GSoC tale, I was able to give something else for GSoC. First thing is I submitted a translated Sinhala version of GSoC flyer this year. The second is I was able to put a small guiding doc for Gnome GSoCers, doing my things right as a responsible Gnome GSoCer last year.  Other than that, I was able to encourage few of my buddies to apply for GSoC rather than trying for evil MS Imagine Cup So the end of the line is that Im hoping for another nice, fruitful 3 months with GSoC working for Eclispe and hope the experience will be great as was in last year.

Planet Eclipse : Sat, 03 May 2008 15:25:27 +0000
Fred Grott: Where have the Eclispezone and javaLobby communities gone to?
Since not really visiting EclipseZone and javaLobby past its new incarnations you may be wondering where those communities moved to. I have found that you can find the members for those communities on FriendFeed and Twitter . I was surprised by the number of folks that I have conversed with over the years as a JavaLobby and EclipseZone member that are on both services.

Planet Eclipse : Thu, 01 May 2008 20:43:21 +0000
EclipseLive: Upcoming Event: Equinox Security
Event Date: August 6, 2008 4:00 pm GMT-8 Register Now Matt Flaherty (IBM)   Abstract: More information coming soon. About Equinox Security Equinox Security ensures Eclipse is a secure runtime, enabling users and administrators to confidently work with the Eclipse client in environments where not all users and/or code sources are friendly. It provides integrated security functionality that will allow Eclipse applications to protect their data, to authenticate and authorize valid users, and to protect against potentially malicious code packaged and distributed as plug-ins. Equinox Security protects by enabling Java's standard security mechanisms within the Eclipse platform and defining new functionality where there are gaps in the available standard interfaces. Using Java's core standard interfaces will enable wider integration with code available throughout the Java community. 9:00 am PDT / 12:00 pm EDT / 4:00 pm GMT - Convert to other time zones Total running time will be approximately 1 hour Thanks to Adobe for contributing their Adobe Acrobat Connect product to host this webinar. delicious | digg | dzone

Planet Eclipse : Thu, 01 May 2008 18:39:10 +0000
Mik Kersten: SpringSource Application Platform and IDE implications
Life is about to start getting a lot easier for enterprise application developers. Last October, my JDJ article concluded with the following statement: Eclipse plug-in developers are already spoiled with a dramatically easier way of building applications and are incapable of going back to a day in which the IDE support did not provide them with this high level of automation at both the language and component level. While the much more heterogeneous nature of JEE applications makes this kind of automation more challenging, the latest developments in the Eclipse WTP and Mylyn frameworks provide key enablers. It is high time that Java EE developers start feeling spoiled by their tool support as well. Todays announcement of the OSGi-based SpringSource Application Platform seals the deal. Consider the facts that Java is a great OO language, that OSGi is arguably the best component model to date and meshes perfectly with Java, and that Spring is the de facto programming model for reducing the complexity of enterprise applications. Whats clear from the announcement is that these three modularity technologies will work together seamlessly on the server side. The final thought to keep in mind is just how far this combination of Spring, Eclipse and Mylyn can go. The static nature of Java and the quality of the OSGi component model have made it possible for Eclipse to provide a remarkable set of productivity features such as consistent refactoring across Java and plug-in resources and easy launching and debugging of plug-in based desktop applications. The Spring Framework is building on the very same Java and OSGi technologies& The neat thing about good modularity is that it makes a tool builders life dramatically easier. Consider how Javas type system enabled content assist and the browsing of type hierarchies. Or how the use of OSGi by Eclipses plug-ins allows you to stay sane while dealing with hundreds of plug-in versions and dependencies. Modularity technologies make it easy to navigate and browse the entire structure of the system, enabling Mylyns Task-Focused Interface to ensure that you only see the parts relevant to the task-at-hand, no matter how large that system is. To date Eclipse developers have been spoiled by the PDEs plug-in and feature editors, which make it easy to evolve large Eclipse-based applications. Todays announcement means that the same component model will now be working on the server side. The IDE support is evolving alongside the Application Platform, and leverages WTP, Spring IDE and Mylyn. Here is a teaser of the Eclipse-based tools: Tasktop Technologies has been having a great time working on these tools with SpringSource , and you can expect a lot more Eclipse-based innovation coming from both the commercial SpringSource Tool Suite and the open source SpringSource Application Platform Tools . <=>

Sylvain Wallez : Tue, 29 Apr 2008 23:54:29 +0100
Speeding up mobile web applications
It's been nearly one month since I started full speed at Goojet , and Ialready learned a lot on the mobile web and J2ME. One of the key issues in the mobile web is latency: connections arelong to establish, and data transfer rates are low. Not everybody has a3G phone nor an unlimited data plan. Connection establishment latency can be mitigated in two ways: Use persistent HTTP/1.1 connections. By reusing the sameTCP socket for several HTTP requests, you save the non-negligibleconnection setup overhead. To achieve this, every request and responsemust carry a Content-Length header. Open several connections in parallel when you have severalitems to load (e.g. images in a page). This might seem contradictory tothe above, but a single connection doesn't use all the availablebandwidth. There are lots of idle periods during connectionestablishement and data transfer, waiting for handshakepackets on the slow link. So by opening several connections andhandling them in parallel, more of the available bandwidth is actuallyused leading to shorter overall load time. Having responsive connections is good to speed-up transfer, but evenbetter is not to have to transfer data at all, both for response timeand user phone bill. So HTTP cache headers must be handled with greatcare, which also means that the J2ME application has to implement anHTTP cache. Cache headers for static resources like images or CSS files are mostoften handled by the web server itself, by means of Last-Modified and/or ETag headers. You have to be careful with ETags though in server farms, since some web servers includethe file inode in it , which essentially makes its valuedifferent on every server for the same replicated resource, thusbreaking the intented purpose. Static resources can also benefit from using the Expires header, or better the HTTP/1.1 Cache-Control header that avoids the date parsing and clock synchronizationissues associated to Expires . The use ofversioned URLs even allows to set an infinite expiration date. But cache headers for applications are way more tricky. There is oftenno concept of "last modified", and computing an etag that reflects thestate of all the elements that contribute to the response is not alwayspossible or would lead this concern to creep into all applicationlayers. So I've taken a different approach in the Goojet backend: whenreceiving the first byte of the response body, a servlet filter checksif the application has set cache headers. If not, the response isbuffered so that we can compute a hash code once the application hasfinished producing it. We could have used MD5 for the hash, but it's abit costly to compute and we don't need something cryptographicallysecure. So we use a 64 bit FNV-1hash that is very fast to compute and has a low collisionrate, even for small changes in the data. The result is that even for highly dynamic responses, we are able toprovide cache headers that allow the mobile application to issue conditionalrequests and download data only when actually needed. All these techniques combined really make a difference tohave a more responsive application and a lower phonebill!

Sylvain Wallez : Sat, 05 Apr 2008 12:49:32 +0100
Goodbye Joost, hello Goojet
I havebeen working at Joost for the lasttwo years as architect of backend systems and tech leader of the backenddevelopment team. I started there at a time when the architecture ofthe system was a blank paperboard. Exciting times, that allowed me touse my creative thinking and build amazing stuff with an amazing team.But also exhausting times, that got me quite burned. For the last 6 months or so, Joost has been undergoing many changes:organisational changes, stragegy changes (not yet publically visible),and geographical changes by concentrating the previously distributedteams and pushing west towards the US. So all things considered, it was time for me to move on, and I washelped in that by a startup in Toulouse that I've been knowing sinceits inception because Anyware was participating to the development team. And since their inception,they wanted to have me on board. So here it is: yesterday was my last day as a backend systems architectat Joost, and monday will me my first day as the CTO of Goojet . Goojet is awidget platform and social network targetting mobile phones. Contrarilyto other social networks, Goojet focuses on the collaboration betweenyou and your contacts rather than you exposing or broadcastinginformation to your contacts. The world is made of interactions, notonly of yelling at the masses. My role there will be what I do best and like most: being a think tank,architect stuff, use my synthetic mind and teaching abilities to helpthe business and dev team understand each other, develop someof the tricky parts and generally give technical guidance and advice tothe whole team. I also plan to participate in the nascent or ongoingstandardization efforts in the widgets and mobile web domains, but Iwill first be heads down pushing our first public release out. The really new technology for me at Goojet are mobile phones: I've beenplaying with J2ME on my free time for a few weeks, and it is kind ofrefreshing to work in a very constrained environment. Every line ofcode counts, no big framework, no high-level abstractions. And the devicefragmentation , which requires careful engineering and testing. But it's fun! So I'm pretty excited by this new job. I know it will be hard anddemanding, but well, it seems quiet and easy jobs are not for me.

Sylvain Wallez : Tue, 26 Feb 2008 15:31:16 +0100
A new Ant/Ivy committer!
My dear colleague and friend Nicolas Lalevée has been elected committer on Ant/Ivy , the dependency management tool that allows the use of Maven repositories without the pain of Maven, for his work on the Eclipse plugin for Ivy . I've been working with Nico for two years, and he's one of the main guys behind the Joost search engine , powered by Lucene , another popular Apache product. Congrats and welcome in the big Apache tribe!

Sylvain Wallez : Tue, 13 Nov 2007 10:57:29 +0100
Android: Google disrupts the mobile world
Google's annoucement of the Open HandsetAlliance a few days ago wasn't that exciting: an interestinggroup of partners and some interesting perspectives, but the meat wasmissing. It arrived yesterday with the actual release of the Android SDK .And... wow! This is a complete stack, from the kernel (Linux, of course) up to avery capable web browser ( Webkit ,also used on the iPhone and the Nokia's) up to the application layers.And the application development is done in Java... or is it? Google had an incredibly clever idea: Android doesn't run Java, but uses Java bytecodes as an input for a compiler targetting annon-Java virtual machine called Dalvik. Android doesn't claim to beJava compliant (and even less J2ME), and as such doesn't have to paylicence fees to Sun. Moreover, Android ships with a good subset of theJ2SE standard library they obtained from Apache Harmony (see also Stefano'spost ). So what does all this mean? Google has addressed the mobile market theother way around than Apple: the iPhone is gorgeous hardware with acompletely locked system that will eventually allow3rd party applications in February . Android is acompletely open platform, with nice development tools that doesn't yethave any hardware to run on. But we can expect that very quickly, a lotof asian companies which are so good a building hardware but so bad atwriting software will embrace Android and provide us with a tsunami ofnew cool devices, that thousands of Java developers will feed with coolapplications. So with Android, Google is pissing off a lot of people: Apple whoseiPhone will stay in a luxury niche, Sun who won't get big bucks from asuccessful mobile Java-ish platform, and of course Microsoft since wecan assume the clunky Windows Mobile will quickly vanish. OpenMoko is alsoprobably stillborn. Now what is Google's intent? Is it just aboutcommoditizing the mobile application market to expand the reach of itsadvertising platform, particularly with location-based ads? Is it aboutknowing all about us to increase the targetting and thus the ad selling price? After OpenSocial ,it looks like Google is taking over the platform market. But with opensource software, meaning the battle moves to another front, that of ourdata. This is not less dangerous since data is much more valuable thandumb software. But at least we can hope independent storage serviceswill exist for the privacy-conscious among us.

Sylvain Wallez : Fri, 09 Nov 2007 11:00:32 +0100
We want Java 6 on the Mac!
13949712720901ForOSX Yes, like many others, I want up to date Java support on the Mac! I don't care if it comes from Apple or Sun, but I want it. The Mac is very popular in the opensource Java development community, and these über geeks are very visible (just look at conference pictures) and are purchasing advisors in their work places in "business oriented" departments, i.e. not limited to the creative workers, and also in their families (my parents, sister and parents in law each have several Macs). So Apple, read this: if you neglect Java developers, you will loose marketshare.

TheServerSide.com: News : Tue, 13 May 2008 08:52:37 -0400
First public release of Impala (dynamic modules for Spring)
I am pleased to announce the first public release of Impala, a dynamic module framework for Java enterprise application development. Impala builds on the Spring Framework to provide a modular environment for web-based applications. It allows you to divide Spring-based applications into a hierarchy of modules which can be dynamically added, updated or removed to an existing running application.

TheServerSide.com: News : Tue, 13 May 2008 08:46:52 -0400
Hydra Versus Dragon Competition for Java Developers
N-BRAIN has announced the "Hydra Versus Dragon Coding Competition", which pits teams of Java developers against each other in a public battle to win $7000 each in prizes.

TheServerSide.com: News : Tue, 13 May 2008 08:43:44 -0400
Develop Rich Applications Faster with Exadel Flamingo
Exadel has released Flamingo, an application framework to aid in the creation of rich internet applications, catering to JBoss Seam but targeting Adobe Flex and JavaFX in the future as well. This contributed content from Igor Polevoy tells you more.

TheServerSide.com: News : Tue, 13 May 2008 02:57:01 -0400
determyne Releases Open Source J2EE Performance Monitoring Tool
determyne Inc. has announced the technology preview of an open source transaction-level performance monitoring solution for J2EE applications. insideApps is an end-to-end transaction tracing and reporting system that enables you to centrally and automatically monitor the performance of your J2EE applications. In contrast to the traditional approach of collecting and displaying aggregated metrics for different system components, insideApps focuses on monitoring applications from a transactions perspective.

TheServerSide.com: News : Sat, 10 May 2008 13:01:45 -0400
Jason Lee: Postmortem for JavaOne 2008
Jason Lee sent in this review of JavaOne 2008, exclusive to TSS. Jason is author of Mojarra Scales, a JSF library that leverages YUI - and his summary is: "It was a long week, full of great technical sessions... In this annual State of the Java Union, there was plenty of news for every Java developer, regardless of your market."

TheServerSide.com: News : Sat, 10 May 2008 10:39:13 -0400
Java Has the Flu
I attended the JavaOne show this week, after a 4 year gap. What a difference - who knew Java could be so boring? My prescription for curing the Java flu: fight for the low end, make Java easier to get started with, make Java prettier, and make Java fun.

TheServerSide.com: News : Fri, 09 May 2008 15:17:25 -0400
The Killer Device of JavaOne 2008
JavaOne has always been known for using the technology - every attendee has a badge that runs Java, for example, for very simple data retrieval. (At least, that's what I've heard.) This year, the killer device looks like the LiveScribe pen, easily.

TheServerSide.com: News : Fri, 09 May 2008 14:48:13 -0400
JGAP 3.3.3 released (Java Genetic Algorithms Package)
JGAP is a Genetic Algorithms and Genetic Programming package written in Java. JGAP version 3.3.3 is an extensive release with many enhancements and improvements: simplified examples, improved documentation, and a better evolution cycle.

TheServerSide.com: News : Fri, 09 May 2008 00:51:38 -0400
Frank Cohen's JavaOne 2008 Report
JavaOne is a conference that struggles to retain its importance: here, I summarize my experiences so far at JavaOne 2008.

Junior developer: Java : 2008-02-25T12:15:27-05:00
TeaClipse and JavaCC
I recently came across Matthew Hind's TeaClipse project which he recently announced on his blog. TeaClipse is an open source compiler for the Tea programming language. You can read Matthew's thesis on the project here. Note that if you want...

Junior developer: Java : 2008-01-24T09:44:10-05:00
More JavaCC optimizations
Paul Cager has been improving JavaCC again - this time he reduced the amount of object allocation done by a JavaCC-generated lexer. This began with a nicely detailed bug filed by s_fuhrm that showed that a new StringBuffer is being...

Junior developer: Java : 2007-11-20T09:38:12-05:00
PMD 4.1 released!
Xavier Le Vourch has released PMD 4.1! PMD is a Java static code analysis utility - it finds unused code, design issues, duplicated code, and much more. I posted earlier about the release candidate, and the 4.1 final is pretty...

Junior developer: Java : 2007-11-08T10:11:11-05:00
PMD 4.1 rc1 - 14 new rules
Xavier Le Vourch has released PMD 4.1 rc1! PMD is a Java code analysis utility that includes a bunch of rules and makes it easy to write custom rules to meet your needs. This release has a whopping 14 new...

Junior developer: Java : 2007-11-05T09:53:24-05:00
JavaCC/JJTree file generation bug fix
For a long time there's been an annoying bug with JJTree and Windows. JJTree generates source files with the directory path in a comment header, and if one of the subdirectoy names starts with a "u" it ends up being...

Junior developer: Java : 2007-10-26T09:37:08-04:00
Better JJTree Visitors
JavaCC comes with a built in tree builder, JJTree. One of the nice bits about JJTree is that it will generate a visitor implementation so you can easily traverse the abstract syntax tree. However, the interface that JJTree generates looks...

Junior developer: Java : 2007-10-23T09:57:03-04:00
A JavaCC/JJTree bug fixed
Paul Cager has been working on various JavaCC and JJTree bugs lately. Just recently he fixed a rather annoying bug; in JavaCC 4.0, the OUTPUT_DIRECTORY option setting wasn't copied from the .jjt file into the .jj file. So you'd have...

Junior developer: Java : 2007-10-11T11:15:39-04:00
A new domain specific language book - with JavaCC
I came across a post on Warner Onstine's blog; he's working on a book on DSLs for the Pragmatic Programmers. Sounds like a great project; and I'm glad to see that they're including a chapter on what are usually known...

Junior developer: Java : 2007-10-02T09:15:30-04:00
Generating Parsers With JavaCC reviewed
I just noticed that Andy Glover has posted a nice review of my JavaCC book. He's got some kind words to say about the book, which is especially meaningful to me since I know that Andy travels all over the...

Junior developer: Java : 2007-09-29T22:33:06-04:00
An LOLCODE interpreter using JJTree
Here's something that's lingered in my blog TODO queue for far too long. Brian Egge, formerly of ThoughtWorks and now of Macquarie Bank Limited, wrote an LOLCODE interpreter with JavaCC and JJTree. Behold: $ bin/lol.sh test/samples/hello_world.LOL HAI WORLD! I salute...

Junior developer: Java : 2007-09-04T09:47:40-04:00
Get the JavaCC book and a free copy of the PMD book
My publisher, Centennial Books, is running a promotional deal - if you buy my JavaCC book you also get a copy - free! - of my PMD book. The two books should complement each other pretty well - the JavaCC...

Junior developer: Java : 2007-08-28T09:27:48-04:00
More JavaCC and Java 1.5
Last week I posted about some improvements to JavaCC's Java 1.5 code output. We've had some discussion on javacc-dev since then and now Sreenivasa has made the call - we're moving to Java 1.5 for JavaCC internally! This means, of...

Junior developer: Java : 2007-08-20T11:58:44-04:00
JavaCC, Java 1.5, and StringBuilder
I've just checked in a small patch to JavaCC - now it defaults to emitting Java 1.5 source code when generating a parser. You'll still be able to generate code for Java 1.4 (and earlier) via the JDK_VERSION option, but...

Junior developer: Java : 2007-08-14T10:19:33-04:00
JavaCC and fixed width data
Most JavaCC grammars are written to handle input that's variable-width - e.g., source code. But sometimes you need to be able to parse fixed width data, and JavaCC can be good for that too. I just wrote an example JJTree...

Junior developer: Java : 2007-08-03T14:29:50-04:00
Zoho Creator uses JavaCC
As a big fan of JavaCC, this is good to hear - the application builder Zoho Creator uses JavaCC internally! The JavaCC mention is near the end of this interview with lead architect Suganyas. There aren't any real details about...

Junior developer: Java : 2007-08-03T10:01:43-04:00
Back to JavaCC project work
Now that my JavaCC book is done I've been able to get back to doing some day to day JavaCC work. For example: Applying a little code cleanup patch from Brian Egge. Note that there's more work to be done...

Junior developer: Java : 2007-07-23T13:01:52-04:00
JavaCC example code posted
I've posted up the code examples for Generating Parsers with JavaCC; you can find a zip file containing everything on the example code page. Next up: getting nicely HTMLized example source code via another handy JavaCC utility - the Java...

Junior developer: Java : 2007-07-20T10:04:36-04:00
PMD 4.0 released!
PMD 4.0 is out! This release (our first major release since Dec 2006) includes a shift to Java 1.5 both internally and in terms of PMD's defaults; you can still process Java 1.4 code but you'll need to use the...

Junior developer: Java : 2007-07-17T06:43:47-04:00
"Generating Parsers With JavaCC" now available!
My JavaCC book, Generating Parsers With JavaCC is now in stock and available! Here's where to order it. It covers lots of stuff that I'm sure will be useful to those working with JavaCC grammars, including sections on: Installing and...

Junior developer: Java : 2007-07-13T09:46:54-04:00
PMD 4.0rc2 released - Java 1.5 by default
Just to shake out any more bugs we've released PMD 4.0rc2. The big change for this release is that PMD now expects to process Java 1.5 source code. You can still analyze Java 1.4 (and earlier) source code by using...

Junior developer: Java : 2007-07-09T10:30:09-04:00
A Java to HTML converter
Over on javacc-users we've been discussing syntax highlighting; I wrote a little highlighting app last week, and I've been thinking about this a bit since then. So, along a similar line of thought, here's a simple Java to HTML converter....

Junior developer: Java : 2007-07-05T09:29:38-04:00
Syntax highlighting and JavaCC
A recent post to the javacc-users list asked about using the token definitions in JavaCC for syntax highlighting language elements. In response I put together a small JNLP-launched example app that builds a little Map of colors to use for...

Junior developer: Java : 2007-07-02T09:57:16-04:00
A shortcut for PMD XPath rules
The normal path for experimenting with a PMD XPath rule is to run the rule designer, paste in some Java source code, paste in the XPath expression, and see what it returns. But if you just want to try out...

Junior developer: Java : 2007-06-23T21:54:30-04:00
PMD 4.0rc1 released!
PMD 4.0 rc1 is out! There are nine new rules, most of them in the J2EE ruleset thanks to Romain Pelisse. The XPath rules are much faster thanks to a "rule chaining" optimization implemented by Ryan Gustafson and Xavier Le...

Junior developer: Java : 2007-06-14T09:14:45-04:00
JavaCC book available for preorder!
The JavaCC book, "Generating Parsers With JavaCC", that I started way back when is done! It's available for preorder here and there's more information including the table of contents here. One of the reasons I wrote the book was to...

Junior developer: Java : 2007-04-18T09:46:09-04:00
Parsing binary data with JavaCC
A question came up on the JavaCC user's list about parsing binary data with JavaCC. In response I posted a little example grammar that parses the header section of a DOOM map data file (e.g., a WAD file). There's really...

Junior developer: Java : 2007-04-05T09:55:29-04:00
Java to Python converter using JJTree
I just came across this post which talks about a Java to Python converter that the author wrote and posted on Google code. It uses a Java 1.5 JJTree grammar and a Visitor that gets callbacks for pretty much all...

Junior developer: Java : 2007-02-22T08:58:07-05:00
PMD exam on javablackbelt
The friendly folks over at Java Black Belt have put together a PMD exam. It's a pretty good basic knowledge test; if someone were to be able to answer all these questions they'd have a solid grasp on how to...

Junior developer: Java : 2007-01-29T13:02:40-05:00
ANTLR book coming soon
I'm getting close to finishing up my JavaCC book... and it looks like there's going to be a great ANTLR book coming out around the same time. Yup, Dr. Parr is writing an ANTLR book for the Pragmatic Bookshelf; looks...

Junior developer: Java : 2007-01-22T09:55:37-05:00
A little JavaCC trick
This is another entry that explains why my JavaCC book is not quite yet done - I keep finding little sidetracks to travel down. Anyhow! Sometimes when you're working with a JavaCC/JJTree grammar it's helpful to see the abstract syntax...

Junior developer: Java : 2007-01-12T09:06:41-05:00
JavaLobby reviews my book "PMD Applied"
There's a nice review of PMD Applied up over at JavaLobby. They give It a 9/10 and as always, the appendix explaining all of the rules is a big hit: "I recommend reading this without fail". I'm glad folks are...

Junior developer: Java : 2006-12-19T10:23:43-05:00
PMD 3.9: Three times faster!
PMD 3.9 is out (download/changelog)! This release should be a good one. Here's what I like about it most: pmd-3.8/bin/ $ time ./pmd.sh /usr/local/java/src/java/ text basic [... lots of output ...] real 3m25.2s pmd-3.9/bin/ $ time ./pmd.sh /usr/local/java/src/java/ text basic...

Junior developer: Java : 2006-12-05T09:14:52-05:00
JavaCC license changed to BSD!
Check it out - JavaCC has been relicensed under BSD! And it's official, too; from the dev list: Sun has kindly offered to re-license the JavaCC code using a pure FreeBSD > license, which will avoid licensing problems in some...

Junior developer: Java : 2006-11-02T08:32:29-05:00
PMD book now a mere $20
To celebrate the one year anniversary of "PMD Applied" we're trimming the price to $20. A paltry twenty bucks! Order today and your copy will be lovingly hand picked and packed by our team of trained Java static analysis book...

Junior developer: Java : 2006-10-03T09:19:42-04:00
Java Expression Language JavaCC parser notes
The Glassfish project uses a JavaCC-generated parser to parse the JSP expression language. I grabbed the parser from the Glassfish CVS repo and here's a JJDoc'd version of it. This grammar is interested because all the productions return an Object...

Junior developer: Java : 2006-09-27T10:11:41-04:00
Jython/Pydev JavaCC grammar notes
I came across the Jython JavaCC grammar recently - actually, the grammar in the PyDev project, which I understand is a tweaked version of the Jython grammar. At any rate, I ran JJDoc on it which produced some nice HTML...

Junior developer: Java : 2006-09-14T09:47:12-04:00
NullPointerException waiting to happen
Wouter Zelle has written another fine new rule for PMD; this one is a NullPointerException finder. Consider the following code snippet (from the JBoss source code tree, SecurityFlushSessionListener.java): if(principals != null || !principals.isEmpty()) { // do stuff } Since it's...

Junior developer: Java : 2006-09-01T10:21:56-04:00
A new JavaCC grammar for EcmaScript
It looks like the Dojo folks (actually, some AOL people) have put together a new JavaCC grammar for EcmaScript; there's a blog entry, the grammar itself, and I generated a nicely linked HTML view of the grammar thanks to JavaCC's...

Junior developer: Java : 2006-07-13T09:29:17-04:00
JavaCC and early JDKs
One of the pitfalls of writing a JavaCC book is that since it's an open source project I'm tempted to fix any bugs that pop up. Case in point: I just fixed a small bug which was preventing JavaCC from...

Junior developer: Java : 2006-06-15T15:51:34-04:00
A JavaCC grammar for Cobol
While working on my JavaCC book I came across a JavaCC grammar for parsing Cobol programs. It's a pretty hefty grammar file - over 50 KB - with a ton of productions. I ran it through JJDoc a