41554 blogs · [ { "id": "01a087a9-b3b4-720c-81e4-2caae6899cfb", "title": "On automating programming", "url": "http://mr.gy/blog/automated-programming.html", "published_at": "2026-01-17T00:00:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caae76f331b", "title": "Notes on rewriting the RaptorJIT interpreter using LLVM’s musttail and preserve_none attributes", "url": "http://mr.gy/blog/raptorjit-vm-musttail-preserve_none.html", "published_at": "2025-11-26T11:32:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caae80985d6", "title": "2020", "url": "http://mr.gy/blog/2020.html", "published_at": "2021-04-18T13:21:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caae896acdf", "title": "How to XDP (with Snabb)", "url": "http://mr.gy/blog/snabb-xdp.html", "published_at": "2020-01-20T17:26:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caae97651af", "title": "Hacking RaptorJIT: hot or not?", "url": "http://mr.gy/blog/trace-frequency.html", "published_at": "2019-12-10T11:39:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaea5da7e5", "title": "Ephemeral Key Exchange in Vita, part two", "url": "http://mr.gy/blog/ephemeral-key-exchange-2.html", "published_at": "2019-05-13T13:10:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaeb18de73", "title": "Implementing Poptrie in Lua and DynASM", "url": "http://mr.gy/blog/poptrie-dynasm.html", "published_at": "2019-03-26T09:13:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaeb26ac02", "title": "A Glimpse into the Timeline: a Probabilistic Event Log for\n Snabb", "url": "http://mr.gy/blog/vita-timeline.html", "published_at": "2019-01-02T17:48:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaebf78338", "title": "Inter-process links for Snabb", "url": "http://mr.gy/blog/snabb-interlink.html", "published_at": "2018-10-31T11:53:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaec15a4ad", "title": "Vendoring with Quicklisp, Make, Git, and Nix", "url": "http://mr.gy/blog/lisp-vendoring-quicklisp-nix.html", "published_at": "2018-08-19T12:37:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaecc0bec3", "title": "Ephemeral Key Exchange in Vita, part one", "url": "http://mr.gy/blog/ephemeral-key-exchange.html", "published_at": "2018-08-01T15:53:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaed510adf", "title": "Notes on implementing IPsec ESP for Snabb", "url": "http://mr.gy/blog/snabb-esp.html", "published_at": "2018-04-27T10:09:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaedfa464e", "title": "Announcing Vita: a high-performance IPsec VPN endpoint that\n runs on commodity hardware", "url": "http://mr.gy/blog/vita.html", "published_at": "2018-03-26T13:22:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaee68d716", "title": "Exploring distributed designs with Erlangen: Kademlia", "url": "http://mr.gy/blog/erlangen-explore-kademlia-dht.html", "published_at": "2017-06-06T13:53:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaef231be0", "title": "Erlangen: asynchronous, distributed message passing\n for Clozure CL (lightning talk for ELS 2017)", "url": "http://mr.gy/blog/erlangen-els-2017-lightning-talk.html", "published_at": "2017-04-04T12:38:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaefb7ba01", "title": "Erlangen: Introduction", "url": "http://mr.gy/blog/erlangen-intro.html", "published_at": "2016-12-04T21:48:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf0af6a3c", "title": "A Debian Package for Clozure Common Lisp", "url": "http://mr.gy/blog/clozure-cl-deb.html", "published_at": "2016-11-24T23:37:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf14aa762", "title": "Max’s Parser Combinators: Why? How?", "url": "http://mr.gy/blog/maxpc.html", "published_at": "2016-08-05T22:53:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf2422b1b", "title": "Sam: a tiny, concurrent sampling profiler for Clozure Common Lisp", "url": "http://mr.gy/blog/sam.html", "published_at": "2016-07-27T02:33:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf3037257", "title": "Experimental Meta-Programming for Lua", "url": "http://mr.gy/blog/lua-meta-programming.html", "published_at": "2015-12-18T21:08:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf37b2509", "title": "Continuous Integration for Snabb Switch", "url": "http://mr.gy/blog/snabb-ci.html", "published_at": "2015-11-29T23:34:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf3f7a1fd", "title": "The Making of Geneva: A Portable Document System", "url": "http://mr.gy/blog/making-of-geneva.html", "published_at": "2015-09-29T20:40:00+00:00" }, { "id": "01a087a9-b3b4-720c-81e4-2caaf46774fd", "title": "Building VM Images from Docker Containers", "url": "http://mr.gy/blog/build-vm-image-with-docker.html", "published_at": "2015-09-19T18:52:00+00:00" } ] posts Claim your blog
Back to mr.gy
Blog · corpus.blog/blogs/mr.gy/posts

mr.gy

mr.gy

2026

2025

2021

18 Apr 2021

2020

2019

2018

2017

2016

2015