Projects
Miscellaneous R Notebooks
Some RMarkdown notebooks on miscellaneous topics such as temperature modeling and base R plotting.
Learning JuliaLang: Some example implementations in Julia
Code for some small projects that I implement with the programming language Julia in order to learn that language. It’s an ongoing effort.
Synthetic music video: kiriloff – Fortschritt
A synthesized music video of the piece Fortschritt from kiriloff programmed in Python. It uses aubio for onset detection in the audio signal. Input video clips are alienated by drawing Voronoi diagrams derived from a sample of feature points from a binarized frame of the input clip.
webwatch.py
A minimal and easy to use website monitoring script. Get notified when certain parts of a website have been changed.
Circular decimal places / integer sequences visualization with d3.js
A visualization tool that animates integer sequences, like those from OEIS. Some of them are quite beautiful. I realized this project in order to learn the excellent visualization library d3.js. It uses the older d3.js v3.x API.
Python and Java Implementations for Linde-Buzo-Gray / Generalized Lloyd Algorithm
Implementation of the Generalized-Lloyd or Linde-Buzo-Gray Algorithm for vector quantization in Python and Java.
Small Facebook Discussion Analysis Toolkit
The Small Facebook Discussion Analysis Toolkit is a collection of tools to (semi-)automatically collect and analyze data from online discussions on Facebook groups and pages. This means that posts and comments (including their hierarchical structure and some metadata) are collected using either the Facebook API for public groups and pages or by parsing Facebook’s HTML files for closed groups and pages. The data is saved in a JSON format and can be used for different analyses. By now, only counting nouns in all the posts and comments in German language is supported.
ZwoSchlagzeilen Twitter-Bot
@ZwoSchlagzeilen was a Twitter-Bot that mixed recent headlines of leading German newspapers and posts one of them each hour. Sometimes it produced funny results. It was basically the German variant for the American archetype @TwoHeadlines.
ogles_gpgpu: GPGPU for mobile devices and embedded systems using OpenGL ES 2.0
Based on the results of my master’s thesis, I created a small library for GPGPU on mobile and embedded systems, such as Android and iOS. It enables fast, GPU-powered image processing by using OpenGL ES 2.0 shaders.
ocv_ar: OpenCV based Augmented Reality library
This library implements a simple but powerful Augmented Reality solution based on OpenCV. It is derived from the explainations from the book Mastering OpenCV with Practical Computer Vision Projects (Baggio et al., 2012) and borrows some ideas and code from ArUco. Based on ocv_ar is also a framework for lightweight mobile Augmented Reality with Cocos2D – ocv_ar-cocos2d. I developed both things as part of my work at the INKA research group.
Master’s thesis: Parallel Computing for Digital Signal Processing on Mobile Device GPUs
In my master’s thesis I analyzed the potentials of general purpose computing on graphics processing units (GPGPU) on mobile devices such as smartphones or tablets. The question was, if and how the GPU on such devices can be used to speed up certain algorithms especially in the fields of image processing. GPU computing technologies such as OpenCL, OpenGL shaders, and Android RenderScript are assessed in the thesis.
Peer-To-Peer Multiplayer Game Bomberman via WebRTC
An HTML5/Javascript implementation of the popular game Bomberman that utilizes WebRTC peer-to-peer communication features for real-time multiplayer-gaming without an intermediate server. It can be understood as a showcase for the possibilities of real-time communication via RTCDataChannels.
Tutorial on AVR-C programming with ATtiny MCUs
A tutorial about how to move from programming Arduinos to ATtiny MCUs. Includes instructions for writing AVR-C code and setting up the programmer device.
Orbit.io iPad Synthesizer
For our “Master Project” we should plan, design and create a software project over the time-span of two semesters. We choose to create a software synthesizer app for the iPad, which enables the user to easily create loop-based musical patterns and melodies.
Building a Portable Low Cost Tangible User Interface Based on a Tablet Computer
For our second “Indepenent Coursework”, I have written a paper about how to build a “Portable Low Cost Tangible User Interface Based on a Tablet Computer.” It evolved from the idea, that tablet computers can be used to create a table-top Tangible User Interface (TUI) providing an user interface with physical objects to interact with.
Real-time audio synthesis on iOS devices
I have written a paper about real-time “audio synthesis possibilities on mobile devices using the Apple iPhone and iPad.” for my first “Independent Coursework” in my master’s course. In the paper, a set of software libraries for real-time audio synthesis on iOS devices are analyzed and compared.
Processing Prototypes for Visualization course
Some small prototypes that were created during the course master’s course Visualization taught by Prof. Klaus Jung. The programs were written with Processing.
PmWiki software addons (recipies)
Small extensions that I developed for the open-source wiki-software PmWiki.
Synesthesia software synthesizer
This program is a prototype of a novell graphical user interface for a software synthesizer.
Loopuino – A simple loop station with Arduino and SuperCollider
This project consisting of two Arduino controllers and some SuperCollider code forms a live and wire-less controllable loop station.
Traxi Game
A 3D skill game that was developed as student project for the bachelor’s course in Computer graphics.