A computer scientist by passion and profession. Graduate at the University of Warsaw, master's degree, currently a PhD student at DTU Compute.
Skills
- Functional programming
- Compiler construction
- Type theory
- Blockchain
- Formal verification
- Advanced: Haskell, Erlang
- Semi-advanced: C#, Rust
- Intermediate: Python, Prolog, Coq
- Mothertongue: Polish
- Fluent: English
- Communicative: German
Professional experience
- Researching methods for verification of distributed systems
- Teaching assistance in computer science master's courses
- Developing a compiler for a smart contract language
- Developing tooling for smart contract development
- Developing a virtual machine for smart contracts
- Conducting technical interviews and onboarding new members
- Developed the server behind Business Central 365
- Maintained site reliability
- Introduced a new booking infra for the company's services
- Introduced Elm to the codebase
Education
- Research project: "Hyben - Hybrid Verification of Heterogeneous Message-Passing Applications"
Master's degree in computer science.
- Thesis: Liquid types for verification of smart contracts
- Grade: Very Good (5 in a 2–5 scale)
Student exchange programme
Bachelor's degree in computer science
- Thesis: Variational autoencoder for collaborative filtering - implementation and performance optimization
- Grade: Good (4 in a 2–5 scale)
Selected projects
aesophia
— I took part in development of the Sophia language for the æternity blockchain smart contract development.aerepl
— A Read-Eval-Print Loop for the Sophia language.erlscripten
— I took key part in the erlscripten project, which aims to port Erlang applications to the frontend by transpiling it into PureScript.erlscripten/purescript
— For the erlscripten project I did a lot of tinkering in the source generator and optimizer of PureScript. My work resulted in a few contributions to the original project.
radlang
— An interpreter of a Haskell-like language. Supports type classes, full type inference, higher kinded types,for
notation for monads and lazy evaluation.latte
— An x86 compiler for a Java-like OOP language. Implements class inheritance, polymorphism via virtual methods and some simple optimization techniques.satisfaction
— A SAT solver implementing CDCL and DPLL algorithms written in Rust as an assessment task for courses at LMU.VAE-CF
— Bachelor's thesis project. A variational autoencoder for collaborative filtering written in Tensorflow. Created in cooperation with NVIDIA Corporation to optimize it for their hardware and infrastructure.tftp-client-coq
— A TFTP client written in Coq/OCaml. Provides proofs for compliance with the RFC standard.Tiny-Semantics
— A simple CPS-styled interpreter of an imperative language written in Haskell.instant-compiler
— A calculator-like language compiler that targets LLVM and JVM.
i3hloc
— A customizable, parallelized scheduler for thei3status
status bar for i3 WM. Written in Haskell.fizzbuzz-coq
— A super defensive joke implementation of the Fizz Buzz problem written as a sophisticated proposal to the state-of-the-art implementation. Written in Coq to prove correctness of every step of the algorithm. Obfuscation warning.blockchain-toy
— A simple centralized blockchain implementation written in Haskell.Iris
— I provided the Iris Mopidy frontend with Polish localization.