Blog

This is a listing of documents I have written in the last few years. Most are technical, such as my bachelor’s and master’s thesis, or about Java. There are also my impressions of my internship with Accenture in Bangalore and my travel to Indonesia, Malaysia and Singapore.

English:

Master thesis: Scalability for IoT Cloud Services

The Internet of Things (IoT) is envisioned as a global network of billions of smart devices which presumably are going to communicate over the CoAP protocol. I redesigned the prototype of the CoAP framework Californium from scratch with a focus on scalability over multiple CPU cores. I provide an in-depth comparison of CoAP and (the predominant application protocol) HTTP and show that the new version of Californium easily outperforms five state-of-the-art HTTP servers.

Bachelor thesis: Actinium: An App Server for the Smart Home

In a smart home, smart devices are connected to the network and accessible over the new upcoming CoAP protocol. I developed a server on which one can install JavaScript apps that manage and monitor smart devices. The server is based on a first prototype of the CoAP framework Californium and uses Rhino to execute JavaScript apps.

Model-View-Controller (MVC) Pattern in Bomberman

„Model-View-Controller“ is the predominant design pattern for Java/Swing Applications. Tutorials found on the Web are typically kept minimal and lack a real-world-project-sized demonstration. This article discusses the MVC implementation in Bomberman, where the model and view each consists of about 25 classes.

Truly Platform Independent Java Applets

There exist several ways how a Java application can load resources such as images or sound. Finding a simple loading procedure that works everywhere – in Eclipse, in any operating system and in any web browser – can be tedious though. This article describes my preferred way, which does work everywhere.

ImagIn

ImagIn encodes data within an image while preserving the most significant part of it. The resulting image can be sent to another person who then can separate the date again using ImagIn. ImagIn was a Scala project written in the course Multimedia Communications at ETH Zürich. This report evaluates ImagIn.

ScaleCompress

ScaleCompress is a three-step image compression algorithm. First, it scales the image down, second, reduces the count of bits representing a single pixel and last applies runlength encoding. ScaleCompress was a Matlab project written in the course Computational Intelligence Lab at ETH Zürich (In collaboration with David Itten and Daniel Schweizer).

Deutsch:

Reise durch Indonesien, Malaysia und Singapur 2014

Im Januar 2014 machte ich eine zweimonatige Reise in Südostasien. Von der Insel Java aus reiste ich zunächst in Richtung Osten und kam über Bali bis zu den Gili Islands. Als nächstes flog ich nach Kalimantan und nach dem Besuch im Tanjung Puting Nationalpark nach Sumatra. Von dort ging es weiter nach Kuala Lumpur, die Hauptstadt Malaysias und zuletzt mit dem Zug nach Singapur.

Internship bei Accenture in Bangalore 2010

Im Sommer 2010 arbeitete ich für 3 Monate in Bangalore (Indien) bei Accenture in einem Internship. Hier aufgelistet sind meine E-mails nach Hause in die Schweiz, die meine vielen Eindrücke, spannenden Erlebnisse und grossartigen Erfahrungen widerspiegeln. Die E-mails sind in Schweizer Deutsch verfasst.

Aufruf von setLocation dauert länger in JApplets als in JFrames

Die Laufzeit für den Aufruf der Methode setLocation(x,y) auf Swing Komponenten die in einem JApplet liefen, dauert länger als wenn sie in einem JFrame liegen. Dies hat nichts mit dem zeichnen zu tun, sondern das Setzen neuer x- und y-Koordinaten dauert unterschiedlich lange.

Maturarbeit: Simulationen auf der Kugel: Anordnungen von Punkten und Energieberechnungen

Die optimale Verteilung von einer beliebigen Anzahl Punkten über eine Kugeloberfläche, so dass die Abstände zwischen ihnen möglichst gross sind, ist ein ungelöstes Problem der Mathematik. In dieser Arbeit präsentieren wir zwei Algorithmen um eine numerische Lösung zu finden.