Windows Resource Monitor

Windows has always made it very easy to see what your CPU is doing, and how much memory you’re using, via Task Manager. However, the bottleneck in many cases is disk I/O, and it’s not nearly as obvious. Though you could add additional I/O-related columns in the task manager process list, I/O isn’t summarized in a graphical form. Windows Resource Monitor does it though, and it’s actually a click away once you’re in Task Manager:

If you fire it up, the UI is oriented around the resource you’re looking to monitor – CPU, Memory, Disk, and Network. The Disk panel has graphs of Disk Queue Length, which you’ll recognize if you’ve used Perfmon before as one of the most useful counters for spotting I/O bottlenecks:

After discovering it, I dropped a second drive in my machine to do builds on. There is still a lot of activity on the C: drive that I’ve yet to pick through, but moving the builds to a different drive has made a noticeable difference in the responsiveness of my system while the compiler is running.

NFL Playoffs 2010: Week 2

Wow, what a crappy round of predictions last week. I blew 3 out of 4.

This week I’m picking all upsets except the Patriots over the Jets. So: Ravens, Packers, Seahawks. If the Seahawks upset Bears, it would tee them up for a massacre in the NFC Championship. But, I still hope they can pull it off.

NFL Playoffs 2010: Week 1

Let’s see if I can do better than last year. Shouldn’t be hard.

  • New Orleans over Seattle – I’d love to see this go down differently, and Seattle is a much better team at home, but a team with a losing record has no business being on the field with last year’s Superbowl champions.
  • Indianapolis over the New York Jets – This game as it should be close… but the Jets have lost a lot of momentum, and the Colts have Peyton Manning.
  • Baltimore over Kansas City – Would be great to see Kansas City win, but Baltimore is a tougher team. I really don’t want to see a Ravens-Patriots rematch.
  • Philadelphia over Green Bay – This should be a great game as well, Michael Vick just seems unbeatable right now.

Howto: Copy a Certificate out of IIS and into a Coyote Traffic Management Sever

No one probably wants to read this, but I couldn’t find the full end-to-end walkthrough on the internet, so I figured it should be there. Here are the steps (please suggest a faster way if you know of one!):

1. Export the Certificate using the MMC Snap In Tool (instructions found here but summarized below.

There are a bunch of ways to export a certificate, each of which misses various parts that you’ll need. This makes sure you get the cert chain and the private key:

  1. Start > Run type in “MMC” and click OK
  2. Go into the File Tab > select Add/Remove Snap-in
  3. Click on Certificates and click on Add.
  4. Select Computer Account > Click Next
  5. Select Local Computer > Click Finish
  6. Click OK to close the Add/Remove Snap-in window.
  7. Double click on Certificates (Local Computer) in the center window.
  8. Double click on the Personal folder, and then on Certificates.
  9. Right Click on the Certificate you would like to backup and choose > ALL TASKS > Export
  10. Follow the Certificate Export Wizard to backup your certificate to a .pfx file.
  11. Choose to ‘Yes, export the private key’
  12. Choose to “Include all certificates in certificate path if possible.” (do NOT select the delete Private Key option)
  13. Enter a password you will remember
  14. Choose to save file on a set location
  15. Finish

2. Convert the binary pfx file into a .pem file with openssl (tip here, but reproduced below)
openssl pkcs12 -in publicAndprivate.pfx -out publicAndprivate.pem

3. Strip the password out of your private key
openssl rsa -in publicAndprivate.pem -out private.pem

4. Put the password-less private key into your .pem file
Open your “publicAndprivate.pem” file, and replace the private key section (marked with —–BEGIN RSA PRIVATE KEY—–) with the contents of your private.pem file.

That new file now has your cert, and password-less private key for uploading into a Coyote box. There may be a faster way (openssl may have a different combination of flags) but that did it for me.

The Facebook F8 story that no one seems to be writing…

If you develop Facebook applications, or have a website you’d like to integrate with Facebook connect, you have undoubtedly seen at least some of the videos from the F8 Conference this weekend. By and large, I found the announcements impressive, the technology decisions smart, and the overall direction of the platform to be very exciting. Plenty of stories have been written about these initiatives and the impact they’ll have on the internet at large.

But, here’s a story that I haven’t seen written (or at least, hasn’t bubbled up in Hacker News): a lot of this stuff doesn’t actually work. All of the developers must know this. The forums have been down since launch. In some of the talks they admitted that although these features are live right now, they are not yet documented (ie. you can’t use them). And, there’s my favorite: they released the Like button for the web… which works everywhere except on Facebook.

The Like Button

With the announcement of the social plugins, I was immediately interested in getting the Like button up and running. This was, after all “just one line of HTML” per the presentations, so it should have been brain-dead simple. For the Like button (just one part of the Social Plugins inititative which is just one part of the overall announcements) I encountered the following interesting things:

  1. It was live on… sometimes. Various times throughout the last few days the button was there, then it was broken and had an error screen where the people’s faces would be.
  2. If you use Facebook Connect already, you’re going to have to upgrade to the latest libraries to make use of the Like button. Not only is this upgrade undocumented, but where you used to find documentation for the old version, you now get redirected to the new documentation home page. So, even if you wanted to see how things used to work, you need to do some digging.
    This search result, which used to take you to the documentation for this method, now redirects you to the home page of the new documentation.
    You will eventually find that the new library has not reached feature-parity with the old one, and some of the features you used to rely on have not yet been implemented.
  3. The Like button itself does not work on Facebook applications. If you write a facebook app, or want to put some FBML on a Boxes tab, etc… the Like button does not work there. <fb:like /> produces nothing.


I thought the Facepile plugin made for a great pitch. Imagine going to a site and seeing your friends who are on it before you even sign up! A great way to increase conversions. The problem is, again, that it doesn’t actually work.

The Facebook developer forums were up earlier in the week, just after F8, but very few people could log into them. There were literally a handful of posts in the entire forum about all the new features that had just gone live. There was, if I recall, only one thread on Facepille. First post was that it didn’t work, and there were a few responses that were effectively “+1“.

Facebook Connect

Log in to sites around the web with your Facebook password. Pretty handy when it works – one less password to remember. When it doesn’t work? Pretty disastrous. Facebook Connect was up-and-down regularly throughout the last few days. It didn’t even work on the Facebook forums. Most of us were locked out (they had a backup signin mechanism, but that wasn’t working either). Just remember if you’re going to build a site and support Facebook Connect, having it as your sole authentication provider is a bad decision. Consider it a nice-to-have that might ease the friction of people signing up, but this is not a 99% SLA uptime universal login system.

Fixes Coming Soon?

I’m sure Facebook will get all of this cleaned up in time, I’m just surprised the degree to which they’ve been allowed to skate for 5 days without seeing stories pop up. When popular software companies put out sub-par products, the media slaughters them. The most popular site on the web is getting a pass.

Superbowl Prediction Map

I love this one because the only people picking the Saints are:

  1. Louisiana and Mississippi – the biggest Saints fans, and
  2. All of the New England states – the biggest Colts haters

I continue to question Vermont’s inclusion in New England.

Bob Saget is a Bore.

I went and saw Bob Saget’s standup last night at The Moore, and it was one of the least laugh-inducing 45 minutes I’ve ever sat through. His opening act however was fantastic – I’d definitely recommend checking out Ryan Stout, who should have a Comedy Central special coming out soon.

For those who don’t know, Bob Saget’s standup is known for being dirty and edgy – in stark contrast to his persona on America’s Funniest Home Videos and his character Danny Tanner on Full House. The problem is, although his material is marginally dirty it’s not actually edgy or interesting. He spent more time warning us about the offensive things he was about to say, and very little time saying them. He was coasting on his reputation as a screen star for the whole time, without providing the audience with any clever or original material. His act included:

  1. A series of jokes about the movie Titanic. Yes, it’s 2009 and evidently that passes for topical, relevant humor. He even made a joke about how predictable the ending was. That joke was tired even before the movie was released… 13 years ago.
  2. He must have thought that edgy Titanic material was quite funny, because he made callbacks to it throughout the rest of the set. It was brutal. Just as I hoped we were going to move past it, he kept bringing it up again.
  3. A number of jokes he told which “his father told him as a kid” which were funny, but they weren’t his. They’re just old jokes. He repurposed them by wrapping them in a story about how young he was when his father told them to him. So, picturing a young kid hearing them was, I suppose, the originality he added.
  4. A few anecdotes about “Uncle Jesse” and Dave Coulier which might have been amusing if they were bigger stars, but it’s tough to be captivated about a story about how some B-List stars got offended by Bob Saget’s zany antics.
  5. His whole act was a little Robin Williams-ish, in that he was talking a mile-a-minute, and wouldn’t stay on topic. He’d start telling a joke, then it would remind him of something else, and something else, and you almost forgot what he was trying to talk about by the time he got back to it. Perhaps that was for the best, because there was no punchline to be found in any of it.
  6. He made a lot of mistakes. He would mispronounce a word, and then make a joke about how that’s not a word, and laugh at himself, and we were all supposed to laugh along with him. I wouldn’t normally think this was a big deal, but I found it oddly smug. When Robert Plant sings a lyric incorrectly, that is funny. He’s a legend, and when he slips up it’s amusing because he’s so great that you know you’ve witnessed a one-off mistake from an amazing musician. However, when a guy gets up there and tells a series of boring jokes, and then screws them up, there isn’t a joke there. Laughing is like an acknowledgment that he’s earned the right to screw up, based on his prior comedic success.

Anyhow, if Bob Saget comes to town I’d recommend skipping him. But, keep your eyes peeled for Ryan Stout. His jokes are brutal and hilarious. A few drunk fans even heckled him, and his responses were scathing and well-delivered.