Rants, rambles, news and notes from another geek

Non-Admin Problems With the Regulator

Today I needed&nbsp_place_holder;to quickly check out a nasty regular expression for a&nbsp_place_holder;project I’m working on.&nbsp_place_holder;I’ve used Roy Osherove’s Regulator before and always been impressed by it, so I went and grabbed the most recent version.

Installed as Administrator of course, but then I launched it as a non-admin (of course). I got this error dialog:


Oops. I pressed OK and the app came up just fine. (Actually the error dialog was obscured by the “Always on top” splash screen, which made it kinda hard to click, but as a keyboard guy I figured it out.)

So I closed it. And got this error…


Now both of those errors are obvious LUA problems. Writing to a settings file in C:\Program Files is a no-no. Settings belong in your user profile (C:\Documents and Settings\Username) or in HKLM, not in the app install folder.

Interestingly there is another error in the app. When I run it LUA and try to maximize it, I get an “Object Reference Not Set” exception thrown by an overridden WinProc. I’m not sure what is going on in there, but it ain’t good. For the record, when I run the app an as Administrator it works just fine.

Let this be a reminder to all of you to at least test your app as non-admin. Even better, unless you absolutely can’t, do all of your development as non-admin.

UPDATE: Apparently Roy knows about this already and is working on a fix. Hurry up man!

Now playing: A Perfect Circle - Blue (Remix)

Enterprise Library 1.0 Unit Tests


One thing that we spent a lot of time on during the development of Enterprise Library was the unit tests. In fact, for the most part, we tried to use Test-Driven Development (TDD) to help ensure good code coverage.

As Brian Button discusses in Febrary 2005 issue of Better Software, one of the other advantages to using TDD is that you get a form of developer documentation (e.g. working examples) that by definition can’t fall out of date as the code changes.

But I have to admit I’ve been surprised that I haven’t seen much talk in the blogsphere about the unit tests in EntLib. So a few questions to anyone who is working with EntLibΓǪ

  • Are the unit tests in Enterprise Library 1.0 valuable to you?
  • What was good? What was bad?
  • Did you run them when you got the code?
  • Have you referred to them while exploring the EntLib code?
  • If you’ve made changes to the EntLib code, did you update the unit tests? If not, why not?

Please reply in the comments…

Now playing: David Bowie - Space Oddity

More Great Non-Admin Resources

I started adding these to the last Geek Notes and realized that they deserve a post all their own.

You should already know who Aaron Margosis is. If you don’t, go read his blog. Read all of it.

Aaron is the guy who brought us MakeMeAdmin and PrivBar, two tools I can’t recommend highly enough for developers running non-admin (like we all should). He is a frequent contributor to the internal LUA mailing list and recently posted four great pieces to his blog.

  • Remembering Calculator and Character Map Settings - The details of getting this done right. Three registry keys and a reboot. This hack is very cool because it takes advantage of Windows ability to do INI file redirection.
  • Managing Power Options as a non-administrator&nbsp_place_holder;- If you run LUA on a laptop, you’re familiar with this one. Until I learned this trick, I had to launch the power applet from an admin console window. But no longer.
  • Ctrl-C doesn’t work in RUNAS or MakeMeAdmin command shells&nbsp_place_holder;- Yep. It’s annoying as hell, but it doesn’t work. As Aaron says, “Use Ctrl-Break instead.”
  • Changing the system date, time and/or time zone&nbsp_place_holder;- Only Admins and Power Users can change the system time. Again, laptop LUA users are familiar with this one. You travel to a new city and can’t change the time! Or, even more common, is people who double click on the time in the taskbar in order to get the “Windows Calendar Tool”. &nbsp_place_holder;Aaron shows you how to set&nbsp_place_holder; up your system to allow this.

One more thingΓǪ I’m working on an article about a new tool I’m releasing that is basically Aaron’s MakeMeAdmin on steroids. Written in C#, it lets you create shortcuts and launch commands in addition to creating an admin console window.

Geek Notes 2005-03-01

As I mentioned the other day, I’m playing with Ruby again. A little more seriously this time. I’ve also been introduced by Ward Cunningham to the IO programming language. A very interesting prototype based language. Ward, genius that he is, implemented a rich unit testing framework in IO with less than 20 lines of code. He used some cool techniques that you can only do with prototype based languages and I’ve been trying to duplicate his efforts in ECMAScript. Not much luck so far, but I’m still trying.

  • Getting Your Book, DVD or CD on Amazon - I had no idea it was this easy. [via BoingBoing]
  • Esuvee.com - I went to see Hitch with my wife last week and there was an public service message advertising this site before the film started. Apparently it is an attempt by various federal and state agencies to educate people about how to be safe in their Suburban Utility Vehicles. I love the crazy Sesame Street monster thingy.
  • What Great .NET Developers Ought to Know - Scott Hanselman posts his list. This may be the best one yet.
  • Triple LCD Developer Setup - I agree with Jeff on this one. Three monitors should be the standard developer setup. I run two right now and as soon as I can figure out how to get three on my laptop without spending $1000 for a SideCar, I’m in. I’m thinking about adding a PCMCIA video card, but it seems that there aren’t many on the market anymore.
  • America’s Dumbest Laws to be Violated All Summer - Ha ha ha haΓǪ
  • New Patch for Enterprise Library 1.0 - Scottden et al. have posted a number of new hacks and samples for EntLib, including “a provider and designer for storing configuration in your app.config / web.config, registry and Sql Server.”

Geek Notes 2005-02-26

As Brian mentioned on his blog the other day, he and I have started a new blog community site called AgileProgrammer.com. We hope to attract developers who tend to write about agile software development. If you think you would fit in here, drop me a line and let me know.

  • Source Code for WinForms - Shawn Burke is trying to get the source code for WinForms released to the public. As he says, “ΓǪthis is not the MFC model where you’ll be able to build it, etc. We’re talking about just source and PDBs for debugging.” [via Don Box]
  • 16 Rules to Live By - Bob Parsons from GoDaddy lists his “rules to live by”. I really like his list. I think I may print it out and hang it on the cork board in my office. [via Jason Bock]
  • Learning Ruby - Don Box is thining of learning Ruby, and for a while was considering using it to teach his kids to program. Back at the beginning of this year when everyone and their dog decided to learn Python, I decided to go with Ruby.&nbsp_place_holder;In addition to Ten Things a Java Programmer Should Know About Ruby&nbsp_place_holder;(which actually has 75 items), I would recommend reading and trying to do the weekly RubyQuiz as well.
  • Rootkit Revealer - Like many geeks, I have a keychain flash drive on which I have&nbsp_place_holder;a folder with a number of useful tools. This new one from Sysinternals.com was added to the list as soon as I found it. [via The Daily Grind 565]
  • C64DTV Hacks&nbsp_place_holder;- Yet another cool little hackable system. Buy a C64DTV joystick game machine, hack it a bit,&nbsp_place_holder;and now you have a full fledged Commodore64 (as far as I can tellΓǪ I haven’t tried it yet). [via Christian Weyer]

My New iPod Shuffle

5585926503747814A couple of days ago my iPod Shuffle arrived and I love it. My lovely wife Emily got me one for my birthday.

As you can see from this picture, it is literally the size of a pack of gum. Tiny. I carry it in my front pocket with my chapstick and my spacepen.

Why a shuffle you might ask? Well, I agree with what Brad Wilson said: there are two kinds of music listeners. Those who have tons of music and probably use shuffle play a lot, and those who have less music and tend to pick and choose specific albums or playlists. I used to be the latter, but for the past year or so I have definitely been in the former camp. So when I saw the shuffles were only $100, I decided I wanted one.

There are a couple of accessories that I’m on the lookout for:

  • A Key Chain Case - Something that will protect it from banging up against the keys but lets me use it as my key fob.
  • An FM Adapter - Yeah I know I can get any number of these, but they aren’t designed to work with the shuffle and so I end up with wires all over the place. I’d like something that snaps on to it like the iTrip does for regular iPods.

Now playing: Tool - Jimmy

UPDATE: My frield PK just IMed me&nbsp_place_holder;and told me that XtremeMac has exactly what I’m looking for&nbsp_place_holder;in their new iPod Shuffle line. Or, more correctly, they will have them by the end of March. It looks like the SuperHook ($19.95) + TuffWrapz ($24.95) + AirPlay for Shuffle ($49.95) will do exactly what I want. But that will end up costing as much as the Shuffle did. Hmmm. There has to be e better way. I suppose I could make the hook and get a cheaper FM adapter. HmmmΓǪ I think I’ll wait a bit longer and see what happens in the marketplace.

Geek Notes 2005-02-23

I’m back. Been busy as hell since&nbsp_place_holder;we got back from MexicoΓǪ

  • Ajax: A New Approach - Apparently there is now a name for XML+Javascript web applications like GMail and Google Maps. BTW, if you haven’t tried Google Maps yet, you need to stop right now and go check it out. Amazing.
  • Getting Rid of WebForms - Brad Wilson wrote about this idea a long time ago and now it looks like they’ve done it for CruiseControl.NET too.
  • Automobile Virus - It had to happen. Soon we will have viruses for everything we own. Oh the wonderful world of connected devices.
  • Process Explorer 9.0 - This must have too from sysinternals revved lately. Go get it.
  • XSLTO - Wow. This is a much friendlier way to do XSLT - in C#. I’m with Craig on this oneΓǪ less XML-as-a-programming-language.
  • More Presentation Tips - I’ve always referred people to Scott Hanselman’s presentation tips, but when Scott starts referring people to this list, you gotta take a look.
  • Building Your Own Windows MCE Home Theatre System - From scratch for about $1500. HmmmΓǪ I love my TiVo, but when I finally decide to give up on it, I think I’ll build something like this.
  • Help Beatallica - From Craig Andera’s post: “ΓǪthey need your help. They’re being sued by the a-holes at Sony for copyright infringement of The Beatles work, despite the fact that they’re doing parodies, which is legal.”

Computers and Kids

&nbsp_place_holder;This morning before coming to work, Emily and&nbsp_place_holder;I made French toast with our (almost) three year old daughter, Hadley. After breakfast she said, “Mommy, I want to play ‘puter ‘dames.”

Now, this isn’t a new thing for her. She has become very good at the games on Noggin.com, MyLittlePony.com, Barbie.com and NickJr.com. Every day she spends some time playing these games.

(Emily and I have really learned to hate some of the soundtracks on those games… but I digress…)

This morning something changed. This morning she said, “Daddy, I want to have my own ‘puter in my room some day.”

Whoa. She’s only three and she already wants her own computer.

So here are a few&nbsp_place_holder;questions for any techie dads who read this blog. How do you handle your kids having their own computers? PC or Mac? At what age did you let them have their own computer? Did you lock it down? How? Do you monitor their surfing? How? I’ve been told that MSN actually has great parental controls, but I haven’t used it myself.

Now playing: Rush - Cinderella Man

Yet Another Personality Test

I guess these are pretty close. Emily says I am more sentitive and openminded than this though…

Cattell’s 16 Factor Test Results

Warmth ||||||||||||||| 46%

Intellect |||||||||||||||||||||||| 78%

Emotional Stability |||||||||||||||||| 54%

Aggressiveness |||||||||||||||||||||||| 78%

Liveliness |||||||||||||||||| 58%

Dutifulness ||||||||||||||| 50%

Social Assertiveness |||||||||||||||||||||||| 78%

Sensitivity |||||||||||| 34%

Paranoia ||||||||| 30%

Abstractness ||||||||||||||| 42%

Introversion ||||||||| 30%

Anxiety |||||||||||||||||| 58%

Openmindedness |||||||||||||||||| 54%

Independence ||||||||| 30%

Perfectionism ||||||||||||||| 46%

Tension |||||||||||||||||| 54%

Take Cattell 16 Factor Test (similar to 16pf)
personality tests by similarminds.com

via Brad Wilson

Hunter S. Thompson Commits Suicide

The founder of “Gonzo Journalism” is dead after suffering a self-inflicted gunshot wound.

I still remember first running across Fear and Loathing in Las Vegas as a teenager and being completely overwhelmed by it. It was like no other book I had ever seen. Later, as my reading list expanded, I recognized influences like Kerouac, Bukowski&nbsp_place_holder;and Mencken in what Thomson had done.

Like it or hate it, his writing was like no other.