Posts

  • Recently I rewrote my blog again. This time, I moved from a language I know really well (TypeScript/JavaScript) to a language I don't (Erlang). I'm familiar enough with Erlang, but haven't made any projects of this scale or complexity...
  • Recently I've been "Zigifying" my C++ code. As part of this, I've been moving away from using C++'s streams to custom readers and writers. Honestly, I like it a lot better. Not only is it a lot simpler, but it's a lot easier to compose....
  • Recently I've been revisiting C++ after writing some Zig code. As part of the transition, I got frustrated with the C++ way of doing things and started doing "Zig in C++" style of coding. After removing a lot of move destructors to...
  • Recently I've been working on authorization systems for some projects. At some point, I ran into some design mistakes on one of them, and it hit me that there's a little unspoken secret about authorization. There are two types of...
  • I've done PHP programming professionally for a decade. I started with just FTP'ing files to web servers, transitioned into version control, then the whole blue/green CI/CD pipeline. I've written my own autoloaders, written PHP...
  • Lately I've been working with baremetal servers. I have two servers in a rack for personal use. They aren't big or fancy, and I got them used. But, they do work. As part of this, I've learned a lot about servers and server management,...
  • Lately I've been experimenting with deploying to bare metal servers. No Kubernetes. No Docker. No AWS Console. Just the physical hardware, mounted to a rack, no OS pre-installed, and no RAID preconfigured. Just that beautiful, metal...
  • Up until today, my site was hosted by as a static site. I've used several static file hosts (including S3, Cloudflare, open source, custom ones with custom telemetry, etc.). During this time, I've been working primarily on my site...
  • In Building Channels in C++: Part 6 - Adding timeouts we added timeouts to the select statements we made in Building Channels in C++: Part 5 - Writing a select statement. These selects work pretty well. However, there is a sneaky hidden...
  • In Building Channels in C++: Part 5 - Writing a select statement we created a select statement for our channels which can handle sending and receiving values. If you haven't already, I recommend reading that post before continuing with...