annotate html/err.html @ 3:6ab1effc3a88

got error screen working again
author Robert McIntyre <rlm@mit.edu>
date Mon, 17 Oct 2011 23:54:26 -0700
parents 12573db75437
children
rev   line source
rlm@1 1 <html>
rlm@1 2 <head>
rlm@1 3 <title>error-daemon@aurellem:</title>
rlm@1 4 <style type="text/css">
rlm@1 5 html,body{margin:0;padding:0;}
rlm@1 6 body{font:100% monospace;line-height:1.2em;}
rlm@1 7
rlm@1 8 body{background:black;color:white;}
rlm@1 9 em{color:#444;font-style:normal; background:white;}
rlm@1 10 em{background:inherit;color:inherit;color:#fcc;}
rlm@1 11 </style>
rlm@3 12 <script type="text/javascript" src="/aurellem/js/jquery.min.js"></script>
rlm@1 13
rlm@1 14 <script type="text/javascript">
rlm@1 15 var caret;
rlm@1 16
rlm@1 17 // caret functions
rlm@1 18
rlm@1 19 function Caret(){
rlm@1 20 this.obj = null;
rlm@1 21 this.txt = "";
rlm@1 22 this.glyph = "_";
rlm@1 23 this.glyph = "&#x2588;";
rlm@1 24 this.gylph_mode = false;
rlm@1 25 this.queue = new Array();//queue of things to type next
rlm@1 26
rlm@1 27 this.attach = function(elt){this.obj = elt;}
rlm@1 28 this.refresh = function(){
rlm@1 29 $(this.obj).html(this.txt + (this.glyph_mode ? this.glyph : ""));
rlm@1 30 }
rlm@1 31 this.stall = function(n){
rlm@1 32 for(i=0;i<n;i++){this.instantly('##')};// ## is used to mean Stall for one increment
rlm@1 33 }
rlm@1 34 this.blink = function(){
rlm@1 35 this.glyph_mode = !this.glyph_mode;
rlm@1 36 this.refresh();
rlm@1 37 }
rlm@1 38 this.keystroke = function(str){this.queue = this.queue.concat(str.split(""));}
rlm@1 39 this.instantly = function(str){this.queue.push(str)}
rlm@1 40 this.newline = function(str){this.instantly('<br>');}
rlm@1 41 this.prompt = function(){this.instantly('<em>error-daemon@aurellem:$</em> ');}
rlm@1 42
rlm@1 43 this.type = function(){
rlm@1 44 if(this.queue.length > 0){
rlm@1 45 var x = this.queue.shift();
rlm@1 46 if(x != "##"){this.txt += x;}
rlm@1 47 this.refresh();
rlm@1 48 }
rlm@1 49 }
rlm@1 50 }
rlm@1 51
rlm@1 52
rlm@1 53
rlm@1 54 function error_404(){
rlm@1 55
rlm@1 56 caret.instantly("**** ERROR 404: PAGE NOT FOUND");
rlm@1 57
rlm@1 58 caret.newline();
rlm@1 59 caret.prompt();
rlm@1 60 caret.stall(80);
rlm@1 61 caret.keystroke("I regret to inform you that the page you have requested does not exist on our servers at this time.");
rlm@1 62
rlm@1 63 caret.newline();
rlm@1 64 caret.prompt();
rlm@1 65 caret.stall(40);
rlm@1 66 caret.keystroke("Preliminary analysis, building on previously acquired data, indicates that some form of human error is to blame. ");
rlm@1 67 caret.stall(20);
rlm@1 68 caret.keystroke("Furthermore, all available data indicate that computer involvement of any kind is extremely unlikely.");
rlm@1 69 caret.stall(20);
rlm@1 70
rlm@1 71 caret.keystroke(" Possible human errors include:");
rlm@1 72 caret.newline();
rlm@1 73 caret.prompt();
rlm@1 74 caret.stall(40);
rlm@1 75 caret.instantly("&nbsp;&nbsp;&nbsp;&nbsp;");
rlm@1 76 caret.keystroke("1. The authors of aurellem, both of whom are are manifestly human, may have directed you, the user, to a nonexistent page.");
rlm@1 77
rlm@1 78 caret.newline();
rlm@1 79 caret.prompt();
rlm@1 80 caret.stall(40);
rlm@1 81 caret.instantly("&nbsp;&nbsp;&nbsp;&nbsp;");
rlm@1 82 caret.keystroke("2. The authors of another webpage, many of whom are manifestly human, may have directed you, the user, to a nonexistent page.");
rlm@1 83
rlm@1 84 caret.newline();
rlm@1 85 caret.prompt();
rlm@1 86 caret.stall(40);
rlm@1 87 caret.instantly("&nbsp;&nbsp;&nbsp;&nbsp;");
rlm@1 88 caret.keystroke("3. You, the user, ");
rlm@1 89 caret.stall(40);
rlm@1 90 caret.keystroke("manifestly human");
rlm@1 91 caret.stall(20);
rlm@1 92 caret.keystroke(", may have directed yourself to a nonexistent page.");
rlm@1 93
rlm@1 94
rlm@1 95 caret.newline();
rlm@1 96 caret.prompt();
rlm@1 97 caret.stall(40);
rlm@1 98 caret.keystroke("Please be advised that you or another human may have subjected you to malice and/or incompetence by directing you to request a page that does not exist on our servers at this time.");
rlm@1 99 caret.stall(20);caret.newline();caret.keystroke("Please be advised that this incident has been reported and that the responsible parties are being determined. ");
rlm@1 100 caret.stall(40);
rlm@1 101 caret.instantly("*****Have a nice day.*****");
rlm@1 102 caret.stall(60);
rlm@1 103 caret.instantly("<br><br>Connection to aurellem closed.");
rlm@1 104 }
rlm@1 105
rlm@1 106
rlm@1 107 $(document).ready(function(){
rlm@1 108 caret = new Caret();
rlm@1 109 caret.attach($('body'));
rlm@1 110 caret.refresh();
rlm@1 111
rlm@1 112 error_404();
rlm@1 113
rlm@1 114 // blinking cursor
rlm@1 115 (function(){caret.blink();setTimeout(String("("+arguments.callee+")()"),500);})();
rlm@1 116 // typing text
rlm@1 117 (function(){caret.type();setTimeout(String("("+arguments.callee+")()"),40);})();
rlm@1 118
rlm@1 119
rlm@1 120
rlm@1 121 });
rlm@1 122
rlm@1 123 </script>
rlm@1 124
rlm@1 125 </head>
rlm@1 126 <body>
rlm@1 127 testsetahslkfashdljkasdfhkljasdhflskadfhlksadfhlkasdfhlkajsdfhlkasdfhlaksdfhlkjadfhalkjsdfhkalsdfhlkj
rlm@1 128 <em>TESERHKSJLDFHKSJLDF</em>
rlm@1 129 </body>
rlm@1 130
rlm@1 131 </html>