Skip to main content

Avoiding "no brainers"

Posted by daniel on April 7, 2005 at 8:35 AM PDT

When your coffee grinder talks to the brewer

When I used to give talks on distributed programming I would get knowing smiles from the audience when I recalled the dark side of the Jini dream of having all of your devices talking to each other. Your coffee machine would refuse to make you coffee because it knows that you like milk in your coffee and it has checked with your refrigerator and has been told that the milk in your refrigerator has expired. You head upstairs to take a quick shower but your tap refuses to deliver water because it has checked with your pda and charted your course and notes the tie up on the highway which means you won't have time for your shower this morning.

Then yesterday a friend of mine described the new coffee system that he set up in a restaurant he is opening in two weeks. The grinder and the brewer communicate using wireless. The grinder lets the brewer know how much it has ground and so the brewer prepares that much water. There is also a mechanical safeguard to make sure that you only brew regular into one coffee pot and decaf into another.

There are so many areas of our life where someone has tried to make the process "idiot proof". Maybe making coffee is an area where this applies. I'd like the flexibility to adjust the amount of grounds for different types of roast and different coarseness. There are textbooks that endeavor to make teaching "idiot proof" (just follow the book). Perhaps a better term for this is the goal of making complex tasks a "no brainer."

What about computer programming? Can we make that a "no brainer" as well? In Also in
Java Today
, Andy Hunt and Dave Thomas write
"Any process that tries to reduce software development to a 'no brainer' will eventually produce just that: a product developed by people without brains." In Cook until done , they argue that "Developing software is largely composed of two activities: learning and communication."

That makes perfect sense. And these activities can not be "no brainers".

By the way, you are invited to take a Survey for Free/Libre/Open Source Software . "The new survey aims to provide an update, include new developers, and
answer some of the questions that were raised by the first one: in
particular, on the role of developer communities for learning skills and
employment generation, and on the low level of participation by women."


Eduardo Pelegri-Llopart blogs that The Early Draft 3 of JAX-RPC 2.0 is out
in today's href="http://weblogs.java.net"> Weblogs . Also Tim Boudreau asks Should there be a "codeforager.org"? "A few months ago I had cause to extract some code from a dead project into what will be a very useful library. It got me thinking - how much more stuff like this is out there? " Calvin Austin writes on How to save time deploying Java apps.


In Projects and
Communities
, students from the University of Bremen have released the JXTA project Peeranha42 which "offers an abstract networklayer for easy development of p2p applications". Existing plugins include chat, chess, file sharing, Peerbay, and Pirate Radio.

The
JavaPedia
page on Scripting Languages currently lists Sleep, Jython, Jacl, JRuby, Groovy, Kawa, Rhino, and BeenShell as scripting languages for Java apps. Add new entries or fill out the ones that are there.


Want to check whether or not you end up OutOfMemory with JAXB? In today's Forums.
hr_stoyanov writes "In future, you may want to get you IRS test samples from: http://www.taxadmin.org/, where IRS posts all their lates schemas. These are easily the hardest/largest schema sets you could test JAXB against."

JavaKiddy posts on the import and descendents thread.
"I'm not convinced by this. You just know that bad/novice coders are going to start putting... import java.**; import javax.**;...at the head of their source. The import mechanism provides two functions, to simplify code by avoiding the need for fully qualified class names, and to drop hints as to what packages and classes are 'in play'."


In today's java.net
News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using our
news submission
form
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
feed.


Current and upcoming Java
Events
:

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
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 java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

When your coffee grinder talks to the brewer