MY PROFILE
int main()
{
Profile my; // 🪪
my.name = "Morgan";
my.school = 42; /* Nice (France) */
my.areasOfInterest = {
"Software_Architecture" : "Designing scalable and efficient systems";
"Web Development" : "Javascript";
"Game Development" : "Unity, C#";
"AI & Machine Learning" : "Natural language processing, cognitive science applications";
};
my.languages = { "English", "Русский", "Français", "汉语", "Esperanto" };
my.assets = { "ambitious", "pragmatic", "adaptable" };
my.currentTarget = "on 42 Common Core finish line";
Background previousCarrier; // 📚
previousCarrier.field = "Early education";
previousCarrier.speciality = "Teaching French as a Foreign Language";
previousCarrier.top[3] = { "Coordinator", "Trainer", "Director" };
Company business; // 💼
business._status = "IE"; /* Individual Entrepreneur */
business._commercialName = "MARIDO";
business._services = {
"educational" : "private tutoring";
"linguistic" : "translation & localisation (en/ru/eo > fr); copyrighting"
"informatics" : "undefined";
};
business._website = "https://www.marido.fr";
Skills stack; // 🛠️
stack.os[3] = { "Linux", "MacOS", "Windows" };
stack.languages = { "C", "C++", "Javascript", "Python" };
stack.frameworks = { "Typescript", "Tailwind CSS" };
stack.ai_tools = { "GPT", "Claude", "Copilot", "Suno" };
Misc facts[3] = { "hitchhiked around Europe for 3 years",
"lived 10 years in Russia",
"designed a bilingual preschool in the French Riviera" };
if ( wantToKnowMore )
sendMessage( "marido.entreprise[at]gmail.com" );
else
std::cout << "Thanks for reading, have a nice day!" << '\n';
return ( $? );
}MY LOGS
- Here we go! I lose so much time in France with nonsensical administrative tasks. It's like the whole social organization aims to nothing else than keeping the statu quo, no matter how inefficient it is, and preventing people to actually work on what does matter. Anyway, there is a second load of absurd kafkaian procedures to tackle now, then I can go back to something more fulfilling than bureaucrats' psychosis.
- Solved conversion issues with my Python script (thanks to Derek's article: why is it so hard to pdf text extraction?.
- Learned to set a Django project. Intimidating at first, but it does not bite.
- Added 42 OAuth (and learned about 42 API)
- Added (for the most part) GDPR compliance on a dedicated page Documentation (contains legal documents and tools to see, download and delete data).
- Defined with the team what should be the next steps. Our goal is still to first finalize a minimal version, but we may add a couple of 'easy' modules. Can't wait to develop this project further.
- Tried and failed, but was close. Unexpectedly was able to register to a Tuesday's exam, will try not to fail harder.
- Transcendence Solo: I will keep on doing it in the side to explore 'basic' stuff needed for any web app.
- Three other projects (V, T T, H).
- I read with great interest the article Something Big is Happening (Matt Shumer). Unsure on what to conclude though. IA is such a game-changer on many levels, and it evolves so fast that it is definitely not easy to decide on how to handle it. Its mere existence forces you to reconsider almost everything you were sure about.
MY PROJECTS
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| libft | Build your own reusable C utility library. | libc re-implementation, pointers, memory, Makefile, linked lists |
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| ft_printf | Recreate printf (subset) with formatted output. |
variadic args, parsing, formatting, write(), modular C design |
| get_next_line | Read a file descriptor line-by-line. | file I/O, buffers, static state, memory management |
| Born2beroot | Set up and harden a Linux VM like a (mini) sysadmin. | virtualization, Linux, users/groups, sudo, SSH, firewall, cron |
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| push_swap | Sort integers using two stacks and a limited instruction set. | sorting strategies, complexity, greedy/heuristics, data structures |
| minitalk | Send text between processes using UNIX signals. | signals, bitwise encoding, client/server |
| so_long | Build a tiny 2D game using MiniLibX. | event loop, rendering, map parsing, collision, flood fill |
| Exam Rank 02 | Timed C algorithmic exercises (multiple levels). | C basics, strings, pointers, small algorithms, speed/accuracy |
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| minishell | Implement a minimal Bash-like shell. | parsing, env, fork/exec, pipes, redirections, signals, termios |
| Philosophers | Solve the Dining Philosophers concurrency problem. | threads, mutexes, deadlocks, timing, synchronization |
| Exam Rank 03 | Timed C exam. | C fundamentals, limited specs, debugging under pressure |
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| NetPractice | Solve networking exercises (IP/subnets/routing). | IPv4, subnetting, routing, masks, network reasoning |
| cub3D | Raycasting 3D maze (Wolf3D-style). | raycasting, textures, map parsing, rendering loop, math |
| CPP Module 00 | C++ basics & OOP intro. | classes, methods, namespaces, IO streams |
| CPP Module 01 | Memory & references in C++. | new/delete, references, pointers, RAII intro |
| CPP Module 02 | Ad-hoc polymorphism & orthodox canon form. | operator overload, canonical form, fixed-point-ish patterns |
| CPP Module 03 | Inheritance. | inheritance, protected/public, composition vs inheritance |
| CPP Module 04 | Subtype polymorphism & interfaces. | virtual, abstract classes, deep copy, polymorphism |
| Exam Rank 04 | Timed “micro-shell” style exam. | fork/exec, pipes, parsing argv, minimal shell behavior |
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| Inception | Deploy a multi-service stack using Docker. | Docker, docker-compose, networks, volumes, Nginx, services |
| webserv | Write an HTTP server (HTTP/1.1). | sockets, HTTP, non-blocking I/O, config parsing, CGI |
| CPP Module 05 | Exceptions. | try/throw/catch, exception safety |
| CPP Module 06 | Casts. | static/dynamic/reinterpret/const cast, RTTI ideas |
| CPP Module 07 | Templates. | templates, generic programming |
| CPP Module 09 | Containers in practice. | containers, parsing, algorithms, composition |
| Exam Rank 05 | Timed C++ exam (multiple modules). | C++ syntax, OOP, problem solving, binary tree |
| Project | Concise description | Main notions & concepts used |
|---|---|---|
| ft_transcendence | Build a full-stack web app (multiplayer Pong). | web dev, auth, real-time (WebSockets), security, Docker, teamwork |
| Exam Rank 06 | Final timed "mini server" style exam. | advanced timed problem-solving, robustness, constraints |
(To be unlocked)
`