Home > Portfolio

Mijn code

Cogncur (2023-heden)

FontForge
Python

Analyseerbaar font naar eigen ontwerp

Cogncur is een Open Source fontfamilie voor verbonden schrift die ik volledig zelf ontworpen heb. Deze fontfamilie maakt gebruik van geavanceerde OpenType features om de dynamische verbindingen tussen letters te plaatsen. Ik gebruik Python om FontForge aan te sturen en om meerdere fonts uit dezelfde set hartlijnen te genereren.

PHP

Woordenlijst-generatoren bij elke leesmethode (2021)

Met mijn woordenlijst-generatoren kan iedereen zelf woordenlijsten genereren bij elke mogelijke leesmethode.

Eerder heb ik woordenlijsten gemaakt bij Veilig Leren Lezen met behulp van een set Perl-scripts. In dit nieuwe project heb ik het analyseren van iSpell/Celex/eigen corpus-woordenlijsten losgetrokken van het filteren van woorden o.b.v. criteria van een specifieke leesmethode van elkaar losgetrokken. De analyse resulteert nu in een gecombineerde woordenlijst waarin alle woorden een orthographic mapping hebben: een opeenvolging van klank-tekencombinaties. De mapping voor het woord 'avond' is bijvoorbeeld: a_aa.-.v.o.n.d_t. Dit betekent: een letter 'a' die wordt uitgesproken als /aa/, een 'v', 'o' en 'n' die op de gebruikelijke manier worden uitgesproken, en vervolgens een 'd' die wordt uitgesproken als /t/. Deze orthographic mapping maakt het eenvoudig om woorden te filteren op letterkennis, complexiteit en op lees- en spellingsmoeilijkheden.

Dit filteren op letterkennis, complexiteit en lees- en spellingsmoeilijkheden gebeurt in de web-based woordenlijst-generatoren. Per woordlengte (aantal lettergrepen), morfologisch patroon en klemtoonpatroon is er een aparte generator. Elke generator heeft een gebruikersinterface dat is toegespitst op de lees- en spellingsmoeilijkheden die zich in de betreffende woordenlijst kunnen voordoen: in een woordenlijst met samenstellingen van twee lettergrepen zal bijvoorbeeld nooit een 'stomme e' kunnen voorkomen.

Automatiseren tot 20 (2020-2021)

Javascript

Dynamische werkbladen op basis van leerprincipes

Ik heb een set werkbladen gegenereerd voor het automatiseren van het rekenen t/m 20. De bezoeker kan zowel bestaande werkbladen als PDF downloaden, als ook nieuwe werkbladen genereren. De leerlijn wordt opgebouwd in kleine stapjes en in de werkbladen zijn de principes van spaced repetition en interleaving gebruikt. Door sommen te 'trekken' zonder teruglegging voorkom ik dat sommen op een werkblad herhaald worden. Bovendien deel ik sommen in op moeilijkheid, zodat elk werkblad een bewust gekozen verhouding tussen nieuwe en oude sommen bevat.

Schoolschrift (2019-heden)

Javascript
FontForge

Font en scripts voor verbonden schrift

Bart Voorzanger heeft een font voor verbonden schrift gemaakt: Schoolschrift. Bij dit font hoort een script om de verbindingshalen tussen de letters te plaatsen. Met zijn toestemming heb ik van zijn app en zijn font deze nieuwe versie gemaakt die speciaal is toegesneden op gebruik in het (remediërende) schrijfonderwijs.

OpenIMS (2006-2014)

Javascript
PHP

Document en content management systeem

Ik heb als programmeur bij OpenSesame ICT grote delen van OpenIMS CE en EE ontwikkeld. Enkele onderdelen door mij ontwikkeld:

OpenFSS (2009-heden)

PHP

Full text zoekmachine van OpenSesame ICT

Ik heb als programmeur bij OpenSesame ICT het product OpenFSS ontwikkeld.

Woordplaat (2007-2008)

Javascript
Perl

Online spel voor beginnende lezers

Een spel waarin beginnende lezers plaatjes en woorden met elkaar matchen. Naarmate het spel vordert gaan de woorden steeds meer op elkaar lijken. Speel online | Bekijk source op GitHub

Perl

Woordenlijsten bij Veilig Leren Lezen (2007-2008)

Dit begon als een project om de spellingsregels van het Nederlands in een script samen te reproduceren. Ik ben begonnen met de ispell woordenlijst, maar ik ben de Celex database gaan gebruiken om de gegenereerde 'uitspraak' te controleren. Ik wilde de allersimpelste klankzuivere woorden beschikbaar stellen aan beginnende lezers. Omdat ik echter veel te veel - relatief onbekende - woorden had, heb ik een klein corpus gemaakt en gebruikt om de meest frequente - en dus bekende - woorden te bepalen. Uiteindelijk heb ik van deze beperktere klankzuivere woordenlijst - wederom met een script - bepaald welke woorden qua letters/complexiteit/spellingsregels horen bij welke kern van Veilig Leren Lezen. De woordenlijsten presenteer ik op mijn website.

Strategisch spel (2006)

Scheme

Programma voor het afnemen van een experiment van mijn afstudeeronderzoek

Voor het afnemen van een van de experimenten van mijn doctoraalonderzoek heb ik een computerprogramma geschreven in PLT Scheme. Nadat besloten was om het experiment met de computer af te nemen heb ik in slechts één week de MrEd-bibliotheek geleerd en het programma geschreven. Het programma is volledig grafisch. Het bevat enkele simpele animaties en geluiden, en wordt bediend met de muis. De antwoorden van de 'proefpersonen' worden opgeslagen in een text-formaat dat door veel statistische programma's ingelezen kan worden. The handelingen van de computertegenstander in dit spel zijn voorgeprogrammeerd; voor een voorbeeld van een intelligente tegenstander, zie het spel Hexxagon elders op deze pagina.
Downloads and screenshots zijn beschikbaar op de Engelstalige pagina over dit programma.

Robocup rescue (2005)

C++

Project voor het vak Robocup Rescue aan de Universität Osnabrück

Ik heb een programma geschreven voor een met een laser uitgeruste robot. Het programma vergelijkt twee laser scans van de omgeving om zo de verplaatsing en rotatie die de robot tussen deze scans ondergaan heeft te schatten. Het algoritme is gebaseerd op een beschrijving in een academisch artikel. Om het programma te testen en goed in te stellen werden de resultaten gevisualiseerd met gnuplot. In dit project heb ik voor het eerst gewerkt met unit testing en version control.

Het bouwen van een regelgebaseerd kennissysteem met Protégé-OWL and JessTab (2005)

Onderzoeksproject for het vak Advanced Knowledge Technology

Kan het en is het zinnig? Lees het verslag (Engels).

Hexxagon in Java (2003)

Java

Opdracht voor het vak Inleiding Kunstmatige Intelligentie

Implementatie van het spel Hexxagon in Java. Er zijn verschillende AI's die je tegen elkaar kunt laten spelen. Zelf spelen tegen een AI dmv het toetsenbord kan ook.
screenshot source files (GitHub) verslag

Onderwijsstemwijzer 2003

PHP
Perl

Vrijwilligerswerk voor de LSVB

Ik was betrokken bij de ontwikkeling van de Onderwijsstemwijzer 2003, een website die een stemadvies geeft op basis van de bezoeker's mening op het gebied van onderwijs. Ik heb met Perl en GD de dynamische afbeeldingen gegenereerd die de gebruiker te zien krijgt bij zijn stemadvies. Daarna heb ik zelfstandig een vergelijkbare website gemaakt voor de verkiezingen van de Groningse Universiteitsraad.