I'm currently a student at 42 Heilbronn, starting to work on my Mastery in the track of Operating Systems.
Before, I worked hard to finish the 42 Core Curriculum and interned at Vector Informatik, where the main goal of my team was to push forward the development of a future-proof Google Test unit testing model for the Embedded C code implementation of the Ethernet driver of the Infineon Aurix Tricore Gen 2.
So far I've learned and worked with a couple of different languages and technologies.
These are the ones I feel most comfortable with:
I have also had some interactions with the following technologies:
(some a bit more, and some only briefly)
In the second half of July, I am attending the training course Embedded Linux System Development at Bootlin. The purpose of this training is to empower developers to understand the intricacies of Embedded Linux, and to provide them with enough practical experience to "start a project using embedded Linux, from system building to application development".
In this course we cover all the important topics:
- The architecture of Embedded Linux systems
- Choose, building, setting up and using a cross-compilation toolchain
- Understanding the booting sequence of embedded Linux systems
- Setting up and using the U-Boot bootloader
- Selecting, configuring, building and installing a Linux kernel version
- Creating a foot filesystem from scratch (incl. directories, applications, configuration files, libraries)
- Choosing and setting up the main Linux filesystem for block storage devices
- Selecting, cross-compiling and integrating open-source components
- Understanding the main open-source licenses
- Setting up and utilizing an Embedded Linux build system
- Developing and debugging applications on an embedded system
Together with my fellow 42HN peers aenglert, NL27 and nijakow, I'm working on the last project of the 42 Core Curriculum. Goal of this project is to build a fully functional website with frontend, backend and database. Users need to run through an authentication process, login and can then play a Pong like game, while chatting with other users, checking out the overall high-score and their opponents profiles.
As the first 'bigger' C++ project, nijakow, NL27 and I developed a webserver that was able to serve a fully static website. The goal was to learn more about the HTTP protocol, multithreading vs multiplexing and the use of sockets.
As a deep dive into the C++ STL, I re-coded the std::stack, std::vector, std::map, std::set (the last two with a self-written red-black tree as the underlying data structure), and some of the helper functions and objects like std::pair, iterators, enable_if, and others.
With my fellow 42HN peer aenglert, I designed and coded a small game, based on the 90s hit Wolfenstein 3D. Goal of this project was to learn more about parsing and ray-casting.
icons taken from LelouchFR