Simple, Using a script to assign a shader

I have a special shader I have created. It seems you can't assign non default shaders to an object dynamically. So I put my shader in a Resources folder. This is my code, what am I doing wrong?

var s1 : Shader = Resources.Load("mySpecialShader");
renderer.material.shader = s1;

Use Shader.Find, or make a material that includes your shader, and assign the material.

function Start () {
    renderer.material.shader = Shader.Find("MySpecialShader");
}

Or:

var myMaterial : Material;

function Start () {
    renderer.material = myMaterial;
}