Posted Sun, 10 Aug 2008 19:46:19 GMT
Ok, prepare for this, cause this is the most psychological I’ve ever been on this blog, but I am going to write it, just for the hell of it and because I keep seeing it in my real work life. Picture this: You and your girlfriend have lost/left your keys. You sit in front of your house. Imagine this exchange:
I can’t believe it’s happened again! We should leave a set of keys with our neighbour!
Yeah, but what happens if she’s away right when we lose our keys??
And you do nothing. This is unhelpful. You should have thought before having a girlfriend who starts most of her sentences with “But…” or even worse, “Yes, but…” And yet, it’s not her fault. She’s preserving the status. If you gave a key to your neighbour, this would tilt the relationship between you, your girlfriend and your neighbour.
Well, sadly, this happens a lot at work, and that’s why a lot of bad stuff (software, habits, mentalities, you name it) never changes. If you need to know more about this whole thing and how it works on psycho-level, read Impro for Storytellers by Keith Johnstone. It’s rather amazing and, in a bizarre way, explains a lot of the daily going-ons in a development team.
1 comment
Posted Sat, 07 Jun 2008 22:04:00 GMT
I was getting an MBeanException with this message when I used jconsole to call a Spring exported MBean method called load(). Other methods (both attributes and operations) seemed to work fine. I may still be totally wrong, but I think that was because of the name of the method. I tried a lot of things for almost half a day, cleared the body of the method, changed attributes, changed the Spring config in many ways, changed names of beans and all sorts of other things - nothing worked. Eventually I stumbled upon this - piece of seemingly irrelevant code. It struck me though that the method that does nothing but throw an exception with a strangely matching message (this string yields only six matches in google) is called load(). I changed the method name and it worked.
So, what goes on inside is beyond me at this time, and I can’t be bothered to investigate right now, but if you’re going to export a @ManagedOperation through Spring do not call the method load().
no comments
Posted Wed, 14 May 2008 12:10:23 GMT
If someone needs a proof that proprietary app servers must die (that’s if the hours you spend dealing with annoying little problems isn’t enough proof), have a look at this piece of code that somehow has appeared in the open source space, but is also used by BEA’s ejbgen under a different package structure.
Have a look at the JavaClassLoadingException and JavadocRunner classes. Especially the use of the JavadocException - with the static method call and all the rest that is going on. I bet the rest of BEA code is full of idiotic use of exceptions and all sorts of other rubbish. Which is why it is a pain… It’s just low quality code, especially compared to the constantly reviewed and improved stuff that comes from the open-source projects that last.
Now, I understand this was done in 2004, but I’ll argue that BEA’s developers have not got any better with the years, if anything they’ve probably done a fair bit of cost-cutting and migrated to using the grads who couldn’t make it to a bank and paying them peanuts.
no comments
Posted Sun, 27 Apr 2008 22:38:44 GMT
By not trying… Here’s what Sir Christopher Wren did in Windsor. It’s somewhat bizarre that I lived in Windsor and ran past that same building practically every morning and never knew about it.
Christopher Wren was already one of the most respected architects in the country when some daft public servant questioned his design on safety basis, and asked for two additional columns to be built for extra support. Wren built them. Look here to see how - http://inel.wordpress.com/2007/02/09/sir-christopher-wrens-joke-in-windsor-guildhall/. They did not touch the ceiling. Many years later, they still don’t touch the ceiling.
As I mentioned earlier, I never knew that during the seven years I lived about half a mile away from this building. I’ve just found this out, from a book, whose main subject is how to ruthlessly manipulate people… Ah, well, you live and learn…
1 comment | no trackbacks
Posted Sun, 16 Mar 2008 15:44:00 GMT
Actually, not just about REST. Those guys spent some time analysing the structure and workings of the web, and asked themselves why it was so efficient and malleable. While most other software was brittle, messy, and unreliable. They found some basic truths about the web, such as, the cost of change is much lower than the added value of that change, therefore it’s worth changing the system.
Anyway, they figured that it’s the “uniform well-observed address space”, which allows the latest bleeding edge Firefox three to connect to some apache server which may have been running for twenty years. It is also the thing that allows resources to be cached in a way that is self-optimising, much like a system acting under the laws ofthermodynamics (the guy’s from a physics background). Incidentally, it is also the main premise behind REST. So apparently, they’ve figured a way to build systems that have similar properties. Their thing is here - http://www.1060research.com/. It’s very impressive in purely philosophical terms and in the implications it has for software developments as a whole.
I reckon some of these concepts can be applied in practice without actually buying their product, NetKernel…
By the way more on this can be found in Roy Fielding’s dissertation here - http://www.ics.uci.edu/~fielding/pubs/dissertation/restarchstyle.htm
no comments | no trackbacks