A photo of Robbert

I’m Robbert, a Software Scientist with a passion for an open world and maths.

That kinda sums it up. The thing is that I like to really understand how a program works. That is from the abstract design patterns down to the assembly code. Looking into details of computer systems (or anything for that mater) often reveals beautiful ideas and concepts. And I’m quite fond of those ideas and concepts, and I like to share them.

My main focus at the moment is making it easier to create parallel en concurrent systems. Currently, I’m a Researcher at IMEC vzw.

If you want to contact me you can use this public PGP key.

Curriculum vitae

Professional Experience

PhD Researcher at Ghent University

I’ve learned so much during my PhD and created many cool things. I think the most important thing I learned is to endure while still being able to stop when it is clear that an approach will not work and another avenue must be sought.

  • WARDuino:A WebAssembly VM for programming microcontrollers. I ported a WebAssembly virtual machine (VM) to Arduino devices and extended the VM with debugging capabilities.
  • Subgit: A git server for handing in programming assignments. We created our own git server based on gitolite that provided a user-friendly interface to teaching assistants for handling the hand-in of programming tasks using git. Creating this tool has also alowed me to talk about one of my favourite subjects: git.
  • GraphRedex: A tool for visualizing non-determinism in programming languages.
  • Teaching Assistant for an Algorithms course and the logical programming course I taught practical and theoretical sessions to a group of ±45 students for 4 years. One of my main goals during all my teaching activities was to teach the concepts rather than the programming language itself (C/Prolog). One thing that teaching taught me is how to explain things very clearly and to have patience. And not to needlessly introduce complicated details unless asked for.
  • Study Programme Committee Member. Actively participated in the program reform of 2018 to focus our computer science curriculum on industry needs.

Bio Informatics Application Developer at Ghent University

I worked on Unipept to efficiently derive functional annotations of large datasets of peptides. By devising an algorithm to concurrently aggregate these annotations on an HPC. This resulted in a paper published in the journal of Proteome Research. During this work I learned a lot about user experience design.

Data Scientist and Software engineer at NGData

In the summer of 2016 I worked in a team to locate anomalies in big data. We created an algorithm that is able to detect deviations of a periodic pattern in real time. This was an intern position.

Applications Programmer and Functional Annalist at Ghent University

I was hired to make a functional analysis for a web application that will replace an existing Delphi program. This application is aimed at teaching students formal logic. During this summer I learned what the detrimental effects are of ill-designed code.

Education

  • PhD, Computer Science, Ghent University, Graduated in September 2022
  • MS, Mathematical Informatics, Ghent University, Graduated summa cum laude in September 2017
  • BS, Computer Science, Ghent University, Graduated summa cum laude in June 2016

Activities and Interests

Contributions to Open Source/Data projects

  • Grafana: fixed a security issue caused by incorrectly sanitized header fields
  • Aerc: added support for regular expression based aliases to this tui based mail client
  • Nix: changes to nextcloud, matrix-appservice-slack, pass and languagetool
  • Dodona: I made various patches to this tool used at Ghent University for teaching
  • OpenStreetMap: contributions to the map all over the world

Volunteer in youth work

I have been an active volunteer in the youth work scene for 8 years (2010-2018). I started as an “animator” and prepared activities to engage 4 to 15-year-olds during the holiday periods. After one year I become a lead animator and guided teams of growing from 2 to 16 animators who were animating 50 to 250 children.

As the first point of contact for parents, I took care of the communication with them. Working in youth work has learned me leadership and how to deal with chaos. I obtained a certificate for lead animator in youth work. In 2014, I was elected a board member of the organization.

Activities

  • In 2015 I discovered the wonderful world of Balfolk, a dance event for folk dance and folk music. Since then, I attempt to go to as many dance events as I can. Dancing brings some kind of peace to me that not many things bring.
  • I play kayak polo and go for wild water kayaking
  • I like to meet new people, cycle, hike, tell stories

Publications

During my PhD I have been writing some things.

  • R. Gurdeep Singh and C. Scholliers, “Gaiwan: A size-polymorphic typesystem for GPU programs,” Science of Computer Programming, vol. 230, p. 102989, 2023, doi: https://doi.org/10.1016/j.scico.2023.102989. (bib, preprint)
  • Gurdeep Singh, R, Scholliers, C. “GraphRedex: Look at your research”. Softw Pract Exper. 2021; 51: 1322– 1351. DOI: 10.1002/spe.2959 (bib, full-text, preprint)
  • R. Gurdeep Singh and C. Scholliers, “WARDuino: a dynamic WebAssembly virtual machine for programming microcontrollers,” in Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes - MPLR 2019, 2019. DOI: 10.1145/3357390.3361029 (Bib,free full-text, preprint)
  • C. Torres Lopez, R. Gurdeep Singh, S. Marr, E. Gonzalez Boix, and C. Scholliers, “Multiverse Debugging: Non-Deterministic Debugging for Non-Deterministic Programs (Brave New Idea Paper),” in 33rd European Conference on Object-Oriented Programming (ECOOP 2019), London, 2019, vol. 134, p. 27:1. DOI: 10.4230/LIPIcs.ECOOP.2019.27
  • R. Gurdeep Singh, C. Torres Lopez, S. Marr, E. Gonzalez Boix, and C. Scholliers, “Multiverse Debugging: Non-Deterministic Debugging for Non-Deterministic Programs (Artifact),” Dagstuhl Artifacts Series, vol. 5, no. 2, p. 4:1, 2019. DOI: 10.4230/DARTS.5.2.4
  • R. Gurdeep Singh et al., “Unipept 4.0 : functional analysis of metaproteome data,” JOURNAL OF PROTEOME RESEARCH, vol. 18, no. 2, pp. 606–615, 2019. DOI: 10.1021/acs.jproteome.8b00716

Other

Technical Experience

  • Programming: Java, C, C++, Haskell, Scala, SQL, R, …
  • Scripting: JavaScript, NodeJS, Python, Bash, Ruby, PHP, …
  • Markup: HTML(5), CSS(3), Latex, Markdown, …
  • Framework: Spring, Swing, JavaFX, Android, Ruby on Rails, Polymer, AngularJS, …
  • Programs: Git, Ansible, Nix, Jenkins, Jekyll, InteliJ, Visual Studio, Eclipse, Slack, Maple, MATLAB, Spark, …
  • Other: SPARQL, AMD and Intel Assembly

Coursework

  • Algorithms: Algorithms and Data structures, Discrete Algorithms, Symbolic Algorithms, Numerical Algorithms, Complexity and computability, Algorithmic Graph Theory, Machine Learning
  • Engineering: Software Engineering, Internet technology (Semantic web), Communication networks, Databases, Multimedia, Operating Systems, Computer Architecture, Software hacking and protection, Information Security, Scripting Languages, Linux
  • Paradigms: Functional programming languages, Object-Oriented programming, Software Architecture and Design, Fundamentals of programming languages
  • Maths: Calculus, Linear Algebra, Formal Logic and automata, Statistical data processing

More about me

  • I had my secondary education in VTI Brugge, a technical school, so I also have experience with:
    • Tools like: the lathe, the cutting mill, CNC machines
    • Software like: AutoCad Inventor
    • Concepts from: Electric motors and generators, Electronics, Strength of materials, pneumatics and hydraulics, …
  • I’ve got a driving licence
  • My pronouns are: him/his
  • I have a link to my keyboard layout
  • I prefer that you contact me by electronic mail or matrix
  • My favourite colour is red
  • I have a beard, I like wearing hats and I love codeing, hence my username became beardhatcode.
  • I’m a cat person
  • I use light colour themes
  • My favourite shell is zsh