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
- Programming Languages: C++, Python, ...
- Machine Learning: Artificial Neural Network, Deep Learning, Support Vector Machine, ...
- LinkedIn: www.linkedin.com/in/danielheinlein
- Email: [email protected]
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.
Hours of Teaching, not only in an academic context
Published Projects
Master of Science degrees
Lines of C++ Code in the past 5 years
Languages
Discover my linguistic proficiency.
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
- Created and maintaining http://subspacecodes.uni-bayreuth.de/ with Python, Django, HTML, Bootstrap, CSS, Javascript, SQLite, Git, Docker, and Apache.
- Maintained https://www.math.uni-bayreuth.de/.
- Developed a method to embed literature with PHP, HTML, and CSS, and a method to connect an SQL database with PHP to deliver the homepage contents.
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
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:
- multivariate time series arising from stocks
- use multiple previous time steps to predict multiple future time steps
- with LSTM (long short-term memory)
- and python, Keras, TensorFlow, scikit-learn
- comparison to prophet
- and R, BFAST.
Large language models (LLM)
Creating and deploying LLMs:
- state-of-the-art transformer networks
- deployment with Python, Flask
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:
- Heinlein, Kiermaier, Kurz, Wassermann. Subspace codes homepage. 2016.
- Heinlein, Kiermaier, Kurz, Wassermann. Tables of subspace codes. arXiv:1601.02864, 2016.
- Heinlein, Honold, Kiermaier, Kurz, Wassermann. Projective divisible binary codes, The Tenth International Workshop on Coding and Cryptography, 2017.
- 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.
- 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.
- Heinlein, Kurz. Coset Construction for Subspace Codes. IEEE Trans. on Inf. Theory, 63(12):7651–7660, 2017.
- Heinlein. Integer linear programming techniques for constant dimension codes and related structures. Ph.D. thesis, Bayreuth, 2018.
- Heinlein, Kurz. Binary Subspace Codes in Small Ambient Spaces. Adv. Math. Commun., 13(4):817–839, 2018.
- Heinlein. New LMRD code bounds for constant dimension codes and improved constructions. IEEE Trans. on Inf. Theory, 65(8):4822–4830, 2019.
- Heinlein, Honold, Kiermaier, Kurz. Generalized vector space partitions. The Australas. J. Comb., 73(1):162–178, 2019.
- 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.
- Heinlein, Honold, Kiermaier, Kurz, Wassermann. On projective q^r-divisible codes. arXiv:1912.10147, 2019.
- 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.
- D'Oliveira, El Rouayheb, Heinlein, Karpuk. Degree Tables for Secure Distributed Matrix Multiplication. IEEE Inf. Theory Workshop 2019, 2019.
- Heinlein. Generalized linkage construction for constant-dimension codes. IEEE Trans. on Inf. Theory, 67(2):705–715, 2020.
- Heinlein, Ihringer. New and Updated Semidefinite Programming Bounds for Subspace Codes. Adv. Math. Commun., 14(4):613–630, 2020.
- 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.
- Heinlein, Östergård. Dataset for Algorithms and Complexity for Counting Configurations in Steiner Triple Systems. Zenodo, 2021.
- Heinlein, Östergård. Steiner Triple Systems of Order 21 with Subsystems. arXiv:2104.06825, 2021.
- 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.
- D'Oliveira, El Rouayheb, Heinlein, Karpuk. Degree tables for secure distributed matrix multiplication. IEEE J. on Sel. Areas Inf.Theory, 2021.
- Heinlein, Östergård. Algorithms and Complexity for Counting Configurations in Steiner Triple Systems. J. Comb. Des., 30(7):527–546, 2022.
- Heinlein, Östergård. Constructing Random Steiner Triple Systems: An Experimental Study. arXiv:2208.12057, 2022.
- Heinlein, Östergård. Enumerating Steiner Triple Systems. arXiv:2303.01207, 2023.
- 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