The same server in five languages, and where they secretly disagree

Marton Trencseni - Fri 12 June 2026 • Tagged with python, javascript, cpp, rust, go, message queue, testing, wire protocol, async

I wrote the same small async message queue server five times — in Python, JavaScript, C++, Rust and Go — all speaking one wire protocol and passing one shared test suite. Then I probed them at the byte level and found at least six ways they quietly disagree, every one of them slipping past the tests.

Continue reading

Writing a simple Go async message queue server

Marton Trencseni - Wed 10 June 2026 • Tagged with go, golang, async, message queue, networking, tcp, goroutines, channels, systems programming

One more entry in the async MQ series: building the same small message queue server in Go using goroutines, channels, a mutex, and — because Go deliberately has no unbounded channel — a hand-rolled one built from sync.Cond.

Continue reading

Playing Go with supervised learning in Pytorch

Marton Trencseni - Sun 25 August 2019 • Tagged with python, pytorch, cnn, go

Using historic gameplay between strong Go players as training data, a CNN model is built to predict good Go moves on a standard 19x19 Go board.

Go prediction sample

Continue reading