Subscribe | Alerts via Email
View All Quotes
“The greatest challenge to any thinker is stating the problem in a way that will allow a solution.”
-Bertrand Russell
<July 2010>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

©2010 Cal Zant
Sign In
Total Posts: 106
This Year: 5
This Month: 1
This Week: 0
Comments: 2

We recently ran into a problem up at work where people were opening a particular spreadsheet from a network fileshare, which had a lot of formulas that were tied to a few inputs.  You would typically change one input cell, and a lot of the other related cells would be recalculated and updated automatically.  However, a wierd issue started occuring where some users would change the input and nothing would happen.  But ... when they saved the worksheet, all of the related calculated cells would be updated at that time.

I think the issue was related to one person opening the spreadsheet on a Mac that was running Office 2008, and when they saved it we noticed it changed a lot of subtle things like the colors or formatting ... but I think it may have also changed the formulas to be manually updated and only automatically updated when the file is saved, which is an Excel Option.  Regardless of how this issue occurred ... here is the fix:

  1. Open Excel, and click on the Microsoft Office Button in Excel icon in the top left of the window, then go to Excel Options.
    Open Excel Options dialog
  2. Then go to the Formulas tab, and change the Calculation options to Automatic, and hit OK to apply the changes.
    Change formula calculation options to automatic
Thursday, January 14, 2010 10:32:59 AM (Central Standard Time, UTC-06:00)  # 

A lot of people just want to get an idea for what kind of revenue they can expect by adding Google ads to their site.  The truth is, there are a lot of variables that determine what you will actually earn like traffic, content, how much advertisers are willing to pay to be next to that type of content, ad placement on the pages themselves, whether you are using Google Adsense for Search, number of ad impressions per page, and many other things.  But, when I was looking into this stuff, I realized my "actual results may vary" ... but I just wanted some ballpark examples of what was possible.  That is what this is intended to be ... actual results may vary.

Estimated Annual Earnings From Google Adsense

Moderate Traffic

High Traffic

Very High Traffic

Typical Site

$100

$1,000

$10,000

Site Related To High Paying Keywords

$1,000

$10,000

$100,000

Site Related To High Paying Keywords & Good Ad Placement

$10,000

$100,000

$1,000,000


Moderate Traffic = 400 impressions/day*
High Traffic = 4,000 impressions/day*
Very High Traffic = 40,000 impressions/day*
*This "impression" count doesn't include traffic from spiders or other bots.  Some analytics tools include these in the total number of page views, so you may not be getting as many impressions if that is the case.  I have read that for an impression to count, all resources (i.e. images, javascript) and iframes have to be loaded, and that is something that most spiders and other bots don't do.

Typical Site & Site Related To High Paying Keywords both use a typical click-through rate of 1.5%.
Site Related To High Paying Keywords & Good Ad Placement uses a click-through rate of 3%.

High Paying Keywords simply means the content of the site is related to keywords that more advertisers are willing to pay for.  Obviously content related to higher revenue industries or products who's demographic is more likely to be on the internet would be more lucritive.  It all boils done to the fact that more of those types of companies are willing to pay to have a link on your site, so you get more of their advertising dollars.

Good Ad Placement just means that the ads are placed in a high profile area of your site.  According to Google themselves, placing your "ad units below the fold, or in an otherwise low-impact location, may result in lower earnings than if the ad unit was placed in a conspicuous location."  You can also use color schemes and other techniques to make the ad area stand out more, and hopefully increase the chances someone would click on it.

Tuesday, December 01, 2009 8:17:11 PM (Central Standard Time, UTC-06:00)  # 

I read an interesting blurb in the August 2009 edition of PC Magazine, which I thought was helpful. Here is an excerpt:

"Windows XP and Vista store the DNS information of websites you've visited, to reach those sites faster each time you access them. The cache sometimes gets corrupted or stores a lot of unusable data, and that leads to slower Internet response times. To clear the cache, go to the command prompt and type ipconfig/flushdns." - PC Magazine August 2009

Friday, August 07, 2009 7:07:18 AM (Central Standard Time, UTC-06:00)  # 

I recently read a helpful article in the July/August edition of Code magazine that pointed out several things you could do to tune up developer workstation.  To get more performance you could obviously boost your RAM, CPU, or hard drive ... but this article mainly focused on what Visual Studio and .NET do to your computer, and how you can do some simple file system clean-up to boost the performance of your machine.  It also included a few general tips for tweaking visual effects and OS-level stuff to free up more processing power and memory.  Here is a cliff-notes version of what I took away from the article of cleanup tasks to perform in Windows Vista:

Hard Drive Elements

  • Delete all files and subfolders from the directories below (if you use IIS for ASP.NET development you should run the "iisreset" command first so it will release the files so you can delete them):
    • <sysdrive>:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
    • <sysdrive>:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files
    • <sysdrive>:\Users\<UserName>\AppData\Local\Microsoft\WebsiteCache
    • <sysdrive>:\Users\<UserName>\Documents\Visual Studio 2008\Backup Files
  • Run "Disk Cleanup" utility at least once a month (this takes care of a long list of miscellaneous directories and file types that can be safely deleted)
  • If you have ever created any additional users on your computer and they no longer use your computer, you should delete their subfolder under <sysdrive>:\Users
  • After you have completed the tasks above, defragment your hard drive.

Visual Effects

  • Make sure you have configured settings for "best performance" ... who needs all that animated fading, sliding, translucent fluff anyway?
    • Change your color scheme to Windows Vista Basic (Control Panel\Appearance and Personalization\Personalization > Window Color and Appearance)
    • If you have a background picture on your desktop or have the gadget sidebar enabled, you should consider removing them. Both take up memory and make screen refreshes much slower.

Operating System

  • There are probably a ton of services running in the background that are not needed for most of your day-to-day tasks, but were either turned on when the OS was installed or when you installed a certain program.  Try turning off as many services as you can, but keep a list of the items you turned off ... so when something doesn't work like it used to, you can go back and turn a particular service back on.  One tool you can use to easily set which services should be running is "System Configuration", which you can get to by running "msconfig".
    Optimize Dev Machine Background Services

    Here is a link to the full article by Paul Sheriff: http://www.code-magazine.com/Article.aspx?quickid=0907031

    Monday, July 27, 2009 7:33:59 AM (Central Standard Time, UTC-06:00)  # 

    This is really simple, but I just keep forgetting how to do it and it isn’t real easy to find on Google … so here it is:

    subst g: "C:\Program Files (x86)"

    To delete a drive mapped this way, do this:

    subst g: /d

    Friday, July 17, 2009 3:10:56 PM (Central Standard Time, UTC-06:00)  # 

    I recently ran into an interesting issue where I had a .xls file linked in one of my web pages, and changed the content to a .xlsx file ... updated the link and it quit working.  Every time I clicked on it, I was sent to a 404 error ("Page Cannot Be Found").  I double checked the path in the link, that the file actually existed, that it had the correct permissions, etc. and everything seemed correct.

    Turns out you have to manually add the MIME Types for the new Office 2007 file extensions (e.g. docx, xlsx) in order for IIS 6 to render them.  I checked IIS 7 and it apparently doesn't have this same problem.  Here is how you add the new types:

    1. Go into IIS Manager, right-click on the Web Sites folder, and select Properties
      IIS Manager Web Sites Properties
    2. Click on the HTTP Headers tab and then click on the MIME Types... button
      Click on HTTML Headers then MIME types
    3. Add each of the MIME Types contained in the table below
      Add each MIME Type

    New Office 2007 MIME Types

    Extension MIME Type
    docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
    dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template
    xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template
    pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
    potx application/vnd.openxmlformats-officedocument.presentationml.template
    ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow
    Friday, March 20, 2009 3:37:08 PM (Central Standard Time, UTC-06:00)  # 

    Since performing a hard reset is completely different on each device (and somewhat hard to find instructions on how to do), here are the steps you need to restore the factory defaults on each device.  Here is a fairly clear disclaimer from the AT&T Tilt's user manual that explains what a "hard reset" means:

    Hard Reset (a.k.a. full reset): A hard reset should be performed only if a normal reset does not solve a system problem. After a hard reset, the device is restored to its default settings - the way it was when you first purchased it and turned it on. Any programs you installed, data you entered, and settings you customized on your device will be lost. Only Windows Mobile® software and other pre-installed programs will remain.


    AT&T Tilt (a.k.a. HTC 8925)

    1. Press and hold the left SOFT KEY and the right SOFT KEY, and at the same time, use the stylus to press the RESET button at the bottom of your device.
    2. Release the stylus, but continue pressing the two SOFT KEYs until you see a message on the screen saying "This operation will delete
      all your personal data, and reset all settings to the manufacturer default settings. Press SEND to restore manufacturer defaults, or press any other button to cancel.
    3. Release the two SOFT KEYs, and then press the button on your device.

    Alternatively you can go to Start > Settings > System > Clear Storage, and it will do the same thing.


    iPhone 3G

    1. Start with the device on
    2. Go to SETTINGS > GENERAL > RESET > ERASE ALL CONTENTS AND SETTINGS

    NOTE: This one takes abnormally long to reset everything back to the factory defaults (around an hour).


    Palm Treo Pro

    1. Start with the device on
    2. Take off the back cover
    3. While holding down the END button use to stylus to tap the RESET button (located on on back in the bottom left)
    4. Keep holding down the END button until you see the "Erase all data?" prompt.
    5. Press Up.


    HP iPAQ 910

    1. Start with the device off
    2. While holding down the OK button (located on the right side) and the VOICE COMMANDER button (located on the left side) use the stylus to press the RESET button (located on top)
    3. Release the OK and VOICE COMMANDER buttons when "Clean Boot" is displayed on the screen.


    Motorola Q 9H Global

    1. Start with the device off
    2. Hold down the * and E keys for 5 seconds while turning on the device
    Thursday, October 09, 2008 1:25:57 PM (Central Standard Time, UTC-06:00)  # 

    The major credit agencies (Equifax, Trans Union, Experian, and Innovis) all sell aggregate credit information to any bidder. Direct mail and credit companies buy lists based on demographics including zip code, income band and credit payment patterns ... and then mail out to thousands or even millions of "potential customers."  The Fair Credit Reporting Act entitles you to contact to contact these agencies and request they stop seding you card solicitations and related offers.  There are two easy ways to opt out:

    • Online: You can go to www.optoutprescreen.com, and fill out very short, one page form electronically that will opt you out for 5 years.  If you want to opt out permanantly you have a print out a form and mail it in.
    • Over The Phone: Call 1-888-5 OPT OUT (available 24 hours a day).  All you need to know is your address, former address within two years, and social security number.

    Both options will update each of the major credit agencies for you.  It will take a couple months to see the effects from either the online or over the phone request, because the credit agencies have to process the request, update their "opt out lists" ... and then after that time they won't sell your information anymore.  But if a company buys your information the day before they update the list, you might not see their promotion/application until a couple months later ... so you have to be patient, but eventually they should stop coming.

    Wednesday, April 23, 2008 12:41:49 PM (Central Standard Time, UTC-06:00)  # 

    The new Report Designer in SQL Server 2008 is actually a combination these two products from SQL Server 2005:

    • Report Builder - A stand-alone application distributed through SQL Reporting Services that is pretty high-level and designed for end-user ad-hoc reporting.  The files it generated were the standard .rdl files ... however, there were many limitations this software like the ability to only have one report region (couldn't make a single report that contained a few different types of information or queries) and you could only pull from one data source (typically a single report model).
    • Report Designer - This was a tool that developers and other IT pros could use to design more specialized or complicated reports inside Visual Studio.  The interface was less than intuitive, but it didn't have those limitations found in Report Builder.  It also saved files in .rdl format, but if you created a report with Report Designer ... Report Builder would not be able to edit that report.  However, if the report was created in Report Builder, you could always open it with Report Designer and modify it there.

    So now there is just one product ... SQL Server 2008 Report Designer.  It looks more like the stand-alone Report Builder, but has the Office 2007 look and feel including the ribbon control.  This tool is supposed to be a common platform that is easy enough to use so end-users (e.g. management, executives) could create ad-hoc reporting, but also contain all of the functionality needed by IT pros to build more complicated reports as well.  Seems like a tall bill to fill, but it isn't improbable in theory ... so maybe they got it right.

    The link below is a very recent "web exclusive" article from SQL Server Magazine that gives fairly in-depth preview on the product, and some examples and screenshots.  Check it out:

    http://www.sqlmag.com/Articles/Index.cfm?ArticleID=98830

    Saturday, April 19, 2008 9:42:19 AM (Central Standard Time, UTC-06:00)  # 

    There has always been a disconnect for storing unstructured data (e.g. documents, media files) in relational databases.  These were big blobs of binary data that couldn't be organized appropriately inside a database (or at least in a way that could be considered optimal).  So, most the time we stored those items in a file system outside of the database, and then simply stored pointers to those files inside the database.  Although this solution works, it is a bit awkward ... because the database isn't self-contained.  Since it refers to those other files, they could be thought of as "part of the data" in the database ... but those files are outside of the control of the database.  When an administer makes a backup of the database ... that isn't really all the data.  Also, if you move the file to another location ... you have to remember to update all of the paths in the database that point to that file.  SQL Server 2008 makes an attempt to bridge this disconnect with a new FILESTREAM data type. 

    With this data type, files can still be stored outside of the database, but the data is considered part of the database for transactional consistency. This allows for the use of common file operations while still maintaining the performance and security benefits of the database." - TechNet Magazine - April 2008

    You can pass the binary data to the SQL Server, and insert it similar to how you could already do for the existing VARBINARY or IMAGE data types.  However, instead of saving the bits with the rest of the structured, relational data ... SQL pretty much does the same thing we were doing before (i.e. saving the data somewhere on the file system and storing a pointer to the file), but completely takes care of it for us.  It saves all of the binary data in file containers in a special, hidden directory.  It also goes one step further ... only the account under which the SQL Server service account runs is granted NTFS permissions to the FILESTREAM container.

    MSDN suggests that you use the FILESTREAM data type when you need fast read access on files larger than 1MB.  If the file is smaller than that size, you will probably get better performance just using VARBINARY data types which store the data in-line with the structured, relational data.  But, I can already see how this new data type is just one of the new features in SQL Server 2008 that will make my life easier.  I can already see how it could used for content management systems.  Such systems often save a lot of unstructured binary data like documents, images, videos, etc. that can be in excess of 1MB ... so the FILESTREAM data type seems like an obvious fit. 

    For more info on this new data type, check out this documentation from SQL Books Online.

    Friday, April 18, 2008 9:14:57 PM (Central Standard Time, UTC-06:00)  # 

    I recently attended the "Heroes Happen Here" launch event that Microsoft held at over 200 locations around the globe (with over 300,000 attending world-wide).  It was to promote the launch of Windows Server 2008, SQL Server 2008, and Visual Studio 2008.  Microsoft tries to bundle the releases of those platforms and tools pretty close together, because they all interact together and although they aren't necessarily dependent on each other, some of the interfaces and features might only be possible if you are using one of the others. 

    However, it felt like they have missed the mark ... because even for someone who attends these types of events and tries to stay up to date, these releases seemed pretty disconnected and confusing.  I attended DevConnections in Las Vegas back in November 2007 and it was marketed as the "Visual Studio 2008 Launch Event" ... and they even said they would be giving away free, full-licensed versions of the RTM professional edition at the conference.  It was somewhat anti-climatic when Scott Guthrie got up at the keynote and had to tell the 5,000 IT Pros attending that wouldn't be the case ... they would have to mail us the DVDs over the next couple weeks, which actually turned into months.  I finally got my copy sometime in March (4-5 months later).

    Microsoft originally targeted Q4 2007 for the release of Windows Server 2008 and SQL Server 2008, but sometime mid-2007 they announced both would be pushed to February 27, 2008.  They were able to get Windows Server 2008 shipped on that date ... but SQL Server 2008 didn't make the cut.  (Windows Server 2008 Standard is already available through vendors like CDW for around $700.)  At the launch event I attended this week, they gave me the latest copy of the SQL Server 2008 CTP, which means it isn't even in RC yet.  All this has left me wondering what was going on, and when the real, final-release would actually be available to purchase.  So, I did a little research and after sifting through a ton of blogger's fact-less speculation, I finally found a blog post by Francois Ajenstat (Director of Project Manager for Microsoft SQL Server) that sheds a little light on the subject and expected roadmap for SQL Server 2008:

    Microsoft is excited to deliver a feature complete CTP during the Heroes Happen Here launch wave and a release candidate (RC) in Q2 calendar year 2008, with final Release to manufacturing (RTM) of SQL Server 2008 expected in Q3. Our goal is to deliver the highest quality product possible and we simply want to use the time to meet the high bar that you, our customers, expect.

    So ... RTM is slated for Q3 2008.  Seems like they have missed the original target by almost a year, but if the final release really is as impression as everyone says (and isn't buggy) then it will be worth the wait.  I guess we will all have to wait and judge for ourselves.

    Update from 8/7/08: I just got a TechNet email that said SQL Server 2008 RTM has been released and is now available for download.

    Friday, April 18, 2008 4:36:48 PM (Central Standard Time, UTC-06:00)  # 

    These are some hilarious spoofs of the recent Mac vs. PC commercials that Apple came out with.  I have found myself searching for them a couple times so that I could show them to one of my friends ... so I figured it would be easier to just post them here.  Enjoy.



    Wednesday, April 09, 2008 2:54:37 PM (Central Standard Time, UTC-06:00)  # 

    It can be pretty awkward navigating around in a Virtual PC at first, especially switching between the host and virtual machine.  Here are a few keyboard shortcuts that made it a lot easier for me.

    By default the "Host Key" is the right ALT key.

    Key Combination Description
    Host Key + ENTER Toggles a virtual machine between full-screen mode and window mode.
    Host Key + DELETE Sends CTRL + ALT + DELETE to the virtual machine operating system.
    Host Key + R Resets the virtual machine.
    Host Key + F4 Closes the virtual machine.
    Host Key + E Opens the virtual machine settings.
    Host Key + DOWN ARROW Minimizes the virtual machine.
    Host Key + L Restores Virtual PC Console from a minimized state. Moves Virtual PC Console to the foreground.
    Host Key + P Pauses or resumes the virtual machine, depending upon its current state.
    Host Key + I Installs Virtual Machine Additions.
    Host Key + C Copies the selected items.
    Host Key + V Pastes a copied item.
    Host Key + A Selects all.
    Host Key + LEFT ARROW Switches to the previous virtual machine when running multiple virtual machines, unless you are using full-screen mode.
    Host Key + RIGHT ARROW Switches to the next virtual machine when running multiple virtual machines, unless you are using full-screen mode.
    Friday, February 29, 2008 4:26:57 PM (Central Standard Time, UTC-06:00)  # 

    I don't really like how Microsoft changed where the "Start Menu" folder resides for a particular user in Vista.  It was pretty easy to find in XP, but seems "hidden" in Vista.  After I have a fresh install of an OS, I like to customize what all is included in my start menu ... especially with all the crap Vista puts in there by default like Windows Calendar, Windows Contacts, Windows Mail, etc.  You can obviously delete those one by one directly in the start menu, but I like to make changes inside the folder ... because it is easier to delete or move things in mass.  To do this in Vista you will have to find the "magic" folder, and here's where it is:

    C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu

    Note: AppData is a hidden folder, so you can either change your folder options to show hidden folders ... or you can just navigate to user's folder and then append "\AppData" to the path like this:

    Customize and Organize Windows Start Menu

    Not all of the menu items are contained in that user's folder ... some are common to all users and those are stored in another hidden place:

    C:\ProgramData\Microsoft\Windows\StartMenu

    Friday, February 29, 2008 7:56:36 AM (Central Standard Time, UTC-06:00)  # 

    This is something every true nerd should know.  How many times have you tried to give someone a long string of characters over the phone (e.g. email, id, username)?  Always painful ... but not so painful if you know the phonetic alphabet.  So here it is:

    A - Alpha N - November
    B - Bravo O - Oscar
    C - Charlie P - Papa
    D - Delta Q - Quebec
    E - Echo R - Romeo
    F - Foxtrot S - Sierra
    G - Golf T - Tango
    H - Hotel U - Uniform
    I - India V - Victor
    J - Juliet W - Whiskey
    K - Kilo X - X-ray
    L - Lima Y - Yankee
    M - Mike Z - Zulu
    Wednesday, February 27, 2008 4:40:46 PM (Central Standard Time, UTC-06:00)  # 

    Most versions of Vista come with IIS, which allows a computer to host a web site.  However, unlike Microsoft server operating systems the version of IIS that runs on Vista has been limited.  But this isn’t new ... the version of IIS that ran on XP Pro also had limitations, such as only allowing one web site to be hosted and no more than 10 concurrent connections at any one time.  But it looks like Microsoft wanted to throw a little more confusion in the mix with Vista by setting varying limitations on IIS depending on which edition of Vista you are running.  I had original read a couple articles on what those would be before Vista’s RTM, and have tried to remember what they those limitations were when I was trying to decide which version of Vista to install on a particular machine.  Every time I looked for this info on the net it seemed like it was harder to find than it should have been … so I wanted to write this post to help shed some light on the subject.

      Concurrent Connections Limit Number Of Sites Simultaneous Request Processing Limit FTP Advanced Security Features
    XP Pro (with IIS 6) 10 1 Unlimited Yes Yes
    Vista Starter Not Available
    Vista Home Basic
    Vista Home Premium Unlimited Unlimited 3 No No
    Vista Business Unlimited Unlimited 10 Yes Yes
    Vista Enterprise Unlimited Unlimited 10 Yes Yes
    Vista Ultimate Unlimited Unlimited 10 Yes Yes

    Old Limitations Lifted
    One really great feature of IIS 7 on Windows Vista has over IIS 6 on XP Pro, is that you can now have an unlimited number of sites on running on a machine (previous versions of IIS on Windows Client only allowed 1 site).  Also the limitation on the number of clients that can be actively “connected” to the server at any one time has also been removed.  This is discussed more in-depth later in the post.

    New IIS Limitations in Vista
    Wouldn’t it be nice if Vista ran the same full-blown version of IIS that runs on Windows Server 2008?  Unfortunately this isn’t the case, probably because Microsoft wants to give people hosting medium to large web sites an incentive to purchase their server operating systems … instead of trying make a Vista box their “production web server.”  While there are is no longer a limit on the number of connections or sites, there are some limitations present on IIS 7 on Vista machines.

    Request Processing Limit
    IIS has a new request processing limit, which means IIS will only process a particular number of requests at any one time and subsequent incoming requests will be put on hold in a process queue.  This is a limitation that is in place no matter which edition of Vista you are running.  However, the maximum number of requests that will be processed actually varies by SKU.  Ultimate, Enterprise, and Business editions will all handle up to 10 requests at a time, while Home Premium will only handle 3 requests at a time.

    This may sound similar to the “connection limit” that was in place on IIS 6 running on XP Pro, in fact many places on the internet including some Microsoft employee blogs and even some stuff on the IIS site use the terms interchangeably.  However, I think I have figured out what the difference is and would like to clarify it here.  IIS 6 running on XP Pro had a connection limit of 10, which meant at any one time no more than 10 computers could have active sessions with the web server.  Each of those computers could be submitting multiple requests to the server at one time, but that didn’t matter.  The only thing that mattered was that no more than 10 connections exist at one time.  If there were 9 connections and another computer made a request, then IIS would respond to the request.  However, if there were already 10 connections and there was another request from a computer other than those 10, IIS would simply ignore that new computer and not even respond to its request.

    IIS 7 running on Windows Vista doesn’t have a connection limit like that.  There can be 1,000 people connected to the server at one time.  However, Vista will only process a certain number of individual requests from those clients at time.  For example, if 15 people were requesting various content (e.g. images, static html, active server pages) … the server wouldn’t process those requests all at once.  It would process the first 10, and place the other 5 in a process queue.  When it responded to one of the 10 it was working on, it would then pull one of the waiting requests from the queue and start working on it.  So anytime IIS is processing the maximum number of requests (either 3 or 10 depending on version), any subsequent requests will be stuck in limbo until it is their turn.  Although this request processing limit might seem more restrictive than the connection limit on XP … at least in this scenario the client will eventually get a response, even if it took a while to get it.  IIS on Vista isn’t supposed to be a production environment.  If there are so machine requests that come into IIS that this lag becomes an issue … you should either pay to have your site hosted by a 3rd party or move it to a Windows Server 2008 machine.

    Additional IIS Limitations on Home Premium Edition
    The version of IIS on Vista Home Premium Edition is intended “to support the needs of the casual or hobbyist web developers,” and doesn’t include these features:

    • FTP Functionality
    • Windows Authentication
    • Digest Authentication
    • Client Certificate Mapping Authentication
    • IIS Certificate Mapping Authentication
    • Remote Administration
    • ODBC logging

    IIS on Vista Starter & Home Basic?
    If you look closely at Vista Starter or Home Basic you will notice that IIS 7 is listed as one of the available Windows features that can be installed.  However, none of the FTP or “web hosting” functionality (relating to static content, Classic ASP, or ASP.NET) is available.  The IIS 7 components available on these editions only serve as supporting infrastructure for Microsoft's Windows Communication Foundation (WCF).

    For more info, here is a good article that talks about some of this stuff: http://www.iis.net/articles/view.aspx/IIS7/Deploy-an-IIS7-Server/Installing-IIS7/IIS7-Features-and-Windows-Vista-Editions

    Sunday, February 24, 2008 9:02:06 PM (Central Standard Time, UTC-06:00)  # 

    IE printer header and footer

    I have found a ton of scenarios when it is helpful to either edit or completely remove the header and footers that are put on a page when you print from Internet Explorer.  It’s sometimes convenient to have the URL and number of pages printed on every page … but not normally.  The URL is too long to be displayed half the time anyway.  And if whatever you are printing is supposed to be a “printer-friendly version” of the page, or used as client-facing business document then that stuff just looks unprofessional and unpolished. 

    Remove Headers & Footers:

    1. Open Internet Explorer
    2. Click on the little arrow to the right of the printer icon and go to “Page Setup…”
      Configure page setup in IE
    3. This will display the screen shown below.  Just delete all the text from the boxes in the “Headers and Footers” section, and click OK.
      Default page setup configuration in IE

    Customize Headers & Footers:
    So what does all that stuff shown in the textboxes above mean anyway?  I think Microsoft could have definitely done a better job on this, because it is pretty cryptic.  But I guess this is the way it has pretty much looked since IE 3 or so, and since it isn’t a section a lot of people go … they haven’t done much improvement on it over the past 10 years.  So here is what all of that stuff means:

    Code Description Example
    &w Window Title StuffThatJustWorks.com - How To: Customize or …
    &u URL http://www.stuffthatjustworks.com/2008/01/03…
    &d Date (short format) 2/4/2008
    &D Date (long format) Monday, February 04, 2008
    &t Time (12 hour format) 4:48:51 PM
    &T Time (24 hour format) 16:48:51 PM
    &p Current page # 1
    &P Total # of pages 2
    &b Separate in new section

    So by default, the header is set to “&w&b Page &p of &P”.  This means it will print the Window Title (i.e. whatever is shown in the top title bar of the internet explorer window), and then in a different section (which will be right aligned) it will print the current page number, followed by the text “ of “, followed by the total number of pages.

    Say we wanted it to print the current date on the left side of the header instead of the Window Title.  All we need to do is replace “&w” with “&D”.  We can also choose to divide the header into three sections instead of just two.  All you need to do is add the new field you want to display, and a “&b” code along with it.  For instance, if we want the date on the left, time in the center, and then current page on the right, we might use “&D&b&t&b&p”.  This would display something like this:

    Default Page Print Header

    You can also just put some static text in that you want to show up on every single page.  For instance, maybe instead of the current page number on the right hand side, we would prefer to have “Visit StuffThatJustWorks.com” printed there.  To do that we might use ““&D&b&t&bVisit StuffThatJustWorks.com”, which would look like this:

    Custom Page Print Header

    If you ever want to set the header and footer back to what they were by default, just copy and paste these values back in:

    • Default header:  &w&b Page &p of &P
    • Default footer:  &u&b&d

    For more information on this topic, here is a good reference that goes into more detail: http://www.febooti.com/products/iezoom/print-web/printing-codes-footer-header.html.

    Saturday, February 16, 2008 8:30:46 PM (Central Standard Time, UTC-06:00)  # 

    It seems like Microsoft has introduced quite a bit of confusion with all the different Vista SKUs that have been released.  XP really only had two major version: Home and Pro.  However, Microsoft began to even skew the lines with XP because really there were other smaller versions of it as well: XP Media Center, XP Tablet PC, XP x64, XP x64 Pro, and XP Embedded.  But it wasn't an awkward decision when a customer was picking which version they would purchase … typical home users bought "Home Edition" and businesses and power-users bought "Professional Edition."  A lot of gray area has been introduced with the six versions of Vista:

    • Vista Starter – Limited to emerging markets
    • Vista Home Basic – Intended for budget users with low needs
    • Vista Home Premium – Covers majority of home consumer market
    • Vista Business – Designed for small businesses
    • Vista Enterprise – “Premium” business edition only available to customers participating in Microsoft's Software Assurance program
    • Vista Ultimate – Contains the complete feature-set and is aimed at enthusiasts

    All editions except Windows Vista Starter support both 32-bit (x86) and 64-bit (x64) processor architectures.

    Edition Comparisons:
    If you want a 30,000 foot view of what the differences are in "marketing jargon" … Microsoft has posted this comparison: 
    http://www.microsoft.com/windows/products/windowsvista/editions/choose.mspx.

    However, if you want a more in-depth look at the actually features that are included or the limitations of the various versions … here is a more complete comparison from the Windows Vista Product Guide:

      Home Basic Home Premium Business Enterprise Ultimate
    Key Features for All Users
    Welcome Center Yes Yes Yes Yes Yes
    User Account Control Yes Yes Yes Yes Yes
    Windows Security Center Yes Yes Yes Yes Yes
    Windows Defender Yes Yes Yes Yes Yes
    Windows Firewall Yes Yes Yes Yes Yes
    Internet Explorer 7 Protected Mode Yes Yes Yes Yes Yes
    Internet Explorer 7 Fix My Settings Yes Yes Yes Yes Yes
    Anti-phishing in Internet Explorer 7 Yes Yes Yes Yes Yes
    Anti-phishing in Windows Mail Yes Yes Yes Yes Yes
    Windows Update Yes Yes Yes Yes Yes
    Service Hardening Yes Yes Yes Yes Yes
    Performance self-tuning and hardware diagnostics Yes Yes Yes Yes Yes
    Windows Experience Index Yes Yes Yes Yes Yes
    Next-generation TCP/IP stack Yes Yes Yes Yes Yes
    IPv6 and IPv4 support Yes Yes Yes Yes Yes
    Windows ReadyDrive Yes Yes Yes Yes Yes
    Windows Display Driver Model (WDDM) Yes Yes Yes Yes Yes
    Ad hoc backup and recovery of user files and folders Yes Yes Yes Yes Yes
    Scheduled backup of user files   Yes Yes Yes Yes
    Backup of user files to a networked PC or device   Yes Yes Yes Yes
    Incremental backup   Yes Yes Yes Yes
    Automatic backup scheduling   Yes Yes Yes Yes
    Complete PC Backup and Restore (image based)     Yes Yes Yes
    Shadow Copy (restore previous versions of your documents)     Yes Yes Yes
    Windows Vista Basic user interface Yes Yes Yes Yes Yes
    Windows Aero user experience (glass, dynamic windows, and a smoother-performing desktop)   Yes Yes Yes Yes
    Instant Search Yes Yes Yes Yes Yes
    File tagging Yes Yes Yes Yes Yes
    Stacking and Group By View. Yes Yes Yes Yes Yes
    Internet Explorer 7 with RSS feed support, tabbed browsing, and integrated search Yes Yes Yes Yes Yes
    .NET Framework 3.0 Yes Yes Yes Yes Yes
    Windows CardSpace Yes Yes Yes Yes Yes
    Windows SuperFetch Yes Yes Yes Yes Yes
    Windows ReadyBoost Yes Yes Yes Yes Yes
    I/O prioritization Yes Yes Yes Yes Yes
    Automatic hard disk defragmentation Yes Yes Yes Yes Yes
    64-bit processor support Yes Yes Yes Yes Yes
    Maximum RAM supported with 32-bit system 4 GB 4 GB 4 GB 4 GB 4 GB
    Maximum RAM supported with 64-bit system 8 GB 16 GB 128+ GB 128+ GB 128+ GB
    Two processors (two processor sockets) support     Yes Yes Yes
    Years of product support 5 5 10 10 5
    Key Features for Home Users
    Windows Mail Yes Yes Yes Yes Yes
    Windows Calendar Yes Yes Yes Yes Yes
    Windows Sidebar Yes Yes Yes Yes Yes
    Windows Photo Gallery—for organizing, editing, printing, and sharing photos and videos Yes Yes Yes Yes Yes
    Themed slide shows   Yes     Yes
    Windows Media Player 11 Yes Yes Yes Yes Yes
    Native DVD playback   Yes     Yes
    Windows Media Center—for music, photos, videos, live and recorded TV, and online entertainment   Yes     Yes
    Windows Media Center—for recording and watching high-definition TV (U.S. and South Korea only)   Yes     Yes
    Windows Media Center—CableCard support (U.S. only)   Yes     Yes
    Support for Media Center Extenders, including Xbox 360   Yes     Yes
    Windows Movie Maker Yes Yes Yes Yes Yes
    Windows Movie Maker HD   Yes     Yes
    Windows DVD Maker (Video DVD Authoring and Burning)   Yes     Yes
    Games Explorer Yes Yes Yes Yes Yes
    Updated games Yes Yes Yes Yes Yes
    New premium games   Yes Yes* Yes* Yes
    Parental Controls Yes Yes     Yes
    Universal game controller support Yes Yes Yes* Yes* Yes
    Speech Recognition Yes Yes Yes Yes Yes
    Accessibility Settings and Ease of Access Center Yes Yes Yes Yes Yes
    Key Features for Business Users
    XPS Document support Yes Yes Yes Yes Yes
    Small Business Resources     Yes Yes* Yes
    Windows Fax and Scan     Yes Yes* Yes*
    Network and Sharing Center Yes Yes Yes Yes Yes
    Network Diagnostics and troubleshooting Yes Yes Yes Yes Yes
    Improved wireless networking Yes Yes Yes Yes Yes
    Wireless network provisioning     Yes Yes Yes
    Improved peer networking Yes Yes Yes Yes Yes
    Improved VPN support Yes Yes Yes Yes Yes
    Improved power management Yes Yes Yes Yes Yes
    Simultaneous SMB peer network connections 5 10 10 10 10
    Windows HotStart Yes Yes Yes Yes Yes
    Windows Mobility Center Partial Partial Yes Yes Yes
    Sync Center Yes Yes Yes Yes Yes
    Offline Folder support     Yes Yes Yes
    Windows Tablet PC with integrated pen/digital ink input   Yes Yes Yes Yes
    Windows Tablet PC touch screen support   Yes Yes Yes Yes
    Windows Tablet PC handwriting recognition improvements   Yes Yes Yes Yes
    Windows Tablet PC usability and navigation improvements   Yes Yes Yes Yes
    Windows SideShow   Yes Yes Yes Yes
    Windows Meeting Space View only Yes Yes Yes Yes
    Improved file and folder sharing Yes Yes Yes Yes Yes
    Ad hoc backup and recovery of user files and folders Yes Yes Yes Yes Yes
    Scheduled backup of user files   Yes Yes Yes Yes
    Backup of user files to a network device   Yes Yes Yes Yes
    Key Features for IT Professionals
    System image–based backup and recovery     Yes Yes Yes
    Encrypting File System      Yes Yes Yes
    Desktop deployment tools for managed networks     Yes Yes Yes
    Policy-based quality of service for networking     Yes Yes Yes
    Windows Rights Management Services (RMS) Client     Yes Yes Yes
    Control over installation of device drivers     Yes Yes Yes
    Network Access Protection Client Agent     Yes Yes Yes
    Pluggable logon authentication architecture Yes Yes Yes Yes Yes
    Windows BitLocker Drive Encryption       Yes Yes
    Support for simultaneous installation of multiple user interface languages       Yes Yes
    All worldwide user interface languages (36 available)       Yes Yes
    Subsystem for UNIX-based applications       Yes Yes
    Application Compatibility features Yes Yes Yes Yes Yes
    File-based image format (WIM) Yes Yes Yes Yes Yes
    * Feature is optional
    Thursday, January 17, 2008 8:52:51 PM (Central Standard Time, UTC-06:00)  # 

    You know what I mean ... every IT professional has been faced with this dilemma, and you have probably known radicals on either side of the argument.  I admit that I myself have swayed pretty wildly on this issue in the past, but after some serious thought and research I think I have boiled this debate down to its crucial elements.  I will refrain from the overused (but often true) adage of "it depends."  One article I found written by Bruce Lewis presents a good overview of the argument.  It was the primary basis of the drawback sections below, but I trimmed it down some and added parts I thought were missing.

    Drawbacks of the Buy option

    Companies pursue the buy option because it will be easier and faster than building custom software. Nevertheless, buying the right software is a project in itself.

    • Evaluation: When buying software, it is often difficult to determine which packages you want to look at seriously. Marketing literature is often vague and unhelpful. If you're lucky, you can download an evaluation copy either by paying a nominal sum, or by providing personal information so that their marketing people can contact you. If you're unlucky, you'll have to negotiate with them to obtain an evaluation copy.
    • License Hassles: Once you've settled on a particular product and installed it, the particulars of the licensing agreement begin to bite you. If you use a license server, will you be unable to use the software when that server is down? The last thing a serious operation needs is another point of failure. If you're licensing server-side software, do you need another license for a hot spare? What if you want to do testing on a separate server? What happens if the license is tied to some kind of hardware ID and a disaster forces you to restore from backup onto different hardware? A site license might be helpful, but what if you have users who may want to run licensed client software from home through their own ISP? Does the site license cover that case?
    • Lack of Customizability: At best, buying off-the-shelf software gives you most of the functionality you want at relatively low cost, but there's always some functionality you wanted that isn't there. Often there are simple changes that could make the software much more suitable for your task. Measured over the lifetime of the software, such changes might save the users a lot of time (a.k.a. money), but you have no way of making those changes.
    • Obsolescence: Ever been stuck with a piece of software you can't legally run anymore? Ever sink money into "the standard" only to have its support discontinued a few months later? People who buy software because they think it will protect them from obsolescence often get a rude surprise.  This happens because bought software, if it stops generating enough revenue to support marketing, legal and other departments necessary to run a software company, dies completely. It's unlikely that another company will pick it up.
    • Urgent Bugs: Even the best-laid business plans can be waylaid by software bugs. What happens then? No amount of money can force a large software company to put your bug at the top of their list, no matter how urgent it is for you.
    • Integration: It is often difficult to integrate off-the-shelf software with other business applications, and it is sometimes even necessary to create an additional software layer to help the two communicate.  And even if you can get it working with the rest of your stuff, several different pieces of software that have been patched together are typically complex and less stable.

    Drawbacks of the Build option
    To a developer, this almost always seems like the obvious choice ... because you design every detail, in the end you have exactly what you wanted (hopefully).  But this shouldn't be "the default" decision either, because there are significant cons we sometimes conveniently forget about.

    • Lack of Maintainability: The biggest nightmare of software built in-house or by a contractor is that the author will leave, and nobody else will know how the code works, how to recompile it, or sometimes even where the code is. This situation means job security for the author, but insecurity for the organization.  Beyond that, after software has been built there is a “hidden” cost of the ongoing maintenance and support required that most people forget to weigh in the decision.
    • Lack of Standardization: There's a training cost associated with software you build yourself. New employees need to be brought up to speed on your system, even if they've used software elsewhere that performs similar functions. This is one of the most common reasons why people choose to buy software even if it doesn't completely fit their needs.
    • Obsolescence: You usually choose to build your own software when nothing else is available to fit your needs. But what happens if off-the-shelf or free software later becomes available that would fit those needs and do even more? You find yourself supporting an obsolete product.
    • Urgent Bugs: Build-it-yourself software does have an advantage over bought software in that you can fix urgent bugs yourself. The down side is that you have to drop all the other important things you're doing to fix the bug, and usually only one person knows the code well enough to fix it.

    What It All Boils Down To

     

    “Buy rather than build where differentiation isn’t critical” - Joe Morgan

     

    That is a quote that really sparked me to write this article.  I ran across it in the September 17, 2007 edition of Information Week, in their “CIO Values” column, which highlights a different CIO in every edition.  This is part of what Joe claimed as his guiding principles (the other part was to create services for reusable business components … also important).

     

    I love that quote because it is so clear-cut and simple, but let me try to put some more flesh on the concept I am trying to drive home.  If the functionality you need is something that is unique to your business, core to your company’s strategies, and provides a significant competitive edge over competitors … then even a slight difference between the ideal software you could build and an off-the-shelf product is critical and might be enough to justify building a custom solution.  However, if the functionality you are trying to attain isn’t something unique to your business, and there is a product out there that may not be completely ideal, but includes most of the elements you are looking for … then “differentiation isn’t critical” and you should buy it.

     

    I think of Joe’s quote almost every time I find myself questioning whether we should buy a particular software package, software components, or tools.  Of course we could probably build anything if we wanted to dedicate the time to it … but is that always the best long-term choice for the company?  Probably not.  There has to be a balance there.  Buy software when you can, and build it when you must.  Ask yourself "Is this something unique to my business, and is the differentiation critical?"

    Tuesday, September 25, 2007 10:51:04 AM (Central Standard Time, UTC-06:00)  # 
    Is it just me, or do you feel like every time you try to find a good reference or example for a particular subject all you can find is stuff that is incomplete, incorrect, buggy, or only works in theory or when the winds are just right?  Also, like most people I have also had painful experiences with a few products or services that left me with the desire to climb on top of the tallest roof I could find and tell the world about it so that: 1) others wouldn’t have to go through the same frustration experience 2) to send a message to companies who continually provide poor service or subpar products that we are smart consumers and we will rebel against such tyranny.  I have also run across an equal number of companies that exceeded my expectations and gave me a “wow” experience, and in turn I have become evangelistic on their behalf.  Really I want this to be a place to share my experiences in terms of what did and didn’t work for me for: software, code, books, training, and some other random topics that temporarily captured my attention.
    Thursday, August 30, 2007 2:29:15 PM (Central Standard Time, UTC-06:00)  #