Detailed description of relevant work experience

Bosch Security Systems : Plato / Felix

Period Project Job description
Februari 2005 - Today
Plato
Senior software designer
Project description
Plato is a software team of approximately 30 people which develop software for the Plato system. The Plato system is an embedded digitale harddisk recorder which can record upto 16 analog and 32 digital video cameras. It contains a 1 GHz processor, upto 5 video DSP's (Texas Instruments: TMS320DM642) and upto 2 audio DSP's (Texas Instruments: TMS320C6205). The main task of the video DSP's is to record and analyse the analog video signals.  They should also be able to playback recorded video where multiple cameras can be viewed at the same monitor. The audio DSP's have the same tasks as the video DSP's but then for audio signals.

I worked as a software designer to expand the framework I developed for Dito. The framework now offers extended communication possibilities for software components over multiple processors. The framework is also able to dynamically create software components and make connections between them. Thanks to the framework the software components do not need to know anything from other software components. This improves modularity and reusability of those software components.

Plato was canceled and restarted under the name Felix with a software team of approximately 8 people. For Felix I implemented an application on top of the framework with flexibility towards multiple different hardware platforms (DiBos and Plato hardware).
Work activities
  • Investigate software requirements
  • Design the software
  • Implement the software
  • Integrate software components of collegues into my own framework
  • Test and debug the software
  • Documentation
Operating system / development environment / programming languages
Operating system
Windows 2000, CE, XP
Development environment Texas Instruments : Code composer studio
Microsoft Visual C++
Programming languages
C, C++ (beide embedded en PC)

Bosch Security Systems : DiTO

Period Project Job description
September 2003 – Februari '05
DiTO Senior software designer
Project description
DiTO is a software team of about 9 man which develops software for the Vicam board. The Vicam board is developed for Dibos 8.0, a digital harddisk recorder which can record upto 30 analog and 32 digital video cameras. The main task of the Vicam board is to record and analyse the analog video signals. Per Vicam board a maximum of 6 analog cameras can be connected. The majority of the software is developed for the DSP processor (Texas Instruments: TMS320DM642).

I worked as a software designer to design, implement and test a framework which enables communication between the different software componenten. I also developed some (test)components for the framework.

Besides my job I took the initiative to develop debug tools such as a DSP logfile analyser. This analyser allows the software to log upto half a million lines of logging within 30 seconds without much loss of performance or runtime behavior. These tools proved to be very usefull during the test and debug phase, which is also recognised in a certificate.
Work activities
  • Investigate software requirements
  • Design the software
  • Implement the software
  • Integrate software components of collegues into my own framework
  • Test and debug the software
  • Develop debug software
  • Documentation
Operating system / development environment / programming languages
Operating system Windows 2000
Development environment Texas Instruments : Code composer studio
Programming languages C, C++ (beide embedded)

Yacht : Philips ... (PPD), Eindhoven

Period Project Job description
June 2003 – Augustus 2003
ViGeo Software developer
Project description
ViGeo is a project with the goal to make televisions cheaper. This can be accomplished by replacing the expensive masks by cheaper thinner ones. However this has as disadvantage that when such a mask absorbes too much energy (photons) at a certain spot, the mask will expand and distortions will be visible. To prevent this electronica has been developed to reduce the amount of energy to a certain spot on the mask.

I worked as software developer to test the functionaity of the processor (Hitachi : H8S 2148) and to develop software for the processor. The processor reads realtime information from another processor (FPGA). Meanwhile the processor calculates when the energy supply should be reduced. The results are transered back to the FPGA via the I2C protocol.

Work activities
  • Study the processor
  • Test the processor
  • Design the software and algorithms
  • Implement the software and algorithms
  • Test and debug the software and algorithms
  • Documentation
Operating system / development environment / programming languages
Operating system Windows 2000
Development environment Hitachi compiler
Programming languages C (embedded)

Yacht : Philips Digital Signals Lab (PDSL), Eindhoven

Period Project Job description
September 2002 – March 2003 VCR Simulator Software developer
Project description
The VCR simulator is an electronic board that can be controlled via a PC. The intension of the board is to simulate video signals with specific errors in those video signals. An example of such an error is the dualhead error of video recorders. The advantage of the VCR simulator is that the error is reproducable in exactly the same way over and over again. This is very useful during testing of for example DVD recorders. DVD recorders should be able to record video signals correctly, even when certain errors are present in those signals.

I worked as a software developer to further develop a scripting language which is used for defining the video signal which should be generated by the VCR simulator. One of the extensions of the scripting language is the support of parameters and constraints. The parameters can be changed by the user while the script is running. The constraints ensure that parameters will not get invalid values. They also function like rules, which means that when a parameters is changed other parameters can also change automatically. When parameters change the generated video signal will also change. This adaption of the new parameter values is done in a way that the old signal moves smoothless into the new signal without generating unwanted errors.

To simplify the use of the scripting language I developed a script editor which supports and warns the user when scripting errors are present. After that I generated a number of scripts to simulate specific errors which can be present in video signals. I also wrote software for the simulator itself to be able to read the new scripts. I also wrote the software for handling the parameters and constraints, from user interface and guarding the constraints to sending the new parameter values to the simulator board and adapting to those new parameters at the right time on the simulator board itself. Ofcourse everything was delivered with enough documentation for understanding the design and maintanance.

Work activities
  • Investigate requirements for the software
  • Design the software and algorithms
  • Implement the software and algorithms
  • Integrate the algorithms in the existing software
  • Test and debug the software
  • Documentation
Operating system / development environment / programming languages
Operating system Windows NT
Development environment MS Visual Studio, MS Visio, Borland Delphi
Programming languages Delphi, MS Visual C++

Philips Natlab, Eindhoven

Period Project Job description
September 2001 – May 2002 Image segmentation and depth reconstruction Software developer
Project description
For my graduation project I have worked as software developer for Philips Research in Eindhoven. I have worked at the department of Digital Signal Processing (DSP), where I developed software for finding depth information in video images. I paid specific attention to image segmentation and depth reconstruction. Image segmentation tries to divide the image into segments (groups of pixels) so that the edges of the segments are equal to the edges of the objects in the real world. These segments together with known camera displacements are then used for depth reconstruction which results in a depth function for each segment. These functions are used to calculate the depth for all pixels in the image.

I started with existing software and researched where the software could be improved. After that I designed and implemented algorithms to realise those improvements. This resulted in a new algorithm for image segmentation which reduces oversegmentation, and an improved algorithm for depth reconstruction which finds more complex functions for the segments. Philips is analysing whether these new algorithms can be patented.
Work activities
  • Analyzing existing software
  • Determining the requirements for the algorithms
  • Design the algorithms
  • Implement the algorithms
  • Integrate the algorithms in the existing software
  • Test and debug the software
  • Documentation
Operating system / development environment / programming languages
Operating system Unix, Solaris
Programming languages (ansi) C

Anorad

Period Project Job description
July 2000 – December 2000 Linear motors and processor analysis Software developer
Project description
I started at Anorad with 2 months work during the holidays. These two months were followed up by three months internship. Anorad is a company specialized in machines with linear motors. During the holidays I wrote several software programs in Visual Basic for controlling those linear motors via a PC with a PCI card or serial port. During my internship I analysed the potential of two processors (Texas Instruments: TMS320F240 & TMS320LF2407) to autonomically control the linear motors using feedback from the motors and a predefined program. This program should be adaptable via a PC with serial port. The software for the analysis of the processors was written in C and DSP assembler.
Work activities
  • Determine the requirements
  • Design the software
  • Implement the software
  • Test and debug the software
  • Analyse and test two processors
  • Documentation
Operating system / development environment / programming languages
Operating system Windows, WindowsNT
Development environment Texas Instruments : Code composer studio
Programming languages Visual Basic, C, DSP Assembler

Technical University Eindhoven (TU/e)

Period Project Job description
Oktober 1998 – June 1999 Eurobot Software developer
September 1999 – Februari 2000 EffiTrein Software developer
Project description
Out of interest I participated in the Eurobot project on the Technical University in Eindhoven (TU/e). Afterwards I heard that I could use it as a partial internship. Eurobot is an annual competition in France, where autonome robots compete to achieve a certain goal. For our team the goal was to defend a castle and at the same time attack the castle of the enemy. The field was made out of green fields with white lines, a ditch, two bridges across the ditch and two castles from wooden cilinders.

I wrote a route planner for the robots across the playfield. This software was written in Pascal and runs on a PC. On that PC several targets can be identified using a graphical user interface. The program calculates an efficient route for those targets and generated C code which could be uploaded into the robots. For orientation the robots used their known start position, measured movement of the robot and the white lines on the playfield.

Besides Eurobot I also participated in the EffiTrein project. The TU/e had built a modelrailway and asked for a program to be developed in Java for controlling several trains. Given a number of requirements, like arrival and departure times, the program should calculate an efficient schedule for the trains.

For both projects software was developed by a team of approximately 10 man. Eurobot consisted of a multi-disciplinair team. EffiTrein required working at CMM level 2 (Repeatability), using OMT (=UML) techniques and using the waterfall model.
Work activities
  • Determine requirements
  • Design the software
  • Implement the algorithms
  • Implement the software
  • Test and debug the software
  • Documentation
Operating system / development environment / programming languages
Operating system Windows
Development environment Rational Rose
Programming languages Pascal, C, JAVA

Overig

Period Club Job description
1992 - 1997 Computerclub AvDC Giving courses (Pascal)
1997 - 2000 Computerclub PTCC Giving courses (Windows, Internet)
Maintaining a homepage
Solve problems
Project description
In 1992 I started a computerclub together with a friend of mine at our highschool where we gave courses in Pascal for fellow students. We also gave demonstrations during public days of our highschool with computer controlled lighteffects and LEGO robots, ofcourse everything homemade.

During the period from 1997 till 2000 I was also active member of the PTCC computerclub. I gave courses Windows and Internet for starters for elderly people. Besides that I also created and maintained the homepage of the computerclub and I solved software,  hardware and Internet problems for members of the computerclub.