Scott Hanselman

Gone Quad - Day 0 with the Ultimate Developer PC

August 2, '07 Comments [56] Posted in Programming
Sponsored By

I apologize for this post ahead of time. It will be full of gushing computer hardware pron. Mea culpa. I just got the Ultimate PC in the mail from Jeff and I'm typing on it now. Here's some pics from the set up on Flickr. Jeff sent the thing double-boxed in a box so large that even the UPS guy commented on it.

CIMG7193CIMG7194

CIMG7195CIMG7196

CIMG7197CIMG7199CIMG7201

First Impressions

  • The Antec case is unreal. Brilliant design, built like a tank and very clean lines. Remember this is a collaborative case built with the folks at SilentPCReview.
  • Jeff is an artist when it comes to building a quiet system and adds a lot of noise reduction materials. The whole inside of the case is lined in a foam.
  • It's ridiculously fast. The word "obscene" comes to mind. It's working at least 80% of the speed of my thoughts (as opposed to 10-20% on my last PC.) I wait for little. Even opening a tab in IE7, once a chore that made me cry, happens instantly.
  • It is SO quiet that my wife immediately noticed a different in the sound upstairs. The last computer sounded like a jet plane. This one I literally have to strain to hear if it's on.

The Setup

Display SettingsI  hate waste, so I wanted to continue to use my existing 24" 16:9 and 20" 4:3 Dell monitors, so I bought another 20" 4:3 Dell. Now I run three, all via DVI, with a free DVI port for one more monitor in case the spirit moves me.

CIMG7206I need to tie up all the cables in the back there, but I've only been at this for an hour or so. Eventually all the cables will be clean and the whole area will be "office-like" - just like I like it.

Here's the Hanseldesk. Microphone and pop-filter on the right there, next to the XM Radio Boombox and Mac Mini. Two WDC MyBooks (love those drives) under the 24" LCD. The 20" on the right is a few years old and the 20" on the left is brand new (and half the price. Sigh.)

Vista 64-bit Ultimate

For some reason I thought that 64-bit would be this scary new world where nothing worked. So far it's been a total non-event. I don't know what I was sweating. I got a 64-bit driver for my Canon Pixma MP500 Multi-function Printer/Scanner and everything else has just worked out of the box. All 4 Gigs of RAM are available and in use.

What I Installed

I'm going to try to keep this machine free of crapware, so I'm starting to be a lot more judicious about what I go installing (unlike last year.) Here's what I needed to get going this evening:

At this point, after about 90 minutes, I have a machine I can use 80% and be just fine. I'll get Office and a few other things later.

Benchmarks

The overclocking worked nicely and the system is rock-solid stable, even though it's nearly 100 degrees in Portland today. The 2.40 GHz chip is running nicely at 2.84 GHz giving me a nice 18%ish speed bump for free.

You'll have to tell me, Dear Reader, what kinds of Benchmarks you'll want to see. Here's a few easy ones:

  • Previous 3Ghz P4 Bootup Time from after POST to Desktop: 48 seconds
  • Current Quad Bootup Time from after POST to Desktop: 12 seconds.

Here's what the 64-bit CINEBENCH Benchmark from Maxon says:

CINEBENCH 9.5
****************************************************
Processor        : QuadPower
MHz              : 2.8 Ghz
Number of CPUs   : 4
Operating System : Vista 64
Graphics Card    : NVIDIA GeForce 8600 GTS
****************************************************
Rendering (Single   CPU): 469 CB-CPU
Rendering (Multiple CPU): 1417 CB-CPU
Multiprocessor Speedup: 3.02
Shading (CINEMA 4D)                : 531 CB-GFX
Shading (OpenGL Software Lighting) : 1737 CB-GFX
Shading (OpenGL Hardware Lighting) : 4328 CB-GFX
OpenGL Speedup: 8.15

****************************************************

Versus the P4:

CINEBENCH 9.5
****************************************************
Processor: IntelĀ® PentiumĀ® 4
MHz: 3.0GHz
Number of CPUs: 2
Operating System: Windows XP Professional
Graphics Card: NVIDIA GeForce 7600 GS
****************************************************
Rendering (Single CPU): 248 CB-CPU
Rendering (Multiple CPU): 293 CB-CPU
Multiprocessor Speedup: 1.18
Shading (CINEMA 4D): 278 CB-GFX
Shading (OpenGL Software Lighting): 1079 CB-GFX
Shading (OpenGL Hardware Lighting): 1685 CB-GFX
OpenGL Speedup: 6.06
****************************************************

I'll do some real world developer-specific benchmarking to see if, for example, DasBlog REALLY builds faster.

Performance Information and Tools

For now, as it's getting late, here's my Windows Experience Index, up from 4.2 on the P4.

Link Round Up

Here's the complete set of links talking about this project from concept to now. A few more real world benchmarks (with scenarios supplied by you, Dear Reader, or didn't I say?) and we'll be done.

Podcasts

Blog Posts

If you've build a PC with these posts as your guide, or if you've "Gone Quad," let me know in the comments. If there's a topic around this that you want to start, why not try the new Hanselforums?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The Developer's Quitting Your Job Technology Checklist

August 1, '07 Comments [43] Posted in Microsoft | Musings | Tools
Sponsored By

Tomorrow is my last day at Corillian/CheckFree and I like to keep things tidy and ethical (that means I'm not going to toast or format my hard drive on purpose.)

As you likely do as well, I had a number of "Assets" listed under my name at this company. That means Laptops, Desktops, Monitors, etc. For the ones that are strictly development and have only dev tools and mostly-fresh operating systems on them, I just made sure that everyone had passwords and access.

However, I did have a personal laptop, and these things tend to get reused in my experience at companies. Here's the checklist I used to get ready to leave.

All this assumes that you're turning in your hardware and your IT department either:

  a. might not toast/re-image your system immediately
  b . they'll stick it on a shelf and get to it whenever
  c. you're paranoid.

Just because you're paranoid doesn't mean they're not after you.

Remember that if you're a Domain User, someone can, and likely will, log in as you later after you've left. Every byte in your hard drive is theirs (and always has been). So, tidy up.

  • RETURN: Turn in every piece of hardware that they ever gave you. I turned in Monitors, USB Hubs, everything. The last thing I need is someone from IT calling me looking for crap.
  • REMOVE: Clean your Firefox Data - Use Tools|Clear Private Data.
    Clear Private Data (2)
  • REMOVE: Clean your IE Browser History from Tools|Options|General|Delete...|Delete All...
    Delete Browsing History
  • CLEAN: It never hurts to do things twice, so run ATF Cleaner and go through each top-level menu item, tidying up.
  • CLEAN: I also like Crap Cleaner. Run the cleaner, and check everything. Also go to the Applications Tab and check everything and run.
    CCleaner (2)
  • CLEAN: Then run Disk Cleanup in Start Menu|Accessories|Disk Cleanup. Before you do go get the DriveCleanup Registry Hack (called VolumeCaches) that will make your Drive Cleanup experience faster and more thorough. If the tools before did their jobs, there will be nothing left at this point.
  • REMOVE PASSWORDS: Go into the Windows Wireless Network Connection Settings (or IBM's or whatever app is managing your wireless) and remove all the wireless networks, especially your home one. There's no reason to leave your system automatically trying to get on your home network.
    Wireless Network Connection Properties
  • REMOVE PASSWORDS: Remove saved passwords from all Applications, including Live Messenger. This is a very important step and rather than clicking "Remember Me" you'll now get to click "Forget me." Click Sign out in Windows Live Messenger and click (Forget me). We don't want anyone else logging in as my later. You can certainly uninstall also if you like but you want to disable any auto-login stuff regardless.
     Windows Live Messenger 8.5 BETA
  • DEACTIVATE LICENSING: Deactivate any applications that have licenses over the Internet that are specific to your hardware. For example:
    • Deactivate iTunes from the Advanced menu.
    • Deactivate the Sony Connect Reader software.
    • Deactivate XmlSpy and anything else that keeps track of the number of computers it's installed on.
    • Deactivate licensing and remove saved keys from Windows Media Center.
  • REMOVE: If you have any personal PGP Keys or Certs, remove them with certmgr.msc.
  • BACKUP: Backup then delete all your TrueCrypt disks. Clean out your My Documents of personal stuff. Take all your personal stuff with you.
  • UNINSTALL: Uninstall anything that you weren't supposed to have installed in the first place. I use MyUninstaller from Nir Sofer. It's AWESOME. You'll never use Add/Remove again. I removed Guild Wars and all the stuff I wasn't supposed to have on this box.
    • Uninstall FolderShare. FolderShare is a godsend, but it also synchronizes deletes and will auto log you in. It's possible that someone in IT could delete some files and FolderShare would "reach out" and delete them at home.
    • Uninstall Google Talk, IRC, AIM, Yahoo, whatever. Any and all chat programs.
    • Uninstall and delete your Password management app.
  • CLEAN: Run Crap Cleaner one final time, specifically the "Issues" button which goes through the registry looking for unattached remnants. The IT department likely isn't looking for your Guild War save games and stuff, but again, it never hurts to be tidy.
  • CLEAN: Empty the Recycle Bin.
  • CLEAN AGAIN: Run QuickWiper if you really have something to hide. Again, this is a tidying-up operation rather than a "cover your tracks" operation, so it's up to you.
  • STEAL: Take as many pens as you possibly can. And tape. And scissors. And paper*.
  • LEAVE FRESH AND MINTY DEW: Logout and go home. You machine is clean and usable by the next guy.

It's the end of an era for me. This is only my third job, as I have stayed everywhere I've worked for at least 5, usually 7 years. I got a little misty-eyed when I clicked "Forget me" in Messenger. I'm nervous, a little scared even, but there's a whole new world waiting for me and my little family starting in September. I hope it doesn't suck. 

I'm scared! Hold me, blogosphere, hold me! ;)

* Just kidding!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Silverlight Video of John Lam on IronRuby at PADNUG

August 1, '07 Comments [20] Posted in Silverlight | Speaking
Sponsored By

image Here's the Video of John Lam talking about IronRuby at PADNUG last week. I recorded it on a Sony Wide-screen (I think HD) camera with a 60 gig hard drive. Now that I've been doing the Podcast thing I'm a freak about decent audio, so John is wearing a Bluetooth Microphone around his neck transmitting directly to the video camera.

I edited the 17 gig video in Sony Vegas Movie Studio Platinum - which I love DEEPLY. Then I ran the audio through a hiss filter and punched it up a smidge. Then I rendered as a WMV9 and used Expression Media Encoder to produce a Silverlight Project that is now sitting on my web server. The final file was about 300 megs and is about 80 minutes long.

GOOF UPDATE: Looks like there's 2 min of blackness at 58:44 that ends at 1:00:03. To be clear, nothing is missing. It appears I didn't drag two "Segments" close enough together in Sony Vegas. My bad, sorry. You'll want to skip over that part, otherwise I'll have to re-render the Whole Thing and finagle it back up to the Microsoft.com servers that I don't have access to. Live and learn.

GOOF UPDATE #2: My man on this inside, at least until September, Tim Heuer has saved the day and uploaded a re-rendered version of this video with the gaps removed. Thanks Tim!

I tried a little different technique with this video. I moved the camera the way I moved my eyes. Rather than just putting it on a tripod and attempting to interlace in Camtasia footage, I attempted to fill more documentary style with big zooms into the projected screen. I actually think it works pretty well. There's so many great presentations that happen in small groups like this (classrooms, lectures, whatever) and they often sound and look like CRAP. My goal is to experiment with audio and video styles that are the most effective - and that folks will actually SIT through. When this video is resized full screen it's pretty watch-able. I'm interested in your opinion and ideas so I can try more in this style and possibly get my new boss get loan me a camera. Hint hint, nudge nudge.

But enough about video editing, do check out the video. John talks about a number of interesting things from his OSCON presentation including side by side speed comparisons with IronRuby against Ruby proper as the new Ruby runtime that is many times faster than the old. He also shows where IronRuby isn't so fast and why there are places where it won't even be fast. It's all done in a very accessible way. It was one of the first talks in a long time that I didn't get even a little sleepy.

If you have trouble viewing the Silverlight Version of the Video, you can get the WMV directly from download.microsoft.com (which is cool considering I don't work there yet, eh?)

So, again, that's:

Video doesn't work? Remember that Silverlight is NOT released, so things aren't necessarily 100%. If you are having trouble viewing this video, do me a favor. Go to a command-line and run MSINFO32.EXE.

You'll find it in one of two places - either in c:\windows\system32 or c:\Program Files\Common Files\Microsoft Shared\MSInfo

Export the results to a text file via the File | Export option (the command line switches don't always work.) It WILL take a long time. Relax. Then, zip it up and send it to me. My email is my first name at my last name .com if you know what I mean. I'll forward it along.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Expression Media Encoder - Preview Update for Silverlight RC

August 1, '07 Comments [2] Posted in Silverlight
Sponsored By

Microsoft Expression Media Encoder Preview I'm using the Expression Media Encoder right now to prepare the video of John Lam that I recorded during his recent visit to Portland. If you work with video and you haven't tried this app, do check it out. It does one thing and one thing only - it preps video for presentation, presumably via Silverlight.

As of today, make sure you get both packages:

Even though I use Sony Vegas for my video editing (Note to self, get boss to buy me a copy, as I'm on my 4th 30-day trial) the A/B Compare stuff in Media Encoder are reason enough to use it.

Open Media Encoder and drag/drop a video into it. Hit A/B Compare and now drag a small bit in the timeline to select a range of time, perhaps 30 seconds, then press Build Preview. Notice that the preview screen will split with a yellow line. If you double click on the line it will toggle between horizontal and vertical. After the Compare is rendered, hit play and drag the yellow line back and forth to compare the before and after. Love that crap.

Lam Silverlight After you've found a nice compression ratio that fits your needs, click on the Output Properties dealie in the upper right corner.  Click "custom" in the Thumbnail section and select a frame for use as your thumbnail.

Under Job Output, select a template. The template will say "Silverlight RC." 

ODD: for some strange reason, my favorite template called "Clean" wasn't updated for the Silverlight RC. You can go edit the templates yourself from the C:\program Files\Microsoft expression\Media Encoder 1.0\Templates\en. I'll probably go update "Clean" later, unless the guy who did "Clean" reads this blog and hears my plea. It was an awesome template.

A folder will be created with everything you need to upload. Put it all up on your site and you're all set. You can also edit the template's startPlayer.js and put your file in the  mediaUrl spot as seen below. 

function get_mediainfo(mediainfoIndex) {
    switch (mediainfoIndex) {        

        case 0:
            return  { "mediaUrl": "JohnLamIronRuby.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                
                          
        default:
             throw Error.invalidOperation("No such mediainfo");
     }
}

I should have this video up soon.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Progress Bars in PowerShell

July 31, '07 Comments [5] Posted in PowerShell
Sponsored By

PowerShell has a thousand nice features, but one of the nicer ones that I end up using all the time is the built in Write-Progress cmdlet. Shady the Intern came by today with a PowerShell script that printed dots to report progress, like:

Doing some stuff........................

I recommend he switch to Write-Progress. A nice feature of Write-Progress that I don't see used enough is the assigning of IDs to Activities, and then referencing those IDs as ParentIDs when writing out the progress of a Child Activity.

for ($i = 1; $i -le 10; $i++) 
{
  write-progress -id 1 -activity "Doing some stuff" -status "whatever" -percentComplete ($i*10);
   sleep 1; 
   for ($j = 1; $j -le 10; $j++)
   {
      write-progress -id 2 -parentId 1 -activity "Doing some child stuff" -status "yay" -percentComplete ($j*10)
      sleep 0.75
   }
}

PowerShell Progress

Here's a trivial example. Two for loops, each sleeping for a bit. The second for is a child of the first. Notice that ID of first loop is -activity 1 and the second references that activity via -parentActivity. This really adds, in my opinion, to the fit and finish of any script.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.