Author: xram net Created: 3/5/2010 7:11 PM RssIcon
Focused on DotNetNuke, .Net, Windows, and computer repair with smatterings from the rest of the technology ecosystem.
By xram net on 1/28/2009 4:50 PM

what in the wide, wide world of web is a-goin' on here?!

Finally!  For the longest time, I’ve been jealous of the great urls that blog solutions like WordPress and even BlogEngine.net 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 PowerDNN.com 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.

<add name="DNNFriendlyUrl" type="iFinity.DNN.Modules.FriendlyUrl.DNNFriendlyUrlProvider, iFinity.FriendlyUrlProvider"
    includePageName="true"
    logCacheMessages="false"
    regexMatch="[^\+a-zA-Z0-9 _-]"
    urlFormat="HumanFriendly"
    redirectUnfriendly="false" <!--needed to stop redirect on / -->
    parameterHandling="ordered" <!--needed to get blog to work!-->
    pageExtensionUsage="never" <!--here’s where the magic happens!-->
    doNotRewritePage="(\.axd)|(/DesktopModules/)"
    ignoreFileTypeRegex="(?&lt;!linkclick\.aspx.+)(?:\.pdf$|\.gif$|\.png$|\.css$|\.js$|(?&lt;!exif\.aspx.+)\.jpg$|\.html|\.htm|\.axd|\.swf$|\.flv$"
    checkForDupURls="true"
    doNotRedirect="SearchResults;"
    replaceSpaceWith="-"
    doNotRedirectRegex="[.]*(/logoff.aspx)"
    forceLowerCase="true"
    redirectWrongCase="true"
    useBaseFriendlyUrls=""
    triggerDictionaryRebuildRegex="&amp;ctl=tab|/ctl/tab|/Admin/Tabs/"
    allowDebugCode="false"
    cacheTime="1000"
/>

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

By xram net on 1/27/2009 9:19 PM

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

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.

SysInternals

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  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.

Nirsoft

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?

Jan 17

Recycling?

By xram net on 1/16/2009 11:00 PM

Reduce, Reuse, Recycle!

Philly, the city that I call home, has made the switch to weekly recycling pickups starting with the new year.  This is great news, as money gets tight and so many programs find themselves on the chopping block.  My fiancée and I live on a side street in South Philly, and I’m amazed at the amount of recyclables that pile up.  Since we’ve been living here, I’ve averaged at least a full 20 gallon bin of bottles and cans a week--just from walking up and down our block.  Now, researchers have empirical proof that chaos begets chaos—that people can be “morally swayed by the state of their surroundings.”  As New York City found in the past two decades, trash and graffiti invite people to break laws.  They already knew that the effect exists, but they were surprised by the size of the effect.

So, this Monday, get out and clean up your block.  If you live in a place like Center City that already pays people to clean up after you, then come down to a less privileged neighborhood and lend a hand.

By xram net on 1/14/2009 5:19 PM

netsh-1

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

By xram net on 1/14/2009 12:25 AM

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 {
  float:right;
  width:50px;
  border:solid 1px #999; border-top-color:#ccc; border-left-color:#ccc;
}
.blog_pub-month {
  background:#035;
  padding:1px 5px;
  font: 14px calibri,verdana;
  font-weight:bold;
}
.blog_pub-date {
  background:#f8f8f8;
  padding:1px 5px;
  font: 16px calibri,verdana;
  font-weight:bold;
}
.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>
 <'span class="blog_pub-date">
  <'%# Day(DataBinder.Eval(Container.DataItem, "AddedDate"))%>
 <'/span>
<'/div>

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).