About Me
I'm Martin, and I'm currently an algorithm engineer at vind.ai. I was previously a PhD student at IST Austria in Bernd Bickel's group working on computational design and fabrication of soft robots. You can find my CV here.
I have broad interests within computer science, including: algorithms (approximation, parameterized, probabilistic), compilers and runtimes, computational geometry, concurrency, geometry processing, computer graphics, high performance computing, interactive computing, numeric algorithms, operating systems, programming languages, systems programming, and probably much more.
In computing at large I also enjoy 4k monitors, free and open source software, game development, mechanical keyboards, typesetting systems, and thinking and writing about it all. Outside computing, I appreciate beer, cooking, music, pizza, reading, self-sustainability, whisky (both the -y and -ey kind), wool clothing, and more.
Blog
I have a technical blog in which I try to write on topics I care about.
Other pages
Here's a list of other pages on this site.
Projects
Here's a list of projects and other things I've done, ordered by date.
Two Project Proposals for Computer Graphics
Before quitting grad school I wrote up two proposals for projects I found interesting. I won't work more on either project in the near future, so I'm putting them out here for anyone interested.
-
Twist-hinge Dissections (pdf, 1.4MB)
-
Design of Wire Puzzles (pdf, 4.2MB)
Object Deformation for Modling
When molding objects with few mold pieces, a problem is that the casted model cannot have any overhangs since the mold itself would be impossible to remove when the casted piece is cured. In this project, I adapted the ARAP deformation algorithm of libigl to weight for this moldability constraint.
Supervised by Bernd Bickel.
git
repository available.
Algorithms for Persistent Homology
I did an experimental comparison of two variants of the well-known matrix reduction algorithm in computing persistent homology. The algorithm computes the liveness of holes of a simplicial complex; for the alpha complex this correspond to the holes that are created and filled by growing balls of a radius around each point in a point cloud.
Supervised by Herbert Edelsbrunner.
git
repository is available, and continues to
see some development.
Relaxed Scheduling of Disjoint-Set
Investigated expected number of collisions in scheduling random Disjoint-Set operations, supervised by Dan Alistarh.
Schedulers can use a relaxed priority queue for ordering its tasks; the
relaxation makes out-of-order pop
s possible. Looking at a Disjoint-Set data
structure, we want to know the expected number of collisions, where the
out-of-ordered popped operation has a dependency on another operation before it
in the queue.
Writeup available, although in a rough state.
Master Thesis: Multithreaded-Aware Garbage Collector for Rust
Master's Thesis at Norwegian University of Science and Technology. Implemented a tracing garbage collector for Rust, with emphasis on multithreaded use-cases.
Supervised by Magnus L. Hetland, and co-supervised by Dan Alistarh of IST Austria.
Both the git repo and the thesis are available.
Course notes for Advanced Data Structures
I wrote a collection of course notes for the course Advanced Data Structures at ETH Zürich, in the spring of 2017. Most of the lectures were either loosely or firmly based off of Eric Demaines MIT course 6.851 of the same title.