Curriculum Vitae van Michael Roeleveld

Publicatie: 8 augustus 2023 (zie michaelroeleveld.nl/cv voor updates)
Druk op CTRL+P om dit document te printen of als PDF op te slaan

Over

Biografie

Lang geleden begon ik samen met mijn programmeur-vader als kind aan een Python chatbot-project, waarbij ik een willekeurige reactie programmeerde vanuit een array. Dit zette me op het pad van programmeren en daarna 3D-denken toen ik met Lua in Roblox werkte.

Later bouwde ik mijn eigen website, eerst met HTML en CSS, later voegde ik functionaliteit toe met PHP en een database. Ik leerde MySQL en relationeel denken met JOINs, terwijl JavaScript details aan de frontend toevoegde.

Ik zette mijn computer om in een Linux Apache-webserver en begon als freelancer te werken. Ik kwam bij een klant vast te werken als software- en systeemontwikkelaar.

Ik houd van snelle code. Mijn Python-raytracer vertaalde ik naar C en performance ging van 15 minuten naar 30 miliseconden. Ik ontdekte Rust en functioneel programmeren met Lisp en Haskell. Dit leidde tot mijn interesse in programmeertalen, en nu werk ik aan mijn eigen taal, Ananke.

Vaardigheden

Talen

  • Nederlands (moedertaal)
  • Engels (vloeiend)

Devops en serveradmin

  • Amazon CDK
  • Ansible
  • Apache
  • DNS en rDNS
  • Git, Github, GitLab
  • Google Suite
  • HAProxy
  • Linux (Debian)
  • Nagios
  • Observium
  • OpenDKIM
  • OpenVPN
  • Postfix
  • ProxMox
  • VirtualBox
  • Xdebug

Databases en beheer

  • Adminer
  • Excel
  • MySQL (MariaDB)
  • phpMyAdmin

Frameworks, ORMs, Protocollen, Libraries en APIs

  • ActivityPub
  • Bootstrap
  • Discord.js
  • Doctrine
  • Mailchimp
  • Mollie
  • Node.js
  • PyAutoGUI
  • Slim
  • Twig

Programmeer-, markup- en querytalen

Legenda: Beginner, Gevorderd, Expert.

  • Bash
  • C
  • C++
  • CSS
  • Haskell
  • HTML
  • JavaScript
  • Lua
  • MySQL
  • PHP
  • Python

Onderwijs

Wie Wat Wanneer
Universiteit Groningen Bachelor Computing Science 2022 – 2025
Dr. Nassau College Gymnasium (PWS: Simulatie van Botsingen) 2022

Certificaten

Wie Wat Wanneer
Dienst Wegverkeer Rijbewijs B 2020
Justis VOG (bevoegdheden 11, 12, 13, 36, 37, 41, 43, 61) 15 dec 2022
Universiteit Groningen Webklas Informatiekunde (10) 2020
Webklas Computing Science (9) 2019
Webklas Artificial Intelligence (7) 2019

Publicaties

Together C & C++ Convention

Jan 2022

Digitaal gepresenteerd over Multithreading in C (youtube).

Ervaring

Nova Technology

Aug 2023 – Huidig

Werkzaam als part-time software ontwikkelaar. AWS serverless microservice architectuur met o.a. Lambdas, CloudFront, S3. Deployment via Python CDK.

GemeenteOplossingen

Nov 2022 – Mrt 2023

Als part-time software developer gewerkt. Samen met 2 collega's project ondernomen om live ondertiteling te genereren tijdens een stream. Node.js, ffmpeg, AmberScript, websockets, PHP.

Hotels.nl

Mei 2021 – Nov 2022

Als part-time software developer, devops engineer, systeembeheerder, database administrator gewerkt. Ik heb onze code van versiebeheer (Git) voorzien, en een deployment systeem ingericht waar mijn collega's erg blij mee waren. Ik heb aan de backend code (PHP/MySQL) gewerkt om bepaalde pagina's sneller te maken. Met ProxMox beheerde ik onze Debian Linux VMs. Ben vaak naar het datacenter gegaan om fysieke servers te onderhouden, en heb servers opnieuw geïnstalleerd en database replicatie geconfigureerd.

Diversiteitswatch

Nov 2020 – Okt 2021

Als freelance webdeveloper een website gebouwd voor het bijhouden van talkshowgasten. MySQL Database en PHP backend opgezet met simpel login systeem en autocomplete met AJAX requests. "Krijgt links meer representatie dan rechts op Jinek?", en dergelijke vragen beantwoord door de data op te bouwen en statistieken dynamisch te genereren. Helaas nooit verder gekomen dan een prototype (s4.xmdr.nl/dvwatch).

JA21

Dec 2020 – Mar 2021

Mijn werk staat los van mijn politiek. Als freelance webdeveloper de eerste website van JA21 gebouwd samen met een collega. Design uitgewerkt in Bootstrap. Integratie gemaakt tussen de PHP code en de Mollie API voor betalingen en met de MailChimp API voor de spam mailing lists. Statistieken sitegebruik en lidmaatschap verzameld en gecompileerd met MySQL.

Jumbo Supermarkten BV

Dec 2018 – Nov 2020

Als part-time kassamedewerker gewerkt bij de Jumbo Nijlandstraat Assen. Als u hier heeft gewinkeld in die periode kan het goed zijn dat ik uw boodschappen heb gescand (ik had toen nog lang haar).

Speelweek Gieten

Mar 2019 – Apr 2019

Als freelance webdeveloper een simpele statische website opgezet voor de speelweek in Gieten.

Hobbyprojecten

xmdr.nl

Feb 2021 – Huidig

Mijn persoonlijke blog, aangedreven door een volledig handgemaakte CMS geschreven in PHP/MySQL. De landing page bevat een SPH vloeistofsimulatie gemaakt in JavaScript. De andere pagina's zijn in de marges versierd met d.m.v. JavaScript willekeurig gegenereerde kriebeltjes.

Ananke

Jan 2021 – Huidig

Statically typed imperative programmeertaal (ananke.dev) met continuations, algebraic types en andere functional goodies. Huidige voortgang: formalisering en bootstrap interpreter maken. Code op gitlab.com/xmdr/ananke.

michaelroeleveld.nl

2016 – Huidig

Deze site! Mijn homepage is geïnspireerd door jaren 90 sites. Om linkrot te voorkomen heb ik met Apache rewrite rules en een PHP script alle oude links doorverwezen naar xmdr.nl met de verhuizing van mijn blog.

Halting Problem cycle detection

Okt 2022

Een project (michaelroeleveld.nl/halt.html) waarin ik een hypothetische computer voorstel en emuleer in C waarop ik een cycle detection algoritme loslaat om te laten zien dat het mogelijk en haalbaar is om voor sommige programma's te bepalen of de computer vastloopt of niet.

Illumina

Okt 2019 – Feb 2021

Een real-time CPU raytracer in C met SDL2. Kan bollen, driehoeken en bilineaire oppervlaktes renderen. Monte-Carlo simulatie van "Whitted" light transport. Is multicore en heeft aparte threads voor UI en rigid body physics voor bollen. Code op gitlab.com/xmdr/illumina.

Calculang

Jun 2022

Een kleine miniprogrammeertaal voor berekeningen die simpele formules symbolisch kan differentieren, en waar je werkt niet met waardes, of references, maar met syntax tree nodes. Geïmplementeerd in C. Niet helemaal af. Code op gitlab.com/xmdr/calculang.

Anonium

Apr 2021 – Okt 2021

Een federated imageboard, volgens het ActivityPub protocol, PHP/MySQL backend, in het teken van anonimiteit en vrijheid van meningsuiting. Content kon worden gefilterd en georganiseerd met tags. Ik sloot de site door de lage hoeveelheid verkeer met een relatief hoog percentage mensen die de boel wilden slopen en hacken.

Crypteax

Jan 2021 – Mar 2021

Puzzelsite (crypteax.xmdr.nl) met een cryptografisch thema. PHP/MySQL backend.