E-mail:
Previous Work and Projects
At Webincode
2019-2020, 2020-2021
Working at Webincode was my first step into the professional tech world.
I joined it through an internship program in the 2-year degree I was taking at a local polytechnic school (which I never finished since I left one course behind).
It helped me not only improve my Web development skills, but also how to organize work and how to act as part of a team.
Regrettably, I did not take the job as serious towards the end of my time there, forcing the great yet small crew there to cut ties with me, which I wish I could undo.
Lessons learned:
- Putting in practice modern Web 'front-end' development with Bootstrap, and custom CSS+JS for unique page elements.
- How SQL database queries should be formed in real life situations
- Being introduced to the gigantic (in code size) cross-platform mobile app development made possible by Cordova and Angular through the Ionic Framework.
- The importance of defining tasks (and time estimates) to solve before tackling a project
Restoring Counter-Strike Online 2
2018-2022
This was my first modestly popular open-source project where my rookie reverse engineering skills were useful for others.
Technically this started in 2017, in the last week of the Chinese-flavor of this live service game, where I recorded a Wireshark dump of the network during a match.
A year later, I published on Youtube a video of a prototype custom game launcher that created a room and hosted a match, locally - made possible by Source Engine's DLL architecture, and by its leaked source code (fortunately Valve's legal team never found this project relevant).
Following some reasonable feedback, and inspired by the trending technology at the time, I began creating a master server in NodeJS for the custom launcher to connect to.
This also lead to unexpected, but very welcome, patches and bug fixes submitted to the source code repositories, giving me a taste of project management.
However, the project started to interfere with my work at Webincode, which coupled with a failed rewrite of the master server in modern C++, and a loss of interest for the game itself, lead me to stop working on this full-stop.
Lessons learned:
- Don't over-engineer solutions or else they will impact development negatively. In this case combining NodeJS with MongoDB-then-Postresql and Docker-compose to top them all.
- To not blindy follow 'modern' software practices such as 'microservices'. At some point in the project a user and inventory services (individual programs) were split from the master server itself.
- Acquired an understanding of C++'s gigantic complexity. While I find custom launcher's code more reasonable, my decision to go all in C++20 with the master server rewrite was a complete disaster.
- That public open-source projects require time to nurture the any interested users and developers.
Links:
- Custom game launcher: https://github.com/lateleite/cso2-launcher
- Original master server: https://github.com/lateleite/cso2-master-server
- The master services behemoth: https://github.com/lateleite/cso2-master-services
- Failed master server rewrite: https://git.sr.ht/~leite/cso2-leet-server
Compressing with LZ4u
2026
This small library is my first public Zig adjacent project started out as quick compression tool for an hobby project, and has now been re-fitted to show-off my programming skills in the language since starting using it a year ago.
It's based off the original LZ4 implementation and Zig's standard library flate implementation.
The big difference of this library from others is that it implements Zig's standard IO interfaces,
Io.Reader and Io.Writer.
As it stands it is NOT faster than the original LZ4 implementation, which is a problem I'd like to improve upon.
Lessons learned:
- Most obvious, the Zig language itself along with its programming patterns, like its IO and memory allocation interfaces.
- The importance of using benchmarks as a measurement of improvement rather than guess work.
- How useful different types of hashing algorithms are for different purposes, such as collision checks.
Links:
- Project's repository: https://github.com/lateleite/lz4u