April 2010
2 posts
Does apathy kill software?
Application software is, ostensibly, created to solve one or more “problems” for someone who matters. That someone is rarely you. Before you (collectively, as a company, or individually) take on the job of building this kind of software then it might be wise to consider the following: Do you believe that this problem really needs to be solved? Do you believe that the problem can...
Apr 30th
The Browser Watcher
One of the biggest distractions for me while testing is ‘look and feel’ anomalies. For example, incorrect or inconsistent colouring of visual elements, spelling mistakes, missing images (icons/buttons etc), incorrect grammar, poorly formatted numbers, misaligned paragraphs and other text… The list goes on and on. A lot of the time while testing I try to defocus from ‘look...
Apr 21st
February 2010
2 posts
“I am always doing that which I can not do, in order that I may learn how to do...”
– Pablo Picasso
Feb 23rd
1 tag
Feb 15th
January 2010
1 post
CppUTest Vim Snippets
To save me valuable keystrokes, I created some Vim snipMate snippets for CppUTest macros and assertions. You can grab them from their home in my github repository. To make them work, I recommend adding the following to your .vimrc, to make snipMate apply the triggers to each of the relevant filetypes, e.g.: autocmd FileType cpp :set filetype=cpp.cpputest
Jan 21st
November 2009
1 post
Netcat Port Scan One Liner
Uses Netcat to check services on TCP ports 21-443, on machines 1-10 in the 192.168.1.x subnet. for i in {1..10}; do nc -v -n -z -w 1 192.168.1.$i 21-443; done
Nov 30th
October 2009
1 post
Curl FTP Upload in Binary Mode
To upload a file via FTP in binary mode, try the following command, using the venerable cURL utility: curl -v -1 -T mybinary.file --ftp-pasv -u user:password -Q "TYPE I" "ftp://ftp.example.com" The magic is in the -Q option, which sends the proceeding text as an FTP raw command. In this example, we send the “TYPE I” command, which sets the transfer type to “binary image...
Oct 28th
September 2009
3 posts
3 tags
Do Duct-Tape Programmers Fly South for the Product...
In response to first Joel’s and then Uncle Bob’s recent blog posts, Mark Needham summarised the “Duct-Tape Programmer debate” from a balanced viewpoint, which is a rare and valuable thing amongst the mud slinging in the comments of both Joel’s and Bob’s articles. I felt similar to Mark when I read Joel’s article; but it wasn’t the message* that...
Sep 26th
1 note
Pomodoro, Applescript and Skype?
After loudly bemoaning my inability to do back-to-back Pomodoros, due to frequent interruptions, Antony Marcano pointed me to Andy Palmer’s useful Pomodoro, Adium Applescript. In a svelte two lines, the script sets his IM client’s status to “Away”, preventing people from breaking his all important Pomodoro rhythm and then resets the status to “Available” once...
Sep 7th
My Agile 2009 Personal Perspective
Brief Summary There are many experience reports from Agile 2009 and plenty of experienced critiques and discussion of the conference, politics and sessions. So here, instead of good reasoned argument, I present the bits of the week that had the biggest impact for me personally, this being my first Agile conference. Agile 2009 was a brilliant experience for me personally. I experienced elements...
Sep 2nd
August 2009
2 posts
I'm Going to Chicago!
“I’m Going to Chicago; I’m sorry but I can’t take you”, wails Robert Plant, as the music fades out of Led Zeppelin’s 1971 hit When the Levee Breaks. That lyric was a reference to the great (oxymoronic?) Mississippi floods of 1927, and the many poor refugees who were forced to flee the flooded area to the cities of the Midwest at the time. The song was originally...
Aug 26th
Why is the On-screen Keyboard so Difficult to...
Is the iPhone keyboard less usable for accomplished touch typists than less experienced typists who still watch the keyboard while pressing keys? I make a lot of mistakes while typing on the iPhone keyboard. I think it’s because I look at the words on screen, as I would when touch typing, rather than the on-screen keyboard. When using a normal keyboard the feel of the keys and their...
Aug 14th
July 2009
3 posts
“Getting people to talk with each other is the only truly effective way of...”
– Thomas Allen
Jul 19th
“I now consider the characteristics of people as ”the dominant,...”
– Alastair Cockburn - Characterizing people as non linear, first-order components in software development
Jul 14th
“Doubt is not a pleasant condition, but certainty is absurd.”
– Voltaire
Jul 1st
June 2009
2 posts
“The bitterness of poor quality is remembered long after the sweetness of low...”
– Aldo Gucci
Jun 20th
“The best knowledge mgmt systems: biological neural networks inside...”
– Martin Fowler
Jun 11th
May 2009
7 posts
“The value of a software document is inversely proportional to its size.”
– Robert C. Martin. - Agile Principles, Patterns, and Practices in C#
May 18th
Another Nibble at CppUTest
Update (20090515): James Grenning modestly pointed out that he is in fact the co-author of CppUTest, along with Bas Vodde and Michael Feathers. My apologies to Bas and Michael. Yesterday I lamented, via Twitter, my failure at getting CppUTest built and running easily on OSX. Fortunately for me, James Grenning (the author of CppUTest) saw my distress signal and responded with some very helpful...
May 14th
“Quality is a million selfless acts of care.”
– James O. Coplien
May 13th
More CppUTest Than I Can Chew
Today’s task was to get CppUTest built on OSX and get familiar with the syntax by writing a couple of simple example programs or doing a code Kata or two. It turns out there are a bunch of prerequisites to doing any TDD in C++. Most of what I’m missing involves knowing how to: Set up a source tree correctly (or at least in a sane way) Use the GNU compiler with more than just the -o...
May 13th
CppUTest - Compiling on OSX
CppUTest wouldn’t link properly when I ran it initially. ld complained about the table of contents missing from lib/libCppUTest.a. Ran the following ranlib lib/*.a && make Seemed to work… Not sure if anything is missing Remember to export the CppUTest path, if you do end up in this situation, or the handy scripts (NewClass and the like) won’t work properly because...
May 13th
“Produce no document unless its need is immediate and significant.”
– Agile Principles, Patterns, and Practices in C# - Robert C Martin
May 12th
Thursday's JAOO Program
Here’s what I’ll be attempting to attend at the first day of JAOO Sydney 2009: 09:00: Opening keynote, ‘Composing all the way’ is an obvious choice to get things started. 10:15: Linda Rising’s ‘The Power of Retrospectives’ looks pretty interesting. 11:15 Then it’s going to be a tough choice between ‘How to build an iPhone application in 45...
May 6th
April 2009
2 posts
Life Without Tests
Remember the first time you introduced a new feature or made a new fix and wrote the tests first? That felt good, right? Liberating? Empowering? “I’m the master of the universe!” - you said to yourself, hopefully in your head. Well today I just felt the flip side of that particular coin. Today I made a fix to some legacy code, without writing any tests at all. Most of the...
Apr 24th
A place for tweets to spill onto.
Apr 24th