Support programmers to modify their own tools.
I am a post-doc researcher at the Hasso Plattner Institute at the University of Potsdam. I am part of the Software Architecture group led by Prof. Dr. Robert Hirschfeld. In early 2020, I received a doctorate degree for my work on Data-driven tool construction in exploratory programming environments. From 2014 to 2022, I participated in the Design Thinking Research Program to investigate interactions between Design Thinking and exploratory programming practices.
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 in the Squeak/Smalltalk live and exploratory programming environment, where run-time information is omnipresent and feedback loops can be very short. I have experience with C++ and the Qt framework; I am still inspired by its ideas and patterns when I design recent projects in Smalltalk. I am interesting in building tools for programmers that can be adapted to concrete domains, tasks or personal preferences on the fly. More recent experiences cover contributions to the Windows platform code of the OpenSmalltalk VM, which is written in Slang (a Smalltalk subset) and C.
OpenSmalltalk VM
project is active · started in 01/2020 · written in C, Smalltalk
For more information visit the repository on GitHub.
My focus is on the Windows platform support and the Threaded FFI plugin. For my projects, the VM's main application is the Squeak/Smalltalk image (or system). FFI-related projects include an updated OpenGL/GLFW interface for Squeak.
Squeak 6.0 Release
project is finished · started in 11/2021 · written in Squeak/Smalltalk
I am an active developer for the Squeak programming system. For the 6.0 release, I contributed better support for TrueType fonts and high-resolution displays. The release can be found here. The release notes are here.
Squeak 5.3 Release
project is finished · started in 12/2019 · written in Squeak/Smalltalk
I am an active developer for the Squeak programming system. For the 5.3 release, I actively supported the release manager Hannes Hirzel. The release can be found here. Notable contributions include writing release notes and refactoring the enumeration of code literals in preparation of SistaV1.
Squeak 5.1 Release
project is finished · started in 06/2015 · written in Squeak/Smalltalk
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 Squeak Shell
project is active · started in 02/2016 · written in Squeak/Smalltalk
There is a mechanism in Squeak that supports having multiple graphics frameworks running. At the time of writing, there was the older Model-View-Controller (MVC) framework and the new Morphic. That mechanism is called Projects. I used it to create a minimal command-line interface: the Squeak Shell. It can be used to replace Morphic or MVC when debugging self-inflicting bugs or when developing native Squeak/Smalltalk applications.
We published a paper about the process of bootstrapping new GUI frameworks in such self-supporting programming environments.
You can install the Squeak Shell in Squeak 5.1 by evaluating the following code snippet in a workspace:
Installer swa
project: 'SqueakShell';
install: 'SqueakShell'.
Maintenance of Squeak's Morphic Framework
project is active · started in 06/2014 · written in Squeak/Smalltalk
I do like the way of programming in Squeak with Smalltalk. This includes the interactive means of Morphic to compose and debug graphical applications. Yet, there have been many deficiencies accumulated in the source code, especially when comparing it with frameworks for other programming languages.
I started to look into the code with the goal to make the programming interface more consistent while fixing (serious) bugs along the way. New features that turned out to be valuable, even for the programming experience in Smalltalk, are on my list as well.
In Squeak 5.1, for example, I traced down a severe bug in Morphic's layouting code. I also refactored the input event dispatching code and introduced event filters to improve the implementation of cross-platform keyboard shortcuts. Unfortunately, Morphic's code base is poorly tested and there is much room for improvement. In this process, the Squeak community is really valuable to collect feedback and further improve the code. The latest efforts include user interface themes and hence the option to make tools fit your colorful programming needs.
The VIVIDE Programming Environment
project is active · started in 03/2011 · written in Squeak/Smalltalk
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' original website is hosted here at the Hasso Plattner Institute. More recent updates on the projects and the source code can be found at GitHub.
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 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
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
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
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.
2024
- Marcel Taeumel, Jens Lincke, Robert Hirschfeld. Unanticipated Progress Indication: Continuous Responsiveness for Courageous Exploration. In Proceedings of the 10th Programming Experience Workshop (PX), co-located with <Programming> 2024, 7 pages, Lund University, Lund, Sweden, March 11, 2024, ACM DL (to appear). (draft)
- Leon Matthes, Marcel Taeumel, Eliot Miranda, Robert Hirschfeld. Multi-threaded OpenSmalltalk VM: Choosing a Strategy for Parallelization In Proceedings of the 10th Programming Experience Workshop (PX), co-located with <Programming> 2024, 7 pages, Lund University, Lund, Sweden, March 11, 2024, ACM DL (to appear). (draft)
2023
- Christoph Thiede, Marcel Taeumel, Robert Hirschfeld. Time-awareness in Object-exploration Tools: Toward In Situ Omniscient Debugging. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2023, co-located with SPLASH, pages 89-102, Cascais, Portugal, October 22-23, 2023, ACM. (doi, pdf)
- Tom Braun, Marcel Taeumel, Eliot Miranda, Robert Hirschfeld. Transpiling Slang Methods to C Functions: An Example of Static Polymorphism for Smalltalk VM Objects. In Proceedings of the Workshop on Virtual Machines and Language Implementations (VMIL) 2023, co-located with SPLASH, pages 88-93, Cascais, Portugal, October 22-23, 2023, ACM. (doi, pdf)
- Marcel Taeumel, Patrick Rein, Jens Lincke, Robert Hirschfeld. How to Tame an Unpredictable Emergence? Design Strategies for a Live-Programming System. In Design Thinking Research: Innovation - Insight - Then and Now, pages 149-166. 2023, Springer. (doi, pdf)
- Christoph Thiede, Marcel Taeumel, Robert Hirschfeld. Object-centric Time-Travel Debugging: Exploring Traces of Objects. In Proceedings of the 9th Programming Experience Workshop (PX), co-located with <Programming> 2023, pages 54-60, The University of Tokyo, Tokyo, Japan, March 14, 2023, ACM. (doi, pdf)
2022
- Marcel Taeumel, Robert Hirschfeld. Relentless Repairability or Reckless Reuse: Whether or Not to Rebuild a Concern With Your Familiar Tools and Materials. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2022, co-located with SPLASH, pages 185-194, Auckland, New Zealand, December 5-10, 2022, ACM. (doi, pdf)
- Leonard Geier, Clemens Tiedt, Tom Beckmann, Marcel Taeumel, Robert Hirschfeld. Toward a VR-native Live Programming Environment. In Proceedings of the Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments (PAINT) 2022, co-located with OOPSLA 2022, pages 26-34, Auckland, New Zealand, December 5-10, 2022, ACM. (doi, pdf)
- Marcel Taeumel, Jens Lincke, Patrick Rein, Robert Hirschfeld. A Pattern Language of an Exploratory Programming Workspace. In Design Thinking Research: Achieving Real Innovation, pages 111-145. 2022, Springer. (doi, pdf)
2021
- Marcel Taeumel, Patrick Rein, Robert Hirschfeld. Toward Patterns of Exploratory Programming Practice. In Design Thinking Research: Translation, Prototyping, and Measurement, pages 127-150. 2021, Springer. (doi, pdf)
- Marcel Taeumel, Robert Hirschfeld. Exploring Modal Locking in Window Manipulation: Why Programmers Should Stash, Duplicate, Split, and Link Composite Views. In Proceedings of the 7th Programming Experience Workshop (PX), co-located with <Programming> 2021, 7 pages, Online/Virtual, United Kingdom, March 23, 2021, ACM. (doi, pdf)
2020
- Patrick Rein, Marcel Taeumel, Robert Hirschfeld. Towards a Theory of Factors That Influence Text Comprehension of Code Documents. In Design Thinking Research: Interrogating the Doing, pages 307-325. 2020, Springer. (doi)
- Leon Bein, Tom Braun, Björn Daase, Elina Emsbach, Leon Matthes, Maximilian Stiede, Marcel Taeumel, Toni Mattis, Stefan Ramson, Patrick Rein, Robert Hirschfeld, Jens Mönig. SandBlocks: Integration visueller und textueller Elemente in Live-Programmiersysteme. 2020, Hasso Plattner Institut. (pdf)
- Marcel Taeumel. Data-driven Tool Construction in Exploratory Programming Environments. PhD Thesis. 2020, University of Potsdam. (pdf)
2019
- Tom Beckmann, Justus Hildebrand, Corinna Jaschek, Eva Krebs, Alexander Löser, Marcel Taeumel, Tobias Pape, Lasse Fister, Robert Hirschfeld. The Font Engineering Platform: Collaborative Font Creation in a Self-supporting Programming Environment. 2019, Hasso Plattner Institute. (pdf)
- Patrick Rein, Marcel Taeumel, Robert Hirschfeld. Towards Empirical Evidence on the Comprehensibility of Natural Language Versus Programming Language. In Design Thinking Research: Investigating Design Team Performance, pages 111-131. 2019, Springer. (doi)
2018
- Patrick Rein, Marcel Taeumel, Robert Hirschfeld. Towards Exploratory Software Design Environments for the Multi-disciplinary Team. In Design Thinking Research: Looking Further: Design Thinking Beyond Solution-Fixation, pages 229-247. 2018, Springer. (doi, pdf)
- Robert Hirschfeld, Tobias Dürschmid, Patrick Rein, Marcel Taeumel. Cross-cutting Commentary: Narratives for Multi-party Mechanisms and Concerns. In Proceedings of the 10th International Workshop on Context-oriented Programming 2018, co-located with ECOOP 2018, pages 39-47, Amsterdam, The Netherlands, July 16, 2018, ACM. (doi, pdf)
- Jakob Reschke, Marcel Taeumel, Tobias Pape, Fabio Niephaus, Robert Hirschfeld. Towards Version Control in Object-based Systems. 2018, Hasso Plattner Institute. (pdf)
- Fabio Niephaus, Tim Felgentreff, Tobias Pape, Robert Hirschfeld, Marcel Taeumel. Live Multi-language Development and Runtime Environments. In Journal on The Art, Science, and Engineering of Programming, vol. 2, no. 3, art. 8, 30 pages, 2018. (doi, pdf)
2017
- Jens Lincke, Stefan Ramson, Patrick Rein, Robert Hirschfeld, Marcel Taeumel, Tim Felgentreff. Designing a Live Development Experience for Web Components. In Proceedings of the 3rd Programming Experience Workshop (PX), co-located with OOPSLA 2017, pages 28-35, Vancouver, British Columbia, Canada, October 22, 2017, ACM. (doi, pdf)
- Patrick Rein, Marcel Taeumel, Robert Hirschfeld. Making the Domain Tangible: Implicit Object Lookup for Source Code Readability. In Design Thinking Research: Making Distinctions: Collaboration versus Cooperation, pages 171-194. 2017, Springer. (doi, pdf)
- Patrick Rein, Marcel Taeumel, Robert Hirschfeld, Michael Perscheid. Exploratory Development of Data-intensive Applications: Sampling and Streaming of Large Data Sets in Live Programming Environments. In Proceedings of the 2nd Programming Experience Workshop (PX), co-located with <Programming> 2017, pages 1-11, Brussels, Belgium, April 3, 2017, ACM. (doi)
- Marcel Taeumel, Stephanie Platz, Bastian Steinert, Robert Hirschfeld. Unravel Programming Sessions with THRESHER: Identifying Coherent and Complete Sets of Fine-granular Source Code Changes. In Journal of the Japan Society for Software Science and Technology (JSSST) on Computer Software, vol. 34, no. 1, pages 103-118, 2017, Japan. (doi)
2016
- Patrick Rein, Robert Hirschfeld, Marcel Taeumel. Gramada: Immediacy in Programming Language Development. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2016, co-located with OOPSLA 2016, pages 165-179, Amsterdam, Netherlands, October 30 - November 4, 2016, ACM. (doi, pdf)
- Fabio Niephaus, Dale Henrichs, Marcel Taeumel, Tobias Pape, Tim Felgentreff, Robert Hirschfeld. smalltalkCI: A Continuous Integration Framework for Smalltalk Projects. In Proceedings of the 2016 International Workshop on Smalltalk Technologies, Prague, Czech Republic, August 23, 2016. (doi, pdf)
- Marcel Taeumel, Robert Hirschfeld. Evolving User Interfaces From Within Self-sustaining Programming Environments: Exploring the Project Concept of Squeak/Smalltalk to Bootstrap UIs. In Proceedings of the 1st Programming Experience Workshop (PX), co-located with ECOOP 2016, pages 43-59, Rome, Italy, July 18, 2016, ACM. (doi, pdf)
- Astrid Thomschke, Daniel Stolpe, Marcel Taeumel, Robert Hirschfeld. Towards Gaze Control in Programming Environments. In Proceedings of the 1st Programming Experience Workshop (PX), co-located with ECOOP 2016, pages 27-32, Rome, Italy, July 18, 2016, ACM. (doi, pdf)
- Marcel Taeumel, Robert Hirschfeld. Making Examples Tangible: Tool Building for Program Comprehension. In Design Thinking Research: Taking Breakthrough Innovation Home, pages 161-182. 2016, Springer. (doi, pdf)
- Philipp Otto, Jaqueline Pollak, Daniel Werner, Felix Wolff, Bastian Steinert, Lauritz Thamsen, Marcel Taeumel, Jens Lincke, Robert Krahn, Daniel H. H. Ingalls, Robert Hirschfeld. Exploratory Authoring of Interactive Content in a Live Environment. 2016, Hasso Plattner Institute. (pdf)
- Michael Perscheid, Benjamin Siegmund, Marcel Taeumel, Robert Hirschfeld. Studying the Advancement in Debugging Practice of Professional Software Developers. In Software Quality Journal, pages 1-28. 2016, Springer. (doi, pdf)
2015
- Marcel Taeumel. Leveraging Programmers' Skills: Interleaving of Modification and Use in Data-driven Tool Development. In Proceedings of the 8th Ph.D. Retreat of the HPI Research School on Service-oriented Systems Engineering, pages 191-202. 2015, Hasso Plattner Institute. (pdf)
- Eva‐Maria Herbst, Fabian Maschler, Fabio Niephaus, Max Reimann, Julia Steier, Tim Felgentreff, Jens Lincke, Marcel Taeumel, Robert Hirschfeld, Carsten Witt. ecoControl - Design and Implementation of a Prototype for Optimizing Heterogeneous Energy Systems in Multi-family Residential Buildings. 2015, Hasso Plattner Institute. (pdf)
2014
- Benjamin Siegmund, Michael Perscheid, Marcel Taeumel, and Robert Hirschfeld. Studying the Advancement in Debugging Practice of Professional Software Developers. In Proceedings of the 5th International Workshop on Program Debugging 2014, co-located with ISSRE 2014, Naples, Italy, November 3, 2014, IEEE. (pdf)
- Marcel Taeumel, Michael Perscheid, Bastian Steinert, Jens Lincke and Robert Hirschfeld. Interleaving of Modification and Use in Data-driven Tool Development. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2014, co-located with OOPSLA 2014, pages 185-200, Portland, Oregon, USA, October 20-24, 2014, ACM. (doi, video, pdf)
- Marcel Taeumel, Tim Felgentreff, and Robert Hirschfeld. Applying Data-driven Tool Development to Context-oriented Languages. In Proceedings of the 6th International Workshop on Context-oriented Programming 2014, co-located with ECOOP 2014, 7 pages, Uppsala, Sweden, July 29, 2014, ACM. (doi, video, pdf)
- Marcel Taeumel. No Tools But Objects: Towards Direct Manipulation Programming Environments. In Proceedings of the 7th Ph.D. Retreat of the HPI Research School on Service-oriented Systems Engineering, pages 161-172. 2014, Hasso Plattner Institute. (pdf)
2013 and earlier
- Marcel Taeumel. Interleaving Programming Tasks: Challenges for Interruption Handling in Programming Environments. In Proceedings of the 6th Ph.D. Retreat of the HPI Research School on Service-oriented Systems Engineering, pages 179-190. 2013, Hasso Plattner Institute. (pdf)
- Bastian Steinert, Marcel Taeumel, Damien Cassou, and Robert Hirschfeld. Adopting Design Practices for Programming. In Design Thinking Research: Measuring Performance in Context, pages 247-262. 2012, Springer. (pdf, doi)
- Marcel Taeumel, Bastian Steinert, and Robert Hirschfeld. The VIVIDE Programming Environment: Connecting Run-time Information with Programmers' System Knowledge. In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2012, co-located with OOPSLA 2012, pages 117-126, Tucson, Arizona, USA, October 19-26, 2012, ACM. (pdf, doi)
- Bastian Steinert, Marcel Taeumel, Jens Lincke, Tobias Pape, Robert Hirschfeld. CodeTalk-Conversations About Code. In Proceedings of the 8th International Conference on Creating, Connecting and Collaborating through Computing (C5) 2010, pages 11-18, San Diego, California, USA, January 25-27, 2010, IEEE. (pdf)
Talks
2024
- Unanticipated Progress Indication: Continuous Responsiveness for Courageous Exploration. Writer's Workshop PX/24. March 11, 2024.
2023
- 🙈
2022
- Relentless Repairability or Reckless Reuse: Whether or Not to Rebuild a Concern with Your Familiar Tools and Materials. Conference Onward! Essays. December 7, 2022. (video)
- Software Design in an Exploratory Culture: A Review and Outlook of How Programmers Benefit From Design Thinking and Agile Methods. HPDTRP Community Building Workshop. September 14, 2022.
- Software Design in an Exploratory Culture III: Toward a Pattern Language to Discover, Learn, and Communicate Exploratory Programming Practices. HPDTRP Community Building Workshop. May 24, 2022.
2021
- Exploring Modal Locking in Window Manipulation: Why Programmers Should Stash, Duplicate, Split, and Link Composite Views. Writer's Workshop PX/21. March 23, 2021.
- Software Design in an Exploratory Culture II: Toward a Pattern Language to Discover, Learn, and Communicate Exploratory Programming Practices. HPDTRP Community Building Workshop. March 15, 2021.
2020
- Live and Exploratory Programming in the Squeak/Smalltalk System. Live Tutorial co-located with ECOOP 2020. November 20, 2020.
- Exploratory Program Design: Supporting Creativity Challenges Through Agile Methods and Design Thinking. Invited talk for the Robot Challenge, co-located with the Asia Pacific Conference on Robot IoT System Development and Platform (APRIS 2020). November 11, 2020.
- Using Squeak/Smalltalk and the VIVIDE Environment for Live Gait Analysis. Live Demonstration for Lin Zhou and Justin Albert from HPI Digital Health Center at our group. October 9, 2020.
- Software Design in an Exploratory Culture: Toward a Pattern Language to Discover, Learn, and Communicate Exploratory Programming Practices. HPDTRP Community Building Workshop. September 8, 2020.
- Live and Exploratory Programming in Squeak/Smalltalk. Joint Seminar Tokyo University and Hasso Plattner Institute. July 3, 2020.
- Software Design in an Exploratory Culture: Toward a Pattern Language to Discover, Learn, and Communicate Exploratory Programming Practices. HPDTRP Community Building Workshop. May 18, 2020.
2019
- The Squeak/Smalltalk System and the VIVIDE Tool Building Environment. Live Demonstration for Prof. Bert Arnrich from HPI Digital Health Center at our group. November 14, 2019.
- The Squeak/Smalltalk System and the VIVIDE Tool Building Environment. Live Demonstration for Shriram Krishnamurthi from Brown University at our group. March 25, 2019.
- How to Guide the Discovery and Training of Exploratory Practices? Invited Talk at Shonan Seminar No. 147 in Shonan Village Center, Japan. February 25, 2019.
2018
- The VIVIDE Tool Building Environment. Live Demonstration for Jens Mönig from SAP Research at our group. December 5, 2018.
- The VIVIDE Tool Building Environment. Live Demonstration for Luke Church and Mariana Mărășoiu from University of Cambridge at our group. July 18, 2018.
- The Squeak/Smalltalk System and the VIVIDE Tool Building Environment. Live Demonstration for an SAP Information Day at our group. May 16, 2018.
- The VIVIDE Tool Building Environment. Live Demonstration for Stephan Eggermont from Roche Berlin at our group. April 19, 2018.
- Data-driven Tool Building for Domain-specific Program Comprehension. Invited Talk at the REVEAL Group (USI) in Lugano, Switzerland. March 23, 2018.
- The VIVIDE Programming Environment. Live Demonstration for Clément Béra at our group. March 5, 2018.
- Data-driven Tool Building for Exploratory Programming and Comprehension. Invited Talk at the Software Languages Lab (VUB) in Brussels, Berlgium. February 1, 2018.
- Data-driven Tool Building for Exploratory Programming and Comprehension. Invited Talk at the RELEASeD Laboratory (UCL) in Louvain-la-Neuve, Belgium. January 31, 2018.
2017
- Long-term Archiving of Information. Moderated Discussion at annual Squeak Deutschland e.V. meeting with Bernd Kulawik at our group. October 14, 2017.
- The VIVIDE Tool Building Environment. Live Demonstration for Dale Henrichs from GemTalk Systems at our group. September 9, 2017.
- The VIVIDE Tool Building Environment. Live Demonstration for Object Group Berlin. September 18, 2017.
- The VIVIDE Tool Building Environment. Live Demonstration for Roland Fassauer from Fadelia GmbH at our group. February 23, 2017.
2016
- Evolving User Interfaces From Within Self-sustaining Programming Environments: Exploring the Project Concept of Squeak/Smalltalk to Bootstrap UIs. Writer's Workshop PX/16. July 18, 2016.
- Towards Gaze Control in Programming Environments. Writer's Workshop PX/16. July 18, 2016.
- Managing Steep Learning Curves in Controlled Experiments. HPDTRP Community Building Workshop. March 7, 2016.
2015
- Creating and Using Ad-hoc Visualization in Programming Tools. HPI Research School Fall Workshop. October 15, 2015. Joint talk with Sebastian Hahn.
- The Challenges of Designing Tool Building Tasks for Controlled Experiments HPDTRP Community Building Workshop. September 9, 2015.
- Encourage Programmers to Build Graphical Tools for Improving Program Exploration and Modification Activities. HPI Research School Spring Workshop. April 17, 2015.
- Adaptable Programming Tools: Explore Examples to Understand Abstractions. HPDTRP Community Building Workshop. March 12, 2015.
2014
- Studying the Advancement in Debugging Practice of Professional Software Developers. IWPD @ ISSRE'14. November 3, 2014.
- Interleaving of Modification and Use in Data-driven Tool Development. Conference Onward!'14. October 24, 2014.
- Interleaving of Modification and Use in Data-driven Tool Development. HPI Research School Fall Workshop. October 16, 2014.
- Examples Over Abstractions: Exemplar-based Program Exploration. HPDTRP Community Building Workshop. September 9, 2014.
- Applying Data-driven Tool Development to Context-oriented Languages. COP @ ECOOP'14. July 29, 2014.
- Interleaving of Modification and Use in Data-driven Tool Development. Annual HPI Symposium on Future Trends in Service-oriented Computing. June 26, 2014. (video)
- Interleaving of Modification and Use in Dataflow-driven Tool Development. Joint Workshop of HPI Research School and University of Cape Town. April 14, 2014.
- Interleaving of Modification and Use in Dataflow-driven Tool Development. HPI Research School Spring Workshop. April 4, 2014.
2013
- Accessing Task-specific Relationships Between Software Artifacts In Situ. Annual HPI Symposium at SAP headquarters in Walldorf. December 16, 2013.
- Accessing Task-specific Relationships Between Software Artifacts In Situ. Sino-German Workshop at Nanjing University. November 25, 2014.
- Adaptable Object Browsers: Accessing Task-specific Relationships Between Software Artifacts In Situ. HPI Research School Fall Workshop. October 17, 2013.
- Concurrent Programming Activities in Integrated Programming Environments. Joint Workshop of DFG Research Training Groups at Dagstuhl. May 27, 2013.
- Concurrent Programming Activities in Integrated Programming Environments. HPI Research School Spring Workshop. April 12, 2013.
2012
- Direct Manipulation Interfaces. HPI Research School Doctorial Seminar. Presentation of related work. November 28, 2012.
- Interleaving Programming Tasks: Challenges for Interruption Handling in Programming Environments. Sino-German Workshop at Nanjing University. November 22, 2012.
- The VIVIDE Programming Environment: Connecting Run-time Information with Programmers' System Knowledge. Conference Onward!'12. October 24, 2012.
- Interleaving Programming Tasks: Challenges for Interruption Handling in Programming Environments. HPI Research School Fall Workshop. October 18, 2012.
- Connecting Run-time Information with Programmers' System Knowledge. HPI Research School Spring Workshop. April 20, 2012.
- Vivide: Interactive Access to Run-time Information in an Integrated Programming Environment. ESCOT @ AOSD'12. March 26, 2012.
2011
- Interactive Access to Run-time Information in Integrated Programming Environments. Joint Seminar Tokyo University and Hasso Plattner Institute. December 21, 2011.
- Interactive Access to Run-time Information in Integrated Programming Environments. HPI Research School Doctorial Seminar.. November 16, 2011.
- Supporting Program Design: Adopting Design Practices. HPDTRP Community Building Workshop. June 3, 2011.
Curriculum Vitae
There is a one-pager as PDF from June 28, 2021.
Professional Preparation
Period | Institution | Degree |
---|---|---|
2011‑2020 | Hasso Plattner Institute University of Potsdam | Dr. rer. nat. (dissertation) |
2006‑2011 | Hasso Plattner Institute University of Potsdam | B.Sc. / M.Sc. Software Engineering |
Professional Appointments
Period | Employer | Job Title | Activities |
---|---|---|---|
Since 2020 | Hasso Plattner Institute | Post-doc Researcher | Research and teaching on Exploratory Programming Practices |
2011‑2020 | Hasso Plattner Institute | Research Assistant | Research and teaching on Programming Languages, Tools, and Environments |
2009‑2011 | Hasso Plattner Institute | Student Research Assistant | Design and development of research prototypes for Design Thinking, Agile Development, and Collaboration |
Other Appointments
- Member of the Squeak Oversight Board (since 2015)
- First chairman of the Squeak Deutschland e.V. (since Q4 2016)
- Release manager for Squeak 5.1 (Q2-Q3 2016)
- Co-Release manager for Squeak 5.3 (Q4 2019 - Q1 2020)
- Release manager for Squeak 6.0 (Q4 2021 - Q2 2022)
- Release manager for OpenSmalltalk VM (since 2022)
Teaching
2024/25 |
Software Design MA seminar Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2023/24 |
Future of Programming MA seminar Software architectures BA course (topics: modularity) · Programming Experience MA seminar |
2022/23 |
Advanced Programming Tools MA seminar Software architectures BA course (topics: modularity) · Reverse Engineering MA seminar Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2021/22 |
Software architectures BA course (topics: modularity) · Live Programming MA seminar Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2020/21 |
Programming Languages: Concepts, Tools, and Environments MA seminar Software architectures BA course (topics: modularity) · Hardware Acceleration for Interactive, High-quality Graphics in Live Programming Environments MA project Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2019/20 |
Software architectures BA course (topics: modularity) · Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2018/19 |
Introduction to Programming Techniques 1 BA course (topics: Java, Eclipse) Software architectures BA course (topics: modularity) · Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2017/18 |
Software architectures BA course (topics: modularity) · Programming Languages, Concepts, Tools, Environments MA seminar Software engineering 1 BA course (topics: refactoring, refactoring to patterns) |
2016/17 |
Software modularity BA seminar Software architectures BA course (topics: modularity) · 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 Software architectures BA course (topics: modularity, design patterns) · Self-sustaining systems MA seminar 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 |
Recognizing Cross-cutting Concerns by Revealing Task Contexts MA project Advanced modularity MA seminar Module systems MA seminar Software architectures BA course (topics: modularity, design patterns) · Programming language concepts, tools, and environments MA seminar Acceptability-oriented programming MA seminar 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
- SandBlocks: Integration visueller und textueller Elemente in Live-Programmiersysteme. 2018-2019
- Erweiterung einer textuellen Programmiersprache um visuelle Elemente - Vorstellung eines Konzepts heterogener Programmierung. Elina Emsbach.
- SandBlocks: Integration grafischer, ausführbarer Objekte in die Live-Programmierumgebung Squeak/Smalltalk. Maximilian Stiede.
- Erweiterung eines textorientierten Compilers für die Verarbeitung visueller Programmelemente. Björn Daase.
- Objekte serialisieren und austauschen: Heterogener, visueller Programmcode in Squeak/Smalltalk. Leon Matthes.
- Konzepte zur Entwicklung einer visuellen Sprache zur Beschreibung und Anwendung von Softwareentwurfsmustern am Beispiel es Observers in Squeak/Smalltalk. Tom Braun
- Visuelle Codierung nichtlineraren Programmflusses mithilfe des Sandblocks-Systems. Leon Bein.
- The Font Engineering Toolkit: Live Font Creation in a Self-supporting Programming Environment. 2016-2017
- GlyphHub: Improving Font Reviews Through Design and Implementation of a Review Tool for Font Designers. Justus Hildebrand.
- Iterative Software Prototyping. Corinna Jaschek.
- Viability of Complex Font Rendering in Live Environments. Eva Krebs.
- Live Glyph Editing in a Live Environment. Alexander Löser.
- Considerate Code Generation in Live User Interface Design. Tom Beckmann.
- Nemo: Example-driven Exploration of Dynamically-typed Programming Environments. 2014-2015
- Source Code Exploration and Completion using Markov Chains. Johanna Sophia Appel.
- Automatic Type Detection of Source Code Fragments for Generating Suggestions in Dynamically-typed Programming Systems. Leo Selig.
- Pragmatic Methods for Handling Source Code Execution with Side-effects in Dynamically-typed Programming Systems. Daniel Stolpe.
- ecoControl: Efficient Energy Management for Heterogeneous Energy Systems. 2013-2014
- Simulation of Energy Systems. Fabian Maschler.
- User Studies for the Development of ecoControl. Julia Steier.
- Development of ecoControl. Eva-Maria Herbst.
- Prediction and Optimization of energy systems. Max Reimann.
- Forecast and Optimization of Energy Systems. Fabio Niephaus.
- Touchquery: Touch Programming for Pictographic Expression Languages. 2012-2013.
- Overview and Evaluation. Ferderick Schulze.
- Interacting with J Programs on Tablets. Alexander Ernst.
- Comprehending J Programs in a Mobile, Tile-based Touch-IDE through Embedding Runtime Information in the Source Code. Willi Müller.
- Evaluating Touchquery by Example: A Comparison of Query Programming Applications on Tablet Computers. Bastian Kruck.
- Generating Abstract Syntax Trees of J Programs. Daniel Kurzynski.
Co-supervised Master Theses
- Augmented Exploratory Programming. Christoph Thiede. TBD. (Squeak-SemanticText)
- Multi-threaded OpenSmalltalk VM. Leon Matthes. TBD. (osvm)
- OpenGL Shader Programming in Smalltalk. Maximilian Stiede. TBD. (squeak-graphics)
- Incremental Garbage Collection for the OpenSmalltalk VM. Tom Braun. 2023. (osvm)
- Hardware Acceleration for Interactive, High-quality Graphics in Live Programming Environments. Stephan Lutz. 2021. (squeak-canvas, squeak-graphics)
- Towards Version Control in Object-based Systems. Jakob Reschke. 2017. (Squot)
- Building Tools by Example: Connecting Software Artifacts in a Live Programming Environment through History-based Programming. Hubert Hesse. 2014-2015.
- Gramada: Immediate Feedback for the Development of Domain-specific Languages. Patrick Rein. 2014-2015. (Gramada)
- Creating System-specific Tools as Views on Software Systems. Conrad Calmez. 2014-2015.
- Combining Related Micro Changes for Dynamically-typed Object-oriented Programming Languages. Stephanie Platz. 2013-2014.
- Aggregation of Run-time Data to Improve Program Comprehension of Object-oriented Programs. Lars Blumberg. 2011-2012.
Scientific Community Participation
2024 |
PC chair for Onward! Essays 2024 @ SPLASH 2024 (Systems, Programming, Languages and Applications: Software for Humanity) Program committee member for PX/24 (Programming Experience) |
2023 |
Reviewer for VL/HCC 2023 (Visual Languages and Human-Centric Computing) Reviewer for SLE 2023 (Software Language Engineering) Program committee member for Onward! Essays 2023 @ SPLASH 2023 (Systems, Programming, Languages and Applications: Software for Humanity) Program committee member for PX/23 (Programming Experience) |
2022 |
Reviewer for VL/HCC 2022 (Visual Languages and Human-Centric Computing) Program committee member for PX/22 (Programming Experience) |
2021 |
Reviewer for VL/HCC 2021 (Visual Languages and Human-Centric Computing) Program committee member for PX/21 (Programming Experience) |
2020 |
Reviewer for OOPSLA @ SPLASH 2020 (Systems, Programming, Languages and Applications: Software for Humanity) Program committee member for PX/20 (Programming Experience) |
2019 |
Reviewer for Onward! Papers 2019 @ SPLASH 2019 (Systems, Programming, Languages and Applications: Software for Humanity) Program committee member for PX/19 (Programming Experience) |
2018 |
Reviewer for ECOOP 2018 (European Conference on Object-oriented Programming) Program committee member for PX/18 (Programming Experience) |
2017 |
Program committee member for PX/17.2 (Programming Experience) Reviewer for INTERACT 2017 (Human-Computer Interaction) Reviewer for Programming 2017 (Art, Science, and Engineering of Programming) Program committee member for PX/17 (Programming Experience) |
2016 |
Program committee member for PX/16 (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
- Dr. Malte Appeltauer (Zalando, Berlin, Germany)
- Dr. Carl Friedrich Bolz (Duisburg, Germany)
- Gilad Bracha, Ph.D. (F5, Los Altos, CA)
- Dr. Vanessa Freudenberg (croquet.io, Los Angeles, CA)
- Richard P. Gabriel, Ph.D. (Hasso Plattner Institute, Potsdam, Germany)
- Sebastian Hahn (Der Tagesspiegel, Berlin, Germany)
- Dr. Michael Haupt (Quandoo, Berlin, Germany)
- Dan Ingalls (Los Angeles, CA)
- Robert Krahn (Datadog, Berlin, Germany)
- Kit Kuksenok, Ph.D. (Phiture, Berlin, Germany)
- Prof. Hidehiko Masuhara (Tokyo Institute of Technology, Tokyo, Japan)
- Dr. Michael Perscheid (SAP Innovation Center, Potsdam, Germany)
- Marko Röder (Stripe, Philadelphia, PA)
- Dr. Bastian Steinert (Signavio, Berlin, Germany)
- Marcel Weiher (metaobject ltd., Berlin, Germany)
Publications (more)
Talks (more)
Site Notice (Impressum)
Marcel Taeumel
Wollestraße 44, 14482 Potsdam, Germany
marcel dot taeumel at hpi dot de
+49-331-5509-151