Programming

API Client Design Across Languages - Part 1

In my recent post Some Best Practices On Building An Integration, I espoused the benefits of using API owner supplied tools and libraries, and mentioned area...

Just A Minor Patch

So obviously testing is important. That’s not exactly deeply insightful; we all know this. Even the slightest, most unassuming change can have weird effects....

You Are In A Legacy Codebase

YOU ARE IN A LEGACY CODEBASE > RUN TESTS YOU HAVE NO TESTS > READ SPEC YOU HAVE NO SPEC > WRITE FIX YOU ARE E...

What If It’s Null?

You find odd bits in any code base, especially one of significant age, with a few dozen different developers, that has gone through massive refactoring and r...

Rebranding Is Hard

A few years ago my company went through a rebranding excercise and got themselves a shiny new logo.

The Right Trade-off

Gina Trapani had this to say today on twitter: Better user experience almost always means more developer effort and often more complex code. That's the r...

Google’s Little Porn Bug

I was greatly amused by the recent stories of what Search Engine Land has dubbed, “Google’s anti-SafeSearch feature.” It is however bug.

The Final Frontier

Randall of xkcd (which if you don’t read, you should really give it a try) posted yesterday about a somewhat morbid interest in actuarial tables which led to...

Liferay Browser Launcher

Since we deployed our Liferay 6.1 environment at work, we’ve noticed that tomcat refused to shutdown cleanly. When executing the shutdown script, it would ha...

Dedication and Paranoia

One of our main projects has still been sitting in CVS for some time. Everything else under active development either started in, or was moved to SVN for som...

AJAX In Liferay

Lately at my company we’ve been working on a number of portlets for use in a Liferay Portal installation. I’ve had little previous experience with Liferay, o...

Humour In The Contents

Got a laugh from this ticket in our bug tracking software earlier this week: