Blog


No more Dutch

So far this website has been a mixture of blog-posts in Dutch and pages in both Dutch and English. The website gets a bit messy this way. Besides that it feels stupid to put time and effort in writing content in more than one language considering that most visitors can read English, and considering that I have little free time anyway. As such, I decided to write posts and pages in English only from now on.




PyCharm Python IDE

Wanneer ik programmeer in C of C++ dan maak ik graag gebruik van een IDE, onder andere vanwege de mogelijkheden die het biedt tot code-completion en refactoring. In het geval van C/C++ gebruik ik veelal Codelite of soms QtCreator. Voor het beetje Python dat ik schreef (voor een PlantUML plugin voor Gedit) gebruikte ik Gedit – Codelite of QtCreator bieden in geval van Python dezelfde functionaliteit. Inmiddels ontwikkel ik op mijn werk ook Python toepassingen en verlang ik toch naar een ontwikkelomgeving die wat geavanceerder is. Na een rondgang langs potentiële Python IDE’s kwam ik uit op PyCharm. Voor de volledigheid hieronder de Python IDE’s die ik heb bekeken:

  • PIDE
  • IDLE
  • NINJA-IDE
  • Eric
  • Eclipse-pydev
  • PyCharm

PyCharm installeren

Ik geef er de voorkeur aan om PyCharm niet te installeren vanaf de PyCharm website, maar via een Getdeb repository. Aan /etc/apt/sources.list.d/additional-repositories.list moet de volgende regel moet worden toegevoegd:

deb http://archive.getdeb.net/ubuntu xenial-getdeb apps

Ik gebruik Linux Mint 18 (gebaseerd op Ubuntu 16.04), dus in mijn geval moet ik de xenial variant hebben. Eenmaal toegevoegd zijn nog een drietal commando’s nodig om PyCharm te installeren:

wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install pycharm

C’est tout!




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.




Het ontwerp van een houtwerkbank

Na flink op Pinterest te hebben rondgestruind en een bezoek te hebben gebracht aan http://www.houten-werkbank.nl/ heb ik een uiteindelijk ontwerp gemaakt van de houtwerkbank die ik voor mezelf wil gaan maken.

Hoewel timmermanswerkbanken en meubelmakerswerkbanken doorgaans gemaakt worden van beukenhout, kies ik ervoor om vurenhout te gebruiken. Ik houd hier in mijn ontwerp wel rekening mee door voor een veel massievere constructie te kiezen.

Deze tijdelijke werkplek zal worden vervangen door de werkbank

Deze tijdelijke werkplek zal worden vervangen door de werkbank

De houtwerkbank zal tussen drie muren komen te staan en zal een blad krijgen hebben van ongeveer 220 cm bij 80 cm. Ik verwacht dat ik er vooral staand aan zal werken en om die reden neem ik de werkhoogte van ons aanrechtblad als hoogte over. Deze is 95 cm.

Deze schets geeft een idee van de opbouw en maten van de werkbank.

Deze schets geeft een idee van de opbouw en maten van de werkbank.

Mijn idee is om een drietal stevige staanders te maken, zoals die links in de ontwerpschets te zien is. De staander in het midden zal iets afwijken van de andere twee staanders om ruimte te bieden voor de in het midden geplaatste bankschroef.

Het werkblad zal bestaan uit een elftal aan elkaar gelijmde (geschaafde) vurenhouten balken (44×70) met daarop een 12 mm dikke multiplex plaat. De totale dikte bedraagt daarmee net geen 6 cm. Om dit verlijmde pakket heen komt een hardhouten lijst; voor de afwerking en om het zachte vurenhout te beschermen.

Het werkblad zal met elk van de staanders worden verbonden door middel van bouten en moeren, zodat het geheel demontabel blijft voor het geval dat nodig is. Onderlangs worden op dezelfde manier twee balken aan de staanders verbonden, voor de stevigheid. In de ruimtes onder het werkblad, passen links en rechts van de bankschroef (als het goed is) precies twee IKEA kastjes uit het IVAR kasten-systeem.

Ik hoop op deze manier een stevige en goed werkbare houtwerkbank te maken, die optimaal de ruimte in onze bijkeuken benut en ook nog eens betaalbaar is.




Up and running

Zo, toch maar weer WordPress geïnstalleerd voor mijn website, in plaats van Dokuwiki. Op deze manier ben ik iets flexibeler wanneer ik naast artikelen andere statische pagina’s ook berichten wil posten.

Nu nog de inhoud overzetten 🙂