Africa (45) ASP.NET (437) Bugs (160) CodeRush (21) Coding4Fun (30) Corillian (19) DasBlog (115) DevDays (5) Diabetes (47) eFinance (8) Gaming (97) HttpHandler (14) HttpModule (19) INETA (8) Internationalization (35) Javascript (51) Learning .NET (37) Longhorn (9) Movies (43) Musings (261) Nant (36) NCover (10) NDC (11) NDoc (5) NUnit (42) PDC (55) Podcast (46) PowerShell (43) Programming (85) Reviews (79) Ruby (45) Speaking (152) Subversion (14) TechEd (117) Tools (307) ViewState (18) Watir (21) Web Services (418) XML (268) XmlSerializer (27) Zenzo (31)
This is a Flickr badge showing photos in a set called Zenzo. Make your own badge here.

 Thursday, 30 November 2006

Vista's "Show Compatibility Files" and the Scrumptious Wonder that is File Virtualization

I was trying to convert some (totally legal) video files into MP4 format for use on my iPod for an upcoming trip to Arusha. I used the Videora iPod Convertor, by the way. By default Videora is set to write to: C:\Program Files\VideoraiPodConverter\Videos so I opened an explorer window and watched that folder for my output files to show up. After hours of converting. Nothing. I searched my hard drive high and low. Nada. What was it chewing on so long? I should have at LEAST 2 gigs of MP4s now. Where are they. I tried again. Hours past. Nothing.

What's this button "Compatibility Files?"

Um, OK. Click.


Then I remembered. In Vista the rules are that if you don't have explicit (by requesting) elevated permissions to write to C:\Program Files, the system lets you think you are writing there but actually redirects (virtualizes) your writes elsewhere. Jerry has some details here, where I took the next picture from.

On the surface, this sucks in a huge way, especially for my Mom in the "where are my files" kind of way.

As far as programs on my system, there's a number of "mal-behaved" programs that are getting their writer redirected to the "Virtual Store." Of note are MSN Messenger, the new Nero, and FireFox.

Ideally apps will write to the places they should be writing to, like Isolated Storage and such. Apps like Videora should include a manifest that explains what they're going to need (security and permissions demands) so that the consent dialog (run my Consent.exe of all things) would be issued automatically.

Personally, I'd rather see a UI with a link or button in the folder rather than in the Toolbar. It is pretty important and blends in there.

The other really bad UI issue is that there's no way to get to the compatibility-based Virtual Store from the common file open/save dialogs.

The same redirection CAN happen with apps that try to write to registry in HKLM, so watch for that also if something "goes missing."

I can see how hard they're working to make Vista more secure while still maintaining extensive backward compatibility. I haven't had any apps (other than one Java app) bork under Vista yet, but things like this Virtual Store will be confusing until new minor releases of apps with a modicum of Vista-awareness come out.

Friday, 01 December 2006 03:33:26 (Pacific Standard Time, UTC-08:00) by Scott # Comments [7] | Trackback 

Camera Panner using a Floppy Drive Stepper Motor controlled by a Parallel Port

Here's a clever guy to watch, Ashish Derhgawen in New Delhi. He's an 18 year old student and he's a wiz at hardware hacks. I've been picking his brain about Coding4Fun ideas, and we might turn his laser-pointer obstacle dectector into an article. He's been getting into WebCams. He's just set up a Web Camera panner using the stepper motor of a Floppy Drive, controlled via the Parallel Port. Seriously, read that last sentence again and drink it in. I'll wait....

Take a look at the YouTube videos on his site. I "met" Ashish while talking about working on a Morse Code application with Ward Cunningham. We want to make a program that will notice an LED blinking Morse Code in a Video and then add decoded subtitles of the morse code as an overlay. Ashish started by getting an LED to flash using the Parallel Port as power and control (video here) and here.

Head over to his site and post a few comments of encouragement and/or ideas on his software, will you? I wish I was this industrious when I was his age. Only took me 15 extra years!

Thursday, 30 November 2006 20:55:31 (Pacific Standard Time, UTC-08:00) by Scott # Comments [0] | Trackback 

Short: My Visual Studio Color Settings

Here's my freshly exported and slightly tweaked Visual Studio 2005 color settings per popular demand. I'm mixing Consolas and Inconsolata fonts. More font discussion and comparison shots on DamienG's site. Be sure to click the image, as he's highlighted what he thinks are the problems with rendering in each of the font samples. He also posts his tweaked InconsolataDG with a slashed zero while he waits for Raph Levien's revised version.

Scott Hanselman's Visual Studio 2005 Font and Color Settings

Thursday, 30 November 2006 19:53:08 (Pacific Standard Time, UTC-08:00) by Scott # Comments [7] | Trackback 

CardSpace/InfoCard for .NET 1.1

CardSpace Screencast Perhaps I'm old-school, but we still do a lot of work on .NET 1.1. It's pretty clear that the technology is moving faster than the business, and you can't always run the latest stuff. Besides, 1.1 works very nicely, thank you very much.

While working on an InfoCard/CardSpaces integration project recently (screencast and Identity Podcast and WS-* Podcast) I asked Garrett Serack (nicely) of the CardSpaces team at MSFT to make me a TokenHelper (the code that opens up an Information Card after it's passed to the server from a client like Windows CardSpace) that would work in .NET 1.1.

My argument was/is that many folks who have .NET 1.1 ASP.NET applications might want to include integration with CardSpaces without necessarily moving the whole app to .NET 3.0. I told him I figured it was a few hours work, total, and that I was far too lazy to do it myself. He figured it was about 40 minutes work, being that he's on the team and all. Six weeks and three complete re-writes later, Garrett announces a functional .NET 1.1 Token processor that correctly processes SAML tokens from CardSpace. I encourage you to check it out.

Take a look at the stuff that Kevin Hammond has been doing at enabling DasBlog for Infocard as a comment/admin authentication method. I've really insisted that the DasBlog team (so far) support both .NET 1.1 and 2.0 for flexibility in hosting, and this tool from Garrett will also help us enable DasBlog for InfoCard without insisting on ISPs hosting .NET 3.0.

Brilliant and Kudos to all involved. Thanks Garrett! 

ASP.NET | DasBlog | Tools | Web Services | XML
Thursday, 30 November 2006 19:21:01 (Pacific Standard Time, UTC-08:00) by Scott # Comments [1] | Trackback 

Getting Video out of an Apple iPod with a standard Audio Video RCA Cable

I received an 80GB iPod Video for Christmas and immediately wanted to watch a movie with it. I went up to iTunes and got the free 40 minute "Battlestar Galactica: The Story So Far" video. I didn't get an official $20 iPod Video Cable or $100 AV Connection Kit, and I'm also a cheap b*stard, so I went looking for a standard RCA adapter around the house that one uses to hook up a camcorder.

I plugged it in, started the video after setting TV Out to On on the iPod and selecting NTSC as the format as we're in North American, and...nothing. Zippo.

I thought I might have to buy a real cable, but come on, it's just four wires, this should "just work."

Then I realized that the thing that's unique about the iPod (or at least different from my camcorder) is that one headphone connector is used for audio and video.

A 1/8" standard headphone connector has three "connectors" in the form of three rings in the plug itself. One ring corresponds to one output cable.

So, on a standard microphone, there's three rings:

  • Tip - Left Channel
  • Middle Ring - Right Channel
  • Ring closest to the cable - Ground

When hardware folks want to add functionality, they add a ring and make the connector longer.

In the picture at the upper right (from there are FOUR rings on this standard video cable.

  • Tip - Left Channel
  • First Ring - Video
  • Second Ring - Ground
  • Ring closest to the cable - Right Channel

Notice that the rings are very different...that wouldn't be a problem if the 1/8" jack was ONLY used for audio. However, remember that the iPod needs the jack to work for both standard headphones, and for video.  Thus, they had to change the pin assignments for compatibility. (Folks have apparently accused them of changing pins to make money. I don't think so, this makes more sense.)

figure 3aSince they had to make the tip longer than a standard headphone tip, it makes sense that they'd put the video farther down (deeper into the headphone jack).

  • Tip - Left Channel
  • First Ring - Right Channel
  • Second Ring - Ground
  • Ring closest to the cable - Video

figure 3bThis means that when using an standard RC 1/8" AV Cable on an iPod, that the Video now runs through the red wire and the Right Channel is now in the yellow wire.

After I figured this out, I saw this article on O'Reilly, but this gentleman, IMHO, got it wrong, as he has reversed his right and left audio channels now. You just need to swap Yellow and Red.

Thursday, 30 November 2006 17:21:08 (Pacific Standard Time, UTC-08:00) by Scott # Comments [3] | Trackback 

 Wednesday, 29 November 2006

Zenzo is One Year Old

Zenzo is one year old today if you can believe it.


Feel free to celebrate this momentous occasion by perusing some Classic Zenzo stories. Also feel free to give Zenzo gifts from Dad's Wishlist. ;)

Baby Posts

Happy Birthday! And NO, Zenzo is not coding in C# yet, and there are no current plans for his MCSD.

Wednesday, 29 November 2006 17:03:18 (Pacific Standard Time, UTC-08:00) by Scott # Comments [16] | Trackback 

 Tuesday, 28 November 2006

System won't pass the BIOS POST - Yank external USB drives

Last night I had an almost-full-on-computer-emergency. I was trying to sync an iPod with content for a coming 20 hour plane flight, and suddenly Vista announced an "Unknown USB" device. Then another, and another. The iPod died, and every device on my system started a full scale revolt. I was stressed a bit, but I figured a reboot was in order. So, orderly shutdown and reboot, BIOs black screen comes up...and nothing. Zero. My system was hanging on BIOS POST. I couldn't even get into the CMOS via F2 to try other settings.

I started unhooking stuff. USB devices, internal drives, even the floppy for gosh sake. Nothing. At this point I'm getting uncomfortable. So what did I do? I did what anyone would do. I called Jeff Atwood.

Here's a little something about me. Back in the day, I knew a metric crapload about computer hardware. I could go on and on about the different between an SX and DX Processor. If you needed an MFM or RLL hard drive, I could give you a recommendation. You needed a TSR loaded into the UMB, screw QEMM, call me. I could put a field of DIPPs on an ISA add-on board and get your 286 up to a MEG of RAM.

But, alas, after the Pentium 4, everything got complex. People started talking about Northbridge this, and DRAM that, and this whole code name thing with Intel (Conroe? Tahoe? Who knows) just put me off.

I no longer know what motherboard to buy. Those brain cells have long been overwritten with more immediately useful information like the internal workings of System.Web.UI.WebControls.TextBox.

Jeff knows, though, and I called him at 10:45pm last in a sweaty panic. Well, actually I SMS'ed him, and he called me back, but still, details.

I explained the situation in exquisite detail with voices for all the characters involved. He said "remove your USB drives." I said, "I did already." He said "Humour me." He's from the Bay Area, but you can always here the "u" in words like Humor with Jeff. It's how he maintains quiet superiority over you and I.

Anyway, I went back upstairs, and alas, I'd missed a drive. My precious Iomega 35G USB Rev drive was still plugged in. (Not sure why, Iomega has no Vista drivers, and their support site sücks. Notice the Heavy Metal umlaut indicating that they don't just suck, but they suck über-ly.

So, I removed my USB Rev Drive, and boom. I'm back in business. Sweet sassy mollassy, I'm back in business. Danke Jeff Atwood.

The sad, silent tragedy about this whole sordid affair? My wife had given me the go ahead to buy a new motherboard, thinking the USB Root Hubs were toast before Jeff came up with the solution. Um, thanks Jeff?

Tuesday, 28 November 2006 20:31:59 (Pacific Standard Time, UTC-08:00) by Scott # Comments [16] | Trackback 

How to get SlickRun to activate with Windows-R

It's funny, when folks see me using SlickRun, they always notice that I've bound it to Windows-R, replacing the standard Start|Run dialog.

This is one of the questions I get the most often. Unfortunately it's not very well documented in SlickRun, and if you try to set it via the options dialog, you'll get get a a message saying it can't grab the global hotkey.

You have to open SlickRun.ini in C:\Documents and Settings\username\Application Data\SlickRun and add an option under the [General] section "GrabWinR=1".  I also like to set ChaseCursor=1 so SlickRun will come up under the current mouse cursor position.

Tuesday, 28 November 2006 19:04:35 (Pacific Standard Time, UTC-08:00) by Scott # Comments [10] | Trackback 

 Sunday, 26 November 2006

Making a list and checking it thrice

My Wish ListAfter reading Omar's list of recently purchased gadgets, poor man that I am, I figured I'd update my wishlist.

It's a kind of window shopping, I find, updating one's list. I don't make purchases of any kind frivolously, so I like to add things to my wishlist and let them sit there for a while. If they stick around for a while without me deleting them, I'll be more likely to consider getting it.

What's on your wish list this holiday season?

Monday, 27 November 2006 03:24:56 (Pacific Standard Time, UTC-08:00) by Scott # Comments [7] | Trackback 

© Copyright 2006 Scott Hanselman newtelligence dasBlog 1.9.6288.0
Page rendered at Tuesday, 05 December 2006 06:29:28 (Pacific Standard Time, UTC-08:00)
  Microsoft Regional Director Program Logo   Microsoft MVP (Most Valuable Professional) Logo   XFN Friendly
Contact me: =scott.hanselman