Blog


Generic Data Structures Library in C

Wanneer ik programmeer in C++ maak ik graag gebruik van de Standard Template Library. Voor embedded software systemen geldt echter vaak de verplichting/limitatie tot het programmeren in C in plaats van C++. Ik vroeg me daarom onlangs af of er ook een C-equivalent bestaat voor de C++ STL.

Een korte zoektocht naar vrij beschikbare implementaties van geavanceerde datatypen (zoals de lijst, vector en de queue) volgde. Ik had niet de verwachting dat er een dergelijke set geavanceerde datatypen (ADT’s) zou bestaan voor C in een template-achtige vorm, maar ik was wel verrast slechts één resultaat te vinden. Ik vond de Generic Data Structures Library van Nicolas Darnis. De bibliotheek bevat C implementaties van een hele reeks aan ADT´s, onder andere: (singly/doubly) linked list, tree, matrix, stack, heap, hash, queue, en nog enkele anderen.

Het GDSL project lijkt actief en bovendien is de uitgebreide API goed gedocumenteerd en voorzien van voorbeeld-code. Wat mij betreft een interessante ADT-bibliotheek om in een C (embedded) software project eens uit te proberen!




Project-portfolio

Na lang zoeken heb ik een WordPress-thema gevonden dat consistent is en er goed uitziet, ook op mobiele apparaten. Het biedt me de mogelijkheid om projecten waarbij ik betrokken ben geweest (of nog steeds ben) op een portfolio-pagina weer te geven. Een drietal software-projecten zijn inmiddels toegevoegd.

Buurtlinux
Buurtlinux is een website waarop Linux-gebruikers en Linux-professionals hun hulp en diensten aanbieden. Andere computergebruikers, die Linux een keer willen uitproberen of die een vraag of probleem hebben omtrent Linux, kunnen op een kaart zoeken naar Linux-hulp bij hun in de buurt (Nederland en België). Inmiddels wordt Buurtlinux beheerd door de Nederlandse Linux Gebruikers Groep.

Golem
Voor kleine embedded systemen betekent het gebruik van de meeste besturingssystemen een zware overkill. Met Golem heb ik destijds geprobeerd om een lichtgewicht en veel simpeler besturingsysteem te maken dat gebruik maakt van cooperative multitasking.

Gedit PlantUML-plugin
Ik maak in mijn werk meer en meer gebruik van UML en vond het lastig een programma te vinden waarmee ik op een prettige wijze UML-diagrammen kan tekenen. Het programma PlantUML biedt de mogelijkheid om ‘scriptenderwijs’ UML-diagrammen te genereren. Ik maak veel gebruik van Gedit en heb daarom een plugin geschreven waarmee je vanuit PlantUML bronbestanden automatisch de bijbehorende UML-diagrammen kunt genereren.