|
|
|
My professional experience is mostly in Internet/web development and applications derived from it with special attention towards security.
Since July 2001 I have been working as a freelancer and I have been using PHP since 1996.
In that time I have seen many different companies from the inside and many different ways to build applications and infrastructure.
During my time as a developer I have gained a lot of knowledge, experience and confidence in being able to resolve real issues.
I believe that the most important skill of a developer is the ability to find appropriate information on how to solve a problem and then evaluate it for usability and correctness.
My objectives when developing code may differ per customer but if it is up to me I choose to deliver high-quality and secure code.
Currently, I'm looking for remote freelance work, ideally using Laravel, or preferably to be part of project in a non-programming role, such as Pre/Post Sales Engineer, Project Manager, Scrum Master, CTO or Co-Founder.
|
Skills / knowledge
Programming languages: |
BASIC, bourne shell, C, C++, Dart, Go, JavaScript, Modula-2, Pascal, PHP, Python, SQL, (Assembly, ASP, Java, Perl) |
Protocols: |
IP, UDP, TCP, FTP, TFTP, HTTP, SOAP, SMTP, POP3, telnet, SSH, SSL |
File formats: |
Atom, CSS, DTD, HTML, RSS, SMIL, WSDL, WML, XHTML, XML, XSL |
Databases: |
Aurora DB Cluster, Elasticsearch, LDAP, MariaDB, msql, MS SQL (FreeTDS), MySQL, Oracle (MFC ODBC, OO4O), Percona, PostgreSQL, SQLite, Sybase (Rogue Wave DBTools++) |
Operating systems: |
Unix (*BSD, Irix, Linux, Mac OS X, Minix, Solaris), MS-DOS, Windows 2/3.11/9x/ME/NT/2000/XP/etc, (ComOS, IOS) |
Hardware: |
Cisco, Force10, Livingston Portmaster, NetApp, Netgate, PC, QNAP, SGI (Indigo, Indy, O2, Challenge S/XL, Origin 200); Sun 3/4/Netra |
Other: |
Agile, Alexa, Ansible, Appcelerator Titanium, AWS, BS7799, CGI, CI/CD, Codeship, composer, CVS, DevOps, DHL Express API, Docker, DOM, DNS, Elastic Email, ExtJS, Flutter, Gearman, Git, GitLab, GNU, HAProxy, iDEAL, ISAPI, ISO9001, JIRA, jQuery, Kibana, Laravel, Lean, LinkedIn API, Magento, Mattermost, MFC, MyParcel API, NSAPI, OO, OpenSSL, Perforce, pfSense, PGP, PHP-GTK, PHPUnit, Pingdom API, PKI, Prototype, redis, Scrum, Selenium, SendInBlue, Slack, Subversion (SVN), Symfony2/3, Teams, Trello, UptimeRobot, Vagrant, VB, VC++, Vue.js, VID, VMware, WAP, weasyprint, Win32, WordPress, XSLT, Zend Framework, ZFS |
|
Experience
Derks.IT Alicante, Spain |
Jul 2021 - now |
Lead Developer (remote)
I was asked to do a complete inventory of a mobile e-wallet application (Android, iOS swift) including the corresponding API and control panel (CakePHP), including connectivity to third-party providers, tech stack, hosting, etc.
After that I was tasked to lead the complete development of the project, for which I am building a team of developers to fix discovered issues and to prepare the application for public release.
In order to do so I implemented a development process, moving the source code into a source control system (GitLab), introducing to work with branches (GitLab Flow with environment branches), adding database migrations, dotenv-based configuration, enabling the use of different environments (such as development, test, production), configuring automated deployments and adding Docker configuration to be able as a new developer to quickly start with development.
Furthermore, I am also responsible for deploying, maintaining and monitoring the server infrastructure in AWS using Ansible.
(PHP, MySQL, CakePHP; ansible, Docker, GitLab, git, Trello; AWS, Linux, Mac OS X)
|
Derks.IT Alicante, Spain |
Jun 2021 - now |
Security Analyst/PHP Developer (remote)
For a group of medical clinics I was asked to do an inventory of the PHP 5.x based legacy in-house application to manage customer data and test results, targeting specifically the security of the system as it concerned medical data.
After that I updated the code for PHP 7.4, moved the source code into source control (GitLab) restructured the source code (also adding some basic unit tests, SQL and PHP-based database migrations, dotenv-based configuration and minor changes to the data model) and fixed the discovered and other minor issues (some of those issues where addressed using encryption).
To prepare for automated deployment based on pushes to specific branches (GitLab Flow with environment branches) I wrote an Azure DevOps pipeline to be used for testing before deployment and configured a Docker container to mimic the server used in Azure DevOps.
(PHP, MySQL; ansible, Azure DevOps, Docker, git, Trello; Linux, Mac OS X)
|
Collective Flow Hoogerheide |
Jul 2021 - Sep 2021 |
PHP Developer (remote)
A small script to communicate call status to a third party provider.
(PHP, MySQL, Asteriks; Linux, Mac OS X)
|
Derks.IT Alicante, Spain |
Mar 2021 - Jul 2021 |
Laravel Programmer (remote)
For two internal projects enabling automated processing of invoices and managing server infrastructure I used (among others):
- Invoice2data, a python library to extract data from invoices
- Ansible, an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code
- Terraform, another open-source infrastructure as code software tool
- Shell scripts
The project to manage server infrastructure is currently on hold.
(PHP, MySQL, Laravel, Vue.js; ansible, git, invoice2data, terraform; Linux, Mac OS X)
|
Derks.IT Alicante, Spain |
Mar 2021 - Jun 2021 |
PHP Lead Developer (remote)
For a Dutch customer offering services to help companies manage and communicate with their employees, I improved their development process by moving the source code into a source control system (GitLab), introducing to work with branches and merging (GitLab Flow with environment branches), adding database migrations, configuring a test environment, configuring Docker container to quickly have a fully working development environment, configuring automated deployments (GitLab pipelines) and educating other developers and project managers on how to use these.
Furthermore, I also fixed bugs and implemented new features.
(PHP, MySQL; Docker, GitLab, git; Linux, Mac OS X)
|
Restocks Breda |
Dec 2020 - May 2021 |
Laravel Developer (remote)
- Preparing integration with DHL Express for EU-wide shipping
- Preparing for redesign API using OpenAPI 3.0
- Minor bugfixes and functionalities
(PHP, MySQL, Laravel; GitHub, Postman, Trello; Linux, Mac OS X)
|
Derks.IT Alicante, Spain |
Jun 2020 - Jul 2020 |
Laravel Programmer (remote)
For a classified car classics website built using Laravel, I have fixed many layout and functionality issues.
(PHP, MySQL, Laravel; git, Trello; Linux, Mac OS X)
|
Iristrace Ibi / Alicante, Spain |
Dec 2018 - Jun 2020 |
Senior Backend Developer (remote)
Helping Iristrace to improve their codebase and reporting, reduce security vulnerabilities and to scale their platform.
(PHP, Python, Go, MySQL, CodeIgniter, Symfony; GitLab, RabbitMQ; Docker, Linux, Mac OS X)
|
Angry Nerds Rotterdam |
Nov 2019 - Jan 2020 |
Senior PHP Programmer (remote)
Working as a team member on a huge project written in CodeIgniter (100k+ LOC) mostly resolving security vulnerabilities in an automated fashion using regular expressions in a Makefile.
(PHP, MySQL, CodeIgniter; Bitbucket, Vagrant; Linux, Mac OS X)
|
Schipper Vaasen Amsterdam |
Mar 2019 - Dec 2019 |
Senior PHP / Appcelerator Titanium Developer (remote)
For an automotive company I was asked to perform some minor bugfixes and other maintenance on their API and semi-internal website (made with CakePHP) and app (created with Appcelerator Titanium).
(PHP, MySQL, CakePHP; Appcelerator Titanium; Linux, Mac OS X)
|
Hoogheemraadschap
van Rijnland Leiden |
Nov 2019 |
Senior PHP Programmer (remote)
For this client I fixed some minor issues in a web application after they upgraded PHP.
(PHP, MySQL; Linux, Mac OS X)
|
Kuveno Helsinki, Finland |
Oct 2018 - Nov 2019 |
Payroll Recruiter
Through my Alicante Tech Meetup I was contacted by Kuveno to help them find developers in the Alicante area to work remotely on their platform.
Pretty quickly I found two Javascripts developers which became my employees working exclusively for Kuveno.
|
Restocks Barendrecht |
May 2019 - Nov 2019 |
Laravel Developer (remote)
- Added shipping provider integration for DHL Express, allowing it to co-exist with the previous shipping provider (MyParcel) integration
- Added migrations, tests
- Preparing migration of payment provider to Stripe
- Many minor functionalities and improvements, among others in automated deploys and translation processing
(PHP, MySQL, Laravel; Bitbucket, Elasticsearch, Envoyer, Trello; Linux, Mac OS X)
|
We're Agile! Amsterdam Alicante, Spain |
Mar 2017 - Aug 2019 |
Owner / Director
I saw an opportunity working for Dutch clients with a team in Alicante, Spain. So I opened an office and hired some programmers. Unfortunately, it was more difficult than I expected and after 2 years I had to close the office.
|
Derks.IT/Mioo Alicante, Spain |
May 2017 - Dec 2018 |
Laravel / Flutter Developer (remote)
Together with Mioo we are working as a bootstrapped startup on a mobile application that communicates with an API built with Laravel.
Initially I was only responsible for the web part (API + admin), but since I have started to build the mobile application from scratch using flutter.
(PHP, Dart, MySQL, Laravel; flutter, git, Trello; Linux, Mac OS X)
|
Derks.IT Amsterdam Alicante, Spain |
Nov 2018 - Dec 2018 |
Laravel Alexa Skill Developer
Because of personal interest and trying a possible business idea I created an Alexa skill that allows a user to order wine.
The products contained in the database where extracted from the provider's website using scraping.
(PHP, Python, MySQL, Laravel; Alexa, Envoy, Scrapy; Linux, Mac OS X)
|
Derks.IT Amsterdam Alicante, Spain |
Mar 2018 - Jun 2018 |
Laravel Programmer (remote)
A house rental intermediary website wanted to migrate from NodeJS to Laravel, so with a small team we built everything from the ground up based on a provided new design.
This involved, among others, regularly retrieving rentals information from different API's, displaying rentals on map, allowing the rentals to be administered, sending emails using Elastic Email, etc.
(PHP, MySQL, Laravel; Codeship, Elastic Email, Envoy, Redis, Scout; Linux, Mac OS X)
|
Maxbatt Deurne |
Dec 2017 - Jun 2018 |
Laravel Developer (remote)
For this client I built an API with administration area to receive measurements at 5-minute intervals for up to tens of thousands of battery monitor devices in order to trigger alerts for required maintenance.
The API protocol was consisely documented by me so that the hardware developer could implement it accordingly on the Arduino platform.
The server architecture was setup using Aurora DB Cluster for production and Percona XtraDB Cluster for test, on top of a tinc VPN with HAProxy proxying both the web and database services in order to allow easy maintenance additionally using reverse proxy CloudFlare.
(PHP, MySQL, Laravel, Aurora DB Cluster; Arduino, Cloud Flare, Envoy, HAProxy, Percona XtraDB Cluster, tinc; Linux, Mac OS X)
|
Derks.IT Amsterdam Alicante, Spain |
Sep 2017 - Mar 2018 |
Laravel Programmer (remote)
An academic researcher wanted to have an application to make high school students' homework more efficient by having an application that allows students to do the exercises online and to generate statistics for further analysis.
(PHP, MySQL, Laravel; Envoy; Linux, Mac OS X)
|
Stackscale Amsterdam Alicante, Spain |
Jul 2012 - Jul 2017 |
Lead Developer
I worked among others on the following projects:
- Authentication and authorisation API using the latest encryption standards
- Queue library for executing tasks including Python modules, external scripts and repeating tasks
- Different tools and modules for management of VMware environments
- Drivers to control advanced netwerk equipment like switches and routers (Cisco / Force10 / Arista)
- Management of network attached storage (NAS) equipment and datastores (volumes) (NetApp / Nexenta / Oracle / Solaris / ZFS)
- Add new functionality to an API written in Django REST Framework with an accompanying user interface built with ExtJS
(PHP, Python, MySQL, Percona, ExtJS, Django; Linux, Mac OS X, Windows)
|
CliQ Digital Amsterdam |
Jul 2012 - Jun 2013 |
Lead Developer
(PHP, MySQL, Symfony2, Gearman, PHPUnit, Selenium; Linux, Mac OS X)
|
Derks.IT Amsterdam |
Apr 2011 - Jul 2012 |
Magento Programmer
I have been working with a small team on the development of a commercial and publicly available Magento extension that provides integration
with PHPlist and another idea (Hackmonitor) which would be completely developed as
Magento extensions.
(PHP, MySQL, Magento, Zend Framework; Linux, Mac OS X)
|
Elsevier Amsterdam |
May 2012 - Aug 2012 |
Magento Developer (remote)
For accepting a license agreement for a specific product I have created a Magento extension.
(PHP, MySQL, jQuery, Magento; Linux)
|
Derks.IT Amsterdam |
Mar 2012 - Apr 2012 |
Magento Programmer (remote)
For a client (media/digital agency) I resolved most of the most eye-catching issues in a not yet fully
finished Magento website (mainly bugs in parts developed by a third party, integration of extensions and a
newsletter API).
(PHP, MySQL, jQuery, Magento; Linux)
|
Derks.IT Amsterdam |
Jan 2011 - Mar 2012 |
Magento Developer (remote)
For a French client (fashion retail) I translated the graphical/HTML design into a working, dynamic
HTML/JS/CSS version which I then in cooperation with an offshored team translated into a Magento
template. Different to this website was the extensive use of dynamic elements on the homepage.
(PHP, MySQL, jQuery, Magento; Linux)
|
Derks.IT Amsterdam |
Dec 2011 - Mar 2012 |
Magento Programmer (remote)
For a client in the online retail (equestrian sports) I resolved most of the most eye-catching issues in a not yet fully
developed Magento website (such as export from MS SQL, import with automatic creation of attribute values, layered navigation
using checkboxes, bugs in payment method extension, simple integration with Exact).
(PHP, MySQL, jQuery, Magento; Linux)
|
Derks.IT Amsterdam |
Dec 2011 - Feb 2012 |
Senior PHP Developer (remote)
For a client in the automotive industry I have made a web application (partially nearshore) with which employees could
make a selection from a number of template images using a visual editor which will be used to create a PDF which is
then sent via email.
(PHP, MySQL, jQuery, CodeIgniter; Linux)
|
Tele2 Amsterdam |
Sep 2011 - Oct 2011 |
Senior PHP Programmer
For the Tele2 website I did a couple of smaller projects such as:
- iDEAL implementation for payments (iDEAL = the Dutch standard for online payments by the major banks)
- a uptime page for servers using the Pingdom API
- modifications for enabling a new product line on the website
- management tool for affiliate HTML snippets on the website
- research preparing use of the Icecat database
(PHP, MySQL, Zend Framework, jQuery, Pingdom API; Linux, Mac OS X, Windows)
|
Lost Boys Amsterdam |
Jul 2011 - Jul 2011 |
Senior PHP Developer
The Magento project that I would work on was cancelled after a couple of days after which I made myself useful for more than a week as frontend developer for monumenten.nl and NS Hispeed.
(PHP, MySQL, Zend Framework, jQuery, HTML5, CSS3; Linux, Mac OS X, Windows)
|
ABN AMRO Amsterdam |
Oct 2010 - Aug 2011 |
Senior PHP Programmer
The new internal website for internal vacancies, Smartjobs, was developed using TomatoCMS / Zend Framework cooperating with the product owner,
an interaction designer, design agency Luyfel, IT Infrastructure and the hosting provider
(PHP, MySQL, TomatoCMS, Zend Framework, LinkedIn API, Selenium; Linux, Windows; Scrum)
|
Bruno Klassiek Haarlem |
Jul 2010 - Aug 2010 |
For this specialised classical CD and DVD store setup a webshop for selling tickets to classical concerts based on Magento with custom bugfixes and customisations.
(PHP, MySQL, Magento; MacOSX, Linux, Windows)
|
StudyTravel Malaga / Amsterdam |
Apr 2010 - Dec 2010 |
As a PHP software developer I again worked on implementing new functionalities into the website and related maintaince work.
(PHP, Smarty, MySQL, JavaScript; Linux, Windows)
|
Ibarra y Sanjuan Amsterdam |
Mar 2010 - Jun 2010 |
For this customer I setup a B2B webshop based on Magento with custom bugfixes and customisations.
(PHP, MySQL, Magento; MacOSX, Linux, Windows)
|
Miky.nl Den Haag |
Jan 2010 - Feb 2010 |
For this website I solved some bugs and implemented new functionalities.
(PHP, Zend Framework, MySQL; MacOSX, Linux, Windows)
|
StudyTravel Malaga / Amsterdam |
Mar 2009 - May 2009 |
As a PHP software developer I worked on implementing new functionalities into the website and related maintaince work.
(PHP, Smarty, MySQL, JavaScript; Linux, Windows)
|
TomTom Amsterdam |
Mar 2008 - Feb 2009 |
As a PHP software developer I contribue to the development team responsible for the TomTom website.
(PHP, Smarty, MSSQL, JavaScript; Linux, Windows; Scrum).
Some of the projects I have done:
- Apache module for authentication based on mod_auth_tkt (C, OpenSSL, FreeTDS; Linux)
- Improving the application framework (PHP, Smarty, MSSQL, JavaScript; Linux, Windows)
|
BSM Amsterdam |
Sep 2007 |
Static code analysis of a HTML subscription form written in PHP for a major bank.
(PHP, MySQL; Linux, MacOSX, Windows)
|
Telfort Amsterdam |
Jan 2007 - Jul 2007 |
Again I was part of the development team and responsible for multiple projects.
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
|
marktplaats.nl Amsterdam |
Aug 2006 - Dec 2006 |
For a number of months I was part of the development team and responsible for multiple projects regarding
the website and the maintenance part.
(PHP, PEAR, Smarty, MySQL, JavaScript, HTML; Linux, Windows)
|
Robert Vlug Haarlem |
Jul 2006 |
I put in my observations for the chapter about security in the book "Een eigen webwinkel voor Dummies (My own webstore for Dummies)"
|
Derks.IT Amsterdam |
Mar 2006 - Sep 2008 |
In cooperation with Holland Online we are working on some ideas, including a community website, shops and simple pay-per-view
websites. For the community website I also implemented payments using iDEAL and used my own application framework.
(PHP, PEAR, MySQL, JavaScript, SourceGuardian; Linux, Windows)
|
ProvenModels Amsterdam |
Jan 2006 - Feb 2006 |
I helped this client by fixing a list of bugs in already existing code.
(PHP, MySQL, JavaScript; Linux, Windows)
|
Ber-Art Breda |
Feb 2005 - Nov 2007 |
Support for Trojan Scan and security support.
|
Telfort Amsterdam |
Nov 2004 - Dec 2005 |
During this period I built an application framework to be used as the basis for new applications.
I re-implemented the registration/authentication parts of the website using this framework, which also included some functional changes.
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
|
Xinox Delft |
Dec 2004 |
To allow registered downloads of their JCreator product I built a download registration form, license administration and
mailing list (the mailing list is based on the open source application PHPList which has been linked to the downloader data).
(PHP, PEAR, MySQL, JavaScript, HTML; Linux, Windows)
|
Demon Amsterdam |
Sep 2004 |
ISP Demon had performance problems with a PHP/MySQL application used for Customer Care.
After analysis of the problems, the MySQL configuration was adjusted, memory expanded and provisons
were taken to archive out of date data.
(PHP, PEAR, MySQL; Linux, FreeBSD)
|
Derks.IT Amsterdam |
May 2004 - Aug 2004 |
For an online ad company I created a library which removes double records from the customer database (incl. a similar application and
an extension to the process of adding new customers that using this library whether the to be added customer does not already exist).
Also I fixed already changed, but not yet working order forms.
(PHP, PEAR, PHPlib, Smarty, MySQL, JavaScript, HTML; Linux)
|
Neverseen Almere |
Dec 2003 - Feb 2004 |
Over a period of several months I created the website of Pacorini Vlissingen,
including a simple CMS for the maintenance of the news articles.
(PHP, PEAR, MySQL, Javascript; Linux, Windows)
|
Telfort Amsterdam |
Jun 2003 - Apr 2004 |
During a nine-month period I have been involved actively and pro-actively in the development of
various web-applications and APIs. Pro-active in advising on the to be used technology and methods (among others PEAR DB_DataObject and applying methods such as automatically generated documentation using phpDoc/phpDocumentor, automated testing using PEAR PHPUnit, etc).
I also contributed to the security-awareness (e.g.: the security audit (crystal box) on my code did not reveal any critical security problems, some quotes from the report: "defensive way of programming", "the only correct way to deal with this [input validation]", "very good, almost perfect input validation").
Larger projects for which I was responsible:
- authentication and registration on the website, incl. setting up the user database and extensive and partly generiek administration environment for customer care
(PHP, PEAR, MySQL, LDAP, HTML, JavaScript, shell script, perl)
- dispathing of incoming SMS messages and sending out an EMS logo
- MMS web-application that allows customers to view MMS messages sent to mobile phones without MMS support
(PHP, PEAR, mmsdiary, JavaScript, HTML, XSLT, SMIL)
- generic API for processing incoming and sending out outgoing messages (SMS, MMS, etc)
(PHP, PEAR, MySQL, dia: UML class diagrams)
|
Rubicon Vianen |
Mar 2003 - Apr 2003 |
For a customer of Rubicon I partly re-build an existing web-application and added new functionality to it regarding among others authentication and uploading files.
(PHP, PHPlib, Smarty, MySQL, JavaScript, HTML; Linux, Windows, Solaris)
|
Rubicon Vianen |
Mar 2003 |
For TPG Post I wrote the web functionality for Persoonlijke Postzegels, incl. the manipulation of uploaded photographs.
(PHP, JavaScript, DHTML library, HTML; Linux, Windows)
|
Apidea Amsterdam |
Dec 2002 - Dec 2003 |
This project concerned unlocking information of railway stations for ProRail. It was my job to handle importing data (photography, spreadsheets and other documents) into a MySQL database which was to be used as a SQLite database by an application run from CD. To make this possibly I wrote a SQLite driver for metabase and a generic database API for the Apidea framework. I also patched the PHP4 SQLite module to handle NULL values properly.
(PHP, PEAR, metabase, MySQL, SQLite, VC++ 6, STL; Linux, Windows)
|
Derks.IT Amsterdam |
Dec 2002 - Apr 2003 |
I build a complete dating site with all required functionality, incl. member registration, authentication, chat, billing, manual matching, 128+ member qualities.
(PHP, PEAR, Smarty, MySQL, JavaScript, HTML; Linux, Windows)
|
Vodafone UK |
Jul 2002 - Sep 2002 |
I made some small changes to their CMS.
(PHP, Oracle, HTML, JavaScript, WebDAV; Linux, Windows 98)
|
Razorfish Europe Amsterdam |
Apr 2002 - May 2002 |
For the framework of a website for car valuations in different countries and multiple languages per country, I implemented foremost user authentication (incl. registration etc.).
(PHP, MySQL, HTML, JavaScript, Visual InterDev; Windows 2000)
|
Rits Automatisering Deventer |
Mar 2002 - Dec 2003 |
For the Rits Account website I implemented user authentication (incl. registration, etc.) and user administration.
(PHP, MySQL, HTML, JavaScript; Linux, Windows 98).
Also, I am working on a module that will enable encryption in one of the applications of Rits Account
(Visual C++, OpenSSL, PHP, MySQL, SOAP; Linux, Windows 98/2000).
|
Apidea Amsterdam |
Feb 2002 - Apr 2003 |
Besides the website CMS to enter, modify, remove houseboats for the website www.woonboot.nl, I also wrote a
GUI application which could be used e.g. on a laptop to enter new houseboat pictures and data on location at the client and
which could be uploaded to the website CMS later. Part of the GUI application was the encryption of the PHP files to
prevent unwanted maniplutaion among others.
(PHP, PHP-GTK, PEAR, ImageMagick; Linux, Windows)
|
EPOCera Amsterdam |
Jan 2002 |
For EPOCera I developed a software package in Visual C++ that uses the DOM to store data(-structures),
and at the same time XML as the basis of a scripting language.
(Visual C++, MFC, XML; Windows 98/2000)
|
Apidea Amsterdam |
Dec 2001 |
As a consultant I advised on the internal IT organization of a customer of Apidea,
for which I also joined in on a session with that customer. A short report was written about the session.
|
Connected Software Rotterdam |
Nov 2001 - Feb 2002 |
For KnowWise, an information system for consumers, I implemented encryption and HTTP proxy authentication.
(Visual Basic, ASP, MS SQL; Windows 98/2000)
|
Stachanov Amsterdam |
Jul 2001 - Aug 2001 |
As a contractor I was the main programmer in a project for building a document management system via intranet/internet (web-interface)
(PHP, JavaScript, ODBC, MySQL, Microsoft SQL Server; Windows 98/NT, Linux).
I also did two small subprojects for another project
(C, PHP; Windows 98/NT, Linux).
|
Wellance Diemen |
Jan 1999 - Jun 2001 |
As a Programmer Analyst (Senior since January 2001) I have been responsible for the design and development of the frontend part for the
regedoc system, which is a system for sending and receiving documents registered and secured over the Internet or intranet.
This encompassed the design and implementation of an ISAPI for Microsoft IIS, using performance counters,
registry settings, the eventlog, encrypted communication and timestamping of documents, and an additional
configuration utility. To do this I used MFC, PGP, Sybase and Oracle backend database.
Furthermore, I also dealt with business security as a member of the Security Project Team and helped getting the BS7799 certification.
(Rogue Wave DBTools++, Oracle OO4O, ODBC; Visual C++; Windows NT/2000).
|
Siteways Amsterdam |
Sep 1996 - Dec 1998 |
As a Junior Programmer I worked on:
- guardian system for machines, websites, database, payment systems et cetera (C, shell scripts; IRIX)
- more secure version of the FTP daemon (only users in a certain file can go outside their home directory) (C; IRIX)
- porting of diverse Perl scripts to PHP (PHP; Windows NT, IRIX)
- system for preventing abuse of website account/authorisation by multiple persons (C, NSAPI, msql, shell scripts; IRIX)
- diverse programs and scripts for websites, authorisation- and payment databases (C, PHP, msql, shell scripts; IRIX, Linux)
- shops for websites (products, shopping basket and interface to paymeny module) (PHP, msql; IRIX)
- system for webserver statistics reports (email and HTML) (C, PHP; IRIX)
- solution to switch to ISDN when the regular (i.e. leased line) Internet connection does not provide enough bandwidth
(on location in the U.S. I installed and improved this solution) (shell script; IRIX)
- porting of (Unix) C JPEG6a library to VC++ for an ActiveX control (Visual C++ 5.0; Windows 95)
- porting of the C++ FraunHofer MPEG1-III audio decoder to Java (C++, JDK 1.1; Windows 95, IRIX)
- Adobe Premiere Plugin for JPEG and AVL (LiveStream) (Visual C++ 5.0; Windows NT)
- initial design for a generic shop for the Internet (Word 97; Windows NT)
As an Assistent Systems Administrator I have been responsible for the usual tasks of system administration
such as backup, security, mail, DNS, hard- and software installation and configuration, and small
programming tasks.
(Systems: SGI, PC, Livingston, Cisco)
|
Vrije Universiteit Amsterdam |
Sep 1993 - Aug 1994 |
As a Student Assistant for the courses Software Engineering and Computer Networks
with the faculty of Mathematics & Computer Science I coached students with their pratical work for these courses.
During the first course I coached five groups of about five persons. They had to implement a 'large' program as
a team effort. In this case the program to implement was a route planner. The distinguished stages were: requirements
specification, design, implementation (in C++) and evaluation. I also was responsible for judging the submitted results.
During the second course I coached groups of one or two persons with the design and implementation (in C) of (a
simplification) of the IP and UDP network protocols, and an tftp daemon and client. I was only responsible for coaching
the groups.
|
|
Education
Vrije Universiteit Amsterdam |
Sep 1990 - Aug 1998
Information Sciences majoring in Computer Science, finished successfully with an M.Sc.
During my studies I did practical work for the courses Operating Systems,
Compiler Construction, Computer Networks, Programming Languages (lesser known
languages: ABC, Ada, Miranda, Prolog and Smalltalk) and Software Engineering.
|
|
Congresses, courses & seminars
Scrum Institute |
Dec | 2016 |
Scrum Master Accredited Certification |
Magento |
Sep | 2012 |
Magento Developer's Paradise 2012 |
Startup Weekend |
Jul | 2012 |
Startup Weekend Amsterdam 2012 |
Magento |
Jun | 2011 |
Magento Developer's Paradise 2011 |
Magento |
Oct | 2010 |
Magento Developer's Paradise 2010 |
Mediaplaza |
Feb | 2008 |
Introduction to Information Security |
(ISC)² |
Nov | 2007 |
Certified Information Systems Security Professional (CISSP) [continuation] |
MySQL |
Jan | 2005 |
MySQL Core Certification (MCC) |
Zend |
Nov | 2004 |
Zend Certified Engineer (ZCE) [PHP] |
(ISC)² |
Sep | 2004 |
Certified Information Systems Security Professional (CISSP) [continuation] |
PHP Magazine |
May | 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 |
Oct | 2000 |
Developer Days 2000 |
Baltimore Tech. |
Mar | 2000 |
Mobile Commerce Security Seminar |
InfoSupport |
Nov | 1999 |
Mastering MFC Development Using Microsoft Visual C++ 6.0 |
|
Activities
Open source projects |
Aug 2001 - now
My own Laravel open source projects:
- Laravel Blade Lint - an artisan command to check Blade templates for syntax errors
- Laravel API Logger - a convenient way to log the content of inbound and outbound traffic to and from an API written in Laravel.
- laravel-scripts - a Makefile and Envoy deploy script to perform standard tasks related to Laravel, such as deployment, in a simple manner (currently undocumented).
- Laravel HTML - a fork of the Laravel HTML library of Spatie for use in PHP 5.6.
My other own open source projects:
Magento:
EmailImages
also on Github: EmailImages (no longer maintained)
(see also my website dedicated to Magento: Magentron),
PEAR: Crypt_Xtea,
Rebuild Thunderbird's popstate,
Trojan scan.
Contributions to different Open Source projects (among others):
Ecomdev_PHPUnit,
fwanalog,
SnortSnarf,
Metabase,
modman,
NuSOAP,
PEAR: PHPDoc,
PHP:
OpenSSL
module.
|
Home Owners Association Amsterdam |
Aug 2006 - Dec 2011
For more than four years I have been the treasurer of my Home Owners Association.
|
NGI |
2001 - 2009
Dutch Society for Information Science (NGI, Dutch), Security department.
|
S.V. Cyclades Amsterdam |
Oct 1993 - Aug 1998
Active members of students club Cyclades, in which I was a committee member of among others: the bar, sports en introduction committees and member of the fraternity Elysion, current status: POR (Mail receiving old-member)
(Cyclades, Dutch).
|
|
Languages
Dutch | native |
English | fluent |
Spanish | advanced |
German | moderate |
|
|
|