Skip to content
davsam97Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Hi, I'm David — C / C++ developer at École 42

I write low-level software in C and C++: event loops, processes, threads, parsers, memory. I am looking for a 6-month software development internship in the space or aerospace industry (embedded, ground segment, simulation or tooling), starting January 2027, in Île-de-France.

🇫🇷 Étudiant à l'École 42, je recherche un stage de 6 mois en développement logiciel pour le spatial ou l'aéronautique (embarqué, segment sol, simulation ou outils) à partir de janvier 2027, en Île-de-France.

LinkedIn Available for an internship from January 2027


Selected work

Project What it is What it shows
malloc Thread-safe reimplementation of malloc / free / realloc as a shared library, built only on mmap / munmap. Runs ls, git, vim and python3 through LD_PRELOAD. Solo, 125/100. Virtual memory and paging, allocator design (zones, segregated free lists, coalescing), shared libraries and symbol interposition, thread safety
webserv Non-blocking HTTP/1.0 server in C++98, in the spirit of NGINX. One poll() loop serves every client, CGI runs asynchronously. Team of 2. Sockets and event-driven I/O, fork/execve/pipes, protocol work from the RFCs, resource ownership in C++
miniRT Ray tracer written from scratch in C: spheres, planes, cylinders, cones, Phong lighting, shadows, textures and bump mapping. Team of 2. 3D math (vectors, intersections, TBN frames), rendering pipeline, modular C architecture
minishell A bash-like Unix shell in C: AST parser, pipes, subshells, && / ||, heredocs, wildcards, signals. Team of 2. Parsing, process management, Unix signals, careful error handling
philosophers The dining-philosophers problem, solved twice: threads + mutexes, then processes + named semaphores. Concurrency without deadlocks or data races, timing-sensitive monitoring

Also: push_swap (sorting under constraints) · so_long (2D game, MiniLibX) · pipex · Libft · ft_printf · get_next_line

Toolbox

  • Languages: C (main), C++98, Bash, Python
  • Systems: POSIX processes and signals · pthreads, mutexes, semaphores · sockets and poll() · manual memory management
  • Tools: Linux, Git, Make, GCC / Clang, Valgrind, Docker
  • Next: bare-metal C on AVR (ATmega328P), then STM32

Background

Before 42, I was an optician-optometrist, then ran my own small transport company. I switched to software in 2025. I grew up in French Guiana, home of Europe's spaceport.

Most projects here were built at École 42: project-based, peer-reviewed, no teachers.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors