Blog
-
CruiseControl.NET eats its own dog food
The CruiseControl.NET (CCNet) project now has a publically viewable server that allows us to run CCNet against itself. We plan to use this as the Continuous Integration server for several other open source .NET projects aswell (NMock is already active.)
-
MP3s & Album Art
I was walking to work this morning, scrolling through my iPod choosing what to listen to, and I thought "wouldn't it be great if I could view by album cover, just like MusicMatch can". I think it would be good since there's some weird emotional association between the album art and the music itself.
-
Reasons to have a Mac 473 - Clutter
There are so many cool things about Mac's these days, and Clutter's one of them. I was going to buy my first Mac about 6 months ago, but then switched from developing in Java to .NET so decided I couldn't justify the expense (or the carrying around of 2 laptops everywhere.)
-
Good Practice rather than Best Practice
I'm a bit of a stickler when it comes to use of language. I'm not very good at it, but I appreciate the importance of trying to use it in a good way. Communication often leads to an emotional response and as a communicator you want the people you are projecting to to have the response you were aiming for. As a responsible communicator you have a responsiblity not to attempt to invoke a response that is invalid.
-
Popping the Why Stack
I while ago in a previous company of mine a new guy had started on the team. He was discussing with a team member part of the architecture of the application. I can't remember exactly how the conversation went now, but it was something like:
-
Formal Methods versus TDD
Back when I was taking my Computer Science degree at University I learned all about 'Formal Methods' (when I wasn't playing pool, badly, that is). The main reason to use Formal Methods is to prove the correctness of programs. By stating a logical pre-condition for a block of code you can apply a sequence of logical steps to it that each correspond to the behaviour of each of the statements in the block. If when you reach the end of your block your transformed pre-condition is the same as the logical post-condition then your block is proven correct. If you do this for your entire program then it as a whole is proven correct.
-
Firing up the Bird
Like Joel, I'm trying out Mozilla Firebird as my default browser. So far I like:
-
First 36 hours in New York
I flew into New York (for the first time ever) on Thursday evening to catch up with an old friend from home who was also visiting the Big Apple. Maybe its because I've been in Boston for 2 months (and don't like it hugely as a town compared with London), but I really love New York already. It seems to have lots of the great things about London and then compresses it together so you don't have to take a 40 minute cab ride across town to get between ports of call.
-
Why I don't like the GAC
A real example of why I don't like the GAC in .NET:
-
Global Underground
Global Underground have a great series of dance CD's ... which I really should start buying. I'm currently listening to #20 - Darren Emerson (ex-Underworld and all round god of a DJ.)