About
My name is Florian Biermann I am about to graduate with a PhD in programming languages and parallel programming from the IT University of Copenhagen.
I have a masters in Software Development and Technology from the IT University of Copenhagen, a bachelor of science in Digital Media from the University of Bremen and studied Graphics Design at the Art Institute of Boston at Lesley University and . My Chinese name is 罗恩.
In August 2018, I will start as OCaml and C# developer at SimCorp within IBOR.
From July 2015 to June 2018 I was working as a PhD student on spreadsheet array programming as part of the Popular Parallel Programming project. My supervisor was Prof. Peter Sestoft. I was funded by the Sino-Danish Center for Education and Research.
Before that I have been working part-time as a programmer at Medical Insight (now part of Karos Health) and in the PitLab at ITU as a research assistant for Prof. John Paulin Hansen (who is now at DTU).
You can download my public key here.
My PhD Project
In my PhD project I work on the spreadsheet language Funcalc. My goal is to give spreadsheet users access to the parallel capabilities of their computing hardware without adding complex controlling structures.
Spreadsheets can be seen as declarative and purely-functional programs that are laid out in a two-dimensional grid. The overall idea is to use higher-order functions, that is functions that either accept other functions as arguments or produce a function as a result, on contiguous spreadsheet cells, so-called cell arrays. Computations on arrays occur often in scientific and financial computations. Many higher-order functions on arrays perform homogeneous computations; the same function is applied to every cell in the array.
Higher-order functions enable data-parallelism. In a purely-functional language, such as Funcalc, we know in advance that there is no interdependency between single cells of an array. Therefore, it is safe to parallelize certain computations on arrays transparently to the user. Their program will run faster without them having to do anything.
Furthermore, I am interested in making array programming easier for non-programmers by finding representations of arrays that cater to straightforward and simple programming solutions.
The results of my PhD project do not only apply to spreadsheets but may be interesting for other high-level programming languages such as the R language, Matlab or F#.
Things I did and do
-
During March and April 2017, I visited Wensheng Dou at the Institute of Software, Chinese Academy of Sciences (ISCAS), where we worked on lifting dependency structures on spreadsheets to higher-order functional programs over arrays.
-
I worked as TA for the Practical Concurrent and Parallel Programming Course at ITU in Fall 2014, Fall 2015 and Fall 2017.
-
In summer semester 2016, I gave three lectures on parallel functional programming in Racket and Java 8 at UCAS for students without prior functional programming experience. My lectures where part of a course on functional programming taught by Yu ZHANG. Take a look at the course material.
-
I have written a small Emacs mode for systematic literature reviews on BibTex files called SLIRM.
-
Read my master’s thesis Connected Set Filtering on Shared Memory Multicore Processors.
-
Read my student project Morphological Segmentation of Blood Images for Automated Malaria Diagnosis.
-
I programmed the first version of the gaze-controller Lego construction manual for children. It was featured on CES 2015 in Las Vegas and showcased in Lego stores in Copenhagen and Frankfurt. See the ITU research video.
-
Visit me on CiteULike which is a really nice and free tool to manage literature.
-
Visit my Orcid profile.
-
Visit me on Twitter, which I barely use.
-
Visit the Bloop Website and check out the video of the presentation at BlenderCon 2011.
-
Check out my “World to (H)ear” project.
Publications
-
Puncalc: Task-Based Parallelism and Speculative Reevaluation in Spreadsheets. Florian Biermann and Alexander Asp Bock. To be presented at HLPP’18. Preprint.
-
Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs. Florian Biermann, Wensheng Dou and Peter Sestoft. PADL’18. Preprint.
-
Quad Ropes: Immutable, Declarative Arrays with Parallelizable Operations. Florian Biermann and Peter Sestoft. ARRAY’17. Preprint.
-
Declarative Parallel Programming in Spreadsheet End-User Development. Florian Biermann. Technical Report, 2016.
-
Wrist-worn Pervasive Gaze Interaction. John Paulin Hansen, Haakon Lund, Florian Biermann , Emilie Møllenbach, Sebastian Sztuk and Javier San Agustin. ETRA ‘16.
-
A Gaze Interactive Textual Smartwatch Interface. John Paulin Hansen, Florian Biermann, Janus Aksø Madsen, Morten Jonassen, Haakon Lund, Javier San Agustin and Sebastian Sztuk. UbiComp ‘15.
-
A GazeWatch Pototype. John Paulin Hansen, Florian Biermann, Emilie Møllenbach, Haakon Lund, Javier San Agustin, Sebastian Sztuk. MobileHCI ‘15.
-
The Animation Loop Station: Near Real-Time Animation Production. Benjamin Walther-Franks, Florian Biermann, Nikolaas Steenbergen and Rainer Malaka. ICEC ‘12.