Sometimes, life drops a house on your code. Sometimes, it's flying monkeys. Most of the time though, the damn stuff just stops working and it's nothing so obvious as being crushed by a Kansas farmhouse or being carried away by winged primates.
For this last common case, there are a good number of great tools to help you out. JMeter may help you to reproduce the conditions under load, while...
on Feb 1, 2013
by Chris Buckett, author of Dart in Action
Overloading happens when you provide a new implementation customized to your particular class, which allows you to overload the common operators such as > (greater than) and < (less than). In this article, based on chapter 8 of Dart in Action, author Chris Buckett explains how this function helps you create truly self-...
on Jan 11, 2013
Bugs are inevitable. Even after you thought you have finished coding your work, another bug creeps in, making you want to wish the bugs were real tangible objects that you could squish with your bare hands. Being a developer, you should be armed with the right weapons to battle bugs for they come almost all the time. In fact, they are building yet another Death Star. If you don't get vigilant,...
on Oct 24, 2012
Acceptance Test Driven Development (ATDD) is a method wherein business stakeholders, analysts, testers and developers collectively specify and agree on what needs to be completed in the project. Requirement specifications are set and verified even before actual development starts. This ensures that only those value-adding features are delivered to the business.
Instead of validating after the...
on Oct 21, 2012
by Michael Fogus and Chris Housen, authors of The Joy of Clojure
In many cases, Clojure's compiler will be able to highly optimize idiomatic Clojure source code. But there are times when the form of your functions, especially in interoperability scenarios, will prove to be ambiguous or even outright counter to compiler optimizations. In this article, based on chapter 12...
on Jan 30, 2013
I am pleased to announce the release of SwingX 1.6.5. The new release is available in Maven central.
As always, you may report bugs or request new feature via JIRA. You may also contact us in the discussion forum.
Release Notes - SwingX - Version 1.6.5
[SWINGX-1336] - Flickering in JXPanel with alpha < 1
[SWINGX-1449] - JXButton doesn't update font if...
on Jan 29, 2013
Web Development Tools
As a test, I re-created the HRSystem application as described in the tutorial Developing Rich Web Applications With Oracle ADF. It's more than your basic Hello World application. For starters, the HR system application accesses a database. It also takes advantage of some sophisticated ADF features, such as graphs, page flows, auto-suggest, menu options to export to Excel and display in...
on Jan 23, 2013
In my last blog post, I explained how to add versioning capability to templates. Being able to create, view and restore different versions of templates is great, but sometimes it's not so easy to see what has actually changed. And we might not be as lucky as having comments about the change from the author, or they might be cryptic to the point of being useless.
So let's try and add the diff and...
on Jan 22, 2013
Some time ago, I had the impression that everywhere I stepped in the endless Java universe, I came across rather outdated technology. Things that were hyped years back, but for some reason had been left behind by mankind in the course of time. Disenchantedly roaming that programming desert I almost went depressive looking at all the rusty wrecks of former featured APIs laying around all along....
on Jan 1, 2013
Natural User Interaction with Drag-and-Drop
by Rob Crowther, author of Hello! HTML5 and CSS3
on Oct 29, 2012
From 0 to First Hit with Grails Support
by Glen Smith and Peter Ledbrook, authors of Grails in Action, Second Edition
Grails is a next-generation Java web development framework that generates great developer productivity gains through the confluence of a dynamic language, a Convention over Configuration philosophy, powerfully pragmatic supporting tools, and an agile perspective drawn from the...
on Oct 25, 2012
Many of the Oracle Java development tutorials that access a database do so against the Oracle HR sample schema. See, for example, Developing Rich Web Applications With Oracle ADF. There are several approaches you can take to getting the sample schema installed in the Oracle Cloud, such as Using SQL Developer or JDeveloper as demonstrated in Shay's blog. In my case, we're going to run the SQL...
on Jan 17, 2013
What is SPARQL?
by David Wood, Marsha Zaidman, Luke Ruth, and Michael Hausenblas, authors of Linked Data
SPARQL is the query language for RDF and Linked Data. SPARQL is to RDF data as the Structured Query Language (SQL) is to a relational database. SPARQL's name is nicely pronounceable and sounds interesting and fresh. SPARQL is interesting and fresh. This article, based on chapter 5 from...
on Dec 20, 2012
Six Ways You're Using Responsive Design Wrong
by Matthew Carver, author of The Responsive Web
Staying on the cutting edge of of web design can be tough, and oftentimes you only learn from making mistakes. Making mistakes is sometimes the best way to know that you are breaking new ground. In this article, Matthew Carver, the author of The Responsive Web, gives a few tips that his experience in...
on Dec 19, 2012
After a long time away, I'm raising my head again on the java.net site. I once roamed these java.net streets as a JDK developer at Sun Microsystems, then as an end-user of the JDK while at a few startups, and now...well, I'm back again. This time, I've acquired years of J2EE experience, have created my share of SaaS and web service offerings, and have way too much to say about globalization of...
on Nov 14, 2012
To facilitate component developers a convenience API was introduced to make it easier to implement the state saving requirements. Access to this API is made available through UIComponent.getStateHelper().
The API defines the following methods:
void add(Serializable key, Object value) Object eval(Serializable key) Object eval(Serializable key, Object defaultValue) ...
on Dec 15, 2012
Not so long ago Mark Halvorson mentioned in his presentation at the Magnolia Conference 2012 that he doesn't understand why he can't have versioning for templates in Magnolia the same way he has it for content. Then I thought why not? Should be pretty straightforward.
The first implementation was indeed easy. Similar to what Magnolia does when dealing with DMS documents - I just configured a...
on Nov 7, 2012
As mentioned in my talks at JavaOne San Francisco 2012, JSF 2.2 will include a new feature I'm calling HTML(5) Friendly Markup. I owe a debt of thanks to Frank Caputo for collaborating with me on ideas and code for the feature, including the code example from this blog entry. The JSR-344 Expert Group also deserves mention. In true lean fashion, this code sample is taken directly from TDD tests...
on Nov 1, 2012
A few thoughts on how logging ought to be over at my new blog.
on Dec 5, 2012
Here are my slides on my "Remoting Retrospective" presentation at JavaOne 2012:
Remoting Retrospective (pdf)
on Oct 26, 2012