Aplazar la carga de JavaScript - Referencia no detectada Error: $ no está definido

Yo uso el código de Google para diferir la carga de JavaScript (páginas de google)

Pero tengo algunos javascripts en línea como:

<script type="text/javascript">
$(function () {
    alert("please work");
});
</script>

Y esto me da:

Error de referencia no capturado: $ no está definido

Creo que necesito alguna función, que se activó después de cargar jQuery e iniciar mis javascripts en línea. Pero si hay otro camino, me alegraré.

EDITAR:

Algunos de ustedes están completamente fuera de tema. Mahesh Sapkal estaba cerca.

Con este código no tengo ningún error, pero sigo sin funcionar

<head>
    <script type="text/javascript">
        var MhInit = NULL;

        // Add a script element as a child of the body
        function downloadJSAtOnload() {
            var element = document.createElement("script");
            MhInit = element.src = "my_packed_scripts.js";
            document.body.appendChild(element);
        }

        // Check for browser support of event handling capability
         if (window.addEventListener)
            window.addEventListener("load", downloadJSAtOnload, false);
         else if (window.attachEvent)
             window.attachEvent("onload", downloadJSAtOnload);
         else window.onload = downloadJSAtOnload;
    </script>

</head>
<body>
    <script type="text/javascript">
        MhInit.onload = function() {
            console.debug("here");
        };
    </script>
</body>

Respuestas a la pregunta(5)

Su respuesta a la pregunta