Curriculum Vitae
2010-03-01T19:26:26
Wolfgang
Häfelinger
wh@haefelinger.it
WH
SEEKING
Looking for interesting and challenging work in the design and development of software projects within Europe.
ABOUT ME
Surname, First-name
Häfelinger, Wolfgang
Address
Slangenburg 42, 1082JW Amsterdam, NL
Nationality
German
Year of birth
1964
Education
University degree in computer science
Telephone
+31 648 27 61 59
Email
wh@haefelinger.it
Internet
http://www.haefelinger.it
Weblog
http://workbench.haefelinger.it
images/L1010027.jpg
images/L1010037.jpg
images/L1010042.jpg
images/L1010044.jpg
COMPETENCIES
Themes
Configuration management, Software development, Web applications, IT security, Compiler construction, Telecommunication.
Work
Independent work; Teamwork; International Experience; Flexible
PORTFOLIO
2009
häfelinger IT
2005-2009
European Patentoffice
2001-2005
Borland
2000-2001
Dresdner Bank
2000
Karis AG
1999
IBM
1998
Robert Bosch GmbH
1994-2000
Computec GmbH Software
CASE-STUDY »Darwin«
Freelance position as Software Architect and Developer within the Research and Architecture Team. Design and Development build-system “Darwin” as quality assurance measurement.This and other case-studies regarding my experiences as professional are available at my English company site, http://en.haefelinger.it/casestudies
European Patent Office, The Hague, The Netherlands ; 2005-2009
A problem to tackle when building component based software applications is the use of “proper” component versions. Using an outdated component is detected late in the deployment cycle and thus costly. The goal of my assignment design and provide a solution for this problem.
I solved this task by providing a fully automated
build-system based on a Continuous Integration approach. Due to the extraordinary success my build-system, it got internally branded as “Darwin” and became the de facto standard for building software within the EPO.
A fundamental aspect of “Darwin” is that developers do no longer care about dependency versions. They just specify the dependencies their component depends on. Thus, all component version management was entirely taken over by “Darwin” in a fully automated way.
CruiseControlhttp://cruisecontrol.sourceforge.net/ had to be extended in order to archive the overall goal. A larger part of the rather complex version management got written in Python. Furthermore, a framework sitting on top of Ant had to be written to reduce build scripts to essentially dependency listings while assuring a homogeneous build process of several hundred projects.
Technologies
Java, CruiseControl, Ant, CVS, Maven, Tomcat, XML, XPATH, XLST, Linux, Windows, Eclipse, REST, Python, JSP
CASE-STUDY »pyANTLR«
pyANTLR - non-commercial contribution to Open Source and Free Software.This contribution to an Open-Source project as well as other projects and contributions created by me are available on my workbench at http://workbench.haefelinger.it
Amsterdam, The Netherlands; 2004-2005
ANTLRPlease find further details on ANTLR at http://www.antlr.org
is a framework for writing language recognizers, translators and compilers with an excellent support for syntax tree construction, manipulation and tree walking. ANTLR is written in Java while having a plug-in system allowing to write and plug-in code generators for other target languages than Java.
Before I joined the project, ANTLR supported Java, C++ and C as target languages. I extended this language set by writing pyANTLR, a code generator in and for Python.
Thus it become possible to implement a Compiler entirely in Python.
pyANTLR is an integral part of ANTLR since version 2.7.5.
Technologies
Java, Python, Make, autoconf
CASE-STUDY »Software-Analyst«
Post-sales support middle-ware products (CORBA, J2EE), International team, International clients.
Full-time employment as Software-Analyst, Borland, Amstelveen, The Netherlands, 2001-2004.
Responsible for post-sales support of mostly large, well known customers including Nokia, Ericsson, France Telecom, Deutsche Bank London, Euronext Amsterdam or Bundesagentur für Arbeit (Nuremberg, Germany).
Main task to analyze, test and debug customer configurations related Visibroker and Borland's J2EE Application Server. Working either customer or Borland premises. Other tasks were to maintain a highest level of knowledge about the interaction of Borland products; to maintain contact with specialists at other sites – especially with R & D in Singapore and California; to create and distribute information about specific products; to give training and o support pre/after sales activities.
Highlights
Solved a mysterious problem occurring at Bundesagentur für Arbeit related to Visibroker in in a heavy multithreaded environment. That Visibroker deployment was the largest ever taken with approximately 90.000 connected clients. The problem could be explained with the help of specialized performance testing tools like silkperformer. Eventually I solved the problem by exchanging a Solaris specific thread library.
Lead architect in designing and providing a solution that allowed engineers to use Visibroker without installing them, regardless of platform (Windows, Solaris, Linux, HP-UX, AIX) or machine. This solution got later implemented in other support centers as well.
Technologies
AIX, Ant, Apache, Borland Enterprise Server, C++ Builder, CORBA, CORBA NamingService, CORBA Notification Service, CORBA POA, DB2, Dbx, EJB, Ethereal, GIOP, GNU/Linux, Gatekeeper, Gdb, HP-UX, HTTP, IIOP, JNDI, JNI, IIS, HTML, IPC, Informix, J2EE, JAAS, JCE, JDBC, JDK 1.3, JDK 1.4, JMS, JSP, Jakarta Struts, Jbuilder, LDAP, Make, Montavista Linux, OpenLDAP, OpenSSL, Oracle, Osagent, RMI, Mod_iiop, NAT, SPY6, SSL, Servlet, Shell scripting, Silkperformer, Solaris, Squid, TCP/IP, Tcpdump, Telnet, Tomcat, UDP, UNIX, Visibroker for C++, Visibroker for Java, Windows, X.509, XML, Xdoclet
CASE-STUDY »ASN2XXX«
Full-time employment as C/C++ Developer and
Project-manager
; Head of Computec's research project ACCENT; international project experience; design and development ASN.1 compiler and
framework
(C/C++, Java); Product development ASN2CXX and ASN2Java - commercial outcome of ACCENT.
Computec GmbH Software, Karlsruhe, Germany; 1994-2000.
ACCENT was a collaborative research work of several European companies and organizations. It was partially founded and supported by the European Community as part of their ESPRIT program (EP 9169http://research.cs.ncl.ac.uk/cabernet/www.laas.research.ec.org/esp-syn/text/9169.html).
The objective of ACCENT was to devise a coding system acting as hardware cell. This hardware cell had the ability to encode and decode X.209 binary data, the canonical binary representation of ASN.1 at that time.
I represented Computec GmbH Software in this consortium during the complete lifetime of ACCENT. Besides participating in the design of the overall concept of ACCENT, I provided an ASN.1 compiler and a software coding system for ASN.1 data structures. This provision allowed us to measure the performance improvement gained by using hardware instead of a pure software solution.
My software encoding engine was extremely fast and questioned the idea of implementing a (rather complex) hardware cell.
The collected experiences led to the commercial development of the ASN2XXX product family at Computec. The whole product family got designed by me and implemented in a small team led by me.
The ASN2XXX product family has been sold world wide, mainly within the telecommunication area. Well known customers have been Ericsson, Bell Atlantic, Marconi, Telefonica Spain, Storck Netherlands and Bosch Telecom Germany.
Technologies
ASN.1, C++, Java, Windows, Solaris, Sniff
TECHNOLOGIES
Language
AWK, Shell-scripting (Bash, Bourne), C#, C/C++, Lisp, Guile, Java, JavaScript, M4, PHP, Pascal, Perl, Prolog, Python, Ruby, Scheme, Tcl/TK
Markup
XML, HTML, ASN.1, TeX/LaTeX, AsciiDoc, DocBook
Mini-language
SQL, Regular Expressions, XPath, CSS
Operating-system
Cygwin, Unix (Digital, HP-UX, AIX, SGI, SunOS, Solaris), MKS, Windows (98, 2ooo, NT, XP), MS-DOS, MSYS, MacOS/X, Novell Netware, GNU/Linux (RedHat, Suse, Ubuntu, Mandrake, Montavista)
Security
Kerberos, PKI, SSL/TLS
Database
IBM DB2, Informix, JDBC, MS Access, MySQL, ODBC, ObjectStore, Oracle
Communication
ASN.1 (BER, CER, DER, PER, X.68x, X.69x.) CIFS, CORBA, CUPS, DNS, GIOP, HTTP, HTTPS, ICMP, IIOP, IMAP, JAAC, JCA, JNDI, LDAP, NAT, NFS, NIS, NTP, OSI, PEM, POP3, RMI, RPC, S/MIME, SMTP, TCP/IP, UDP, X.509, GDMO, XDR
Web-development
CGI, J2EE, REST, Ajax, jQuery
J2EE
Servlets, JSP, EJB, RMI, JINI, JNDI, JMS, Web-services
Methods
Extreme Programming, OOP
TOOLS
IDEs
Eclipse, Visual Studio, JBuilder, Sniff, Sun Workshop, Symantec, Visual Age
Editors
Emacs, vi
Versionsmanagement
CVS, Subversion, git, mercurial, RCS, Perforce, GNU arch
Compilerconstruction
Antlr, lex/yacc, flex/bison, JavaCC
Webserver
Apache, Tomcat, lighttpd, winstone
Appl. Server
Borland Application Server
Build-tools
Make,Ant, Maven, autoconf
Build-server
CruiseControl, Hudson, Anthill
License-systems
FlexLM
CORBA
Visibroker, mod_iiop, Mico, OmniORB, Orbix, TAO
ASN.1
ASN2CXX, ISODE, snacc, OSS
Debugging
purify, gdb, dbx, nm, wireshark
Performance
silkperformer
Test
expect, junit
Security
OpenSSL, mod_ssl
Connectivity
Samba, NFS, automounter, Humingbird Exceed, ssh
UML
Paradigm Plus
Graphics
Photoshop, GIMP, Inkscape, SVG, graphviz
Email
Qmail, Sendmail
Installbuilder
InstallAnywhere, InstallShield, MSI-Installer
Integration
Swig
CMS
Wordpress, Mediawiki
EDUCATION
1987-1994
University of Karlsruhe; Graduate in Computer Science
1984-1987
Grammar School (Technisches Gymnasium) Müllheim; Allgemeine Hochschulreife
1981-1984
Bahnbetriebswerk Haltingen; Education as Metalworker
1976-1981
Secondary School (Realschule) Kandern; Mittlere Reife
LANGUAGES
English
fluent
Dutch
intermediate