Scott Hanselman

Free ISO Disk Image burning Utility that works on Vista

October 3, '06 Comments [12] Posted in Tools
Sponsored By

BurncdccI found myself on Vista RC1 recently, downloading an ISO DVD disk image of the next build if Vista when I realized I had no way to burn the image to disk! Try as I may, I couldn't find an applet within Vista to burn an ISO and I had to uninstall Nero when I upgraded Vista.

Now, there's lots of ISO burning tools, but BurnCDCC from TerabyteUnlimited (Download via FTP) not only burns and works great on Vista RC1, but it requires no install. That's my kind of utility.

Boom. Copied to my C:\utils folder.

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

$25 Dollars from ING DIRECT with Deposit

October 3, '06 Comments [8] Posted in Musings
Sponsored By

IngdirectofferThis isn't spam, IMHO, but it's a useful enough offer for those of you readers who are interested in personal finance. We have a number of accounts with ING Direct, a bank of which I am a fan. They regularly have basic savings rates that are higher than anything else I have found.

UPDATE:

  • INGDirect gives 4.4% on their Savings and their 12-month CD is 5.1%
  • Praveen points me to HSBCDirect.com with a 5.05% Savings!
  • Kevin says Citibank has competitive rates also with 5.0% but requires a savings and checking out be linked.
  • Emmigrant Direct will do 5.05% also in New York.
  • WAMU will do 5.0% with a checking acount opening.

I like ING Direct because they are always upgrading their login page with new security features and there's no fuss to open an account.

If you sign up at http://www.ingdirect.com and reference code "CK921/hfbtitdex" (unfortunate code that) then you'll get US$25 free with an initial deposit of US$250. Not too bad if you're looking for a place to move your sock money to.

Disclaimer: ING Direct is NOT a Corillian Customer - I just think they are cool. This offer has nothing to do with Corillian. If you sign up, you get $25 immediately with a $250 deposit and I as an ING Direct Customer get $10. I will take that $10 and buy lunch at Chipotle.

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

More on Vista Reparse Points

October 3, '06 Comments [10] Posted in Longhorn | Tools
Sponsored By

SymlinkdVista upgrades NTFS to include some shiny new features, one is Transactional NTFS or "TxF". That means there's a Resource Manager for NTFS so you can batch up a whole transaction worth of file writes and if any of them go wrong - rollback.  I'm having a little trouble with Transactional NTFS right now because the resource manager is shutting down because I need to run chkdsk /f on my drive and I can't, but that's a story for another day.

Philip left a comment in my recent post on improvements in junctions/reparse points/symbolic links in Vista. He said "Have you tried using the new Vista symbolic directory link support available in the command line program "mklink /d". I have successfully used it cross-drive for other directories,though I haven't tested it in your scenario."

Soinks! That's what I get for not keeping up with Junfeng Zhang's excellent blog.

Postulate: Symlink is to Junction in Windows as Symlink is to Hardlink in Unix.

Symlinks can span volumes (wicked useful) and you can also Symlink to UNC paths. Woof. Notice the Command Prompt Screenshot at Right. In this example "My Documents" is a Symlink to another drive, while Junction points locally.

I am still a little unclear about the difference. As I understand it, junctions are "reparse points" and support links to local files and directories while symlinks are built into the NTFS file system at the Kernel level and support spanning drives. Perhaps Mark Russinovich will jump in here and explain.

Here's my DOS prompt removing my non-working junction and using the new MKLINK to get My Documents onto another drive.

C:\Users\Scott>mklink
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.

C:\Users\Scott>junction "My Documents"

Junction v1.04 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2005 Mark Russinovich
Systems Internals -
http://www.sysinternals.com

C:\Users\Scott\My Documents: JUNCTION
   Substitute Name: D:\Scott\My Documents

C:\Users\Scott>mklink /d "My Documents" "d:\Scott\My Documents"
Cannot create a file when that file already exists.

C:\Users\Scott
>junction /d  "My Documents"

Junction v1.04 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2005 Mark Russinovich
Systems Internals -
http://www.sysinternals.com

Deleted My Documents.

C:\Users\Scott>mklink /d "My Documents" "d:\Scott\My Documents"
symbolic link created for My Documents <<===>> d:\Scott\My Documents

C:\Users\Scott>junction "My Documents"

Junction v1.04 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2005 Mark Russinovich
Systems Internals -
http://www.sysinternals.com

C:\Users\Scott\My Documents: UNKNOWN MICROSOFT REPARSE POINT

C:\Users\Scott>dir "My Documents"
 Volume in drive C is 70 GIGS - SYSTEM
 Volume Serial Number is 88F3-D225

Newjunctionsvista1 Directory of C:\Users\Scott\My Documents

10/02/2006  09:42 PM    <DIR>          .
10/02/2006  09:42 PM    <DIR>          ..
04/23/2005  07:02 PM            37,758 0764576100.01._SCLZZZZZZZ_.jpg
...lots of files here...
...snip...I was able to CD over to another drive transparently...

Turns out I was (half) wrong when I said that Explorer doesn't know about Junctions. It knows enough about Junctions to show the shortcut icon, but that's about it. However, Explorer DOES know enough about Symlinks to show the Target (pointed to) directory in the Properties dialog. Nice.

In Vista, all kinds of things have been moved, and are now using Junctions to point to the new locations:

Was Now
Application Data AppData\Roaming
Cookies \AppData\Roaming\Microsoft\Windows\Cookies
Local Settings \AppData\Local
My Documents \Documents
NetHood \AppData\Roaming\Microsoft\Windows\Network Shortcuts
PrintHood \AppData\Roaming\Microsoft\Windows\Printer Shortcuts
Recent \AppData\Roaming\Microsoft\Windows\Recent
SendTo \AppData\Roaming\Microsoft\Windows\SendTo
Start Menu \AppData\Roaming\Microsoft\Windows\Start Menu
Templates \AppData\Roaming\Microsoft\Windows\Templates

Interesting stuff, I say.

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

How Geeks become Do-It-Yourselfers and Tile their Kitchen

September 30, '06 Comments [24] Posted in Musings
Sponsored By

Josh and Scott Baby PicturesPerhaps you'll see yourself, Dear Reader, in this story.

My family is Handy. Well, let me qualify that. The {set of all people in my family who are not me is Handy}. That's "Handy" with a Capital-H.

My dad, was a Firefighter for thirty years, and my brother

(pictured in a headlock and covered in baking soda at right. He's the short one. Of course, now he's a Triathalon-running-biking-swimming 6'2" ninja, but at the time of this picture I could beat his *ss. Didn't last long, needless to say.)

is also a Firefighter. They are both handy. Josh and his wife also run Starry Nights Stables filled with all sorts of Handy things that they build themselves like horse runs from scratch. 

I, on the other hand, hire a guy to mow my lawn. You get the idea.

Seemed like I'd be the non-Handy Hanselman and I'd resigned myself to the situation. Recently we decided to remodel our kitchen. We'd had a bunch of tiles just fall completely off the counter, messed up cabinets, scratched walls, yada yada yada. Seemed time to do something about it.

We tend to research things a lot before we take action so we started at the library. We got books on tile, on counters, on painting, etc. We went to Lowe's and The Home Despot. I had little confidence in my ability to make this happen, but Josh and Dad said they'd be happy to help. They came up a few weekends (they live 90 minutes away) and helped tear out the old counter and level the cabinets for the new one.

When it came time to decide about the "backsplash" - the tile that's up against the wall, connected to the counter in case there's any confusion ;) - I figured I'd hire a guy. Josh and Dad had really worked hard but I didn't want them to keep driving up to help. Both assured me that I helped them in substantive ways, but for some reason occasionally running Windows Update or installing SpyBot didn't seem to be a fair exchange for tearing up a kitchen. (Yes, I know they are family and family helps folks without the need for payback, but you're missing the point. You have no focus!)

Mo said that if we did the tile ourselves that there'd be a Sense of Accomplishment.™ I figured that we could buy a Sense of Accomplishment™ while sitting on the couch. But, her wisdom prevailed and I declared that I'd be doing the tile myself. We smiled with a feeling of pending accomplishment. This will go well, right? 

Aside: Once three years ago I tried to change out the Water Filter on the Refrigerator and hooked it up backwards. The resulting explosion of carbon dust from the filter is currently hovering over Fiji moving in a South-South-Westerly direction.

Realizing that I am in fact, not Handy, I decided that I'd need to supplement my skills with Tools. This, Dear Reader, is how the Geek becomes a Do-It-Yourselfer. One word people - lasers. But, I'm getting ahead of myself.

Here's how Geeks do Tile.

  • CIMG5816Go to a Tile store and borrow their board of Tile. This is a big wood board covered in Tile.
  • Scan said Tile board. Scan it into PhotoShop. Create a 1:1 scale model of the Tile design and print it out on your Inkjet printer.
    • There's nothing like fake inkjet tile taped to your kitchen wall to give you a clear idea of what the final design is going to look like.
    • Aside: "Random" is hard. I ended up coming up with a pattern for this tile that would look random for a moment, then looked like a pattern later without falling into a checkerboard or moire thing. It also made efficient use of the colors of tile we had. But making it look Random was tricky.
  • Measure like ten times. Seriously. We were using 2" tile that turned out to be actually 1 7/8" so a little thought had to go into it.
  • I estimated I'd need 386 tiles. Apparently they don't sell 2" tiles all onesy-twosy like that, so don't go to a Tile Store and declare "I require 386 two-inch tiles."
  • We ended up buying 12" squares with 36 tiles each and had a few left over.
  • When the tiles show up, lay it ALL out exactly as it should be. Sticking tiles on the wall isn't the time to decide how it ought to look.
  • Get a freakin' laser. Chalk lines? Pencils? For Handy People, I say. Geeks use Lasers. I'd say it made it so much easier, but since this was the first time I'd done tile, I don't have another frame of reference. Still, pencils? Please.
    CIMG5815
  • Did I mention lay it all out ahead of time? Do that. I also put little pieces of paper every 5 tiles so I could tell where 10 inches would be.
  • Decide if you can do the whole thing without cutting a tile. One wall was 81" so I'd need to either use 40 tiles and cut one, or make up the space over the whole span. I was able to add the 1" by making the 1/8" grout an extra 1/40" wider between each tile. You really don't want to show up at the other side of the wall unprepared. :)
  • Spacers - use a metric crapload of them. I used something like 1250 little plastic spacers to make the grout lines just so. Love 'em.
  • Thinset is the cementy glue that you use to make the tile stick. Don't mix it yourself, get the premixed stuff.
  • When you put the tiles on, twist them slightly as you push to get the maximum amount of the Thinset on the back of the thing. Use the Grout Float - that I called the "pressy rubber thing" before I learned it was a Grout Float - to push against the tiles and apply even pressure over the whole field.
    CIMG5817

I'm very happy to announce we now have a Sense of Accomplishment™ and that I have joined the ranks of Handy Hanselmen who are Do-It-Yourselfers.

P.S. I promise I won't even think about the opportunity cost of this whole operation.

P.P.S. OK, maybe a little.

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

Set up your system to use Microsoft's public Symbol Server

September 30, '06 Comments [1] Posted in Programming
Sponsored By

Symbolserver1If you're always futzing around with Process Explorer or trying to load your DLLs into someone else's memory space (like Explorer.exe), you're running WinDBG (or you want to) on Vista memory dumps, then you'll want to hook up to Microsoft's public Symbol Server for the PDBs for Microsoft's various and sundry processes.

Here's a good "Getting Started" article at MSDN as well as this one on How to use a Symbol Server.

Basically all you have to do is right-click My Computer, then click Properties. Select the Advanced tab and click the Environment Variables button. Set a variable called _NT_SYMBOL_PATH to something like:

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

...and you'll automatically get the PDBs downloaded directly from Microsoft while debugging. Be aware that there's often a long pause the first time the big ones come down. After that, it's speedy.

As long as the Symsrv.dll file is in your C:\Program Files\<Visual Studio>\Common7\IDE folder - it's put there by installing Debugging Tools for Windows - you'll get the symbols in VS.NET. Here's a video explaining how.

Sysinternals' Process Explorer has a dialog box where you can configure Symbols as well that it'll use to resolve function names while you're in the very useful Threads tab of a process' properties.

Symbolprocexp

Gets you actual function names and stack locations that are meaningful in Process Explorer:

Symbolprocexp2

You can also set up a Symbol Server at your company (we have one here at Corillian, but it's not well-advertised internally - yet). Here's a screenshot of part of my C:\symbols folder after debugging. Notice that I've set the folder with the Compressed attribute. That's useful because PDBs will typically squish at least in half.

Symbolpath

If you really want to go bonkers, you can also setup a Source Server that will automatically retrieve the files needed to debug at the source level. Here's a great article from this August explaining what's involved in setting up your own Source Server.

This is one of those things you should just setup and forget and you'll be happy when it's already ready for you when you need it.

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.