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 Javascript async message queue server - Part III

Marton Trencseni - Mon 17 June 2024 • Tagged with javascript, async, message, queue

In this final post on the toy Javascript async message queue server implementation, I make it compatible with the Python version. I use the library of unit tests developed previously to ensure identical behaviour between the two codebases.

.

Continue reading

Writing a simple Javascript async message queue server - Part II

Marton Trencseni - Sat 11 May 2024 • Tagged with javascript, async, message, queue

I write a somewhat more complicated, but still relatively simple async message queue server in Javascript.

.

Continue reading

Writing a simple Javascript async message queue server - Part I

Marton Trencseni - Sun 05 May 2024 • Tagged with javascript, async, message, queue

I write a simple, bi-directional async message queue server in Javascript.

.

Continue reading