Support programmers to modify their own tools.

I am a PhD student at the Hasso Plattner Institute at the University of Potsdam. I am part of the Software Architecture group led by Prof. Dr. Robert Hirschfeld. Since October 2011, I have also been part of the HPI Research School after getting my Master's degree in Software Engineering at the HPI, too.

My research activities include the area of building graphical tools for programmers, especially data-driven ones for program comprehension tasks. For this, direct manipulation concepts, dynamic analysis, and cooperation of distributed teams in agile processes play an important role. Additionally, I investigate modularity concepts with respect to critical software quality metrics such as extensibility and maintainability while reasoning about interdependencies between languages and tools.

Projects

I like programming with Squeak/Smalltalk in live programming environments where run-time is omnipresent and feedback loops are short. There was a time when I programmed in C++ with the powerful Qt framework; I am still inspired by its ideas and patterns when I design recent projects in Smalltalk. I am very much into building tools for programmers that can be adapted to concrete domains, tasks or personal preferences in situ.

Squeak 5.1 Release

project is finished · started in 06/2015 · written in Squeak/Smalltalk

squeak-balloon-logo I am an active developer for the Squeak programming environment. I was the release manager for the 5.1 release, which can be found here. Notable contributions reside in several refactorings in the Morphic GUI framework, the project architecture, and the introduction of user interface themes for all programming tools in the environment.

The VIVIDE Programming Environment

project is active · started in 03/2011 · written in Squeak/Smalltalk

vivide-logo We created a framework in Squeak/Smalltalk that promotes low-effort construction of graphical tools. Given a data-driven perspective on programming environments, we encourage programmers to script domain-specific software artifacts to create and modify interactive, graphical content.

We published this project on GitHub and shared some screencasts on vimeo. We envision that every tool user can be a tool builder given some basic programming knowledge.

Squeak Community Projects

project is pending · started in 12/2010 · written in Squeak/Smalltalk

I am an active developer in several projects that extend the traditional Squeak programming environment and that aim to support programmers' productivity as well as their creativity. Projects range from educational use to professional programming activities.

The projects' website is hosted here at the Hasso Plattner Institute.

ProjectTalk

project is finished · started in 06/2009 · written in Squeak/Smalltalk

In this project, we want to support distributed teams using agile software engineering methods such as Extreme Programming or Scrum. Basically, a huge tape manages user stories in chronological order grouped by iterations (sprints). The idea was that developers can log in to the system, take stories, work on them, finish them, track time, a.s.o. All collected data, e.g. time spent and completion state, can be shared among all developers of the distributed team.

There is a screencast on vimeo. This project is finished but more details can be found here.

CodeTalk

project is pending · started in 10/2008 · written in Squeak/Smalltalk

codetalk CodeTalk allows developers to have conversations about source code artifacts. They can mark code sections they are concerned about and annotate them. These annotations provide entry points for an informal discourse about the strengths and weaknesses of these sections and developers can work towards a conclusion on how to proceed on the raised issues.

We published the project's sources here. More details about the underlying story can be found here and here.

UltraStar Manager

project is finished · started in 03/2008 · written in C++, Qt

Official Qt Ambassador This tools supports managing songs for UltraStar, a free karaoke game. It can be downloaded via SourceForge. Its features include lyrics editing, batch renaming, cover art downloading, interactive preview, report generation, and many more.

It is quite accepted by the community. Before Nokia decided to shutdown the program, I was an Official Qt Ambassador with this project. ;-) Watch a screencast about its main features on vimeo.

yaiiit! Issue Tracker

project is finished · started in 2008 · written in Squeak/Smalltalk, HTML, CSS

This application is a web-based bug tracker written in Squeak/Smalltalk with Seaside by Alan Bränzel, Michael Grünewald, Alexander Kuscher, Max Plauth, and myself in 2008. Visually, it resembles the Trac project a little bit.

Watch a screencast about its main features on vimeo. The source code is here.

Sokobänban

project is finished · started in 2007 · written in Squeak/Smalltalk

sokobänban This game is a simple Sokoban clone for Squeak that was created during the Software Architctures lecture in 2007 by Alan Bränzel, Felix Elliger, Ralf Gehrer, Michael Grünewald, Alexander Kuscher, Christina Schwendy, and myself. It was used to be named Sokobänle according to the Swabian dialect of one of the team members. ;-)

An OLPC XO Squeak port available here.

Posters

poster1 poster2 poster3

poster4 poster5 poster6

Publications

This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Talks

2016

2015

2014

2013

2012

2011

Curriculum Vitae

Professional Preparation

PeriodInstitutionDegree
Since 2011Hasso Plattner Institute
University of Potsdam
Ph.D. Student
2006-2011Hasso Plattner Institute
University of Potsdam
B.Sc. / M.Sc. Software Engineering

Appointments

PeriodEmployerJob TitleActivities
Since 2011Hasso Plattner InstituteResearch AssistantResearch and teaching on Programming Languages, Tools, and Environments
2009‑2011Hasso Plattner InstituteStudent Research AssistantDesign and development of research prototypes for Design Thinking, Agile Development, and Collaboration

Teaching

2016/17 History of programming languages BA seminar
Software engineering 1 BA course (topics: refactoring)
2015/16 Programming language concepts, tools, and environments MA seminar
Introduction to Programming Techniques 1 BA course (topics: Java, Eclipse)
Software architectures BA course (topics: modularity, design patterns)
Module systems MA seminar
Aspect-oriented programming BA seminar
Software engineering 1 BA course (topics: refactoring)
2014/15 Context-oriented Programming MA seminar
Programming language concepts BA seminar
Self-sustaining systems MA seminar
Software architectures BA course (topics: modularity, design patterns)
Software engineering 1 BA course (topics: refactoring)
2013/14 Interactive Representations of Data Structures and Algorithms MA seminar
Introduction to Programming Techniques 1 BA course (topics: Java, Eclipse)
Software architectures BA course (topics: modularity, design patterns)
Software engineering 1 BA course (topics: refactoring)
2012/13 Acceptability-oriented programming MA seminar
Advanced modularity BA/MA seminar
Advanced modularity concepts BA seminar
Module systems MA seminar
Programming language concepts, tools, and environments MA seminar
Software architectures BA course (topics: modularity, design patterns)
Software engineering 1 BA course (topics: refactoring)
2011/12 Aspect-oriented programming BA seminar
Software architectures BA course (topics: modularity, design patterns)

Co-supervised Bachelor Theses

Co-supervised Master Theses

Scientific Community Participation

2016 Programming Committee member for PX 2016 (Programming Experience)
Reviewer for OpenSym 2016 (Open Collaboration)
Reviewer for LASSY 2016 (Live Adaptation of Software Systems)
Reviewer for ENASE 2016 (Evaluation of Novel Approaches to Software Engineering)
2015 Reviewer for OOPS @ SAC 2015 (Symposium on Applied Comuting)
Reviewer for DLS 2015 (Dynamic Languages Symposium)
Reviewer for GI-DEC 2015 (Gesellschaft für Informatik - Digital Enterprise Computing)
Reviewer for MODULARITY 2015 (Modularity Visions Track)
2014 Reviewer for DLS 2014 (Dynamic Languages Symposium)
Reviewer for Onward! Essays 2014 @ SPLASH 2014 (Systems, Programming, Languages and Applications: Software for Humanity)
Reviewer for EST 2014 (Experimental Software and Toolkits in Elsevier Journal Science in Computer Programming)
Reviewer for GI-IT 2014 (Gesellschaft für Informatik - Informatiktage)
Reviewer for SEI 2014 (Software Engineering Ideen)
Reviewer for CSMR-WCRE 2014 (Conference on Software Maintenance and Reengineering, Working Conference on Reverse Engineering)
2013 Reviewer for CSC 2013 (International Conference on Cloud and Service Computing)
Reviewer for DLS 2013 (Dynamic Languages Symposium)
Reviewer for WASDeTT 2013 (International Workshop on Academic Software Development Tools and Techniques)
Reviewer for OOPSLA @ SPLASH 2013 (Systems, Programming, Languages and Applications: Software for Humanity)
Reviewer for ECOOP 2013 (European Conference on Object-oriented Programming)
Reviewer for AOSD 2013 (MODULARITY: aosd'13)
2012 Reviewer for DLS 2012 (Dynamic Languages Symposium)
Reviewer for Coordination 2012 (International Conference on Coordination Models and Languages)
Designer of the Conference Guide for AOSD 2012 (MODULARITY: aosd'12)
Reviewer for ECOOP 2012 (European Conference on Object-oriented Programming)

Collaborations and Other Affiliations

Publications (more)

Talks (more)