About Me
Hi! 👋
My name is Pierre-Yves.
I'm a Software Engineer in his late twenties.
I started programming at the age of 13, with C then C++, and have not stopped ever since. I've been using many languages and libraries or frameworks, from coding personal projects to work projects. I also spend a lot of time keeping up-to-date with the state of the art, especially in web development. This explains the frequent dependencies updates that I do and review manually, depending on the respect of semver.
I also do a lot of Rust for my personal projects, having started from the beta version.
See? I'm a real Full-Stack Software Engineer ;)
About this website
The first iteration of this blog was called newstackwhodis (which I still to this day think is very funny), and used React & Next.js with MDX. In short, MDX is a library which allows using React components directly in your Markdown blog posts. It was needed for the kind of articles I had in mind.
The current naming came from a startup branding generator which came up with Prava in a logo. I like the corresponding UI pack so much that I bought the full branding kit (it was cheap). You won't see it anywhere currently - except in the favicon, for now.
I quickly iterated towards a minimalist style that was more to my personal taste. I'm obviously no designer though.
After a typo when googling, I found out that Praca roughly means job or occupation in Polish (technically in Old Czech), and this website is more for the occupation side. Software engineering is probably my biggest passion which reinforces, in a virtuous circle, my daily job. Praca meaning nothing in English is a real advantage for domain name availability and SEO purposes.
Early along the way I was finally able to try SvelteKit when Sapper was deprecated. It's kind of Svelte's Next.js. I also use mdsvex, Svelte's flavor of MDX.
I've stuck with Vercel for hosting despite letting go of the Next.js framework, since this website is fully static.
EDIT: after checking out the domain names availability, I was forced to chose to go with newstackwhodis.com
.
EDIT 2: due bug(s) in mdsvex and/or SvelteKit, I had to switch back to Next.js.
The kind of articles you will see here will generally be backed by fully independent sub-modules in Typescript, with a minimal set of unit tests; they are almost micro-libraries on their own. Not that I would ever publish them on NPM, mind you, since they all are scoped for specific usage inside an article on this website only. They should work with any current front-end usage though.
To go into more details about these, I'm not using established libraries if possible, since they may not exist. If they do, they may be too heavy due to scope or indirect dependencies, among other criteria.
More importantly, the fun of learning and discovering whole new applications and trade-offs in the topic explored by one of my articles is the main goal - both for me and, I hope for any eventual reader.
WIP articles
Here's a couple of articles in in my to-do list:
- A CHIP-8 emulator with an in-browser player, in Typescript. Check out the draft article
- An introduction to L-Systems with dynamic widgets to generate pretty fractals or trees.
- An introduction to Genetic Algorithms and their applications. The planned interactive demo is the automatic optimization feature of 2D inventory space you can see in many video games, especially in Action-RPGs.
I also have an almostâ„¢ finished Game Boy (Color) emulator in Rust that I would very much like to bring to this website through WebAssembly. The issue I risk to encounter would not be from the Rust side, but more on the rendering side if I go for naive solutions while offering a high refresh rate.
This could be be the opportunity to go for some low-level WebGL usage, which sounds like great fun - if maybe overkill.