AI Isn't the Dark or Light Side
AI is not inherently good or bad. But after a year of building with it, it sure feels like the Force.…
AI is not inherently good or bad. But after a year of building with it, it sure feels like the Force.…
C++ doesn't support getter/setter style properties. But you can get pretty darn close with templates or macros. #include <iostream> #include "properties.h" using namespace std; class User { private: int mId; int mWeight; int mPurse; int mBank; public: // Non-auto property only supporting get…
My day job involves a lot of .NET Core development and a whole lot of logging. As a result, I've become accustomed to having logs when I need them. When working on pet projects I usually don't spend as much time on the "niceties"…
So the other day I was working on transforming streams for an encryption layer for work. I ended up having some code that looked similar to this: public async Task SendAsync(byte[] data, Delegate next) { using (var stream = ...) { using (var encryptStream = ...) { using (var encodeStream = ...) { using (var reader = ...) { await next(...); } } } } } publi…
I've recently started going through this brilliant article on creating your own text editor (read: nano/pico clone). If you've never built one this article breaks it down into easy to follow chunks. If you do go through it, you might notice the same thing I…
I've been spending some time going through Philipp Oppermann's amazing blog series, Writing an OS in Rust. Digging into operating systems has been on my todo list for years now and I couldn't pass up the opportunity when I ran across this series on…
What's a Database? A database is an organized collection of data 1. Data is stored on disk and in memory in a manner that maximizes reading data in complex ways. Why a Database? Databases are extremely good at complex queries. They also excel at managing concurrency, data integrity…
Consistency Consistency is important. Make sure that what you think you're building is actually what you're building. If you're developing and testing in a Window's environment but are intending to deploy to a Linux environment you're going to get unexpected…