Code for some small projects that I implement with the programming language Julia in order to learn that language. It’s an ongoing effort.
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.
A minimal and easy to use website monitoring script. Get notified when certain parts of a website have been changed.
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.
Implementation of the Generalized-Lloyd or Linde-Buzo-Gray Algorithm for vector quantization in Python and Java.
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 is a Twitter-Bot that mixes recent headlines of leading German newspapers and posts one of them each hour. Sometimes it produces funny results. It is basically the German variant for the American archetype @TwoHeadlines.
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.
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.
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.
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.
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.
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.
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.
Small extensions that I developed for the open-source wiki-software PmWiki.
This program is a prototype of a novell graphical user interface for a software synthesizer.
This project consisting of two Arduino controllers and some SuperCollider code forms a live and wire-less controllable loop station.
A 3D skill game that was developed as student project for the bachelor’s course in Computer graphics.