Updated version for 2011.
authorEugen Sawin <sawine@me73.com>
Sat, 15 Jan 2011 02:00:27 +0100
changeset 31837078f56ae2
parent 30 c3b2d9e3b909
child 32 98a2df21b0cd
Updated version for 2011.
dark.css
factory/create_page
factory/v2011/books.html
factory/v2011/canvas_client.html
factory/v2011/chrome.html
factory/v2011/contact.html
factory/v2011/experiments.html
factory/v2011/frame.html
factory/v2011/howiwork.html
factory/v2011/index.html
factory/v2011/links.html
factory/v2011/personalwork.html
factory/v2011/resume.html
     1.1 --- a/dark.css	Fri Sep 24 21:29:37 2010 +0200
     1.2 +++ b/dark.css	Sat Jan 15 02:00:27 2011 +0100
     1.3 @@ -239,9 +239,17 @@
     1.4  	top: 70px; left: 30px;	
     1.5  }
     1.6  #header h1#logo-text a:hover {
     1.7 -	background: none;	
     1.8 -	border: none;
     1.9 +	background: none;
    1.10 +	margin-top: 100px;	
    1.11 +	padding-top: 100px;
    1.12  }
    1.13 +#header img {
    1.14 +	position: relative;
    1.15 +	top: 90px;
    1.16 +	left: 30px;
    1.17 +	border: 0px;
    1.18 +}
    1.19 +
    1.20  #header p#intro {
    1.21  	position: absolute;
    1.22  	margin: 0; 
    1.23 @@ -472,7 +480,8 @@
    1.24  	float: left;			
    1.25  }
    1.26  #footer a {	
    1.27 -	color: #0E909C;
    1.28 +	color: #4E4E4E;
    1.29 +	/*color: #0E909C;*/
    1.30  	border: none;
    1.31  }
    1.32  #footer a:hover {
     2.1 --- a/factory/create_page	Fri Sep 24 21:29:37 2010 +0200
     2.2 +++ b/factory/create_page	Sat Jan 15 02:00:27 2011 +0100
     2.3 @@ -4,8 +4,8 @@
     2.4  import sys
     2.5  from optparse import OptionParser
     2.6  
     2.7 -content_dir = "v2010"
     2.8 -content_files = ("index.html", "resume.html", "howiwork.html", "personalwork.html", "books.html", "links.html", "contact.html", "chrome.html")
     2.9 +content_dir = "v2011"
    2.10 +content_files = ("index.html", "resume.html", "howiwork.html", "personalwork.html", "books.html", "links.html", "experiments.html")
    2.11  
    2.12  def create_page(frame_filename, content_filename, output_filename):
    2.13     frame_file = open(frame_filename, "r")
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/factory/v2011/books.html	Sat Jan 15 02:00:27 2011 +0100
     3.3 @@ -0,0 +1,44 @@
     3.4 +<p>Here is a list of books, that I find useful or simply enjoyed reading.</p>
     3.5 +<h2>Engineering &amp; Science</h2>
     3.6 +<ul>
     3.7 +<li><h4>The Pragmatic Programmer</h4><h5>Andrew Hunt and David Thomas</h5>
     3.8 +A collection of advises for effective software development.
     3.9 +</li>
    3.10 +<li><h4>Effective C++ / More Effective C++</h4><h5>Scott Meyers</h5>
    3.11 +Effective and safe C++ programming advises for practical use.
    3.12 +</li>
    3.13 +<li><h4>Thinking in C++</h4><h5>Bruce Eckel</h5>
    3.14 +A freely available introduction to C++ and its Standard Library.
    3.15 +</li>
    3.16 +<li><h4>Artificial Intelligence: A Modern Approach</h4><h5>Stuart J. Russel and Peter Norvig</h5>
    3.17 +A comprehensive compendium of most techniques for the development of artificial intelligence.
    3.18 +</li>
    3.19 +<li><h4>The Algorithmic Beauty of Plants</h4><h5>Przemyslwa Prusinkieicz and Aristid Lindenmayer</h5>
    3.20 +A wonderful introduction to L-systems and a motivational read.
    3.21 +</li>
    3.22 +<li><h4>Compilers: Principles, Techniques &amp; Tools</h4><h5>Alfred V. Aho, Monica S. Lam and Ravi Sethi</h5>
    3.23 +The standard introduction to compiler development. Also known as the Dragon Book.
    3.24 +</li>
    3.25 +<li><h4>Computer Networks</h4><h5>Andrew S. Tanenbaum</h5>
    3.26 +A good and in-depth textbook for network technology.   
    3.27 +</li>
    3.28 +<li><h4>A Brief History of Time</h4><h5>Stephen W. Hawking</h5>
    3.29 +Popular science. Follow Stephen on his quest for the Theory of Everything.
    3.30 +</li>
    3.31 +</ul>
    3.32 +<h2>Fiction</h2>
    3.33 +<ul>
    3.34 +<li><h4>Do Androids Dream of Electric Sheep?</h4><h5>Philip K. Dick</h5>
    3.35 +A dark vision of mankind's future and the ethics of artificial life.
    3.36 +</li>
    3.37 +<li><h4>Alice in Wonderland</h4><h5>Lewis Carroll</h5>
    3.38 +Follow the rabbit.
    3.39 +</li>
    3.40 +<li><h4>Through the Looking-Glass</h4><h5>Lewis Carroll</h5>
    3.41 +Sequel to Alice in Wonderland.
    3.42 +</li>
    3.43 +<li><h4>1984</h4><h5>George Orwell</h5>
    3.44 +Classic novel about a totalitarian regime and its influence on the society.
    3.45 +</li>
    3.46 +</ul>
    3.47 +
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/factory/v2011/canvas_client.html	Sat Jan 15 02:00:27 2011 +0100
     4.3 @@ -0,0 +1,130 @@
     4.4 +<html>  
     4.5 +	<head>  
     4.6 +    	<title>Canvas Xaoc Client</title>  
     4.7 +    	<script type="text/javascript"> 
     4.8 +    		function Complex(real, imag) 
     4.9 +    		{
    4.10 +				this.real = real;
    4.11 +				this.imag = imag;
    4.12 +    		}
    4.13 +    		
    4.14 +    		var MIN_C = new Complex(-2.2, -1.4);
    4.15 +    		var MAX_C = new Complex(1.0, 1.4);
    4.16 +    		var min_c = MIN_C;
    4.17 +    		var max_c = MAX_C;
    4.18 +    		var max_iter = 100;
    4.19 +    		var zoom = 1.0;
    4.20 +    		
    4.21 +    		function Result(z, iter) 
    4.22 +    		{
    4.23 +    			this.z = z;
    4.24 +    			this.iter = iter;
    4.25 +    		}
    4.26 +
    4.27 +			function complex_quad(c)
    4.28 +			{
    4.29 +				return new Complex(Math.pow(c.real, 2) - Math.pow(c.imag, 2), 
    4.30 +					2.0 * c.real * c.imag);
    4.31 +			}
    4.32 +			
    4.33 +			function complex_quad_value(c)
    4.34 +			{
    4.35 +				return Math.pow(c.real, 2) + Math.pow(c.imag, 2);
    4.36 +			}
    4.37 +			
    4.38 +			function complex_add(c1, c2)
    4.39 +			{
    4.40 +				return new Complex(c1.real + c2.real, c1.imag + c2.imag);
    4.41 +			}
    4.42 +			
    4.43 +    		function iterate(z, c) 
    4.44 +    		{
    4.45 +    			z_quad = complex_quad(z);
    4.46 +				return new Complex(z_quad.real + c.real, z_quad.imag + c.imag);
    4.47 +    		}
    4.48 +    		
    4.49 +    		function test(c, max_iter) 
    4.50 +    		{
    4.51 +    			var iter = 0;
    4.52 +    			var z = new Complex(0.0, 0.0);
    4.53 +				while (complex_quad_value(z) <= 4.0
    4.54 +					&& iter < max_iter)
    4.55 +				{
    4.56 +					z = iterate(z, c);
    4.57 +					iter++;
    4.58 +				}
    4.59 +				return new Result(z, iter);
    4.60 +    		}
    4.61 +
    4.62 +    		function draw(iter, x, y, z)
    4.63 +    		{  
    4.64 +        		var canvas = document.getElementById('mandelbrot');  
    4.65 +        		if (canvas.getContext)
    4.66 +        		{  
    4.67 +          			var ctx = canvas.getContext('2d');           			
    4.68 +          			z = z / 10.0;
    4.69 +          			zoom += z;
    4.70 +          			if (zoom < 1)
    4.71 +          				zoom = 1;
    4.72 +          			x = x / 10.0 / zoom;
    4.73 +          			y = y / 10.0 / zoom;
    4.74 +          			var min_inc = new Complex(x + z, y + z);
    4.75 +          			var max_inc = new Complex(x - z, y - z);
    4.76 +          			min_c = complex_add(min_c, min_inc);
    4.77 +          			max_c = complex_add(max_c, max_inc);
    4.78 +          			max_iter += iter;
    4.79 +          			var diff_c = new Complex(max_c.real - min_c.real,
    4.80 +          				max_c.imag - min_c.imag);
    4.81 +          			var width = canvas.width;
    4.82 +          			var height = canvas.height;
    4.83 +          			var dim = Math.max(width, height);
    4.84 +          			ctx.clearRect(0, 0, width, height);
    4.85 +          			
    4.86 +          			for (var y = 0; y < height; y++) 
    4.87 +          			{
    4.88 +          				for (var x = 0; x < width; x++) 
    4.89 +          				{        					
    4.90 +          					if (true) 
    4.91 +          					{
    4.92 +          						var c = new Complex(min_c.real + diff_c.real 
    4.93 +          							/ dim * x, 
    4.94 +          							min_c.imag + diff_c.imag / dim * y);  	
    4.95 +          					 	var result = test(c, max_iter);
    4.96 +          					 	
    4.97 +          					 	if (result.iter < max_iter) 
    4.98 +          					 	{
    4.99 +          					 		var r = result.iter * 3;
   4.100 +          					 		var g = result.iter * 3;
   4.101 +          					 		var b = result.iter * 3; 
   4.102 +          					 		var colour = r + "," + g + "," + b;
   4.103 +          					 		ctx.fillStyle = "rgb(" + colour + ")"; 
   4.104 +          							ctx.fillRect(x, y, 1, 1);
   4.105 +          						}
   4.106 +          					}  
   4.107 +						}
   4.108 +			  		}
   4.109 +        		}  
   4.110 +      		}  
   4.111 +    	</script>  
   4.112 +    	<style type="text/css">  
   4.113 +      		canvas { border: 0px solid black; }  
   4.114 +      		body { background: black; }
   4.115 +    	</style>  
   4.116 +  	</head>  
   4.117 +  	<body onload="draw(0, 0, 0, 0);">  
   4.118 +    	<canvas id="mandelbrot" width="800" height="400"></canvas> 
   4.119 +    	<p>
   4.120 +<button onclick="draw(0, -1, 0, 0);">Left</button>
   4.121 +<button onclick="draw(0, 1, 0, 0);">Right</button>
   4.122 +<button onclick="draw(0, 0, -1, 0)">Up</button>
   4.123 +<button onclick="draw(0, 0, 1, 0);">Down</button>
   4.124 +<button onclick="draw(0, 0, 0, 1);">In</button>
   4.125 +<button onclick="draw(0, 0, 0, -1);">Out</button>
   4.126 +<button onclick="draw(10, 0, 0, 0);">Inc Quality</button>
   4.127 +<button onclick="draw(-10, 0, 0, 0);">Dec Quality</button>
   4.128 +		</p> 
   4.129 +		
   4.130 +  	</body>  
   4.131 +</html>
   4.132 +
   4.133 +	
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/factory/v2011/chrome.html	Sat Jan 15 02:00:27 2011 +0100
     5.3 @@ -0,0 +1,16 @@
     5.4 +<p>
     5.5 +<!--<img src="images/world.png" alt="world map" height="280" width="100%" />
     5.6 +-->
     5.7 +<canvas id="mandelbrot" width="670" height="280" onclick="draw2(event);"></canvas> 
     5.8 +<button onclick="draw(0, -2, 0, 0, 0);">Left</button>
     5.9 +<button onclick="draw(0, 2, 0, 0, 0);">Right</button>
    5.10 +<button onclick="draw(0, 0, -2, 0, 0)">Up</button>
    5.11 +<button onclick="draw(0, 0, 2, 0, 0);">Down</button>
    5.12 +<button onclick="draw(0, 0, 0, 2, 0);">Zoom in</button>
    5.13 +<button onclick="draw(0, 0, 0, -2, 0);">Zoom out</button>
    5.14 +<button onclick="draw(0, 0, 0, 0, -1);">Inc Resolution</button>
    5.15 +<button onclick="draw(0, 0, 0, 0, 1);">Dec Resolution</button>
    5.16 +<button onclick="draw(100, 0, 0, 0, 0);">Inc Iterations</button>
    5.17 +<button onclick="draw(-100, 0, 0, 0, 0);">Dec Iterations</button>
    5.18 +</p>
    5.19 +           
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/factory/v2011/contact.html	Sat Jan 15 02:00:27 2011 +0100
     6.3 @@ -0,0 +1,7 @@
     6.4 +			
     6.5 +			<h2>Contact</h2>			
     6.6 +			<p><img src="images/contact.png" alt="water" class="float-left" height="100" width="100" />
     6.7 +			<br />Eugen Sawin<br />
     6.8 +         	<a href="mailto:sawine@me73.com">sawine@me73.com</a>.</p>
     6.9 +			<p>Interested in hiring me for your project? Please visit my business homepage <a href="http://www.esawin.com">www.esawin.com</a>.</p>		
    6.10 +		
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/factory/v2011/experiments.html	Sat Jan 15 02:00:27 2011 +0100
     7.3 @@ -0,0 +1,16 @@
     7.4 +<p>
     7.5 +<!--<img src="images/world.png" alt="world map" height="280" width="100%" />
     7.6 +-->
     7.7 +<canvas id="mandelbrot" width="670" height="280" onclick="draw2(event);"></canvas> 
     7.8 +<button onclick="draw(0, -2, 0, 0, 0);">Left</button>
     7.9 +<button onclick="draw(0, 2, 0, 0, 0);">Right</button>
    7.10 +<button onclick="draw(0, 0, -2, 0, 0)">Up</button>
    7.11 +<button onclick="draw(0, 0, 2, 0, 0);">Down</button>
    7.12 +<button onclick="draw(0, 0, 0, 2, 0);">Zoom in</button>
    7.13 +<button onclick="draw(0, 0, 0, -2, 0);">Zoom out</button>
    7.14 +<button onclick="draw(0, 0, 0, 0, -1);">Inc Resolution</button>
    7.15 +<button onclick="draw(0, 0, 0, 0, 1);">Dec Resolution</button>
    7.16 +<button onclick="draw(100, 0, 0, 0, 0);">Inc Iterations</button>
    7.17 +<button onclick="draw(-100, 0, 0, 0, 0);">Dec Iterations</button>
    7.18 +</p>
    7.19 +           
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/factory/v2011/frame.html	Sat Jan 15 02:00:27 2011 +0100
     8.3 @@ -0,0 +1,83 @@
     8.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     8.5 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     8.6 +
     8.7 +<head>
     8.8 +<title>ME73 - A Programmer's Playground</title><meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
     8.9 +<meta name="author" content="Eugen Sawin - me73.com" />
    8.10 +<meta name="description" content="A Digital Playground" />
    8.11 +<meta name="robots" content="index, follow, noarchive" />
    8.12 +<meta name="googlebot" content="noarchive" />
    8.13 +<script src="script.js" type="text/javascript"></script>
    8.14 +<link rel="stylesheet" href="dark.css" type="text/css" />
    8.15 +<script type="text/javascript">
    8.16 +	var _gaq = _gaq || [];
    8.17 +	_gaq.push(['_setAccount', 'UA-2137333-3']);
    8.18 +	_gaq.push(['_trackPageview']);
    8.19 +
    8.20 +	(function() {
    8.21 +	var ga = document.createElement('script'); ga.type = 'text/javascript';
    8.22 +	ga.async = true;
    8.23 +	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 				'http://www') + '.google-analytics.com/ga.js';
    8.24 +	var s = document.getElementsByTagName('script')[0];
    8.25 +	s.parentNode.insertBefore(ga, s);
    8.26 +	})();
    8.27 +</script>
    8.28 +</head>
    8.29 +
    8.30 +<body onload="draw(0, 0, 0, 0, 0);">
    8.31 +<div id="wrap">
    8.32 +	<div id="header">	
    8.33 +		<img src="images/logo.png" alt="ME73" />
    8.34 +    	<!--<h1 id="logo-text"><a href="index.html" title="">ME73</a></h1>		
    8.35 +	    <p id="intro">A Programmer's Playground.</p>-->
    8.36 +        <div id="nav">
    8.37 +			<ul>
    8.38 +				<li><a href="index.html">Home</a></li>
    8.39 +				<li><a href="personalwork.html">Personal Work</a></li>
    8.40 +				<li><a href="experiments.html">Experiments</a></li>
    8.41 +				<li><a href="resume.html">Resume</a></li>
    8.42 +				<li><a href="howiwork.html">How I Work</a></li>				
    8.43 +            	<li><a href="books.html">Books</a></li>
    8.44 +	         	<li><a href="links.html">Links</a></li>				
    8.45 +			</ul>		
    8.46 +	    </div>	
    8.47 +	</div>
    8.48 +	<div id="content-wrap">				
    8.49 +		<div id="main">
    8.50 +			/insert{content}      
    8.51 +		</div>
    8.52 +		<div id="sidebar">
    8.53 +	        <p>
    8.54 +			<img src="images/me2.png" alt="me" class="float-left" height="70" width="70" />		
    8.55 +			ME73 is my digital playground.
    8.56 +            I'm a programmer, a student of computer science, a music enthusiast.
    8.57 +            This site serves as a portfolio for my private work.
    8.58 +	        </p>
    8.59 +			<div id="random_quote"></div>	        	
    8.60 +        </div>	
    8.61 +	</div>
    8.62 +  <div id="footer">
    8.63 +	<div id="footer-left">
    8.64 +		<p>
    8.65 +      	<a href="mailto:sawine@me73.com">
    8.66 +		<ul> 
    8.67 +			<li class="name">Eugen Sawin</li> 
    8.68 +			<li class="misc">Software Engineering &amp; Research</li> 
    8.69 +		</ul> 
    8.70 +		</a>
    8.71 +		</p>	
    8.72 +	</div>
    8.73 +	
    8.74 +	<div id="footer-right">
    8.75 +		<p class="align-right">
    8.76 +		<a href="index.html">Home</a> | <a href="#top">Top</a>
    8.77 +		</p>
    8.78 +	</div>	
    8.79 +</div> 
    8.80 +</div>
    8.81 +<script type="text/javascript">
    8.82 +    javascript:load_random_quote();        
    8.83 +</script>
    8.84 +</body>
    8.85 +</html>
    8.86 +
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/factory/v2011/howiwork.html	Sat Jan 15 02:00:27 2011 +0100
     9.3 @@ -0,0 +1,92 @@
     9.4 +<h2>Programming Languages</h2>
     9.5 +<p><img src="images/binary.png" alt="binary" class="float-right" height="100" width="100" />
     9.6 +During my studies and personal work, I've used a variety of programming
     9.7 +languages. Here is an overview in chronologic order with some comments:</p>
     9.8 +<ul>
     9.9 +<li>
    9.10 +<h4>QBasic. *</h4>
    9.11 +It was the first language that I've learned. I've enjoyed hacking
    9.12 +around in it a little, but never got far with it due to lack of
    9.13 +learning resources.</li>
    9.14 +<li>
    9.15 +<h4>C++. *****</h4>
    9.16 +My first contact was at the age of 15, though I hadn't used it
    9.17 +extensively until I started studying. In the past years, I've been
    9.18 +developing most of my personal and professional work in C++. It's a beast and should be only handled with care.</li>
    9.19 +<li>
    9.20 +<h4>Java. ***</h4>
    9.21 +My first contact with Java was at the university. 
    9.22 +</li>
    9.23 +<li>
    9.24 +<h4>Haskell. *</h4>
    9.25 +This language was a love-hate relationship for me. I hated it for being
    9.26 +so difficult to grasp for the first time and loved it for inspiring me
    9.27 +to approach problem solving from a differnt angle, even when working
    9.28 +with non-functional languages.</li>
    9.29 +<li>
    9.30 +<h4>Prolog. **</h4>
    9.31 +Nice iterative language especially for the field of artificial
    9.32 +intelligence.</li>
    9.33 +<li>
    9.34 +<h4>C. *****</h4>
    9.35 +C is clean and flat. It is still the most successful structured language and will most probably still be in use for many years to come, even if it's just "under the hood".</li>
    9.36 +<li>
    9.37 +<h4>Assembler. **</h4>
    9.38 +Been there, done that.</li>
    9.39 +<li>
    9.40 +<h4>C#. ***</h4>
    9.41 +It feels like the more mature language based on a managed architecture, especially in combination with Visual Studio, developing
    9.42 +in it is a breeze. The .Net framework is mostly a well structured and
    9.43 +complete environment to work in.</li>
    9.44 +<li>
    9.45 +<h4>Python. ****</h4> 
    9.46 +It's my personal favourite language for many fields. It's best suited
    9.47 +for rapid prototyping, which fits perfectly into my method of working.</li>
    9.48 +<li>
    9.49 +<h4>Go. *</h4>
    9.50 +The goal of Go was to provide a general purpose programming language including a garbage collector and efficient methods for concurrency handling. The language shows some interesting concepts including a more dynamic approach on object orientation. The lack of generics and the ideology of not giving the programmer the same tools as the language designer have, made abandon it for the time being.</li>
    9.51 +<li>
    9.52 +<h4>Common Lisp. **</h4>
    9.53 +I'm having fun on my path to enlightenment, mostly hacking in the dark.
    9.54 +</li>
    9.55 +<li>
    9.56 +<br />* show my level of expertise in the language
    9.57 +</li>
    9.58 +</ul>
    9.59 +<h2>Operating Systems</h2>
    9.60 +<ul>
    9.61 +<li><h4>GNU/Linux</h4>
    9.62 +Ubuntu, openSUSE, Red Hat and CentOS.</li>
    9.63 +<li><h4>Microsoft Windows</h4>
    9.64 +Windows 95/98/2000/XP/Vista/7.</li>
    9.65 +<li><h4>AmigaOS</h4>
    9.66 +Been a while...</li>
    9.67 +</ul>
    9.68 +<h2>Environments</h2>
    9.69 +<ul>
    9.70 +<li>
    9.71 +<h4>Emacs, GVim &amp; gedit</h4>
    9.72 +These are my general purpose editors for quick editing on all platforms
    9.73 +and have become my prefered editors when working in an IDE-free environment.</li>
    9.74 +<li>
    9.75 +<h4>Visual Studio</h4>
    9.76 +It's my first choice IDE for C#, C++ and C programming on Windows. It has
    9.77 +proven to be a feature-rich, reliable and customisable IDE with great debugger integration.</li>
    9.78 +<li>
    9.79 +<h4>Eclipse</h4>
    9.80 +It's what I prefer when developing in Java (but I prefer not to) and, to some extent, when working in C++ on Linux. It has a great plugin system and is therefore extendable to be used with a big variety of languages and tools.</li>
    9.81 +</ul>
    9.82 +<h2>Tools</h2>
    9.83 +<ul>
    9.84 +<li>
    9.85 +<h4>Internet</h4>
    9.86 +Chrome for browsing, IRSSI for IRC and Skype for communication.</li>
    9.87 +<li>
    9.88 +<h4>Documentation</h4>
    9.89 +LaTeX for papers, gnuplot for analysis visualisations and Inkscape for vector graphics.</li>
    9.90 +<li>
    9.91 +<h4>Version Control</h4>
    9.92 +Mercurial for private work. 
    9.93 +Subversion/CVS at work.</li>
    9.94 +</ul>
    9.95 +
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/factory/v2011/index.html	Sat Jan 15 02:00:27 2011 +0100
    10.3 @@ -0,0 +1,6 @@
    10.4 +<p>
    10.5 +<img src="images/mandelbrot.png" alt="Mandelbrot" height="280" width="100%" />
    10.6 +</p>
    10.7 +<p>My official page: <a href="http://www.esawin.com">www.esawin.com</a>.</p>
    10.8 +
    10.9 +           
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/factory/v2011/links.html	Sat Jan 15 02:00:27 2011 +0100
    11.3 @@ -0,0 +1,22 @@
    11.4 +<h2>Friends</h2>
    11.5 +<ul>
    11.6 +<li><h4><a href="http://www.tomrocket.com">Thomas Witt</a></h4>
    11.7 +A good friend and designer for the visual arts.
    11.8 +</li>
    11.9 +<li><h4><a href="http://www.chris-koenig.de">Christian König</a></h4>
   11.10 +A fellow student and companion in the quest for world domination.
   11.11 +</li>
   11.12 +<li><h4><a href="http://www.unidentify.com">Michael Chlebek</a></h4>
   11.13 +A friend, programmer and amateuer photographer.
   11.14 +</li>
   11.15 +<li><h4><a href="http://thuber.net">Thomas Huber</a></h4>
   11.16 +A fellow student of artificial intelligence.
   11.17 +</li>
   11.18 +</ul>
   11.19 +<h2>Professional</h2>
   11.20 +<ul>
   11.21 +<li><h4><a href="http://www4.informatik.tu-muenchen.de/~schulz/">Dr. rer. nat. Stephan Schulz</a></h4>
   11.22 +My advisor during my bachelor thesis and creator of the brainiac theorem prover called E.
   11.23 +</li>
   11.24 +</ul>
   11.25 +
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/factory/v2011/personalwork.html	Sat Jan 15 02:00:27 2011 +0100
    12.3 @@ -0,0 +1,89 @@
    12.4 +		<h2><a name="tools">Tools</a></h2>
    12.5 +            <ul>
    12.6 +                <li>
    12.7 +                    <h3><a name="netchannel">NetChannel</a></h3>
    12.8 +                    <h4>Description</h4>
    12.9 +                    <p>NetChannel is a simple Python object for message-based network communication
   12.10 +                    on the TCP/IP stack. NetChannel is based on stateful sessions for improved performance.</p>
   12.11 +                    <h4>Version 0.7</h4>
   12.12 +                    <p>A stable prototype.</p>
   12.13 +                    <p class="download"><a href="http://me73.com/downloads/netchannel.zip">
   12.14 +                    Download NetChannel (Python required)</a></p>                    
   12.15 +                </li>
   12.16 +                <li>
   12.17 +                    <h3><a name="eden">Eden Plotter</a></h3>
   12.18 +                    <img src="images/edenplotters1.png" alt="eden plotter" class="float-right" height="150" width="200" />
   12.19 +                    <h4>Description</h4>
   12.20 +                    <p>Eden Plotter or Eden One is a quick prototype for my genetic programming routines.
   12.21 +                    What it does is approximating a given function by the methods of GP.</p>
   12.22 +                    <h4>Version 0.9</h4>
   12.23 +                    <p>An unendurable slow prototype.</p>
   12.24 +                    <p class="download"><a href="http://me73.com/downloads/eden.zip">
   12.25 +                    Download Eden Plotter (Python required)</a></p>
   12.26 +                </li>
   12.27 +                <li>
   12.28 +                    <h3><a name="anq">ANQ</a></h3>
   12.29 +                    <h4>Description</h4>
   12.30 +                    <img src="images/anqs3.png" alt="anq" class="float-right" height="130" width="200" />                    
   12.31 +                    <p>ANQ
   12.32 +is a testing environment for distributed algorithms. It provides a
   12.33 +centralised and convenient way of organising runtime dynamic
   12.34 +topologies, gives full control over the initialisation and flow of the
   12.35 +algorithm and helps in tracking the current node states by visualising
   12.36 +the node reports on the OpenGL graph.</p>                    	
   12.37 +                    <p>
   12.38 +ANQ builds on the ANQ Protocol which can be optionally extended on
   12.39 +special needs for the algorithm to be tested. The ANQ Master is written
   12.40 +in C# using Windows Forms and OpenGL. Observer, Hotbed and the example
   12.41 +Node were developed in Python. </p>
   12.42 +                    <img src="images/anqs2.png" alt="anq" class="float-right" height="130" width="200" />
   12.43 +                    <h4>Version Antquarium Prototype</h4>
   12.44 +                    <p>Antquarium is the predecessor of ANQ. It was an extended course assignment and serves as a prototype for ANQ.</p>
   12.45 +                    <p class="download"><a href="http://me73.com/downloads/antquarium.zip">
   12.46 +                    Download Antquarium for Windows (Python and .Net 2.0 required)</a></p>
   12.47 +                    <h4>Version 0.4.1</h4>
   12.48 +                    <p>Stable version missing features like flow and runtime topology control.</p>
   12.49 +                    <p class="download"><a href="mailto:esawin@gmail.com?subject=ANQ%20SVN%20access">
   12.50 +                    Request Access to Subversion Repository</a></p>
   12.51 +                </li>
   12.52 +            </ul>
   12.53 +            
   12.54 +			<p class="postmeta">				
   12.55 +			<a href="mailto:esawin@gmail.com?subject=Comment%20on%20tools" class="comments">Comment</a> 
   12.56 +			<span class="date">July 28, 2008</span></p>
   12.57 +			<h2><a name="games">Games</a></h2>
   12.58 +				
   12.59 +            <ul><li>
   12.60 +                    <h3><a name="theme_blocks">Theme Blocks</a></h3>                    
   12.61 +                    <h4>Gameplay</h4>
   12.62 +                    <p>A traditional gameplay most people will be familiar with.
   12.63 +                    You have blocks falling down, you have a highscore.</p>
   12.64 +                    <h4>Features</h4>
   12.65 +                    <img src="images/themeblockss1.png" alt="theme blocks" class="float-right" height="150" width="200" />
   12.66 +                    <ul><li>Online highscore list</li><li>Hardware accelerated graphics</li><li>Fullscreen and windowed mode</li><li>Two colour themes: black and white</li><li>Anti-aliasing support</li></ul>    		        
   12.67 +                    <h4>Requirements</h4>		        
   12.68 +                    <ul><li>Microsoft Windows XP or Vista</li><li>Graphics card supporting OpenGL 1.3 or higher</li><li>One keyboard with at least the arrow keys working</li></ul>	                		        
   12.69 +                    <p class="download"><a href="http://me73.com/downloads/ThemeBlocksSetup.exe">Download Theme Blocks (1.4MB)</a></p>     	        
   12.70 +                </li><li> 		        
   12.71 +                    <h3><a name="pyng_pong">Pyng Pong</a></h3>
   12.72 +                    <img src="images/pyngpongs1.png" alt="pyng pong screenshot" class="float-right" height="149" width="200" />
   12.73 +                    <h4>Gameplay</h4>
   12.74 +                    <p>Two bats, one ball...</p>		            
   12.75 +                    <h4>Features</h4>
   12.76 +                    <ul><li>Three AI difficulty levels</li><li>Endless gameplay, play till you're bored!</li></ul>
   12.77 +                    <p class="download"><a href="http://me73.com/downloads/PyngPongSetup.exe">
   12.78 +                    Download Pyng Pong for Windows (2.4MB)</a></p>
   12.79 +                    <p class="download"><a href="http://me73.com/downloads/pyngpong.zip">
   12.80 +                    Download Pyng Pong Source (Python + PyGame needed) (0.4MB)</a></p>	
   12.81 +                    </li><li>
   12.82 +                    
   12.83 +                    <h3><a name="klangbild">Klangbild</a></h3>
   12.84 +                    <img src="images/klangbilds1.png" alt="klangbild" class="float-right" height="150" width="200" />
   12.85 +                    <h4>Gameplay</h4>
   12.86 +                    <p>There is no gameplay yet, it's a prototype for an audio-visual puzzle game.</p>
   12.87 +                    <h4>Features</h4>
   12.88 +                    <ul><li>Drag, create and remove sound sources</li><li>Height of placement sets the sound pitch</li></ul>
   12.89 +                    <p class="download"><a href="http://me73.com/downloads/klangbild.zip">
   12.90 +                    Download Klangbild (Python and PyGlet required)</a></p>		            
   12.91 +                </li></ul>            
   12.92 +            		
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/factory/v2011/resume.html	Sat Jan 15 02:00:27 2011 +0100
    13.3 @@ -0,0 +1,49 @@
    13.4 +<p>My professional resume can be found at my business homepage <a href="http://www.esawin.com">www.esawin.com</a>.</p>
    13.5 +<h2>Professional Experience</h2>
    13.6 +<ul>
    13.7 +<li>
    13.8 +<h4>Software Engineer, Freelancer, since 10/2010</h4>
    13.9 +</li>
   13.10 +<li>
   13.11 +<h4>Software Engineer, Comsoft GmbH, 03/2010-09/2010</h4>
   13.12 +	<ul>
   13.13 +	<li>
   13.14 +	Development of safety-critical back end systems for the ATC domain.
   13.15 +	</li>
   13.16 +	<li>
   13.17 +	On-site system integration and training.
   13.18 +	</li>
   13.19 +	</ul>
   13.20 +</li>
   13.21 +</ul>
   13.22 +<h2>Education</h2>
   13.23 +<ul>
   13.24 +<li>
   13.25 +<h4>University of Freiburg, since 2010</h4>
   13.26 +M.Sc. in Applied Computer Science.<br />
   13.27 +Emphasis in Artificial Intelligence.
   13.28 +</li>
   13.29 +<li>
   13.30 +<h4>University of Applied Sciences Offenburg, 2007-2010</h4>
   13.31 +B.Sc. in Applied Computer Science.<br />
   13.32 +Emphasis in Distributed Systems and Artificial Intelligence.
   13.33 +</li>
   13.34 +</ul>
   13.35 +<h2>Accompanying the Studies</h2>
   13.36 +<ul>
   13.37 +<li><h4>Bachelor Thesis, Comsoft GmbH, 2009-2010</h4>
   13.38 +"Flexible Modeling of Dynamic Air Space Constraints and its Application in Departure Flow Optimisation" 
   13.39 +</li>
   13.40 +<li><h4>Working Student &amp; Internship, Comsoft GmbH, 2008-2009</h4>
   13.41 +Development of software and driver for safety-critical embedded systems.
   13.42 +</li>
   13.43 +<li>
   13.44 +<h4>Student Assistant, University of Applied Sciences Offenburg, 2008</h4>
   13.45 +Assistance at a university course for object-oriented software development.
   13.46 +</li>
   13.47 +<li><h4>University Project, University of Applied Sciences Offenburg &amp; Karlsruhe Institute of Technology, 2008</h4>
   13.48 +Development of a client for 3D data streaming and visualisation. 
   13.49 +</li>
   13.50 +</ul>
   13.51 +
   13.52 +