Twiamo is a friendship management app for Twitter. It uses metrics and keywords that allow users to quickly assess the value of other Twitter users.
Twiamo is build as a progressive web-app; a mobile-first application that feels and behaves like a native mobile app, but does not require installation or updates.
XRAW is a programming framework that allows to use any existing REST API within a JVM environment in a type-safe manner. It uses active annotations to alter the semantics of Java classes and fields to represent remote resources as if they were local data.
Twiamo comes with small excerpts of the APIs for the larger social networks Twitter, Facebook, YouTube, and Tumblr. It can easily be extended by defining types for requests and resources of more existing APIs or to create type-safe client libraries for APIs build from scratch.
XRAW is compatible with GWT and can be used for web app clients, Android, or regular desktop apps. It is open source and distributed as a maven module.
Java, Xtend, JSON, REST, Twitter, Facebook, Youtube, Tumblr, Maven
Smartphone apps and app stores are probably one of the most distruptive things in the last decade that any programmer has to try build for. I experimented with a variety of platforms and technologies. I developed and published apps and games for both iOS and Android.
LibGDX, Unity, Java, C#, Android, iOS
Increasingly complex software systems, require increasingly complext software models. Large models are traditianlly managed with SQL database persistent layers. However, SQL databases do not scale enough or are otherwiese indadequate due to the graph-like nature of software models in certain application contexts.
EMF-Fragments [ ] is a NoSQL persistent layer for EMF models. With EMF-Fragments, I explored the scalebility properties of a fragmentation-based persistence that facilitates the nature of document databases like mongoDB.
On application for these large software models is model-based mininig of source code repositories. SrcRepo [ ] uses reverse engineering to create large abstract syntax trees models of whole source code repositories comprising all branches and revisions of code.
Eclipse, EMF, Reverse Engineering, Java, Metrics, Data Mining, Statistics, MongoDB, NoSQL, Git
To understand the possibilities of wireless sensor networks for smart cities, we created and experimented with the HWL, a heteregenous 300 node wireless mesh network equipped with seismic sensors on the Humboldt University research campus in Berlin.
To manage the network, configure its software components, and process the large ammounts of different data, I developed the clickwatch framework. Clickwatch [ ] represents data, configurations, and changes in an MIT Click-driven network in a singlular visual model; allows to manage, persist, and analyse this data.
Eclipse, EMF, XML, Statistics, MongoDB, NoSQL, WIFI, Networks, Click
In contrast to general purpose computer languages, domain specific languages (DSL) are tailored for a specific application domain. While limited in scope, they adhere to the specific conventions and vocabulary of a specific domain and therefore allow for more precise, more readable, and more accessible expression. Often DSLs aspire to allow domain experts that have only a limited software engineering background to make meaningful contributions.
The Textual Editing Framework (TEF) [ ] is my contribution to the rich DSL ecosystem. In contrast to similar frameworks like Xtext, TEF allows for dynamic syntaxes that can change within a running IDE and intergates particularely well with other types of editors.
Eclipse, EMF, Xtext, GMF, Domain Modeling