Date

Al sinds ik jong was heeft techniek altijd mijn interesse getrokken. Dit begon met het uit elkaar halen van oude radio's die ik van de firma Paulus uit Ermelo kreeg. Dat waren vrienden van mijn ouders die zij via de kerk kenden. Eens in de zoveel tijd mocht ik een radio komen ophalen en die haalde ik helemaal uit elkaar. Maar dan ook echt hélemaal. Tot de laatste weerstand aan toe soldeerde ik alles van de printplaat.

IBM 5150

Toen ik op de middelbare school zat kreeg ik mijn eerste eigen PC. De PC was niet nieuw bij ons thuis. Mijn vader had al vrij gauw een 8088 via zijn werk gekocht, een Volleman. In de tijd dat PC-Privé nog bestond. Wij hadden overigens een Pentium 133MHz, maar ja, die mocht ik niet uit elkaar halen.

Via een klasgenootje kreeg ik een oude IBM AT! Wat een bakbeest was dat. Op die bak ben ik ook voor het eerst met programmeren begonnen. Nou ja, programmeren. Ik typte hele pagina's Basic-code over uit de Kijk en hoopte dat het zou werken! Helaas was dat niet altijd het geval en dan was het alles nalezen op een eventuele typefout.

Wat mij toch het meest bleef trekken aan de PC was de hardware. Na de MAVO ben ik MBO Systeembeheer gaan doen. Dit was een erg leuke tijd! Wij waren een soort pilot-opleiding, dus een hoop dingen liepen niet helemaal zoals het bedacht was. Een aantal vakken bleken niet zo lekker te lopen dus die kregen wij dan cadeau. Ja, gewoon een voldoende op je cijferlijst, zonder dat je er iets voor hoefde te doen. Dat waren nog eens tijden! Met mijn MBO-klasgenoten heb ik overigens nog steeds regelmatig contact. Erg leuk!

Na het MBO ben in Zwolle gaan studeren, aan Windesheim. Bedrijfskundige Informatica, wat dus vrij weinig met hardware te maken had. Ik had besloten dat ik toch wat meer de bedrijfskundige kant op wilde. Iets waar ik na 2 jaar wel op terug was gekomen. Ik her-ontdekte dat ik toch echt een hard-/software man ben en van bedrijfsprocessen in kaart brengen wordt ik niet echt warm of koud. Mijn laatste stages en afstudeerstage probeerde ik dan ook zoveel mogelijk te richten op techniek. En met name op programmeren.

Ik was al een beetje bezig met PHP, wat eigenlijk scripten is en niet programmeren, maar goed. Mijn stage bij IZI Services in Utrecht was een gouden stage! Daar ben ik pas echt enthousiast geworden voor PHP. Voor mijn afstudeerstage heb ik met opzet niet gekozen om dit bij IZI Services te doen, omdat ik toch nog vrijblijvend wat rond wilde kijken bij andere bedrijfjes. Zo kwam ik Adsense terecht, ook in Utrecht gesitueerd, aan de Biltstraat. Daar kwamen mijn 2 interessewerelden weer samen; PHP en hardware.

Adsense levert een track & trace platform waarmee je bijvoorbeeld je voertuigvloot inzichtelijk kunt maken. Ieder voertuig heeft een GPS-tracker aan boord met een GPRS-modem. Iedere zoveel seconde stuurt de tracker zijn GPS-lokatie via het GPRS-netwerk door naar het track & trace platform. Op een kaartje kun je dan zien waar ieder voertuig zich bevind en eventuele andere gegevens, zoals snelheid of brandstofniveau. Erg gaaf!

Arduino Uno

Ik ben nu zo'n 8 jaar bezig met PHP denk ik en ik wil wel wat anders ;). Niet dat ik wil stoppen met PHP maar ik wil er wat bij. Ik kwam toen het volgende tegen; Arduino. Wederom een combinatie van hard- en software en geschikt voor beginners en gevorderden! Arduino is een platform gebaseerd op de ATMega microcontroller en deze zit op een klein printplaatje waar je heel eenvoudig allerlei soorten sensors, LCD's, LED's enz. op aansluiten. Via de eenvoudige Integrated Development Environment (IDE) kun je stukjes code schrijven en uploaden naar de Arduino. Feitelijk schrijf je C-code maar Arduino heeft in haar IDE een aantal handigheidjes toegevoegd die voor een beginner zoals mijzelf erg handig zijn. Ik heb hier al een aantal leuke dingetjes mee in elkaar gezet!

Op webgebied is er ook steeds meer. PHP is een van de meest gebruikte scriptalen voor webdevelopment, denk ik, maar er is meer. Zo ben ik onlangs begonnen met Python. Dit is een scriptaal die vooral geschreven is met het oog op semantiek. En daar hou ik nou van. Ik ben, denk ik, geen autist, maar heb zeker autistische trekjes. Wat het grote probleem is met PHP, is dat PHP niet semantisch is. En daarmee bedoel ik dat de syntax niet altijd consequent is. Een voorbeeldje, de syntax van de functie in_array() waarmee je kunt testen of een waarde in een gegeven array voorkomt:

bool **in\_array** ( mixed `$needle` , array `$haystack` [, bool `$strict` = **`FALSE`** ])

De eerste parameter is de zogenaamde needle, oftewel de waarde waar je naar zoekt. De haystack is de array waarin je wilt zoeken. Helder en logisch. Maar nu bijvoorbeeld de functie strstr() waarmee je kunt testen of een waarde in een gegeven string voorkomt:

string **strstr** ( string `$haystack` , mixed `$needle` [, bool `$before_needle` = false ] )

Nu is de volgorde van needle en haystack in eens andersom! Niet heel erg handig als je snel iets wilt programmeren en niet bij iedere functie op je scherm wilt controleren wat de juiste syntax is. Die volgorde moet gewoon voor iedere functie gelijk zijn. Bij Python is dit gelukkig wel zo en daarom vind ik dit een erg fijne taal!

Python is echter niet zozeer op webdevelopment gericht, waar PHP dit wel is. Je kunt overigens met Python prima een webapplicatie bouwen hoor. Je hebt alleen een zogenaamde Web Server Gateway Interface (WSGI) nodig. Dit is een communicatielaag tussen Python en de webserversoftware, bijvoorbeeld Apache. Ik ben nog niet voldoende met Python aan de slag geweest om je er wat meer over te vertellen, maar dat heeft dan ook te maken met het onderwerp waar deze blogpost eigenlijk over gaat; wat te schrijven.

Ik lees heel erg veel. Ik heb al tientallen artikelen en Arduino projecten gelezen. Hetzelfde geld voor Python en bij ieder project of stukje code denk ik "oh ja, dat snap ik en dat kan ik ook" en dan is mijn interesse verloren. "Waarom zou ik iets gaan schrijven wat ik ook eenvoudig kan kopiëren/plakken?" denk ik dan en ik heb gelijk, toch? Het probleem dat hierbij ontstaat is dat is dat ik de prima begrijp wat er gebeurd als ik een stukje code lees, maar ik beheers de syntax niet. Stel dat ik zo'n stukje zou moeten schrijven, dan weet ik het niet. Logisch, ik beheers de taal niet voldoende om het ook te kunnen schrijven.

Nu zit ik dus, met enige tegenzin, een eenvoudig Arduino projectje te maken. Puur en alleen om meer gevoel voor de taal te krijgen. Dat voelt niet helemaal goed maar ik wil er zo graag mee verder! Wordt vervolgt dus..