Monthly Archives: January 2011

Bootstrapping The .NET Framework Without An MSI Installer

I recently needed to test the idea of whether or not I could bootstrap .NET v4.0 onto a WinXP machine, from a USB thumb drive, without an application installer for the target app. The goal was to insert a thumb … Continue reading 

Posted in .NET, Bootstrap, Command Line | 5 Comments

Asynchronous Control Updates In C#/.NET/WinForms

Every .NET WinForms project I’ve written, since .NET 2.0, has included some form of this code: public static class ControlExtensions {   public static void Do<TControl>(this TControl control, Action<TControl> action)     where TControl: Control   {     if (control.InvokeRequired)       control.Invoke(action, … Continue reading 

Posted in .NET, Async, C#, WinForms | 4 Comments

Responding To Growl Notification Clicks With MacRuby

In my last post, I detailed the process of setting up a MacRuby app to send Growl notifications. To get even more mileage out of Growl, though, it’s a good idea to response to various interactions with the notifications that … Continue reading 

Posted in Growl, MacRuby, OSX, Ruby, Xcode | 1 Comment

Creating Growl Notifications From A MacRuby App

I’ve been wanting an excuse to learn how to code for OSX for a while now, and I finally thought of a project worth trying. In an effort to get up and running on XCode and Cocoa as quickly as … Continue reading 

Posted in Growl, MacRuby, OSX, Ruby, Xcode | 3 Comments

I Use Inheritance And I’m Not Entirely Ashamed Of It. Should I Be?

Some time ago I saw a video of Dave Thomas at the Scotland On Rails 2009 event. In this video he says something along the line of “Inheritance is the work of the devil. You should not be using it, … Continue reading 

Posted in AntiPatterns, Principles and Patterns, Ruby | 15 Comments

Mocks, Stubs and Unreadable Tests: Clearly I’m Doing This Wrong

I tweeted this a few minutes ago: This is in reference to a horrible test that I wrote today. It’s got 2 assertions and more than 20 lines of context to set up the mocks that I needed, to isolate … Continue reading 

Posted in AntiPatterns, Principles and Patterns, Quality, RSpec, Test Automation, Testing, Unit Testing | 19 Comments