Posted by editor
on September 15, 2008 at 6:47 AM PDT
New thoughts on last week's topics...
Weblogs: Communicating with the business side, distributed SCM, and Java meets Agile
Java Today: SwingX 0.9.4, JVM compaction, and JAR files used in Windows security exploit
Spotlight: java.net Education Community re-launches
Forum Posts: Instantiating schema from WSDL file, lifecycle of AWT apps that use the system tray, and exposing JARs to JSP compiler
New thoughts on last week's topics
OK, kind of weird to see two of my editor's blogs from last week cited in new blogs over the weekend, but it's a good thing... the idea is to get the ball rolling on topics of community interest and discussion.
Let's start with John Reynolds, who writes about knowing Just Enough to Not Be Dangerous
My blog entry on User Manual Driven Development prompted Chris Adamson to share some thoughts of his own as For Reasons Unknown . My blog entry relates my early experience of developing an application from a pre-written user's guide. Since then I came across a very similar approach that's used by Daniel Brolund that he calls User Guide Driven Development ... obviously great minds think alike ;-) Chris's thoughts helped me boil down my premise to a single statement:
Programmers should understand the applications that they are writing.
John continues that this seems self-evident, but cites a followup comment which argues that truly understanding the app would practically require a degree in accountancy. Now personally, I would argue that's not a bad idea: if you could code and have passed the CPA exam, you would have a truly unique and ridiculously valuable combination of skills. I would bet that the developers of QuickBooks are highly serious about accounting, just the same way I suspect Final Cut Pro's developers are probably excellent video editors in their own right, and the Guitar Hero and Rock Band developers are all in bands (actually, that's a known fact about the Harmonix gang). But this level of subject-matter expertise seems impractical for most developers, as John admits:
Most programmers will never understand everything about how a particular application will be used... But surely they should understand something about how the software is used. If not, then programmers really are interchangeable cogs and we all deserve to have our jobs outsourced.S
So what's the minimum? When do you know "just enough (about the business) to not be dangerous"? The same is true for Business people. It's very important for the Business Analysts (that specify software) to know "just enough (about software) to not be dangerous".
John's answer is to employ a common language to communicate between the two sides, using Business Natural Languages and Business Process Modeling Notation . Read on for details.
In another Weblog following up on a topic from last week Tom Ball explains the value of Mercurial and Git in Distributed SCM: You Don't Get It Until You Got It . " There has been a lot of debate about the merits of distributed source control management systems, but until you've seriously worked with one you just won't understand how appealing they are. Just ask any developer who has had to go back to a single-repository system."
BTW, if the topic of distributed SCM interests you, check out our current front page poll, "What's your favorite Source Control Management system?", and the current results .
Finally, Daniel Wildt offers a web version of his recent conference presentation,
Java Meets Agile - A survival guide to adopt Agile inside Java teams . "More about the presentation at Just Java 2008, related to Agile and Java. Principles, Values, Practices and valuable tools that your team can use to become more effective." Co-presenter Giovani Salvador has more details in his companion blog, Java Meets Agile .
In Java Today ,
Jan Haderka has announced the release of SwingX 0.9.4. "The main changes in this version were previously announced cleanup of the API, added switch to completely disable caps lock detection in LoginPane and about 45 bug fixes. Read the release notes to see complete list of resolved issues before downloading the release from the SwingLabs website ."
Nick Maiorano's Javalobby article Ghost in the Java Virtual Machine explains JVM compaction and its consequences: "Compaction is a lesser known facet of garbage collection. In this article, I'll discuss how important it is for Java performance. Left untamed, compaction can come back to haunt you. Find out how it works, where the problems lurk and how to make them go away."
The GNUCITIZEN blog is providing Details of the QuickTime Vulnerability , which actually uses JAR files as part of a security exploit on Windows. The exploit begins by using QuickTime's SMIL support to load the URL of a NETBIOS share. "I needed to find a file format which is executable but Windows does not know about it just yet. It seems that .jar fits perfectly my requirements. .jar is the file extension of the JAR archive, a ZIP archive with a manifest file which instructs the Java interpreter what class should be executed as the main one. .jar files are executable as long as you have Java on your system." The blog notes that the vulnerability has been fixed for months and should now be safe to talk about.
This week's Spotlight is on the java.net Education Community , which has has re-launched at https://edu-gelc.dev.java.net/ . The site is aimed at "students, educators, developers, parents, and anyone else interested in tools or curriculum for teaching Information and Communication Technology," with separate starting points for students , educators , and developers .
In today's Forums ,
How do I Instantiate a schema Object from a WSDL file using JAXP? "I'm new to JAXP and I want to validate a SOAP message payload. To do that I need to instantiate a Schema Object and invoke the validate method in it. The problem is that schema is embedded inside a WSDL (element ) and I'm trying to read it into a DOMsource and then I use it to create new Schema object like this..."
Anton V. Tarasov explains AWT lifecycles for apps that use the Windows system tray in
Re: SystemTray prevents Swing from shutting down? "This is to support applications that live only in system tray and doesn't permanently keep windows on the screen. AWT doesn't provide any option to prevent this behavior... In order to let the app shutdown you should remove all s."
jpedwardsdotcom wonders about a deployment problem in
JARs in lib/applibs not available to JSP compiler? "When deploying an EAR, jars specified in the --libraries parameter are visible to servlet classes, but not to the JSP compiler, causing NoClassDefFound exceptions and breaking the JSPs in the application. The only workaround I have found is to add a classloader extra-class-path attribute to the sun-web.xml before building the EAR. This couples the binding information inside the WAR, rather than keeping it as a 'pure' deployment fact. Am I missing something?"
Current and upcoming Java
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed . Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the
New thoughts on last week's topics