I'm passionate about developing C++ software and libraries in my free time. I love exploring strong typing techniques like those discussed in Fluent C++'s Strong Types. I'm a fan of clean code, expressive code and the effective use of design patterns (when it's useful).
When I not doing code, I'm playing video games, listening music or watching anime like SNK - Attack on Titan, Evangelion, Initial D or Psycho-Pass.
I'm currently working on rebuilding shape-editor from C++11 to C++20. For this goal, I've developed several libraries like integers and common-concepts. I'm also focused on improving ez-draw++ by using RAII, smart pointers, the STL library and new C++20 features. It's a long-term project as ez-draw++ is a header-only library initially coded in C++11. It takes significant effort to convert the library while maintaining the same logic without testss. Therefore, I'm searching for solutions to test the current version of ez-draw++ accross different OS (Linux/Windows).
- ez-draw-pp: A improved version of ez-draw++ using C++20, RAII, design patterns, STL and smart pointers to enhance memory security.
- common_concepts: Common concepts used in various projects.
- integers: Strong types for negative, positive and not null integers.
- shape_editor (new version): An improved version of shape-editor using C++20 for enhanced memory security.
- stringify (currently private): A common concept to stringify any object using 'std::to_string'.
- Meson
- How make a clean documentation with Doxygen, Breathe, Sphinx and the theme sphinxawesome: Clear Functional C++ Documentation
- How make doxygen-awesome-css like a Meson dependency by using GitHub Actions (currently it's a private project)
- Rust
- Diverse topics:
- Clean Architecture
- REST APIs
- Asynchronous Python (AsyncIO)
- Concepts C++20
- Frameworks:
- BlackSheep v1 (good framework)
- FastAPI
- expressjs
- Networking libraries:
- Database libraries:
- Serialization:
- Testing libraries:
- Languages:
- Python
- JavaScript
- CI/CD:
- GitHub workflow (Actions)
- Docker: Introduction on how to create robust images with minideb
- API specifications:
- Build systems:
- TypeScript
- React
- Modern HTML and CSS
- Design patterns: Comprehensive site for all design patterns.
- Fluent C++
- CppCoreGuidelines: Guidelines for writing high-quality C++ code.
- BlackSheep
- ZMQ Guide: The ultimate guide to learning ZMQ.
- doxygen-awesome-css: Great CSS without using Sphinx.
- For CMake:
- CMinx: Generates API documentation for CMake functions and macros.
- CMaize: Simplifies writing CMake-based build systems.
- CMakePPLang: Object-oriented extension to the CMake language.
- CMakeTest: A unit-testing framework for CMake functions.
These projects might work or not depending on the time I spend on them. Many of these projects are archive and won't receive further updates.
- vigenere-api: REST API providing Ceasar and Vigenere algorithm, implemented with GitLab CI/CD and pytest tests.
- shape-editor: A simple shape drawing tool to explore OOP concepts.
- libimage: Library for loading, saving and editing various image formats (PPM, TGA, PGM, JPEG)
- chartor: Load CSV data and draw charts with chart.js.
- ttl_project: Website with CodeIgniter3 and MySQL.
- visualhasher: Visual hasher with different algorithms.
- pem_GL: An OpenGL engine.
- C++ ❤️
- Java
- JavaScript
- Python (enough time of using it)