RSSAmplifier

Blog

outdoordoor

door

outdoordoor.bearblog.devRSS feed ↗6 posts

Latest posts

Microslop Learning Experience

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…

Optional - Recreational Wheel Reinvention

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 -…

Exploring macro-free testing in modern C++

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.…

Macro-free unit-testing framework in modern C++

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…

Extending PicoJSON for easier serialization and deserialization

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…

A folding fan, a fan that folds

On the confusing terminology of hand fans.