<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/feed.xml" rel="self" type="application/atom+xml"/>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/" rel="alternate" type="text/html"/>
<updated>2025-09-02T09:15:27+01:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/feed.xml</id>
<title type="html">Simon Tatham's quasi-blog</title>
<author><name>Simon Tatham</name></author>
<entry>
<title type="html">Aperiodic Tilings V: the Refinable Frontier</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-refine/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-09-02T00:00:00+00:00</published>
<updated>2025-09-02T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-refine/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A sequel to my previous posts on finite-state transducers for aperiodic tilings: if you have a tiling you can’t build a transducer for, here’s an algorithm to turn it into one you can.</summary>
</entry>
<entry>
<title type="html">Brute-forcing Langley’s geometry problem with field extensions</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/adventitious/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-07-18T00:00:00+00:00</published>
<updated>2025-07-18T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/adventitious/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">An application of algebraic extensions of the rationals: cheating (arguably) at elementary geometry puzzles.</summary>
</entry>
<entry>
<title type="html">In which I have Opinions about parsing and grammars</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/parsing/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-06-05T00:00:00+00:00</published>
<updated>2025-06-05T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/parsing/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A collection of semi-connected rants about context-free grammars, parser generators, and the ways in which they aren’t quite as useful as I’d like them to be.</summary>
</entry>
<entry>
<title type="html">Policy of transience</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/transience/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-05-09T00:00:00+00:00</published>
<updated>2025-05-09T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/transience/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A description of some of my personal computing habits, focusing on avoiding things ‘just turning out’ to last for ever in a disorganised manner.</summary>
</entry>
<entry>
<title type="html">Iconography of the PuTTY tools</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-icons/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-03-12T00:00:00+00:00</published>
<updated>2025-03-12T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-icons/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A PuTTY user asked about the history of its logo and icon collection. I discuss the design intentions and technical aspects.</summary>
</entry>
<entry>
<title type="html">Git without a forge</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/git-no-forge/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-03-05T00:00:00+00:00</published>
<updated>2025-03-05T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/git-no-forge/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">My personal projects are in Git, but not on a ‘forge’ style website. I talk about why, and how to interact with them.</summary>
</entry>
<entry>
<title type="html">XOR</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/xor/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-02-14T00:00:00+00:00</published>
<updated>2025-02-14T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/xor/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">An introduction to the boolean and bitwise XOR operators, their uses, and some advanced topics they lead in to.</summary>
</entry>
<entry>
<title type="html">Post-quantum public-key encryption: what’s it all about?</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/pq-kem/" rel="alternate" type="text/html" title="Linkage" />
<published>2025-01-02T00:00:00+00:00</published>
<updated>2025-01-02T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/pq-kem/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">An explanation of some post-quantum public-key cryptosystems, simplified to the level of pop-science.</summary>
</entry>
<entry>
<title type="html">Separation of concerns in a bug tracker</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/bugtracker-separate/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-11-01T00:00:00+00:00</published>
<updated>2024-11-01T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/bugtracker-separate/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A design thought about how bug trackers could use a more accurate data representation to make queries easier.</summary>
</entry>
<entry>
<title type="html">Possibly all the ways to get loop-finding in graphs wrong</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/findloop/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-09-09T00:00:00+00:00</published>
<updated>2024-09-09T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/findloop/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">The history of all the mistakes I&#x27;ve made trying to detect loops in graphs while writing my puzzle collection.</summary>
</entry>
<entry>
<title type="html">Code review antipatterns</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/code-review-antipatterns/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-08-21T00:00:00+00:00</published>
<updated>2024-08-21T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/code-review-antipatterns/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A taxonomy of frustrating code review behaviours, and some thoughts about them.</summary>
</entry>
<entry>
<title type="html">Symbiosisware</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/symbiosisware/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-08-06T00:00:00+00:00</published>
<updated>2024-08-06T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/symbiosisware/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A definition and discussion of my term “symbiosisware”, describing software consciously designed for only yourself to use.</summary>
</entry>
<entry>
<title type="html">Beyond “Beyond the wall”</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-followup/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-07-16T00:00:00+00:00</published>
<updated>2024-07-16T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-followup/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A sequel to last month&#x27;s post on finite-state transducers for aperiodic tilings.</summary>
</entry>
<entry>
<title type="html">Beyond the wall: working with aperiodic tilings using finite-state transducers</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-transducers/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-06-10T00:00:00+00:00</published>
<updated>2024-06-10T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-transducers/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A sequel to last year&#x27;s two posts on combinatorial coordinates, this time applying regular-language theory to them.</summary>
</entry>
<entry>
<title type="html">Writing commit messages</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/commit-messages/" rel="alternate" type="text/html" title="Linkage" />
<published>2024-05-19T00:00:00+00:00</published>
<updated>2024-05-19T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/commit-messages/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">(Yet another) guide to writing commit messages in version control, with a focus on what facts and rationale are good things to include.</summary>
</entry>
<entry>
<title type="html">I hate bubblesort</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/bubblesort/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-12-06T00:00:00+00:00</published>
<updated>2023-12-06T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/bubblesort/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A short opinion: bubblesort is an awful sorting algorithm and I wish people would stop teaching it.</summary>
</entry>
<entry>
<title type="html">Stop helping!</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/stop-helping/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-09-02T00:00:00+00:00</published>
<updated>2023-09-02T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/stop-helping/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A short opinion: command-line tools shouldn’t print long help text &lt;em&gt;as well as&lt;/em&gt; an error message.</summary>
</entry>
<entry>
<title type="html">Philosophy of coroutines</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-philosophy/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-09-01T00:00:00+00:00</published>
<updated>2023-09-01T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-philosophy/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">Some thoughts about coroutines in general, why I like them so much, and ways of using them and thinking about them.</summary>
</entry>
<entry>
<title type="html">Writing custom C++20 coroutine systems</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-c++20/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-08-06T00:00:00+00:00</published>
<updated>2023-08-06T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-c++20/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A detailed introduction to the C++20 coroutine system, written in the course of teaching myself about it.</summary>
</entry>
<entry>
<title type="html">Workarounds for C11 _Generic</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/c11-generic/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-07-29T00:00:00+00:00</published>
<updated>2023-07-29T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/c11-generic/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A description of the big design limitation of C11&#x27;s _Generic feature, and various workarounds, mostly involving using more instances of _Generic to patch up the original one.</summary>
</entry>
<entry>
<title type="html">How to read error messages</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/errmsg/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-07-06T00:00:00+00:00</published>
<updated>2023-07-06T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/errmsg/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">An article about getting the most out of error messages, particularly OS and network errors. Adapted from a talk I gave to colleagues last year.</summary>
</entry>
<entry>
<title type="html">Combinatorial coordinates for the aperiodic Spectre tiling</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-spectre/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-06-16T00:00:00+00:00</published>
<updated>2023-06-16T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-spectre/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A description of the algorithms for generating the Spectre tiling in my puzzle game &lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/loopy.html&quot;&gt;Loopy&lt;/a&gt;.</summary>
</entry>
<entry>
<title type="html">Two algorithms for randomly generating aperiodic tilings</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-tilings/" rel="alternate" type="text/html" title="Linkage" />
<published>2023-04-10T00:00:00+00:00</published>
<updated>2023-04-10T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/aperiodic-tilings/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A description of the algorithms for generating Penrose and Hat tilings in my puzzle game &lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/loopy.html&quot;&gt;Loopy&lt;/a&gt;.</summary>
</entry>
<entry>
<title type="html">Implementing OpenSSH certificate support in PuTTY</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-certificates/" rel="alternate" type="text/html" title="Linkage" />
<published>2022-12-03T00:00:00+00:00</published>
<updated>2022-12-03T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-certificates/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A retrospective of the development of the headline new feature in PuTTY 0.78: OpenSSH-style certificates on host and user keys.</summary>
</entry>
<entry>
<title type="html">History of PuTTY&#x27;s development</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-history/" rel="alternate" type="text/html" title="Linkage" />
<published>2020-03-24T00:00:00+00:00</published>
<updated>2020-03-24T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-history/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">An overview of PuTTY&#x27;s development from its genesis in 1996 to the state of affairs in 2020. Written in response to an email query.</summary>
</entry>
<entry>
<title type="html">Writing a soluble-grid generator for Mines</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/mines-solver/" rel="alternate" type="text/html" title="Linkage" />
<published>2019-08-26T00:00:00+00:00</published>
<updated>2019-08-26T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/mines-solver/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A description of the technique for generating guaranteed-soluble Minesweeper grids in my puzzle game &lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/mines.html&quot;&gt;Mines&lt;/a&gt;. Written in response to an email query.</summary>
</entry>
<entry>
<title type="html">Writing a solver for Net</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/net-solver/" rel="alternate" type="text/html" title="Linkage" />
<published>2019-03-27T00:00:00+00:00</published>
<updated>2019-03-27T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/net-solver/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">A description of the automated solver in my puzzle game &lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/net.html&quot;&gt;Net&lt;/a&gt;. Written in response to an email query.</summary>
</entry>
<entry>
<title type="html">Porting PuTTY to Windows on Arm</title>
<link href="https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-woa/" rel="alternate" type="text/html" title="Linkage" />
<published>2019-03-05T00:00:00+00:00</published>
<updated>2019-03-05T00:00:00+00:00</updated>
<id>https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/putty-woa/</id>
<author><name>Simon Tatham</name></author>
<summary type="html">What I had to do to make PuTTY compile for Windows on Arm as well as on x86, plus a deep dive into the NEON-accelerated cryptography.</summary>
</entry>
</feed>
