Scott Hanselman

Today's Favorite Right-Clicks - ClipPath, RunAsLimitedUser, and Clean Sources

December 10, 2004 Comment on this post [7] Posted in ASP.NET | XML | Tools
Sponsored By

I loves me the right-click. I right-click in my sleep. Any utility that lets me right-click to do something that is a hassle, is my new best friend. Oh, and not crashing Explorer.exe is a requirement.

Here's my three favorites today (there are others for later):

  • RunAsLimitedUser - Jonas Blunck does it again. The only guy who writes more stuff is Jeff Key. Anyway, RunAsLimitedUser will launch an application using an account that has a limited set of permissions on my box. It's different than the shift-right-click RunAs...which lets you run as any user. If you're doing development in a restricted or very restricted environment, it's the tool. Slick.
  • ClipPath - Adds a context-menu to put the current path from Explorer in your clipboard. Even better, you can chosse from \'s or /'s, as well as Outlook friendly <file:///http://www.hanselman.com/blog/content/binary/whatever>. Why wasn't this in Windows already?
  • Clean Sources - "This Application does one thing. It adds an explorer shell menu to folders that when selected will recursively delete the contents of the bin, obj and setup folders. If you have a .NET project that you wish to share with some one, this is useful to remove the unnecessary stuff from the folder before you zip it up and send it off."

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 bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Note to World: Stop thinking that "Recall this message" will work. It NEVER will.

December 08, 2004 Comment on this post [5] Posted in Musings | Tools
Sponsored By

If I had a nickel for every time someone sent an email followed by an attempt of "Fred would (desperately) like to recall this message."

Sorry Fred. I already saw your "I'd like one" or "Me too" or "Joe is a jerk" email that you Big-R'ed rather than Little-R'ed.

  • Stop recalling your messages. It just looks bad and chances are it's already been delivered to your boss's BlackBerry.
  • Set a "Delay" Rule in Outlook that holds your email in the outbox for 1 minute. This saves me weekly.
  • "Little-R me" means Reply. "Big-R" means Reply to All.  Don't Big-R if you've been BCC'ed. It kind of shatters the mystique of it all.
  • Check twice if you are thinking of attaching something. Then check again, especially if it's your resume.
  • Use punctuation. And Capitalization. im glad youre h4pi to be lazi but pls don't inflict your inability to use the "Shift" key on me. And don't blame your carpal tunnel. Just Shift.
  • The P4-3.2Ghz1G can also check your spelling. Look into it.
  • Subjects in emails are nice. "Dude...check this out" isn't a subject.
  • If it's a throw-away comment, chat me instead. Ignoring you is easier than deleting.
  • Think about a utility like SSW LookOut. Not the LookOut search engine, this is a tool that catches your swear words, complains if you use the word "attach" then attach nothing, and generally enforces Netiquette.

Thank you.

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 bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Missing Operating System - Learn from me, backup your hard drives THIS YEAR!

December 07, 2004 Comment on this post [17] Posted in Musings
Sponsored By

BignewlaptopGasp. I returned from lunch only to find my computer in the middle of a blue screen.

Let me tell you folks, this is the computerguy-equivalent of finding your wife in bed with your brother. All the same emotions run through your mind (I would imagine):

  • Oh, you dirty bitch.
  • How could you do this to me?
  • And now, during the holidays!?

I rebooted, and was welcomed by and immediately disconcerting clank and the ominous evil that followed:

Missing Operating System

Seriously people, drink that in. Really, wallow in the pitiful blackness that is the failed BIOS POST, accompanied by the omnipresent but almost subconcious whispering "f*ck you...f*ck you..." clack of what remained of your drive heads.

Here's the catch. I backed it all up (for the first time in months) THE DAY BEFORE. I backed it all up (the data) to my Iomega REV Drive.

I'm digging this drive more and more.  Some poo-poo'ed the purchase, saying it was too expensive, and instead opting for other mini-harddrives (USB or Firewire) to copy their data to. I prefer a removable solution, one that I can put in a safety deposit box or fire safe.

Anyway, I'm about 40% done installing my programs as you can see by my Start Menu.  I'll know I'm done when the Start Menu completely fills my 1400x1050 screen.

Back up people. Do it today. Do it now.

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 bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Where are User Tasks from the Task List in Visual Studio.NET Stored?

December 06, 2004 Comment on this post [3] Posted in Programming
Sponsored By

I'm not sure why I wanted to know this, but I was looking for where the User Tasks (not the auto-generated Comment Token Tasks) were stored from Visual Studio.NET.

They are stored in the Solution file's (.SLNs) parallel Solution User Options (.SUO) file. This file appears to be OLE Structured Storage, even in Whidbey.

Now I know.

P.S. We, as a policy, don't check either *.SUO files or *.CSPROJ.USER files into source control (we've added them to .CSVIgnore) as they are totally user-specific options and would not only clutter and confused, but potentially share settings and tasks we don't want to share.

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 bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Precompile.axd in ASP.NET 1.1 with System.Web.Handlers.BatchHandler: A harbinger of ASP.NET 2.0 left vestigially in 1.1?

December 04, 2004 Comment on this post [0] Posted in ASP.NET | HttpHandler
Sponsored By

I'm surprised I'm just now noticing this. Jon Galloway hooked up the apparently unused System.Web.Handler.BatchHandler to an httpHandler and was able to precompile all his .ASPX pages. This could be useful during deployment to catch any goofs in ASPX code. Certainly not something you want on in production lest you be DoS'ed with compilation, but a helpful thing regardless.

To set this up at the machine level, add the following line to the <httpHandlers> section of %windir%\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config:

<add verb="*" path="precompile.axd" type="System.Web.Handlers.BatchHandler"/>

To set this up at the application level, add the you'll need to create an httpHandlers section like so: [JonGalloway]

<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="precompile.axd" type="System.Web.Handlers.BatchHandler"/>
    </httpHandlers>
  </system.web>
</configuration>

Now playing: Stevie Wonder - As

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 bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

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