Posts
A Hopeful Idea: The End of Checked Exceptions?
Java.net’s latest poll asks: should checked exceptions be removed from the Java language. Sadly, the poll is not going the way it should right now. Many people feel checked exceptions are key to reliable programming. They are wrong. Please: Read this post, and help improve the Java programming language by voting “Yes” to remove checked exceptions.
Checked exceptions is a concept that is unique to Java as a programming language. That is right: It was an experiment.
read morePosts
A Revolutionion in Computing?
A few months back, I saw a presentation that has kept me thinking ever since. Nicholas Negroponte is currently in the completing phases of a project I think might revolutionize the world. The $100 laptop project, or, as it is known now: One Laptop Per Child (OLTP). The idea behind the One Laptop Per Child project is to create a computer that can be given to every child in developing countries.
read morePosts
ROOTS: Time for reflection
I have been going to the Recent Object-Oriented Trends (ROOTS) conference in Bergen for the last seven years, the last two years as a member of the program committee. It always strikes me how this conference gives me a different view on what I thought I knew, instead of just teaching a few new programming tricks.
The conference is a well-kept secret. The intimate and conversational atmosphere gives everyone attending a chance to discuss software developments with some of the great minds of our field.
read morePosts
What makes a test suite good?
Many people enjoy splitting testing up in a myriad of test types: Acceptance Tests, Functional Tests, Integration Tests, Performance Test, Technical Tests, Unit Tests. I have myself been guilty of such terminology as “embedded integration tests” and “requirement tests”. However, what unites the tests are more important than what divides them. The divisions are fuzzy, and they should be.
All tests have but two purposes: To tell you if you’ve completed a new requirement, and to ensure that you haven’t broken something that worked.
read morePosts
The Cost of Reuse
The idea of effective reuse is a pervasive one. Software organizations have searched for ways to avoid “reinventing the wheel” for as long as there has been a software industry. But all research on research on reuse indicates that it is much more expensive than people expect. There are a few delicate balances that a reuse effort needs to observe. The ones I’ve notices the most have been Quality versus Expediency and Control versus Evolution.
read morePosts
"Hi, I'm Ruby-on-Rails"
Inspired by the “Hi, I’m a Mac” ads of Apple, Gregg Pollack and Jason Seifer has made these cute Ruby-on-Rails ads (featuring Ruby-on-Rails versus Java and Ruby-on-Rails versus PHP):
Click here to view on YouTube
read morePosts
The Maven Application Server
After spending more time than I care to indulge trying to get commercial application servers to behave, I finally decided to Do the Simplest Thing that Could Possibly Work, and create a new application server from scratch. Well, not really a full application server. For 90 % of the Java applications out there, all that you really need is Servlets, so I limit myself to that. And not really from scratch.
read morePosts
Spring - You've Failed Me
Last night, I worked until after midnight trying to get our application up and running after some seemingly inconsequential changes in Spring-XML configuration. Our application consists of a total of 32 modules (including 6 wars and one “server” module that packages them, and 11 modules that are shared with other projects). Most of these modules have Spring-XML fragments that are included in a few different ways, with the result that a nobody on the team actually understands how it fits together.
read morePosts
Rails: The Demonstration
I often criticize products from the big vendors like IBM, Microsoft and Oracle for what I call the “New Coke Effect”. As retold by Malcom Gladwell in Blink, Pepsi introduced blind taste tests in the 80s. They beat Coca Cola by a big margin. In order to regain the advantage, Coke developed “New Coke”, a product that was optimized for the blind taste tests. It tanked. Totally. It tanked so bad that coke had to have the words “classic coke” prominently on the label until 2002.
read morePosts
Article Published: Web Integration Testing
I finally managed to finish my article on testing web applications with JWebUnit and Jetty. The article is published on java.net as last Thursday’s featured article. Enjoy!
read more