Building Terminal Games in Rust: Why TUIs Are Making a Comeback
Exploring the renaissance of terminal user interfaces in game development, featuring lessons learned from building Warlords—a complex RPG entirely in the terminal using Rust.
All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.
Exploring the renaissance of terminal user interfaces in game development, featuring lessons learned from building Warlords—a complex RPG entirely in the terminal using Rust.
The story behind creating a custom Neovim colorscheme inspired by the black wolf from The NeverEnding Story, complete with comprehensive syntax highlighting and modern plugin support.
After years in enterprise FinTech, I've witnessed the hidden costs of over-relying on third-party solutions. Here's why building custom internal tooling isn't just about control—it's about competitive advantage, compliance, and long-term sustainability.
I believe there is something to be said for doing things the "best" way right off the bat. From my experience in large FinTech companies, I tend to see lots of very verbose and/or "hacky" solutions for common engineering problems.
Stop torturing your React components with useState spaghetti. Your future self (and your test suite) will thank you for embracing useReducer. A barely-polite rant about why the reducer pattern will save your sanity.
Before Jotai, managing complex React state was like juggling flaming chainsaws while blindfolded. After Jotai, it's like having telepathic powers. Here's why this atomic state library is the hero we didn't know we needed.
Explore the process of designing a versatile and scalable rules system for a web-based 2D game engine. This article delves into the principles of creating a generic architecture that can adapt to various game types, ensuring flexibility and efficiency in development. Perfect for creators looking to build robust game worlds, writers with vast stories to tell, or developers looking to simplify their gaming experience.