Top Banner
Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger
12

Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

Nov 08, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

Curriculum VitaeDipl. Inf. Wolfgang Häfelinger

Page 2: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

2/12

ANGESTREBTE POSITION

Interessante und herausfordernde Tätigkeiten in der Architektur und/oder Entwicklung von

Software an europäischen Standorten; insbesondere Deutschland, Schweiz, Österreich und

Niederlande.

Page 3: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

3/12

PERSÖNLICHE DATEN

Name, Vorname Häfelinger, Wolfgang

Anschrift Slangenburg 42, 1082JW Amsterdam, NL

Nationalität Deutscher

Geburtsjahr 1964

Geburtsort Freiburg im Breisgau, Deutschland

Telefon +31 648 27 61 59

Email [email protected]

Internet http://www.haefelinger.it

Weblog http://workbench.haefelinger.it

Page 4: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

4/12

KOMPETENZEN

Themen

Infrastrukturlösungen zur Softwareentwicklung

(Konfigurations-, Deploy- und Buildmanagement),

Webapplikationen, IT Security, Compilerbau,

Telekommunikation.

Arbeitsweise

Selbständiges Arbeiten mit dem Anliegen, dem Kunden eine

bestmögliche Lösung im Rahmen einer zu beherrschenden

Komplexität anzubieten und zu verwirklichen.

Page 5: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

5/12

PORTFOLIO

2009 häfelinger IT

2005-2009 Europäisches Patentamt

2001-2005 Borland

2000-2001 Dresdner Bank

2000 Karis AG

1999 IBM

1998 Robert Bosch GmbH

1994-2000 Computec GmbH Software

Page 6: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

6/12

FALLSTUDIE 1/3

Europäisches Patent Amt, Den Haag, Niederlande; Freiberufliche 1 Position als System

Architekt; 2005-2009

Das Europäische Patent Amt (EPA) mit Sitz in München ist führend in der Entwicklung

von Infrastrukturlösungen rund um “das Patent”. Diese Lösungen werden überwiegend

innerbetrieblich hergestellt, wobei ein modularer, auf Komponenten basierter Ansatz, verfolgt

wird. Die vorwiegend benutzte Programmiersprache ist “Java”, sowohl auf dem Client wie

auch auf dem Server.

Ein erhebliches Problem in diesem auf Komponenten basierten Ansatz ist die fehlerhafte

Verwendung einer Komponenten in einer “veralteten” Version. Eine solche wird typischerwei-

se erst spät im Entwicklungsprozess entdeckt und verursacht dadurch nicht unerhebliche

Kosten. Das Ziel meines Auftrags war die Analyse der Situation, die Erarbeitung eines

Lösungsvorschlages für dieses Problem und ggfs. dessen Umsetzung.

Aus meiner Analyse der Situation ergab sich, dass einerseits eine “manuelle” Vorgehens-

weise und andererseits ein situationsbedingter Mangel in der Kommunikation für das Problem

verantwortlich war. Auf dieser Analyse aufbauend entwarf ich ein “Buildsystem” welches

in letzter Konsequenz sowohl die Kontrolle der Versionen der Komponenten als auch die

Erzeugung der Endprodukte vollständig automatisiert.

Die zugrunde liegende Idee dieses Systems war die Pflege der Beziehung zwischen einer

Komponente und deren aktueller Version. Die Version einer Komponente darf nur dann

erhöht werden, wenn die neue Version vollständig kompatibel zu allen anderen Komponenten

ist, die von ersterer Gebrauch machen. Dieser Ansatz wurde mittels eines so genannten

“Continuous Integration” Servers realisiert, wobei dieser jedoch erheblich erweitert werden

musste um allen Aspekten Rechnung tragen zu können.

Das unter meiner Leitung umgesetzte System wurde EPA intern unter dem Namen “Darwin”

bekannt und hat sich bestens bewährt. Darwin ist bis dato der anerkannte Standard zum

Erzeugen von lauffähigen Programmen im Europäischen Patent Amt Den Haag.

T E C H N O L O G I E N

Java, CruiseControl, Ant, CVS, Maven, Tomcat, XML, Linux, Windows, Eclipse, Rest, Python,

JSP, XSLT/XPATH.

1 Diese und weitere Fallstudien zu meinen Berufserfahrungen finden Sie auf meiner Firmenseite unter

http://de.haefelinger.it/portfolio

Page 7: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

7/12

FALLSTUDIE 2/3

pyANTLR, Amsterdam, Niederlande; Freischaffender, unentgeltlicher OpenSource Bei-

trag 2 zum Thema Software Entwicklung; 2004 - 2005

ANTLR3 ist eine Plattform zum Schreiben von Spracherkennungswerkzeugen mit einer

ausgezeichneten Unterstützung für die Konstruktion von Syntax-Bäumen, deren Manipulation

und deren Traversierung. Zwar ist ANTLR ursprünglich in und für die Programmiersprache

Java geschrieben worden, doch erlaubt ein Mechanismus die Erweiterung auf beliebige

Zielsprachen.

Bevor ich dem Opensource-Projekt beitrat, waren C, C++ und C# die möglichen Zielsprachen

neben Java. Ich erweiterte diese Liste durch das Schreiben von pyANTLR, eines Code-

Generators für die Zielsprache Python. Dadurch ist es nun also möglich, einen auf ANTLR

basierenden Compiler in Python zu realisieren.

Neben dem eigentlichen Code-Generator schrieb ich auch eine große Anzahl von Beispielen

sowie die Core-Bibliothek, auf die der erzeugte Python Code aufbaut. pyANTLR ist seit der

Version 2.7.5 integraler Bestandteil von ANTLR.

T E C H N O L O G I E N

Java, Python, Make, autoconf

2 Diesen Beitrag zu einem OpenSource-Projekt sowie weitere von mir geschaffene Projekte und Beiträge

finden Sie auf meiner Werkbank http://workbench.haefelinger.it3 http://www.antlr.org

Page 8: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

8/12

FALLSTUDIE 3/3

Computec GmbH Software, Karlsruhe, Deutschland; Festanstellung als Softwareentwick-

ler und Produktmanager; 1994 - 2000

Die Produktfamilie ASN2xxx bestand aus einem ASN.1 Compiler und einem Framework

für die Programmiersprachen C++ und Java. Compiler und Framework wurden von mir

entworfen und in einem kleinen Team unter meiner Leitung realisiert. ASN2CXX (ASN.1 für

C++) wurde weltweit an Kunden wie Ericsson, Bell Atlantic, Marconi, Telefonica Spain, Storck

(Niederlande) und Bosch Telecom Deutschland vertrieben.

Die ursprüngliche Version des Produkts war der Beitrag der Firma Computec GmbH Soft-

ware zum europäischen Forschungsprojekt ACCENT (EP 91694) im Rahmen des ESPRIT

Programms der Europäischen Gemeinschaft. ACCENT war die gemeinschaftliche Arbeit

verschiedener europäischen Firmen.

Computec GmbH Software wurde dabei während der gesamten Laufzeit des Projektes von

mir repräsentiert. Weitere beteiligte Firmen waren B3i (Frankreich), Pijnenburg (Niederlande),

Digital Equipment (Deutschland), Joanneum Research (Österreich), Universität von Patras

(Griechenland) sowie XandMail (Frankreich). Geschäftssprache war Englisch.

Ziel des Projektes war die Erstellung eines Kodiersystems als Hardware-Zelle. Diese Zelle

sollte über die Fähigkeit verfügen, Daten gemäß X.209 (BER), der kanonischen binären Re-

präsentation von Daten in ASN.1, zu kodieren und zu dekodieren. Durch die Implementierung

des Kodiersystems in Hardware erhoffte man sich, als eigentliches Ziel des Projekts, eine be-

deutende Steigerung der Geschwindigkeit (Faktor 1oo – 1ooo) gegenüber der herkömmlichen

Methode, der Kodierung mittels Software.

Neben der Mitarbeit an dem Entwurf des Gesamtsystems war meine Aufgabe die Bereit-

stellung eines ASN.1 Compilers und einer Programmierschnittstelle für C++. Deren Einsatz

verbarg dem Benutzer, ob die Kodierung mittels Hardware oder Software erfolgte. Dieser

Ansatz erlaubte auch eine Einschätzung der zu erzeugenden Leistungsfähigkeit der Hard-

ware. Es stellte sich heraus, dass die von mir entworfene Maschine extrem schnell war. Die

Hardware-Zelle wurde nie realisiert.

T E C H N O L O G I E N

ASN.1, C++, Java

4 http://research.cs.ncl.ac.uk/cabernet/www.laas.research.ec.org/esp-syn/text/9169.html

Page 9: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

9/12

TECHNOLOGIEN

Sprachen

AWK, Shellscripting (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

Minisprachen SQL, Reguläre Ausdrücke, XPath, CSS

Betriebsysteme

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

DatenbankenIBM DB2, Informix, JDBC, MS Access, MySQL, ODBC,

ObjectStore, Oracle

Kommunikation

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

Webentwickung CGI, J2EE, REST, Ajax, jQuery

J2EE Servlets, JSP, EJB, RMI, JINI, JNDI, JMS, Webservices

Methoden Extreme Programming, OOP

Page 10: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

10/12

WERKZEUGE

IDEsEclipse, Visual Studio, JBuilder, Sniff, Sun Workshop,

Symantec, Visual Age

Editoren Emacs, vi

Versionsverwaltung CVS, Subversion, git, mercurial, RCS, Perforce, GNU arch

Compilerbau Antlr, lex/yacc, flex/bison, JavaCC

Webserver Apache, Tomcat, lighttpd, winstone

Appl. Server Borland Application Server

Buildwerkzeuge Make,Ant, Maven, autoconf

Buildserver CruiseControl, Hudson, Anthill

Lizenzierung 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

Sicherheit OpenSSL, mod_ssl

Konnektivity Samba, NFS, automounter, Humingbird Exceed, ssh

UML Paradigm Plus

Graphik Photoshop, GIMP, Inkscape, SVG, graphviz

Email Qmail, Sendmail

Installbuilder InstallAnywhere, InstallShield, MSI-Installer

Integration Swig

CMS Wordpress, Mediawiki

Page 11: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

11/12

AUSBILDUNG

1987—1994Universität Karlsruhe; Abgeschlossenes Studium der

Informatik

1984—1987 Technisches Gymnasium Müllheim; Allgemeine Hochschulreife

1981—1984Bahnbetriebswerk Haltingen; Abgeschlossene Ausbildung zum

Maschinenschlosser

1976—1981 Realschule Kandern; Mittlere Reife

Page 12: Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger · 2019. 12. 22. · Curriculum Vitae Dipl. Inf. Wolfgang Häfelinger 7/12 FALLSTUDIE 2/3 pyANTLR, Amsterdam, Niederlande; Freischaffender,

CurriculumVitae

Dipl. Inf.WolfgangHäfelinger

12/12

SPRACHEN

Deutsch Muttersprache

Englisch Verhandlungssicher

Holländisch Konversationstauglich