Using() block hell in C#

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(...); } } } } } public…

Page Up & Page Down with Kilo Editor

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 did. Page Up and…

VSCode, GDB, and Debugging an OS

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 Hacker News. Phillip has done a…

Python, Files, and Databases

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

Consistency in Python Development

ConsistencyConsistency 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 results. If you're using Python 2.7 on your development machine…

Remote Accessing HomeBrew'd MySQL on MacOS

I've recently been proof of concepting a new idea for work. It involves local and external access to MySQL servers. While transitioning from local development to a Vagrant VM I discovered the VM couldn't access my host local MySQL server. Googling turned up some obvious answers, find my.cnf and…

Slinging Mud: "Graceful" reboots in a Go world

I participated in MUDJAM on Itch.io last year around this time, putting together a very simple, low feature deliverable, BerkMud. If the title doesn't tell you, it was How to Train Your Dragon themed. It wasn't my first foray into building a mud but I wanted to do something…