Start menu search is underappreciated

I'm running Windows 2008 on my Fujitsu S7220, using it to test various blog and CMS solutions, and it's a great OS.  As much as I love XP, I'm really impressed with a lot of the UI improvements that went into Vista (which flowed into 2008 and is improved even more in Windows 7).  I don't hear a ton of talk about it, and I get the feeling that a lot of people who grumble about Vista (Becky!) just haven't taken the time to learn their new surroundings.  One thing I didn't realize I use all the time was the searchable start menu.  No more sorting your start menu to make things easier to find-it's a built-in quick launch that doesn't suck.  Luckily, for people running XP, there's hope.  LifeHacker featured a download called ViStart (clever…), which gives XP users the useful bits without needing to upgrade.  I'm going to slipstream this onto my next XP image-that's still 90% of all the installations I do at work.  Most of the Vista-on-XP programs out there are kinda hokey and just for show, but this one brings some really useful functionality back to the most widely used desktop OS.


Multiple wireless networks on a DD-WRT router

One of my clients was experiencing some odd wireless dropouts on the computer set up the farthest from the router.  They mentioned that it started around when they gave their wireless key to a neighbor so he could get online.  It seems like a neighborly thing to do, until you consider that this new computer that they have no control over is on the same network as all of their machines, as well as their file server.  I told them I was uncomfortable with that setup, but if they wanted to share their access, I would find a way to make it work.

They have a WRT54G v8 that I had them purchase from NewEgg, on which I decided to swap out the stock firmware with the open-source DD-WRT firmware.  There's a great walk-through on that covers the additional VxWorks Killer step necessary for the v7 & 8 models.  The DD-WRT firmware gives you near-complete control, especially over things like wireless transmit power (the stock setting is between 20-40mw) which I leave set to DD-WRT's default setting of 70mw.  After setting up the wireless network and the security, I went back downstairs to find that the signal was now solidly stable.

But what about their neighbors' access?  Using the extremely well-written guide available from Pennock's World about setting up multiple BSSIDs using DD-WRT, I was able to get multiple wireless networks running off of one router.  The rules in the firewall section stop any traffic going between the two networks, while still allowing the second network access to the internet.  They can even be set with their own security schemes, so the neighbors can use any old WEP-enabled device while all of the important computers connect via WPA2.


Success with extension-less DotNetNuke urls

Finally!  For the longest time, I've been jealous of the great urls that blog solutions like WordPress and even give us.  I realize that DotNetNuke is an amazing platform that is virtually limitless in its modularity and expandability, but c'mon-can we PLEASE get some nice looking URLs built-in to the platform?

Enter iFinity Friendly Url provider

Using Bruce Chapman's amazing Friendly Url provider from iFinity, I was able to get it working by making the wildcard ISAPI modification in IIS (thanks to Kyle over a for making the change).  It would be nice to have this sort of control within the control panel, but IIS 7 provides for overriding defaults from within web.config (although I was told by Kyle that people have been having issues getting an already working DNN install migrated over…)

web.config entry

Here's what it took for me to get the beauty working.

regexMatch="[^\+a-zA-Z0-9 _-]"

Are you using this on your DNN site as well?  What has your experience been with URL rewriters (PageBlaster, HREF Exchanger, iFinity, Vertrian?)


What's in your toolbelt?

Stuff breaks.  Hardware, software, users-everything eventually needs to be fixed.  Take a look at any tech guy's (I use that term with no gender bias-girls can be "guys" too!) usb stick and you'll get a glimpse into how they fix what's broken.  Remember: these programs are powerful, and with great power comes the ability to screw up your computer in less than 10 seconds.


ComboFix has already saved me countless hours of searching a computer for odd activity.  It picks up on all sorts of random stuff that antivirus programs like Symantec miss.  Their site has a great walkthrough where you can also download the software.  They update it regularly, so while it doesn't hurt to keep a copy on a flash drive, you'll want to download the latest version when you have the ability.  You may also have to set your region settings back after using it to get your clock to display normally.


The suite of SysInternals utilities is the brainchild of Mark Russinovich and Bryce Cogswell, who have both joined Microsoft when their company was bought in 2006.  Microsoft continues to host their software, giving implicit approval of their utilities.  They've got utilities for everything.  My favorites?

Process Explorer - tells you everything you'd ever want to know about what's running on your computer.  Task Manager on methamphetamines.

Rootkit Revealer - catches rootkits by scanning for differences between raw disk info and what's reported through Windows APIs.

Autoruns - like Nirsoft's strun utility, shows all programs that start with the computer.  A little too much info for end-users, but great for troubleshooting.

PsTools - a bunch of command line tools for working on a computer remotely.


Whew-where to begin!  Password recovery tools, network monitoring tools (CurrPorts!), and a ton of other tools.  Definitely big on the password recovery stuff, to the point that Symantec routinely quarantines some of the programs as being capable of stealing passwords!  Verboden equals must have.

What am I missing from my list?  What do you have in your toolbelt?


Networking problems? Netsh to the rescue

Netsh  is a valuable command-line tool available from Windows 2000 onwards.  I recently had a client who was unable to get his wireless adapter to repair, no matter how many times he rebooted, repaired, disabled, etc.  It would associate with the access point but never pull a correct IP.  Instead, it kept going to some non-self assigned IP (202.61.xx.xx)  All it took were the following commands (he didn't have any special settings, so when in doubt, reset everything you can!)

netsh interface reset all
netsh winsock reset

A quick reboot later, and the wireless jumped right on and got a valid IP from the DHCP server.

Additional Netsh Resources


DNN Blog Module Modifications

This is my first real post using Windows Live Writer. So far, it's great. It clearly appears to have evolved from the visual studio side of html generation rather than the office side, creating perfectly legible code for anyone that gets excited by that sort of thing.

Eventually, I'd like to go through the DNN blog code and restructure the CSS. Some of the wrappings don't make much sense, and I feel it could definitely use a few tweaks. However, getting these changes wrapped into the project without breaking too make people's existing blog layouts is definitely a challenge, so for now I'll document what I did here and if it's useful to you, great! I see so much promise in the blog module, and I definitely want DNN to have the same ease of use as a blogging platform as dedicated ones like wordpress.

For now, though, most of my changes are a matter of overriding the classes in module.css. This is what I added to my skin.css:

/* blog css */
.blog_dateline, .blog_footer_left {display:none;}
h2.blog_title {font: 36px Georgia; font-weight:bold; clear:left;}
h2.blog_title a, h2.blog_title a:visited { text-decoration:none; color:#035; }
.blog_published {
  border:solid 1px #999; border-top-color:#ccc; border-left-color:#ccc;
.blog_pub-month {
  padding:1px 5px;
  font: 14px calibri,verdana;
.blog_pub-date {
  padding:1px 5px;
  font: 16px calibri,verdana;
.blog-rss {float:right; padding-top:20px;}

A few lines were added to ViewBlog.aspx though. I like the calendar page in the entry views, but there's no option to bring them to the main entry list. Just add these lines right after line 8 (right inside of div.blog_head, and remove the apostrophes):

<'div class="blog_published">
 <'span class="blog_pub-month">
   <'%# Left(MonthName(Month(DataBinder.Eval(Container.DataItem, "AddedDate"))), 3) %>
 <'span class="blog_pub-date">
  <'%# Day(DataBinder.Eval(Container.DataItem, "AddedDate"))%>

This seemed like a nice easy way to get this to display without having to recompile the blog from source (that's where the label values are assigned in ViewEntry.aspx).