Rust macros are powerful, that’s a fact. I mean, they allow running any code at compile-time, of course they’re powerful. C macros, which are at the end of the day nothing more than glorified text...
How I Learned to Stop Worrying and Love Macros
Quick analysis of a virus
I just received a spam e-mail impersonating the French social security (“Assurance Maladie”), which tells me to download my tax statement which they have graciously attached. There are multiple ...
Six handshakes away
Have you ever heard about “six degrees of separation”? It’s about the famous idea that there are always less than about six persons between two individuals chosen at random in a population. Given e...
Fix for the Psy-Q Saturn SDK
If you ever want to write code for the Sega Saturn using the Psy-Q SDK (available here), you may encounter a small problem with the toolset when using #include directives. Example: #include "abc....
Solving bizarre hard drive corruption issues
I’ve recently encountered some pretty weird problems with my two USB3 external hard drives. Disk disconnecting when opening specific files, and refusing to reconnect on the computer until I plug it...
TOMB5 - Feb'19 status update
The project has come a long way since June of 2017. Since the beginning of the project, the codebase has been divided into two separate branches: PC and PSX, which share a common “GAME” folder whi...
Paella, or how to emulate PSX games in Windows CE userland
Lately, I’ve been decompiling Tomb Raider 5 with some friends and while researching potential sources of debug informations that could help the process, I stumbled upon the Pocket PC version of Tom...
PyQt, or how to break Unicode in 2018
For my latest project (Turing), I chose to use PyQt 5 for the GUI because it’s what seemed the best to me to allow the whole thing to be cross-platform without much of a hassle. It has done its job...