<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title>MMapped blog</title>
<id>https://mmapped.blog/</id>
<updated>2026-04-14T00:00:00Z</updated>
<link rel="self" href="https://mmapped.blog/feed.xml"></link>
<author><name>Roman Kashitsyn</name>
</author>
<entry><id>https://mmapped.blog/posts/50-whispering-gallery.html</id>
<title>Whispering gallery</title>
<summary>Why LLMs inspire me to write more.</summary>
<published>2026-04-14T00:00:00Z</published>
<updated>2026-04-14T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/50-whispering-gallery.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ai"></category>
</entry>
<entry><id>https://mmapped.blog/posts/49-kirk-scotty-spock.html</id>
<title>Kirk, Scotty, and Spock</title>
<summary>Vibe-specing from the chair.</summary>
<published>2026-03-22T00:00:00Z</published>
<updated>2026-03-22T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/49-kirk-scotty-spock.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ai"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/48-the-third-hard-problem.html</id>
<title>The third hard problem</title>
<summary>It’s not off-by-one errors.</summary>
<published>2026-02-28T00:00:00Z</published>
<updated>2026-02-28T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/48-the-third-hard-problem.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="glasperlenspiel"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/47-2025-retro.html</id>
<title>2025 retrospective</title>
<summary>Reading too much and writing too little.</summary>
<published>2026-01-19T00:00:00Z</published>
<updated>2026-01-19T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/47-2025-retro.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="retrospective"></category>
</entry>
<entry><id>https://mmapped.blog/posts/46-aoc-2025.html</id>
<title>Advent of Code 2025</title>
<summary>My favorite puzzles from AoC 2025.</summary>
<published>2025-12-27T00:00:00Z</published>
<updated>2025-12-27T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/46-aoc-2025.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
<category term="puzzles"></category>
<category term="rust"></category>
</entry>
<entry><id>https://mmapped.blog/posts/45-compilation-is-communication.html</id>
<title>Compilation is communication</title>
<summary>An ode to M-x compile.</summary>
<published>2025-10-13T00:00:00Z</published>
<updated>2025-10-13T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/45-compilation-is-communication.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/44-tag-based-logging.html</id>
<title>Tag-based logging</title>
<summary>#tags #logs</summary>
<published>2025-08-19T00:00:00Z</published>
<updated>2025-08-19T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/44-tag-based-logging.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/43-stepanovs-biggest-blunder.html</id>
<title>Stepanov’s biggest blunder</title>
<summary>How STL algorithms parallel the fundamental theorem of calculus.</summary>
<published>2025-07-13T00:00:00Z</published>
<updated>2025-07-13T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/43-stepanovs-biggest-blunder.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="math"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/42-parasites-found.html</id>
<title>Parasites found</title>
<summary>Fighting mediocrity with generative AI.</summary>
<published>2025-07-01T00:00:00Z</published>
<updated>2025-07-01T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/42-parasites-found.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ai"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/41-box-combinators.html</id>
<title>Box combinators</title>
<summary>The most visual way to print a table.</summary>
<published>2025-06-01T00:00:00Z</published>
<updated>2025-06-01T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/41-box-combinators.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/40-three-degress-of-validity.html</id>
<title>Three degrees of validity</title>
<summary>What does valid configuration share with facts and theorems?</summary>
<published>2025-04-26T00:00:00Z</published>
<updated>2025-04-26T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/40-three-degress-of-validity.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
</entry>
<entry><id>https://mmapped.blog/posts/39-3000-days-of-duolingo.html</id>
<title>3000 days of Duolingo</title>
<summary>Why eight years with the green owl is enough.</summary>
<published>2025-04-14T00:00:00Z</published>
<updated>2025-04-14T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/39-3000-days-of-duolingo.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
</entry>
<entry><id>https://mmapped.blog/posts/38-static-types-perfectionism.html</id>
<title>Static types are for perfectionists</title>
<summary>Scherzo in e-moll on programming and authenticity.</summary>
<published>2025-04-01T00:00:00Z</published>
<updated>2025-04-01T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/38-static-types-perfectionism.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="glasperlenspiel"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/37-onnx-intro.html</id>
<title>ONNX introduction</title>
<summary>A gentle introduction to the Open Neural Network eXchange format.</summary>
<published>2025-02-17T00:00:00Z</published>
<updated>2025-02-17T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/37-onnx-intro.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/36-2024-retro.html</id>
<title>2024 retrospective</title>
<summary>Looking back at the year 2024.</summary>
<published>2025-01-20T00:00:00Z</published>
<updated>2025-01-20T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/36-2024-retro.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="retrospective"></category>
</entry>
<entry><id>https://mmapped.blog/posts/35-aoc-2024.html</id>
<title>Advent of Code 2024</title>
<summary>Reflection on puzzles and OCaml.</summary>
<published>2025-01-02T00:00:00Z</published>
<updated>2025-01-03T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/35-aoc-2024.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ocaml"></category>
<category term="programming"></category>
<category term="puzzles"></category>
</entry>
<entry><id>https://mmapped.blog/posts/34-square-joy-tile-crush.html</id>
<title>Square joy: tile crush</title>
<summary>Exploding tiles in J.</summary>
<published>2024-12-16T00:00:00Z</published>
<updated>2024-12-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/34-square-joy-tile-crush.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="arrays"></category>
<category term="j"></category>
<category term="puzzles"></category>
</entry>
<entry><id>https://mmapped.blog/posts/33-transposing-tensor-files.html</id>
<title>Transposing tensor files</title>
<summary>Where does file metadata belong?</summary>
<published>2024-11-22T00:00:00Z</published>
<updated>2024-11-22T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/33-transposing-tensor-files.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="machine-learning"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/32-programming-avant-garde.html</id>
<title>Programming avant-garde</title>
<summary>Programmers and thinkers who inspire me.</summary>
<published>2024-10-31T00:00:00Z</published>
<updated>2024-10-31T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/32-programming-avant-garde.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
</entry>
<entry><id>https://mmapped.blog/posts/31-effective-design-docs.html</id>
<title>Effective design docs</title>
<summary>An opinionated guide to writing software design docs.</summary>
<published>2024-09-15T00:00:00Z</published>
<updated>2024-09-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/31-effective-design-docs.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/30-transaction-models.html</id>
<title>Transaction models are programming paradigms</title>
<summary>Functional programming vs OOP, now on a blockchain.</summary>
<published>2024-08-16T00:00:00Z</published>
<updated>2024-08-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/30-transaction-models.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="blockchain"></category>
</entry>
<entry><id>https://mmapped.blog/posts/29-plan-execute.html</id>
<title>The plan-execute pattern</title>
<summary>A ubiquitous pattern you won’t find in your textbook.</summary>
<published>2024-06-20T00:00:00Z</published>
<updated>2024-06-20T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/29-plan-execute.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
<category term="software-design"></category>
</entry>
<entry><id>https://mmapped.blog/posts/28-enlightenmentware.html</id>
<title>Enlightenmentware</title>
<summary>Software that makes you a better programmer.</summary>
<published>2024-05-20T00:00:00Z</published>
<updated>2024-05-20T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/28-enlightenmentware.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="personal"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/27-extending-https-outcalls.html</id>
<title>Extending HTTPS outcalls</title>
<summary>Making IC’s HTTPS outcalls feature more versatile.</summary>
<published>2024-04-29T00:00:00Z</published>
<updated>2024-04-29T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/27-extending-https-outcalls.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/26-good-names-form-galois-connections.html</id>
<title>Good names form Galois connections</title>
<summary>A quest for defining what it means to name things well.</summary>
<published>2024-04-01T00:00:00Z</published>
<updated>2024-04-01T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/26-good-names-form-galois-connections.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="glasperlenspiel"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/25-domain-types.html</id>
<title>Universal domain types</title>
<summary>A guide to domain-specific types that make sense.</summary>
<published>2024-02-26T00:00:00Z</published>
<updated>2024-02-26T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/25-domain-types.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="programming"></category>
<category term="types"></category>
</entry>
<entry><id>https://mmapped.blog/posts/24-ocr.html</id>
<title>The off-chain reporting protocol</title>
<summary>An overview of the Chainlink OCR protocol.</summary>
<published>2024-01-30T00:00:00Z</published>
<updated>2024-01-30T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/24-ocr.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="chainlink"></category>
</entry>
<entry><id>https://mmapped.blog/posts/23-numeric-tower-fiasco.html</id>
<title>The numeric tower fiasco</title>
<summary>OOP inheritance had one job to do.</summary>
<published>2023-11-22T00:00:00Z</published>
<updated>2023-11-22T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/23-numeric-tower-fiasco.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="oop"></category>
<category term="personal"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/22-flat-in-order-trees.html</id>
<title>Flat in-order binary trees</title>
<summary>An efficient algorithm for incremental merkle trees updates.</summary>
<published>2023-08-13T00:00:00Z</published>
<updated>2023-11-26T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/22-flat-in-order-trees.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="cs"></category>
</entry>
<entry><id>https://mmapped.blog/posts/21-machs-principle.html</id>
<title>Mach’s principle</title>
<summary>Why is it so hard to change things?</summary>
<published>2023-07-02T00:00:00Z</published>
<updated>2023-07-02T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/21-machs-principle.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="glasperlenspiel"></category>
</entry>
<entry><id>https://mmapped.blog/posts/20-candid-for-engineers.html</id>
<title>Candid for engineers</title>
<summary>A practical guide to the world’s most advanced interface definition language.</summary>
<published>2023-06-14T00:00:00Z</published>
<updated>2023-06-22T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/20-candid-for-engineers.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/19-eventlog.html</id>
<title>ckBTC internals: event log</title>
<summary>The storage scheme securing ckBTC assets.</summary>
<published>2023-05-01T00:00:00Z</published>
<updated>2023-05-01T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/19-eventlog.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="canisters"></category>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/18-if-composers-were-hackers.html</id>
<title>If composers were hackers</title>
<summary>What programming language would J.S. Bach use?</summary>
<published>2023-04-01T00:00:00Z</published>
<updated>2025-10-26T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/18-if-composers-were-hackers.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="glasperlenspiel"></category>
<category term="music"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/17-scaling-rust-builds-with-bazel.html</id>
<title>Scaling Rust builds with Bazel</title>
<summary>Why DFINITY builds Rust with Bazel.</summary>
<published>2023-03-20T00:00:00Z</published>
<updated>2023-03-20T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/17-scaling-rust-builds-with-bazel.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="bazel"></category>
<category term="rust"></category>
</entry>
<entry><id>https://mmapped.blog/posts/16-building-a-second-brain.html</id>
<title>Book summary: Building a Second Brain</title>
<summary>A summary of the book by Tiago Forte.</summary>
<published>2023-02-25T00:00:00Z</published>
<updated>2023-02-25T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/16-building-a-second-brain.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="books"></category>
</entry>
<entry><id>https://mmapped.blog/posts/15-when-rust-hurts.html</id>
<title>When Rust hurts</title>
<summary>Why I am not enjoying programming in Rust.</summary>
<published>2023-02-14T00:00:00Z</published>
<updated>2023-02-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/15-when-rust-hurts.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="rust"></category>
</entry>
<entry><id>https://mmapped.blog/posts/14-stable-structures.html</id>
<title>Tutorial: stable-structures</title>
<summary>An introduction to the stable-structures library.</summary>
<published>2023-01-20T00:00:00Z</published>
<updated>2023-02-04T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/14-stable-structures.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
<category term="rust"></category>
</entry>
<entry><id>https://mmapped.blog/posts/13-icp-ledger.html</id>
<title>IC internals: the ICP ledger</title>
<summary>The design of the Internet Computer utility token treasury.</summary>
<published>2022-12-19T00:00:00Z</published>
<updated>2022-12-19T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/13-icp-ledger.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
<category term="ledger"></category>
</entry>
<entry><id>https://mmapped.blog/posts/12-rust-error-handling.html</id>
<title>Designing error types in Rust</title>
<summary>An optinionated guide to designing humane error types in Rust.</summary>
<published>2022-11-15T00:00:00Z</published>
<updated>2022-11-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/12-rust-error-handling.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="rust"></category>
</entry>
<entry><id>https://mmapped.blog/posts/11-ii-stable-memory.html</id>
<title>IC internals: Internet Identity storage</title>
<summary>How the Internet Identity canister uses its stable memory to achieve safe upgrades.</summary>
<published>2022-10-12T00:00:00Z</published>
<updated>2022-10-12T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/11-ii-stable-memory.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="canisters"></category>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/10-payment-flows.html</id>
<title>Fungible tokens: payment flows</title>
<summary>Payment flows for fungible tokens on the Internet Computer.</summary>
<published>2022-09-21T00:00:00Z</published>
<updated>2022-09-21T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/10-payment-flows.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="fi"></category>
<category term="ic"></category>
<category term="ledger"></category>
</entry>
<entry><id>https://mmapped.blog/posts/09-fungible-tokens-101.html</id>
<title>Fungible tokens 101</title>
<summary>An introduction to fungible tokens and ledgers.</summary>
<published>2022-08-05T00:00:00Z</published>
<updated>2022-08-05T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/09-fungible-tokens-101.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="fi"></category>
<category term="ic"></category>
<category term="ledger"></category>
</entry>
<entry><id>https://mmapped.blog/posts/08-ic-xnet.html</id>
<title>IC internals: XNet protocol</title>
<summary>A deep dive into the protocol that IC subnets communicate over.</summary>
<published>2022-07-01T00:00:00Z</published>
<updated>2022-07-01T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/08-ic-xnet.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/07-square-joy-pre-order.html</id>
<title>Square joy: pre-order</title>
<summary>Restoring a binary tree from its pre-order traversal.</summary>
<published>2022-06-05T00:00:00Z</published>
<updated>2022-06-05T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/07-square-joy-pre-order.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="arrays"></category>
<category term="j"></category>
<category term="puzzles"></category>
</entry>
<entry><id>https://mmapped.blog/posts/06-ic-orthogonal-persistence.html</id>
<title>IC internals: orthogonal persistence</title>
<summary>The Internet Computer orthogonal persistence feature and the data structure powering that feature.</summary>
<published>2022-04-27T00:00:00Z</published>
<updated>2022-04-27T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/06-ic-orthogonal-persistence.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/05-debug-like-feynman.html</id>
<title>Debug like Feynman, test like Faraday</title>
<summary>Apply scientific method in everyday software engineering.</summary>
<published>2022-04-01T00:00:00Z</published>
<updated>2024-09-26T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/05-debug-like-feynman.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="glasperlenspiel"></category>
<category term="programming"></category>
</entry>
<entry><id>https://mmapped.blog/posts/04-square-joy-trapped-rain-water.html</id>
<title>Square joy: trapped rainwater</title>
<summary>Solving the trapped rainwater problem in J.</summary>
<published>2022-02-15T00:00:00Z</published>
<updated>2024-03-03T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/04-square-joy-trapped-rain-water.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="arrays"></category>
<category term="j"></category>
<category term="puzzles"></category>
</entry>
<entry><id>https://mmapped.blog/posts/03-rust-packages-crates-modules.html</id>
<title>Rust at scale: packages, crates, and modules</title>
<summary>Lessons learned from scaling a Rust code base.</summary>
<published>2022-01-20T00:00:00Z</published>
<updated>2023-06-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/03-rust-packages-crates-modules.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="rust"></category>
</entry>
<entry><id>https://mmapped.blog/posts/02-ic-state-machine-replication.html</id>
<title>IC internals: replicated state machine</title>
<summary>How the Internet Computer represents and transfers states.</summary>
<published>2021-12-01T00:00:00Z</published>
<updated>2025-12-08T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/02-ic-state-machine-replication.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="ic"></category>
</entry>
<entry><id>https://mmapped.blog/posts/01-effective-rust-canisters.html</id>
<title>Effective Rust canisters</title>
<summary>A compilation of useful patterns for developing IC canisters in Rust.</summary>
<published>2021-10-25T00:00:00Z</published>
<updated>2022-10-16T00:00:00Z</updated>
<link rel="alternate" href="https://mmapped.blog/posts/01-effective-rust-canisters.html"></link>
<author><name>Roman Kashitsyn</name>
</author>
<category term="canisters"></category>
<category term="ic"></category>
<category term="rust"></category>
</entry>
</feed>
