Palermo4 on MSDN

Technical Blog of J. Michael Palermo IV

Check it out!

  • Palermo4 on MSDN

    Feature Detection Script for CSS3 Selectors

    If you are a serious HTML5|CSS3 developer, you have undoubtedly come across the amazing resource known as Modernizr.  Modernizr is an amazing suite of script functions that enable feature detection to provide intelligent rendering across the multiple browsers that do or don’t support the desired feature.

    Recently I was in need of a specific feature detection in CSS3 that I realized was not in the latest version of Modernizr – the ability to detect support for CSS3 Selectors.  Some examples of new CSS3 selectors include:  ::selection, :root, :target, :not, :checked, :empty … just to name a few. With necessity being the mother of invention, I took it upon myself to create the script needed to do the job. 

    Here is the script, and I look forward to any feedback Smile

    // elsewhere in script use this way:  
    // var result = Palermozr.isSelectorSupported(":root");
    var Palermozr = (function () {
        function isSelectorSupported(anySelector) {
            var newStyle = document.createElement("style"),
                    cssRule = anySelector + "{}",
                    isSupported = false,
            newStyle.type = "text\/css";
            if (newStyle.styleSheet) {
                styles = newStyle.styleSheet;
                if (styles.cssText) {
                    styles.cssText = cssRule;
                    if (styles.rules) {
                        rules = styles.rules;
                        if (rules[0].selectorText) {
                            selectorText = rules[0].selectorText.toLowerCase();
                            isSupported = selectorText.indexOf("unknown") < 0;
            } else {
                isSupported = !!newStyle.sheet.cssRules.length;
            return isSupported;
        return {
            isSelectorSupported: isSelectorSupported
  • Palermo4 on MSDN

    A Few Things You Should Never Know

    Despite a sense of self-entitlement, there are a few things that should NEVER be known to you...

  • Palermo4 on MSDN

    HTML5 for the Real World

    Here are the resources for the “HTML5 for the Real World” Presentation given at SoCalCodeCamp on Saturday January 28th, 2012.  Enjoy!

    See the presentation here: HTML5 for the Real World

    [HTML5 Demos]

  • Palermo4 on MSDN

    Technical Level of Understanding

    How often are you asked something like:

    "How good are you at…"
    "Have you used…"
    "What is your experience with…"

    With regard to technical competency in a given area, what should you say? After giving this some thought, I feel there are three major aspects that come into play:

    1. Academics

      Knowledge & Understanding

      This is a two-part aspect. Knowledge refers to the specifics, while understanding relates to conceptual comprehension. For example, in HTML5 new elements have appeared such as <section> and <article>. Knowledge is awareness of these things and the proper syntax to use them. Understanding is knowing why and when we would use one over the other.

    2. Experience


      If all you have is the first aspect, then you only have is academics. You would be "all theory, no practice" as the saying goes. How much time you put into actually using the technology is commensurate with your expertise. And I am sure you will agree that the more time you spend on any technology, the more likely through "trial and error" you learn more too.

    3. Context


      How you apply the technology is also a factor. Using HTML5 to create a friend's personal website will (likely) not give me the same challenges as a Fortune 500 company needing a new internet site. The context of the technologies surrounding a technology also comes into play. For example, loading a web page with static data vs. loading a data from a service in the cloud – both end up the same, but the level of skill to complete one or the other is considerably different.  In this aspect the scale of use is also factored.  Creating something to please 10 people is far different from creating something to please 10,000,000 people.

    Any of the above aspects deserve much more explanation.  This is just my rough-draft thinking.  Imagine an algorithm that would put these into numerical measurement.  Something like:
    TL = (A+E2)C
    Technical level equals context multiplied by the sum of academics and experience weighted twice important

    If each aspect were given a scale of 1 to 5, what would your technical level be?

  • Palermo4 on MSDN

    How to Start in Safe Mode using BitLocker

    Here are the steps you need to take if you need to start your Windows OS in "Safe Mode" when the drive is protected with BitLocker.
    • First, be sure you have your BitLocker recovery key handy. This is NOT your PIN. This is a LONG series of numbers.
    • Before the screen appears prompting for the BitLocker PIN, press [F8] (maybe repeatedly).
    • If you pressed [F8] early enough, you will get a warning message as seen here:
    • After supplying the BitLocker recovery key, you will be prompted with booting options, including the various safe modes.
  • Palermo4 on MSDN

    Top Blog Posts of 2011


    The year 2011 was my first full year as a Microsoft blue-badge.

    In looking back on all my blog stats, I unraveled a humorous irony as to what became my number one blog post of the year.  Would the top blog of the year have something to do with HTML5?  Would it be regarding a technical article?  Would it be a blog post that stirred heated discussions?  Would the top spot be a post of free resources such as online videos?  Nope. Stay tuned… the number one blog post is revealed at the end. 

    For now, please join me in a walk down memory lane as I reveal my five most popular blog posts in descending order:


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

    No surprises here.  Anytime I blog about a technical error with a product it usually ends up being found by the search engines. 


    4 A .NET Love Story

    For a post that was originally written in 2005, it still remains my most viewed blog post of all time. Doesn’t that make sense?  It is about love…


    3 To MVP, or not to MVP…

    This was a blog post in response to an ex-MVP who felt the MVP program at Microsoft had no value in his eyes.  It was not the most viewed blog post, but it claims the prize for the most comments.


    2 HTML5 “Web Camp” Videos

    Confession time.  I really was hoping this would post would land at number one.  Coming in at number two is not bad considering I posted it in the latter part of 2011.  Nonetheless, recording industry super-stars sharing secrets about HTML5, CSS3, and JavaScript techniques still took a back seat to my number one blog post of the year…


    1 How to Fix/Repair iPhone With Water Damage

    Seriously?  In my first year at Microsoft, my number one blog post is about how I fixed my wife’s iPhone?  *sigh*

  • Palermo4 on MSDN

    HTML5 Form Inputs

    My latest article published at DevProConnections is about collecting and validating data using the new HTML5 enhancements to form inputs. In the article I cover new attributes to input elements such at required, placeholder, and pattern. I showcase how to style forms with CSS3, and how to customize validation with script.

    To read the article online, please visit HTML5 Form Enhancements with CSS3 and JavaScript at DevProConnections!

  • Palermo4 on MSDN

    ASU CIS Information Session

    I had the great pleasure of speaking to an amazing crowd of students on campus at ASU on Tuesday, November 29th 2011 (my anniversary date with Microsoft).  The response and feedback from the students in attendance has been overwhelming.  As promised, here are some resources requested from the session:

    Here are a few insightful tweets that followed the presentation and Q&A session:


  • Palermo4 on MSDN

    HTML5 Web Camp Videos

    The highly popular HTML5 Web Camp events sponsored by Microsoft are typically filled to capacity when delivered at any location.  In my humble opinion, the best HTML5 Web Camp delivered to date was in my hometown of Phoenix, AZ.  Fortunately, the team at EventDay showed up that day to record every session.  With great pleasure, I announce the availability of these videos for you to watch at your convenience – for free!


    Each video provides a simple user interface that allows you to see the presenter, the content on the screen, and navigation controls to the topic you are most interested in.  When the screen in maximized, you will truly be immersed into the experience as if you attended live!

    The link for all these videos is found below.  Please share with your community!!!

  • Palermo4 on MSDN

    HTML5 Syntax & Semantics

    My latest article published by DevProConnections is dealing with a fundamental yet very misunderstood topic – semantics.  If you would like to learn why semantics matter, I encourage you to read the online article – “HTML5 Syntax and Semantics: Why they Matter

    The article demonstrates the use of semantics by building a simple web site using Visual Studio 2010.

Page 11 of 19 (181 items) «910111213»