Dr. Hendrik Niemeyer

Dr. Hendrik Niemeyer

Lingen (Ems), Lower Saxony, Germany
1K followers 500+ connections

About

machine learning solutions, software development (C++, Rust and Python), containerization…

Activity

Join now to see all activity

Experience

  • ROSEN Technology and Research Center GmbH

    Lingen (Ems), Niedersachsen, Deutschland

  • -

    Lingen (Ems), Niedersachsen, Deutschland

  • -

    Lingen

  • -

    Lingen

  • -

    Lingen

Education

  • Universität Osnabrück Graphic

    Universität Osnabrück

    -

    Quantum Thermodynamics: Simulating and analysing data from spin systems using Markov Random Fields.

  • -

    Activities and Societies: Studienstiftung des Deutschen Volkes

    Majors: Numerical Physics, Statistical Physics

  • -

    Activities and Societies: Studienstiftung des Deutschen Volkes

Publications

  • What Has C++20 Ever Done For Templates?

    C++ on Sea 2022

    The answer is a lot! There are some smaller features like more possibilities for non-type template parameters (literal class types and floating points are now possible) and lambda expressions now allow template type parameters in their definition. But the biggest feature is clearly concepts which allow us to easily define requirements on template arguments which are enforced by the compiler.

    This talk will give a tour of the new features of templates in C++20 and will discuss how the new…

    The answer is a lot! There are some smaller features like more possibilities for non-type template parameters (literal class types and floating points are now possible) and lambda expressions now allow template type parameters in their definition. But the biggest feature is clearly concepts which allow us to easily define requirements on template arguments which are enforced by the compiler.

    This talk will give a tour of the new features of templates in C++20 and will discuss how the new features work and what they can be used for.

    See publication
  • What Has C++20 Ever Done For Templates?

    ACCU 2022

    The answer is a lot! There are some smaller features like more possibilities for non-type template parameters, (literal class types and floating points are now possible) and lambda expressions now allow template type parameters in their definition.
    But the biggest feature is clearly concepts which allow us to easily define requirements on template arguments which are enforced by the compiler.

    This talk will give a tour of the new features of templates in C++20 and will discuss how the…

    The answer is a lot! There are some smaller features like more possibilities for non-type template parameters, (literal class types and floating points are now possible) and lambda expressions now allow template type parameters in their definition.
    But the biggest feature is clearly concepts which allow us to easily define requirements on template arguments which are enforced by the compiler.

    This talk will give a tour of the new features of templates in C++20 and will discuss how the new features work and what they can be used for.

    See publication
  • A Friendly Introduction to Rust for C++ Developers

    ACCU 2022

    Rust's design philosophy aims for a language which helps the developer as much as possible with memory safety, freedom from data races, great error messages and package management. But also no sacrifices shall be made in terms of performance and low-level control over memory.

    In this talk, I will introduce Rust and its core principles from the perspective of a C++ developer. Similarities and differences between C++ and Rust will be discussed by comparing the example code in both…

    Rust's design philosophy aims for a language which helps the developer as much as possible with memory safety, freedom from data races, great error messages and package management. But also no sacrifices shall be made in terms of performance and low-level control over memory.

    In this talk, I will introduce Rust and its core principles from the perspective of a C++ developer. Similarities and differences between C++ and Rust will be discussed by comparing the example code in both languages.

    See publication
  • A Practical Introduction to C++20's Modules

    ACCU 2021

    Modularity is a long known principle for creating maintainable, changeable and durable software. In contrast to other programming languages, C++ did not have its own module system and used header files to structure code. But this has changed with C++20 which introduced modules as one of its bigger new features.

    In this talk I will discuss the theoretical side of modules and their advantages over header files (e.g. faster compile times, invisibility of macros, preprocessor directives and…

    Modularity is a long known principle for creating maintainable, changeable and durable software. In contrast to other programming languages, C++ did not have its own module system and used header files to structure code. But this has changed with C++20 which introduced modules as one of its bigger new features.

    In this talk I will discuss the theoretical side of modules and their advantages over header files (e.g. faster compile times, invisibility of macros, preprocessor directives and non-exported entities, fewer name collisions and more) but the main focus will be the practical usage of modules today.

    I will demonstrate how modules can be used today with the three major compilers and how to restructure your projects using modules. Also the support of build systems for modules will be discussed.

    See publication
  • An Introduction to C++20’s Concepts

    Cpp On Sea

    One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.

    This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts…

    One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.

    This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts (constraining templates, writing your own concepts and overloading functions which are constrained by concepts).

    See publication
  • Docker and Python - A Match made in Heaven

    Talk at the PyConDE2019 conference

    Containers have revolutionized the way we build and ship software. This talk is aimed at newcomers and people with limited experience with Docker and will cover the basics of Docker and how it can be used alongside Python.

    See publication

Languages

  • Englisch

    Full professional proficiency

  • Latein

    -

  • Spanisch

    Elementary proficiency

  • Niederländisch

    Elementary proficiency

More activity by Dr. Hendrik

View Dr. Hendrik’s full profile

  • See who you know in common
  • Get introduced
  • Contact Dr. Hendrik directly
Join to view full profile

People also viewed

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Add new skills with these courses