The escape function "encodes" a string by replacing non-ASCII letters and some other...
on Apr 22, 2008
Young developers who desire to learn how to build software in various intuitive programming languages, including Java, should check out a new java.sun.com hub in the New to Java Programming Center. Spotlighted there are numerous resource pointers to tutorials and introductory material: BlueJ, NetBeans IDE Blue J Edition, Greenfoot. Some of the resources are self-paced and interactivea ton...
on Apr 15, 2008
You'd think this sort of problem would be resolved by now, but it's not. It's still almost impossible to quickly and easily migrate an application from the too common default Latin-1 to UTF-8 character set encoding. The problem isn't that UTF-8 can't handle the conversion. No, that's definitely not it. UTF-8 can represent any Latin-1 character and much, much more. The problem is that the Latin-1...
on Apr 13, 2008
I've had a surprisingly difficult time conveying my own definition of "Iterative Development" in the context of BPM development. If you are interested in such things, please take a look at my other blog for an explanation via analogy....
on Apr 10, 2008
Post article reports on the elimination of underenrolled Advanced
Placement (AP) courses in American high schools. The subjects affected are:
Italian, Latin Literature, French Literature and, hold on to your hats,
Computer Science AB. (The College
Board designs high school courses that aim to be equivalent to college
courses. High school students who take the course and pass an...
on Apr 5, 2008
In his Disturbing Thoughts from a Developing Mind blog, fellow kiwi Mark Derricutt discusses a situation where new for loops don't provide enough power for a particular case. (And yes this blog has been sitting drafted but unpublished for ages :( )
The case in point is building a String from the concatenation of a List of Strings with some separator between them, in this case a semi-colon...
on Mar 25, 2008
I recently wrote a brief introduction to Beans Binding called Synchronizing Properties with Beans Binding. I was enthusiastic about Beans Binding, and then a coworker threw a wet towel on me. The conversation went something like this:
John: I just finished an article on java.net. This API might be useful in this project.
Coworker: Yeah, what's that?
John: Beans Binding. It's an API that will...
on Mar 23, 2008
All the major closures proposals now have prototype implementations available. But until we can play with the final option "No Closures" we're not in the best position to make a good decision. So it is with pleasure that I announce the availability of a prototype for "No Closures".
With this jar file and JDK 6, you can effectively cast a method to a SAM type. For those not...
on Mar 8, 2008
I would like to preface this entry with the fact that I am not suggesting a concrete syntax in the examples below. I am merely using the examples as talking points and illustrations of what I consider to be the "syntactical spirit" of the Java language.
I will be the first to admit that syntax is quite subjective and typically creates consternation within the context of programming specifically...
on Feb 27, 2008
Josh Bloch makes some interesting points in his Javapolis presentation on the closures controversy. However having listened to the audio several times and read the slides at least three times, I am having trouble extracting the salient points from all the FUD
(The presentation video of the talk is now also available)
What seems to be happening is that much of that FUD is starting to...
on Feb 27, 2008
Big applications have a tendency to accumulate enormous classpaths. Looking at such a classpath, you might be hard put to know whether any given jar is really needed. Perhaps it was needed at the time it was added, but that need has long since evaporated. How can you tell? Having jars you don't need means your application will be slower starting up, and perhaps also while running. It also...
on Feb 21, 2008
Last year when working in a project, there were a lot of documents (requirements, user guides, architecture, etc.), from different sources (email attachments, file shares, backups, old version control). The same document name but different date and size.
So, how to know which one is the latest and delete the others ?
There were two ways to achieve that:
Open each file and see its properties,...
on Feb 20, 2008
You know you're getting old when you find yourself complaining about how English is being butchered, instead of inventing new ways to butcher it yourself.
Languages change and evolve, they cannot stand still. This applies to programming languages just as much as natural written/spoken language. The difference is, of course, natural languages don't require backwards compatibility. It's this...
on Feb 13, 2008
Swash already had part of its code split to a seperate project, one with a pretty infamous name: preciseInternalDate.
Swash will see an other split: splines!
While i was finishing the splines part of swash, i said to myself that this could easily be extracted to an external package that could be useful to other projects than swash. In fact, i have other projects that would benefit from it, so...
on Feb 12, 2008
When I first stumbled upon the JSR-275 standard units RI at JScience.org last autumn, I was very impressed with its careful design and eager to use it in my projects. That was before I began working on JPA persistence annotations for my data model. Now I regret using this otherwise wonderful package, for I've become entrenched in an ugly decision between shedding JScience.org dependencies...
on Feb 10, 2008
My friend David Blevins showed me a great trick the other day. I was writing some in-container tests for an EJB/JPA application I'm working on, and needed some power tools to better control the scope of my transactions. After no small amount of pain, I became comfortable with the idea of increasing the similarity of the tests. That is to say, the tests needed to more carefully reflect the...
on Feb 9, 2008
I guess i wasn't very focused in yesterday's entry, paying too much attention to the details of the specific puzzle and not emphasizing my main point (or as Chris defined it the "money quote"). I'll try to rectify it here, bringing together my thoughts on the subject of evolving Java as a language.
First, let's start with the code from Neal's entry. Here is the relevant part:
on Feb 6, 2008
Neal Gafter has posted the first closures puzzler. I guess the second edition of Java Puzzlers is in works, and closures will be a hefty addition to the book. If anything, this makes me really sad.
I was very excited to lay my hands on the first edition, but after reading through a few chapters, i skimmed the table of contents, glanced at the visual illusions and never came back to it. If i had...
on Feb 5, 2008
When interviewing candidates (only 3-4 interviews) I would ask them the following question:
What kind of programming work do you like best?
They always gave then same basic answer: Creating new software.
Since that isn't the answer that I would give I asked my co-workers and between 4 of us we had 3 different answers:
Creating something new
Improving (adding features,...
on Jan 23, 2008
On a real-life desktop I will often move toward an object to work with it. i.e. When I want to look at the calendar I will move closer to it. That allows better use of my desktop because some objects are "zoomed out" and therefore take less space (in my field of view). I received an iPod Touch for Christmas and the zooming of web pages and pictures works well. Of course adding a touch screen to...
on Jan 23, 2008