text: var http = require('http');
  var url = require('url');
  var fs = require('fs');
  var port = 8080;
  
  // borrowed from ry who stole it from jack- thanks
  // https://github.com/ry/node_chat/blob/master/fu.js
  var mime = {
    // returns MIME type for extension, or fallback, or octet-steam
    lookupExtension : function(ext, fallback) {
      return mime.TYPES[ext.toLowerCase()] || fallback || 'application/octet-stream';
    },
  
    // List of most common mime-types, stolen from Rack.
    TYPES : { ".3gp"   : "video/3gpp"
            , ".a"     : "application/octet-stream"
            , ".ai"    : "application/postscript"
            , ".aif"   : "audio/x-aiff"
            , ".aiff"  : "audio/x-aiff"
            , ".asc"   : "application/pgp-signature"
            , ".asf"   : "video/x-ms-asf"
            , ".asm"   : "text/x-asm"
            , ".asx"   : "video/x-ms-asf"
            , ".atom"  : "application/atom+xml"
            , ".au"    : "audio/basic"
            , ".avi"   : "video/x-msvideo"
            , ".bat"   : "application/x-msdownload"
            , ".bin"   : "application/octet-stream"
            , ".bmp"   : "image/bmp"
            , ".bz2"   : "application/x-bzip2"
            , ".c"     : "text/x-c"
            , ".cab"   : "application/vnd.ms-cab-compressed"
            , ".cc"    : "text/x-c"
            , ".chm"   : "application/vnd.ms-htmlhelp"
            , ".class"   : "application/octet-stream"
            , ".com"   : "application/x-msdownload"
            , ".conf"  : "text/plain"
            , ".cpp"   : "text/x-c"
            , ".crt"   : "application/x-x509-ca-cert"
            , ".css"   : "text/css"
            , ".csv"   : "text/csv"
            , ".cxx"   : "text/x-c"
            , ".deb"   : "application/x-debian-package"
            , ".der"   : "application/x-x509-ca-cert"
            , ".diff"  : "text/x-diff"
            , ".djv"   : "image/vnd.djvu"
            , ".djvu"  : "image/vnd.djvu"
            , ".dll"   : "application/x-msdownload"
            , ".dmg"   : "application/octet-stream"
            , ".doc"   : "application/msword"
            , ".dot"   : "application/msword"
            , ".dtd"   : "application/xml-dtd"
            , ".dvi"   : "application/x-dvi"
            , ".ear"   : "application/java-archive"
            , ".eml"   : "message/rfc822"
            , ".eps"   : "application/postscript"
            , ".exe"   : "application/x-msdownload"
            , ".f"     : "text/x-fortran"
            , ".f77"   : "text/x-fortran"
            , ".f90"   : "text/x-fortran"
            , ".flv"   : "video/x-flv"
            , ".for"   : "text/x-fortran"
            , ".gem"   : "application/octet-stream"
            , ".gemspec" : "text/x-script.ruby"
            , ".gif"   : "image/gif"
            , ".gz"    : "application/x-gzip"
            , ".h"     : "text/x-c"
            , ".hh"    : "text/x-c"
            , ".htm"   : "text/html"
            , ".html"  : "text/html"
            , ".ico"   : "image/vnd.microsoft.icon"
            , ".ics"   : "text/calendar"
            , ".ifb"   : "text/calendar"
            , ".iso"   : "application/octet-stream"
            , ".jar"   : "application/java-archive"
            , ".java"  : "text/x-java-source"
            , ".jnlp"  : "application/x-java-jnlp-file"
            , ".jpeg"  : "image/jpeg"
            , ".jpg"   : "image/jpeg"
            , ".js"    : "application/javascript"
            , ".json"  : "application/json"
            , ".log"   : "text/plain"
            , ".m3u"   : "audio/x-mpegurl"
            , ".m4v"   : "video/mp4"
            , ".man"   : "text/troff"
            , ".mathml"  : "application/mathml+xml"
            , ".mbox"  : "application/mbox"
            , ".mdoc"  : "text/troff"
            , ".me"    : "text/troff"
            , ".mid"   : "audio/midi"
            , ".midi"  : "audio/midi"
            , ".mime"  : "message/rfc822"
            , ".mml"   : "application/mathml+xml"
            , ".mng"   : "video/x-mng"
            , ".mov"   : "video/quicktime"
            , ".mp3"   : "audio/mpeg"
            , ".mp4"   : "video/mp4"
            , ".mp4v"  : "video/mp4"
            , ".mpeg"  : "video/mpeg"
            , ".mpg"   : "video/mpeg"
            , ".ms"    : "text/troff"
            , ".msi"   : "application/x-msdownload"
            , ".odp"   : "application/vnd.oasis.opendocument.presentation"
            , ".ods"   : "application/vnd.oasis.opendocument.spreadsheet"
            , ".odt"   : "application/vnd.oasis.opendocument.text"
            , ".ogg"   : "application/ogg"
            , ".p"     : "text/x-pascal"
            , ".pas"   : "text/x-pascal"
            , ".pbm"   : "image/x-portable-bitmap"
            , ".pdf"   : "application/pdf"
            , ".pem"   : "application/x-x509-ca-cert"
            , ".pgm"   : "image/x-portable-graymap"
            , ".pgp"   : "application/pgp-encrypted"
            , ".pkg"   : "application/octet-stream"
            , ".pl"    : "text/x-script.perl"
            , ".pm"    : "text/x-script.perl-module"
            , ".png"   : "image/png"
            , ".pnm"   : "image/x-portable-anymap"
            , ".ppm"   : "image/x-portable-pixmap"
            , ".pps"   : "application/vnd.ms-powerpoint"
            , ".ppt"   : "application/vnd.ms-powerpoint"
            , ".ps"    : "application/postscript"
            , ".psd"   : "image/vnd.adobe.photoshop"
            , ".py"    : "text/x-script.python"
            , ".qt"    : "video/quicktime"
            , ".ra"    : "audio/x-pn-realaudio"
            , ".rake"  : "text/x-script.ruby"
            , ".ram"   : "audio/x-pn-realaudio"
            , ".rar"   : "application/x-rar-compressed"
            , ".rb"    : "text/x-script.ruby"
            , ".rdf"   : "application/rdf+xml"
            , ".roff"  : "text/troff"
            , ".rpm"   : "application/x-redhat-package-manager"
            , ".rss"   : "application/rss+xml"
            , ".rtf"   : "application/rtf"
            , ".ru"    : "text/x-script.ruby"
            , ".s"     : "text/x-asm"
            , ".sgm"   : "text/sgml"
            , ".sgml"  : "text/sgml"
            , ".sh"    : "application/x-sh"
            , ".sig"   : "application/pgp-signature"
            , ".snd"   : "audio/basic"
            , ".so"    : "application/octet-stream"
            , ".svg"   : "image/svg+xml"
            , ".svgz"  : "image/svg+xml"
            , ".swf"   : "application/x-shockwave-flash"
            , ".t"     : "text/troff"
            , ".tar"   : "application/x-tar"
            , ".tbz"   : "application/x-bzip-compressed-tar"
            , ".tcl"   : "application/x-tcl"
            , ".tex"   : "application/x-tex"
            , ".texi"  : "application/x-texinfo"
            , ".texinfo" : "application/x-texinfo"
            , ".text"  : "text/plain"
            , ".tif"   : "image/tiff"
            , ".tiff"  : "image/tiff"
            , ".torrent" : "application/x-bittorrent"
            , ".tr"    : "text/troff"
            , ".txt"   : "text/plain"
            , ".vcf"   : "text/x-vcard"
            , ".vcs"   : "text/x-vcalendar"
            , ".vrml"  : "model/vrml"
            , ".war"   : "application/java-archive"
            , ".wav"   : "audio/x-wav"
            , ".wma"   : "audio/x-ms-wma"
            , ".wmv"   : "video/x-ms-wmv"
            , ".wmx"   : "video/x-ms-wmx"
            , ".wrl"   : "model/vrml"
            , ".wsdl"  : "application/wsdl+xml"
            , ".xbm"   : "image/x-xbitmap"
            , ".xhtml"   : "application/xhtml+xml"
            , ".xls"   : "application/vnd.ms-excel"
            , ".xml"   : "application/xml"
            , ".xpm"   : "image/x-xpixmap"
            , ".xsl"   : "application/xml"
            , ".xslt"  : "application/xslt+xml"
            , ".yaml"  : "text/yaml"
            , ".yml"   : "text/yaml"
            , ".zip"   : "application/zip"
  		  , ".mf"    : "text/cache-manifest"
            }
  };
  
  http.createServer(function(req, res){
  
    var u = url.parse(req.url);
    var path = u.pathname;
    
    if(path === '/'){
      path = '/clock.html'
    }
    
    fs.readFile('.' + path, function(err, data){
      if(err){
        res.writeHead(404);
        res.end();
        return;
      }
    
      // return the document  
      res.writeHead(200, {'Content-Type': mime.lookupExtension(require('path').extname(path))});
      res.end(data);
    });
    
  }).listen(port);
  
  /*
  var os=require('os');  
  var ifaces=os.networkInterfaces();  
  for (var dev in ifaces) {  
    var alias=0;  
    ifaces[dev].forEach(function(details){  
      if (details.family=='IPv4') {  
        console.log(dev+(alias?':'+alias:''),details.address+":"+port);  
        ++alias;  
      }  
    });  
  }
  */