« December 2007 | Main | February 2008 »

January 2008

January 30, 2008

Ordered a New Laptop

I've had the 17" MacBook Pro provided by work for about 18 months now. It was an excellent machine when it was my primary dev workstation, but now that I've moved onto a new job, they've given me a monster desktop machine. The MBP's inability to have > 2GB of RAM has really stopped me from using it to its maximum value, and its 17" size also means there are places it doesn't go well. I'm basically not bringing it to work every day, because I don't need it every day, and it weighs ~ 8lbs with the power brick. I wanted something small and fast that would suit well for meetings, travel, and presentations.

So I ordered a Dell XPS M1330.

I dithered and debated this internally for about a week. It was hard to resist, when you combine the $799 rebate going on, plus the discount I get on Dell machines through work. The machine I built would normally cost almost $3100, but ended up being just $2005 after all the discounts (including a 3 year warranty).

I equipped it with 3GB of RAM (will bump it up to 4GB after it arrives), a 64GB SSD hard drive, dedicated 128MB nVidia 8400M GS video card, and the thin LED-backlit screen with webcam. Yes, I got it in blue. :)

I went back and forth on the possibilities for an Apple laptop and in the end decided that this $1k discount was just too much to ignore. I compared it to the possibility of a MacBook Air (which was roughly the same price, before discount anyway). The Dell is nowhere near as sexy as the Air, although the M1330 is not exactly a visual slouch. I also considered a MacBook, but it lacked the 64GB SSD option (but would've been slightly less expensive at ~ $1750 after self-upgrades).

In the end, I couldn't quite put together exactly the Apple laptop I wanted. 4GB was important. 64GB SSD was important. Dedicated video card was important. Tiny and light (4lbs) was important. And the Dell was extremely reasonably priced given the decent power that's packed inside its tiny frame. Had the MacBook been available with 64GB SSD for reasonable prices (~+$600), I probably would've foregone dedicated video for a Mac.

Maybe 2-3 years from now, Son of MacBook Air will be my next choice. :)

January 29, 2008

Unity Extensibility Workshop

Unity is the name of the new container in Enterprise Library 4, built on ObjectBuilder 2. The P&P team is holding a free 2-day workshop on the extensibility of the Unity container. My current project will be keeping me too busy to be able to go, unfortunately.

We did get a look at the Unity container at Seattle Code Camp last weekend (thanks to Chris Tavares who stepped in at the last minute to offer us all the sneak peek). It's like a very well fleshed out version of the ExtensibleContainer sample, and I'm excited for release so I get to use it, too. :)

January 26, 2008

Deconstructing ObjectBuilder

Chris Tavares went and got a blog! That's a good thing. :) He's the dev lead for Enterprise Library, which means he also inherited ObjectBuilder and their new dependency injection container Unity.

He documented his original discovery through ObjectBuilder and has started posting it as blog posts. The first one is up now, titled What is ObjectBuilder?.

Enjoy!

January 12, 2008

C# 3.0 Extension Methods and Null Instances

C# 3.0 has a feature that allows you to extend an existing class, even one you didn't write. The extensions allow you to add instance methods (sorry, static methods not supported) to any class.

What I wasn't sure was whether or not you could call these extension methods when you have a null instance of the object, since they're instance methods. The C++ guy in me said "sure, that should be legal", and the C# guy in me said "it's probably illegal, and that's too bad". Amazingly, the C++ guy in me won!

This code executes perfectly:

using System;

public static class MyExtensions {
    public static bool IsNull(this object @object) {
        return @object == null;
    }
}

public class MainClass {
    public static void Main() {
        object obj1 = new object();
        Console.WriteLine(obj1.IsNull());

        object obj2 = null;
        Console.WriteLine(obj2.IsNull());
    }
}

When you run it, it prints out "False" and "True". Excellent!

January 10, 2008

Seattle Code Camp v3: January 26 & 27

Third time's a charm, I hope... after being rescheduled twice, it would appear that Seattle Code Camp v3 is going to happen in a couple weekends.

I'm going to be there to give two talks: one about xUnit.net (with Jim Newkirk) and one about ObjectBuilder (with Scott Densmore). Should be a good time!

January 01, 2008

Year in Review

1. What did you do in 2007 that you'd never done before?

I took a baking class with my friend Sarah. I love to cook, but baking is still a bit of a mystery to me, so this was a fun chance to learn.

2. Did you keep your New Year's Resolutions, and will you make more for next year?

I don't do resolutions.

3. Did anyone close to you give birth?

Nope.

4. Did anyone close to you die?

Nope.

5. What countries did you visit?

Canada... Canada's still a country, right?

6. What would you like to have in 2008 that you lacked in 2007?

I think 2008 is the first year I'll have no debt, besides my car loan.

7. What dates from 2007 will remain etched upon your memory, and why?

November 8, the day of my surgery. After six weeks of not being able to walk, it was awesome to be able to walk straight away after surgery.

8. What was your biggest achievement of the year?

I shipped 3 open source projects this year: xUnit.net, CodePlex Client, and what will become ObjectBuilder 2.0 (and several sample containers).

9. What was your biggest failure?

I feel like my career is a bit stuck, not because I'm not getting promotions, but because I learned almost nothing interesting this year.

10. Did you suffer illness or injury?

At the end of September, two days before I was supposed to go rafting, I injured my knee. The surgery in November removed eight pieces of loose cartilage.

11. What was the best thing someone bought you?

Scott brought me crutches. :)

12. Whose behavior merited celebration?

I really appreciate everybody who offered help while I was stuck at home injured, especially Scott (who came over to work with me, ran errands for me, and even went with me to pick up my mom at the airport).

13. Whose behavior made you appalled and depressed?

Nobody close to me (or else they wouldn't be close to me any more).

14. Where did most of your money go?

My biggest single expense was probably rent, though I imagine entertainment came in a close 2nd.

15. What did you get really, really, really excited about?

I was really excited about going rafting... maybe next year.

16. What song will always remind you of 2007?

Anesthetize by Porcupine Tree

17. Compared to this time last year, are you:
Happier or sadder? Both, if that makes any sense.
Thinner or fatter? Unchanged.
Richer or poorer? Richer.

18. What do you wish you'd done more of?

Spent more time with friends. It seems like this year they had less time for me because of work and families.

19. What do you wish you'd done less of?

Stay at home.

20. How do you plan to spend Christmas?

I guess I'm doing this a little late, but I celebrated Christmas at home. It's not really one of my favorite holidays, so I don't tend to do much... it is a good excuse to talk to friends and family on the phone, though.

21. Did you fall in love in 2007?

Not for lack of trying, but nope.

22. How many one night stands?

None that I can recall.

23. What was your favorite TV program?

Friday Night Lights

24. Do you hate anyone now that you didn't hate this time last year?

I don't really tend to hate people; if they're that bad of a person, I just eliminate them from my life.

25. What was the best book you read?

Two series ended this year: Harry Potter (Harry Potter and the Deathly Hallows) and The Sword of Truth (Confessor). In their way both were fitting conclusions to the series and some of the best reading of the year.

I also tremendously enjoyed The Happiest Days of Our Lives, and like most others, wished it was longer. :) (Viva the Wheaton 300!)

26. What was your greatest musical discovery?

I found lots of new bands this year, but the best is probably Dååth.

27. What did you want and get?

I got World Peace, but it was localized to my apartment.

28. What did you want and not get?

I never finished cleaning out that 3rd bedroom.

29. What was your favorite film of this year?

Superbad

30. What did you do on your birthday, and how old were you?

I turned 35 this year. Patton Oswalt says I'm not allowed to celebrate 35 (audio NSFW), so I didn't. :)

31. What one thing would have made your year immeasurably more satisfying?

I don't think I want to share that.

32. How would you describe your personal fashion concept in 2007?

Unremarkable.

33. What kept you sane?

Grishka. Music. The occasional Beer O'Clock with the CodePlex developers.

34. Which celebrity/public figure did you fancy the most?

I really don't.

35. What political issue stirred you the most?

Even though I still religiously watch Meet the Press, I find myself more and more disinterested in politics every year. As always, I vote for gridlock... a non-functioning government is the best kind, given the kinds of things it tends to do.

36. Who do you miss?

I miss my Colorado friends, whom I haven't seen since I moved away 3 years ago.

37. Who was the best new person you met?

Drew, who doesn't actually think anybody likes him. What a doofus. :-p

38. Tell us a valuable life lesson you learned in 2007?

See #39.

39. Quote a song lyric that sums up your year:

"You've been schooled, had aggression in large amounts
Just be truthful, man it's everything that counts
There is no hand waiting that must be paid
We will leave our encores all un-played
At the end of the day."

-- Spock's Beard, "At the End of the Day"