Quote Of The Week – 2009/01/22

Posted in: Software Development, Craftsmanship, Software Development, Quality Assurance & Control, Quotes

I’ve heard it said that the difference between useful software and worthless crap is that people build useful software for themselves, and build worthless crap for other people to use.

“Uncle” Bob Martin
Java Dates

Quote Of The Week – 2009/12/11

Posted in: Software Development, Craftsmanship, Software Development, Quality Assurance & Control, Quotes

Programmers are responsible for software quality – quality in their own work, quality in the products that incorporate their work, and quality at the interfaces between components. Quality has never been and will never be tested in. The responsibility is both moral and professional.

Boris Beizer
(from Software Testing Techniques, Chapter 13)

Top 10 Bare Minimum Web Client Performance Tweaks

Posted in: Software Development, Architecture & Design, Software Development, Craftsmanship, Software Development, Quality Assurance & Control, Software Development, Software Development, Web Technologies

In my previous article (Performance Tuning Resources For Web Clients) I discussed why you should care about the performance of your web client and then listed out some of the better places to go on the web to find information on how to go about tweaking your web clients to get that better performance. In this article I am going to dig a little deeper and call out specifically what I think are the Must-do-No-excuse-not-to-do-them-You-are-really-being-unprofessional-if-you-are-not-doing-them tweaks that you should be performing on every single one of your web development projects.
Continue reading »

Performance Tuning Resources For Web Clients

Posted in: Software Development, Architecture & Design, Software Development, Craftsmanship, Software Development, Development Tools, Software Development, Open Source, Software Development, Web Technologies

Recently I have been doing some research on tweaking websites to make them faster (either in reality, or at least in appearance to the client). Specifically the research has been focused on the actual client tier interaction – requesting the page, downloading the assets and rendering the page in the browser. In this post I will document some of the better resources I have found, focusing on client-side tweaks, so these resources should be relevant no matter if you are a Java, PHP, .Net or any other flavor of developer.
Continue reading »

Quote Of The Week – 2009/11/13

Posted in: Software Development, Craftsmanship, Software Development, Quality Assurance & Control, Quotes

“Good enough” software is rarely good enough. It is a sad manifestation of the spirit of modern times, in which an individual’s pride in his or her work has become rare.

Niklaus Wirth
(From an interview in Software Development, June 1997)

Microsoft Hates Testing … Um, No Surprise There

Posted in: Software Development, Craftsmanship, Software Development, Development Processes, Software Development, Quality Assurance & Control, Reviews

A colleague of mine forwarded an article to me during this last week, which he prefaced with the following statement …

guys, I’ll write it in all caps and bold:

I AM NOT PROMOTING OR IN AGREEMENT OF ANY OF THE POINTS THE ARTICLE MAKES.

… which begs the question, why did he send it not only to me, but an entire team of people? I choose to believe it was because he is an enlightened soul that understands that the best way to reinforce your own beliefs is to read more of the opposing point of view, not more of the view you already have. I am lucky to have a few of these souls working for me right now.
Continue reading »

SoCal Code Camp Los Angeles II

Posted in: Software Development, Craftsmanship, Software Development, Development Processes, Software Development, Training

SoCal Code Camp is back, November 21st & 22nd

Code Camp is a place for developers to come and learn from their peers. This community driven event has become an international trend where peer groups of all platforms, programming languages and disciplines band together to bring content to the community.

Who is speaking at Code Camp? YOU are, YOUR PEERS are, and YOUR LOCAL EXPERTS are…all are welcome! This is a community event and one of the main purposes of the event is to have local community members step up and offer some cool presentations!

Design Patterns 15 Years Later

Posted in: Software Development, Architecture & Design, Software Development, Craftsmanship, Reviews

It is one of the most venerated books in the world of Software Engineering. It is such an icon it even has its own nickname and even the acronym of the nickname is easily recognized by most software architecture and design zealots.

I am of course talking about Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Also known simply as the Gang of Four book, or even more simply as just GoF.



I in fact never purchased the book myself, but I have definitely read it and it has been on my bookshelf for the best part of a decade now. When I first moved to the United States I moved into an apartment that was being rented and paid for by the company that hired me. It was the heady days of the .com explosion so there was a high rate of turnover at the company. When I moved into the apartment, it was clear that the previous occupant/employee had only just vacated and had left some personal belongings behind. One of the items carelessly discarded was a copy of Gof.

Now to be fair, the book will put the hardiest of readers to sleep pretty easily – it is most definitely a tome of knowledge, not a work of entertainment. But nonetheless, my copy is certainly worth the dead trees it is printed on.

As with many new ideas, there is rarely just one person thinking about them. It usually takes these visionaries getting together and coming up with some common terminology and cohesive thoughts to really launch the new idea into the mainstream. This is what GoF did for Design Patterns, and it is in this launching that its main value resides.

It is hard to believe that this book is already 15 years old. But InformIT has just published an interview with 3 of the gang (Vlissides died on Thanksgiving Day in 2005) to look back on the book, its influence on the Software Engineering industry since its release and whether in the rapidly changing world of app stores, mashups and the like, whether the book is still relevant.

InformIT: Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson > Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson

Get Your Firefox Add-Ons Under Control

Posted in: Software Development, Craftsmanship, Software Development, Development Tools, Software Development, Quality Assurance & Control, Reviews, Software Development, Web Technologies

Firefox add-ons can be hard to manage – for me, mostly in terms of finding quality add-ons that do something you find useful.

There is a new feature available called Add-on Collections. The name is helpfully descriptive – basically people can now group related add-ons together, give that group (or “collection” if you will) a name and list it on the site. So if you are on every social network, there is a collection of all of the add-ons that allow you to stay connected with those networks from the browser. If you like to travel, there is a collection that pulls together all of the add-ons that will help you do your thing. You get the idea.

Read more about Firefox Add-on Collections here.

So, if you consider yourself a web developer of any kind, please take my recommendation and install the Web Developer’s Toolkit collection right now, today, without delay. Hopefully you are already using Firebug, but there are a bunch of other add-ons in this collection that you might not be using already and you really should be.

And if I can provide one more piece of advice today – learn to use the tools you have available to you. Every day I see software developers doing things the hard way, particularly when it comes to debugging issues. There is a cornucopia of tools out there to help you do your job and if you know how to use them and you know what issues they will help you solve, you will instantly become a better developer – more efficient, more productive, more reliable, more dependable – perhaps, dare I say it, a craftsman.

Imagine an Electrician who carried around a whole toolbox of tools, but only knows how to use a screwdriver and a hammer – he can probably complete most tasks with those two tools, but he is probably going to disappoint his customers and not make much money as a contractor.

So, in summary, get some decent add-ons for Firefox to help you be a better Web Developer, and then actually take the time to learn how to use them. Easy.

Ben Galbraith on Creating Compelling User Experiences

Posted in: Software Development, Craftsmanship, Software Development, Web Technologies

I had the privileged of seeing Ben Galbraith present at JavaOne last week, in fact his presentation was the very last presentation of the conference for me, late on the Friday afternoon.

I have seen Ben present before and his presentations are always engaging, informative and I always end up with a page full of action items from them. This one was no exception.

Ben has put a post up on his blog that roughly covers the same material that was in the presentation, so I wanted to link to it to give a little back to Ben as I have gotten a lot from him over the last couple of years.

I strongly recommend reading the article if you are interested in user experience design and its importance in Software Engineering.

Thanks again Ben!