Publications

For a better understanding, I decided to publish some of my exercices, tiny programming examples and other ressources and source code you can download and play around with. Please read through the terms of use before downloading any stuff provided by my blog. The examples are not complete programs but just a few examples of methods and algorithms, which may be used within any bigger projects, after they have been modified.

Android
Here you can find prototype projects that run on the Android (Cupcake 1.5) plattform.

  • CamBuddy – CamBuddy is an image manipulation software that allows its user to apply a set of filters to previously captured images. Edited pictures can be saved in the MediaStore again. The manipulation process is easy and does not take much time and with this software you can easily restyle your pictures. The software features filters from classic styles (Sepia, Grafitti) to stylish (Zombi, eXtreme, Austropic). This prize winning project (Austroid) is realized by my girlfriend Larissa and her colleague Matthias and is featured by T-Mobile Austria.

Cryptography
Here you will resources based on cryptography, security and hacking regarding security in mobile systems.

  • Blum-Blum-Shub Random Number GeneratorThis Mathematica notebook provides the implemenation of the Blum-Blum-Shub pseudo random number generator. Additionally, some tests (Monobit, Runs) are provided to verify generated random numbers. Random numbers are the basis for cryptographic algorithm. This algorithm relies on the facorial problem, which says that it is easy to create a big random number by multiplication but that it is difficult to reverse the process by factorizing the result.
  • Miller-Rabin Random Prime Generator – This Mathematica notebook provides a simple algorithm to produce large primes fast. The algorithm uses the Rabin-Miller-Test to verify primes. Two different ways of producing random primes are provided.
  • Pollard’s Rho Factorization Algorithm - This Mathematica notebook provides the implementation of Pollard’s Rho-Algorithm which is a special-purpose integer factorization algorithm. It was invented by John Pollard in 1975. It is particularly effective at splitting composite numbers with small factors.
  • Fiat-Shamir Authentication Protocol – In cryptography, the Feige-Fiat-Shami Identification scheme is a type of parallel zero-knowledge proof developed by Uriel Feige, Amos Fiat, and Adi Shamir in 1988. Like all zero-knowledge proofs, the Feige-Fiat-Shamir Identification Scheme allows one party, Peggy, to prove to another party, Victor, that she possesses secret information without revealing to Victor what that secret information is. The Mathematica Notebook provides the algorithm to verify authentication as well as a valid authentication process. Additionally, a way of hacking/exploiting this algorithm is provided.

Speech Processing
Here you can find some interesting examples on how to get starting doing speech recognition, synthesis or speaker recognition. The following sources are matlab tools and require some data, which is for demo purpose already included. Speech processing is a quite challenging topic where a nostrum does not exist at all.

  • Pitch Analysis & Gender Recognition - This archive actually contains two Matlab tools. The pitch analysis that can be used to identify the formants of any speech samples and the gender recognition based on a simple machine learning model to identify the sex of a speaker. The pitch analysis uses linear prediction models to perform the prediction but common fast fourier transform has also been implemented so you just can display the average spectrum of a sum of speech samples. This sample also implements a pre-emphasis filter to balance the engery of any speech signal. The Gender Recognition example uses a machine learning technique based on gaussian prediction to evaluate the sex of the speaker. As a proof that this is actually working, also a gaussian prediction tool is included. For those of you that have no idea about what the hell I am talking, there is also a document included explaining the stuff in words so you may unterstand it.

Computer Graphics
The provided examples are Visual Studio project files using the Devil graphics engine, which is available for free. The code is written in C++ and should be understandable for anyone having programming experience.

  • Cube Texturing – Tiny example of how to use textures in OpenGL. This tiny program maps a texture on the front side of a cube and also implements an alpha and a blending function, which can be activated by pressing “a” and “b”. The object can also be rotated in any direction by pressing “x, y, z”.
  • Spline Rendering – Small example of how to use splines in OpenGL and animate an object. The example implements a spline using linear interpolation and animates an object to follow that line. The objects are shown in 2D.
  • OpenGL Demo Application – This example is probably a demonstration of how you would start creating a computer game. The application implements a scene where you can control an animated character (Maja CAL3D). Some NPC characters that form a mob a after the player and flocking around him, so a simple gaming AI has been implemented for that purpose. The game implements textures and projected shadows to show how you can solve this problem. Mainly this part shows how to handle the stencil and z buffer and how to avoid z-fighting. Also some curves (linear, catmullrom, bezier) have been implemented, so the player follows an animation path if this option is enabled. To load the project to Visual Studio it needs to be linked to the CAL3D exporter and to the Devil Engine, which are both open source projects and available on the web.

Mobile Media Services
The provided examples are files for Mathworks Matlab. The examples will provide programs in the field of audio and video manipulation, especially for mobile devices.

  • Room Simulation -Example of how to simulate any room and make any audio file sound like it has been recorded in this room.
  • Auto-Panner – Example of a panorama effect that provides configurable stereo panorama effects and some other parameters to configure.
  • Flanger – Implementation of a mono guitar flanger/chorus effect, which can be used to modify recorded guitar samples with a modulation effect.
  • Normalizer – This example removes the offset of any audio file (stereo or mono) and normalizes the signal 0dB.
  • ImprovedMPEGEncoder – This example is an implementation of an picture encoder using MPEG1 but which has been improved to achieve better quality

Published Papers
Papers that I’ve written and which have been released by different organisations.

  • Gesture Recognition Using Machine Learning Techniques – This paper is my bachelor thesis written in German language. It focuses on gesture recognition, especially mouse gestures using various machine learning techniques. The paper shows you how you could use features to determine certain gestures. To evaluate these features or attributes I used WEKA which is a quite popular machine learning software released by an instituation of New Zealand. Additionally, I analysed the machine learning algorithms concerning their efficiency and technical feasability which addresses some issues that need to be solved when using machine learning on mobile phones.
  • Smartphones in Home Automation – This (prizewinning) paper was written for and published Symbian by to demonstrate the possibilites of smart phones to assist living especially for handicapped persons. The paper focuses on technologies that are already in use and partly available for the mass market.
  1. No comments yet.
  1. No trackbacks yet.