About Me

Hi! 👋

My name is Pierre-Yves.

I'm a Software Engineer in his late twenties.

More details

I started programming at the age of 13, with C and C++, and have not stopped ever since. Having used (ranging from hacking around to real-world usage) many languages and libraries, I've been continuously adding to the toolbox at my disposal to solve problems.

Professionally, my specialization is in web technologies.

I also do a lot of Rust for my personal projects!

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 and Next.js with MDX, a project which in short allows use of React components directly in your markdown, which 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 that I liked so much that I bought the corresponding full branding kit. You won't see it anywhere currently as I iterated towards a minimalist style that was more to my personal taste. I'm obviously no designer though.

After a typo in Google, 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 - my job but as a passion, both growing mutually from each other. For more pragmatic concerns, 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 Next.js for hosting, since this website is also fully static.

EDIT: after checking out the domain names availability, I've ultimately chosen to go with newstackwhodis.

Content to come

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 are agnostic from front-end usage though.

To go into more details about these, I'm not using established libraries if possible since they many not exist, and if they do 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 space explored by the article is the whole point, both for me and I hope for the reader.

As a teaser, here's the kind of articles in my pipeline, at a more or less advanced stage:

  • A CHIP-8 emulator with an in-browser player.
  • 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.