Aspiring software engineer and former cinema/television sound mixer. Self-taught coder since childhood and currently learning computer science concepts and development best practices at 42school. Interests in networking (especially distributed), audio signal processing and machine learning.
Skills
- Committed to a methodical approach (don't like to jump right into coding to end up with spaghetti code).
- Emphasis on effective team communication.
- C and C++: memory allocation, I/O system calls, parallelism, and concurrency implementations.
- Python: used only for small tools projects.
- Typescript: used for many side-projects.
- Basic Linux administration knowledge (installation, package installation,
sudo
authorization). Makefile
writing.Dockerfile
anddocker-compose.yml
writing.- Skills in domain name and cloud administration (e.g., running instances, setting up load-balancer, "serverless" functions).
I'm interested in these techs:
- Rust: to work on distributed safe software, and to learn WASM concepts.
- Elixir:
BEAM VM
appears to be powerful, and the Elixir functional programming paradigm attracts me.
Relevant projects
Each of the following projects was developed either by myself or in a team.
Project Name | Description | Knowledge acquired |
---|---|---|
Minishell | Implementation from scratch in C of a bash interpreter. |
- Unix system calls (fork , pipe , signal , stat , execve , ...)- Parallel execution. |
Containers | Homemade implementation in C++ of some STL containers (std::vector , std::map , std::set , std::stack ) using memory management and RBTree under the hood. |
- Object-oriented abstractions. - Data-structures insertion/deletion/retrieval complexity. - Unit-testing development. |
Webserv | Fully configurable home-made web server in C++ (following HTTP/1.1 RFC). Implementing IO concurrent design pattern to serve as many successful requests as possible (GET /POST /DELETE files, directory listing, CGI execution). |
- TCP connections via system calls (epoll , socket , accept , listen , send , recv , ... ) - Event-driven architecture and concurrent computing. - RFC/Protocols understanding. - Fault-tolerance design. |
ft_transcendence | Docker-compose deployable webgame. Featuring social-networking mechanisms (friendships, direct-messages, profile pictures), real-time multiplayer good old Pong, chatroom with administration roles. Authentication using OAuth2 (through 42school provider) and 2FA-TOTP implementation. Built on top of NestJS as backend, PostgreSQL as DB, Prisma as ORM and ReactJS /Tailwind as frontend. |
- REST API concepts.- Websockets. - Interface between NestJS Object-oriented data-structure and PostgreSQL relational database via Prisma .- Authentication and authorization standards ( OAuth2 , JWT , Password hashing , TOTP ). |
- CyberClub: online cinema club for sharing underground movies with my friends and family during the pandemic.
- Several professional tools for dubbing recording.
- Made contributions to the open-source QuickAdd obsidian.md plugin via pull/request.
- Passeri: Rust MIDI Sender/Receiver bridge over network.