View Posts for Software Engineering
-
Dev Log, Hi Stakes Markets Game: Asset Valuation is Challenging. Volatility Feedback Loop.
I discuss in a previous post that Hi Stakes Market Game is under a feature freeze and I am ironing out bugs. One bug relates to asset valuations. Another terrible bug was related to my in memory db library that works like CQEngine. Those bugs were a catastrophic cascading probe, one compounded on another.
My In-Memory DB Library's bug was in the query planner specifically in the cascading probe where filters after two to be ignored and incomplete implementation of the necessary residual filtering. There were...
-
Dev Log, Hi Stakes Markets Game: Welcome to Fixed Income Markets, Prediction Markets and Feature Freeze
Hi Stakes Markets Game is now feature frozen. I should have feature froze sooner, but I needed to add support for the Bond Market. A financial simulator without the bond market is hallow. Bonds are debt instruments, it's how governments and corporations raise money to remain active. It's how investors can seek a stable cash flow rather than rely on fluctuations of the Equities and Derivatives markets.
Binary Options (Prediction Market) are more fleshed out and implemented now. It's take all or nothing, so t...
-
First Release for 2026: IronWal - Building a Tested Write-Ahead Log in Rust
GitHub: excsn/ironwal
Crates.io: ironwal
For a while now, I've been diving deep into the foundations of durable storage. Every high-performance database or distributed system eventually needs a Write-Ahead Log (WAL): that critical, append-only record that ensures your data survives a crash. I wanted one that was deterministic, multi-stream, and above all, "battle-tested" against real-world failures. I mostly wanted one without write amplication, typically I would just build a logical WAL on RocksDB with FIFO ...
-
Goodbye node_modules: Snapfire Compiler compiles TypeScript for the browser (no Node JS required)
TL;DR: TypeScript + modern CSS, compiled straight to browser-ready ES modules, no node_modules, no package.json, no bundler chain.
I just created and released Snapfire Compiler (snapfirec), a tiny Rust binary that turns your .ts + .css into browser-friendly .js and optimized .css, fast and predictable.
The problem (short)
TypeScript is fantastic, but the ecosystem isn’t. What should be a tiny, portable vanilla-JS library too often becomes a 200 MB node_modules mess, a dozen build plugins, and a bundler con...
-
Dev Log, Hi Stakes Markets Game: Contracts, Derivatives and a Living Market.
I've been super focused on Hi Stakes and wanted to give another update on the world of Hi Stakes Game. The core simulation I talked about last time, the one that ticks on its own with economies that boom and bust, has continued to evolve. It's becoming more dynamic, more unpredictable and now it's ready for a new layer of strategy. This update is about two major features that bring players deeper into that living world: Contracts and Derivatives.
These aren't just new buttons to press; they're systems design...
-
Front-end Dev is a bother...
I find the idea of building (also with) frameworks these days annoying and boring because of churn. The problem with building a framework is that you are not going to be building it for general use, only your use cases. Once you want to expand the scope of your framework because you had a moderately good experience using it in your last project, you'll find yourself wanting to expand things but in a way that breaks the old, so now you have churn.
It's funny because when you build with front end frameworks li...
-
Dev Log: Building Hi Stakes Market Game "Gains are made by taking losses"
It’s been a while since I’ve written a proper update, but this feels like the right time.
Hi Stakes Market Game is finally coming together and I’m aiming to have a beta available this November for both iPhone and Android.At its core, it’s a game about markets but not just the charts-and-numbers kind. It’s about how economies move, how risk turns into opportunity, and how every boom has a bust hiding in it. The world inside Hi Stakes is alive: it grows, crashes, rebuilds, and surprises me even while I’m de...
-
SSK DB: Building a Distributed Database with CASPaxos and Rust
For a while now, I've been working on a personal project that's been both a massive challenge and an incredible learning experience: a distributed, fault-tolerant database built from the ground up in Rust. I've been calling it SSK CASPAXOS DB, and I wanted to share some of the core ideas behind its design, the problems I tried to solve, and the cool features that have emerged from it.
No, it is not open source, I will be using it in my upcoming projects as I would have had to build some of these into the pro...
-
My Super Charged Infrastructure System Is Done.
6 Projects form the basis of my super charged Infrastructure. All built in Rust.
- Project #1: Time Series/Log Database with Streaming
- Project #2: User/Group/Certificates/Domain with Acme Renewals. Repository Manager (Git/Yum/Maven/Docker/Cargo).
- Project #3: Infrastructure Database storing Server, Server Groups and Metadata
- Project #4: Service Database storing service deployments that have host:port, instances and etc. information.
- Project #5: Infrastructure UI to view and configure the infrastructure
- P...
-
A Better Way to Use Tera in Actix with Snapfire 0.4.0
If you've ever built a server-rendered web application with Actix Web and the Tera templating engine, you know the rhythm of the development dance all too well:
- Make a change to your
.htmltemplate. - Save the file.
- Go to your terminal, hit
Ctrl+C. - Run
cargo run. - Wait for the compile.
- Go back to your browser and hit refresh.
This cycle is a productivity killer. It's a constant context switch that pulls you out of your flow. For years, developers in other ecosystems have enjoyed "hot reloading" or "live reload...
- Make a change to your