Over the past several months I've been working at an online school as a course author for a course that teaches Python with Minecraft Education (ME). ME is a special version of Minecraft that aims at assisting at teaching and learning such subjects as CS, math, science, etc. And while I can't tell you how well it works for other subjects, I can rant about how it sucks at being a platform for…
In my current project I'm reimplementing a lot of functionality provided by the C++ standard library. Mostly for fun, but also to learn about what lies under the hood of the structures and functions that I regularly use. So I decided to write a couple of blog posts documenting this journey. And to start I chose to go with a structure so useful when the result of the function is not guaranteed -…
Some time ago I wrote a blogpost about a basic C++ unit-testing library I made that aimed to use no macros, unlike many established frameworks like gtest. I got some great feedback after that and decided to improve the library and release it as a standalone project. It's not intended to stand up to the giants, but is more of a fun little experiment on what a library like this could look like.…
For my current project I wanted to have a small testing library, and since I find joy in reinventing the wheel, I decided to write my own. While many testing frameworks rely extensively on macros in their APIs, using the preprocessor too much always felt wrong to me. Bypassing the type system and confusing refactoring tools, they make you rely on your IDE and your own memory a bit too much for my…
In my project I'm actively using Kazuho Oku's great PicoJSON library to handle JSON files. Working with JSON data with this library generally looks like this: namespace json = picojson ; // get required object const auto & appObj = obj . at ( "app" ). get < json :: object > (); // read int value app -> posX = static_cast < int > ( appObj . at ( "pos_x" ). get < double > ()); // write the value…