Zino Onomiwo

Ik ben Zino Onomiwo. Niet de foto hierboven, dat is een willekeurige kat van wikimedia

Geboren en getogen in Nederland's Zoetermeer. Een mooie stad in Zuid-Holland, waarin ik mijn eerste zoveel jaren heb doorgebracht. Over het algemeen een goede tijd gehad hier, totdat ik student werd. Toen ik student werd, verhuisde ik naar Utrecht.

In de tijdsperiode van tot heb ik aan de Universiteit te Utrecht mijn Bachelor opleiding, Informatica, en Master opleiding, Computing Science afgerond. Hoewel ik mij gespecialiseerd heb in Algorithm Design and Analysis + Algorithmic Data analysis, is mijn Master Scriptie geschreven in de Operation Research richting.

Mijn Master Scriptie is gedaan bij de NS en is op de UU website te bekijken. In het kort: Treinen moeten ergens onderhouden kunnen worden en parkeren indien ze niet gebruikt worden. Dankzij een hoop fysieke limitaties moet er een plan gemaakt worden dat beschrijft waar, wanneer en hoe treinen zich moeten verplaatsen op het terrein. Helaas gaat er wel eens iets fout, en als het fout is moet het plan bijgesteld worden. De scriptie laat zien dat het gebruik van local search technieken een oplossingsrichting kan bieden aan het herstel van een plan.

Hobby's

Computerspelletjes

Ik hou wel van computerspelletjes spelen. Mijn favoriet voor altijd zal toch altijd Factorio zijn. Maar ik heb ook nog wel nostalgische herinneringen aan EVE Online.

Software ontwikkeling!

Checkout mijn Github

Bakken en koekjes!!!

Koekjes! :DD

Projecten

Ik programmeer!

Implementation: Engineering Highway Hierarchies

A simple implementation of the excellent paper by Peper Sanders and Dominik Schultes.

This implementation generates highway hierarchies for the dutch road network. It is written in the rust language and uses Bevy for visualization and interaction.

This project uses data provided by the dutch Nationaal Wegenbestand which contains most, if not all, roads found in the Netherlands.

ORTEC gave a presentation about Highway Hierarchies during my time at university. Since then I have been interested in this approach and it has been in the back of my mind since then, until now. I liked implementing this paper, it gave me some useful insights. The speed increase when switching to an adjacency list was a nice surprise, I used to think that having an efficient algorithm was the most important part, but an efficient data-structure will have significant impact too. And my usual graph implementation is RAM unfriendly :)

Sudoku Solver

Solves sudoku using a trivial algorithm created for graph-colouring problem, which sudoku is. Also has ILP implementation using the Z3 solver.

KerkTest

The Kerktest.nl is made in collaboration with friends from Leiden. Nowadays I would design the website differently.

Wave Function Collapse

An attempt to implement the wave function collapse algorithm. Which was having some cubes with rules about which neighbours are or are not allowed, and then apply some variant of graph-colouring to place the cubes where they are allowed to be.

Click here to see one in bevy.

EVE Noice

An inventory system calculating profits and losses made in EVE Online. Good times.

BSP unique chess positions

Calculates the amount of unique chess positions after n moves. This program was made to run on the Cartesius Supercomputer in Amsterdam. I vaguely remember we could use around 1000 cores. Not sure about you, but I find that pretty cool. I remember BSP being a kind of scatter gather framework.

BSP Prime Generator

Generate primes in parallel using BSP. It calculates some prime numbers and then uses the Sieve of Eratosthenes to calculate the prime numbers in parallel.

Werkvaardigheden

Mijn voornaamste bezigheid is toch echt software ontwikkeling.


PKN
In

Als medewerker voor de PKN redactie, voornamelijk het overzetten van data van de oude data naar de nieuwe data.


PKN
In

Financieel medewerker. Invoeren en controle van financiele data van gemeentes.


Student-assistent bij Utrecht university,
van tot en met

Student-assistent voor de Universiteit Utrecht, voor het vak: Imperatief programeren.


Student-assistent bij Utrecht university,
van tot en met

Student-assistent voor de Universiteit Utrecht, voor het vak: Imperatief programeren.


Student-assistent bij Utrecht university,
van tot en met

Student-assistent voor de Universiteit Utrecht, voor het vak: Graphics programeren.


Student-assistent bij Utrecht university,
van tot en met

Student-assistent voor de Universiteit Utrecht, voor het vak: Data analyse en Retrieval.


Junior Java Developer bij Keylane
van tot en met

Er staat Java developer, maar het was toch echt sql.


Voorzitter Webcie bij Ichthus Utrecht,
van tot en met

IchthusUtrecht.nl!

Als voorzitter heb ik mij beziggehouden met het aansturen van leden van de webcie, en een balans geprobeerd te vinden tussen hun studie en webcie taken.

Als WebCie lid heb ik mij beziggehouden met de vernieuwing van het administratie paneel van de leden, ook heb ik gewerkt aan het loskoppelen van de landingspagina en het ledenportaal. Het ledenportaal is geschreven met het Laravel framework in PHP 8.1. Er is gewerkt aan nieuwe features zoals insturen van mededelingen met WYSIWYG editors, maar ook aan onderhoud en het toekomst bestendig maken van de website voor latere leden.

Technieken gebruikt: PHP 8.1, Laravel, JavaScript, CSS, HTML, MailGun, Docker Compose, GoHugo, Postgresql


Medium Java Developer bij BKWI,
van tot en met

In het eerste jaar heb ik gewerkt aan het overheidsproject Toekomst Werk en Inkomen. Hierbij heb ik in een team een microservice opgezet die het opvragen van overheids bronnen bevordert doormiddel van GraphQL. Deze Microservice is gemaakt in Java Micronaut, en wordt omgezet tot een Native Image.

In het tweede jaar heb ik mij beziggehouden met het maken van microservices die het mogelijk maken om gestandardiseerde berichten om te zetten van het ene protocol (denk json) naar het andere protocol (denk SOAP) aan de hand van een bericht specificatie.

Ook heb ik een project opgezet om tooling te maken voor core functionaliteit binnen het bedrijf. Soms moeten berichten niet alleen omgezet worden, maar ook vertaald naar een ander structuur. Dit moet gedaan worden aan de hand van een transformatie, en deze transformatie kan gemaakt worden via de tooling. De tooling is een Angular applicatie waarin gebruikers configuraties kunnen maken, deze worden dan opgeslagen in een Postgresql database via een Micronaut backend. Vervolgens kunnen deze configuraties gereleased worden naar een Gitlab omgeving.

Technieken gebruikt: Maven, Micronaut, Java 19, Angular 15, Typescript, GraphQL, REST, GRPC, OpenAPI, Storybook.js, Kubernetes, Postgresql


Medium Java Developer bij Techforce1,
van tot en met

In het eerste jaar heb ik gewerkt aan het overheidsproject E-Commerce (now cancelled en uitbesteed bij een Amerikaans bedrijf). Hierbij heb ik in een team een microservice overgenomen die het opvragen van overheids bronnen bevordert doormiddel van IBM MQ en REST apis.

In het tweede jaar heb ik gewerkt aan de Kleineondernemersregeling in de EU. Samen met het team heb ik de Kubernetes, ArgoCD, Tekton, en SpringBoot omgevingen opgezet.

Technieken gebruikt: Maven, Spring Boot, Java 21, REST, OpenAPI, Kubernetes/OpenShift, Postgresql, Tekton, ArgoCD