De meest recente versie van dit C.V. vindt u op http://saedra.nl/cv.pdf

Personalia
Naam Doornekamp
Voornaam Ico
Telefoon 06-51356029
E-mail ico@saedra.nl
Woonplaats Amersfoort, Ut
Nationaliteit Nederlandse

Werkervaring
2002 - heden Zelfstandig ondernemer/freelancer, (Saedra) ontwikkeling en consultancy op het gebied van networking, multimedia, Linux en embedded software.

Projecten onder andere:

2021 - heden
Ontwikkelen van electronica, PCB design en firmware voor diverse Battery Management Systems (BMS); ontwikkeling van geautomatiseerde meetsystemen voor kwaliteitsmetingen van accu's.
C++, C, Kicad, Elixir, Rust, Python, ESP32, STM32, CAN, FreeRTOS

2018 - 2021
Porten van AOSP/Android naar Kubernetes-based cloud platform; Ontwerp en implementatie van ActiveVideo AppCloud voor het remoten van AOSP multimedia-applicaties (OpenGL UI + multimedia video/audio) naar set-top boxes.
H.264, MPEG-TS, HLS, MPEG-Dash, RDK, Kubernetes, OpenGL, GLES2, EGL, Android/AOSP, Docker, Kubernetes, LXC, C++, Go, Nim,Linux, C, GStreamer, libav*

2018 - 2021
Ontwikkelen van een automotive/industriƫle TCP/IP camera voor voertuigen
C, Broadcom BCM89107 SOC, ARM Cortex M7, Erika Enterprise, Ragel, H.264, RTP, RTSP, RTCP, ISO17215

2014 - 2017
Ontwikkeling van een schaalbare (>50k calls) recorder voor SIPrec voice recording.
Linux, C, Nim, Lua, Javascript/ES6, WebCrypto, SIP, SIPREC, RTP, Caringo Swarm, Elasticsearch, EMC Isilon One FS

2011 - heden
Ontwikkeling van software voor domoticatoepassingen; Aansturen en monitoren van diverse apparaten (verlichting, verwarming, energie- en gasmeting) in een Zigbee- en Z-Wave-netwerk.
C, Lua, ESP32, LVGL, Zigbee, Z-Wave, i.MX53, LVGL, Mbus, Modbus, ARM NXP LPC43XX

2009 - heden
Ontwikkeling van embedded software voor diverse telefonie-toepassingen, waaronder voiceloggers en een voip- buitendeur/intercom toestel met high resolution camera en CCTV- videodiensten.
Lua, C, Linux, SIP, RTP/RTSP, TI OMAP3, SSE2/NEON, i386, Mips, mDNS, UPnP, OpenSSL + S/MIME, XML-RPC, H.264

2008 - heden
Ontwikkeling en onderhoud van firmware, electronica en PCB design voor industriële DSL/WWAN/LTE modems en telecommunicatieapparatuur.
C, Linux (userspace, drivers), IPv6, LTE, Lua, ARM NXP LPC43XX, Motorola MPC850, MIPS Broadcom processor, IPsec, Raccoon, OpenVPN, Radius, PPPoE, PPPoA, SCEP, MQTT

2017 - 2018
Porten van CloudTV client applicatie naar IPv6; implementatie van Irdeto SimulCrypt conditional access+scrambling in het CloudTV platform.
MPEG, H.264, Irdeto, SimulCrypt, Linux, C++, Python3, OpenStack, Jira, Agile, IPv6

2013 - 2017
Ontwikkeling van firmware voor beveiliging en laadmanagement van LiFePO4 (lithium-ijzerfosfaat) accu's.
C, MISRA, Gimpel FlexeLint, TI SPC560, PowerPC, STM32 ARM Cortex M3, Atmel AVR, I2C, CANopen, J1939, NMEA 2000, Bluetooth LE, Modbus, LIN bus

2012
Ontwikkeling van firmware voor een industriële I/O controller.
C, Atmel AVR

2012 - 2018
Ontwikkeling van een 'intelligente camera' voor grote voertuigen en vrachtwagens met als doel het verhogen van de veiligheid d.m.v. voetganger- en obstakeldetectie en topview projectiemethoden.
C, LwIP, Toshiba MeP, Visconti, HoG

AMS
2011 - 2013
Design en implementatie van software voor klimaatregeling.
C, Atmel AVR

2010 - 2011
Ontwikkeling van firmware voor een CPU-controlled wijnkoeler.
C, Atmel AVR

2009
Ontwikkeling van pricechecker voor supermarkten en retail.
Lua, C, Linux (userspace + drivers), ARM

2009 - 2011
Ontwikkeling van een platform voor distributie en weergave voor streaming video over TCP/IP voor industriële en maritieme toepassingen.
C, Lua, RTSP/RTP, Linux, win32, Atmel AVR

2008 - 2009
Audit van processen en software voor embedded devices m.b.t. acquisitie en transport van medische meetgegevens.

2008
Ontwikkeling van een 'hardened storage server' (black box) voor maritieme toepassingen.
C, Lua, Linux, i386

2008
Ontwikkeling van firmware voor power management van de Zepcam: 'a body-worn video recording system for professionals and extreme sportsmen in outdoor conditions'
C, Atmel AVR

2007 - 2009
Onderhoud van een embedded linux-distributie voor de besturing van automatic guided vehicles, het porten van een aantal drivers naar de linux 2.6 kernel, aanpassen van een aantal bestaande applicaties voor device configuratie.
C, Python, Linux, i386

2007 - 2009
Ontwikkeling van een platform (server, embedded devices, netwerkprotocollen) voor mobiele barcode scanners: ontwikkelen van diverse Linux device drivers, ontwikkelen van netwerkapplicatie voor aansturing barcode scanner, ontwerp platform voor beheer, configuratie en aansturing van een groot aantal embedded devices.
C, Lua, Linux (applicatie, libraries, drivers), Soap, GPRS/UMTS, Ruby on Rails

2007 - 2009
Ontwikkeling van een USB-bootable Linux distributie voor security-toepassingen.
Linux

2007
Ontwikkeling van een framework voor asynchrone RPC voor de IBM Broadband Cell Processor.
C, Linux, IBM Cell

2006 - 2007
Ontwikkeling van firmware voor WiFi Mesh netwerken gebaseerd op Linux.
802.11, C, Lua, Linux (kernel/drivers/applicaties), ARM, i386

2006 - 2007
Ontwikkeling van diverse telefonie en voip-systemen gebaseerd op embedded Linux. Onder anderen ontwikkeling van een SIP buiten-de-deur toestel.
C, Lua, Linux (kernel/drivers/applicaties), (eX)osip, ARM7, Mips

Access Engineering
2006 - 2007
Ontwikkeling van een wireless data-acquisitie systeem. Hiervoor is een USB client-stack ontwikkeld op een Atmel AT43USB355 controller.
C, Atmel AVR, USB protocol

2006
Onderhoud en ontwikkeling van firmware voor electronische displays (lichtkranten, tijdmeting, parkeersystemen, etc).
C, Atmel AVR, Z80

2005 - 2007
Ontwikkeling van diverse embedded oplossingen voor camera-monitor systemen (voor o.a. DAF trucks), videobewerking, video over IP en verschillende meet- en regelsystemen. Complete projecten inclusief electronisch ontwerp, PCB design en ontwikkeling van embedded software.
C, assembly, Atmel AVR, CAN, Linux, Protel DXP

2005
Aanpassen en ontwikkelen van firmware voor een embedded data-acquisitie systeem voor het verwerken van meterstanden van electriciteit-, gas- en watermeters.
C, Hitachi H8/300, AVR

2004 - 2005
Het ontwikkelen van firmware voor 802.11 wireless LAN accesspoints. Implementatie van 802.11i WPA2 (Wifi Protected Access 2) security layer. Porten van de Linux kernel naar een nieuwe custom made (ARM9-based) microprocessor en het samenstellen van een embedded linux-distributie en ontwikkelomgeving voor wireless access points. Porten van wireless network driver en een aantal applicaties naar VxWorks.
IEE802.11i, C, Linux, uClinux, VxWorks, ARM, ix86, Radius

2003 - 2004
Ontwikkeling van een Linux driver, server en library voor een voicelogger PCI kaart voor audio-recording van 96 telefoniekanalen.
Linux, Windows, C

2003 - 2004
Ontwikkeling van een centrale en bijbehorende infrastructuur voor verkeer-regelsystemen.
Linux, C, Java, SQLite

GTN Systems
2002 - 2004
Ontwikkeling van diverse embedded systemen voor onder andere video surveillance, voice over IP en data acquisitie.
Linux, uClinux, Ecos, SOAP, Perl, Python, C/C++, mcf5272, i386, PicMicro

2003 - 2004
ontwikkeling van een module voor een embedded 8051 systeem voor het grafisch weergeven van meetresultaten van distillatieprocessen.
80HC51, C

The Knowledge Factory
2003 - 2005
o.a. ontwikkeling van een systeem voor het verzamelen, bewerken en weergeven van statistieken over het gebruik van aantal web-applicaties.
Linux, Perl

Icrete
2002 - 2003
Ontwikkeling van hard- en software voor een draadloos data-acquisitie systeem.
Linux, Win32, PicMicro, C, Bluetooth

2002
Het ontwikkelen van uClinux/ARM-gebaseerde firmware voor 802.11 wireless LAN accesspoints. Implementatie van diverse protocol layers, o.a. SNMP, Radius, 802.1x, SSN, WPA
uClinux ARM, C, SNMP, TCP/IP, Perl, 802.11

2002
Diverse ontwikkelingen aan verkeersregelsystemen, o.a. regelsoftware en Linux drivers voor specifieke hardware.
Linux, C, i386 assembly, SQLite

1998 - 2001 Stone IT Services Bilthoven, Senior Linux Consultant.

Projecten onder andere:

1999 - 2001
Het ontwerpen, implementen en onderhouden van een netwerk met meer dan 150 applicatie-servers, en hiervoor diverse specifieke management- en monitor-applicaties ontwikkeld.
Linux, AIX, Perl, PHP, C, EDIfact, MySQL, Postgres

Freehosting
2000 - 2001
Het ontwikkelen en onderhouden van een ISP-platform voor hosting van websites en e-mail voor ca. dertigduizend domeinen.
Linux, Solaris, MySQL, OpenLdap, Perl

1999
Ontwikkelen van rt-linux gebaseerde besturingssoftware voor radarsystemen voor vloeistofniveau- en golfslagmetingen.
rt-linux, C, perl

1999
Het ontwikkelen van een high-availability clusteroplossing voor de zeer intensief bezochte website marktplaats.nl.
Linux, Apache, MySQL, LVS, PHP3

1988 - 1998 Werkzaam bij fa. Veldhuizen verlicht in beeld en geluid te Nieuwegein. Onder andere verkoop, bezorging en reparatie van audio- en video-apparatuur.


Opleiding
1993 - 1997 Stages en afstuderen

Afstudeeropdracht
1997
Nederlandse Spoorwegen, Infra Services, afdeling meetgroep : Het ontwikkelen van een specifieke oplossing voor het meten van electrische eigenschappen van veiligheids-signalen op de spoorbaan (ATB)
MS-Dos, i386 assembly, C

2e stage
1996
Tinoway : Diverse soft- en hardwareprojecten m.b.t. mobiele datacommunicatie voor field service engineers
Windows 95, Access, Visual basic

1e stage
1995
Nederlandse Spoorwegen, Infra Services, afdeling meetgroep : Ontwikkelen van apparatuur (hard- en software) voor diverse meet-oplossingen
MS-Dos, C, 68HC11 assembly

1993 - 2000 Opleidingen

Red Hat Certified Engineero (RHCE)
2000
(score 97%)

Hogeschool van Utrecht
1997 - 1998
HTS industriële automatisering

Hogeschool van Utrecht
1993 - 1997
HTS Electrotechniek/telematica, richting Communicatietechniek, Afgestudeerd in Juni 1997 (9)

VWO, st Bonifatius College Utrecht
1987 - 1993
Vakken : Engels, Nederlands, Economie I, Wiskunde A, Wiskunde B, Natuurkunde, Scheikunde.


Overige bezigheden
1994 - 1998 Commissieverantwoordelijke van commissie 'Internet' binnen studievereniging VET op de Hogeschool van Utrecht + diverse activiteiten binnen andere commissies


Relevante kennis en ervaring
Programmeertalen In volgorde van kennis en ervaring: C, Lua, Nim, C++, Elixir, Unix/POSIX shell (sed, awk, etc), Go/Golang, Rust, Javascript, Python, Ruby, PHP, Perl, Puredata, Forth, Ragel, SQL, Assembly (x86, ARM/Neon, AVR, Mips, PIC, H8, 68000, 6800, 8051), Haskell, Scheme, Lisp, Java
Processors / controllers Intel x86 (MMX/SSE), ARM (7/9/Cortex M3/NEON), ESP32, Motorola Coldfire, Toshiba MeP, Mips, Hitachi-H8/300, Atmel AVR, PIC-micro, 6800, 68000, Z80
Ontwikkeltools Met name GNU tools : gcc, gdb, make, binutils, autoconf/automake, cmake, Gimpel FlexeLint/PC-Lint, etc
Operating systems Veel ervaring met en uitgebreide kennis van Linux (userspace en kernel), daarnaast enige ervaring met ontwikkelen van software voor VxWorks, FreeRTOS, Ecos, HPUX, MS-DOS, MS-Windows 95/98/NT/2000/XP/7/10
Web programming HTML, CSS, XML, Javascript, JQuery, Websockets, ...
Networking TCP/IP, IPv6, HTTP, SIP, DNS, SMTP, POP, IMAP, SNMP, OpenVPN, RTP, RTSP, IPsec, Strongswan, GRE, 802.1X, routing, IP firewalling, VPN, 802.11, ...
Version control systems Subversion (SVN), Git, CVS, Perforce (p4)
Databases MySQL, Berkeley DB, SQLite, Postgres, Elasticsearch, Kyotocabinet, Leveldb
Graphics GDK/GTK, SDL, HTML5 Canvas, Cairo, OpenGL, OpenGL ES, LVGL, Glut, X11, ...
Overig - Affiniteit met hardware en electronica
- Redelijke kennis op het gebied van digital signal processing
- Enige ervaring met Verilog en FPGA's
- In bezit van rijbewijs B
- Goede spreek- en schrijfvaardigheid Nederlands en Engels