Posts
On Integration: The vision of a single database
Before Web Services, there was CORBA. Before CORBA, there was DCOM. Before DCOM, there was RPC. Before RPC, there was BSD sockets. Before sockets, there were databases. And as it was in the beginning, so shall it too be in the end.
The only systematically successful strategy in the history of computing is databases. I have discovered more and more lately that integration using a database is well-defined (DDLs - a WSDL that works!
read morePosts
Words fail me
“I really wish you’d stop using that word - I don’t think it means what you think it means.” (The Princess Bride - of course)
When my wife asked “are you a feminist,” I realized I don’t like words very much. To some people, “feminism” means women who dress like men, think pornography is destroying society and that all men are inherently evil. You know the type I’m talking about. To many others, including my wife, a “feminism” is “the radical notion that women are people”.
read morePosts
Some words
Here are some of my favorite words.
Signs of danger ‘Just’: bad word, as in “can’t we just develop the greatest application ever”, “can’t we just replace the database with JavaSpaces”, “can’t we just expose the functionality to the world as a web service”. ‘Should’: bad word, as in “it _should_n’t take more than a few days to do that, should it,” “integrating two systems should be easy.” Listen for use of this word from people who … should know better.
read morePosts
Tips for Developers
Update: Rewrote several sections
“Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it.” - Alan Perlis
This article contains some things I have learned that has made me into a better developer than I was before I learned them. There are nine tips. These are not necessarily the only, or the best things I have learned, but I like the number nine.
Becoming a better developer is a complex path.
read morePosts
The Joys and Sorrows of Exceptions
Updated for republication in Mr Bool
In my experience, the most serious bugs in programs in production are in error handling routines. Inventive programmers often try fancy things when dealing with errors, but error situations are often omitted during testing. This article examines the fundamental questions of exceptions: What causes exceptions, and what can be done with them?
Bad User, Bad Server, or Bad Programmer Practices of an Agile Developer puts exceptional events into three categories:
read morePosts
Why I Love SOA: Design Business-Related Services
What happens when a customer asks for a simple new bit of functionality? Do you have to execute changes on four different systems, test each in isolation and in combination, involve a separate testing, infrastructure and operations team? If so, your architecture is probably not service oriented. In this post, I will examine the real meaning of coupling, and how it relates to SOA.
I will, like others taking about SOA, try to define what I mean by SOA in this post.
read morePosts
Anti-spam measures
After I switched from Movable Type to Wordpress as my blogging software, the comment spam problem has returned from the grave. So I’ve looked for good solutions for WordPress: I ended on a verbal CAPTCHA with a math question (which may also keep stupid commenters out - not that I have any of those, of course). I am considering some of the “fight-back” solutions out there too: Maybe returning a really big response really slowly when spam is detected, like Spammer Tar Pit.
read morePosts
Thinking outside the box
What is the next letter in this sequence: A E I. And this sequence: A B G D? How about this one: B C D G J? A boy and his mother are in a horrible car accident. They are rushed to the hospital, but on the way, the mother dies. When they arrive at the hospital, the nurse exclaims: “But that is my son!”. How can that be? You’re in the basement of a house.
read morePosts
Lazy Loading on Java.net
My article series on Lazy Loading will be published on java.net tomorrow. In relationship to the publication, I am taking down the original articles from my blog. Please go to Java.net for to read about lazy loading.
Update: The article was just posted last Tuesday. I have updated the links in this post.
read morePosts
Myopic Software Development
Myopia: the inability to see distant objects as clearly as near objects. PreferredConsumer.com
What makes a good statement? In my experience, a good statement is one that people will disagree with frequently. One of the internal quality auditors at my company has an excellent plaque in her office: “If you and I agreed all the time, one of us would be superfluous”. So, in the spirit of disharmony: Agile development is all about being myopic, that is, short-sighted.
read more