This website aims to give you an insight into my previous work in the field of computer sciences. Any source code posted here may be used freely. As a quid pro quo, comments, suggestions and criticisms is highly appreciated. Please let me know if our interests intersect and feel free to contact me by email (depicted in the titlebar).


Neural Network based Opponent Modeling in Games with Imperfect Information [Diploma Thesis]

During 1th of May 2008 and 1th of December 2008 I worked on my Diploma Thesis in collaboration with the Educational Engineering Group at the Department of Informatics (IFI) of the University of Zurich. Besides a theoretical description of solving the imperfect information elements in the game of Poker, we also implemented a prototype for verifying performance issues and the needed adaptivity. The work finally resulted in a neural network based approach for dynamically modeling the opponent's playing style in real-time.


Design and Prototypical Implementation of a Peer-to-Peer Storage for IP Netflow Records [Semester Thesis]

During 2nd of April 2007 and 31th of March 2008 I worked in collaboration with the Communication System Group (CSG) at the Department of Informatics (IFI) of the University of Zurich. During this time, my interests were mainly focused on network traffic meta data analysis. The first step was to analyze functional and performance related requirements in order to design a scalable and decentralized storage. As a second step we specified a decentralized algorithm for efficiently distribute and querying the data among an undefined amount of participating peers in a fault-tolerant and robust manner. In the third step we implemented a prototyp using the Java programming language for the purpose of testing the proposed design and analyzing performance limits. This thesis has been used as a basis for further research and optimizations for a decentralized storage of IP Netflow Records.


Design and Setup of a Distributed Storage Repository for IP Netflow Records [Internship Thesis]

On January 2008 I got the chance to work as a temporary Junior Researcher at the Communication System Group (CSG). I have been working on a distributed storage repository that aims to interlink several European Universities for exchanging campus-internally collected network traffic meta data. In order to assure privacy, all sensitive information is automatically anonymized and traffic is encrypted by the application of asymmetric cryptography. The implemented prototype features a 3-tiered client-server architecture and a simple platform-independent API for the integration into existing application environments.


Bluetooth Plugin for the vvvv Multipurpose Platform [Freelance Activity]

This project resulted from personal interests in the field of communication techniques. A friend of mine is working on a multi-touch screen for which he uses the vvvv multipurpose toolkit for implementing the needed visual effects. Thus, we decided to enhance that platform with a Bluetooth plugin. The plugin aims to interlink different Bluetooth equipped devices such as smart phones and notebooks with the interactive table. The solution presented here is implemented in C# and makes use of the OBEX interface specification for exchanging any kind of object between several devices forming a piconet.


Building a Robot from Scratch: The Cataglyphis Fortis Ant [Seminar Project]

This work resulted from a seminar offered by the Artificial Intelligence Laboratory of the University of Zurich. We got the task to design artificial agents that simulate the foraging behavior of the famous Cataglyhis Fortis ant. We used the Asuro robot as a basic equipment. Since this robot has limited hardware capabilities, we decided to enhance its sensory system by several modules. Finally, our Asuro was able to detect thermal sources, to follow lines, and to avoid obstacles. Moreover, it was able to communicate with other Asuros via the built-in infrared interface that was originally designed to program the 8-Bit-Microcontroller ATMmega8.


Peer-to-Peer Video Streaming Application [Lecture Project]

This application lets you forward a MPEG transport stream to multiple peers. It is designed to distributed a video signal within a Local Area Network (LAN). We used the FreePastry API to organize and maintain the peer-to-peer infrastructure and the Video LAN Client (VLC) for decoding and visualizing the MPEG stream.


Graphics Supporting Calculator [Lecture Project]

This is a fully functional calculator that is capable of drawing user-defined functions. The work primarily focused on design of the grammar and an appropriate parser for making user-defined functions machine-readable.


Multilayer Perceptron API [Freelance Activity]

This is a very basic library offering an API for implementing Multilayer Perceptrons. This kind of neural network can be used for classification tasks such as pattern recognition or sequence predictions for example. The architecture is intentionally designed to its biological counterpart. That makes it easy to enhance the library for example with a delayed spiking behaviour in order to model more realistic problem domains. A clear disadvantage of this design is reflected by the limited performance in comparison to a much faster matrix-based approach. So far, the library is still very small and supports only backpropagation for training issues. However, I plan to enhance the API with simulated annealing and genetic programming learning capabilities.


Game Prototypes [Freelance Activity]

These two prototypes were never intended for completion. It was rather an exercise to get familiar with the DirectX libraries and the C++ programming language. At least Windows XP and DirectX 9.0c are required for running these prototypes.


Matching Platform for Human Characteristics [Freelance Activity]

This was a work order that I and a friend of mine received from one of the members of the executive board of the Wegelin & Co. Privatbankiers. Due to the confidential nature of this project I am not allowed to publish business relevant issues. In order to cut a long story short, I got some experience with LAMP.


 

Latest update on Sunday the 12th of April 2009.