Skip navigation.

Archives

Mobile Computing Finally Arrives At Casa Gorman

Isn't modern technology wonderful? I'm sitting on my little balcony typing these words into a brand new Asus Eee PC that I bought at the weekend.

Gadgets are usually a bit of a let-down, don't you find? The marketing hype makes it sound like the cure for all ills, but when you get it out of the box, it turns out to be just another flakey pile of over-promising, under-achieving plastic crap.

Dynamic Languages, Substitutability & Unreused Abstractions

Just a quick note today about dependencies and change propagation.

I've talked before - in typically ill-considered and handwavy terms - about the need to unify principles of software and system design across the various levels of organisational granularity:

* Code statements in methods
* Methods in classes
* Classes in packages
* Packages in applications

Test For Failure, Not Success

We recently went through a round of test spec reviews on my team.  Having read a good number of test specs in a short period of time, I came to a realization.  It is imperative to know the failure condition in order to write a good test case.  This is at least as important if not more important than understanding what success looks like.

Too often I saw a test case described by calling out what it would do, but not listing or even implying what the failure would look like.  If a case cannot fail, passing has no meaning.  I might see a case such as (simplified): "call API to sort 1000 pictures by date."  Great.  How is the test going to determine whether the sort took place correctly?

Java - Run a System Command and Return Output

Run a system command and return output:
import java.io.*;

public static String cmdExec(String cmdLine) {
    String line;
    String output = "";
    try {
        Process p = Runtime.getRuntime().exec(cmdLine);
        BufferedReader input = new BufferedReader
            (new InputStreamReader(p.getInputStream()));

RubyCocoa book in beta

Book site

Pex on the .Net ResourceReader

Ever wonder what was happening inside the ResourceReader (where do those resources come from anyway!).... Check out Nikolai's post on using Pex to test this (complicated) class...