Hi! I’m Ryan. I’m a professional programmer who works in the gaming industry, mainly on engines and tools. On the side, I do the same kind of programming—games, engines, tools—as well as research and development into new forms of code editors, compilers, development environments, design systems, and operating systems.
I love the human adventure—the endeavor for meaningful and worthwhile lives, and the unending drive towards artistic, philosophical, spiritual, mathematical, and scientific horizons. I think this adventure is only possible through the empowerment of the individual. This is why I care about computing—it has been one of the greatest engines of individual liberty in history, and thus all manifestations of that liberty: widespread communicative abilities, ubiquitous critique and contempt for illegitimate authority, new forms of art, new modes of human existence through human-computer-interaction, and scientific and mathematical exploration.
I grew up seeing computers as some intended them to be—as bicycles for the mind. They don’t seem much like that anymore. It seems that almost every interaction with common day-to-day software is treated as an opportunity to exploit, manipulate, and control.
As I see it, computing as an industry is under threat from overburdening complexity, increasing centralization, lack of competition, an ineffectual culture, and a widespread lack of educational quality. For that reason, I’ve found it worthwhile to write about what I’ve learned here, to instead promote simplicity, decentralization, effective culture, and stronger educational materials which empower programmers rather than shelter and infantilize them.
I write posts about a number of topics related to computing, ranging from specific technical details from my own experience as a systems-level programmer; to personal patterns and mental models relating to computing; to the cultural, political, and philosophical topics which underlie computing.
The above bundle of topics may come off to you as strange. After all, programming is supposedly a rigorous engineering discipline—why mix it in with softer subjects, and especially controversial ones?
The reason why I write about all of these topics—rather than just a subset—is that I consider it important to not have tunnel vision. Decisions for computing, down to specific low-level programming techniques and strategies, are made within a philosophical context. Many cultural problems in the computing industry are—in my estimation—rooted in this philosophical context. So I prefer to write about it directly, because I think it’s relevant to understand.
I write for many reasons—to think, to learn from others, to better solidify my own thought processes, to share technical information with others, to contribute to technical/cultural/political/philosophical dialogue, and to motivate others who share a similar vision to me.
I hope you enjoy my writing—if you do, please consider subscribing.
Paid Subscriber Benefits
There are three access tiers for my content and code:
Tier I: Vanguard — Highly-trusted; close friends or teammates.
Tier II: Community — Friends, supporters, contributors to public projects.
Tier III: Public — Consumers of public content.
Allen Webster, Mr. 4th—An excellent and remarkably-rigorous programmer I’ve had the privilege of working with on a few projects, including Dion Systems. He is producing a very in-depth video series on building his own personal codebase from scratch, and is writing blog posts on the computing world, both regarding technical details and the freedom to compute.
Abner Coimbre—Abner is the organizer of the Handmade Seattle conferences, and one of the original founders of Handmade Network. He’s well-known for his chocolate-wine-fueled interviews with various interesting people on the topics of programming and ownership in computing, and his passion for from-scratch systems programming.
Thomas Randall—Thomas Randall, or Randy, is a well-known game development content creator. He has used some of my game development technology. He is on his own journey to improve as a game programmer through from-scratch game programming, releasing small game projects, and document his work through video and blog content.