BEWERBUNG
Daniel Adler
SOFTWARE-ENTWICKLER
Lebenslauf
Pers nliche Daten
o
Daniel Adler
Beethovenstrasse 6, 37085 G ttingen
o
Tel. +49-(0-551-*******
E-Mail: ******@*************.***
Web: http://neoscientists.org/~dadler
geb. am 23.06.1975 in G ttingen
o
ledig
Berufsausbildung
seit 2005 Promotion an der wirtschaftswissenschaftlichen Fakult t
a
10 / 1996 - 01 / 2003 Wirtschaftsinformatik, Georg-August-Universit t G ttingen
ao
Abschluss: Diplom Wirtschaftsinformatiker (Note 2,1)
Schwerpunkte: Statistik, Informatik, R Programmiersprache, OpenGL
Berufserfahrung
12 / 2006 - 09 / 2011 Wissenschaftlicher Mitarbeiter, Institut f. Statistik, LS Zucchini, G
o
05 / 2007 - 07 / 2007 Sketch2, Toronto, Kanada: C++ 3D Programmierung
09 / 2007 - 10 / 2007 Nordwestdeut. Forstliche Versuchsanstalt, G : Installations-Tool
o
09 / 2003 - 11 / 2004 Software Entwickler bei B&N Software AG, G : Java u. C++
o
06 / 2002 - 11 / 2006 Stud. Hilfskraft, Institut f. Statistik, LS Zucchini, G : Programmierung
o
03 / 2001 - 05 / 2001 Variamedia GmbH, Hamburg: C++ Text-Layout Komponente
10 / 1998 - 02 / 2001 Stud. Hilfskraft, Institut f. Marketing, LS Silberer, G : Programmierung
o
03 / 1997 - 09 / 1998 Selbst ndig T tigkeit: 3D Animation, Web Design, Software Entwicklung
a a
02 / 1996 - 04 / 1996 Silverstyle Entertainment, Berlin, 3D Trick Animation
Schulausbildung
1987-1994 Otto-Hahn Gymnasium, Abitur (Note: 3,3)
Weiterbildung
1997-1998 EDV Kurse der GWDG G ttingen:
o
- Programmentwicklung unter UNIX
- X11 Programmierung
- Programmierung von Parallelrechnern
Weitere Kenntnisse
Englisch - ie end in Wort und Schrift
siehe Anhang
Anhang
Wissenschaftliche Preise
Big Programming Competition 2007
Verliehen von R Foundation auf der R User Conference 2007, Iowa, USA f r das R package .
u
John M. Chambers Statistical Software Award 2003
Verliehen von American Statistics Association auf der Joint Statistical Meetings 2003, San Francisco,
USA f r das R package rgl (Diplom-Arbeit).
u
Ver entlichungen
o
Foreign Library Interface
Eingereicht f r das R Journal - derzeitig in Review (Current Track 2011-15).
u
Vortr ge
a
Adler, D.: dyncall and dynports: Dynamic bindings of shared libraries - multi-platform!
Lightning Talk, Chaos Communication Congress 2009, Berlin, Germany.
Adler, D., Philipp, T.: The rdyncall package: An Improved foreign function interface for
R.
The R User Conference 2009, Rennes, France.
Oelschl gel, J., Adler, D.: Coordinating package for large objects with R base
a
Distributed Statistical Computing 2009, Copenhagen, Denmark.
Adler, D., Oelschl gel, J., Nenadic, O., Zucchini, W.: High-Performance Processing of Large
a
Data Sets via Memory-Mapping: A Case Study in R and C++
Joint Statistical Meetings, Denver, Colorado, USA.
Adler, D., Oelschl gel, J.: Large atomic data in R: package
a
The R User Conference 2008, Dortmund, Germany.
Oelschl gel, J., Adler, D.: A rst glimpse into R.
a
The R User Conference 2008, Dortmund, Germany.
Adler, D., Nenadic, O.: The package: Handling Large Data Sets in R with Memory
Mapped Pages of Binary Flat Files
The R User Conference 2007, Ames, Iowa, USA.
Adler, D., Nenadic, O.: On the Analysis of Large Data in R
Dia Espanol-Aleman de la Estadistica y Econometria, G ttingen, Germany.
o
Murdoch, D., Adler, D.: RGL in 2007
THe R User Conference 2007, Ames, Iowa, USA.
Adler, D., Nenadic, O.: A Framework for an R to OpenGL Interface for 3D graphics
Distributed Statistical Computing 2003, Vienna, Austria.
Adler, D.: Interactive visualization of multi-dimensional data in R using Open GL
Statistik Workshop, 2002, G ttingen, Germany.
o
Adler, D.: Elate OS und der Virtual Processor
Informatik Workshop, 2000, Mathematik Institut, G ttingen, Germany.
o
Poster
Glaeser, C., Adler, D., Nenadic, O., Zucchini, W., Sperlich, S.: R General Purpose Computing
on Graphics Processing Units
The R User Conference 2007, Ames, Iowa, USA.
Adler, D., Nendaic, O., Zucchini, W., Glaeser, C.: The package: Handling Large Data
Sets in R with Memory-Mapped Pages of Binary Flat Files
The R User Conference 2007, Ames, Iowa, USA.
Nenadic, O., Zucchini, W., Adler, D., Kratz, G.: Computational Issues in Creating an Online
Atlas
Poster presented at the Compstat 2004: 16th Symposium of the IASC, Prag.
Nenadic, O., Adler, D., Zucchini, W.: Visualizing Three-Dimensional Maps in Correspon-
dence Analysis
CARME 2003: International Conference on Correspondence Analysis and Related Methods, Barcelo-
na.
Nenadic, O., Adler, D.: Interactive 3D-visualization in R
Poster presented at the ISI 2003, Berlin.
Tagungsberichte
Adler, D., Nenadic, O.:A Framework for an R to OpenGL Interface for 3D graphics
Proceedings of the 3rd International Workshop on Statistical Computing (draft), Vienna.
Nenadic, O., Adler, D., Zucchini, W.: RGL: A R-library for 3D visualization with OpenGL
Proceedings of the 35th Symposium of the Interface: Computing Science and Statistics (refereed),
USA, Salt Lake City.
Diplomarbeit
Adler, D.: Interactive Visualization of multi-dimensional data in R using OpenGL
6-Monats-Arbeit im Rahmen der Pr fung f r Diplom-Wirtschaftsinformatiker an der Universit t
u u a
G ttingen. (Note: 1,0)
o
Open-Source Software
dyncall Eine Middleware Kern L sung um kompilierte Funktionen von bin ren Komponenten aus
o a
Programmiersprachen-Interpretern, Applikationsservern und Dienst-Schichten dynamisch zur Lauf-
zeit aufzurufen. Die Software ist f r verschiedene Prozessor-Architekturen (ARM, i386, AMD64, Po-
u
werPC, MIPS und SPARC) in Assembler und C implementiert worden. Ein exibles Test-Framework
sorgt daf r, dass die Software auf Stabilit t und Funktionsweise ausgiebig getestet wird. Der Source-
u a
code ist auf diverse Betriebssysteme und Build-Umgebungen portiert worden und erfreut sich einen
wachsen Kreis von kommerziellen und open-source Software-Projekten. Das Projekt wird in Zusam-
menarbeit mit Tassilo Philipp und Olivier Cha k entwickelt.
http://dyncall.org
rdyncall Eine Erweiterung der R Programmiersprache zum einfachen, direkten und typen-sicheren
Zugri auf bin re C Bibliotheken. Diese Bindings stellen eine dynamische Alternative dar und
a
er nen neue M glichkeiten der Sprach-Erweiterung.
o o
http://cran.r-project.org/web/packages/rdyncall/index.html
rgl Dieses Projekt ist als Ergebnis der Diplomarbeit entstanden. Es erweitert das freie Statistik
Programm R (http://www.r-project.org) um einen 3D Visualisierungs-Baukasten. Das System wur-
de unter Einsatz von OpenGL und Design Patterns in C++ entwickelt. Die Architektur abstrahiert
die graphische Benutzerober che und ist auf drei Gra k-Plattformen (Mac OS X, Windows, Un-
a
ix/X11) portiert worden. Im M rz 2003 wurde der Autor mit dem John M. Chambers Statistical
a
Software Award 2003 von der American Statistics Association pr miert. Zur Zeit wird das Projekt
a
in Zusammenarbeit mit Prof. Duncan Murdoch von der University of Western Ontario Kanada wei-
ter entwickelt. Das Paket z hlt zu den Kern-Erweiterungen f r 3D Darstellung mit dem R Statistik
a u
Programm.
http://rgl.neoscientists.org
Eine Erweiterung f r R das den Kern der Sprache mit neuen Datentypen und Methodiken aus-
u
stattet, um grosse Datenmengen verarbeiten zu k nnen, die uber die Kapazit t des Hauptspeichers
o a
hinaus gehen. Das Paket wurde urspr nglich f r einen Programmierwettbewerb konzipiert und mit
u u
dem ersten Platz pr miert. Darauf folgte eine zweite neu uberarbeitete Version in Zusammenarbeit
a
mit Jens Oehlschlegel.
https://r-forge.r-project.org/projects/ff/
FShake3D Eine CAD 3D Anwendung zur interaktiven Gestaltung von zwei-dimensionalen Dich-
tefunktionen. Die Software liegt dem R Paket WISP (Wildlife Simulation Package) bei um Wis-
senschaftlern aus dem Bereich der Tierforschung mit dem Schwerkpunkt statistisch unterst tzten
u
Tierz hlung.
a
http://www.ruwpa.st-and.ac.uk/estimating.abundance/WiSP/
netjam Ein junges Projekt um eine o ene kollaborative Musik Plattform zu entwicklen. U.a. wer-
den web-basierte Klangerzeugungskomponenten im Browser auf der Basis o ener Web-Standards
entwickelt.
Research and Development
dynware DynWare ist eine universelle Middleware Architektur zur Verbindung von dynamischen
(Lua,Python,Ruby,Erlang) und statischen (C,C++,Java) Programmiersprachen, deren Laufzeitum-
gebungen (Funktionen, Daten) und Komponenten (Pakete, Bibliotheken, Module).
VRB Engine Eine 3D audio/visualle Game-Engine die nachdem o enen X3D standard konzipiert
wurde, nach Prinzipien des Baukasten-Konzepts aufgebaut ist und mit modernen Sprachmitteln
in C++ implementiert ist. U.a. sind Komponenten zur Fest-K rper Physik-Simulation, 3D Audio-
o
Ausgabe und Schnittstellen zu Programmiersprachen integriert.
http://neoscientists.org/~plex/danieladler/projects.pdf
f4k Ein Compiler f r die Programmiersprache forth der winzig-kleine (2-4 kilobyte) ausf ehrbare
u u
Programme generiert (Win32 und Linux). Bibliothek beinhaltet DirectX 9 Bindings (Win32), Vec-
tor/Matrizen Berechnung, Sound Ausgabe. Vorwiegend entwickelt f r 4k Intros.
u
http://neoscientists.org/~tschwinger/tilt/
GLutils Ein R Paket zur Programmierung von 3D-Gra k Shadern, die auf modernen Gra k-Karten
ausgef hrt werden k nnen. Es ist komplett in portablen R code implementiert und nutzt tiefgreifende
u o
System-Dienste uber das rdyncall Paket und dyncall.
compileR Compiler Toolkit f r R (und in R implementiert) zur Beschleunigung von rechenintensi-
u
ven wissenschaftlichen Berechnungen.
Closed-Source Projekte
Java GUI Komponenten f r M@gic Eddy Server Im Rahmen eines Freelancer-Kontrakts wurden
u
mehrere gra sche Anwendungen f r den XML-Transaktionsserver M@gic Eddy Server der Firma
u
B&N Software (mittlerweile Cross-Gate) in Java unter Linux entwickelt. U.a. wurde ein Echtzeit
Transaktionsmonitor, eine integrierte Programmierumgebung und diverse Kon gurationswerkzeuge.
Ausserdem wurde ein Job-Scheduler unter Windows in C++ erstellt.
Euro Experten Chat Chat Server und Web-Client f r die DG Bank Frankfurt, implementiert in
u
Perl.
Dialogs Query Online-Befragungstool das Web-seiten mit Befragungsformularen verarbeitet und
automatisch Datenbank-Tabellen in SQL generiert. Weiterhin ubernimmt es die Verlaufssteuerung.
Ein Web Front-End dient zur Kon guration. Das Tool wurde im Rahmen einer studentischen Hilfs-
kraftt tigkeit neben dem Studium uber 6 Monate entwickelt.
a
Text Layout Klasse C++ Komponente zum typogra schen Layout von Text-Bl cken unter Einsatz
o
der FreeType Bibliothek und Windows f r die Firma VariaMedia GmbH, Hamburg.
u
weitere Projekte
Win4k Forth Engine in C geschrieben. Eingebettet in eine 3D OpenGL Umgebung. OpenGL Text
Konsole Layer erlaubt interaktive Programmierung.
http://neoscientists.org/~plex/win4k/index.html
Dash Mesh 3D Application Launcher f r Windows 2000/XP. Halbtransparente 3D Objekte k nnen
u o
per Drag-n-Drop mit Programm-Icons ausgestattet werden. Per Maus-steuerung k nnen die Objekte
o
plaziert und rotiert werden.
http://neoscientists.org/~plex/dashmesh/
GTK+ Magic Alteres Research-Projekt aus dem Jahre 1998. Der GTK+ GUI Toolkit in der Version
1.2 ist um eine verteilte Datenbank erweitert worden. Ober chen Eigenschaften werden zur Laufzeit
a
von einer zentralen Datenbank verwaltet. Ein Datenbank Client Tool erlaubt die gezielte Modi kation
von Farben, Rahmen-Umrandungen und Zeichensatz zur Laufzeit. Anderungen werden in Echtzeit
auf den laufenden Anwendungen (z.b. GIMP oder Gnome) sichtbar.
http://neoscientists.org/~plex/gtkmagic/index.html
Linux Multimedia-Demo in 4096 bytes Wettbewerb: Lau hige Multimedia Demonstration die
a
in maximal 4096 Bytes zu implementieren ist. Dazu wurde ein abgewandelter ELF Linker implemen-
tiert. Die Demonstration beinhaltet einen 3D Software Shader auf dem Linux Framebu er, einen 3D
Transformations- und E ekt Sequenzer unter Einsatz von Microcode Techniken und Sound-System.
Demos in Assembler Diverse Multimedia E ekte in MC68000 Assembler und VP Assembler/Elate
OS.
http://www.pouet.net/prod.php?which=9421
http://neoscientists.org/~plex/vpgarage/index.html
3D Animationen Diverse Animationen mit Maxon Cinema 4D und Lightwave3D. Darunter eine
Titel-Animation f r das Computer-Spiel Der Produzent - Die Welt des Films f r Silverstyle Enter-
u u
tainment.
http://neoscientists.org/~plex/art/
Webpage Programmierung und Design Novartis Optifast Website (1998), Institut f r Marketing
u
& Handel Universit t G ttingen (1998, pr miert)
ao a
Mailbox Betrieb The Factory BBS Betrieb einer Mailbox von 1991-1993 unter DOS. Einsatz
von verschiedenen Mailbox Programmen: SuperBBS, CNet, PCExpress, PCBoard, Telix/Salt. Diverse
Tools wurden in Turbo Pascal programmiert.
Software Entwicklung
Hardwarenahe Programmierung
Prozessor-Architekturen ARM v3-v7, i386, AMD64, PowerPC 32-bit, MIPS 32/64-bit, SPARC
32-/64-bit, Motorola 68k
Firmware PC BIOS, EFI, Amiga, Acorn, Open Firmware
Embedded Systems AMD Geode-basiert (Alix-board, Soekris), ARM-basiert (iPhone, OpenMo-
ko, Beagleboard, Gumstix), MIPS-basiert Linux/OpenWRT Router, Sony Playstation Portable
Homebrew
Virtualisierung Prozessor-Emulation mit QEmu und GXEmul
Spezialisierung SIMD Programmierung (MMX, SSE, AltiVec, NEON), Cross Embedded Develop-
ment mit Gentoo, Application Binary Interfaces (ELF,PE,Mach-o), Linker techniken, Self-
modi ed code, Calling Conventions
System Entwicklung
Betriebssysteme Mac OS X, Linux, OpenBSD, NetBSD, FreeBSD, Windows 32/64-bit, QNX, Ela-
teOS, RiscOS, BeOS, Haiku, Amiga, Minix, Plan9, DOS
System Schnittstellen C Standards (ANSI, ISO, BSD, POSIX), Win32, Syscall Layer (Linux und
BSDs), Mach, Java RE, OSGi
Frameworks Mozilla, Eclipse/SWT, Carbon, Cocoa, Java RE/Swing, ActiveX, jQuery
Spezialisierung Portable Software Architektur, Dynamic Linkage Techniken, Web-Browser Plug-in
Schnittstellen, Kernel-space Programmierung
Multimedia Entwicklung
Techniken Rendering, Raytracing, Marching Cube, Subdivision Surfaces, L-Systeme, Sound Synthe-
se, Motion Queues, Envelopes, Interaktion in 3D, Festk rper Physik Simulation
o
GPU Shader Programmierung OpenGL 1, GL Extensions mit glew, OpenGL 2+ und GLSL, OpenGL
ES (unter ARM/PowerVR Plattformen), WebGL, DirectX, CUDA, Cg, OpenCL
Gra k Systeme SDL, X11/GLX, Windows GDI, Quartz, Carbon, FreeType
Sound Programmierung WinMM, OpenAL, Firefox 4+ Audio Data
weitere Bibliotheken ODE, Bullet
3D Animation Blender, Lightwave 3D, Maxon Cinema 4D, 3D Studio Max
Bildbearbeitung GIMP, Photoshop
Audiobearbeitung Reason, Sound Tracker
Spezialisierung Data-driven Engine Design, VRML, X3D, Software-basierte Shader
Programmiersprachen Design, Interpreter Aufbau und Compilerbau
Parser lex/yacc, regular expressions, lpeg, ANTLR, JavaCC/TreeCC
Sprach Design Objekt-orientiert, Funktional, Prototypisch, Konkatenierend, Parallelisierung, Meta-
Programmierung
Virtuelle Maschinen Java VM, Lua VM, VP code/ElateOS, Interpreter Architekturen (Forth, Lisp,
Erlang, Lua, R, Python)
Spezialisierung Foreign Function Interfaces, ABIs und Calling Conventions von Prozessor Architek-
turen, Minimalistische VM Designs, Just-in-time Code Generierung, Self-modi ed Code, Forth
VMs, Register-basierte VMs (llvm, Parrot, ElateOS)
Software Entwicklung
Sprachen C, C++, Assembler, Objective-C, Go, Java, JavaScript, R, Lua, Python, Erlang, Ruby,
Pascal, M4, Shell
Compiler GCC, Microsoft Visual C++ (6,2005,2008), clang/llvm, Intel C++, SunPro, pcc, ACK,
GCC-XML
Parallelisierung Multi-threading, OpenMP, Message-Passing, GPGPU
Build Tools CMake, Make (GNU,BSD,Sun,Microsoft), SCons, mk, bitbake, open embedded
Source Versionierung Mercurial, Subversion, CVS, git
Bibliotheken STL, Boost, gmlt, Eigen, Expat, curl
Datenmanagement JSON, (no)SQL, XML, XSLT
Techniken C++ Templates, Meta-Programmierung, (Bin r und Source)-Code Generatoren
a
Methodik Design Patterns, UML, Unit Tests, Smoke/Regression Tests, Agile Development, XP
Netzwerk
Server OS OpenBSD, Linux, Mac OS X Server, Windows NT
Programmierung TCP/IP, BSD Sockets, WinSock, AJAX, CORBA, Erlang
Dienste Source Versioning Server (Lighttpd+SSL+Mercurial, Apache+Subversion, CVS), Firewall
(Soekris/OpenBSD pf, Linux/OpenWRT iptables, Mac OS X Server)
Chronologie
Programmiersprachen
Assembler
MC68000 Gut 1988-1994
i386 Gut seit 1991
AMD64 Sehr Gut seit 2007
ARM v3-v7 Sehr Gut seit 1993
PowerPC Sehr Gut seit 2004
MIPS 32/64-bit Gut seit 2008
SPARC 32/64-bit Gut seit 2011
SIMD MMX,SSE,Altivec Gut seit 2000
C Experte seit 1989
C++ Sehr Gut seit 1998
Forth Erfahrungen seit 2002
Go Erfahrungen seit 2010
Java Gut seit 1998
R Experte seit 2002
Perl Gut seit 1998
Objective-C Erfahrungen seit 2004
Lua Experte seit 2008
Python Sehr Gut seit 2005
Betriebssysteme
AmigaOS Gut 1987
BeOS Gut 1999-2000
DOS Gut 1991
ElateOS Erfahrungen 2000
Linux Sehr Gut seit 1996
MacOS X Sehr Gut 2004
QNX Erfahrungen 1998
RiscOS Gut 1993
Windows Sehr Gut seit 1997
OpenBSD Gut seit 1997
FreeBSD Gut seit 1998
Plan9 Erfahrungen seit 2010
APIs
ANSI C Sehr Gut seit 1989
C++ STL Sehr Gut seit 2001
C++ Boost Sehr Gut seit 2004
Carbon Gut seit 2005
Cocoa Gut seit 2010
CUDA Erfahrungen seit 2009
Cg Erfahrungen seit 2007
DirectX Gut seit 2002
Eigen Gut seit 2009
FreeType Gut seit 2000
GTK+ Gut seit 1997
gmtl Gut seit 2008
Java RE Gut seit 1997
OpenGL Sehr Gut seit 1999
POSIX Sehr Gut seit 1997
SDL Sehr Gut seit 1999
Win32 API Gut seit 2000
X11 Gut seit 1997
Know-How
Build-Systeme Experte seit 1998
Compiler-Bau Erfahrungen seit 2002
Cryptographie Aufbau seit 2009
Design Patterns Gut seit 1998
Virtuelle Maschinen Erfahrungen seit 2002
ABIs/Calling Conventions Experte seit 2007