Curriculum Vitæ Daalmans, Godefridus Johanna (Frits) Personal details Date of birth: 20 April 1968 Place of birth: Bergen op Zoom, the Netherlands Nationality: Dutch Address: Björkhagsvägen 13, 820 23 Bergvik, Sweden Telephone: +46 76 9462429 E-mail: frits@daalmansdata.eu ICT specializations - Scientific programming. - Detecting bugs in very large and complex software systems. - `Rapid prototyping' of test implementations of newly developed software. - (Debian) Linux installation, support, and migration. - Detecting and solving memory leaks, e.g. in large calculations or mission-critical Unix server programs such as websites and database systems. - Telephonic advice and support to other programmers (e.g. as a Value Added Reseller). ICT skills Extensive experience with software development in C: I have been programming in C since 1991. - 'Elevated' my programming skills in C to the level of 'object-oriented, C++ - like' C during my PhD research, where one of my tasks was to design and implement software toolkits and programs (in Fortran and C) for the rapid analysis of large quantities of numerical data. - Able to design and run computer experiments controlled by (Unix shell) scripts that are designed to fulfil the criteria of running unattended for several weeks without crashing someone else's computer system, as well as containing restart options in case it was crashed by another user. - Excellent troubleshooting skills: e.g. I located a bug in the source code of a major commercial quantumchemistry package (>300000 lines Fortran) and added about 30 lines to that package; in my commercial work, I pinpointed and corrected a sporadically surfacing bug in a >10000-line C program, which was the central server software linking a small nation's central bank database system to its nationwide cashpoint machines ('ATMs'). Other programming languages: A recent project involved maintaining a lending library client-server system which was written in HTML, JavaScript, Java (CORBA interface), and PowerBuilder. My function consisted of finding in which of these four components a user-reported bug was caused, and fixing it. One of my previous jobs was as a scientific programmer in the DIANA ("Data Interception and ANAlysis") project, a project sponsored by the european Sixth Framework Programme. My job was to design and implement a framework for data stream mining. I learned a lot about writing Java (J2SE) programs for continuous, performance-critical tasks. My favourite programming language is C, and I have taught myself Java (so far mostly J2SE, not J2EE) and C++. Other programming languages I have worked with include Fortran (experience with compiling and debugging very large and complex scientific programs), COBOL (commercial experience with the conversion of Cobol programs to Appx), perl (maintenance of scripts that monitored the health of a large cluster of web servers (Big Brother)) and PowerBuilder. Extensive experience with UNIX operating systems: Since 1991, I have worked as user and system administrator with various Unix systems including Sun 4 (SunOS), PC (Minix and Linux), HP/UX, RS/6000 (AIX), SGI Personal Iris and Indy (IRIX 5.3). Excellent shell scripting skills in Bourne-family shells (sh, ksh, bash) and work experience with C-shell (csh, tcsh). Able to rapidly prototype a data processing system from scratch. My preferred Unix is Linux, ever since I came across it at the end of 1993. My preferred Linux distribution is Debian, but I have also installed and worked on Red Hat, SuSE, and Ubuntu (Kubuntu). Able to develop installation packages for Debian software. Other operating systems: - Some user-level working experience with VM/CMS, VAX/VMS, Wang. - Good user-level experience with the Microsoft operating systems MS-DOS, and MS Windows (3.1, 95, 98, NT4, 2000, XP). Good experience with database tools and languages: - My experience with database tools and languages is mostly centred around one single system, Appx. - Some experience with Sybase. - Some experience as a non-Oracle expert with the installation and maintenance of Oracle 8 on a Solaris web server. Some experience installing a demo version of Oracle 10 on Debian GNU/Linux. - Some experience maintaining MySQL and PostgreSQL installations. - Some experience interfacing to a database with JDBC, and a little ODBC. Consultancy and second-line support: - Second-line support role for Appx programmers within the Netherlands. - On-site international consultancy experience (to companies in Switzerland and Germany), including a system (version) upgrade and database restructure, a Y2K conversion of a >94000 function Appx program (together with several other consultants), and telephonic helpdesk support (for Germany). - In my current job, I help solve software problems that our clients' developers escalate back to us. Rapid application development skills: - Able to guide an idea from inception to implementation - Able to write programs that are stable and keep running. An example: In my previous job, I designed and built a working prototype of an experimental transaction monitoring system which could serve as a showcase for a data stream mining application, trying out different algorithms for deviation detection (an academic project, but we needed real live data from a production environment). After studying the structure of the incoming data, I wrote 1 small single-purpose C program, and made a modular data server application using bash, awk, sed, perl, and rrdtool, which produced data plotted by a secure web interface I made with apache2, PHP5, rrdtool and gnuplot. The users could then log in to the website at any time to view the results of the data stream mining application. When I checked it 2 months after starting the program, it was still chugging along happily, producing correct and up-to-date results. Work experience Jan 2010 – present Started own software development company "Daalmans Data" in central Sweden. Jun 2007 – Dec 2009 Software developer for OCLC EMEA B.V., Leiden (library automation systems development). Feb 2004 - Jan 2007 Scientific programmer at the AI department of the Vrije Universiteit Amsterdam, for the DIANA project ("Data Interception and ANAlysis"). Designed and implemented a framework for data stream mining in Java (J2SE). Feb 2002 - Jan 2004 Househusband; during which I taught myself C++ and Java. Nov 2000 - Dec 2000 Unix specialist and system administrator assisting in the 'roll-out' phase of the development of a large internet-banking project in Amsterdam. Nov 1997 - Oct 2000 ICT consultant for the company AiDA in Woerden, the Netherlands. - Programming in C and Appx, and Unix and C troubleshooting, secondline support of Appx programmers in the Netherlands, and Unix system administration. May 1997 - Jan 2002 Unpaid part-time completion of my research to complete my dissertation titled 'Vicinal NMR coupling constants: DFT calculations and analysis of substituent effects' May 1993 - Apr 1997 PhD student in chemistry (Onderzoeker in opleiding) at the Conformation Analysis Group at Leiden University, the Netherlands. Education 1986 - 1992 Chemistry degree course at the Katholieke Universiteit Nijmegen, the Netherlands. Major in Analytical Chemistry (chemometrics, specifically the encoding of chemical properties to be used in artificial neural networks). Minor in Theoretical chemistry. 1980 - 1986 VWO (Gymnasium), RK Gymnasium Juvenaat H. Hart, in Bergen op Zoom. Personal skills - I am skilled in quickly absorbing relevant new information (programming languages, software systems, system administrator protocols). - I work well independently and as part of a team. - I am fluent in Dutch and English, both spoken and written, reasonably fluent in German and Swedish and have a rudimentary knowledge of French.