Pete Vilter

@petevilter.me

Working on grid interconnection at Pearl Street Technologies. Prev databases and things at RelationalAI, Bubble, Cockroach. https://petevilter.me

Vibecoding a language with software transactional memory (reads and writes in a `txn { … }` block happen atomically), with an interactive trace viewer showing how threads, txns and memory locations (keys) interact

Here's a power grid simulator (mostly vibecoded), showing two generators being dispatched to satisfy load changing over time. The cheaper generator (blue region) is dispatched first; the more expensive one (pink region) only when needed.

Distributed systems should feel like physical puzzles we can manipulate! As an example, I modeled a bank in my simulator. Without a lock, there's a race condition: if the two clients' gets and puts of the balance are interleaved, the same money can be withdrawn twice.

I wish @vscode.dev had richer & more standardized support for profiling; maybe a "Profiler Adapter Protocol" along the lines of the Debug Adapter Protocol and LSP. When running a multithreaded program under the debugger, I want to see live CPU usage for each thread, and click to get a flame graph.

Am I becoming a fintech person? 😂 Added a simulation of a commodity market to my distributed system simulator. Clients submit buy and sell orders (blue/right and orange/left, respectively); the server uses DB triggers to execute a trade when there's a match.