Make the Matrix Digital Rain using the shortest amount of code Rules:


Any language you choose (Standard Libraries).
Output displayed in Terminal or Windows Command Processor or any other way you prefer.(width buffer = 80)
ASCII Characters are enough. (may add Unicode)
Shouldn't fill up the entire screen at start-up (Should look like a rain, duh!).
Colors gets bonus points (+5).
Effects : Random characters, different fall sizes, regenerates periodically. 



Points: (update)


+32 points to start with.
-1 point for every byte (not chars) in the code after the **1024***th* byte.
Points could reach zero and negative.
Note: Languages using multibyte characters should count bytes not characters.
+5 for every new effect. (not posted by others)
+15 for any of these effects:


Wind(blows characters to the side)
Number Matching(user input, eg:90210):
Number is randomly located within the matrix

Sound
Encrypted msg(user input):
Characters represent a secret encrypted message
Galaga mode:
Fires ^ to destroy characters




Scoreboard:

┌-----┬------------┬------------┬-------------┬---------------┬--------------┐
| pos |    name    |    type    |    bytes    |    effects    |    points  ^ |
|-----|------------|------------|-------------|---------------|--------------|
|1    |nitro2k01   |QBasic      |913          |Colours        |+57           |
|     |            |            |             |Colour Fade    |              |
|     |            |            |             |Sound (+15)    |              |
|-----|------------|------------|-------------|---------------|--------------|
|2    |squeamish   |HTML, Java- |1024         |Colours        |+47           |
|     |ossifrage   |Script, CSS |             |Transition     |              |
|     |            |            |             |Size Variation |              |
|-----|------------|------------|-------------|---------------|--------------|
|3    |manatwork   |Ruby        |374          |Colours        |+47           |
|     |            |            |             |Actual Words   |              |
|     |            |            |             |Character -    |              |
|     |            |            |             |      Disperse |              |
|-----|------------|------------|-------------|---------------|--------------|
|4    |plg         |Bash        |1024         |Colours        |+42           |
|     |            |            |             |Random Pause   |              |
|-----|------------|------------|-------------|---------------|--------------|
|5    |Timtech     |TI-84 calc  |120          |Umbrella       |+42           |
|     |            |            |             |Run Inside     |              |
|-----|------------|------------|-------------|---------------|--------------|
|6    |Samuel Cook |JavaScript  |830          |Colours        |+42           |
|     |            |            |             |Transition     |              |
└-----┴------------┴------------┴-------------┴---------------┴--------------┘


Note : Scoreboard will/could be updated by anyone after posting a valid answer. Do not exceed top ten positions. Add more effects to your code and beat your own score! Clearing initial screen, cleanup, bugs, third party libraries etc. would not count towards the points
Remember to include details about no. of bytes used and the name of language or program.


  Neo: What are you trying to tell me? That I can dodge bullets?
  
  Morpheus: No, Neo. I'm trying to tell you that when you're ready, you
  won't have to.
HTML, Javascript and CSS: 1024 bytes, 47 points

Features:

Uses Unicode characters (don't think this scores any points though)
Trails fade from bright to dark green while they are being drawn (*)
Trails also fade from dark green to black after the drawing has finished (*)
Random text size in each trail (*)
Trails are randomly repositioned and resized each time they are drawn

(*) I'll claim +5 points for each of these, but let me know if you disagree :-)
Demo:
http://ruletheweb.co.uk/matrix.html
Source code:
Exactly 1024 bytes. It's a bit ugly, I'm afraid.
&lt;head&gt;&lt;style&gt;*{margin:0;padding:0;line-height:1;overflow:hidden;}div{width:1em;position:absolute;}&lt;/style&gt;&lt;script&gt;
w=window;n=w.innerWidth;m=w.innerHeight;d=document;q=&quot;px&quot;;function z(a,b){return Math.floor(Math.random()*(b-a)+a)}f=&quot; 0123456789&quot;;for(i=0;i&lt;45;i++)f+=String.fromCharCode(i+65393);function g(){for(i=0;i&lt;90;i++){r=d.createElement(&quot;div&quot;);for(j=z(20,50);j;j--){x=d.createElement(&quot;pre&quot;);y=d.createTextNode(f[z(0,56)]);x.appendChild(y);x.style.opacity=0;r.appendChild(x)}r.id=&quot;r&quot;+i;r.t=z(-99,0);with(r.style){left=z(0,n)+q;top=z(-m,0)+q;fontSize=z(10,25)+q}d.body.appendChild(r);setInterval(&quot;u(&quot;+i+&quot;)&quot;,z(60,120))}}function u(j){e=d.getElementById(&quot;r&quot;+j);c=e.childNodes;t=e.t+1;if((v=t-c.length-50)&gt;0){if((e.style.opacity=1-v/32)==0){for(f in c)if(c[f].style)c[f].style.opacity=0;with(e.style){left=z(0,n)+q;top=z(-m/2,m/2)+q;opacity=1}t=-50}}e.t=t;if(t&lt;0||t&gt;c.length+12)return;for(f=t;f&amp;&amp;f&gt;t-12;f--){s=1-(t-f)/16;if(f&lt;c.length&amp;&amp;c[f].style){c[f].style.opacity=s;}}}
&lt;/script&gt;&lt;body text=#0f0 bgcolor=#000 onload=g()&gt;