Last year I decided to blog some personal goals that I had for the year. It’s widely known that the act of writing something down greatly increases the chances that one will actually take the action necessary to achieve the goal, and I figured blogging it might further increase my odds since there’s the whole public commitment factor added in. I’ll be brief since I already did an 11-month status update a month ago , and not a huge amount has changed since then. I’d hoped to hit 200 blog...
2008 Goals Recap →
Posted on Monday, 05 January 2009
Like many others, I enjoy playing games in my short supply of free time. I used to be a bigtime PC gamer who scoffed at console gamers, but in the last few years the consoles have really caught up to the PCs in a lot of ways, and now I’m just about 100% an XBox360 gamer when it comes to video games (I still play the Starcraft occasionally, though). Luckily, my wife (mostly) shares my love of games, and is happy to play with me, though she prefers boardgames to video games. We both think...
Cool Games →
Posted on Sunday, 04 January 2009
I’ve been the proud owner of a black Zune 30 for a couple of years now. I think it’s great and I really don’t foresee a need to get a Zune 80 since I’ve never come close to using the 30GB of space available, even when I’ve put a dozen or so movies on the thing. The upgrades in software have been nice, though I do miss the quick list feature that used to be there on the device. Of course I noticed last week when, on New Year’s Eve, my Zune wouldn’t boot. A lot of discussion ensued...
Zune Feature Requests →
Posted on Sunday, 04 January 2009
Bertrand just posted about a bug I’d encountered before but never tracked down wherein FireFox (and in particular, FireBug) is extremely slow in loading scripts for a local web site running on Cassini (Dev Web Server). It turns out that the issue has to do with an FF bug trying resolve “localhost” using IPv6. Dan Wahlin follows up with the fix, describing how to disable IPv6 in FireFox . Since the issue has to do with name resolution, another workaround is to simply change the URL...
Slow Script Loading by FireFox with Cassini →
Posted on Tuesday, 30 December 2008
The saga began here . Where I left off, I'd managed to create a new class for handling the storage of my creative files, called CreativeFileStore . This method took in an IFileSystem as a parameter to its constructor, which provides two benefits: Testability Flexibility - I can swap between WindowsFileSystem and AmazonS3FileSystem easily In the interest of keeping the individual posts at a reasonable size, I didn't include all the tests for the CreativeFileStore, but here's a summary: 1: [TestMethod...
IFileSystem Dependency Inversion Part 5 →
Posted on Wednesday, 10 December 2008
Still working on cleaning up some legacy ASP.NET code. Here's where we are: Part 1 : Define problem and demonstrate IFileSystem basic version Part 2: Spike solution to support saving files in IFileSystem that works in both Amazon S3 and the Windows file system Part 3 : Initial refactoring via TDD of big ugly method Now it's time to take the big step of pulling the main ugly method guts out into its own object. Since the main purpose of the method, GetImageOrFlashData(), is to store a file that has...
IFileSystem Dependency Inversion Part 4 →
Posted on Tuesday, 09 December 2008
In part one I described the problem. In part two I worked out the details of how to save files in a platform-ignorant way by creating a spike solution. Now I'm looking back at my original ugly method from part one and extracting it into its own class that accepts an IFileSystem instance via constructor injection. Looking at the original method, it has a number of dependencies and issues. My next step is going to be to get it out of the untestable ASP.NET codebehind file and into a separate class...
IFileSystem Dependency Inversion Part 3 →
Posted on Tuesday, 09 December 2008
In my last post in this IFileSystem series , I described the problem I'm working on of removing a dependency on the System.IO Windows file system in my ASP.NET application. A bit of research on this subject revealed some help on making file uploads testable by ScottHa , but his technique still makes use of the SaveAs() method and ultimately ties the solution to the server file system. A similar post on creating Unit Test Friendly File Uploads was more helpful, in that it provided some helper methods...
IFileSystem Dependency Inversion Part 2 →
Posted on Monday, 08 December 2008
I’ve been wanting to add Next/Previous links to my blog’s posts to provide easier navigation for folks who come to the blog and find themselves somewhere in the middle of it. My goal is for the top and/or bottom of each post to have something like this: << Blog Post Title | Blog Post Title >> Most likely my designer will make it look better than this, of course. A quick search revealed that Graffiti Extras includes this functionality. I thought I’d grab the Binary release...
Installing Graffiti Extras →
Posted on Monday, 08 December 2008
In the course of making my software more testable, I’ve attempted to eliminate a dependency on the file system (in this case, via System.IO) by creating an interface, IFileSystem . I just did a quick search for this term and came back with only one C# interface (in the first few results) that matches this, which is for CC.NET, and looks like this: My basic version of the interface is similar: public interface IFileSystem { bool FileExists( string path); void MoveFile( string oldPath, string...
IFileSystem Dependency Inversion Part 1 →
Posted on Monday, 08 December 2008