Daniel Heinlein

I'm a

About

I am a German computer scientist, mathematician, and programmer living over five years in Finland. I hold a Ph.D., two M.Sc.s, and a B.Sc., all achieved with top grades. My expertise includes but is not limited to combining mathematical methods with efficient programming and high-performance computations.

Computer Scientist, Mathematician, Programmer.

Bridging the gap between theory and practice through precise mathematical modeling and computations.

  • Nationality: German
  • Current location: Helsinki, Finland
  • Education: Ph.D.
  • Expertise: Computer Science, Mathematics, Programming

My proficiency in data science allows me to extract valuable information from complex datasets, while my experience in time series analysis enables me to uncover patterns and make accurate predictions. I also possess a deep understanding of optimization and apply it to assist decision making processes. With a track record of successful projects, I am adept at utilizing continuous integration and deployment techniques, ensuring the smooth development and delivery of software solutions.

Facts

Explore numbers illustrating my expertise.

800

Hours of Teaching, not only in an academic context

25

Published Projects

2

Master of Science degrees

70005

Lines of C++ Code in the past 5 years

Languages

Discover my linguistic proficiency.

German 100%
English 90%
French 30%
Persian 10%

Resume

Download my CV here: Download

Professional Experience

Research & Development Specialist

2018 - Present

Aalto University, Finland

  • Generation, analysis, and pattern recognition of big data.
  • Generated and processed ca. 25 petabytes of data in ca. 30.000 CPU-hours with a heavily optimized and parallelized approach.
  • Wrote a C++ program to generate exhaustively ca. 100.000 functions, having ca. 7.500.000 lines of code, to apply Google Benchmark and discover the fastest.
  • Applied data analysis and machine learning techniques, esp. support vector machines, to optimize problems with Python, Pandas, and Scikit-learn.
  • Investigated possibilities to compute matrix multiplication fast in a cloud such that servers in the cloud learn nothing about the input matrices, even if they collude.
  • Applied metaheuristics, esp. tabu search, in a C++ program augmented with Streaming SIMD Extensions (SSE / AVX).
  • Applied semidefinite programming to obtain state-of-the-art bounds.

Ph.D. researcher

2015 - 2018

University of Bayreuth, Germany

  • Applied CPLEX, Gurobi, and own optimized C++ and Python code (involving hardware specifics, cache misses, RAM accesses, speculative execution, branch prediction, SIMD) in distributed computing on the university's cluster; the most computationally intense project required ca. 50.000 CPU-hours.
  • Solved close to impossible problems using mathematical techniques, esp. symmetry & integer programming, and distributed computing.
  • Attended national and international conferences & 2 weeks research project in Haifa, Israel.

Web developer

2013 - Present

University of Bayreuth, Germany

Administrator

2013 - 2018

University of Bayreuth, Germany

  • Maintained ca. 20 computers and servers with Puppet.
  • Managed hardware and software acquisition.
  • Applied NFS, ZFS, Backups, Git, SVN, and DAViCal.
  • User management with LDAP.

Software architect, intern

2012 - 2012

Astrum IT, Erlangen, Germany

  • Maintained an image processing library.
  • Applied Scrum techniques.

Education

Ph.D., Computer Science, Mathematics

2015 - 2018

University of Bayreuth, Germany

Applied high-performance computing to coding and data transfer problems.

Thesis: Integer linear programming techniques for constant dimension codes and related structures

Master of Science, Computer Science

2014 - 2016

University of Bayreuth, Germany

Grade: 1.0 (best possible grade & each grade contributing to the average is best possible).

Focused on algorithms and data structures.

Master of Science, Mathematics

2012 - 2014

University of Bayreuth, Germany

Grade: 1.2 (third best grade).

Focused on integer linear programming.

Bachelor of Science, Mathematics

2009 - 2012

University of Bayreuth, Germany

Grade: 1.0 (best possible grade).

Focused on integer linear programming.

Portfolio

Find small representatives of some of my projects.

Continuous Integration / Continuous Deployment

Demo of:

  • CI / CD with Github Actions
  • cmake
  • tests and coverage
  • sanitizer
  • doxygen
  • cachegrind for performance statistics
  • Github Pages

Markov chain

Applying stochastic tools like

  • geometric distribution,
  • Markov chain,
  • expected value, and
  • random walk
to Path of Exile's Tainted Orb of Fusing system.

Solar data analysis

Analyzing balcony power plant data:

  • data tracked by a myStrom power socket,
  • processed with python, numpy, pandas, and matplotlib,
  • Watt produced per hour,
  • daily statistics, and
  • cost savings.

Satellite images

Apply Remote Sensing techniques

  • with Google Earth Engine
  • to visualize tree loss, gain, & cover
  • and compare to a time series analysis of the normalized difference vegetation index (NDVI)
  • on a global scale.

Time series forecast

Apply AI to a analyze and predict a time series:

Web development

Created multiple homepages:

Large language models (LLM)

Creating and deploying LLMs:

Core technologies

Explore the technologies that form the foundation of my proficiency.

C++

With over 15 years of experience in C++, my primary programming language, I delivered a multitude of efficient and high-performance programs.

Python

Using Python for over 10 years, I harnessed its rapid development capabilities and versatility, as well as its broad acceptance in machine learning and artificial intelligence.

JavaScript

For the past two years, I used JavaScript extensively within Google Earth Engine, to analyze satellite images and create dynamic geospatial and temporal applications.

MPI

Having utilized MPI for the past decade, I applied its ability to orchestrate parallelism among distributed computing resources, making significant contributions to high-performance computing.

SQL

With 5 years of experience, I used SQL for managing and querying large datasets that arose in other projects, empowering efficient big data processing and comprehensive data analysis.

CPLEX / Gurobi

During my studies and Ph.D., I specialized in integer linear programming and accumulated 10 years of experience since. This experience improves my ability to use optimization solvers like CPLEX and Gurobi which in turn assist real-world decision making processes and save resources and money.

Technical roles

Discover my expertise and qualifications.

Thanks to my extensive experience in algorithms and data structures acquired during my studies, particularly my second Master's degree, I possess a deep understanding of algorithmic principles and the ability to design and optimize efficient algorithms, enabling me to contribute effectively to the development of innovative and scalable solutions in various domains.

Algorithm Developer

Because of my expertise in data analysis, statistical modeling, and machine learning, honed through my academic studies and research experience, together with a comprehensive understanding of data manipulation, feature engineering, and predictive modeling, I possess the skills to extract valuable information from complex datasets to facilitate decision-making.

Data Scientist

Due to my expertise in high-performance computing, parallel programming, and efficient algorithm design, together with a solid background in C++ and MPI, I can optimize and parallelize code for large-scale computations, enabling faster and more efficient processing on distributed systems.

High-Performance Computing Specialist

During my studies and Ph.D., I focused extensively on this area of expertise. With a deep understanding of mathematical modeling, optimization algorithms, and the practical application of integer linear programming, I am well-equipped to tackle complex real-world and applied optimization problems and provide innovative solutions.

Integer Linear Programming Specialist

Thanks to my background in academic research and development, together with a strong foundation in mathematics, computer science, and programming, coupled with experience in collaborative research projects, I can contribute to scientific innovation and the advancement of technology.

Research & Development Scientist

With a solid foundation in computer science, mathematics, and efficient programming, I can develop robust and scalable software solutions. My expertise in programming languages like C++ and Python and my strong understanding of software development principles enable me to design and implement high-quality software systems.

Software Engineer

Publications

Select a category to filter the list of publications:

  • All
  • C++
  • Python
  • Web Development
  • Integer Linear Programming
  • Semidefinite Programming
  • Subspace Codes
  • Classical Codes
  • Secure Computation
  • Steiner Triple Systems
  1. Heinlein, Kiermaier, Kurz, Wassermann. Subspace codes homepage. 2016.
  2. Heinlein, Kiermaier, Kurz, Wassermann. Tables of subspace codes. arXiv:1601.02864, 2016.
  3. Heinlein, Honold, Kiermaier, Kurz, Wassermann. Projective divisible binary codes, The Tenth International Workshop on Coding and Cryptography, 2017.
  4. Heinlein, Kurz. An upper bound for binary subspace codes of length 8, constant dimension 4 and minimum distance 6, The Tenth International Workshop on Coding and Cryptography, 2017.
  5. Heinlein, Kurz. Asymptotic bounds for the sizes of constant dimension codes and an improved lower bound, Coding theory and applications. Volume 10495, Lecture Notes in Computer Science, pages 163–191. Springer, 2017.
  6. Heinlein, Kurz. Coset Construction for Subspace Codes. IEEE Trans. on Inf. Theory, 63(12):7651–7660, 2017.
  7. Heinlein. Integer linear programming techniques for constant dimension codes and related structures. Ph.D. thesis, Bayreuth, 2018.
  8. Heinlein, Kurz. Binary Subspace Codes in Small Ambient Spaces. Adv. Math. Commun., 13(4):817–839, 2018.
  9. Heinlein. New LMRD code bounds for constant dimension codes and improved constructions. IEEE Trans. on Inf. Theory, 65(8):4822–4830, 2019.
  10. Heinlein, Honold, Kiermaier, Kurz. Generalized vector space partitions. The Australas. J. Comb., 73(1):162–178, 2019.
  11. Heinlein, Honold, Kiermaier, Kurz, Wassermann. Classifying optimal binary subspace codes of length 8, constant dimension 4 and minimum distance 6. Des. Codes Cryptogr., 87(2-3):375–391, 2019.
  12. Heinlein, Honold, Kiermaier, Kurz, Wassermann. On projective q^r-divisible codes. arXiv:1912.10147, 2019.
  13. Heinlein, Kiermaier, Kurz, Wassermann. A subspace code of size 333 in the setting of a binary q-analog of the Fano plane. Adv. Math. Commun., 13(3):457–475, 2019.
  14. D'Oliveira, El Rouayheb, Heinlein, Karpuk. Degree Tables for Secure Distributed Matrix Multiplication. IEEE Inf. Theory Workshop 2019, 2019.
  15. Heinlein. Generalized linkage construction for constant-dimension codes. IEEE Trans. on Inf. Theory, 67(2):705–715, 2020.
  16. Heinlein, Ihringer. New and Updated Semidefinite Programming Bounds for Subspace Codes. Adv. Math. Commun., 14(4):613–630, 2020.
  17. D'Oliveira, El Rouayheb, Heinlein, Karpuk. Notes on communication and computation in secure distributed matrix multiplication.2020 IEEE Conference on Communications and Network Security (CNS). IEEE, 2020.
  18. Heinlein, Östergård. Dataset for Algorithms and Complexity for Counting Configurations in Steiner Triple Systems. Zenodo, 2021.
  19. Heinlein, Östergård. Steiner Triple Systems of Order 21 with Subsystems. arXiv:2104.06825, 2021.
  20. Assis Machado, D'Oliveira, El Rouayheb, Heinlein. Field Trace Polynomial Codes for Secure Distributed Matrix Multiplication. XVIIInt. Symp. Probl. Redundancy Inf. Control. Syst. (REDUNDANCY):188–193, 2021.
  21. D'Oliveira, El Rouayheb, Heinlein, Karpuk. Degree tables for secure distributed matrix multiplication. IEEE J. on Sel. Areas Inf.Theory, 2021.
  22. Heinlein, Östergård. Algorithms and Complexity for Counting Configurations in Steiner Triple Systems. J. Comb. Des., 30(7):527–546, 2022.
  23. Heinlein, Östergård. Constructing Random Steiner Triple Systems: An Experimental Study. arXiv:2208.12057, 2022.
  24. Heinlein, Östergård. Enumerating Steiner Triple Systems. arXiv:2303.01207, 2023.
  25. Assis Machado, D'Oliveira, El Rouayheb, Heinlein. More Servers, Less Communication for Secure Distributed Matrix Multiplication, 2023. in preparation.

Find my publications here:

Contact

Connect with me to explore opportunities.

Location:

Helsinki, Finland