Palermo4 on MSDN

Technical Blog of J. Michael Palermo IV

Check it out!

  • Palermo4 on MSDN

    Camtasia Recorder Error: “Failed to start recording: Temp Folder Uninitialized”


    While attempting to record with Camtasia, you may receive the following error dialog box:

    Failed to start recording temp folder uninitialized

    If you receive this message, it is because the recorder is configured to save the recording in a temporary folder that does not exist.  To correct the problem, navigate to the tools menu option in the Camtasia Recorder and select Options.  Make sure the path for the Temporary folder: text input is valid.

    camtasia recorder tools options dialog temporary folder

  • Palermo4 on MSDN

    Demo Code–Dynamic jQuery Styling


    GangplankI had a fun time visiting the folks at Gangplank today.  I was invited to do a presentation on dynamic styling via jQuery.  Code samples can be downloaded below.

    Nice crowd of developers from a variety of platforms, and very courteous – despite working for Microsoft :)  It was also nice meeting up with Scott Cate and Joseph Guadagno, both very active Microsoft MVPs in the southwest.

    jQuery Code Samples Download

  • Palermo4 on MSDN

    Microsoft Web Platform Installer 3


    Microsoft Web Platform Installer 3 is available for download!

    Look at the cool things you can install…


  • Palermo4 on MSDN

    MIX11 Open Call for Content


    Be a “Best of Web” Presenter at MIX11

    Are you an expert on web development, design or monetization? Do you have interesting and unique information to deliver on creating next generation web sites? Submit your session proposal by Friday, January 14, 2011. The MIX content team will select the best proposals, and the MIX community will vote to determine who will present. Presenters will receive 3 nights hotel and a conference pass. Visit the Open Call page for detailed terms and conditions. See last year’s open call presenters and topics.

    Save $500 + one night hotel at MIX11 – register by Feb 11

    MIX11 registration opens in late January with a special offer for early birds – register by February 11 and save $500 on your conference pass, and receive one free night hotel when you book two or more nights at the Mandalay Bay. Join the MIX email newsletter and be among the first to learn about open registration, special offers, speakers and content for this year’s event.

    MIX11 event details


    April 12-14, 2011; MIX Boot Camps on April 11


    Mandalay Bay, Las Vegas


    Full Price Conference Pass - $1395
    MIX Boot Camps - $295

    More Info:

  • Palermo4 on MSDN

    Top 4 Blog Posts in 2010



    1. For the Web Forms developer who codes to the HTTP pipeline, check out how to extend HttpRequest with AJAX extension methods.
    2. Especially when developing for Web Sites, learn how to improve scalability and performance by defining “no-compile” web forms.
    3. Simple code sample for returning the contents as a string of an embedded text file (.txt, .xml, .css, etc…).
    4. Most popular of them all – code sample for “rewriting” the FindControl method of the Control class in ASP.NET Web Forms.
  • Palermo4 on MSDN

    Bitly Tweeter Updated



    The latest update to Bitly Tweeter allows for a default post format of the tweet.  Customization of the tweet can still be done when the blog post is published.

    If you are using Windows Live Writer for authoring your blog posts, then you owe it to yourself to get the most recent update of Bitly Tweeter!

  • Palermo4 on MSDN

    Bitly Tweeter Debut


    For bloggers who use Windows Live Writer and Twitter, you might be interested in checking out the Bitly Tweeter plug-in by Dan Waters.  This plug-in automatically tweets with a shortened link pointing to your blog when it is published.

  • Palermo4 on MSDN

    A Better FindControl Method


    For ASP.NET web forms developers, this is a handy extension method of the Control class that returns a strongly-typed control instance from a deep recursive search at any point in the control tree hierarchy:

    public static partial class ControlExtensions
        public static T FindControl<T>(this Control currentControl, string id) where T : Control
            if (id.Equals(currentControl.ID, StringComparison.OrdinalIgnoreCase))
                // return control calling this method
                return currentControl as T;
            // initialize potential "found" control to null
            T potentialFoundControl = null;

            foreach (Control childControl in currentControl.Controls)
                // recursive call to each child control  
                potentialFoundControl = ControlExtensions.FindControl<T>(childControl, id);
                // if result is not null, match has been found, break the loop
                if (potentialFoundControl != null) { break; }
            return potentialFoundControl;
        }// method
    }// class
  • Palermo4 on MSDN

    Get Embedded Resource as String


    Here is a utility method for returning any embedded resource content as a string:

    public static partial class Tools
        public static string GetEmbeddedContent(string resourceName)
            Stream resourceStream =
    .GetManifestResourceStream(resourceName); string content = null;
    using (StreamReader reader =
    new StreamReader(resourceStream))
    content = reader.ReadToEnd();
    } return content; } }
  • Palermo4 on MSDN

    Increase Web Site Scalability Using CompilationMode


    Did you know that ASP.NET Web Sites allow developers to configure whether a page compiles or not.  Consider the following page directive:

    <%@ Page Language="C#" CompilationMode="Never" %>

    Setting the CompilationMode attribute to Never will disallow code on the page.  It will also prevent compilation to an assembly.  These pages can contain server controls or Expressions such as $AppSettings and $ConnectionStrings.

    The main benefit is scalability.  In large web sites, this can avoid the need to compile high number of pages into assemblies.  Instead of compiling, these "no-compile" pages are processed by it's corresponding control builder which is preserved in memory for the life of the application.

    You can also let ASP.NET determine if a page qualifies for "no-compile" automatically by making the following setting in web.config:


Page 16 of 18 (176 items) «1415161718