# HG changeset patch # User Eugen Sawin # Date 1274958609 -7200 # Node ID d9b71931f3721144fdfc1e962e85891759af7eaa ME73 init. diff -r 000000000000 -r d9b71931f372 backup.script.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backup.script.js Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,139 @@ +var QUOTES_NUMBER = 25; + +function load_page(html, params) +{ + if (params != "") + html += "?"; + window.location = html + params; + //window.location.reload(); +} + +function google_an1() +{ + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); +} + +function google_an2() +{ + var pageTracker = _gat._getTracker("UA-2137333-1"); + pageTracker._initData(); + pageTracker._trackPageview(); +} + +function google_an() +{ + google_an1(); + if (typeof(_gat) == "object") + google_an2(); +} + +function http_request_object() +{ + var xmlHttpObject = null; + + if (typeof(XMLHttpRequest) != "undefined") + { + xmlHttpObject = new XMLHttpRequest(); + } + + //For IE6 and IE5 + if (xmlHttpObject == null) + { + try + { + xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch(e) + { + try + { + xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch(e) + { + xmlHttpObject = null; + } + } + } + return xmlHttpObject; +} + +function load_header(current) +{ + var file; + if (current == "home") + file = "/homenav.html"; + else if (current == "resume") + file = "/resumenav.html"; + else if (current == "howiwork") + file = "/howiworknav.html"; + else if (current == "personalwork") + file = "/personalworknav.html"; + else if (current == "tutorials") + file = "/tutorialsnav.html"; + else if (current == "contact") + file = "/contactnav.html"; + + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + document.getElementById('header').innerHTML = request.responseText; + //document.write(request.responseText); + + //alert(request.responseText); +} + +function load_sidebar() +{ + var file = "/sidebar.html"; + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + //document.write(request.responseText); + document.getElementById('sidebar').innerHTML = request.responseText; +} + +function load_random_quote() +{ + var file = "/quotes/quote" + Math.floor(Math.random() * QUOTES_NUMBER + 1) + ".html"; + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + //document.write(request.responseText); + document.getElementById('random_quote').innerHTML = request.responseText; +} + +function load_footer() +{ + var file = "/footer.html"; + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + //document.write(request.responseText); + document.getElementById('footer').innerHTML = request.responseText; +} diff -r 000000000000 -r d9b71931f372 books.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/books.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,112 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

Here is a list of books I find useful or simply enjoyed reading them.

+

Technical & Science

+
    +
  • Effective C++ / More Effective C++

    Scott Meyers
    +Effective and safe C++ programming advises for practical use. +
  • +
  • Thinking in C++

    Bruce Eckel
    +A freely available introduction to C++ and its Standard Library. +
  • +
  • Artificial Intelligence: A Modern Approach

    Stuart J. Russel and Peter Norvig
    +A comprehensive compendium of most techniques for the development of artificial intelligence. +
  • +
  • The Algorithmic Beauty of Plants

    Przemyslwa Prusinkieicz and Aristid Lindenmayer
    +A wonderful introduction to L-systems and a motivational read. +
  • +
  • Compilers: Principles, Techniques & Tools

    Alfred V. Aho, Monica S. Lam and Ravi Sethi
    +The standard introduction to compiler development. Also known as the Dragon Book. +
  • +
  • Computer Networks

    Andrew S. Tanenbaum
    +A good and in-depth textbook for network technology. +
  • +
  • A Brief History of Time

    Stephen W. Hawking
    +Popular science. Follow Stephen on his quest for the Theory of Everything. +
  • +
+

Fiction

+
    +
  • Alice in Wonderland

    Lewis Carroll
    +Follow the rabbit. +
  • +
  • Through the Looking-Glass

    Lewis Carroll
    +Sequel to Alice in Wonderland. +
  • +
  • 1984

    George Orwell
    +Classic novel about a totalitarian regime and its influence on the society. +
  • +
+ + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 contact.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contact.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,80 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+ +

Contact

+

water +
Eugen Sawin
+ sawine@me73.com.

+ + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 create_quote.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/create_quote.py Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,22 @@ +#!/usr/bin/python + +import sys +import subprocess +from subprocess import PIPE + +SCRIPT_FILE = "../script.js" + +if __name__ == "__main__": + if len(sys.argv) < 3: + print "not enough arguments provided" + print "usage: %s \"quote text\" author" % sys.argv[0] + quote = sys.argv[1] + author = sys.argv[2] + quote_num = int(subprocess.Popen("ls quote*.html | wc -l", shell=True, stdout=PIPE).communicate()[0]) + 1 + file = open("quote%s.html" % str(quote_num), "w") + try: + file.write("

"%s"

- %s

" % (quote, author)) + finally: + file.close() + + diff -r 000000000000 -r d9b71931f372 dark.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dark.css Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,528 @@ +/* ---------------------------------------------- + Template Name : UrbanArtist / ME73 + Template Code : S-0025 + Version : 1.0 + Author : Erwin Aligam / Eugen Sawin + Author URI : http://www.styleshout.com/ / http://www.me73.com + Last Date Modified : July 25, 2008 + ------------------------------------------------ */ + +/* ---------------------------------------------- + HTML ELEMENTS +------------------------------------------------- */ + +/* Top Elements */ +* { margin: 0; padding: 0; outline: 0 } + +html { background: #222222; } + +body { + /*font: 11px/165% 'Lucida Grande', Geneva, Verdana, Arial, Helvetica, sans-serif;*/ + font: 8pt 'Lucida Grande', Geneva, Verdana, Arial, Halvetica, sans-serif; + color: #7D7D7D; + margin: 0; + padding: 0; + background: #222222; + text-align: center; +} + +/* Links */ +a, a:visited { + text-decoration: none; + color: #DEDEDE; +} +a:hover { + color: #fff; + border-bottom: 1px dotted #438800; +} + +/* headers */ +h1, h2, h3, h4 { + /*font-family: 'Trebuchet MS', Helvetica, Tahoma, Arial, Sans-serif;*/ + /*color: #0AEAEA;*/ + color: #FFF; +} +h1 { + + font-size: 3.1em; + letter-spacing: -2px; + padding: 15px 10px 5px 10px; +} +h2 { + font-size: 1.8em; + /*color: #895F30;*/ + color: #FFF; + padding: 20px 10px 5px 10px; +} +h3 { + + font-size: 1.7em; + font-weight: normal; + padding: 10px 10px 10px 5px; +} + +h4 +{ + color: #AbAbAb; + font-size: 1.1em; + /*font-weight: bold;*/ + padding: 10px 5px 0px 0px; +} + +h5 +{ + font-size: 1.0em; + padding: 0px 0px 0px 0px; +} + +p, dl +{ + padding: 5px 20px; + margin: 0; +} + +ul, ol { + margin: 5px 20px; + padding: 0px 20px; +} +ul { list-style: none; } + +dt { + /*font-weight: bold;*/ + color: #FAFAFA; +} +dd { + padding-left: 25px; +} + +/* images */ +img { + background: #1B1B1B; + border: 4px solid #262626; + padding: 0px; +} +img.float-right { + margin: 5px 0px 5px 10px; +} +img.float-left { + margin: 5px 10px 5px 0px; +} + +code { + margin: 5px 0; + padding: 15px; + text-align: left; + display: block; + overflow: auto; + font: 500 1em/1.5em 'Lucida Console', 'Courier New', Monospace; + /* white-space: pre; */ + background: #070707; + /*border: 1px solid #111; */ +} +acronym { + cursor: help; + border-bottom: 1px dotted #5B5B5B; +} +blockquote { + margin: 15px 10px; + padding: 10px 10px 10px 35px; + background: #070707 url(quote.gif) no-repeat 10px 10px; + border: 1px solid #111; + font-weight: normal; + font-size: 17px; + line-height: 1.6em; + font-style: italic; + font-family: Georgia, 'Times New Roman', Times, serif; + color: #808080; +} + +/* start - table */ +table { + margin: 15px 0px; + border-collapse: collapse; +} +th { + color: #FAFAFA; + height: 38px; + padding-left: 0px; + padding-right: 12px; + text-align: left; +} +tr { + color: #5b5b5b; + height: 15px; +} +td { + padding-left: 0px; + padding-right: 12px; +} +/* end - table */ + + +/* form elements */ +form { + margin: 20px 10px; + padding: 15px 25px 25px 20px; + background: #070707; + /*border: 1px solid #111; */ +} +form p { + /*border-bottom: 1px solid #101010;*/ + padding: 12px 0 5px 0; margin: 0; +} +label { + font-weight: bold; + color: #FAFAFA; +} +input, select, textarea { + margin: 5px 0; + padding: 5px; + font: normal 1em Verdana, Tahoma, sans-serif; + color: #6A6969; + background: #0C0C0C; + /*border: 1px solid #1C1C1C;*/ +} +option { padding-right: 0.5em; } + +#name, #email, #message{ + width: 480px; +} +input.button { + font: bold 12px Arial, Verdana, Sans-serif; + height: 30px; + padding: 2px 3px; + margin-top: 8px; + color: #48780E; + background: #000; + border-width: 1px; + border-style: solid; + border-color: #1B1B1B; +} + + +/* ------------------------------------------ + LAYOUT +------------------------------------------- */ +#wrap { + width: 1020px; + margin: 0 auto; + text-align: left; +} +#content-wrap { + clear: both; + width: 1020px; + float: left; + padding-top: 15px; + padding-bottom: 50px; +} +#header { + position: relative; + width: 1020px; + height: 170px; + margin: 0; + padding: 0; +} +#header h1#logo-text a { + position: absolute; + margin: 0; padding: 0; + font: bold 65px 'Trebuchet MS', Tahoma, Helvetica, Arial, Sans-serif; + letter-spacing: -1.5px; + color: #F8F8F8; + text-decoration: none; + text-transform: none; + + /* change the values of top and left to adjust the position of the logo*/ + top: 70px; left: 25px; +} +#header h1#logo-text a:hover { + background: none; + border: none; +} +#header p#intro { + position: absolute; + margin: 0; + padding: 0; + font-family: 'Trebuchet MS', Tahoma, Helvetica, Arial, Sans-serif; + font-weight: bold; + font-size: 16px; + line-height: 1.5em; + font-style: normal; + text-transform: none; + /*color: #6D7D2D;*/ + color: #5ad715; + width: 400px; + + /* change the values of top and left to adjust the position */ + top: 140px; + left: 30px; +} + +/* Navigation */ +#nav { + position: absolute; + margin: 0; + padding: 0; + height: 50px; + left: 10px; + top: 30px; +} +#nav ul { + float: left; + list-style: none; + height: 50px; + margin: 0 0 0 10px; + padding: 0; + display: inline; +} +#nav ul li { + display: inline; + margin: 0; + padding: 0; +} +#nav ul li a { + float: left; + margin: 0; + padding: 0 12px; + font: bold 15px/50px 'Trebuchet MS', Helvetica, Arial, Geneva, sans-serif; + text-decoration: none; + color: #c95723; + text-transform: uppercase; +} +#nav ul li a:hover, +#nav ul li a:active { + color: #eee; + background: none; + border: none; +} +#nav ul li#current a { + color: #D33972; +} + +#subnav{ + position: absolute; + margin: 17px 280px; + padding: 0; + height: 50px; + left: 10px; + top: 30px; +} + +#subnav ul { + float: left; + list-style: none; + height: 50px; + margin: 0 0 0 10px; + padding: 0; + display: inline; +} +#subnav ul li { + display: inline; + margin: 0; + padding: 0; +} +#subnav ul li a { + float: left; + margin: 0; + padding: 0 12px; + font: bold 15px/50px 'Trebuchet MS', Helvetica, Arial, Geneva, sans-serif; + text-decoration: none; + color: #5ad715; + text-transform: uppercase; +} +#subnav ul li a:hover, +#subnav ul li a:active { + color: #eee; + background: none; + border: none; +} +#subnav ul li#current a { + color: #D33972; +} + +/* Main Column */ +#main { + float: left; + width: 670px; + padding: 0; + margin: 0 0 0 10px; + display: inline; +} +#main h2 { + padding: 5px 12px; + margin: 15px 5px 0px 0px; + /*font: bold 2.4em 'Trebuchet MS', Helvetica, Arial, sans-serif; */ + /*color: #45D5E6; + color: #00cccc;*/ + color: #FFF; +} +#main h2 a { + /*color: #45D5E6;*/ + color: #FFF; + text-decoration: none; + border: none; +} +#main ul li { + /*list-style-image: url(images/bullet.png);*/ + list-style: disc; +} + +/* Sidebar */ +#sidebar { + float: right; + width: 300px; + padding: 0; + margin: 0px 18px 0 0; + display: inline; + color: #5D5D5D; + /*border: 4px solid #262626;*/ +} + +#random_quote { + font-style: italic; +} + +#sidebar h3 { + /*padding: 5px 12px; + margin: 15px 5px 10px 0; + font: bold 2.4em 'Trebuchet MS', Tahoma, Helvetica, Arial, sans-serif; + color: #45D5E6;*/ + /*border-bottom: 1px solid #121212; */ + /*background-image: url(pattern.gif); */ +} +#sidebar ul.sidemenu { + text-align: left; + margin: 20px 5px 20px 0px; + padding: 0; + /*border-top: 1px solid #111; */ +} +#sidebar ul.sidemenu li { + list-style: none; + padding: 8px 10px; + margin: 0; + /*border-bottom: 1px solid #111;*/ +} +* html body #sidebar ul.sidemenu li { + height: 1%; +} +#sidebar ul.sidemenu li a { + text-decoration: none; + border: none; + color: #666666; + font-weight: bold; + /*font-family: 'Trebuchet MS', Tahoma, Helvetica, Arial, Sans-serif;*/ + font-size: 9pt; +} +#sidebar ul.sidemenu li a span { + color: #444; + /*font-family: Georgia, 'Times New Roman', Times, serif;*/ + font-style: italic; + font-weight: normal; + font-size: 8pt; +} +#sidebar ul.sidemenu li a:hover, +#sidebar ul.sidemenu li a:hover span { + color: #fff; +} +#sidebar ul.sidemenu ul { margin: 0 0 0 0px; padding: 0; } +#sidebar ul.sidemenu ul li { border: none; } + +/* header quick search */ +#sidebar form#quick-search { + padding: 0; + margin: 20px 0 35px 0; + border: none; + width: 290px; height: 33px; + /*background: url(header-search.gif) no-repeat; */ +} +#sidebar form#quick-search p { + margin: 0; + padding: 0; +} +#sidebar form#quick-search input { + float: left; + border: none; + background: transparent; + color: #4E4E4E; + margin: 0; +} +#sidebar form#quick-search .tbox { + margin: 5px 0 0 0px; + width: 240px; + display: inline; +} +#search form#quick-search .btn{ + width: 24px; height: 24px; +} +#sidebar form#quick-search label { + display: none; +} + +/* footer */ +#footer { + clear: both; + padding: 1em 0 2.5em 0; + background: #222222; + color: #4E4E4E; + width: 100%; + float: left; +} +#footer a { + color: #0E909C; + border: none; +} +#footer a:hover { + color: #fafafa; +} +#footer .rssfeed { + background: url(images/rss.gif) no-repeat left 1px; + padding-left: 17px; +} +#footer-left { + float: left; + width: 70%; +} +#footer-right { + float: right; + width: 25%; +} + +.download a +{ + color: #5ad715; +} + +/* postmeta */ +.postmeta { + padding: 7px 5px; + margin: 5px 5px 5px 5px; + font-size: 1em; + color: #545454; + /*border: 1px solid #111; */ + background: #222222; +} +.postmeta .date{ margin: 0 10px 0 5px; } +.postmeta a.comments { margin: 0 10px 0 5px; } +.postmeta a.readmore { margin: 0 10px 0 5px; } + +.post-info { font-size: .95em; padding-top: 3px; margin-left: 5px; color: #444; } +.post-info a, .post-info a:visited { color: #AE275A; } + +/* alignment classes */ +.float-left { float: left; } +.float-right { float: right; } +.align-left { text-align: left; } +.align-right { text-align: right; } + +/* display and additional classes */ +.no-border { border: none; } +.clearer { clear: both; } +.clear { display:inline-block; } +.clear:after { + display:block; + visibility:hidden; + clear:both; + height:0; + content: "."; +} + + diff -r 000000000000 -r d9b71931f372 factory/create_page --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/create_page Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,48 @@ +#!/usr/bin/python + +import datetime +import sys +from optparse import OptionParser + +content_dir = "v2010" +content_files = ("index.html", "resume.html", "howiwork.html", "personalwork.html", "books.html", "links.html", "contact.html") + +def create_page(frame_filename, content_filename, output_filename): + frame_file = open(frame_filename, "r") + frame = frame_file.read() + content_file = open(content_filename, "r") + content = content_file.read() + output_file = open(output_filename, "w") + output = frame.replace("/insert{content}", content) + output_file.write(output) + output_file.close() + content_file.close() + frame_file.close() + +def main(): + parser = OptionParser() + parser.add_option("-a", "--all", dest="create_all", action="store_true", help="create all pages", default=False) + (options, args) = parser.parse_args() + + #log_file = open("compile.log", "a") + frame_filename = args[0] + + if options.create_all: + for f in content_files: + content_filename = content_dir + "/" + f + output_file = "../" + f + create_page(frame_filename, content_filename, output_file) + else: + create_page(frame_filename, args[1], args[2]) + + #log = "".join(("Update of file ", + # args[2], + # " at ", + # str(datetime.datetime.now()), + # ".
")) + #log_file.write(log) + #log_file.close() + +if __name__ == "__main__": + main() + diff -r 000000000000 -r d9b71931f372 factory/frame.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/frame.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,74 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+/insert{content} +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 factory/makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/makefile Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,8 @@ +OUTPUT = +FACTORY = +FRAME = frame.html +PAGES = index.html resume.html howiwork.html personalwork.html books.html links.html contact.html + +compile: $(PAGES) + for p in $(PAGES); do python create_page $(FRAME) $$p ../$$p; done + diff -r 000000000000 -r d9b71931f372 factory/v2010/books.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/books.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,38 @@ +

Here is a list of books I find useful or simply enjoyed reading them.

+

Technical & Science

+ +

Fiction

+ + diff -r 000000000000 -r d9b71931f372 factory/v2010/contact.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/contact.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,6 @@ + +

Contact

+

water +
Eugen Sawin
+ sawine@me73.com.

+ diff -r 000000000000 -r d9b71931f372 factory/v2010/footer.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/footer.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,16 @@ + + diff -r 000000000000 -r d9b71931f372 factory/v2010/headerlogo.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/headerlogo.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,4 @@ + +

BITMASSIV

+

A Programmer's Digital Playground.

+ diff -r 000000000000 -r d9b71931f372 factory/v2010/howiwork.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/howiwork.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,97 @@ +

Programming Languages

+

binary +During my studies and personal work, I've used a variety of programming +languages. Here is an overview in chronologic order with some comments:

+ +

Operating Systems

+ +

Environments

+ +

Tools

+ + diff -r 000000000000 -r d9b71931f372 factory/v2010/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/index.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

world map

+ diff -r 000000000000 -r d9b71931f372 factory/v2010/links.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/links.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,22 @@ +

Friends

+ +

Professional

+ + diff -r 000000000000 -r d9b71931f372 factory/v2010/news.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/news.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,72 @@ +

ROSI - Rotating SICK Laser Scanner

+

+ Take 8 people, one 3D-laser-scanner, an embedded Linux system and + the goal of developing a Linux client, a Windows client and the embedded + Linux server application. Get a lot of challenging problems, even more work + but a rewarding accomplishment of succeeding at something others have failed before. +

+

ROSI team

+

My responsibility was the development of the Window client, including its GUI and 3D visualisation + in OpenGL. The Windows client is responsible for: +

+ +

+ ROSI screenshot + ROSI screenshot +

+

+Problems that the team had to solve were: extending the hardware to get +an absolute reference point for the rotation, solving overheating +problems on the embedded system, providing lossless synchronization +between the server and the clients and efficiently managing the highly +dynamic stream of vertex data.  

+ +

+ ROSI afterROSI before

Comment + August 11, 2008 +

+ +

Does Size Really Matter?

+

To +me it does! Working alot at the university, I've gotten used to the +keyboard on my Thinkpad so much, that I'm looking for a replacement for +my desktop system. I'm open for suggestions, it has to be:

+ big keyboard + +

If you have any recommendations, preferably by own experience, then please let me know.

+

+ Comment + July 26, 2008 +

+ +

Back to Basics - A New Dawn

+

water + ME73 made it to version 3. What has changed? Everything. I've stripped away anything that was not essential for the site. + Now it's composed of strict XHTML, CSS and a little Javascript. + Since I don't enjoy working on websites much, I've decided to base my site on an existing template from + Styleshout.

+

You +will have noticed, that I've switched to a dark background, this has +several reasons. Since I'm spending a great portion of my time in front +of a computer screen, I'm looking for ways to improve my working +envirnoment to keep the experience as pleasing and repercussions as low +as possible. I've found that working on dark backgrounds puts less +strain on the eyes, especially when sitting in a dark room. Another +reason is my idea of creating a more personal ambience for the site +with my choice of colours.

+

+ Comment + July 25, 2008 +

+ diff -r 000000000000 -r d9b71931f372 factory/v2010/personalwork.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/personalwork.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,89 @@ +

Tools

+ + +

+ Comment + July 28, 2008

+

Games

+ + + diff -r 000000000000 -r d9b71931f372 factory/v2010/resume.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/resume.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,39 @@ + +

Professional Experience

+ +

Accompanying the Studies

+ + +

Education

+ + + + diff -r 000000000000 -r d9b71931f372 factory/v2010/sidebar.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/sidebar.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,13 @@ + + diff -r 000000000000 -r d9b71931f372 factory/v2010/tutorials.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/factory/v2010/tutorials.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,41 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

Where Are The Old Tutorials?

+ questionmark +

Despite the elementary nature of my tutorials, they've created a suprisingly steady stream + of traffic for my site. 

Today, +I believe that tutorials can cause more harm than solve problems. +A tutorial will not replace a well done research, a good book and +proper education. It will, however, in many cases promote quick and +often unsafe solutions without a real understanding of the underlying +material.


+
+ +
+ +
+ + + \ No newline at end of file diff -r 000000000000 -r d9b71931f372 footer.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/footer.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,16 @@ + + diff -r 000000000000 -r d9b71931f372 headerlogo.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/headerlogo.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,4 @@ + +

BITMASSIV

+

A Programmer's Digital Playground.

+ diff -r 000000000000 -r d9b71931f372 howiwork.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/howiwork.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,171 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

Programming Languages

+

binary +During my studies and personal work, I've used a variety of programming +languages. Here is an overview in chronologic order with some comments:

+
    +
  • +

    QBasic. *

    +It was the first language that I've learned. I've enjoyed hacking +around in it a little, but never got far with it due to lack of +learning resources.
  • +
  • +

    C++. *****

    +This was actually my second language to learn, which meant a big leap. +My first contact was at the age of 15, though I hadn't used it +extensively until I started studying. In the past years, I've been +developing most of my personal and professional work in C++. It's a beast and should be +only handled with care.
  • +
  • +

    Java. ***

    +My first contact with Java was at the university. It does provide help +by managed memory and a big standard library. +
  • +
  • +

    Haskell. *

    +This language was a love-hate relationship for me. I hated it for being +so difficult to grasp for the first time and loved it for inspiring me +to approach problem solving from a differnt angle, even when working +with non-functional languages.
  • +
  • +

    Prolog. **

    +Nice iterative language especially for the field of artificial +intelligence.
  • +
  • +

    C. *****

    +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".
  • +
  • +

    Assembler. **

    +Been there, done that.
  • +
  • +

    C#. ***

    +It feels like the more mature language based on a managed +architecture, especially in combination with Visual Studio, developing +in it is a breeze. The .Net framework is mostly a well structured and +complete environment to work in.
  • +
  • +

    Python. ****

    +It's my personal favourite language for many fields. It's best suited +for rapid prototyping, which fits perfectly into my method of working.
  • +
  • +

    Go. *

    +Google has developed an interesting language with the goal of providing a general programming language including a garbage collector and efficient methods for concurrency handling. It's a fun language and shows some interesting concepts including a more dynamic approach on object orientation.
  • +
    * shows my experience level with the language +
+

Operating Systems

+
    +
  • GNU/Linux

    +Ubuntu, openSUSE, Red Hat and CentOS.
  • +
  • Microsoft Windows

    +Windows 95/98/2000/XP/Vista/7.
  • +
  • AmigaOS

    +Been a while...
  • +
+

Environments

+
    +
  • +

    GVim & gedit

    +These are my general purpose editors for quick editing on all platforms +and have become my prefered editors when working in an IDE-free environment.
  • +
  • +

    Visual Studio

    +It's my first choice for C#, C++ and C programming on Windows. It has +proven to be a feature-rich, reliable and customisable IDE with great debugger integration.
  • +
  • +

    Eclipse

    +It's what I prefer when developing in Java 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.
  • +
  • +

    Wing IDE

    +When it's Python-time, this is what I like to use. Great debugger, +overall nice GUI and features. Free version is missing crucial +features, though.
  • +
+

Tools

+
    +
  • +

    Internet

    +Chrome for browsing, IRSSI for IRC and Skype for communication.
  • +
  • +

    Documentation

    +gedit & LaTeX for papers, gnuplot for analysis visualisations and Inkscape for graphics.
  • +
  • +

    Version Control

    +Subversion with TortoiseSVN on Windows.
  • +
+ + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/index.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,76 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

world map

+ + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 kex.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kex.txt Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +RBxlPAuhi2xSgIG9vo9sxPny02lzoP5TzdzaIRdGD60 diff -r 000000000000 -r d9b71931f372 links.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/links.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,96 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

Friends

+
    +
  • Thomas Witt

    +A good friend and designer for the visual arts. +
  • +
  • Christian König

    +A fellow student and companion in the quest for world domination. +
  • +
  • Michael Chlebek

    +A friend, programmer and amateuer photographer. +
  • +
  • Thomas Huber

    +A fellow student of artificial intelligence. +
  • +
+

Professional

+ + + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 personalwork.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/personalwork.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,163 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

Tools

+
    +
  • +

    NetChannel

    +

    Description

    +

    NetChannel is a simple Python object for message-based network communication + on the TCP/IP stack. NetChannel is based on stateful sessions for improved performance.

    +

    Version 0.7

    +

    A stable prototype.

    +

    + Download NetChannel (Python required)

    +
  • +
  • +

    Eden Plotter

    + eden plotter +

    Description

    +

    Eden Plotter or Eden One is a quick prototype for my genetic programming routines. + What it does is approximating a given function by the methods of GP.

    +

    Version 0.9

    +

    An unendurable slow prototype.

    +

    + Download Eden Plotter (Python required)

    +
  • +
  • +

    ANQ

    +

    Description

    + anq +

    ANQ +is a testing environment for distributed algorithms. It provides a +centralised and convenient way of organising runtime dynamic +topologies, gives full control over the initialisation and flow of the +algorithm and helps in tracking the current node states by visualising +the node reports on the OpenGL graph.

    +

    +ANQ builds on the ANQ Protocol which can be optionally extended on +special needs for the algorithm to be tested. The ANQ Master is written +in C# using Windows Forms and OpenGL. Observer, Hotbed and the example +Node were developed in Python.

    + anq +

    Version Antquarium Prototype

    +

    Antquarium is the predecessor of ANQ. It was an extended course assignment and serves as a prototype for ANQ.

    +

    + Download Antquarium for Windows (Python and .Net 2.0 required)

    +

    Version 0.4.1

    +

    Stable version missing features like flow and runtime topology control.

    +

    + Request Access to Subversion Repository

    +
  • +
+ + +

Games

+ + + + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 quotes/create_quote.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/create_quote.py Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,22 @@ +#!/usr/bin/python + +import sys +import subprocess +from subprocess import PIPE + +SCRIPT_FILE = "../script.js" + +if __name__ == "__main__": + if len(sys.argv) < 3: + print "not enough arguments provided" + print "usage: %s \"quote text\" author" % sys.argv[0] + quote = sys.argv[1] + author = sys.argv[2] + quote_num = int(subprocess.Popen("ls quote*.html | wc -l", shell=True, stdout=PIPE).communicate()[0]) + 1 + file = open("quote%s.html" % str(quote_num), "w") + try: + file.write("

"%s"

- %s

" % (quote, author)) + finally: + file.close() + + diff -r 000000000000 -r d9b71931f372 quotes/quote1.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote1.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,4 @@ +

"To be yourself in a world that is constantly trying to make you + something else is the greatest accomplishment."

+ +

- Ralph Waldo Emerson

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote10.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote10.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"That deep emotional conviction of the presence of a superior reasoning power, which is revealed in the incomprehensible universe, forms my idea of God."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote11.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote11.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"The monotony and solitude of a quiet life stimulates the creative mind."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote12.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote12.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"The only thing that interferes with my learning is my education."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote13.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote13.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"The secret to creativity is knowing how to hide your sources."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote14.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote14.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"We should take care not to make the intellect our god; it has, of course, powerful muscles, but no personality."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote15.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote15.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"I love to travel, but hate to arrive."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote16.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote16.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"It is the mark of an educated mind to be able to entertain a thought without accepting it."

- Aristotle

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote17.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote17.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Pleasure in the job puts perfection in the work."

+

- Aristotle

diff -r 000000000000 -r d9b71931f372 quotes/quote18.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote18.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"For the things we have to learn before we can do them, we learn by doing them."

+

- Aristotle

diff -r 000000000000 -r d9b71931f372 quotes/quote19.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote19.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"In all things of nature there is something of the marvelous."

+

- Aristotle

diff -r 000000000000 -r d9b71931f372 quotes/quote2.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote2.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Life is a tragedy when seen in close-up, but a comedy in long-shot."

+

- Charlie Chaplin

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote20.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote20.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Nature does nothing uselessly."

+

- Aristotle

diff -r 000000000000 -r d9b71931f372 quotes/quote21.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote21.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"In the name of God, stop a moment, cease your work, look around you."

+

- Leo Tolstoy

diff -r 000000000000 -r d9b71931f372 quotes/quote22.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote22.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Everything that I understand, I understand only because I love."

+

- Leo Tolstoy

diff -r 000000000000 -r d9b71931f372 quotes/quote23.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote23.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Everyone thinks of changing the world, but no one thinks of changing himself."

+

- Leo Tolstoy

diff -r 000000000000 -r d9b71931f372 quotes/quote24.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote24.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Nobody realizes that some people expend tremendous energy merely to be normal."

+

- Albert Camus

diff -r 000000000000 -r d9b71931f372 quotes/quote25.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote25.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"It is the mark of an educated mind to be able to entertain a thought without accepting it."

- Aristotle

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote26.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote26.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"Time crumbles things; everything grows old under the power of Time and is forgotten through the lapse of Time."

- Aristotle

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote27.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote27.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"It is the nature of desire not to be satisfied, and most men live only for the gratification of it."

- Aritotle

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote28.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote28.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"Nothing is easier than to denounce the evildoer; nothing is more difficult than to understand him."

- Fyodor Dostoevsky

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote29.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote29.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"Computer science is no more about computers than astronomy is about telescopes."

- Dijkstra

diff -r 000000000000 -r d9b71931f372 quotes/quote3.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote3.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"A day without laughter is a day wasted."

+

- Charlie Chaplin

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote30.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote30.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image."

- Stephen Hawking

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote31.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote31.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"If you would thoroughly know anything, teach it to others."

- Tryon Edwards

diff -r 000000000000 -r d9b71931f372 quotes/quote32.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote32.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,1 @@ +

"Any sufficiently advanced technology is indistinguishable from magic."

- Arthur Clarke

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote4.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote4.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,3 @@ +

"Any fool can make things bigger, more complex, and more violent. +It takes a touch of genius - and a lot of courage - to move in the opposite direction."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote5.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote5.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Any man who reads too much and uses his own brain too little falls into lazy habits of thinking."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote6.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote6.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Everything should be made as simple as possible, but not simpler."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote7.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote7.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Everything that can be counted does not necessarily count; everything that counts cannot necessarily be counted."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote8.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote8.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Only a life lived for others is a life worthwhile."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/quote9.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/quote9.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,2 @@ +

"Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking."

+

- Albert Einstein

\ No newline at end of file diff -r 000000000000 -r d9b71931f372 quotes/update_count.py.corrupt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quotes/update_count.py.corrupt Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,31 @@ +#!/usr/bin/python + +import sys +import subprocess +from subprocess import PIPE + +SCRIPT_FILE = "../script.js" + +if __name__ == "__main__": + quote_num = int(subprocess.Popen("ls quote*.html | wc -l", shell=True, stdout=PIPE).communicate()[0]) + file = open(SCRIPT_FILE, "r") + s = [] + try: + s = file.readlines() + finally: + file.close() + print s + sys.exit() + if len(s) > 0: + file = open(SCRIPT_FILE, "w") + try: + for line in s: + print line + if "var QUOTE_NUMBER" in line: + print "replacing:" + line + line = "var QUOTE_NUMBER = %s" % str(quote_num) + file.write(s) + finally: + file.close() + + diff -r 000000000000 -r d9b71931f372 resume.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resume.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,113 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+ +

Professional Experience

+
    +
  • Software Engineer, Comsoft GmbH, since 2010

    +Development of safety-critical back end systems for the ATC domain. +
  • +
+

Accompanying the Studies

+
    +
  • Bachelor Thesis, Comsoft GmbH, 2009-2010

    +"Flexible Modeling of Dynamic Air Space Constraints and its Application in Departure Flow Optimisation" +
  • +
  • Working Student & Internship, Comsoft GmbH, 2008-2009

    +Development of software and driver for safety-critical embedded systems. +
  • +
  • +

    Student Assistant, University of Applied Sciences Offenburg, 2008

    +Assistance at a university course for object-oriented software development.
  • +
  • University Project, University of Applied Sciences Offenburg & Karlsruhe Institute of Technology, 2008

    +Development of a client for 3D data streaming and visualisation.
  • +
  • University Project, University Karlsruhe, 2006

    +Development of a multi-discipline scheduler. +
+
    +
+

Education

+
    +
  • +

    University of Applied Sciences Offenburg, 2007-2010

    +B. Sc. in Computer Science.
    +Emphasis in Distributed Systems and Artificial Intelligence.
  • +
+
    +
  • +

    University Karlsruhe, 2003-2007

    +Diplom in Informatics, 6 semesters.
  • +
+ + + +
+ +
+ + +
+ + + + diff -r 000000000000 -r d9b71931f372 robots.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/robots.txt Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,5 @@ +User-Agent: * +Allow: / + + + diff -r 000000000000 -r d9b71931f372 script.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/script.js Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,139 @@ +var QUOTES_NUMBER = 32; + +function load_page(html, params) +{ + if (params != "") + html += "?"; + window.location = html + params; + //window.location.reload(); +} + +function google_an1() +{ + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); +} + +function google_an2() +{ + var pageTracker = _gat._getTracker("UA-2137333-1"); + pageTracker._initData(); + pageTracker._trackPageview(); +} + +function google_an() +{ + google_an1(); + if (typeof(_gat) == "object") + google_an2(); +} + +function http_request_object() +{ + var xmlHttpObject = null; + + if (typeof(XMLHttpRequest) != "undefined") + { + xmlHttpObject = new XMLHttpRequest(); + } + + //For IE6 and IE5 + if (xmlHttpObject == null) + { + try + { + xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch(e) + { + try + { + xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch(e) + { + xmlHttpObject = null; + } + } + } + return xmlHttpObject; +} + +function load_header(current) +{ + var file; + if (current == "home") + file = "/homenav.html"; + else if (current == "resume") + file = "/resumenav.html"; + else if (current == "howiwork") + file = "/howiworknav.html"; + else if (current == "personalwork") + file = "/personalworknav.html"; + else if (current == "tutorials") + file = "/tutorialsnav.html"; + else if (current == "contact") + file = "/contactnav.html"; + + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + document.getElementById('header').innerHTML = request.responseText; + //document.write(request.responseText); + + //alert(request.responseText); +} + +function load_sidebar() +{ + var file = "/sidebar.html"; + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + //document.write(request.responseText); + document.getElementById('sidebar').innerHTML = request.responseText; +} + +function load_random_quote() +{ + var file = "/quotes/quote" + Math.floor(Math.random() * QUOTES_NUMBER + 1) + ".html"; + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + //document.write(request.responseText); + document.getElementById('random_quote').innerHTML = request.responseText; +} + +function load_footer() +{ + var file = "/footer.html"; + var currentFile = self.location.hostname + self.location.pathname; + var request = http_request_object(); + var url = "http://" + self.location.hostname + file; + request.open("GET", url, false); + request.setRequestHeader("User-Agent", navigator.userAgent); + request.send(null) + // if (oRequest.status == 200) alert(oRequest.responseText); + // else alert("Error executing XMLHttpRequest call!"); + //document.write(url); + //document.write(request.responseText); + document.getElementById('footer').innerHTML = request.responseText; +} diff -r 000000000000 -r d9b71931f372 sidebar.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sidebar.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,13 @@ + + diff -r 000000000000 -r d9b71931f372 thesis.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thesis.txt Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,58 @@ +Diploma/Master's Thesis in Computer Science + +Supervisor: Dr. Stephan Schulz, stephan.schulz@comsoft.de + Dr. Marina Müller, marina.mueller@comsoft.de + +"An Explicit Rule Language to Express Safety Constraints for + Minimum Safe Altitude and Area Proximity Warnings" + +Safety Net applications are computer programs that monitor the air +situation based on data from sensors (radars, multilateration, ADS-B) +or, more often, tracker systems that integrate data from sensors over +time. These programs try to predict critical situations and alarm ATC +controllers ahead of time. Examples include Short Term Conflict Alert +(STCA) systems, Minimum Safe Altitude Warning (MSAW) systems, and Area +Proximity Warning (APW) systems. STCA systems predict the flight paths +of different aircraft and issue a warning up to two minutes ahead of a +potential separation violation. MSAW and APW systems predict single +aircraft trajectories and issue a warning if there is a significant +risk that the aircraft comes too close to a terrain feature, +obstacle, or prohibited region. + +While the basic trajectory prediction is always based on the same +principles, the generation of warning messages is highly dependent on +local conditions. The quality of the sensor coverage dictates aircraft +separation rules. Local geography may require trajectories that would +normally be avoided. Availability of flight plan information can help +to recognize potentially dangerous situations as already anticipated +and under control. As an example, if a flight plan contains a cleared +altitude of 300 flight levels, the aircraft is expected to level off +its ascent there, and hence will not conflict with an aircraft at an +altitude of 320 flight levels, even if a naive projection based on the +current rate of ascent does indicate a potential conflict. + +Currently, Safety Net systems use standard requirement engineering to +identify the necessary conditions for each particular +deployment. These requirements are then translated manually into +program code. However, this process is tedious and error-prone, and +the resulting code can be rather complex and hard to maintain. Each +modification requires extensive re-validation of the software. + +The aim of this thesis is the development and implementation of a +language that can express the necessary conflict for an ATC Safety Net +in symbolic, human-readable form. Depending on the outcome of an +initial feasibility study, the language should be either interpreted +by the Safety Net System, or automatically compiled into C++ code. + +For this purpose, first the necessary attributes and relations have to +to be identified. Then a proper rule semantics (prioritised, weighted, +non-monotonic/exception-based...) has to be determined, and finally an +initial prototype language needs to be designed and implemented. + +---- +Comsoft is a medium-sized, privately owned company located in +Karlsruhe/Durlach. We continually offer interesting diploma topics, +practicals, and internships in computer science, signal processing, +electrical engineering, and related topics. For generic enquiries +please contact human resources at waltraud.schweitzer@comsoft.de. + diff -r 000000000000 -r d9b71931f372 tutorials.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tutorials.html Thu May 27 13:10:09 2010 +0200 @@ -0,0 +1,41 @@ + + + +ME73 - A Digital Playground + + + + + + + + +
+ +
+
+

Where Are The Old Tutorials?

+ questionmark +

Despite the elementary nature of my tutorials, they've created a suprisingly steady stream + of traffic for my site. 

Today, +I believe that tutorials can cause more harm than solve problems. +A tutorial will not replace a well done research, a good book and +proper education. It will, however, in many cases promote quick and +often unsafe solutions without a real understanding of the underlying +material.


+
+ +
+ +
+ + + \ No newline at end of file