Resume
I learned programming while studying Computer Science and Engineering at KTH - Royal Institute of Technology. My main focus became formal methods; my master's thesis was on defining a small-step operational semantics for multi-threaded Java bytecode and embedding that in a proof assistant based on μ-calculus.
After obtaining my Masters, I continued in academia (still at KTH) with doctoral studies in constraint programming. In particular, I was part of the core team for the constraint programming system Gecode. In 2008 I got a licentiate degree (a degree that can roughly be viewed as a partial doctoral degree), with a thesis titled Techniques for Efficient Constraint Propagation.
Since academia, I've worked at several different companies, including Tomologic, RaySearch Laboratories, and OptiSchedule (a start-up in personell scheduling). Currently I work at SambaNova Systems.
A full CV is also available if you are interested.
Programming Languages
I more or less regularly code in the following languages:
- Java
- Kotlin
- Python
- Rust
- MiniZinc
- C++
- TypeScript
In addition, I sometimes write stuff in Scala, C, and bash. I've previously written code in Mozart/Oz and StandardML. I sometimes read code in Haskell, Ruby, Go, Erlang, C#, Prolog, and many more.