A Blog by Scott Isaacs

Month: May 2005 Page 1 of 2

IIS Util for XP Pro

Sometimes when developing web applications it is useful to have them live at the root of the web space instead of a virtual directory (which is the default for Visual Studio).  This is not always the case these days, but when I was still doing a lot of classic ASP development, I would often need this.  Since XP Pro only allows one web site (as opposed to Windows 2000/2003 Server, which allows multiples), I spent a lot of time loading IIS, going to the properties page, and changing the “Home Directory” for the web site.

Maybe it’s because my computer was crappy, or maybe there was too much other stuff in memory, or maybe it’s always this way, but IIS was slow to load, plus that seemed like a lot of clicks for something so simple.  So, a long time ago I wrote a simple utility in VB6 (to help me deal with this.  Then as I was learning .NET, I re-wrote it as a WinForms app (including the designer generated code, it’s all of 157 lines of VB.NET).  In a nutshell, it lets you choose a new folder to be the webroot on your local machine.  Additionally, it keeps a history of directories used (in a text file) so that you can easily switch back to another in the future.

For me, the main benefits were that it loads much quicker than the IIS console, and that there are not as many clicks needed, especially if you’re just switching back to a previously used web root.  But it’s far from perfect, so here are a couple ideas for possible future improvement (if I ever work on it again):

  • Also copy virtual driectory and IIS application settings when changing web roots.  Currently, only the web root itself is changed with this utility.  All virtual directories are left unchanged.  This may be good, or it may be bad, but there should be an option.
  • Build a more complete console, similar to IIS, based on something like Cassini.  This could allow multiple web applications to be running at the same time, each at the root of their own web site.  Of course, this will take away the simplicity that currently exists, so I don’t know how much I like this idea.
  • Possibly some integration with the HOSTS file.  I’m not sure what I would want here, but it might make sense.

So anyway, take it for what it’s worth.  Use it if you want.  As always, use it at your own riskHere is the ZIP download.  Aside from this post, there are no docs of any kind — you’re on your own.  If anyone is interested in source, I can supply that as well, or you can just use Reflector.  It’s pretty basic, but if you want to make any improvements (my ideas or your own), I’d like to see the result.

I rarely use this anymore, but it came to mind again recently, so I thought I’d post it in case it might be of use to someone else.

Dormant Strengths

I found this quote online today in this article on MarketingProfs.com:

“Guided by our parents, our teachers, our managers and by psychology’s fascination with pathology, we become experts in our weaknesses and spend our lives trying to repair these flaws, while our strengths lie dormant and neglected.”

Hmmm.  That one made me stop and think for a few minutes.  How true it is, for me at least.  Lately I’ve been finding myself examining my weaknesses and trying to go about correcting them.  I don’t want to do anything poorly.

The thing is, those “weaknesses” don’t affect my ability to perform well.  If I focused the same effort toward improving my strengths, the net result would be a more productive Scott than if I continue trying to improve my weaknesses.

Of course, there are, and always will be, some weaknesses that need improving.  There will always be new things to learn, better ways to do things, and mistakes to correct.  But the balance of trying to not do anything poorly keeping me from really excelling at what I am already good at — it’s keeping me from becoming an expert.

I’ve always thought to myself, “I don’t have to be the best at Topic X, but I don’t want to be the worst.”  Perhaps what I should have been thinking was, “Since I want to be the best at Topic A, I’m not going to really worry about Topics X, Y or Z anymore, and it doesn’t matter if I am the worst at those.”  I just have to learn to accept that it’s OK if I suck at some things, as long as that allows me to excel at others.

The whole concept is not new to me — I’ve even blogged about it before.  Related conversations might discuss specialization, niches, long-tail, Purple Cow, etc.  Sometimes, more important than something being said is the way it’s said.

Hmmm.  I like that sentence, so I’ll quote myself now to make it stand out more:

Sometimes, more important than something being said is the way it’s said.

(I’m not sure what the rules are for quoting yourself from within the same context as the original quote.  Just in case, I’ll mention that I found this quote here.)

But I suppose that diversion will take us away from my actual topic here, so I’ll have to come back to that another day.

So anyway, I’m going to try to update the filters, and only concentrate on the important stuff.

There you go, about a dozen paragraphs to tell you that I’m going to try to focus on something.  I guess that just shows that one of my weaknesses is knowing when to be verbose and when to not be verbose.  🙂

Congratulations Dan Bartels

So I found out yesterday that someone I know is going to work for Telligent Systems, the company that makes Community Server, which is teh software that I use for this blog.

Congratulations to Dan Bartels, a fellow Milwaukee-area developer, on this new position.

Now that I know someone on the CS team, I’ll have to start sending in lots of feature suggestions and bugs

Store Wars

I mentioned the other day that I’m going to see the new Star Wars movie with a few friends. 

That’s happening tomorrow night, but in the meantime, if you’re any kind of a Star Wars fan, you need to check out Store Wars.

Software Engineering Ethics

From Glenn Vanderburg via Matt Terski:

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
    — Nathaniel S. Borenstein

Lost Without It

So, like any good geek, I have a USB flash drive.  I have the 512MB Cruzer Micro by SanDisk.  I love it because it is so small, even compared to most other USB drives I’ve seen.  I use it regularly, but not everyday — I typically use it 1-2 times per week.

Well, today, I forgot it at home.  Ok, so I didn’t actually forget it — it fell out of my pocket while relaxing in my chair in the living room last night.  Of all days to not have it, today I have actually reached for it at least 3 times, only to remember that it’s not there.  Apparently, I am actually lost without it.

Sigh.

I was really worried about it at first, because I didn’t know where it was.  Fortunately my wife went home for lunch and found it deep inside the cushions of the chair.  (Thanks, Kelly.)

I Finally Broke Down

So I finally bought a Design Patterns book, Refactoring to Patterns, by Joshua Kerievsky.  I haven’t cracked it open yet, but it was recommended by a few people, including The Agile Developer and Gerry.  This will be my first official foray into Design Patterns — hopefully I can keep my interest up long enough to learn something from this book.  🙂

Also, a few of us are going to see Star Wars, Episode III, Revenge of the Sith next Thursday night (the night it opens).  That should be a lot of fun.  I’m not really a huge sci-fi fan, and I’m far from a Star Wars expert, but I’ve always liked the movies, and have seen all of the others at least once or twice each. 

So it should be a really fun night.  Just me, a few friends, and a few hundred other geeks…

Crazy, Crazy Day

Today was a crazy, crazy day!  I’m not sure if it’s good or bad, but time will tell.

But, I did get my new DMB CD.  I got to listen to about half so far, and it’s awesome!

Stand Up

The Dave Matthews Band is releasing a new studio album, Stand Up, tomorrow and Kelly pre-ordered it for me.

In case you couldn’t tell by the fact that (1) I am blogging about (2) pre-ordering the CD, I am a pretty big fan.  🙂

Last I checked, my copy is somewhere between Louisville and here.  I should see it tomorrow sometime.

Design Patterns in .NET

Tuesday night (5/10) is May’s .NET UG meetingMatt Deiters (The Agile Developer) will be presenting on Design Patterns with .NET.  I got an overview/preview of his presentation last week and am looking forward to getting into it a little deeper.  If you’re free, you should definitely be there.

Page 1 of 2

Powered by WordPress & Theme by Anders Norén