
Joachim Kuebart
Software Developer
Joachim has worked as a professional programmer for more than 20 years. He has a vast experience designing, developing, and deploying large, highly reliable software systems. Recently he has also gained experience implementing responsive web applications using ECMAScript 6, HTML5/CSS3, and ReactJS.
Portfolio
Experience
C - 20 yearsC++ - 10 yearsJavaScript - 7 yearsTemplate Metaprogramming - 4 yearsHTML5 - 2 yearsCSS3 - 2 yearsResponsive Web Design (RWD) - 2 yearsReact - 1 yearAvailability
Preferred Environment
C++, Git, Windows, OS X, Linux
The most amazing...
...code I've written enabled co-operative multitasking in a JavaScript engine using continuations.
Work Experience
Freelance Systems Programmer
Konferenz für Kirchliche Bahnhofsmission
- Engineered an overhaul and extension of a legacy database system with a CGI-based web application.
- Ensured reliable operation by fixing code quality issues and adding required new functionality.
- Improved MySQL database schema to be fully normalised, reducing database size and improving index performance for common queries in the process.
- Removed string concatenation in PHP's HTML output with a template engine to remove cross-site scripting vulnerability.
- Changed ad-hoc database access code from PHP's HTML templates and replaced with an object-oriented Data Mapper design pattern.
Data Analysis Consultant
Expert Network GmbH
- Integrated various data sources into an Microsoft SQL database for statistical analysis.
- Provided technical consulting on data collection and writing analysis software in R.
- Fixed, optimized, and enhanced a linear regression model written in R to be more widely applicable and faster.
Freelance Systems Programmer
Parametric Technology Corporation
- Added (de)serialization for JavaScript objects to an embedded JavaScript VM. This allowed for persisting objects to disk, comparable to java.io.ObjectOutputStream/ObjectInputStream.
- Designed and implemented an algorithm to serialize and deserialize a cyclic object graph, taking into account JavaScript's special 'prototype' links which cannot be used to break up the graph, but constitute an acyclic subtree.
- Developed a file format for storing JavaScript objects of different classes, as opposed to JSON which just supports plain Objects and Arrays.
- Designed a Serializer class with an API which supports all native JavaScript classes automatically and allows registering custom classes by registering their respective prototype objects.
- Designed an interface that custom classes can implement to hook into the serialization and deserialization performed by the Serializer class, consisting of optional writeReplace() and readResolve() methods.
Freelance Systems Programmer
Parametric Technology Corporation
- Implemented a remote debugger for an embedded JavaScript VM.
- Added WebSocket interface for remote debugging using C++14 and Boost.Asio.
- Wrote debugger GUI in HTML5/CSS3 and JavaScript.
- Implemented JavaScript toolkit for GUI components that can be detached from the DOM at any time if the debugger connection is lost, and reattached after the connection is reestablished to allow users to continue working where they left off.
- Implemented an extension of Google's remote debugging API which supports more general host embeddings than web pages in a browser.
Programmer
think-cell Software GmbH
- Reworked the Windows API interception for drawing a GUI overlay.
- Solved problems in the inter-operation of PowerPoint and the Windows API.
- Acquired a thorough understanding of the Boost C++ library and recent C++11 features such as lambdas, move semantics, perfect forwarding, and r-value references.
- Enhanced a library for serializing native C++ objects to XML.
- Fixed bugs discovered by users and reported through the company's bug tracker.
Senior Programmer
Parametric Technology UK, Ltd
- Added continuation support to a popular JavaScript VM in order to allow scripts to work within an application while using back-tracking algorithms.
- Contributed to a C++ template library for wrapping C++ objects in JavaScript objects.
- Worked on debugging infrastructure for the JavaScript VM.
- Implemented a clipping algorithm between arbitrary polygons using precise integer arithmetic.
- Worked on a code generator for C++ wrappers based on interface specifications in W3C's XML-based specification language.
Programmer
Südwestrundfunk
- Worked on implementing a large-scale J2EE database system using Enterprise JavaBeans (EJB) technology.
- Was in charge of setting up a robust build infrastructure using Ant and Eclipse.
- Worked on a Swing GUI Java-client used for data entry and query.
- Integrated the bug tracking system with the nightly build server.
Researcher
DaimlerChrysler Research
- Developed a thesis on "Rule-Based Data Quality Mining", describing how to use association rules for error discovery in very large unknown data sets and evaluating the effectiveness in synthetic as well as real-world applications.
Programmer
Süddeutscher Rundfunk
- Added TCP/IP services to a legacy, mainframe-based database system to allow modern clients written in Java to connect to it.
- Developed a CGI-based GUI.
- Developed a Java class library for accessing the mainframe database via TCP/IP.
Programmer
clara GmbH
- Translated a class scheduling system for schools from Pascal into a database-specific proprietary programming language (4D).
Skills
Languages
HTML5, CSS3, C, CSS, JavaScript, C++, R, SQL, Python, Java, Perl, PL/I, Pascal, C++11, C++14, PHP
Frameworks
Boost, Dancer, Swing, Hibernate, Bootstrap 3, Bootstrap
Libraries/APIs
jQuery, D3.js, React
Tools
Microsoft Visual Studio, Subversion (SVN), CVS, Git, Perforce, Mercurial, Xcode, Eclipse IDE, Apache Ant
Paradigms
Responsive Web Design (RWD), Template Metaprogramming
Platforms
BSD, Windows, Linux, MacOS, Eclipse, OS X, Java EE, Jakarta EE
Storage
MySQL, Microsoft SQL Server, SQL Server 2008
Other
Algorithms, Data Structures, CFWheels, TCP/IP, CGI, Ant, 4D, Boost.Asio, Jakarta EE Design Patterns
Education
Diplom Degree in Mathematics, Computer Science
Universität Ulm - Germany
Honours Thesis in Pure Mathematics
University of Adelaide - Australia