mht.wtf

A blog about computer science, programming, and whatnot.

About Me

I'm Martin, and I'm currently a PhD student at IST Austria in Bernd Bickel's group working on computational design and fabrication of soft robots.

I have broad interests within computer science, including: compilers and runtimes, comput­ational geometry, concurrency, data structures, graphics, high performance computing, inter­active computing, numeric algorithms, operating systems, pro­gramming languages, systems programming, and probably much more.

In computing at large I also enjoy 4k monitors, free software, game development, mechanical keyboards, typesetting systems, and thinking and writing about it all.

Outside computing, I appreciate beer, cooking, music, pizza, reading, self-sustain­ability, whisky, wool clothing, and more.

Blog

I have a technical blog in which I try to write on topics I care about. Link.

Projects

Here's a list of projects I've done, ordered by date.

Object Deformation for Molding

1 Jul 2019

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.

In collaboration with Bernd Bickel

git repository available.


Algorithms for Persistent Homology

20 Feb 2019

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.

In collaboration with Herbert Edelsbrunner.

git repository is available, and continues to see some development.


Relaxed Scheduling of Disjoint-Set

4 Dec 2018

Investigated expected number of collisions in scheduling random Disjoint-Set operations, in collaboration with Dan Alistarh.

Schedulers can use a relaxed priority queue for ordering its tasks; the relaxation makes out-of-order pops 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

13 Jun 2018

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 in collaboration with Dan Alistarh of IST Austria.

Both the git repo and the thesis are available.