Hi! I'm Sebastian Kosch.
I grew up in post-wall Germany and moved to Canada in 2009 to study engineering (EngSci Infra 1T3, MASc MIE 1T5). In 2016, I co-founded a small software company; today, our tools help power some of the largest medical residency programs in Canada.
My main interest lies at the intersection between machine learning, neuroscience, and interface design.
I have long been fascinated with how we design and read text. In 2010, I designed Crimson, which was commissioned for the launch of Google Fonts. Later, I began developing automatic kerning algorithms, and I am currently working on research neuroscience-backed machine learning models for this purpose, funded in part by Google.
You can reach me on Twitter, Github, or via email (my first name, at this domain).
A series of core contributions to Squiggle, an optimizing compiler for probabilistic expressions for the next generation of collaborative probabilistic forecasting models.
Euclidean distance transforms with asymmetric anisotropy (2020)
The first implementation of Felzenszwalb and Huttenlocher’s marching parabolas algorithm for the linear-time 2D distance transform that supports asymmetric anisotropy.
Entropy regularization in RL agents (2019)
We show that attention layers can be regularized via an entropy measure without sacrificing performance on most Atari games, and how they can be used to generate interactive, deep visualizations of the network's decision-making.
A proposal to automate bubble-based kerning, based on the interactions of two-dimensional bandpass filters with a novel, differentiable approximation of the Euclidean distance transform.
A browser-based tool implementing bipartite matching algorithms, with support for both minimum-cost and popular matchings with one-sided ties, i.e. an extension of Gale-Shapley.
Finding the optimal T9 keyboard (2016)
A fun little experiment to find a cellphone keyboard layout that minimizes textonyms.
FittingRoom: a letterfitting experiment (2015)
An interactive letterfitting tool based on non-negative matrix factorization and linear programming.
Internet censorship analysis botnet (2013/2011)
I spent two summers at the Citizen Lab designing and developing packet-level network analysis tools to understand how authoritarian countries censor the web.
A libre typeface for books, designed at a time when free and open source fonts were still few and far between. The font has been served billions of times and is used by news media, academia, governments, and print publishers. Crimson has undergone two major upgrades, most recently by Jacques Le Bailly (“Crimson Pro”).
A hard-drive based monodisperse droplet generator (2015)
In: Review of Scientific Experiments 86
Producing uniformly sized droplets requires expensive equipment or large, cumbersome lab setups. Hard drive actuators turn out to be a perfect replacement.
Direct homography estimation in laser interferometry (2014)
In: Measurement 94
Combined PIV/IPI interferometry systems rely on calibration plates to register the focused and defocused images, but this often fails. We explain the optics behind the misregistration, and demonstrate how fully automatic computer vision algorithms can replace the calibration process entirely.
A new mixed-integer model for parallel-batch scheduling (2014)
In: Proceedings of CPAIOR 2014
The scheduling of capacity-constrained batch processes is difficult to optimize via constraint programming. But careful reasoning about the interactions between jobs and batches reveals patterns that allow us to eliminate many of of the original constraints and replace them with a few simple (if non-intuitive) rules. In some cases, the new model’s performance improves on the state of the art by more than two orders of magnitude.