Subscribe: corporate eejit
Added By: Feedage Forager Feedage Grade B rated
Language: English
call  code  confluence  eclipse  forward  groovy  java  make  new  page  request  response  sitemesh  time  work  working 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: corporate eejit

corporate eejit

Insanity is Normal

Last Build Date: Wed, 6 Aug 2008 08:26:49 -0400

Copyright: Copyright 2008

You Aint Going to Need It Yet

Tue, 5 Aug 2008 21:05:22 -0400

One of my work projects is a pretty hefty 1.5 year old project with about 8 developers. When we started we figured we will need messaging, dynamic persistence (not using a database schema for some aspects) and some other technical features.We started down that road and found the weight of the technical baggage overwhelming. As we were figuring out what needed to be built going down dead ends back out etc. we were too slow moving as any major change required plenty of of work.Finally one of the developers spent a weekend and pared the project down to the bare essentials. Over a year later we are re-introducing some of those features and in time may end up adding all of them back. So our original instincts were correct - but premature and damaging to the project at an early stage. And so it occurred to me that the point of YAGNI is not YAGNI - You may well need it assuming you survive - but just not yet and not carrying the extra weight too early might mean the difference between success and failure.

Atom Publishing Protocol (APP) Plugin

Mon, 14 May 2007 17:14:48 -0400

Just released an APP plugin for confluence. The code is based on code from propono , so a thank you goes to the Rome guys. The protocol is great to work with , all you need to debug and test is wget or similar and it worked right off the bat with Joe's APP Test Client. Looking forward to many more happy atom hours.

Wankr beta

Sun, 15 Jan 2006 19:16:39 -0500

This has Hani written all over it....

Due to circumstances beyond our control

Sun, 8 Jan 2006 18:42:44 -0500

  1. You order a food delivery from a supermarket (take your pick of any of the UK ones)
  2. Food does not arrive when it should and no one calls
  3. You call said supermarket to find out whats up
  4. The recorded message goes - "Due to circumstances beyond our control we are experiencing high call volumes, it will take us approximately 2 hours to answer your call"


My dear suppliers - you are in control of your bloody circumstances. People have better things to do at 10:30 PM on Friday night then call you.

If they call it's because some of the circumstances you do control have been badly controlled.

Sort it out ! - and next time please get the message to say - "Due to our poor quality service we are experiencing high volume of angry calls, you might want to come back later..."

CMMi - The Missing Practice

Sun, 8 Jan 2006 18:11:18 -0500

We are doing some CMMi work at work and overall I have no major issues with it.

The vocabulary makes me want to vomit ( you need to institutionalize this practice....) but overall it's relaxed enough about how things are done to be fine.

One major issue and surprise though - Recruitment is not one of the practices covered. WTF?

If there is a single most important practice in the life of a software organization, a practice that will make the difference between success and failure, between quality and muck it has to be recruitment.

Working as an architect I should in theory have nothing to do with recruitment, but I make it my business. I think the strongest technical people you have need to be involved and dedicate enough time and thought to how recruitment works. Helping sort out the recruitment of developers is probably the single most important contribution a technical leader can make to his company.

Confluence File Uploader - New Version

Wed, 29 Jun 2005 07:53:43 -0400

Same place as before .

Fixed - Works with both 1.3 and 1.4

New - Drag and Drop for file selection

Confluence File Uploader

Tue, 28 Jun 2005 10:03:23 -0400

Using confluence ?

Try the confluence file uploader. Webstarted Swing client for bulk uploading to confluence.

The end of Jar Jar Binks?

Mon, 27 Jun 2005 06:28:09 -0400

This is my JSR of the year : JSR277

Should I Be Having Fun at Work?

Wed, 1 Jun 2005 05:56:30 -0400


It wouldn't work otherwise.

I can not imagine spending such a major chunk of life doing something which is no Fun.

From the WordNet Search :

  1. activities that are enjoyable or amusing; "I do it for the fun of it"; "he is fun to have around"
  2. playfulness: a disposition to find (or make) causes for amusement; "her playfulness surprised me"; "he was fun to be with"
  3. amusing: providing enjoyment; pleasantly entertaining; "an amusing speaker"; "a diverting story"; "a fun thing to do"

I believe fun to be an integral part of sustainable pace, and of getting the best out of yourself and the people working with you.

It could be added to the agile manifesto: Having fun over Having the will to live sucked out of you

I Love Job Interviews

Tue, 31 May 2005 12:31:46 -0400

From a real interview :

Interviewer A- "Can you explain transactions ?"

Interviewee - [some explanation of a transaction...] "It's like the Teletubbies having real people inside. They look cute and furry on the outside but are actualy complex inside..."

Interviewer A - "Is this a hidden reference to ACID?"

Interviewer B - [in tears ]"Take it back! They don't have people inside them. they are from outer space!"

The Architect Debate

Tue, 10 May 2005 18:02:49 -0400

A very active debate on TSS regarding what makes an architect, and how to tell the difference between a senior developer and an architect. As someone whose job title has the dreaded A word in it somewhere, I can offer a sure fire way: architects are better paid. This is one reason lead developers are lured into wearing the A badge, much as they dislike being associated with uselessness.

My Flickr Home

Sun, 10 Apr 2005 07:12:17 -0400

Photos from Zorkin

The Constant WTF

Sun, 10 Apr 2005 06:41:05 -0400

I have been reading and enjoying the daily wtf. A real must read, and a good way to savour the output of all those nearly developers out there... For those who have been enjoying it, there is now a better fix - The Constant WTF.

GridBag Of Shite!

Wed, 23 Mar 2005 13:47:15 -0500

Is GridBagLayout the worst ever ?

Run the application...


OK, Resize...


GridBag baby GridBag!

Me The Developer

Wed, 16 Mar 2005 18:18:46 -0500

My friend the developer

Java Development Connoisseur + Open Source Contributor = OSX

Sun, 7 Nov 2004 14:39:32 -0500

So Is OSX the thinking geeks Linux ?

Within the group of OSS java geeks I have the pleasure of knowing, there is a growing number of OSX users.

I guess it's like the iPod vs Rio , no matter how much storage , battery life , etc the rio has , the iPod has the allure.

Also as a user OS , OSX wipes the floor with both Windows & Linux.

I'm still waiting for OSX on Intel before I move..

Resharper - Bringing the dead goat back to life

Sun, 7 Nov 2004 14:34:48 -0500

If you are using Visual Studio 2003(fondly known as the dead goat), especially if you are trying to write code, rather than ride the wizards, run to the JetBrains site and get Resharper

Though it's missing a few very useful refactoring (introduce field sticks out for me, but there are quite a few missing) it works like a magic wand passed over the deceased goat, bringing it to life, and making it trot at a pace not a million miles away from real development environments.

Quite a few of the old friends are there including :

  • Ctrl+N Go To Class
  • Shift+F6 Rename
  • Ctrl+O Popup Outline
  • Ctrl+Alt+V Introduce Variable
  • Ctrl+J Insert Live Template
  • Ctrl+Alt+F Reformat Code

And naturally Alt+F4- Go back to IntelliJ :-) .


Confluence Console - Now available in batch mode

Wed, 29 Sep 2004 07:37:11 -0400

As the public request atched an internal request, ConfluenceConsole now runs in either interactive or batch mode.

Confluence Console - Why ?

Tue, 28 Sep 2004 12:21:00 -0400

Well the short answer is, I had to copy a space between servers...

So withoput further delay to your browsing amusement I present the imaginatively named Confluence Console


Fri, 17 Sep 2004 13:51:40 -0400

Everybody has a pet name for variables - foo, bar , baz, the standard french one is toto for some reason...
Mine is Mooky.

How Many Ways can You Spell Britney Spears?

Sun, 8 Aug 2004 17:44:33 -0400

Google explain the need for a dictionary:

"The data below shows some of the misspellings detected by our spelling correction system for the query [ britney spears ]"

Manifesto for Agile Corporate Software Development

Sun, 1 Aug 2004 20:39:30 -0400

I was really excited reading the Manifesto for Agile Software Development :

"We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:"

The Agile Manifesto Values
We Value We Value More
Individuals and interactions processes and tools
Working software Comprehensive documentation
Customer collaboration Contract negotiation
Responding to change Following a plan

"That is, while there is value in the items on the right, we value the items on the left more. "

This is great I thought, and set about applying this at a corporate level.

Naturally, in order to achieve this, the current slightly naive touchy feely approach had to be adjusted. Perhaps made more industrial strength to suit a no no-nonesense corporate environment.

After many meetings, heated debates, and a handful of re-writes we managed to agree on the following revised edition.

The Corporate Agile Manifesto Values
We Value We Value This Too Not Bad Either
Individuals and interactions Committees and standards Processes and tools
Working software Mostly working software with slightly out of date documentation Comprehensive documentation
Customer collaboration Service Level Agreement Contract negotiation
Responding to change Change? Now? Following a plan

That is, while there is value in the items on the right, we value the items on the left more. Unless the project is shorter then 5 months or has a team of more then 12 developers.

The values in the middle we do, but we don't like them nearly as much as most of the items on the left, or some of the items on the right (assuming they are within the half yearly budget envelope).

And while we try and value the items on the right more then the ones in the middle, the values on the left have precedence if endorsed by a senior sponsor, or are attempted after lunch by an inexperienced developer.

DamageControl - Looking good

Sat, 31 Jul 2004 18:32:51 -0400

Have a look at the new DC dashboard on codehaus.

With some work by the atlassian boys, this is starting to look good.

It's not unlike Confluence where I guess some of the L&F was borrowed.

Microsoft does the right thing

Sat, 31 Jul 2004 06:04:33 -0400

After blogging and writing about the exciting combination of anonymous delegates and generics, I followed a link to the .net core libraries blog.

I was thrilled to see that they have applied these ideas to the collections api.

It would be very useful applied in more areas like IO and Database access, but at the very least it's a good start.

Groovinating C# 2.0

Wed, 28 Jul 2004 16:07:06 -0400

Following a chat with Joe , I have been playing with the anonymous delegate feature of C# 2.0 and I like it.

(shame about VC# Express 2005 though... IntelliJ it's not)

I have been trying to Groovinate C#, and it's looking quite nice.

Would be better built-in. ( If anyone in Microsoft happens to be reading...)

Java Folks Join, Break Google

Mon, 26 Jul 2004 13:19:59 -0400


Visual Studio 2003 - The Pain !

Thu, 22 Jul 2004 16:46:28 -0400

I have recently started writing C# in anger , and was fairly shocked by the poor quality of some aspects of VS 2003 namely :
  1. Renaming a WinForms element in the designer does not change the code - it just fails to compile
  2. Stack traces are not hyperlinked - can not click on a line and go to the source
  3. The UI designer is worse then the VB6 version - try a splitter with a tree on the left a listview on the right and a status bar across the bottom. Whoever released this needs an urgent sanity check
  4. Non resizeable dialogs. Why do MS never produce resizeable dialogs? (look at the Options dialog)
  5. None of the useful IntelliJ stuff - It's like racing a dead goat without Resharper

Care in the (Java) Community

Mon, 12 Jul 2004 05:26:40 -0400

JavaOne: where's the community?

With a monster 1.5 release there is so much to talk about, and I'm looking forward to beer with the atlassian boys. I'll be there.

The Eclipse Pain - Nearly There ?

Tue, 8 Jun 2004 19:17:14 -0400

Giulio Tells the sad tale....

Well , with the Eclipse quicksand of the last few months, it has been a pain to keep both TimTam and The Groovy Eclipse code working on the latest Milestone.

Now with RC1 out and no more API changes for 3.0 I'm working on both.

And as the Eclipse team has finished the Browser work for OSX , the TimTam on the Mac will be an option.

TimTam beta1 is out

Tue, 13 Apr 2004 21:19:13 -0400

it's just a release , I have to let it go, there will be others some day...

Recently added features :

  1. Lazy Loading of Page Information
  2. Permission Tree Decoration ( ok , it's a little lock if you don't have write access )
  3. Initial Content Assist Support ( For Confluence Macros only at the moment, but it's more a declaration of intent)
In the next version :
  1. Page Drag N Drop ( Code in place pending bug fixes in Confluence)
  2. Page Version Diffing , Roll Back
  3. RSS Integration
  4. Extended Content Assist
  5. Whatever you ask for..

Note - the default confluence server - seems to have a problem with the SOAP configuration , and is not available through TimTam

I hope Mike fixes this soon...


Why Groovy Smells Fishy....

Thu, 1 Apr 2004 11:16:15 -0500

James Strachan, on hearing that the JSR was approved, holding a pre release version of Groovy

The Best Swing Layout Manager - Now Available for SWT

Mon, 22 Mar 2004 06:19:13 -0500

Having used many layout managers on a number of platforms , I consider Karsten Lentzsch's Form layout the best.

It separates the layout concerns into :
  • layout manager ( responsible for doing the layout )
  • builder ( responsible for configuring and constructing the layout)
This separation, coupled with the use of a very simple form specification language, make it a joy to use.

As i'm doing a lot of Eclipse work, I was planning on porting the code ( it's OS ) to SWT, but have been spared the effort by Florian Fankhauser: SwtForms

This is a very welcome addition to the
arsenal of any Eclipse/SWT developer. Thank You Florian !

Groovy Support in Eclipse M7 - Update

Fri, 19 Mar 2004 20:48:24 -0500

New Version Out:

Bug Fixes

  1. Missed a change in the compiler exception classes- hence no decent error reporting
  2. Content Outline dispose bug - this is a bit like C++ when stuff goes bang!
  3. Wizard problems - mainly in the latest integration build
When working with this plugin, make sure you filter in GroovyFailureMarker problems

Go to the Problems window, open the menu, select Filters... and make sure it's selected

New Features

  1. All Runners will run any TestCase based class as if it had a main by calling junit's TextRunner ( make sure you have junit.jar in the proj - it's automatically added by either the groovy or junit new test wizards)
  2. Support for latest integration build eclipse-SDK-I20040318

It looks like this in the integration build :


Pick it up from the same place :

Please post Bugs / Requests in the Codehaus Jira.


Groovy Support in Eclipse M7

Thu, 18 Mar 2004 19:14:06 -0500

Didn't have nearly enough time to spend on this.

But release we must.

Including :
  • Java Configuration based Syntax Highlighting
  • New Class/ New Test Wizard
  • Naive Builder ( good enough for small groovy projects )
  • Run As - Run.. in a seperate VM linked to the eclipse console
  • Content Outline

It looks like this :


Get it here :

To use
  • Create a normal Java project, src dir , packages , classes etc
  • File->New->Other ( Ctrl-N) Groovy Class
  • Name it , choose a package etc
  • Write some groovy groovy code
  • Run->Run As->Groovy
Bugs , requests etc in Codehaus Jira Please...

Next on the list :

  • Groovy unit test runner
  • Content assist - mid hard
  • Refactoring support- well hard

The Biscuit is out of the Bag

Wed, 17 Mar 2004 11:39:33 -0500

James is fast , and the biscuit is out of the bag...

In between working on the groovy support in Eclipse (M7 support in CVS tonight..) and doing my day job, I have written TimTam An eclipse based editor for Confluence.

It uses Confluence’s SOAP API to do it's thing , and even if I say so myself is a more pleasant way of editing a confluence site then confluence...

I will release the code and a plugin version for eclipse-m7 this weekend, with an RCP client coming shortly.

Stay tuned...

Pushing your Ferrari around the race track

Mon, 9 Feb 2004 18:48:50 -0500

I have had the opportunity to pair with quite a number of developers seeking Java related employment recently, and I could not help but notice a common and significant problem.

They where using the cutting edge, refactoring and code generation enabled IDE's ( IDEA or Eclipse ) like it was Borland Turbo C 2.0 circa 1992.

Not for a second where they inclined to peer into the Refactoring menu.

The Source Menu was left untouched, and years of great improvements to developer productivity where ignored like a pile of rusting washing machines.

Eclipse and IDEA are not a nice editor with a compiler/make/debugger stuck on the side.

Mastering the use of these tools can make you considerably more productive. And is one of the gret joys of developing in Java.

So stop pushing blindly, open up the menus you have not bothered with, yes the ones that were not there when you were happily using Visual Studio 6.0 and get productive.

Let it snow let it snow let it snow ( somewhere else )

Tue, 27 Jan 2004 19:12:52 -0500

The weather man said tuesday , but we had to wait till 1:00 AM on Wed for fresh London snow.

Night Night.

Releasing Broken Software or Why Red is the New Green

Sun, 25 Jan 2004 18:16:29 -0500

Deploying software to production is really stressful.

The users have expectations, your boss has expectations, it's scary so many things can go wrong.....

The JUnit bar is green , but we all know this does not mean there are no bugs, they are just in hiding.

But with the power of XP and TDD we have a plan.

Preempt the software from surprising you, by going live when in the red.

This way when the bugs come pouring in , you know where they are, and can be the envy of your peers by being the fastest bug fixer in the company.

You know where you stand when your in the red, So go on break a few tests...

New Year - New Stuff

Fri, 9 Jan 2004 19:18:16 -0500

Long time no blog , so it's good to be back.

Anyways , I'm reading the highly enjoyable Contributing to Eclipse: Principles, Patterns, and Plugins and it came at exactly the right time as I'm at the beginning of some eclipse plugin development.

I'm working on eclipse support for Groovy.

I'll try and get it to a level where using Groovy in eclipse java projects for unit testing or for some of the production code is close to using Java from a tool support perspective.

The JDT has a fairly steep learning curve ( vertical almost ) and it doesn't look like I can just plug it in, but we shall see....

For know I have a builder running fine , a Launcher/ Launch shortcut in a separate vm with console support, and a [very] simple editor.

I'll try and make this available next week as an eclipse update site through codehaus....

I'm having fun , and this will assist in the work I'm doing around the RCP as a corporate desktop app platform. Happy New Year !

A Hole in the 2.3 Servlet Spec - Closed in 2.4 Final !

Tue, 25 Nov 2003 18:10:51 -0500

SRV.6.2.2 Wrapping Requests and Responses

"The same requirement of wrapper object identity applies to the calls from a servlet or a filter to RequestDispatcher.forward or RequestDispatcher.include, when the caller wraps the request or response objects. In this case, the request and response objects seen by the called servlet must be the same wrapper objects that were passed in by the calling servlet or filter."

And so forever more sitemesh and it's ilk will play nicely and in a standard compliant way with any 2.4 compliant servlet engine ( coming soon to a store near you ).

I feel a sense of belief in the power of the JCP.

Hallelujah !

The MS Roller Coaster - Release Fast - Deprecate Fast

Thu, 20 Nov 2003 05:27:55 -0500

Microsoft's ongoing march of technology continues at some pace.

Reading some of the available information on the new Longhorn technologies, specifically Avalon and XAML (GUI) , and Indigo (Web Services) I get the distinct feeling that they are deprecating two .net technologies after only 2 years in the market.

Why should anyone waste time with winForms , when Avalon will make it obsolete in a couple of years or less, and alpha versions are available today.

why should anyone waste time on .net remoting, when Indigo will make it obsolete in a couple of years or less, and alpha versions are available today.

With no JCP or multi vendor arguments to slow things down, the pace of change is relentless. .net is a relatively young platform , and there are bound to be some parts of it that are discarded along the way.

A Hole in the 2.3 Servlet Spec

Tue, 11 Nov 2003 06:36:58 -0500

We like sitemesh so much, we actually use the damn thing in our applications. It is also used heavily in Jira which we run. Recently we had to upgrade our Websphere servers to 5.0.x where x >= 1 and sitemesh stopped working. All we got back was a blank page..... To get a clear picture of the problem, here is a simple description of how sitemesh does it's thing. 1. request arrives at the sitemesh filter for foo.jsp 2. sitemesh filter creates a substitute response , and let's the call complete by calling chain.doFilter, passing in the substitute response 3. once the call returns, the substitute response contains the data rendered into it by foo.jsp 4. the filter consults the configuration for the name of the decorating page to apply to this request 5. the content of the target page (foo.jsp) is placed as an attribute in the request 6. the filter uses a RequestDispatcher to the decorator ( say mainDecorator.jsp) and calls include passing in the 'real' request and response . 7. the decorator page renders into the response ( note that this is the first time anything is actually written to the 'real' response ) 8. the decorator page contains a tag , which reads the target page data stashed in the request, and renders it into the decorator page 9. end result ==> decorator page rendered around target page. After running the excellent sitemesh testsuite ( kudos to Joe ), we discovered the problem: It was to do with mixing filters with request forwards. Where did the forward calls come from ? Well, the application uses an MVC framework ( Web Work 1.3, but same applies to Struts ), which after executing the action, forwards the invocation to a view, using the RequestDispatcher forward call. Following some discussions with the very cooperative IBM guys , we arrived at the following loophole in the servlet spec : Servlet spec 2.3 SRV.8.4 The Forward Method "Before the forward method of the RequestDispatcher interface return, the response content must be sent and commited, and closed by the servlet container" That seems reasonably clear, until you add the filter's ability to substitute or wrap the 'real' response, as clearly stated by SRV.6.2.2 If the response passed in to the forward call of the RequestDispatcher interface, is a 'fake' and not the 'real' response for this invocation, should the forward call send, commit, and close the 'real' response or the 'fake' response ? IMHO , it should be what ever response was passed to the forward call, but that was not the case in WAS 5.0.1/2, and so the behaviour was : sitemesh+MVC = blank page . Fortunately the IBM WAS guys agreed, and quickly produced a fix for this ( IBM iFix PQ80592). I hope the spec is clarified at some point as well... [...]

Making a T-Shirt from a Blog Entry

Tue, 28 Oct 2003 09:51:41 -0500

It's nothing like blue peter you know...

The good folks at Pico liked my Pico T-Shirts blog entry so much, the t-shirts are on the way

I might get a free one in lieu of copyright :=)

Sitemess Pain

Mon, 27 Oct 2003 16:56:56 -0500

We use it , it's a good idea, the code is mostly nice with some container related gunk, and the testing suite written by Jo Walnes makes for a good example of how it should be done. , It's such a good idea ASP.NET will have it's own sitemesh in version 2.0 with master pages...

However it is currently broken on both tomcat and websphere with a Using OutputStream after using a Writer IllegalStateException. In both containers this relates to including a .html resource, and having the container code call getOutputStream().

I must say the Writer/OutputStream - choose one only - situation is so very very stupid and fundamentally flawed

Even the bloody container is unable to stick to one of them in some requests, what chance an application using some third party code ?

Where as the the above mentioned problem is curable ( by means other then using ASP.NET ) , we are experiencing a sitemesh/webwork related problem with Jira 2.4.1.

Running on webspeher 5.0.x where x >= 1 , we get back a beautiful white empty page when trying to log in.

Attaching some trace output to sitemess, by passing in a PageResponseWrapper for the second pass, reveals the request is perfectly formed , but attempts at writing it to the real response result in nothing appearing on the other side.....

What a pain.

Dublin Core Metadata Element Set, Version 1.1:

Thu, 16 Oct 2003 06:20:01 -0400

dc:Title: Off to a wedding in Dublin
dc:Description: My friends are getting married tomorrow in Dublin, so I'm taking a couple of days off for some guinness and champagne drinking, and general meriment
dc:Date : 16/10/2003

Corporate Lessons in XP - Lesson #1

Tue, 7 Oct 2003 17:06:43 -0400

I work for a very large company( fondly known as a corporate ) , as the title of this blog suggests.

We have recently started applying the Xtreme Programming methodology to our development process, to make it go faster, and as I am involved I thought I'll keep track of the key lessons I learn as we go along, and write them down here.

I knew there will be some profound ideas along the way...

XP Rule #1 - Don't Clean Broken Windows

OK, the way I understand this after a week of extreme learning is, the code is like windows, which is uncanny as we develop on Windows ! , how cool is that ? awesome!.

Know, we have to make sure the windows (code) doesn't break ( stop working ), so we have to constantly clean (refactor) it. If it is already broken however ( broken by someone else perhaps , like the idiots who worked on it before you ) we must not clean it, as we might cut our hands (waste time) .

I don't know about you, but it certainly struck a chord with me.

I can not believe how naive and clueless I was before, and I'm sure there are more important lessons ahead.


IntelliJ IDEA changed my life

Fri, 3 Oct 2003 19:36:21 -0400

In the last 2 years we were part of a revolution in development technology

The revolution was not broadcast on TV

Bill and Scott didn't cover it in their respective key note speeches

It wasn't on MSDN , or

Gerald Bauer was'nt upset about it

There were no ads for this revolution

I guess it was fitting that it came from Prague , like others before it, bringing freedom and joy to the oppressed, battling to keep the windows complete and the code clean under the old regime.

IDEA changed all that , and if imitation is the sincerest form of flattery, then the Eclipse team have certainly flattered it enough.

So I will just add a small personal note : JetBrains, thank you for making my working life better.

The Repetitive Test Injury Pattern

Fri, 3 Oct 2003 18:58:11 -0400

This is how it happens:

you are developing a part of the application that involves looking up some data based on a user provided pattern ( country code, counterpart code whatever ) ,which then queries the database, displays some results on the screen or page , and allows you too work with the results in some way , perhaps zoom on a single result in more detail, certainly sort the results.

You spend time on this page, perhaps two, three, or even more days going through the same repetitive sequence :
  1. Change the code
  2. Run the application / Web Container
  3. Load the page
  4. Type a pattern for the lookup
  5. Sort the result by clicking on a column header
  6. Zoom on a particular result
Then your boss walks round to your desk to see the cool new screen.

He tries it

The app blows up with some exception

He tries again , and this time gets some results, he tries to sort them.

They are incorrectly sorted

He tries to zoom on one

Another exception

How can this be , you have done this over and over, hundreds of times in the last few days without a hitch?

You have just been a victim of Repetitive Test Injury.

You were using the same lookup pattern every time

You were sorting the same column every time

You were zooming the same record every time

Hundreds of potential opportunities to find new bugs squandered. And the humiliation of seeing your boss enjoy himself so much :-)

Just Say No - Don't Repeat your Manual Tests, Take every opportunity you have to widen the test circle.

With thanks to Fred Tingey, who has stood smiling at my NPE's and GPF's many times...

Winter is Coming

Wed, 1 Oct 2003 17:56:04 -0400

Sore Throat - check Fever - check Want to stay in bed and not go to work - check Winter is coming again.