Minimal

stressed for motivation and achievement

2006-02-27

 

Some cars I may never own; and others I might

Well, this weekend’s been one long car-ogling marathon. With helmet in hand (clean your mind, filthy child!), and with Grant and James in tow, I set off to check out a load of cars on my possibles list. As a result, the following are now officially casualties of my far-from-excessive height:

I strongly suspect that the Racing Puma, which had crept onto the list after some rose-tinted reminiscences, can also be discounted. After all, apart from a few flared arches and a little performance boost, it’s essentially the same car as my old Puma 1.7 and there was no way I could wear a helmet in that.

On the up-side, however, the following cars are now officially contenders:

Although I didn’t get to try out a Clio V6, M Coupé, Impreza, or Evo, I reckon it’s looking like a slugfest between the Honda and the Nissan. Right now, the Nissan’s gearchange, tin-top and all-round slickness are keeping it ahead, but the Honda’s coming up hard on the rails. This could get interesting. :)


2006-02-23

 

Theming

I’ve always had difficulty having reasoned debates with managers and marketing departments that wanted “skinned” or themed desktop applications. All too often, theming was seen as the primary way to brand the software, almost ignoring the branding that came from the name, the logo, the website, the parent company, the adverts and so on. This, IMHO, was folly.

While a certain degree of branding can be achieved in the UI, subtlety is rarely the order of the day. The result is an application whose look and feel gets in the way of the user’s everyday work and/or a maintenance headache for the developers. In fact, I wish my current employers (who shall remain nameless) could see this too. I’ve already wasted weeks getting our themed custom controls to do what I want.

Maybe I should just point them in the direction of Microsoft’s latest advice on theming? For me, it’s great to see some degree of balance in a discussion of the topic.


 

Word docs and attachment bloat

At work, I’ve got a ridiculous mailbox size limit of around 22MB. Receive a few Powerpoints and I’m unable to send email until I permanently delete a load first. Ironically, I’m also sent further large emails telling me to clear out my inbox. Sucks, no?

It doesn’t help that so many people send Word docs as attachments either. Even when you can’t reference a document sitting in source control or elsewhere on the network (thereby avoiding the use of attachments), you’re better off using a format other than Word.

Today, for example, I received a 224KB, text-only Word document. Upon saving it as a .txt file, its size fell to 5KB. What the hell are these people putting in their docs that causes such bloat?! I’m sure it’s not inherent in the .DOC format. In fact, to prove it, I copied and pasted the contents of the 224KB doc into a new document and saved it. Its size? 33KB. And that’s with all formatting intact. Anyone know what’s going on?


2006-02-22

 

Academia in relevancy shocker

At work today, I spent most of the day mentoring one of my project’s testers in the use of NUnit and test-driven development. Despite normally working in tech support, the guy’s actually got a computer science degree from the same university as me. Consequently, it was fairly easy going and quite enjoyable. I felt so proud when his little face lit up at the sight of a full set of green lights. ;)

One thing that surprised me, however, was his revelation that the university now teaches extreme programming and the agile manifesto. I was stunned. When I was there, they were grudgingly accepting that it might be worth teaching a little bit of C instead of just Modula-2. To hear that they’re up to speed with the latest commercial trends is like hearing that the Pope has just declared himself a Darwinist. Unbelievable. Cool, but unbelievable.


2006-02-20

 

Afterbang: one man’s passion

I’ve blogged here before about how I love Gav’s full-of-beans nature, but now he’s started a weblog on his real passion: snowboarding. Anyone who knows Gav knows he lives for this stuff. Afterbang [definition] should, therefore, make for great reading and, with its reviews, become a great resource for anyone into a bit of freestylin’. Sick!


2006-02-16

 

Microsoft Office for £85

Sounds like a spam subject line, doesn’t it? In fact, with the release of 2007 Microsoft Office System, it’ll be reality. For home and student users, anyway. Have to say, I’m delighted about this. Office has been waaay too pricey for your average home user for waaaay too long. And Microsoft Works is simply nothing like a decent substitute.

Speaking of Works, my dad will be sick when he hears about this. He’s just ordered a new laptop... with Works on it. Haha. Sucker! :P


2006-02-15

 

Julian Barratt and Noel Fielding: supreme mentalists

Despite the fact that Phil tipped us off about The Mighty Boosh over 1½ years ago, I’ve only just got round to watching a couple of episodes. The first was a case of “Whoooah... this is... odd”. I wasn’t even sure how funny it was, but figured that might’ve been down to it knocking my brain off balance. This last week’s episode, however, was fantastic. I guess it’s one of those things where you need to know the running jokes and which characters appear every week. Regardless, Nanageddon was a gem. I think the Boosh has a new fan. :)


2006-02-13

 

Delete: are you really, really sure?

I like people who make me take a step back and reconsider established practices. Jan Miksovsky does just that in his latest post, Some basic UI patterns for preventing accidental deletion.


2006-02-12

 

The next car: requirements

The jury’s still out on what car I get next, so I figured I would list my requirements:

I think that’s all I need (until I find something abhorrent that matches the above). I think it’s time I made another sub-site... *evil grin*


 

Multi-Touch Interaction Research

Chris Sells recently linked to this video of a new touch-screen interface with the words "I wonder how many years that existence of the mouse has set us back". Have to say, the demo looks mightily impressive (and natural to boot), but it’s not about to make the mouse obsolete:

  1. I bet that screen costs a hell of a lot more than your average mouse
  2. A lot of the coolness of the demo comes from the software—it’ll still take good designers to make the most of the new interaction paradigm
  3. Fingertips don’t lend the kind of precision you’ll need for a lot of software packages e.g. Photoshop

Despite these limitations, I still hope this technology becomes affordable and fairly widespread. It’ll give us another weapon in the interaction arsenal, could be an accessibility boon and might open up whole new ways of being creative.


 

Test-driven development: theory and practice

I hate having to make posts like this. Ah well, here goes...

Following Jack’s recent post on TDD on the Reiver Games blog, I posted a “me too” kind of response here. All this has done is increase people’s perception of me as anti-agile; a badge I wouldn’t ordinarily give myself. Admittedly, it’s all my own fault—in an attempt to provide an alternative viewpoint, I’m painting myself as way too black and white. If you’ll bear with me, I’d like to take the time to explain myself. If not, please skip this post.

[continues inside...]

So... my view of TDD’s benefits and pitfalls:

Benefit #1
Promotes simple (from a client’s p.o.v.) and relatively decoupled code. Often, you end up seeing methods in Intellisense that are so well named and so well encapsulated that use of the class requires no documentation whatsoever. Many of my best class interfaces have been born in a TDD environment. I love them almost like children.
Benefit #2
Automated regression testing: a huge boon. Remember this: the greatest benefit of your unit tests comes from their repeated running, not from the first green light. This is where you really feel the power. Just remember, too, that you may not have been able to cover all bases with the unit tests.
Benefit #3
Supports development in small increments, helping maintain a stable product. Whether you check-in a test at a time or a test fixture at a time, the scope of what you’re doing is helping you stay fairly well focused on a small part of the overall system. Working this way allows you to concentrate all your efforts on that subsystem and so you usually end up checking-in highly robust code. Of course, robustness doesn’t come for free, but staying focused will help you.
Pitfall #1
Waiting to complete one test before starting the next (something I’ve seen and heard espoused by agilists) makes it too easy to forget you’ve missed important test cases. It’s too easy to fall into a sense of being done. This is what Jack wrote about today. In the past, I tried writing further tests down on paper as they came into my head, but by that lacked any forcing mechanism to make sure I addressed them. Adding test titles as comments in my test fixtures suffered the same problem.
The only approach that worked for me was to stub (and fail) each new test case as soon as it popped into my head. Or even to spend 5 minutes before starting a new feature, writing failing stubs for all of the test cases I thought I would need to cover. Unless I had a red light to clear, it was too easy to forget to write the test code. And unless I stubbed the test cases up front, it was too easy to forget I’d ever thought of them. It was frowned upon by some, but if it works for you, JFDI.
Pitfall #2
Despite evangelism claiming otherwise, many unit tests (esp. those in UI code) do not represent time well spent. When I was still developing in a test-driven style at work, I really wanted to be the good agilist, unit-testing even the UI. In hindsight, I held my project up by doing this. I contributed to its eventual failure. I still harbour a deep sense of regret and guilt for this. And, for that matter, anger and bitterness towards those who insisted I should be writing those tests. I really should have listened to my gut. I had a mind of my own, but I’d been browbeaten into ignoring it.
Pitfall #3
Mocking objects is rarely satisfactory. While NMock and its cousins are technically brilliant little libraries, they intrinsically increase the coupling between tests and the production code. This makes large-scale refactorings an absolute f***ing nightmare. I really can’t stress that strongly enough. It’s enough to make you question whether such libraries are really worth their place on this planet.
When working in UI-controlling code (e.g. the presenter in an MVP pattern), in particular, it’s enough to drive you insane. User interfaces, by their nature, almost always involve an iterative design process. Tests that check that values are fed into the UI at the right time are particularly susceptible to changes, especially if you need to switch from a push to a pull model (or vice versa).
Of course, no-one’s forcing you to use mocking. It just feels that you’re damned if you do and damned if you don’t. Mocking can easily end up testing the implementation of otherwise encapsulated algorithms (a bad thing, obviously). Not mocking, however, can end up ruining the usability of your classes by exposing too much state in the interface, purely for the sake of the tests. It’s a shit, isn’t it?

So, how much TDD am I doing at work these days? In a word, none. I’m not doing TDD at all and I’m very rarely writing unit tests. And, in the circumstances, I feel entirely comfortable with it.

My lack of TDD is entirely because my work is 99% UI work and experience tells me not to bother. Were I working on the underlying business layer, you can bet your sweet ass I’d be unit testing. Perhaps not doing TDD, as it’s rare that brand new code is written in that layer (in my project, that is), but I’d certainly be looking to cover existing code with a unit test before meddling with it.

I hope this article (for it’s more than just a regular post!) has set the record straight. I’m not anti TDD. I’m not anti-agile. I’m receptive to anything that works. And, after a couple of years of guilt, I feel completely confident in the validity of my approach. Whether you think I’m right or not is up to you. Just promise me you’ll only do what works for you.


2006-02-11

 

Gaming × 3

So much to blog, so little time. In light of this, here are 3 quick links to games-related sites and articles that caught my interest this week:

Enjoy. :)


2006-02-10

 

The Curious Incident of the Dog in the Night-time

Book coverAll those years of reading sci-fi... what a waste. I’ve just come to the conclusion I’ve been reading all the wrong books because The Curious Incident of the Dog in the Night-time knocks the spots off everything else I’ve ever read. If you want to know why, read the rest of this post. If you’d rather find out for yourself (thereby avoiding spoilers), go to Amazon and order it... NOW! :)

[review with minor spoilers follows...]

Written from the perspective of a 15 year old kid with Asperger’s syndrome (sounds rather like autism to me), the book’s use of simplistic language and poorly structured sentences lends it a convincingly childlike quality from the get-go. Halfway through the book, I felt this kept me rather emotionally detached and I even wondered where the book was going. Then, BLAM! — a shot of raw emotion delivered in the same matter-of-fact style and it blows you away.

Although it tailed off again in the second half, the finale was shattering. The last 5 or 10 pages even brought a tear to the eye, for god’s sake! Terrific stuff. And absolutely heart-breaking. It’s this contrast between the lead character’s simplistic outlook on life and the complexities of real life emotions that makes the book as strong as it is. Little wonder it won the Whitbread Book of the Year award. I just hope I’ve not spoiled it for you. But then, I did warn you about that!


 

The TDD security blanket

Jack makes a post on the Reiver Games blog that beautifully encapsulates perhaps my biggest concern with test-driven development: TDD: it’s great, up to a point.

Bravo, Jack. It rings so true that I barely even feel the need to read the linked article—but I will.


2006-02-07

 

Meet Andy Rutledge

Andy Rutledge appears to write (about design) the way we should all write. Short, sharp and to the point. And he swears—mildly, but effectively. A man after my own heart. That said, I’ve only just stumbled across his site, but if he continues to deliver as sweetly as he does in Hungry? Want another bullshit sandwich?, he’ll have me hooked. :)


2006-02-06

 

I’m a Honda S2000!

Damn straight! A quiz that gets it right for once.

A Honda S2000, yesterday

You live on the edge, and you live for the adrenaline rush. You don't need luxuries, snob appeal, or superfluous gadgets. You put your top down, get your motor revving, and take all the curves that life throws at you at full speed. So what if you spin out occasionally?

Deep truths courtesy of the Which Sports Car Are You? quiz.


2006-02-03

 

Straight-talking wins respect—mine, at least

Now that Souness has gone, it’s a relief to see someone speaking honestly about the club’s predicament. It’s a little more surprising that it was Shearer:

“We need to rectify this before it becomes an emergency. Otherwise, we will be sliding down the table and, before you know it, we’ll be in real trouble. We have a big battle on our hands; we are not in the comfort zone at the moment. We have such big games coming up—forget the FA Cup, we need points on the board.”

It might not be pleasant to dwell on, but it’s good to hear that the playing staff aren’t kidding themselves about the situation. I just hope Big Al can rally the troops.


2006-02-02

 

Geneva, here we come!

In this month’s Evo (subscriber’s edition), Harry Metcalfe, the magazine’s editorial director, reminded his readership of a couple of important facts:

  1. The Geneva Motor Show is on soon (02-12 March)
  2. Low-cost airlines like Easyjet fly to Geneva

Combine this with the fact that I have a mate living in Lausanne and it’s a no-brainer. For little more than a trip to the NEC, I’m off to Switzerland for the weekend. Bring it on! :)


Archives

April 2002   May 2002   June 2002   July 2002   August 2002   September 2002   October 2002   November 2002   December 2002   January 2003   February 2003   March 2003   April 2003   May 2003   June 2003   July 2003   August 2003   September 2003   October 2003   November 2003   December 2003   January 2004   February 2004   March 2004   May 2004   June 2004   July 2004   August 2004   September 2004   October 2004   November 2004   December 2004   January 2005   February 2005   March 2005   April 2005   May 2005   June 2005   July 2005   August 2005   September 2005   October 2005   November 2005   December 2005   January 2006   February 2006   March 2006   April 2006   May 2006   June 2006   July 2006   August 2006   September 2006   October 2006   November 2006   December 2006   January 2007   February 2007  

This page is powered by Blogger. Isn't yours?