 |
|
|
|
|
Mijn professionele ervaring ligt voornamelijk in Internet/web development en daarvan afgeleide applicaties met security als aandachtspunt.
Sinds juli 2001 ben ik werkzaam als freelancer. Momenteel ben ik per direct beschikbaar als
freelance senior software ontwikkelaar en security consultant voor projecten in Amsterdam of Spanje.
|
Vaardigheden / kennis
| Programmeertalen: |
BASIC, bourne shell, C, C++, JavaScript, Modula-2, Pascal, PHP, SQL, (Assembly, ASP, Java, Perl) |
| Protocollen: |
IP, UDP, TCP, FTP, TFTP, HTTP, SOAP, SMTP, POP3, telnet, SSH, SSL |
| File formaten: |
Atom, CSS, DTD, HTML, RSS, SMIL, WSDL, WML, XHTML, XML, XSL |
| Databases: |
LDAP, msql, MS SQL (FreeTDS), MySQL, Oracle (MFC ODBC, OO4O), Sybase (Rogue Wave DBTools++) |
| Bedrijfssystemen: |
Unix (*BSD, Irix, Linux, Mac OS X, Minix, Solaris), MS-DOS, Windows 2/3.11/9x/ME/NT/2000/XP, (ComOS, IOS) |
| Hardware: |
Cisco; Livingston Portmaster; PC; SGI Indigo, Indy, O2, Challenge S/XL, Origin 200; Sun 3/4/Netra |
| Anders: |
BS7799, CGI, DOM, DNS, GNU, iDEAL, ISAPI, ISO9001, jQuery, LinkedIn API, Magento, MFC, NSAPI, OO, OpenSSL, PGP, PHP-GTK, PHPUnit, Pingdom API, PKI, Prototype, Scrum, Selenium, VB, VC++, VID, WAP, Win32, XSLT, Zend Framework |
| |
|
Werkervaring
Derks.IT Amsterdam |
apr 2011 - heden
Momenteel zijn we bezig met het ontwikkelen van een commerciële publieke Magento extensie voor integratie met PHPlist en het uitwerken van een eigen idee (Hackmonitor) welke ook gebouwd wordt als Magento extensies (PHP, MySQL, Magento, Zend Framework; Linux, Mac OS X).
| ABN AMRO Amsterdam |
okt 2010 - heden
Voor een nieuw te lanceren interne website voor interne vacatures, Smartjobs, heb ik op basis van TomatoCMS / Zend Framework een website geïmplementeerd
waarbij ik samenwerkte met de product owner, een interaction designer, designburo Luyfel, IT Infrastructure en de hosting provider (PHP, MySQL, TomatoCMS, Zend Framework, LinkedIn API, Selenium; Linux, Windows; Scrum).
| Tele2 Amsterdam |
sep 2011 - okt 2011
Voor de Tele2 website heb ik een aantal kleinere projecten gedaan zoals:
- iDEAL implementatie voor betalingen
- een uptime pagina voor servers gebruikmakend van de Pingdom API
- wijzigingen voor een nieuw product op de website
- beheer tool voor affiliate HTML snippets on the website
- voorbereidend onderzoek voor het gebruik van de Icecat database
(PHP, MySQL, Zend Framework, jQuery, Pingdom API; Linux, Mac OS X, Windows).
| Lost Boys Amsterdam |
jul 2011 - jul 2011
Het Magento project waar ik aan zou werken werd na enkele dagen ingetrokken waardoor ik daarna mezelf ruim een week lang nuttig heb gemaakt als frontend developer voor monumenten.nl en NS Hispeed (PHP, MySQL, Zend Framework, jQuery, HTML5, CSS3; Linux, Mac OS X, Windows).
| Bruno Klassiek Haarlem |
jul 2010 - aug 2010
Voor deze klassieke CD en DVD speciaalzaak heb ik een eenvoudige webwinkel voor de verkoop van kaartjes opgezet op basis van Magento met custom bugfixes en aanpassingen (PHP, MySQL, Magento; MacOSX, Linux, Windows).
| StudyTravel Malaga / Amsterdam |
apr 2010 - dec 2010
Als PHP software developer heb ik me wederom bezig gehouden met het implementeren van nieuwe functionaliteiten in en onderhoudswerkzaamheden aan de website (PHP, Smarty, MySQL, JavaScript; MacOSX, Linux, Windows).
| Ibarra y Sanjuan Amsterdam |
mar 2010 - jun 2010
Voor deze klant heb ik een B2B webwinkel opgezet op basis van Magento met custom bugfixes en aanpassingen (PHP, MySQL, Magento; MacOSX, Linux, Windows).
| Miky.nl Den Haag |
jan 2010 - feb 2010
Voor deze website heb ik een aantal bugs opgelost en nieuwe functionaliteiten geïmplementeerd (PHP, Zend Framework, MySQL; MacOSX, Linux, Windows).
| StudyTravel Malaga / Amsterdam |
mar 2009 - mei 2009
Als PHP software developer heb ik me bezig gehouden met het implementeren van nieuwe functionaliteiten in en onderhoudswerkzaamheden aan de website (PHP, Smarty, MySQL, JavaScript; MacOSX, Linux, Windows).
| TomTom Amsterdam |
mar 2008 - feb 2009
Als PHP software developer lever ik mijn bijdrage aan het development team dat verantwoordelijk is voor de website van TomTom (PHP, Smarty, MSSQL, JavaScript; Linux, Windows; Scrum).
Enkele projecten:
- Apache module voor authenticatie gebaseerd op mod_auth_tkt (C, OpenSSL, FreeTDS; Linux)
- verbeteren van het applicatie framework (PHP, Smarty, MSSQL, JavaScript; Linux, Windows)
| BSM Amsterdam |
sep 2007
Static code analyse van HTML aanmeldingsformulier geschreven in PHP voor een grote bank (PHP, MySQL; Linux, MacOSX, Windows).
| Telfort Amsterdam |
jan 2007 - jul 2007
Opnieuw was ik onderdeel van het ontwikkelteam en verantwoordelijk voor een aantal projecten.
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
| marktplaats.nl Amsterdam |
aug 2006 - dec 2006
Gedurende een aantal maanden was ik onderdeel van het ontwikkelteam en verantwoordelijk voor een aantal projecten
met betrekking tot de website en het beheer gedeelte. (PHP, PEAR, Smarty, MySQL, JavaScript; Linux, Windows)
| Robert Vlug Haarlem |
jul 2006
Ik mijn inzichten bijgedragen aan het hoofdstuk over beveiliging in het boek "Een eigen webwinkel voor Dummies"
| Derks.IT Amsterdam |
mrt 2006 - sep 2008
In samenwerking met Holland Online zijn we bezig een aantal ideeën uit te werken, waaronder een community site, shops en
eenvoudige pay-per-view sites. Voor de community site heb ik o.a. betalingen d.m.v. iDEAL mogelijk gemaakt en maak ik gebruik van
een eigen applicatie framework. (PHP, PEAR, MySQL, JavaScript, SourceGuardian; Linux, Windows)
| ProvenModels Amsterdam |
jan 2006 - feb 2006
Voor deze klant heb ik een lijst met bugs in de reeds aanwezige code opgelost. (PHP, MySQL, JavaScript; Linux, Windows)
| Ber-Art Breda |
feb 2005 - nov 2007
Ondersteuning Trojan Scan en security support.
| Telfort Amsterdam |
nov 2004 - dec 2005
In deze periode heb ik, naast allerlei mini-applicaties en onderhoud aan bestaande applicaties,
een applicatie framework gebouwd welke de basis is voor toekomstige applicaties.
O.a. het registratie/authenticatie gedeelte van de website heb ik omgebouwd naar dit framework,
naast aanpassingen in de functionaliteit. (PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
| Xinox Delft |
dec 2004
Voor het product JCreator van Xinox Software heb ik een download registratie formulier, licentie beheer en mailing list
gebouwd (de mailing list is gebaseerd op het open source pakket PHPList welke gekoppeld is aan de downloaders). (PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
| Demon Amsterdam |
sep 2004
ISP Demon had performance problemen met een PHP/MySQL applicatie die gebruikt werd voor Customer Care.
Na analyse van de problematiek, is de MySQL configuratie aangepast, geheugen uitgebreid en voorzieningen
getroffen voor het archiveren van verouderde gegevens. (PHP, PEAR, MySQL; Linux, FreeBSD)
| Derks.IT Amsterdam |
mei 2004 - aug 2004
Voor een online advertentie bedrijf heb ik een library gemaakt welke dubbele records uit de klanten database verwijdert (incl. een overeenkomstige applicatie en
een uitbreiding op het toevoegen van nieuwe klanten welke m.b.v. deze library controleert of de toe te voegen klant niet reeds bestaat).
Ook heb ik reeds aangepaste, maar nog niet geheel werkende order schermen aangepast en gerepareerd. (PHP, PEAR, PHPlib, Smarty, MySQL, JavaScript, HTML; Linux)
| Neverseen Almere |
dec 2003 - feb 2004
Verspreid over enkele maanden heb ik de website van Pacorini Vlissingen in elkaar gezet,
incl. een eenvoudig CMS voor het onderhoud van de nieuws artikelen (persberichten).
(PHP, PEAR, MySQL, Javascript; Linux, Windows)
|
Telfort Amsterdam |
jun 2003 - apr 2004
Gedurende negen maanden ben ik actief en pro-actief betrokken geweest bij het ontwikkelen van
diverse web-applicaties en API's. Pro-actief in het adviseren van te gebruiken technieken en methoden (o.a. PEAR DB_DataObject en toepassen van technieken als automatische documentatie generatie m.b.v. phpDoc/phpDocumentor, geautomatiseerd testen m.b.v. PEAR PHPUnit, etc). Ook bijgedragen aan security-awareness (ter illustratie: bij security audit (crystal box) op mijn code kwamen geen kritieke security problemen naar voren, enkele quotes: "defensieve manier van programmeren", "de enig juiste manier om hiermee [invoervalidatie] om te gaan", "zeer goede, vrijwel perfecte invoervalidatie").
Grotere projecten waar ik verantwoordelijk voor was:
- authenticatie en registratie op de website, incl. opzetten van gebruikersdatabase en uitgebreide en deels generieke beheer omgeving voor customer care (PHP, PEAR, MySQL, LDAP, HTML, JavaScript, shell script, perl)
- afhandelen van binnenkomende SMS en uitsturen van EMS logo
- MMS web-applicatie voor het bekijken van MMS berichten verstuurd aan mobiele telefoons zonder MMS ondersteuning (PHP, PEAR, mmsdiary, JavaScript, HTML, XSLT, SMIL)
- generieke API voor het verwerken van binnenkomende en uitsturen van uitgaande berichten (SMS, MMS, etc)
(PHP, PEAR, MySQL, dia: UML class diagrams)
|
Rubicon Vianen |
mrt 2003 - apr 2003
Voor een klant van Rubicon heb ik een bestaande web-applicatie gedeeltelijk omgebouwd en uitgebreid met nieuwe functionaliteit betreffende o.a. authenticatie en versturen van files (PHP, PHPlib, Smarty, MySQL, JavaScript, HTML; Linux, Windows, Solaris)
| Rubicon Vianen |
mrt 2003
Voor TPG Post heb ik het web gedeelte van de Persoonlijke Postzegels gebouwd, incl. de foto manipulatie (PHP, JavaScript, DHTML library, HTML; Linux, Windows)
|
Apidea Amsterdam |
dec 2002 - dec 2003
Voor ProRail heb ik gewerkt aan een project t.b.v. het ontsluiten van informatie betreffende stations. Mijn taak was het importeren van data (fotografie, spreadsheets en andere documenten) in MySQL database welke als SQLite database gebruikt wordt door een applicatie die vanaf CD draait. Om dit mogelijk te maken heb ik een SQLite driver voor metabase geschreven en een generieke database API voor Apidea framework. Ook heb ik patch gesubmit voor de PHP4 SQLite module welke helaas niet verwerkt is, waarschijnlijk omdat SQLite ondersteuning in PHP5 standaard is. (PHP, PEAR, metabase, MySQL, SQLite, VC++ 6, STL; Linux, Windows)
|
Derks.IT Amsterdam |
dec 2002 - apr 2003
Voor een klant heb ik alle functionaliteit voor een datingsite gebouwd, incl. leden registratie, authenticatie, chat, billing, handmatige matching, 128+ leden eigenschappen (PHP, PEAR, Smarty, MySQL, JavaScript, HTML; Linux, Windows)
| Vodafone UK |
jul 2002 - sep 2002
Voor het CMS van de website heb ik een aantal eenvoudige wijzigen doorgevoerd (PHP, Oracle, HTML, JavaScript, WebDAV; Linux, Windows 98).
|
Razorfish Europe Amsterdam |
apr 2002 - mei 2002
Voor het framework van een website voor auto taxaties in verschillende landen en verschillende talen per land, heb ik user authenticatie (incl. registratie etc.) geïmplementeerd. Verder heb ik bijdragen geleverd aan allerlei sub-projectjes (PHP, MySQL, HTML, JavaScript, Visual InterDev; Windows 2000).
|
Rits Automatisering Deventer |
mrt 2002 - jun 2003
Voor de Rits Account website heb ik user authenticatie (incl. registratie etc.) en user administratie geïmplementeerd (PHP, MySQL, HTML, JavaScript; Linux, Windows 98/2000). Tevens heb ik een module (DLL) gemaakt die het mogelijk maakt encryptie toe te passen in één van de applicaties van Rits Account (Visual C++, OpenSSL, PHP, MySQL, SOAP; Windows 98/2000).
|
Apidea Amsterdam |
feb 2002 - apr 2003
Naast het CMS om woonboten in te voeren, wijzigen etc. voor de website www.woonboot.nl, heb ik ook
een GUI applicatie geschreven waarmee bijv. op een laptop bij de klant foto's en gegevens van een woonboot ingevoerd kunnen worden welke later naar het CMS ge-upload kunnen worden. Onderdeel van de GUI applicatie was een versleuteling van de PHP bestanden om o.a. manipulatie te voorkomen (PHP, PHP-GTK, PEAR, ImageMagick; Linux, Windows)
|
EPOCera Amsterdam |
jan 2002
Voor EPOCera heb ik een applicatie ontwikkeld in Visual C++ die gebruik maakt van DOM om data(-structuren)
op te slaan en tegelijkertijd XML als de basis voor een scripting taal (Visual C++, MFC, XML; Windows 98/2000).
|
Apidea Amsterdam |
dec 2001
Als consultant heb ik geadviseerd over de interne automatisering van een klant van Apidea,
waarvoor ik ook een sessie met die klant heb bijgewoond aan de hand waarvan een kort rapport is geschreven.
|
Connected Software Rotterdam |
nov 2001 - feb 2002
Voor KnowWise, een informatiesysteem voor consumenten, heb ik encryptie en
HTTP proxy authenticatie geïmplementeerd (Visual Basic, ASP, MS SQL; Windows 98/2000).
|
Stachanov Amsterdam |
jul 2001 - aug 2001
Als freelancer heb ik een project getrokken met als doel een documenten beheer systeem via intranet/internet (web-interface) te ontwikkelen (PHP, JavaScript, ODBC, MySQL, Microsoft SQL Server; Windows 98/NT, Linux).
en ook 2 kleine deelprojecten voor een ander project (C, PHP; Windows 98/NT, Linux).
|
Wellance Diemen |
jan 1999 - jun 2001
In de functie van Programmer Analyst (Senior sinds januari 2001) ben ik verantwoordelijk geweest voor het frontend gedeelte voor de documenten uitwisseling
van regedoc, een systeem voor het beveiligd en geregistreerd documenten uitwisselen over Internet of intranet.
Dit hield in het ontwerpen en implementeren van een ISAPI voor Microsoft IIS
met performance counters, registry-instellingen, het gebruik van eventlog, encryptie van communicatie en timestampen van documenten,
plus een configuratie utility. Hiervoor heb ik o.a. MFC, PGP,
Sybase en Oracle backend databases (Rogue Wave DBTools++, Oracle OO4O, ODBC) gebruikt (Visual C++; Windows NT/2000).
Verder heb ik me ook bezig gehouden met business security als lid van het Security Project Team en heb ik bijgedragen aan het behalen van de BS7799 certificering.
|
Siteways Amsterdam |
sep 1996 - dec 1998
In de functie van Junior Programmeur (sinds maart 1997) heb ik gewerkt aan:
- bewakingssysteem voor machines, websites, database, betalingsssystemen en diversen (C, shell scripts; IRIX)
- veiliger versie van de FTP daemon (alleen gebruikers in een bepaald bestand kunnen buiten hun home-directory) (C; IRIX)
- porten van verscheidene Perl scripts naar PHP (PHP; Windows NT, IRIX)
- systeem voor tegengaan van misbruik van website account/authorisatie door meerdere personen (C, NSAPI, msql, shell scripts; IRIX)
- diverse programma's en scripts t.b.v. websites, authorisatie- en betalingsdatabases (C, PHP, msql, shell scripts; IRIX, Linux)
- shops voor websites (assortiment, shopping basket en interface naar betaalmodule) (PHP, msql; IRIX)
- systeem voor webserver statistics rapportage (email en HTML) (C, PHP; IRIX)
- oplossing om over te schakelen op ISDN als de Internet verbinding geen voldoende throughput meer levert
(op lokatie in de V.S. heb ik deze oplossing geinstalleerd en verbeterd) (shell script; IRIX)
- porten van (Unix) C JPEG6a library naar VC++ t.b.v. ActiveX control (Visual C++ 5.0; Windows 95)
- porten van C++ FraunHofer MPEG1-III audio decoder naar Java (C++, JDK 1.1; Windows 95, IRIX)
- Adobe Premiere Plugin voor JPEG en AVL (LiveStream) (Visual C++ 5.0; Windows NT)
- aanzet ontwerp voor een generieke shop voor Internet (Word 97; Windows NT)
In de functie van Assistent Systeembeheer ben ik verantwoordelijk geweest voor de normale taken van
systeembeheer als backup, beveiliging, mail, DNS, hard- en software installeren en configureren, en kleine
programmeerwerkzaamheden (Systemen: SGI, PC, Livingston, Cisco).
|
Vrije Universiteit Amsterdam |
sep 1993 - aug 1994
In de functie van Studentassistent voor de vakken Software Engineering en Computernetwerken
bij de faculteit Wiskunde & Informatica begeleidde ik studenten met de praktica Software Engineering en Computernetwerken.
Bij het eerste practicum begeleidde ik vijf groepen van ongeveer vijf personen. Men moest in team- verband een 'groot' programma
schrijven, in dit geval ging het om een soort routeplanner. De verschillende stadia waren: definitie van eisen, ontwerp,
implementatie (in C++), evaluatie. Tevens had ik tot taak het beoordelen van het ingeleverde werk. Bij het tweede practicum
begeleidde ik groepen van één of twee personen met het ontwerpen en implementeren (in C) van (een vereenvoudiging van) de IP
en UDP netwerk protocollen, en een tftp daemon en client. Hier was ik slechts verantwoordelijk voor de begeleiding, er werd
getest en beoordeeld door anderen.
|
|
Opleiding
Vrije Universiteit Amsterdam |
sep 1990 - aug 1998
Studierichting Informatica met als hoofdrichting computersystemen, afgerond met bul.
Tijdens mijn studie heb ik onder meer practica gevolgd voor de vakken Bedrijfssystemen,
Compilerbouw, Computernetwerken, Programmeertalen (minder bekende talen: ABC, Ada,
Miranda, Prolog en Smalltalk) en Software Engineering.
|
|
Congressen, cursussen & seminars
| Magento |
jun | 2011 |
Magento Developer's Paradise 2011 |
| Magento |
okt | 2010 |
Magento Developer's Paradise 2010 |
| Mediaplaza |
feb | 2008 |
Kennismaken met informatiebeveiliging |
| (ISC)² |
nov | 2007 |
Certified Information Systems Security Professional (CISSP) [verlenging] |
| MySQL |
jan | 2005 |
MySQL Core Certification (MCC) |
| Zend |
nov | 2004 |
Zend Certified Engineer (ZCE) [PHP] |
| (ISC)² |
sep | 2004 |
Certified Information Systems Security Professional (CISSP) [verlenging] |
| PHP Magazine |
mei | 2004 |
International PHP Conference 2004 Spring Edition |
| Sun |
sep | 2001 |
Sun Certified Programmer for Java 2 Platform (SCJP) |
| (ISC)² |
jun | 2001 |
Certified Information Systems Security Professional (CISSP) |
| Microsoft |
okt | 2000 |
Developer Days 2000 |
| Baltimore Tech. |
mrt | 2000 |
Mobile Commerce Security Seminar |
| InfoSupport |
nov | 1999 |
Mastering MFC Development Using Microsoft Visual C++ 6.0 |
|
Neven activiteiten
open source projecten |
aug 2001 - heden
Mijn eigen open source projecten:
Magento:
EmailImages
ook op Github: EmailImages
(zie ook mijn website gericht op Magento: Magentron),
PEAR:
Crypt_Xtea,
Trojan scan.
Bijdragen aan verschillende Open Source projecten (
Ecomdev_PHPUnit,
fwanalog,
SnortSnarf,
Metabase,
modman,
NuSOAP,
PEAR: PHPDoc,
PHP:
OpenSSL
module).
|
| VvEAmsterdam |
aug 2006 - dec 2011
Voor meer dan vier jaar was ik de penningmeester van mijn VvE.
|
| NGI |
2001 - 2009
Nederlands Genootschap voor Informatica (NGI), afdeling Beveiliging.
|
S.V. Cyclades Amsterdam |
okt 1993 - aug 1998
Actief lid van studentenvereniging Cyclades, waar ik commissielid was van o.a. de bar, sport en introductie commissies en lid van het dispuut Elysion, huidige status: POR (Post Ontvangend Reünist)
(Cyclades).
|
|
|
|