Ibrahim Tamsamani
Systems Programming Student
- Email: tamsamani.ibrahim115@gmail.com
- GitHub: github.com/Chilsem-115
- Codeberg: codeberg.org/shadow-man
- Location: Morocco
- Open to: Remote internships or relocation for onsite opportunities
- Looking for: Software Engineering / Systems Programming Internship
Profile
Systems programming student focused on C, C++, Linux, and Unix development. Experienced in building projects from scratch, including an HTTP server, a Unix-like shell, and custom development tools. Familiar with sockets, file descriptors, parsing, process control, memory management, Makefiles, Git, and command-line workflows.
Projects
webserv
C++ HTTP server built from scratch as part of the 1337 curriculum.
- Implemented HTTP request parsing, routing, static file serving, uploads, redirects, and CGI support.
- Used Linux sockets and
epollfor non-blocking network I/O and multi-client connection handling. - Added validation for methods, headers, body sizes, request targets, and filesystem paths.
minishell
Unix-like shell written in C.
- Implemented command parsing, environment expansion, pipes, redirections, and here-documents.
- Used
fork,execve, signals, file descriptors, and process control to execute shell workflows. - Built behavior around common Unix command-line patterns and shell edge cases.
philosophers
Concurrency and synchronization project written in C.
- Modeled concurrent workers using threads, mutexes, shared state, and timing constraints.
- Worked on avoiding race conditions, deadlocks, starvation, and inconsistent shared-state access.
- Practiced debugging timing-sensitive behavior in a small concurrent system.
cub3d
Raycasting-based 3D rendering project written in C.
- Built a small first-person renderer using raycasting, map parsing, texture handling, and player movement.
- Implemented real-time input, collision checks, and frame-by-frame rendering with a minimal graphics library.
- Applied geometry, trigonometry, and low-level image buffer manipulation to produce the scene.
fractol
Interactive fractal renderer written in C.
- Rendered fractals such as Mandelbrot and Julia sets using complex-number iteration.
- Added zoom, pan, color variation, and event-driven interaction.
- Worked with pixel buffers and performance-conscious rendering loops for responsive visualization.
Skills
- Languages: C, C++, Zig, Lua, Shell, x86 assembly, typescript
- Systems: Linux, Unix programming, POSIX APIs, sockets,
epoll, file descriptors, processes, signals - Concurrency: threads, mutexes, synchronization, race-condition debugging, deadlock avoidance
- Graphics: raycasting, pixel buffers, event-driven rendering, basic OpenGL
- Tools: Git, nginx, Docker, Make, CMake, GDB, Valgrind, Neovim, command-line workflows
- Practices: technical documentation, debugging, code review, collaborative development
Education
1337 School
Project-based software engineering curriculum focused on C, Unix programming, algorithms, systems programming, and peer learning.
Boot.dev
TypeScript certificate covering strongly typed JavaScript development and backend-oriented programming fundamentals.
High School Diploma
Completed secondary education.
Self-Directed Study
Ongoing study in systems programming, Linux internals, networking, graphics programming, embedded software, compilers, and developer tooling.