In this page I talk about my coding experiences.
I first used computers at workshops organized at school. The idea was to learn the basics of programming using the logo and basic language, on Thomson TO7 or MO5 computers, which were the computers deployed in schools by the "informatique pour tous" (computers for all) educational program.
Later I had an Amstrad CPC which was delivered with the basic language manual, this was the first time I could read and try to understand the complete features offered by the language. Yes I said try to understand 😑.
At that time there were computer magazines containing program listings filled with DATA statements, I remember I could not understand how we could implement the logic of a program that had just data and no code...
When I studied electronics I learned assembly (6809, 6811) and used this language for embedded projects during all my studies. I love the simplicity of this language and never miss an occasion to include assembly parts in a program written in a "high level language", for fun, and because some times it's just more convenient for me.
Some times I write a project in full assembly, for instance I had a lot of fun writing a base64 encoder in riscv assembly for linux, as a RV64 and linux system calls learning project.
I learned C quite lately in my computer life. I remember coding a cracktro-like intro on Windows with code blocks, in C and OpenGL, and finding an assembly version of a module player. The whole project had of of course a lot of global variables. It was in my pre-github period.
Later I learned Rust, like everyone I had some trouble with the borrow checker, until it totally made sense. After that I had a hard time with lifetimes, until I understood stack frames, and that also totally made sense. I made several emulators, libraries and programs (including at work) with this language. I even had some fun in embedded world with microcontrollers (stm32).
One day I heard of Zig and was very interested in this language (even if I hate the name), ported my Z80 emulator, and started to love this language more than Rust. But with breaking changes coming with nearly every version, my interest faded a little, mainly because at some point a working program ceased to work just because of a compiler update. I still follow that project but I guess I'm waiting for the moment it will be more stable.
Since the very beginning I'm interested in low-level topics, my projects are often around CPU or machine emulation, read data files and make sense of their contents (like timezone files for instance), and I'm often reading articles about OSes.
I love to know how things work, to design things, and to see these things working. I also love computers history and see how these machines evolved through the years. And for the most part, this is a people history.