Category: General

Things I Learned at Startup Weekend Calgary

Posted by – May 4, 2011

Last weekend I went to Startup Weekend Calgary. The event was hosted by @deveshd and @justinnowak at CoworkYYC. Our Startup Weekend coordinator was @thubten. I would like to give a massive shout out to all of these people as they did an incredible job making the weekend great.

As I had never been to a startup weekend before, I really had no idea what to expect. Despite never having been to a startup weekend I had two goals:

  • I wanted to meet some new people in my field or a related field
  • I wanted to try something a little bit new and different and fun

I’m sure there’s a ton of people who have written posts about what happens at startup weekend. Aaron and Chad sum it up much better than I will likely be able to anyway.

My Journey

The night started off with the pitches. There were a ton of good pitches and some very exciting ones. I had some ideas but there was exactly one reason why I didn’t pitch: All my ideas had some sort of resemblance to applications I have built at work – And I came here explicitly not to work on the sort of things I do at work. I came to work on something fun.

My night started off by getting on a team with @clangager. Despite my goal of working on something fun, the original idea we were working on centered around bridging two applications via a middle tier. Luckily for us, the problem had already been solved and in such a way that it wasn’t worth attempting over.

Finally, after a night of deliberating, Chad and I ended up deciding on building @sextrics (Sex+Metrics), initially created to be iPoo of sex. Yes, a ridiculous idea. And if you check our twitter stream, many, many laughs were had over the weekend.

Here is the interesting part. Despite being a totally crazy and outlandish idea (I mean – “Hey! We’ll track how often you have sex, what position, what room and we’ll give you some badges and everyone will laugh”) everyone was intrigued. Literally every single person who came through the space came by to see just what the hell we were doing. And laugh. And talk. We had a ton of fun building it and a ton of fun with each other.

Halfway through the day Saturday, we were also joined by @ianj_alberta, who had never used Ruby, Rails, GitHub or Heroku before. We had a lot of fun discussing Ruby, what it was and how it works. However, where his expertise really shone was due to the fact that not only was he a developer, he is also a photographer with Photoshop experience. He built all of the location icons and helped cut out all of the position icons.

In the end, we made our pitch and came in second to @MidoDeals. Congrats to that team.

My Lessons

It was a long weekend and my description above is a very distilled version of the weekend. However, I learned one very valuable lesson.

Any idea, no matter how small or ridiculous you might view it to be has the power to become great if you are just willing to throw it out there and see what people say.

I never thought we would get as far as we did with our idea. But we did.

I never thought an idea that started out as a sex trophy case could turn into a viable prospect. But it did.

I never thought the experience would have such a profound effect on me. But it did.

My Takeaways

  1. Take a step outside the norm. It doesn’t even have to be outside your comfort zone. Just something different.
  2. You would be surprised what you can accomplish in 54 hours.
  3. Never limit yourself. Negativity and nay-saying could prevent you from seeing true value of something.

Oh, and if you’re going to pitch something – make sure you have some sort of a business plan. We didn’t and I’m sure it cost us winning the weekend. Not that I care because I came away from Startup Weekend learning things that are far more valuable than a first place finish ever would have been.

On a more positive note

Posted by – July 9, 2010

I went on a bit of a tangent in my last post. I focused more on negative things than what it was I was really trying to get across. So today, let’s take a look at some of the good moves they’ve made in the last couple of years.

 

Powershell

Yes, I know I whine about it a lot. But it is a step in the right direction. From a technical standpoint, it is exactly what users in the Microsoft world needed. The main reason I complain is because I like the way that unix shells work in general compared to the way windows shells do. It’s a cultural/ease of use thing. It was a welcome, though LONG OVERDUE tool.

Asp.Net MVC

Once again, a very welcome release. As I said in the last post, it still lacks compared to other MVC frameworks, but it is absolutely a step in the right direction. Maybe you will never even convince WebForms guys to use it, but at least it’s there and it seems to be taking off. You’ll never get rid of webforms from the standpoint of legacy apps that are too big/expensive to rewrite, but going forward we’ve at least got a choice.

My biggest concern with this one is that they shipped MVC2 with Visual Studio 2010. _If_ this means that ASP.Net MVC releases are going to be tied to the Visual Studio releases, they’ve just shot themselves in the foot big time.

The Big One – JQuery

Let’s face it, this was probably one of the biggest announcements MS has ever made. It (could possibly) signify a shift in MS’s stance on open source and community projects. Instead of going out and writing yet another half baked framework, they went out and found a way to package (arguably) the best one with their framework. I understand there are other frameworks out there (and have even used them), but none seems to be nearly as popular as JQuery. In fact, JQuery has basically become the Kleenex of Javascript. Often time’s we on our team will say “I’m gonna JQuery that up” or “Throw some JQuery there”. It’s a noun, a verb… whatever it needs to be for us to say “Use Javascript”.

In fact, I don’t think there would be very many open source libraries with more acceptance and use than JQuery.

Razor

Okay, so maybe I don’t get it, but it does seem a lot better than webforms. But why release it just to throw into webmatrix? Unless I’m missing something here and it’s going to be in ASP.Net MVC next week, or V3.0 (when will that get released?) then it’s ridiculous that it isn’t integrated already.

The big picture

So, though I may not exactly like all the techs I’m about to list, let’s look at them from a high level. MS now has it set up that they can offer an MVC Stack (ASP.Net MVC), a great Javascript Library (JQuery), an IoC container (Unity), an ORM (Entity Framework) and a decent command line environment to deploy it with (using psake and Pstrami if it ever comes out ;) . Again very positive.

So why the big rant?

My biggest point in my last post was “What took so long?” I’ve heard two stories regarding why MVC came to fruition. One is that they were worried about all the MVC frameworks and finally decided to build their own. The other (way cooler) one is that the Gu was given a demo of rails at a conference and loved it so much that he wrote the humble beginnings of ASP.Net on the plane ride home.

Either way, imagine if, instead of a reactive release in 2009 we had gotten a more proactive release even in 2006? Imagine if RIGHT NOW we had in our hands what ASP.Net MVC is going to look like in 2013. Look at the other frameworks. Whenever someone gets something right, they copy it almost immediately. Imagine we had a framework like that.

Or what about entity framework. I haven’t used it yet. I don’t have a need. But in talking to people I have found that EF4 is a huge step forward. Not great yet, but not bad either. It works, but still has shortcomings. Once again, imagine if instead of a 2008 release we had something more along the lines of, i don’t know, 2006? Imagine if EF were nearly as mature as NHibernate.

All I’ve been trying to say is that MS is always late to the party and then tries to get people to push these tools when they know there are better ones out there. There may come a day when an MVP who knows both EF and NHibernate will push  EF before NHibernate (it may even happen already) but it will not be common for a few more releases of EF.

But once again the positive

All these releases seem to be coming closer and closer together now. The IIS Express, Sql Server Compact Edition, Razor announcements recently are examples of that. It seems as though MS is paying attention to the developers and seemingly even other developer communities again. If they can continue to do that and continue shoving resources towards improving the development story on Windows, things are bound to improve. Hopefully quickly.

Let’s face it, outside Visual Studio, windows development is second rate compared to everything else, and I hope they change that because I don’t want to be second rate.

Look who finally showed up! — An Ode to Microsoft

Posted by – July 4, 2010

 

I’m going to start by saying that the first part (and majority) of this post will be negative. Not the whole thing, but you’ve been warned.

With the introduction of the Razor view engine today and the subsequent very expected questioning and praise, I’m feeling the same way I do about so many releases that Microsoft has made since I’ve been a .Net developer:

At best, a little pissed off. But let’s get to that later.

Let’s start with Razor. High level, is it:

  • New? Check.
  • Different? A little bit.
  • Ground breaking? No.
  • Revolutionary? Not even close.

If you take a look at the example’s in Scott Gu’s introductory post and the examples for the Spark View Engine, you’ll see why people are commenting about the similarity.

The fact of the matter is, it’s been done. So really, why be upset when people question the use of it? It’s this attitude that starts me on my rant.

ASP.Net

Let’s start way back on January 5, 2002. Love it or hate it, Microsoft introduced ASP.Net Webforms. Whether you agree with it’s methodology or not, you can’t deny that it was:

  • New.
  • Different.
  • Ground breaking.
  • Revolutionary.
  •  

    In fact, it was so revolutionary, that it took until March 17, 2009 before they even released the ASP.Net MVC framework that acknowledged there was another point of view on web development. Now was ASP.Net MVC:

  • New? That’s a big fat no.
  • Different? Maybe to webforms developers.
  • Ground breaking? Far from it.
  • Revolutionary? Way too late for that.
  •  

    Yet there everyone the pure MS developers were finally being enlightened on what web development could be like. And we were supposed to be grateful. Grateful that literally years after other developers figured it out, MS did. Java got struts in 2000. Ruby got Rails in 2005. There’s numerous others, but to finally get to the subject of my annoyance:

     

    WHAT IN THE F@%& TOOK MICROSOFT SO LONG?

     

    Powershell

    Yet another leap forward…. at least for the Microsoft world. How does it stack up:

    • New? Nope.
    • Different? A little.
    • Ground Breaking? Maybe if you include the .Net Integration.
    • Revolutionary? Not at all.

    There’s literally hundreds of shells. Microsoft finally got up to creating a real one. Reaching at least as far back as 1971, shells have a long and storied history. Probably the most celebrated of the shells, the Bourne Again Shell (bash) was first released in 1987, and was blowing the Microsoft world out of the water in terms of usability, capability and power from even back in the days of DOS. So why is it that it took until 2006 for Microsoft to take the next step?

    The obvious omissions for me are: a real history search and a preserved history. Two of the most beneficial tools in a bash user’s aresenal. Credit where credit is due though: The .Net integration story in powershell is immensely intriguing.

    Are you seri-OSS?

    Bad pun, I know. But the problem is so bad that the developer community has had to take it upon themselves to solve these problems and innovate themselves. There is too many for me to go into each one so I’m going to short list it:

    And the four point system of New, Different, Ground Breaking and Revolutionary is going to look the same for all these. Even the aforementioned items had OSS precursors (MonoRail vs MVC and cygwin/bash vs Powershell).

    So why all the acclaim?

    Instead of looking from the outside in, let’s take a look at these from the average Microsoft Developer who never strays from the walled garden. Every single technology mentioned would answer something like:

    • New? And shiny too!
    • Different? Mind bendingly so.
    • Ground Breaking? I’ve never seen anything like it!
    • Revolutionary? Unbelievably so!

    I’ve been an avid *nix user and had at least one or more *nix based systems in my house for 10+ years. I’ve been working (very casually) on a Rails site since 2006. I was a Java developer before I was a .Net developer. To me it always feel like we finally are arriving at the party, years after everyone else.

    Better late than never

    Truth be told, there _is_ a bright side to all this. Microsoft is finally starting to provide their developers with tools that other platforms have had for decades. Is there a push to be more developer friendly again? I’m not sure. All I know is that finally, they are attempting to move in the right direction. This is very positive. They aren’t there yet.

    In fact, currently Microsoft is playing catch up. But it seems like once you awaken the sleeping Beast of Redmond that things start to get done.

    It’s not all a miss

    I’ve personally used some Microsoft Techs with great success in projects. The ones that come to mind immediately to mind are Prism and WPF. Though both could be improved (we rolled our own Event Aggregator in Prism) and WPF’s INotifyPropertyChanged is frustrating, both are a great step over what we previously had.

    In fact, I think that the Framework itself is, overally, extremely impressive. I love C# as a language. I enjoy it and enjoy using it. It’s in many ways, far ahead of most other static languages, combined with VS and R# it’s a dream to use too.

    But…

    What happens if tomorrow the python devs make some huge leap forward that no other platform has? I would put money on the Java/Ruby/etc communities to mimic it almost immediately. Probably even the .Net OSS community will get something out. But will Microsoft have to wait for “the next release cycle”?

    Grateful?

    I’m going to be honest, I’m not happy with being second rate. In fact, I’m downright insulted that second rate is shoved in our faces and we’re expected to act like it’s the greatest thing ever. Yes new framework X IS much better than what we’ve got, but it’s still years behind what the other guys have. It’s a classic grass is greener situation, except for that the grass is measurably greener. You want to know why so many leaders are leaving .Net? It’s because Microsoft is behind the times and seemingly refuses to outright acknowledge it until people whine, bitch and complain for YEARS.

    Here’s an idea

    Wow me. Let’s go back to 2002. Do something. ANYTHING. Don’t just play catch up. Take it to the next level. Be the innovator. Beat the OSS community to the punch. If nothing else, Microsoft is putting itself in the position to do so. But intentions don’t keep developers on your platform.

    I’ve been saying it for the last few years: .Net is in many ways stagnant, old and behind the times.

    But I couldn’t be happier if they just came out and PROVED ME WRONG.

    So prove me wrong. PLEASE.

    My feelings on testing

    Posted by – November 15, 2009

     

    At one of the recent WAN Parties, there was some discussion on testing. Some items came up that really got me thinking about why the last 2 years has sold me on testing. From memory, I’m going to go over my thoughts on some of the comments.

    It’s hard to write tests first. How did you learn?

    Well, I didn’t have a choice. I learned TDD by taking a job as a junior looking for some mentorship. My first two projects were:

    1. Get every old app we supported (~ 24) into a build script and onto our CI server
    2. Write a small make work app, but do it completely via TDD.

    Me and my coworkers had done some pairing and I had written some tests with people, but I always had someone to lean on so it was kind of easy.

    However, once I started out on my own, building a system from the ground up and having no idea where I wanted the design to go? That’s when things got difficult. I remember spending literally an entire afternoon writing a single test. One. I don’t even know if I finished. I just remember knowing Point A and Point B and having no idea which path to take between the two.

    Of course, as my boss would come and check in on me he would say "That’s good… but why can’t it look like this"? He’d sit down and write a few lines and suddenly I’d feel like a total moron.

    The point of the story is: It takes work. It takes writing tests and realizing their crap and continuing on writing more. Don’t expect your first foray into true TDD to be easy, and don’t expect to do it well. However, I can guarantee you that if you stick with it, it _will_ become second nature.

    Also, if you can get one, find yourself a mentor to help you. It will help immensely.

    How do I know what I should be testing?

    I’m inclined to say "Pretty much everything". I’m not a coverage nazi, though we do have some guidelines and goals around it in our shop. However, there’s just code that it doesn’t make sense to test. Like a value object made up entirely of autoprops. I’m pretty sure I know how that thing’s going to work.

    Don’t tests force your design?

    It seems like many people feel that because everyone has their brilliant idea of what the design of the system is going to be, that they will write tests that will suit their perceived design. For me this is true, but the true power of it is that it shows you ahead of time where your design has flaws.

    Yes, I usually have a path that I think I’m going to take when I start writing a test. However, often times before I’m done a set of tests for a feature, I end up changing my mind. The thing about writing the tests first is that it shows you where your design has flaws and where it’s going to cause you pain. If it’s painful for me to write a test then it’s probably going to be a pain in the ass to write and maintain. Pain in writing tests usually signals that you’re trying to do too much at once, often you’re trying to break SRP.

    In the end, you’re not only testing your code. You’re also testing your design.

    I hear all this propaganda over and over, but how do you know?

    For me, I have two projects that I currently work on. One with tests and one without. The one without tests was started before I learned about TDD (though I’m currently trying to begin adding tests, it’s very difficult to retrofit). As well, the one without TDD uses ruby. I heard someone say at the WAN Party the other night that Static Languages and their compilers are just a set of implicit tests. After using a dynamic language I can totally agree.

    Anyway, I always find myself trying to find excuses to do something else than my non-TDD project. Why? Because I’m scared to do anything with it. Since I have no tests, I have spent (literally) countless hours fixing bugs only to have them come back into play the next time I fix another bug. I have no way of telling whether what I’m fixing is breaking something else that depends on it. Personally, I think that had I just bitten the bullet a year ago and started putting the tests ever just around the bugs I was currently fixing that I would be well ahead of where I am today on that project.

    I’m starting to notice a trend here….

    I agree. The funny part I’ve always thought about testing is that as someone learning it, you don’t really see the benefits. In fact, in most cases, the benefits don’t ever fully show themselves until you’ve been working on a project for a long time, or even better, need to come back to it.

    Maybe you’re at the opposite end of the spectrum. You’re not skeptical of the claims, you’re curious. Maybe you’re curious like I was 2 years ago because making any changes to an old project is like pulling teeth. Or maybe your current project has hit a standstill because bugs keep creeping in and every change introduces two new ones.

    My Story (in a nutshell)

    I graduated from University in 2004. I had been working for an Oil and Gas company doing some development part time during the 3 years prior. After graduating I took my first job as a software developer in a small (2 developers, about 6 hardware/network/whatever guys, plus admin staff) company. I was taught to develop in ways I always somewhat questioned. After a while I started to read up on things. The only article that still stands out in my mind that I read was Martin Fowler’s article on Dependency Injection. I know I read some on the Open Closed Principle. And none of it made sense to me. I had too many stumbling blocks in my way:

    • I didn’t learn anything in my Computer Science Degree except algorithms and some cool hardware stuff
    • My current ‘mentor’ didn’t understand these things either
    • I knew I had problems, but I couldn’t even define them even though I was reading about the solutions to my problems

    Then I got lucky. I went looking for jobs because I knew there was a better way and I told everyone I interviewed with that. Then I was finally told at one interview that they knew exactly what I was feeling because they had just gone through that pain. They also told me that they had the answers I was looking for.

    I took that job and it was the best thing I ever did.

    It gave me the things I needed:

    • People who understood where I was coming from
    • A requirement to learn every day
    • Mentorship

    I truly believe that the easiest and best way to learn is to have someone with you guiding you in the right direction while also forcing you to go out on your own. I can understand people skepticism, I once had it. But then I got sick of fixing the same thing over and over. I realize that this is getting long so I’ll just end with another personal note: If I hadn’t taken that job and learned what I have over the last two years, I would no longer be in software.

    The short story is, Testing saved my career.

    It’s not supposed to be inflammatory or controversial

    Posted by – November 19, 2008

     

    I tend to be an opinionated individual. As such, when I present (or defend) my opinions, I tend to go out of my way to push my opinion as the correct one. I may go as far as to insinuate that others are wrong. This tends to get mixed feelings from a lot of people. Some people just think I’m asserting myself. Others think I’m a know it all. Others just think I’m a plain jerk. There maybe some truth in all three.

    Sometimes it just ends up that things work one way for me, and another way for someone else (See my last post). There’s nothing I can do when it comes to that. People are different. Just because something is wrong for me, doesn’t mean it’s wrong for everyone.

    I do however, realize that sometimes I’m wrong. Consider this my open invitation to all you (nonexistent) readers out there. If you think I’m wrong, incorrect or just plain out to lunch. Please call me out. Don’t just tell me I’m wrong though. If you can’t back yourself up, then don’t bother. Tell me why I’m wrong. Make me defend myself, or it’s just not worth it.

    If there’s one thing I’ve found in my time on the internet, it’s that if you assert yourself enough and just act like you’re right, people will listen to you. Most people don’t have the will to stand up to someone who thinks they’re right.

    I hope you do.

    If programmers are typists first, then I’d better get a Typing Tutor

    Posted by – November 18, 2008

     

    This afternoon I found that Jeff Atwood has once again made another post that left me shaking my head. Kind of like a car wreck, I just couldn’t look away. This evening, Jimmy Bogard posted a response. I have to say that I agree with Jimmy wholeheartedly.

    The only exception to this rule as I see it is that you can’t be a hunt and peck typist. I don’t care how much code you write, if you have to watch your hands fingers while you’re writing code, you probably could benefit from a round or two of QWERTY Warriors. I’ve worked with hunt and peck typists and it can be infuriating to pair program with them, but I’m admittedly brash and impatient. It’s something that I’ve actually been working on.

    Anyhow, I’m a C# coder. C# isn’t exactly known for it’s brevity, and neither are some of my class and method names. However, we developers are a crafty bunch. If there’s a way for us to do things quicker, better or faster, you can rest assured that someone has attempted to solve the problem with some sort of little app or program. Tools like Intellisense, Keyboard Shortcuts and especially ReSharper are all ways to help us reduce the time and number of keystrokes required to do things. In fact, I’d say that 90% of the code I write, I don’t even type entire words. I write I type u-s-ctrl-space and I have userService. I don’t care if you type 84 wpm or 20 wpm: 4 keystrokes is always faster to type than 11.

    Also, I don’t see too many typing tests that emulate  string Username { get { return username; } } or for (int i = 0; i < 10; i++) very well. But even that is nearly a moot point. A tool like ReSharper can add a read only property in just a few keystrokes, and with its live templates the for loop almost writes itself. Coding and the associated thinking and planning involved aside, we should be the users of tools first and typists a distant second.

    Basically, what I’m saying is that if you’re a C# coder (isn’t StackOverflow written in C#?) and you are writing code in a manner that requires you to be a typist first and a programmer second, you’re doing it wrong. You’re either writing some pretty crazy legacy code (who here hasn’t written a function with a couple hundred lines in it?) or you’re the victim of a problem that’s already been solved.

    History has already shown that Jeff is quite happy being a victim.

    The Obligatory Developer Rig Post

    Posted by – November 15, 2008

     

    Seems like everyone has done one of these posts. I’ve spent the better part of the last week rebuilding my workstation and my test/backup workstation. We had a power surge and my aging test/backup station just wouldn’t start up anymore. So I decided to get a new workstation and bump my current one down the line.

    Because of circumstances, I decided I was going to put it together myself. So Friday night after work I went down and picked up everything. Just like Jeff Atwood, I like my workstations to be powerful, but quiet, and a quiet PC starts with the case.

    Previously, I’ve been a HUGE fan of the Antec Sonata. I own 3 different Sonata cases of both the Sonata I and Sonata II variety.  My main requirement was that the fans in the case were 12cm with a decent airflow. I’m also not a fan of the flashy cases with lights and windows and the like. Eventually, I decided on the Antec P182. Here it is just barely unboxed.

    IMG_0848_cropped

    And the inside:

    IMG_0851_cropped

    You can’t really see it here, but on the other side of the case is about a half inch of space to run all of your cables so you don’t have to put them in the middle of the case and block airflow.

    As for the components, I was actually quite surprised with how small of a box they all fit in.

    IMG_0846

    For the motherboard, I chose the EVGA 780i motherboard. I guess the biggest draw for me was the 6 SATA ports and dual gigabit networking. Honestly, after years of using AMD processors, I found almost all of the Intel motherboards to be vastly overpriced. It may have made a difference that I won’t buy any motherboard that is not an NVidia chipset.

    For my processor, I chose the Intel Core 2 Q6600 Quad Core processor. Compared to other processors it seems to have one of the best price to performance ratios out there.

    IMG_0868

    As stated earlier, I prefer my PCs to be as quiet as possible. This stems from back in my university days when I used to have 2 PCs in my room with me.  This is no longer the case, but the need for quiet PCs has stuck with me. My first preference for CPU heatsink was the Scythe Ninja 2. I had one for a previous computer and loved how quiet it was, coupled with the excellent cooling  it provided.

    However, the store near my house happened to be all out of them at the time I went to pick it up, and I didn’t want to have to go across the city to get one, so after reading some reviews I ended up choosing the Thermalright Ultra-120 eXtreme. It doesn’t come with a fan, but I have a few 12cm fans kicking around the house, so I wasn’t too worried. However, after getting things all set up, I ended up not even putting a fan on. That’s right. I now have passive cpu cooling, and I couldn’t be happier.

    IMG_0860

    Considering the catastrophic hardware failure I suffered to put me in this predicament, I’ve decided to begin doing some virtualization. As such, I decided that I needed RAM. Lots of RAM. In fact, I decided to get 8GB of Corsair XMS2 DHX ram.

    IMG_0869

    And since I’m going to be virtualizing, I wanted to get as much performance out of my drives as possible. I’m also really weird about losing ANY data that I have. So I decided I wanted a RAID 0 for performance, and a RAID 1 for redundancy. So I got 4 Seagate 7200.11 500 GB hard drives, and put them in a RAID 0+1 configuration.

    IMG_0871

    Finally, since I’ve recently been playing games a bit more often, I decided to splurge and get a video card beyond what I really need. I settled on the EVGA GTX 260 Core 216 Superclocked Edition. I kind of think that to go along with my brother’s thoughts that the longer your Starbucks order is, the bigger a jerk you are, the longer your video card name is, the bigger geek you are. So I guess I’m a pretty big one.

    IMG_0874

    And to tie it all together, the power supply. I ended up choosing the OCZ GameXStream 700W power supply. I decided that with all the stuff I had in there, I was going to need a fairly large power supply, so I chose this one. Added bonus: its fan is a 12cm fan. Yes, I’m that picky about my cooling.

    IMG_0853

    Here is the motherboard with the CPU, Heatsink and RAM mounted:

    IMG_0870

    And finally, here is the entire computer put together:

    IMG_0876

    As you can see, the cables are run behind the back wall of the case. Here is a better view, my socks included:

    IMG_0875

    I spent a lot of time trying to make the cabling as good as possible. I’m a notoriously bad cabler, so I was actually quite impressed with the job that I did here. I just know someone who does this for a living is cringing as I say that too.

    In the end since I had so much memory, I ended up putting on Vista Ultimate 64bit. So far it has been blazingly fast and stable. I’ve ultimately been very impressed with it. I haven’t yet had any time to write any code on this new machine, but I’m greatly looking forward to it. I’ll let you know how it goes.

    Also, I would like to say that if you live in Calgary, Edmonton or Winnipeg and you have any hardware needs, use Memory Express. I’ve been using them almost exclusively since around 2000 and am always impressed. I’ve only had one bad experience when someone was too busy showing a co-worker pictures of girls on facebook to really pay attention to the fact that he was helping me. Once in 8 years, and it wasn’t even that bad. On the other hand, every time I try another store, I wonder why I did it. Take that as you will.

    Anyway, if you are a computer person and you’ve never put together your own computer, I greatly recommend you try.