Skip navigation
ANNOUNCEMENT: is currently Read only due to planned upgrade until 28-Sep-2020 9:30 AM Pacific Time. Any changes made during Read only mode will be lost and will need to be re-entered when the application is back read/write.

One Blog

Posted by kfarnham Mar 30, 2007

Planning to be at JavaOne?

JavaOne 2007 is now a little over a month away... feel free to panic if you have a new release you have to be done by then... and everyone's plans for the show are shaping up. Our Community Corner wiki continues to add more mini-talks for the booth, and it's more open than it may look at the moment: a seeming glut of related talks on the Wednesday schedule is expected to get reined in a little bit over the next few days. So if you want to do a short presentation on your project, this is a great time to sign up.

Not planning to be at the show? If you can get yourself to Moscone, you can get a pavilion-only pass on us if you give a mini-talk and work a shift staffing the booth, or do three shifts if you're not doing a talk. Working the booth is a great way to meet other members and set up face-to-face time with members of your own community. Oh, and there's a polo shirt in it for you too. See the wiki page for details.

So, with JavaOne on the mind, the latest Poll asks "Are you planning to attend JavaOne 2007?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

In Java Today,Issue 116 of the Java Tools Community newsletter is out, with tool-related news from around the web, announcements of nine new projects and two graduations (AgentSmith and GWT4NB), and a Tool Tip on how to stay apprised of infrastructure upgrades by way of the announcements mailing list.

The Austrian Java User Group has announced the launch of their new web site. They write in: "we do now have a home for our community. The site is still under heavy development, because we are missing content and also the design is not satisfying as well. But it is a start and we are really looking forward to see our community grow. To support our goals we will organize presentations, meetings, and so forth."

The latest SDN article on Java EE is about Adding Ajax to JavaServer Faces Technology With Dynamic Faces: "This article shows how to use Project Dynamic Faces, included in the newSun Web Developer Pack, to add first-class Ajax support to your JavaServer Faces technology-based application. Beginning with an existing sample application, Virtual Trainer, from the book that the article's author wrote with Chris Schalk, JavaServer Faces: The Complete Reference, this article will show you how to add Ajax behavior to two of that application's pages. This example will illustrate two usage patterns for Project Dynamic Faces and also provide a springboard for discussing the Ajax techniques that Dynamic Faces employs."

In today's Weblogs John


Walk On Blog

Posted by kfarnham Mar 29, 2007

Going mobile with the FileConnection API

Do you think ME should ultimately be a stop-gap while we wait for small devices to eventually catch up with where desktops were when Java was launched, in which case they could start running a variant of SE, or does ME has unique traits that merit existing as a separate and unique form of Java?

What prompts this is the idea that the original persistence model for CLDC, the record store, only gets you so far, which may be why it was thought necessary to devise JSR 75, which offers a more typical filesystem API for Java ME. Wait long enough and the devices will be able to just use something more, right? Or is JSR 75's FileConnection API just right? Or doesn't it matter until and unless all devices support FileConnection?

Today's Feature Articledigs further into this ME filesystem API, in Biswajit Sarkar's Working with the Java ME FileConnection API on Physical Devices.

In this article we'll use the classes in JSR 75 to build a simple application, FileTester, that moves images from a mobile handset into a server. The emphasis here will mainly be on some of the intricacies involved in handling files in real devices.

Moving from the small device to the desktop, today's Forums, are a triple-shot of Swing discussion. ghaneman starts withRe: Asynchronous drag n drop. "Am facing a similar problem. I've been using swing workers for all my long running tasks but in this situation, a swing worker will not work because it is asynchronous. In other words, the import method can't return a valid true or false status because the worker runs on a separate thread. I could always return true but this would be wrong if the worker encounters an exception. It looks like this is one situation where I must use a synchronous worker like spin or foxtrot."

lproctor would like to know How to Use Multiple JXTreeTables with a single TreeTableModel: "The JavaDoc for JXTreeTable states "A single treetable model instance may be shared among more than one JXTreeTable instances." However, when I create two JXTreeTable instances that share a single model, the second JXTreeTable instance created receives two copies of all events from the model whereas the first JXTreeTable instance receives none. Can the two instances of JXTreeTable be configured so that each instance receives events from the single model?


I Will Follow Blog

Posted by kfarnham Mar 28, 2007 least until the presentation gets boring

Some of the bloggers are talking about TheServerSide's recent Java symposium, and it's interesting to see the significant divergence of opinions. We start off with Gregg

Finding your way around at zoom == 500%

OK, a personal grudge: I hate horizontal scrollbars. Hate, hate, hate, hate, hate them. When I see a GUI that uses both vertical and horizonal scrollbars, particularly around a table, my first thought is always that the GUI needs a profound rethink. See Hack #21 in Swing Hacks for an example of how much I hate inappropriate horizontal scrolling: it tells readers to hit themselves in the head with the book if they think horizontal scrolling is the correct fix to the example's column-sizing problem. IMHO, the only defense is when the scrollbars are a view onto a single cohesive "thing", like a spreadsheet or an image... and even then they still tend to suck.

Author Slav Boleslawski agrees with me on this latter point. He's taking on the issue of providing better navigation and viewing of zoomed images in today's Feature Article, in which he writes:

When an image is larger than its container's display area, a scroll pane with scroll bars is commonly used to allow the user to move the image around the container's view. Scroll bars also give rough indication about the zoom level and how far away the displayed area of the image is from the top, bottom, left, and right edges of the image.

Scroll bars do not work well with zoomed images, especially at large zoom levels. In most cases, the user needs to use both the horizontal and vertical scroll bars to bring various areas of the image into the view. Scroll bars are also of little value when it comes to "having a larger picture": they say nothing about the areas adjacent to the area currently in the view.

What Slav offers instead is the topic of his article, A Navigable Image Panel. With a combination of GUI concepts drawn from the world of consumer electronics, plus a lot of Java 2D graphic cleverness, he offers a compelling GUI component that not only makes it easier to work with zoomed images, but also uses smart decisions about scaling algorithms to provide an optimal perforfmance/appearance trade-off.

In Java Today, A new SDN article takes a look at International Enhancements in Java SE 6. "One important strength of the Java Platform, Standard Edition (Java SE) has always been its internationalization and localization support. The platform continues to evolve, and Java SE 6 provides developers even more control over how they access and use locale-sensitive resources in their applications. Java SE 6 provides the following major enhancements to its internationalization support..."

As noted by The Register and Slashdot, the JPC project at Oxford University has managed to emulate an x86 PC in Java. "JPC is a pure Java emulation of an x86 PC with fully virtual peripherals. It runs anywhere you have a JVM, whether x86, RISC, mobile phone, set-top box, possibly even your refrigerator!" An online demo appletwill boot you into DOS, and doing a c: will take you to some game demos.

Pieter-Jan Savat has duplicated a popular graphic effect in his blog entry JBookPanel and the page turn effect: "Probably every magazine or newspaper that is available online uses a Flash animation together with the page turn effect to make the experience as realistic as possible for its readers. So I thought it might be neat to try and recreate this effect in Java. The result is the JBookPanel. It's basically a JPanel that uses a fixed set of images to draw its pages."

In today's Weblogs. Brian


With Or Without You Blog

Posted by kfarnham Mar 26, 2007

Joining us in the booth for some mini-talks?

Traffic is picking up on the sign-ups for mini-talks at the booth on the JavaOne 2007 pavilion floor. That's good. What's not so good is that some of the recent sign-ups haven't followed the directions to provide a link to the presenters' people pages and provide an abstract. The abstract is particularly important because not only does it help in approving a session, we also plan to use these descriptions in the podcast feed this year, meaning that what you type here is going on to lots of peoples' iPods.

The abstracts only need to be a paragraph or so, and can either be uploaded or posted as new wiki pages. Check out the abstracts for mini-talks on RIFE,Jarvis, or Keaton(bias disclosure: my mini-talk) for an example.

Anyways, we'll probably blow out the incomplete sign-ups in the next few days, freeing up more space for more sessions. So, if you didn't post an abstract or link to your people page, please do so now. And everyone else who'd like to do a mini-talk, take a look at the schedule. Thursday remains wide open, but spots on Wednesday and Thursday are already going fast.

We've made this Community Corner remidner this week's Spotlightagain, to help remind people of our JavaOne activities. The booth at JavaOne 2007 will be your place to meet up with fellow project members and community leaders, and check out the mini-talks. Also, we'll have a running slide-show of pictures, such as photos of project members and teams, screenshots, meetups, etc. If you'd like to add a photo from your project to the slideshow, just follow the directions.

In Java Today,Issue 115 of the Java Tools Community Newsletter is out, with tool-oriented news from around the web, welcomes to four new projects in the community, and a Tool Tip on setting up Cenqua FishEye for tracking your project and providing reports.

As announced in Jasper Potts' blog, the new Nimbus project offers a spec for the new Nimbus look-and-feel for Swing. "Nimbus is the name of a look-and-feel designed by Sun for the Java Desktop System; it's implemented as a GTK theme in the latest Solaris 11 pre-release builds. In 2007, Sun's Swing Team and Ben Galbraith jointly launched an open-source project to implement the Nimbus specifications as a Swing look-and-feel."

Elliotte Rusty Harold has kicked off a discussion on his blog about What Java Still Can't Do after six major versions. "It's hard to believe that more than a decade after Java was released, there are still so many tasks it can't do. I'm not just talking about things it can't do well, but about things that you just can't do without shelling out to native code." His initial list of inabilities includes FireWire, raw IP, ICMP, raw ethernet, burning and ripping CD's and DVD's, and copying and moving files with metadata.

In today's Weblogs. David


Keep On Breathing Blog

Posted by kfarnham Mar 23, 2007

Help test the upgrade has begun the upgrade process to the newest CollabNet software version. Testing is underway on the staging site, through April 3, and we'd like you to confirm that your project's pages look and behave as they should.

To visit the staged version of your project, add "stage." before "dev" in the URL; for example, Note that the pages on the Staging Site are light blue-green, so that you know you're on the staged upgrade site.

There will also be a 30-minute WebEx session today (March 23) at 10AM PDT to discuss finding and fixing upgrade problems. To join, go to, go to "join a meeting" and click "upgrade", enter password "fixitnow", and provide your e-mail and name. A conference call version of this WebEx session is also available: call 1-877-326-2337 (international dial-in 303-928-3232) and join conference ID 44 71 955.

Also in Java Today, Monday is the deadline for joining the Google Summer of Code SIP Communicator project. The SoC program provides stipends to students working on open source projects, and's SIP Communicator is one of the approved projects. If you're a student, join in, pick a project idea, and you can get paid to help contribute to this Java-based audio/video internet phone and instant messenger project. And if you're not communications-savvy, you might be interested in's Summer of Code projects instead.

NetBeans nabbed three Jolt Awards at the 17th Annual Jolt Product Excellence Awards ceremony. NetBeans took top honors in the following categories: Best Development Environment (NetBeans 5.5 IDE), Best Mobile Development (NetBeans Mobility Pack 5.5), and Best Web Development (NetBeans Visual Web Pack). Jeetendra Kaul, Vice President of Developer Products and Programs for Sun Microsystems, accepted the awards on behalf of NetBeans and thanked Jolt judges and the software industry for acknowledging NetBeans at an opportune time.



Woke From Dreaming Blog

Posted by kfarnham Mar 22, 2007

Giving your clients a kick

Aren't distributed events a fun problem to solve? It was nearly ten years ago that I read and was profoundly inspired by a HotWired (remember them?!) article, Writing Chat Systems with Java 1.1's RMI, which showed how to build a chat system that used RMI to asynchronously send new messages to all the participants (or let two participants exchange messages directly, without touching the server). In fact, a year or two later, I designed a client-server system that put a nice, clean event listener metaphor around RMI communication, so the Swing clients would get asynchronous updates from the server when new media arrived that they'd be interested in. It worked great, so long as you didn't get hosed by RMI's inexplicable and evil reverse-DNS lookup, which is a rant for another time. If I had it to do over, I'd probably use Jini, since it would be more robust and tolerant of failure (and I was already pretty pro-active about dead clients). But suffice to say that asynchronous updating of clients is one of those interesting problems you see over and over again.

To wit, what if instead of a nice thick Swing client on the LAN, your client is a web page somewhere halfway across the internet? And what if the nature of your application still calls for the server to send asynchronous notifications to the client? This is handily addressed by the Direct Web Remoting Ajax framework, and its new "Reverse Ajax" feature. Katherine Martin has details in our Feature Article,Developing Applications Using Reverse Ajax.

DWR, hosted on, is a Java open source library that helps developers to write websites that include Ajax technology. When DWR broke onto the Ajax scene with release 1.0, its announced mantra was "Easy Ajax for Java." It aids the developer in many ways, not least by allowing code in the web browser to use Java functions running on the web server as if they were in the browser.

With release 2.0, DWR continues on the same theme, removing from the developers shoulders the pesky problem of "pushing" information. It introduces the term reverse Ajax to describe this asynchronous transfer of messages from server to browser or browsers. While, as mentioned above, techniques for doing this already exist, the beauty of "reverse Ajax" is that it wraps them all up neatly and then automatically selects the best method to use transparently to the user.

In a nice bit of irony, the sample code for Katherine's code, included as part of the DWR 2.0 application, is a chat application... just like the HotWired article from 10 years ago. The more things change, the more they stay the same.

In Java Today, the just-announced (and still-incubated) GWT4NB project is an effort to develop a NetBeans module to support Google Web Toolkitdevelopment. GWT is "is an open source Java software development framework that makes writing AJAX applications (...) easy for developers who don't speak browser quirks as a second language." GWT4NB's features include using GWT with new or existing web projects, deploying, running, and debugging GWT-enabled Web Apps using and arbitrary application server, and assistance to deal with some code editing nuances such as creating services efficiently.

The JAXP project, the reference implementation of the Java API for XML Processing, has released Version 1.4.1. This is the first patch since JAXP 1.4 was released in October, and among 36 issues addressed, it fixes a regression in which DOM generated by code from a DocumentBuilder using DOM level 1 methods (createElement, etc) fails validation against an XML schema.

Not clear on the point of portlets, or where the spec stands today? Get a reset from the SDN article Introducing Java Portlet Specifications: JSR 168 and JSR 286. "In February 2006, the JSR 286 Expert Group was formed to start work on Java Portlet Specification 2.0. When that is finalized, backward compatibility will be in place: JSR 168 portlets will be able to run seamlessly in JSR 286 portlet containers. No recompilation will be necessary. This article spotlights JSR 168 and the associated software, Portlet Container 1.0 and the NetBeans Portlet Plug-in. Also described are sample portlets and JSR 286 in its draft state."


There's no point to any of this, it's just stuff on my mind at the moment. Vanity blogging at its finest.

A few weekends ago, I was at my college pal Mike Stemmle's wedding, talking to fellow groomsman Hal Barwood about game development in Flash, where he seems to be having a grand time cranking out casual games for the web-based gamers. I'd been planning on investigating Flash in the form of Flex -- given the inroads Flash has made in online video, I'm already way behind the curve in failing to embrace Flash in some form -- but he encouraged me to just blow the $400 and get the visual development tools and work with the real thing. Probably a good idea.

One of the Flash games I mentioned was Casa Della Tires, a game based on the animated movieCars, in which you move Guido, the forklift character, back and forth to catch and stack flying tires, then launch the stack to collect your points. My point to Hal was that it perfectly points out the hazards of "doubling"-based scoring systems for games. Specifically, your stack of tires scores you 100 points for the first tire, 200 for the second, 400 for the third, etc. You also get one second of bonus time for each tire you toss.

How many points do you suppose you can get on a good day? A couple good stacks and maybe you can get to a million?

Try 223 billion. Enough to blow out the space reserved for the score label.


How do you do this? Exploit the doubles. Forget about making nice stacks of 10 tires, and instead play the entire game to get a single stack of 30, enough to go to the top of the screen. Once you have about 10-12, move to the left (where the tires come from), and stop moving - you won't be able to avoid piling the tires up to the top of the screen. Boom: billions of points. Because of the mathematical nature of the scoring system, you can accomplish in one massive throw what would take a week of shorter stacks.

The same thing is true of Skee Ball. My thinking there is that a decent Skee score starts around 300 -- every three balls, if you hit two 40's and a 20 (meaning your 40 missed), nine balls gets you a 300. That's fine, and you get decent tickets for that. But a lot of places now have a progressive jackpot that's often set at 500 points... very makable with a new twist, the "Skee Ball Lightning" feature that doubles point values at random (about 1 out of every 5 balls). You'll probably never hit five 100's in a nine-ball game, but if you play enough games, you can probably hit two that get doubled, which gets you 400. Hit these early in the game, and you can use safe shots to get your 500. When one of my son's plushy toys was falling apart, I took $10 to the local Skee Ball joint and used this approach to hit the jackpot and get a new toy.

OK, forced Java analogy, but there's a bit of concept of the "jackpot" in technology buzz. If each adoption of a technology gets two more people to adopt the same technology, the exponential growth can be breathtaking. We've seen this in the last year with Flash for online video -- in the 18 months or so since YouTube hit the scene, Flash video has been popping up everywhere. All the various developer chat sites (JavaPolis videos, even the SDN Channel) use it, and I increasingly see sites abandoning the usual media players (Real, Windows Media, and QuickTime) in favor of Flash (the Adult Swim Fix is a particularly prominent example of this, having abandoned Windows Media for Flash). Anyways, one site goes Flash for their video, others see it and they go Flash, others see those, etc. And suddenly, Adobe has 223 billion points.

How did we manage to not accomplish this with Java, despite the 10-year head start? After all, YouTube video is basically bastardized H.263, and even the all-Java JMF can play that. I suspect the distribution/deployment story is a lot stronger than any of us appreciate or care to admit.

Worth noting: Flash does nothing to advertise its presence. There's no Adobe/Macromedia loading screen in modern Flash presentations, and you generally have to look at the page's source and search for .swf to verify if something is Flash. Is it possible that the starburst "Java" logo when loading applets is a bad idea? Or is it bad just because it takes so long to load the JVM and an applet that you need a loading screen?

Speaking of video, I need to get in some more cycles on Keaton, the Java-to-QTKit wrapper, but it was a relief that enough of the stuff is in place that I could get significant code compiled, working, and checked in during a 30-minute lull while visiting the Java Posse's rented house at the Java Posse Roundup the other week. I need to get Keaton going because there's more reason to think that QTKit is the future of media on the Mac. The WWDC sessions listcame out this week, and it's worth noting that QTKit gets a session and a lab, while the other QuickTime variants -- the traditional procedural-C QuickTime API, QuickTime for Java, and QuickTime for Windows -- don't get mentioned at all. I'm thinking that's a none-too-subtle hint about Apple's media direction for the next few years. There's also a session about "AJAX Methodologies for QuickTime Development", which I think just calls attention to the fact that the QuickTime plug-in can be controlled with JavaScript... this seems like a somewhat cynical/desperate attempt to get some Ajax buzz, and given that the appeal of Ajax is that offers a better-than-flat-HTML experience, tying it to a plugin that's only supported on two platforms is probably not something that's got a lot of legs.

And then there's Blu-Ray. Which I rather infamously hated at last year's JavaOne (oh look, I'm the number five result when you Google for javaone and blu-ray... I'm surprised I haven't gotten corporate hate mail). The funny thing is, despite what I saw as a miserable performance last year, Blu-Ray is back in abig way at JavaOne 2007, combined with Interactive TV and basically getting their own mini-track on Thursday, and a special page on the JavaOne site. I just hope they think to tailor this year's presentations to developers and not to content authors, because there are a lot more of the former than the latter at JavaOne. Blu-Ray has already ruined the PlayStation 3; don't be messing up JavaOne too (oh, I'm getting comments for that...).


Everybody Come Down Blog

Posted by kfarnham Mar 21, 2007

The day after JavaOne slides were due

OK, if you know someone who's presenting at JavaOne, be nice to them today. Last night was the deadline for submitting slides for tech sessions, a deadline that was less than three weeks after the final batch of acceptances went out. Depending on the state of your original proposal, three weeks is either plenty of time (if you're doing a suitcase talk you've done a hundred times before and only need to tweak things to time or to use Sun's presentation template), or not nearly enough (if you had a neat idea for a session based on an idea that you thought kind of might work, maybe, and you now have to write the code, get it working, and pull together the presentation). From what I can tell from friends on IM who are speaking, a lot of people spent the weekend and the first part of this week cranking on their presentations, including Hans and Josh, Chet and Romain, and two (1, 2) from Daniel.

Slides are optional for birds-of-a-feather sessions. I did a set of 52 for mine, which I plan to whip through in about 25 minutes, leaving the rest of the time for discussion. Yes, I think I can get through that many slides in that kind of time, since I have a couple of those "dramatic reveal" cliché sequences where you add items to a list or graphic, one slide after another. Those go by pretty fast. Someday, I'd like to do a presentation where the slides are like one or two words each, and serve only to underscore what the speaker's saying. But that would require a lot of, oh what's it called again? "Rehearsal". Right. Which goes against my usual habit, for shows other than JavaOne, of writing my slides the morning of the presentation or, even more worse, during someone else's presentation.

Anyways, 47 days until JavaOne... funny, that means we have more time to sit on our presentations than we had to put them together.

In Java Today, the site now offers a wide-ranging code search tool, powered by Krugle. To use it, go to and click the "openCollabNet" tab, then look for the "Find Code" box on the right. The feature allows you to search for keywords in various Collabnet-administered Open Source sites, including and

Want to learn about new Java features directly from code examples? The new SDN Steal Our Codesite provides sample code to exercise new features and techniques, with Java Web Start launchers where appropriate. The code is BSD-licensed, so you're free to reuse it for any purpose, provided you indemnify the authors and Sun from any consequences of its use. The first three examples show off use of Java SE 6's JavaScript interpreter, access to the system tray, and use of a splash screen.

Walking right into the fray of everyone's favorite holy war, DevX author tries to take an even handed look at the major Java IDE's in Eclipse, NetBeans, and IntelliJ: Assessing the Survivors of the Java IDE Wars. "It reviews the three major Java IDEs--NetBeans, IntelliJ IDEA, and Eclipse--from the viewpoint of basic, common features (installation, performance, editor, etc.), but it really focuses more on their strengths in four common areas of development: Swing, JSP/Struts, JavaServer Faces (JSF), and J2EE/EJB 3.0. Wherever possible, it also evaluates JPA (Java Persistence API) support, instead of hard-coded JDBC queries or particular libraries (such as Hibernate or Oracle TopLink)."



All Rise Blog

Posted by kfarnham Mar 20, 2007

More graduations, more new projects

Sorry for the late page update and blog today -- the DSL was down at the home office, connectivity wasn't much better at the sandwich shop, and while it's now back on at home, it's dog slow and timing out as often as it connects. All of which makes researching links and putting up the page really difficult.

We do have something of a theme on the front page, though, as two community home pages independently gave props to graduations in their communities. These are highlighted in the Java Today section, starting with the springmodules project, which has graduated fom the incubator to a Java Enterprise project. The project contains modules, add-ons and integration tools to extend the Spring Framework. The core goal of Spring Modules is to facilitate integration between Spring and other projects without cluttering or expanding the Spring core.

Congratulations also go out to project JeNet, for its promotion out of the Communications incubator. JeNet is an all Java implementation of the eNet network protocol. Among its features, it is 100% Java (no native libaries), UDP based, offers reliable/unreliable and sequenced/unsequenced packet sending, is content agnostic and fully interoperable with the original eNet library

Also in Java Today, the Java Community Process site has undergone a major reorganization and redesign. The new site allows users to register and track JSR's of importance to them on a "My JSR's" page, and participate in discussions about JSR's. The site also allows users to join the JCP directly via online forms, rather than the previous system of mailing or faxing forms to the program office. More details on the new site's features are available in the news release The New is Here.

In our Feature Article, Masoud Kalali takes a look at JavaDB End-to-End Security. "JavaDB, as an open source and pure Java relational database, provides several features that make it suitable for embedded and network server mode. One of these features is JavaDB mechanisms to make it secure on several levels. If you are going to build an application using JavaDB and security is important, then this article is for you."

In today's Weblogs, Fabrizio


The Light Before We Land Blog

Posted by kfarnham Mar 18, 2007

Readying Swing for a high DPI future

Kirill Grouchnikov has an interesting blog today that calls on desktop developers to get ready for a looming change that most aren't really prepared for: the high-DPI future. The problem is that if our GUI toolkits measure everything in terms of pixels -- especially if those pixels are counted in integers -- and every year there are more pixels in the same amount of screen space, then the GUI's will continue to get smaller and smaller as users buy increasingly higher-resolution monitors.

In Kirill's blog, Java on the desktop - trail behind or lead forward?, he notes Chet Haase's mini-survey, during a presentation at the Desktop Matters conference, of possible new Swing features. Chet got few takers for a feature request to better handle higher resolution (or ideally, to just be resolution-independent).

Even more interesting was Chet's phrasing of the question - it went something like "In a hundred years, when everybody has 9000 DPI monitors, how important is it for Java to support this?" Well, it won't be in a hundred years, it's already here and will only get bigger, and without immediate action Java once again will be left behind (providing it in another eight years circa Java SE 10).

Chris Campbell's comment to Kirill's blog nails the non-discussion of this issue perfectly:

I too was surprised at the small show of hands at Desktop Matters. I suspect that this is one of those areas that most developers don't realize will have a big impact on their user interfaces in the near future (kind of like software developers in 1987 couldn't care less about Y2K).

Kirill announces that the next version of his Substance look-and-feel will address this issue head-on, with some help from the JGoodies Looks project, and his blog offers a preview of scaled widgets under a resolution-aware Substance. Niiiiiice.

Also in a desktop vein, today's Weblogs features John


Back to Comm Blog

Posted by kfarnham Mar 16, 2007

One project in the Google Summer of Code

We mentioned the Google Summer of Code exactly one month ago, so you can't really say you weren't warned. Be that as it may, the sponsor organizations for the 2007 SoC were announced yesterday, and there's a single project included. There have been others in the past, such as Project Looking Glass, so maybe it's a little disappointing to only have one of the's community projects included. But on the other hand, the one that got picked is a good one. The SIP Communicatorproject describes itself as "an audio/video Internet phone and instant messenger that support some of the most popular instant messaging and telephony protocols such as SIP, Jabber, AIM/ICQ, MSN and soon others like Yahoo and IRC." If you want to get an audio or video chat through NAT, chances are you're using SIP, and this project helps you do it in Java. It's easy to see that this is interesting, important work that will enable a lot of interesting functionality in other applications.

So congratulations to the SIP Communicator team on being accepted for the Summer of Code. If you're a student and you want to write open source this summer (and get a stipend to do so) pick up one of the SIP Communicator summer of code projects. The deadline for joining is March 24.

Also in Java Today, the Japexmicro-benchmarking project has reached version 1.1. As Santiago Pericas-Geertsen blogs, "Over the last year or so there have been many incremental improvements (resulting in 30 different releases) and with the recent addition of combined bar charts, I thought it was time to make this the official 1.1 release."

The latest SDN TV episode from the Sun Developer Network Channel is Java Opens Up. In it, Sun's chief open source officer Simon Phipps interviews Mark Reinhold, chief engineer of Java SE, about openJDK efforts like the Kitchen Sink Language project. The episode also features Eduardo Pelegri-Liopart talking about the GlassFish community

The latest Poll asks "which would be more useful for Desktop Java applications that render HTML?" Cast your vote on the front page, then visit the results page for current tallies and discussion.



Kick Out the Jams Blog

Posted by kfarnham Mar 14, 2007

Of painters and next-gen javadocs

One thing I've long known about Joshua Marinacci -- we worked together long before there was a -- is his inclination to dig into interesting side projects. He's always working onsomething it seems, maybe a couple of somethings. You may have noticed that in his end-of-the-year blog series when he was dumping several finished or partially-finished projects from his portfolio of goodies.

I mention this because I unintentionally managed to put him on the front page twice today, and it's not the first time I've done so, but having noticed it, I decided to leave them both up, because both items are interesting and completely unrelated. One is a forum post with a long-awaited update from the SwingLabs team, and the other is a demo of a side-project that he showed off in a five-minute lightning talk at last week's Java Posse Roundup.

Nice to know that he's got the time (or managerial indulgence?) to go off and invent interesting things when an idea occurs to him. Now who else wishes they had more time to work on their own neat stuff?

Josh's first appearance of note is in today's Forums, in which he brings the great news for SwingX developers that The Painter branch is merged! "I have just merged the painter_work branch into HEAD. Since this branch was around for 6 months there were quite a few differences. I have fixed as much as I could (and left out a bunch of non-painter stuff) but there will inevitably be some breakage, so please test and tell me what I've screwed up. If this is stable after a day then I'll merge the new_tile_provider branch of SwingX-WS back to HEAD as well. Then we will have no more outstanding branches!"

madroadie discusses the situation and value of JDIC in Re: Who is the JDIC project team? "George I've been love to get rid of JDIC from a purity stand point. We've put a lot of work into it in order to provide an advantage, and its been successful. Its been more complex then I would like but you have to admit the guys have laid the framework to provide browsers across all the major platforms. The rest is up to us, so lets not say its dead. If the board is responding its working. We as a group need to provide more complex solutions and demand of others we have helped provide common answers to new bees."

extra2use needs guidance establishing a Bluetooth connection with several servers (PC): "I would like to ask if a mobile storing a program which is written in J2ME be connected with several servers (PC) that have programs written in J2SE. It is not necessarily be the same time. I just wonder how can I use the same mobile to automatically connect to one server and switch to another server when the mobile approaches it. It is because it is needed for the server to perform a device pairing(I use the icon appears on the task bar of Window XP Home SP2) before I can perform the connection between mobile and PC. It is totally ok if I only connect the mobile with one PC, but I want to switch to another one automatically instead. How can I skip the device pairing part which should be performed manually? And most importantly, can I do the switching between different servers with different USB Bluetooth Dongle?"

In Java Today, a new SDN article, Introducing the Java Pet Store 2.0 Application, illustrates the Java BluePrints program'spopular sample enterprise application. "The Java Pet Store 2.0 demo provides a meeting ground for buyers and sellers of pets, as well as for pet lovers just wanting to look. This application illustrates how you can use the Java Platform, Enterprise Edition 5 (Java EE 5) to develop an Ajax-enabled Web 2.0 application. It comes with full source code available under a BSD-style license, so you can experiment with it and use it in your own applications."

Glyn Normington's Mind the Gap blog clarifies the differences between JSRs 277, 291, and 294 in explaining The state of Java modularity. "People are pretty perceptive. They have picked up that there's a struggle to work out the right model for Java modularity. However, it's not a simple choice between JSR 277 and JSR 291 as many seem to think. Let's look at what's going on in a bit more depth."

Indulge a little nostalgia, or mad scientist glee, as Daniel Martin tries Implementing Lisp-style lists in Java, with generics over on JavaLobby. "So although Java is the language I work in and spend almost all my time in, my spare time has me looking at lisp in bits and pieces and I've been known to dabble a fair bit in Haskell. Now, those of you who've dealt with these languages will remember that they have common list structures that are singly linked lists (Lisp lists, and Haskell [] types), and that those lists are fundamentally built on top of a data type called a pair. (or, in Lisp terminology, a "cons cell") To help get my head around how these languages work, I started to implement this kind of list in Java, but using generics to get it as type-safe as possible."

Joshua Marinacci's other appearance on the page is in today's Weblogs, in which he shows off a Posse Brain Dump: JavaDocs from the year 2020: "What I'm about to show you is several demos that have been sitting on my harddrive for a while. I pulled them out and showed them to the Roundup attendees with a warm reception. This convinced me that some of you might like to see them too."


It's not always the tool's fault

The nail's not in all the way, the board falls off. So what do you do, blame the hammer?

EE bashing, particularly EJB bashing, remains a popular pastime, involved as it was in many failed projects a few years back. But would it have made a difference if the same teams were using Spring, or .NET for that matter? There's an iconoclastic counter-argument that the lessons of EE have been misinterpreted, and that blaming the often baroque enterprise framework is a false, if alluringly simple, conclusion.

Don't let the title of Norman Richards' Java revisionism and the failed J2EE project fool you: it's really about this tendency of Java developers to blame frameworks for their own failed projects. "So, why then do we read time and time again about failed J2EE systems? Sure, many projects don't succeed, but in my experience it is rarely the technology chosen. I'd postulate that if you took a team with a failed J2EE project and swapped in another technology, that the team would most likely still produce a failed project. Better technology cannot turn a failed project into a successful one."

There's no way he can avoid arguing hypotheticals, but there's a real plausibility to his assertion that the teams that failed with EE would have failed with any other framework. I was there in the waning days of dot-bomb, about the time EJB's hit the scene, and I remember interviewing prospective developers whose only essential qualification was a pulse. We talked with applicants whose language skills were so remote that they answered questions other than those we asked, and with applicants whose technical backgrounds consisted of toying around with Visual Basic on the weekend. And we hired a few of them anyways. It didn't work out with our stuff, probably wouldn't have worked out if we were using EE, and probably wouldn't have worked out with any other framework

Richards' blog doesn't have comments, but a rolling discussion is underway at TheServerSide. If this topic interests you, and you don't mind arguing the occasional hypothetical, I encourage you to take a look.

Also in Java Today, the cqMEproject, home to compatibility and quality testing for the ME platform, has announced the first development release of ME Framework 1.2. "Development release is a snapshot of our current 1.2 development. Though it is a work in progress, this binary went through a reduced testing cycle and is more stable than a random repository build." Features include a major Distributed Test Framework update, improved test export, updates to the Test Suite heirarchy, and a transition to JDK 5.

Last week, the NetBeans Community Docs program was rolled out to make it easier for you to write about NetBeans, whether in the form of tutorials, white papers, FAQs, tips and tricks, blogs or Flash demos. Using the NetBeans Community Docs Wiki, you can easily contribute content and even request contributions. The Community Docs Wiki not only serves as a place where community members can help or get help, it also recognizes all users who have made an impact on the community by contributing docs.

In today's Forums,aberrant80 would like some Help to understand the point of JAXB: "Hi all, I've just started looking at what JAXB offers and I'm not sure of how it compares to SAX and DOM. I would like to get some help understanding it before proceeding to explore in-depth. Am I correct in understanding that the generation of Java classes is a pre-deployment process? If I have dynamically-generated XSDs, am I correct in assuming that JAXB becomes an infeasible option? I'm assuming the need to generate the .java files first makes this very difficult, if not impossible. What if some of the elements in the XSD are always the same? Is it possible to integrate JAXB with traditional SAX or DOM parsing?"

chet discuses the future of the Timing Framework inRe: Feature Requests. "So I got a couple of requests for this last week at the Desktop Matters conference. In one case, someone wanted to use a higher-resolution timer than the default one that the framework uses. In another case, someone wanted to use a timer that didn't have anything to do with Swing. I would like to fix this eventually (not clear if it'll make the v 1.0 release, since I need to nail down that API for the book right about ... last month). I would be curious for your input, or anyone else's, on an appropriate approach here."

hinkmond clarifies topics in Re: JSR 209 - open source available? "JSR 209, Advanced Graphics and User Interface, which is a finalized JCP specification, is meant to run on top of Java ME CDC, which means it is technically a phoneME Advanced topic (cc'ing the forum with this message), instead of a phoneME Feature topic. There is an RI available at the same above URL if you follow the instructions in the "Reference Implementation and Technology Compatibility Kit" section, but there are no current plans to make it available through this phoneME project."



Come Together Blog

Posted by kfarnham Mar 13, 2007

Bringing another language to the JVM

One of the surprises, for me anyways, was how many people came away from the Java Posse Roundup talking about Scala, a curious language that combines aspects of both object-oriented and procedural programming languages. It also runs on the JVM and integrates easily with Java, allowing you access to all your favorite libraries. One of the Posse members (Carl?) gave a five-minute lightning talk on it on Wednesday night, and there must have been more hallway discussion or a full session on it after I left Thursday, because the attendees list has lots of chatter about Scala, and Dick Wall promisesthat more info on Scala, and the other hot topics of the Roundup, will be forthcoming.

So we've noted on the front page, a new blog in which A. Sundararajan takes a detailed, side-by-side look at Scala for Java programmers, "We will look at Scala, a functional, object-oriented and concurrent language that runs on the Java platform. Note: this is not a language comparison exercise [i.e., X versus Y comparison to "conclude" which one is better!]. Rather, it is an attempt to give head-start to the Java programmers who want to learn other languages that run on the Java platform."

Also in Java Today, Ben Galbraith has posted a blog about the development of Nimbus, an attractive new Swing look-and-feel. "At least a year ago, perhaps longer, some of my friends at Sun showed me the designs for a custom look Sun had designed for the Java Desktop System called Nimbus. At the time I was advocating that Sun create a "frickin' cool amazing cross-platform look-and-feel" and I was impressed at how well Nimbus could fit that bill - or at least how much better it was than Metal / Ocean. Back then, Sun had no plans to create a Swing look-and-feel around Nimbus. I'm pleased to say that work is now under way to do just that."

First came Brazilian Portuguese, now the Translation Project has helped deliver the NetBeans 5.5 IDE in Traditional Chinese. Why is this latest release unique? The translation was a solo effort by James Yu, a PhD candidate in molecular and medical pharmacology. "With little experience translating software products or participating in an open-source community effort, and still a novice with the NetBeans IDE, Yu began translating with the guidance of members of the Translation Project. In three short weeks, he had completely translated the IDE."

Desktop technologies remain a hot topic in today's Weblogs, following last week's desktop-skewing mini-conferences, Desktop Matters and the aforementioned Roundup. In Quick updates: Desktop Matters, Java Posse Roundup, AB5k, and more, Joshua


Let Me Try Blog

Posted by kfarnham Mar 12, 2007

Catching up after mini-conference week

So, everything's late this morning because I attended a wedding last weekend, following my trip to the Java Posse Roundup (a little more about that in a minute), and when you throw in a little West-to-East travel, it was 1:30 AM when I got in last night. So things are late and this blog's a little short because I still have a lot to catch up on.

Anyways,, for today's page, I thought it appropriate to put the spotlight on Thursday and Friday's Desktop Matters conference, which featured many speakers familiar to regular visitors to In fact, since there were enough blogs to pull it off, I've given over all of today's Weblogs to bloggers talking about the conference.

Eitan Suez starts off with a Desktop Matters Retrospective: "An essential ingredient for a community is periodic face-to-face meetings. Although events such as JavaOne have served the purpose in the past, this event was strictly about the Desktop, and (unlike JavaOne) was very small and most intimate."

Kirill Grouchnikov delivers Desktop Matters - the links and more: "The first Desktop Matters is officially over (although there still may be a few people still talking in the conference room as we speak...) First of all, many thanks and congratulations to Ben and Dion for organizing this..."

Finally, in Desktop [Really] Matters, Chet Haase has a "Wrap-Up from Desktop Matters conference"

Meanwhile, in Java Today, Episode 107of the Java Posse podcast is a half-hour "closing ceremonies" in which all the participants in last week's Java Posse Roundup discuss the conference and what they intend to do as a follow-up. Among the topics discussed are code coverage, the Scala programming language, and desktop Java development.

Tom Marble has rounded up slides from the FOSDEM DevJam in his blog. "I also talked about how we can envision distro specific packaging working in concert with the upcoming Java Module System. And rsands -- colleague and OpenJDK Community Marketing manager (and Computer Scientist I will point out) -- had a fantastic idea about extending NetBeans for Java application developers such that it help applications integrate nicely with distro specific packaging and the Java Module System!"

An InfoQ video presentation (52:42 min) features an in-depth look at Maintaining Java Apps in Production Environments. "In this presentation, Alexandre Rafalovitch delivers an organized overview of the tools and techniques that help with resolving problems that arise in real production environments. The presentation places emphasis on free and open source tools capable of being useful out of the box, without extensive configuration."

In today's Forums,rkd has a last-minute announcement in Re: Wonderland at GDC: "For anyone UK based... We're running most of the LookingGlass, Wonderland and MPK20 GDC demos on a booth at the Sun Tech Days London event, Wednesday and Thursday this week! (sorry for the late notice) Looks like registration's still open (though I make no guarantee!) and James Gosling's talking on Thursday Who could ask for anything more!"

pg_glassfish has a question about ProgrammaticLogin and JMS: "I am using glassfish v2 b33. I am using netbeans platform as my gui client. I am using ProgrammaticLogin to access my EJBs that reside on the glassfish server (using a JDBCRealm). This works fine even though I have not changed the server.policy file, since I believe by default security is turned off. I have added a JMS connection factory and topic. These both use the standard defaults, I have only specified the JNDI name and added a property Name for each. The code that uses these works fine. The problem is that ProgrammaticLogin access to the EJBs works before JMS starts but NOT after. I assume this must have something to do with my security configuration but am unsure what needs changing."

Finally, in Re: Reflection for JPA entity metadata, gyorkewrites: "There is nothing in JPA that specifies the meta-data model used by an Implementation. Each implementation will use their own model. In TopLink Essentials you can gain access to the meta-data through casting to the TopLink EntityManager implementation, getting the Session and then getting the Project from the session. In TopLink the Project is the root object in the meta-data tree."

Current and upcoming Java Events :

Registered users can submit event listings for the Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.

Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of it will be archived along with other past issues in the Archive.

Catching up after mini-conference week  

Stand Up and Shout Blog

Posted by kfarnham Mar 9, 2007

Cheer for your favorite JavaOne speakers

The JavaOne 2007 site now has descriptions available for the technical sessions and birds-of-a-feather sessions at this year's show. That means you canquery the content catalog for your favorite topics and speakers. For example, if we query for Gallic Java Rock Star Romain Guy, we find him offering two technical sessions, Filthy-Rich Clients: Talk Dirty to Me and Extreme GUI Makeover 2007. Speaking of well-known GUI guys, Kirill Grouchnikov is presenting three sessions (1, 2, and 3), and Joshua Marinacci somehow got a AB5k BoF approved before even publicly announcing AB5k earlier this week.

A few more queries turn up the Java Posse BoF, no fewer than three Blu-Ray sessions (1, 2, and 3), 32 sessions with "NetBeans" in their title or description, 14 with "Spring", 15 with "EE 5", 5 with "SE 7", 35 with "Java ME", and 12 sessions that mention "" as a keyword.

Do some queries or look through the Advance Conference Guide (PDF, 3.2 MB) and let us know what you find interesting. Are there talks whose presence surprises you? Are there important topics that are missing?

In Java Today, Terrence Barr, evangelist for the open source mobile and embedded community, will present a talk, "Developing Java ME Applications Using Sun's Open Source Platforms", at Sun Tech Days in London on March 15. Check out the agenda for other ME-related talks, including presentations on enterprise Java ME and gaming.

ONJava blogger Paul Browne has kicked off an extensive discussion of what matters beyond the basics of Java, in Advanced Java - whats YOUR opinion?. "I've been asked to spec an 'Advanced Java' training course. The list (below) contains a couple of ideas of what should be on such a course but 'Advanced Java' means different things to different people. Over the many years you've spent with Java, you've specialised -- partly out of what interests you, and partly out of the work that's been available. So the question is: What do you think an Advanced Java training course should contain?

Some of the best blogs are those that kick off further discussion among community members. Case in point: today's Weblogs, in which David


Night People Blog

Posted by kfarnham Mar 8, 2007

Nightlife at the mini-conferences

The week of Java mini-conferences continues, with the Java Posse Roundup halfway done, and the Desktop Matters conference kicking off today.

The roundup has a schedule that affords time for skiing mid-day, so the mornings are organized as an open-space conference of three one-hour sessions (plus breaks and hallway time), while the evenings have been an informal hang-out time, at Bruce Eckel's house on Tuesday night and the large rental "Posse House" last night. Also last night, Bruce brought his projector to the Posse House for a series of five minute lightning talks, in which Joshua Marinacci showed off previews of new Swing Labs projects (lots of components coming your way, loyal Swing developers) and an abortive AB5k demo (his laptop's monitor settings were fighting with the projector). The Posse's Carl Quinn gave a presentation on the Scalaprogramming language, and Posse member and racing enthusiast Joe Nuxoll gave a presentation on how to hit the perfect line through a turn to achieve maximum speed on the subsequent straightaway (hey, nobody said the talks had to be about Java!).

Nightlife at Desktop Matters is the topic of Ben Galbraith's blog, who welcomes guests tonight (conference attendees or not) in the blog Open Party During Desktop Matters. "Recognizing that not everyone who might wish to attend the conference is able to come, we've decided to open up the party Thursday night to everyone who wants to come. We also posted an invite on, so perhaps quite a crowd of folks will come (then again, perhaps not)."

So, if you're in San Jose or Crested Butte, you now know where to find late-night Java gatherings.


Time for Desktop Java to take center stage?

So many people have predicted various breakthroughs and renaissances for desktop Java (and desktop Linux too, but that's a blog for another time) for so long, that it's probably the kind of topic that probably brings hackles of "I've heard that one before." Nevertheless, there seems to be more and more interest in Desktop Java lately, what with two concurrent conferences on the topic this week (three if you count EclipseCon?), and increasingly the talk is less based in evangelism and zealotry, and more based on practical concerns. Can desktop Java deliver value, can it do so better than other solutions?

Yesterday at the Java Posse Roundup, Joshua Marinacci and Robert Cooper debuted AB5k, an early version of a Java 6-based widget environment along the lines of Yahoo Widgets and the Mac OS X Dashboard. The one hour talk will eventually go out on the JavaPosse feed, but one of the key things that came up was "what's the value of doing another widget engine, only this time in Java." Turns out there's a lot of value in that. Cooper pointed out that Linux badly lacks a good widget environment, and the cross-platform nature of AB5k could serve the Linux user well. There's also the matter of Java developers' access to a vast collection of high-quality libraries. Cooper mentioned that he'd whipped up an RSS viewer widget for his own use, basing it mostly on ROME and Flying Saucer.

Oh, and it uses less memory than the competition. They say AB5k often uses about 50 MB of RAM, and can be put to sleep in a mode that uses more like 20. Looking on my PowerBook, I see my four Dashboard widgets (a Sticky, JIWire, JavaDoc search, and the dictionary) are using nearly 100 MB. So fancy that, a Java app that uses less memory than its native equivalent.

Anyways, Josh and Cooper will probably be blogging about AB5k soon -- Josh made a teaser reference to it in his JavaOne blog, and they'll be able to tell you more. And the project is still at an early and rather unpolished stage. But it will be interesting to watch.

Also in Java Today, Roumen Strobl has posted a nine-minute Flash presentation that shows off upcoming NetBeans support for JSR-295 (Beans Binding) and JSR-296(Swing Application Framework). He says "these two JSRs, along with NetBeans 6, will greatly simplify development of desktop Java applications."

TheServerSide is hosting a sample chapter from JPA 101: Java Persistence Explained. "The Java Persistence API (JPA) was introduced as part of the Java EE 5 platform to simplify the development of Java applications using data persistence and to unify the community behind a standard lightweight persistence API. This chapter [...] focuses on the Java Persistence Query Language (JPQL). It looks at the fetch join operator and delves into JPQL's bulk operation support.

Roumen's tutorial got a couple of positive reactions in theForums. In Java Desktop - Swing, meek writes, "I always loved java but on the same time never liked java for any desktop application (specifically talking about swing). I have never been able to make a good swing application.Today i watched a video regarding NetBeans 6 and I am amazed with the power of swing combined with netBeans. What i wanted from you people is guide to some good programming resource and recomend me good books so that i may get able to make Rocking swing application."

Speaking of the new Swing JSR's, shan_man has an update in Re: JSR295. "I just wanted to take a moment to introduce myself and let you know what's going on with JSR 295 (Beans Binding). My name is Shannon Hickey and, if you don't know me already, I'm the technical lead for the Swing Team at Sun Microsystems. I've worked on the team for 6 years and have a broad and deep understanding of the toolkit. I've also worked extremely closely for many years with Scott Violet, who has been leading JSR 295. With that in mind, I'd like to announce that I've taken over from Scott as the lead for the JSR. It's this transition period that is behind our lack of any recent discussion. I'm currently in progress of revving up on the project and preparing to continue where Scott left off. The exciting news is that Scott handed it off to me in a state almost ready for an initial public release. And that's my first goal as new lead of the project. Once it's released, I expect lots of valuable feedback from you, so I'm preparing myself and the project to be in a position to start accepting your suggestions."

In Sony Erricson P990 Crash issue, James Woodbridge writes: "I have been working on the P990 with a couple of applications and have come across this issue where the device seems to crash without any reasoning. I have noticed that even on some of the embedded J2ME applications the crashes are present. Me and a few people have tried later firmware upgrades and noticed this slightly alleviated the problem. Can anyone tell me why this might be happening? Is it fixable ? Or is it a Hardware Issue? I have been told by some colleagues that some other UIQ 3.0 devices suffer the same problems including the m600i and the w950i."

Heading back to desktop topics, Greg


Come As You Are Blog

Posted by kfarnham Mar 5, 2007

Code and chat during a flight delay

Your editor is in Crested Butte, Colorado, for the Java Posse Roundup. ONJava blogger Robert Cooper was on the same flight with me from Atlanta to Denver, where we then met the four members of the Java Posse podcast, waiting for our flight up into the mountains.

Actually, we only saw two of the Posse at first in our gate area (which was a challenge to find, as all the departure/arrival boards were broken). We chatted with Dick Wall and Carl Quinn, and then said "where are Tor and Joe?" They were across the hallway in another gate, one with available power outlets, as Tor was apparently hacking away on NetBeans' Ruby support, actually making a code commit from the airport before we got on the plane.

Now that's dedication. Or just working too hard.

NetBeans and Ruby happen to top the Java Today section today as well. The latest NetBeans 6 milestone includes the Ruby Pack, featuring support for working with Ruby code inside the open-source IDE. In NetBeans 6 Milestone Features Full Ruby Support, Artima's Frank Somers speaks with Dan Roberts, Sun's director of developer marketing, about NetBeans' current Ruby support and future Ruby plans.

A new SDN article looks at Programming With the Java XML Digital Signature API. "One of the significant new features of the Java Platform, Standard Edition 6 (Java SE 6) is the Java XML Digital Signature API. This API allows you to generate and validate XML signatures. XML signatures are a standard for digital signatures in the XML data format, and they allow you to authenticate and protect the integrity of data in XML and web service transactions. This article will give you an overview of XML signatures and show you how to use the API in your applications.

The NetBeans community has posted a podcast interview with Technical Community Manager Jirka Kovalsky. In the 13-minute podcast, he discusses his role and his current project of managing the redesign of NetBeans's plugin portal (module catalog). He also discusses how to submit bugs or fixes and how to submit your own plugins for NetBeans.

In our Feature Article, Jeff Friesen presents a Image I/O Utilities Grab Bag , because sometimes what you need is not an enormous framework, but a grab bag of bite-size morsels. That's what Jeff has in this article, which offers three commonly needed graphic conveniences, implemented with the Image I/O package.

In today's Weblogs, Vivek


Talk To Ya Later Blog

Posted by kfarnham Mar 5, 2007

Some of the JavaOne speakers reveal themselves

In last Friday's blog, I wondered aloud why we hadn't heard of more people blogging about their JavaOne acceptances or rejections. That got a couple of approved speakers out of the woodwork, and we'll get to those in a minute.

But what about blogging about your talk that wasn't approved? Is that assumed to be sour grapes by its nature? I wouldn't assume that, not for a minute. There may be a great deal of value understanding where Java's going -- or at least where the JavaOne program committee thinks it's going -- based on what didn't get accepted. Are there old warhorses whose talks got turned down? That could be a sign that they've fallen out of favor. Or maybe the idea was good but the proposal wasn't? There's a certain "sell" you have to make with conference proposals, an understanding of how to appeal to the program committee. Surely there are talks that would have gotten a better reception from attendees than from the program committee.

And sometimes the program committee gets it wrong. Tapestry creator Howard Lewis Ship complained in his blog after getting turned down for OSCON 2006. His rejection was an oversight that was later corrected.

Finally, JavaOne isn't the only game in town. This week alone we have three smaller, focused Java conferences: EclipseCon, the Java Posse Roundup and Desktop Matters. Add to this the growing prominence of some of the larger JUG-hosted conferences, like JavaPolis and JavaZoom. Who knows... if you blog about your rejected JavaOne session and you get some good feedback, maybe that'll lead you to present it at one of these other conferences.

For what it's worth, Daniel Steinberg and I proposed a BoF, like we do every year. And like every year, it was turned down. We also proposed one about the open source projects on to the new Open Source track. That was turned down too. Happens to everybody.

Continuing on to today's Weblogs, we find a couple of speakers offering previews of their sessions. In My Java One Talks, Joshua


Dream On Blog

Posted by kfarnham Mar 2, 2007

What's the word on JavaOne speaker notifications?

Suprisingly, I haven't seen a lot of blogs about potential speakers getting their JavaOne talks accepted or rejected. The approvals I know about are all via word-of-mouth: Daniel Steinberg on spontaneous networking, and Joshua Marinacci and Robert Cooper on Josh's Big Secret Project (to be revealed next week at the Java Posse Roundup).

But aside from that, it's the rare speaker blogging about his or her talk getting accepted. I hope more people will blog about their talks. It helps create excitement and interest. In fact, blogging about talks thatdidn't get accepted is interesting too, because we always find that the rejected talks had a big potential audience, and may yet see the light of day at the many alternative Java conferences (Jazoon, JavaPolis, etc.). This year's rejection may well be next year's rock star.

Also, whether or not you're speaking at a techincal session or BoF, we'd love to have you offer a 20 minute mini-talk about your project or community at the Community Corner. That page is a wiki -- feel free to follow the instructions and sign up.

Oh yeah, my "no chance they'll ever approve it" BoF got approved, much to my surprise and alarm. Now I need to have slides ready in two weeks.

In Java Today, the cqME project is the home for Java ME platform compatibility and quality testing. The goal of the cqME project is to develop and improve the tools used to test Java ME technologies. It contains the ME Framework module and is a portal to the JT harness project site. Future open source testing technologies are also expected to find a home here. You can use these technologies to create test suites, including technology compatibility kit (TCK) test suites that test the quality of Java ME technologies and the compatibility of these technologies with their specifications.

Issue 112 of the Java Tools Community Newsletter is out, featuring tool-related news from around the web, new incubated projects, a graduation (maven-javanet-skin), a reminder about the Java Mobile Application Video Contest, and a "Tool Tip" on publicizing your project at JavaOne.

"Continuations refer to a functional programming technique that allows you to save the current execution state of a thread, with the possiblity of suspending and later resuming execution. Continuations have been incorporated into several Web application frameworks, including RIFEand WebWork." In the Artima interview Continuations in Java, RIFE project founder Geert Bevin discusses how continuations can simplify complex workflows, and how they are implemented in RIFE.



What It Takes Blog

Posted by kfarnham Mar 1, 2007

A fresh look at Maven

Is Maven still controversial? When I first started editing for O'Reilly a few years ago, we ran an early article about Maven on ONJava and it drew a great deal of criticism. The old guard -- and it says something that Java has been around long enough to have an "old guard" -- decried the idea of ceding so much control over project building and management to Maven. Meanwhile its supporters argued that Maven is offering a set of reasonably good default choices for a lot of things you might not ever get around to figuring out otherwise.

Thing is, I don't think there's such a raging debate over Maven anymore. You might not choose to use it for your own project, but it's been a long time since I've seen the community lobbing stones and arrows in Maven's direction. What happened? Here's a hypothesis: Rails happened. The most disruptive technology to hit the Java world in years -- disruptive because it seeks to lure Java developers away to another language and another way of doing thing -- is highly (if sometimes grudgingly) regarded for its philosophy of "convention over configuration". While Rails solves completely different problems than Maven, they both typify this approach, and they both have their iconic moment of setting up a whole project for you with a single command.

Maybe with the idea of convention over configuration popping up all over the place, even in Java frameworks like Grails and Trails, maybe some of the anti-Maven crowd have come to tolerate, if not embrace, its implicit philosophy.

Those ready to let Maven drive when developing webapps should check out today's Feature Article, in which Will Iverson takes a look at Building Web Applications with Maven 2:

"In this article, we will take a look at using Maven 2 to help build a simple web application (a bit of business logic in a JAR and a JSP-based web application). By the end of this article, you should feel comfortable working with Maven 2, and ready to start using it as a much more satisfactory tool than Ant (or even your IDE)."


In Java Today,Apache Pluto, the reference implementation of the Portlet specification (JSR-168) and the basis for the Portlet 2.0 spec (JSR-286), has released version 1.1. "This is the first GA release of the 1.1 line of Pluto, which is a major refactoring of Pluto 1.0.1 to allow for easier integration of Pluto's portlet container into a portal and easier configuration of the Pluto portal driver, a bare-bones portal included with Pluto."

The Philadelphia Area Java Users Group, a successful JUG with over 1,000 members, has a new website, and more online resources for members. JUGMaster Dave Fecak writes, "let me be the first to welcome you to the new virtual home of the Philadelphia Area Java Users Group, twice rated by Sun as one of the world's top Java User Groups! The Philly JUG's main objective is to provide great events for our membership, and if you look at our history we've done just that."

Roumen Strobl has posted episode 25 of his NetBeans Podcast. In this episode: 6.0 Milestone 7, new installer, JRuby support, UML support, a new Java ME competition, vi support, plug-in portal and a NetBeans puzzler.

In today's Weblogs. James Gosling relates a tale of Converting the hardcore users to the NetBeans Way: "I became a hardcore emacs user 29 years ago (yes! Really! The first emacs I used was the excellent implementation on Multics by Bernie Greenberg). But a lot of time has passed since then and the exponent in Moore's law has changed everything. And yet there's a hardcore emacs population out there that I've been slowly trying to convince to join the modern age."


Filter Blog

By date: