Bare Metal Zig

Lately I've had a nagging interest in working on a minimal OS again using Zig. To do that, seemingly I need to compile a freestanding Zig binary and then extend it into a Zig kernel capable of being ran by some bootloader.…

Migrating from Docker for Mac

So you don't want to use Docker for Mac anymore, huh? First, let's install docker and virtualbox. brew install docker docker-machine brew install --cask virtualbox Now let's create a "docker machine" using docker-machine. This wraps around virtualbox to spin up a vm (and probably does other stuff). docker-machine create --driver…

Making a Wi-Fi Smart Fan (Part 1)

A few years ago I started slowly transforming my house into a "Smart House". It started with some friends of ours showing us their smart bulbs and how they could tell Alexa to turn them on and off. I'll admit, I was skeptical of how smart bulbs could be life…

Properties in C++20

C++ doesn't support getter/setter style properties. But you can get pretty darn close with templates or macros. #include #include "properties.h" using namespace std; class User { private: int mId; int mWeight; int mPurse; int mBank; public: // Non-auto property only supporting get (runtime check) Property Id{{ .get = mId }}; Property Purse

Getting MacOS BigSur + ESP8266 to Play Nice

I ran across The "do not be alarmed" clock on HackerNews and thought that would be a fun little project to play around with. It's been an awful long time since I've done anything with hardware and I haven't played with anything "Arduino" yet so I made my way over…

Building a Custom Shelf for My Daughter

So we're expecting a baby here in the next week or two and my wife wanted a shelf/armoire/ambry(?) thing that matched our crib and changing dresser (see pictures of the store bought crib and dresser below). I drew up some plans in the free version of SketchUp and…

Showing Firefox close tab on tab hover

I switched from Chrome to Firefox a few months ago. For the most part...it feels roughly the same but there was one subtle difference that finally irked me to the point of googling: having to right click on a tab to close it. In Chrome, when you hover over…