Q:

Why is my block not showing? 

I don't know why my block isn't showing up.  It's not showing up on any page, and I cleared the cache.  Can someone help me figure out what I missed?  However, the var_dump('test') shows up! 
app/design/frontend/default/default/template/justin/head.phtml
testing this block

Justin/Bieber/Block/Sings.php
class Justin_Bieber_Block_Sings extends Mage_Core_Block_Template
{
    protected function _construct()
    {
        parent::_construct();
        var_dump("test");
    }
}   

config.xml
<frontend>
       ...
    <layout>
        <updates>
            <bieber>
                <file>justin.xml</file>
            </bieber>
        </updates>
    </layout>
</frontend>
<global>
    <blocks>
        <bieber>
            <class>Justin_Bieber_Block</class>
        </bieber>
    </blocks>
    ...
</global>

app/design/frontend/default/default/layout/justin.xml
<? xml version="1.0"? >
<layout version="0.1.0">
    <default>
        <reference name="head">
            <block type="bieber/bieber" name="justin_bieber">
                 <action method="setTemplate">
                    <template>justin/head.phtml</template>
                </action>
            </block>
        </reference>
    </default>
</layout>

A:

Symlinks were the problem.  Magento won't be able to grab the file if it is in a symlinked directory. 
Turn it on! 
Magento/Zend not allowing symbolic links
Another thing is to turn on template hints!