<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Unnamed Website</title><link>https://unnamed.website/</link><description>Recent content on Unnamed Website</description><generator>Hugo</generator><language>en-us</language><managingEditor>Anthony Wang</managingEditor><webMaster>Anthony Wang</webMaster><lastBuildDate>Wed, 01 Apr 2026 00:00:00 -0400</lastBuildDate><atom:link href="https://unnamed.website/index.xml" rel="self" type="application/rss+xml"/><item><title>3D-printing a Trombone</title><link>https://unnamed.website/posts/3d-printing-trombone/</link><pubDate>Wed, 01 Apr 2026 00:00:00 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/3d-printing-trombone/</guid><description>&lt;p&gt;It&amp;rsquo;s that time of the year again: &lt;a href="https://www.aprilcools.club/"&gt;April Cools&lt;/a&gt;! My friend Ersei wrote a fun &lt;a href="https://ersei.net/en/blog/sk8r"&gt;April Cools post&lt;/a&gt; two years ago, so I guess I&amp;rsquo;m joining that &lt;del&gt;cult&lt;/del&gt; trend too.&lt;/p&gt;
&lt;p&gt;Anyways, instead of the usual &lt;a href="https://unnamed.website/tags/lean/"&gt;Lean propaganda&lt;/a&gt;, today&amp;rsquo;s post will be about brass instrument physics and 3D-printing a playable trombone!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://unnamed.website/img/trombone.jpg" alt="The plastic trombone and my fox plushie in the background"&gt;&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Whoa! I wanna hear it!&lt;/blockquote&gt;

&lt;p&gt;We&amp;rsquo;ll get to that soon. But first, some physics!&lt;/p&gt;</description></item><item><title>Infinite Lists in Lean</title><link>https://unnamed.website/posts/infinite-lists-lean/</link><pubDate>Fri, 20 Mar 2026 21:31:09 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/infinite-lists-lean/</guid><description>&lt;p&gt;You might remember my post last year about &lt;a href="https://unnamed.website/posts/cosine-best-language-ever/"&gt;lazy infinite lists in Lean&lt;/a&gt;, back when I didn&amp;rsquo;t know how to write Lean. I still don&amp;rsquo;t know how to write Lean, but today we&amp;rsquo;ll try implementing infinite lists again, this time without cheating with &lt;code&gt;unsafe&lt;/code&gt; or &lt;code&gt;partial&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;People often say Lean prevents you from doing infinite recursion. That&amp;rsquo;s not exactly true. What Lean really wants to prevent you from doing is this:&lt;/p&gt;</description></item><item><title>The Evolution of a Lean Programmer</title><link>https://unnamed.website/posts/evolution-lean-programmer/</link><pubDate>Sun, 11 Jan 2026 10:08:25 -0600</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/evolution-lean-programmer/</guid><description>&lt;p&gt;Inspired by &lt;a href="https://vvviiimmm.github.io/scala/scala-evolution/"&gt;The Evolution of a Scala Programmer&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="beginner-lean-programmer"&gt;Beginner Lean programmer&lt;/h2&gt;
&lt;p&gt;Lean can&amp;rsquo;t be that hard, right?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-lean" data-lang="lean"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; Mathlib
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;def&lt;/span&gt; ins &lt;span style="color:#f92672"&gt;(&lt;/span&gt;a &lt;span style="color:#f92672"&gt;:&lt;/span&gt; Nat&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;xs &lt;span style="color:#f92672"&gt;:&lt;/span&gt; List Nat&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;:&lt;/span&gt; List Nat &lt;span style="color:#f92672"&gt;:&lt;/span&gt;=
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; xs = &lt;span style="color:#f92672"&gt;[]&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; a &amp;lt;= xs.head! &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;a&lt;span style="color:#f92672"&gt;]&lt;/span&gt; ++ xs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;xs.head!&lt;span style="color:#f92672"&gt;]&lt;/span&gt; ++ ins a xs.tail!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;termination_by xs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;decreasing_by
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; simp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; simp!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; simp?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; simp?!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; trivial
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; grind
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; try?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hint
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rfl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; simp_all
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rw??
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; aesop
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; native_decide
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nlinarith
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; skip
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; uninstall lean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; uninstall!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; uninstall?!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sudo uninstall &lt;span style="color:#75715e"&gt;-- unexpected identifier; expected &amp;#39;set_option&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sudo &lt;span style="color:#f92672"&gt;set_option&lt;/span&gt; uninstall lean &lt;span style="color:#75715e"&gt;-- unsupported option value lean&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="intermediate-lean-programmer"&gt;Intermediate Lean programmer&lt;/h2&gt;
&lt;p&gt;Just learned about type classes, pattern matching, inductive predicates, and &lt;a href="https://slightknack.dev/blog/do-notation/"&gt;&lt;code&gt;do&lt;/code&gt; notation&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Haskelling My Typst</title><link>https://unnamed.website/posts/haskelling-my-typst/</link><pubDate>Sat, 27 Dec 2025 17:14:12 -0600</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/haskelling-my-typst/</guid><description>&lt;p&gt;&lt;a href="https://typst.app/"&gt;Typst&lt;/a&gt; is a typesetting system similar to LaTeX. It&amp;rsquo;s also a &lt;a href="https://justinpombrio.net/src/typst.pdf"&gt;dynamically typed programming language with value semantics&lt;/a&gt;, so of course the natural question is: Can we implement the &lt;a href="https://unnamed.website/tags/lazy-infinite-series/"&gt;Haskell lazy infinite lists trick&lt;/a&gt; in Typst?&lt;/p&gt;
&lt;p&gt;Typst doesn&amp;rsquo;t have a built-in lazy evaluation feature, but we can simulate thunks with lambdas. Basically, if we want to defer evaluating something, we&amp;rsquo;ll wrap it in a function that takes a dummy argument, and then call that function when we actually want to do the evaluation. The lists themselves will be represented as cons cells using Typst dictionaries. Here&amp;rsquo;s how to lazily map over a list:&lt;/p&gt;</description></item><item><title>Dumb Cipher Solver</title><link>https://unnamed.website/posts/dumb-cipher-solver/</link><pubDate>Wed, 17 Dec 2025 16:48:42 -0600</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/dumb-cipher-solver/</guid><description>&lt;link rel="stylesheet" href="https://unnamed.website/katex/katex.min.css" crossorigin="anonymous"&gt;
&lt;script defer src="https://unnamed.website/katex/katex.min.js" crossorigin="anonymous"&gt;&lt;/script&gt;
&lt;script defer src="https://unnamed.website/katex/contrib/auto-render.min.js" crossorigin="anonymous" onload="renderMathInElement(document.body, {delimiters: [{left: '$', right: '$', display: false}, {left: '\\(', right: '\\)', display: false}, {left: '\\[', right: '\\]', display: true}, {left: '\\begin{equation}', right: '\\end{equation}', display: true}, {left: '\\begin{equation*}', right: '\\end{equation*}', display: true}, {left: '\\begin{align}', right: '\\end{align}', display: true}, {left: '\\begin{align*}', right: '\\end{align*}', display: true}]});"&gt;&lt;/script&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
sevglzioelkehcnwezshieoinkosy.ezwslegyoegaaese.kzevglezwsleakclxeliyziyniq&lt;/blockquote&gt;

&lt;p&gt;Uh, are you OK, Kublai?&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Hey, I&amp;rsquo;m confused too! Someone sent me a &amp;ldquo;monoalphabetic substitution cipher&amp;rdquo; and I don&amp;rsquo;t even know what that is!&lt;/blockquote&gt;

&lt;p&gt;Oh, a monoalphabetic substitution cipher is much simpler than it sounds. For each letter of the alphabet, you designate some replacement letter, and then make these replacements to each letter in the original message to produce the ciphertext. It&amp;rsquo;s like ROT13 or the Caeser cipher but the alphabet can be scrambled with an arbitrary permutation. Since your ciphertext includes periods but no spaces, my guess is that instead of just scrambling the 26 letters of the alphabet, we also include periods and spaces for a total of 28 &amp;ldquo;letters&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Combinatorial Species</title><link>https://unnamed.website/posts/combinatorial-species/</link><pubDate>Wed, 17 Dec 2025 15:52:09 -0600</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/combinatorial-species/</guid><description>&lt;p&gt;&lt;a href="https://cofault.com/aodt.html"&gt;What is cosh(List(Bool))?&lt;/a&gt; is my favorite blog post of 2025. Not only did it inspire my &lt;a href="https://unnamed.website/posts/data-type-derivative/"&gt;data type derivatives post&lt;/a&gt;, but I also wrote a &lt;a href="https://unnamed.website/src/18.204.pdf"&gt;final paper&lt;/a&gt; this semester about a related topic, combinatorial species, which provide a deep, rigorous theory to justify the handwavey proofs in those blog posts. I also included a simple new proof of Cayley&amp;rsquo;s formula using the species formulation of the Lagrange inversion theorem rather than the real analysis version.&lt;/p&gt;</description></item><item><title>Installing Every NixOS Package</title><link>https://unnamed.website/posts/installing-every-nixos-package/</link><pubDate>Tue, 09 Dec 2025 00:15:56 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/installing-every-nixos-package/</guid><description>&lt;p&gt;Four years ago, I &lt;a href="https://unnamed.website/posts/installing-every-arch-package/"&gt;installed every Arch Linux package&lt;/a&gt; (and someone else tried the same crazy experiment with &lt;a href="https://www.naff.dev/blog/all-the-packages"&gt;Alpine Linux&lt;/a&gt;). But did I really accomplish my goal? Well&amp;hellip; I slightly cheated, since I only installed non-conflicting packages rather than literally every single Arch package. Besides, installing conflicting packages would overwrite one package&amp;rsquo;s files with the other&amp;rsquo;s, so they wouldn&amp;rsquo;t really both be installed.&lt;/p&gt;
&lt;p&gt;The solution, as with any Linux problem, is NixOS. With NixOS, conflicting packages or even multiple versions of the same package can coexist in the Nix store, which are then activated into your environment via symlinks, &lt;a href="https://xkcd.com/224/"&gt;hacked together with some nasty Bash and Perl scripts&lt;/a&gt;. Hooray for purely functional package management! Even better, &lt;a href="https://search.nixos.org/packages"&gt;search.nixos.org&lt;/a&gt; boasts a total of more than 120000 packages, nearly 10 times the measly 12232 packages that I installed in my Arch experiment.&lt;/p&gt;</description></item><item><title>What's the Derivative of a Data Type?</title><link>https://unnamed.website/posts/data-type-derivative/</link><pubDate>Fri, 31 Oct 2025 00:12:56 +0000</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/data-type-derivative/</guid><description>&lt;link rel="stylesheet" href="https://unnamed.website/katex/katex.min.css" crossorigin="anonymous"&gt;
&lt;script defer src="https://unnamed.website/katex/katex.min.js" crossorigin="anonymous"&gt;&lt;/script&gt;
&lt;script defer src="https://unnamed.website/katex/contrib/auto-render.min.js" crossorigin="anonymous" onload="renderMathInElement(document.body, {delimiters: [{left: '$', right: '$', display: false}, {left: '\\(', right: '\\)', display: false}, {left: '\\[', right: '\\]', display: true}, {left: '\\begin{equation}', right: '\\end{equation}', display: true}, {left: '\\begin{equation*}', right: '\\end{equation*}', display: true}, {left: '\\begin{align}', right: '\\end{align}', display: true}, {left: '\\begin{align*}', right: '\\end{align*}', display: true}]});"&gt;&lt;/script&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
BOO!!&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Seriously? Trying to scare me? My fox ears could hear you sneaking up from a mile away!&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Hmph&amp;hellip; how can you even hear when your ears are muffled by that ridiculous hat?&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
It&amp;rsquo;s not ridiculous! It&amp;rsquo;s my Halloween costume! I&amp;rsquo;m the &lt;a href="https://en.wikipedia.org/wiki/Witch_of_Agnesi"&gt;Witch of Agnesi&lt;/a&gt;.&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Looks more like a pirate hat to me&amp;hellip;&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Well, what&amp;rsquo;s your costume?&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
I&amp;rsquo;m Kublai Khan!&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Looks more like the Emperor&amp;rsquo;s New Clothes&amp;hellip;&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Anyways, I was walking around outside, admiring kitschy Halloween decorations, and I stumbled across this guy with the most aromatic, saliva-inducing, limited edition grass-flavored candy bars! And he told me I could have all these lovely amazing grassy candy bars, but with one condition: solve a riddle first. Oh and by the way, he absolutely loved my costume.&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Sure, sure.&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
So here&amp;rsquo;s the riddle. Actually, I&amp;rsquo;m terrified even to utter it. But here we go: find the derivative of the list data type.&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
So what was your answer?&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
AAAAAAAAAAAAAAHHHH!!! My heart was pounding, knees collapsing, mind flooded with millions of flashbacks of failing high school calculus class&amp;hellip;&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Hey, calm down! That question isn&amp;rsquo;t hard at all! The derivative is just two lists!&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
What is that even supposed to mean? Sounds like you just pulled some random answer out of your ridiculous hat!&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl-witch.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
No no no no, there are deep reasons for this! Well, first of all, what&amp;rsquo;s a list, Kublai?&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Uh&amp;hellip; well, in Lean, it&amp;rsquo;s something like this, right?&lt;/p&gt;</description></item><item><title>ICan'tBelieveICanProveItCanSort!</title><link>https://unnamed.website/posts/i-cant-believe-i-can-prove-it-can-sort/</link><pubDate>Tue, 21 Oct 2025 22:49:27 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/i-cant-believe-i-can-prove-it-can-sort/</guid><description>&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Hiiiii!! Fantastic news! I finally proved the Riemann hypothesis in Dafny, just like &lt;a href="https://unnamed.website/posts/proving-fermats-last-theorem-dafny/"&gt;I said I was going to&lt;/a&gt;!&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Oh boy. Does your proof include &lt;code&gt;0 == 1&lt;/code&gt; and &lt;code&gt;A[100000000000000]&lt;/code&gt; doesn&amp;rsquo;t segfault as corollaries? Show me a Lean proof or it didn&amp;rsquo;t happen.&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Ugh, I don&amp;rsquo;t wanna learn Lean&amp;hellip; Dafny is just so user-friendly and lovely, sometimes I even feel like I can prove anything! Hmph, so if your beloved Lean is so great, then can it &lt;a href="https://unnamed.website/posts/i-can-prove-it-can-sort/"&gt;prove ICan&amp;rsquo;tBelieveItCanSort like Dafny&lt;/a&gt;?&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/shl.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;SHL&lt;/strong&gt;:
Uhhhh&amp;hellip; maybe not. Imperative programs just hate being verified anyways.&lt;/blockquote&gt;

&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Ha! I knew it! Dafny is the best! So easy to use!&lt;/blockquote&gt;

&lt;p&gt;Hey, why don&amp;rsquo;t we give it a try? Lean has some shiny new experimental features for verifying imperative programs, so let&amp;rsquo;s take it for a test run.&lt;/p&gt;</description></item><item><title>Unhinged ThinkPad Repair Guide</title><link>https://unnamed.website/posts/unhinged-thinkpad-repair-guide/</link><pubDate>Thu, 09 Oct 2025 19:48:05 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/unhinged-thinkpad-repair-guide/</guid><description>&lt;p&gt;In this post, I&amp;rsquo;ll explain how to replace the hinges on the Lenovo ThinkPad X1 Yoga Gen 6 convertible laptop, since I couldn&amp;rsquo;t find any guides online about it.&lt;/p&gt;
&lt;p&gt;But first, we need to talk about canvases. You know, the kind that artists use.&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Boring! Are you doing SEO spam now too?&lt;/blockquote&gt;

&lt;p&gt;Hey, if you just want the repair guide, &lt;a href="#the-actual-repair"&gt;click here&lt;/a&gt; to skip to the bottom of this post. Anyways&amp;hellip;&lt;/p&gt;</description></item><item><title>Proving Fermat's Last Theorem in Dafny</title><link>https://unnamed.website/posts/proving-fermats-last-theorem-dafny/</link><pubDate>Sun, 03 Aug 2025 19:15:00 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/proving-fermats-last-theorem-dafny/</guid><description>&lt;p&gt;There&amp;rsquo;s currently an ongoing project to &lt;a href="https://imperialcollegelondon.github.io/FLT/"&gt;formalize Fermat&amp;rsquo;s Last Theorem in Lean&lt;/a&gt;, which will probably take many years to finish. But why wait? We can prove Fermat&amp;rsquo;s Last Theorem right now, using the amazing &lt;a href="https://dafny.org"&gt;Dafny&lt;/a&gt; proof assistant. It&amp;rsquo;s a truly marvelous proof that even fits inside a margin.&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Yay!! I can&amp;rsquo;t wait!&lt;/blockquote&gt;

&lt;p&gt;First, let&amp;rsquo;s state Fermat&amp;rsquo;s Last Theorem:&lt;/p&gt;</description></item><item><title>Even More Travel Photos</title><link>https://unnamed.website/posts/even-more-travel-photos/</link><pubDate>Mon, 28 Jul 2025 08:33:08 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/even-more-travel-photos/</guid><description>&lt;p&gt;Last week, I visited Hong Kong, Macau, and Shenzhen, so here are some random photos from the trip.&lt;/p&gt;
&lt;p&gt;我上个礼拜去了香港、澳门和深圳。这是我照的一些照片。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://unnamed.website/img/travel/IMG_20250719_024048_639.avif" alt="Mongolia seen from a plane"&gt;&lt;/p&gt;
&lt;p&gt;I saw Mongolia for the first time from a plane!&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
YAAAAYY!!!&lt;/blockquote&gt;

&lt;p&gt;I flew directly from New York to Hong Kong, which took around 16 hours and is the maximum possible jetlag. My plan? I&amp;rsquo;m terrible at falling asleep, so I tried to use that to my advantage. I stayed up for the whole flight (writing Lean obviously) and went 24 hours without any sleep, although my eyes hated it and started feeling like an acid burn. Upon arriving at the hotel at 8 PM Hong Kong time, I slept immediately, although I surprisingly still had some trouble falling asleep since it was morning back in New York. Basically, I concentrated all the jetlag onto the flight and the next day I was perfectly adjusted.&lt;/p&gt;</description></item><item><title>"Bad Apple!!" But It's 3288 Lean Tactics Spamming VS Code</title><link>https://unnamed.website/posts/bad-apple-lean-tactic/</link><pubDate>Fri, 04 Jul 2025 15:03:02 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/bad-apple-lean-tactic/</guid><description>&lt;p&gt;&lt;a href="https://lean-lang.org"&gt;Lean&lt;/a&gt; is a modern programming language that happens to also be a proof assistant. It&amp;rsquo;s also the best programming language of all time.&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
No it&amp;rsquo;s not! You haven&amp;rsquo;t even convinced any of your friends to try Lean, much less convince them that it&amp;rsquo;s the best!&lt;/blockquote&gt;

&lt;p&gt;OK, uh, good point. I guess &lt;a href="https://unnamed.website/posts/alis-uyghur-kitchen-megathread/"&gt;&amp;ldquo;the Ali&amp;rsquo;s Uyghur Kitchen of programming&amp;rdquo;&lt;/a&gt; is not a very convincing sales pitch to most people. One friend asked me for any examples of Lean programs that actually do real&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; stuff, and sure there&amp;rsquo;s &lt;a href="https://github.com/leanprover/verso"&gt;Verso&lt;/a&gt; and &lt;a href="https://github.com/kmill/lean4-raytracer"&gt;lean4-raytracer&lt;/a&gt; and of course Lean itself, but they don&amp;rsquo;t really grab people&amp;rsquo;s attentions.&lt;/p&gt;</description></item><item><title>Doing Math With Lean</title><link>https://unnamed.website/posts/doing-math-with-lean/</link><pubDate>Mon, 26 May 2025 10:29:25 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/doing-math-with-lean/</guid><description>&lt;link rel="stylesheet" href="https://unnamed.website/katex/katex.min.css" crossorigin="anonymous"&gt;
&lt;script defer src="https://unnamed.website/katex/katex.min.js" crossorigin="anonymous"&gt;&lt;/script&gt;
&lt;script defer src="https://unnamed.website/katex/contrib/auto-render.min.js" crossorigin="anonymous" onload="renderMathInElement(document.body, {delimiters: [{left: '$', right: '$', display: false}, {left: '\\(', right: '\\)', display: false}, {left: '\\[', right: '\\]', display: true}, {left: '\\begin{equation}', right: '\\end{equation}', display: true}, {left: '\\begin{equation*}', right: '\\end{equation*}', display: true}, {left: '\\begin{align}', right: '\\end{align}', display: true}, {left: '\\begin{align*}', right: '\\end{align*}', display: true}]});"&gt;&lt;/script&gt;

&lt;p&gt;One of my first blog posts is about a &lt;a href="https://unnamed.website/posts/a-mathematical-curiosity/"&gt;cool double summation identity&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;\[\sum_{n=2}^{\infty} \sum_{p=2}^{\infty} \frac{1}{n^p} = 1\]&lt;/p&gt;
&lt;p&gt;The pencil-and-paper version of the proof is short and sweet, so I thought it&amp;rsquo;d be a nice exercise to formalize it in Lean. So, here&amp;rsquo;s &lt;a href="https://git.unnamed.website/miscelleaneous/tree/Sum.lean"&gt;the proof you&amp;rsquo;ve all been waiting for&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Random St. Louis Facts</title><link>https://unnamed.website/posts/random-st-louis-facts/</link><pubDate>Fri, 23 May 2025 18:19:18 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/random-st-louis-facts/</guid><description>&lt;p&gt;I lived in St. Louis, Missouri for much of my childhood so here are some random facts about that city:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;St. Louis hosted the 1904 Olympics and World&amp;rsquo;s Fair. At that time it was the 4th largest city in the US. The 1904 Olympic marathon was probably the craziest in history (look it up).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There was originally going to be a &lt;a href="https://en.wikipedia.org/wiki/Walt_Disney's_Riverfront_Square"&gt;Disneyland in St. Louis&lt;/a&gt; since Walt Disney grew up in Missouri, but the legend is that Walt Disney canceled it after one of the Busch dudes insulted him for not including beer in the park.&lt;/p&gt;</description></item><item><title>MIT Dining, Two Years Later</title><link>https://unnamed.website/posts/mit-dining-two-years-later/</link><pubDate>Tue, 20 May 2025 19:45:06 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/mit-dining-two-years-later/</guid><description>&lt;p&gt;Now that I finished all my final exams, it&amp;rsquo;s time for an update to &lt;a href="https://unnamed.website/posts/hangry-guide-to-mit-dining/"&gt;my old guide to MIT dining halls&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Overall, there&amp;rsquo;s been a great squishification towards the mean in terms of quality. The Next House dining hall is in terminal decline, Maseeh is&amp;hellip; actually edible now? The other dining halls started out average and are still pretty average.&lt;/p&gt;
&lt;p&gt;So about Next dining&amp;hellip; for starters, the stir-fry, which I heaped so much praise onto in my previous review, is now the highlight of everything wrong with Next dining. It&amp;rsquo;s soggy, oversalted, looks like dead worms, and I&amp;rsquo;ve seen cockroaches a few times near the stir-fry station. Thankfully, the oyster crackers still exist so at least I have an option of last resort.&lt;/p&gt;</description></item><item><title>Cosine in the BEST LANGUAGE EVER</title><link>https://unnamed.website/posts/cosine-best-language-ever/</link><pubDate>Fri, 09 May 2025 00:08:43 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/cosine-best-language-ever/</guid><description>&lt;p&gt;Yeah yeah I know the title is definitely clickbait, but Lean is basically the &lt;a href="https://unnamed.website/posts/alis-uyghur-kitchen-megathread/"&gt;Ali&amp;rsquo;s&lt;/a&gt; of programming languages. The moment I stepped foot inside Ali&amp;rsquo;s, I knew this was the perfect restaurant for me that I needed all my life. Same for Lean. IT&amp;rsquo;S SO LIFE-CHANGING TRUST ME YOU HAVE TO TRY IT.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://lean.unnamed.website/proglang.png" alt="I NEED THE REAL PROGLANGS"&gt;&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Lean? Isn&amp;rsquo;t that a proof assistant?&lt;/blockquote&gt;

&lt;p&gt;That&amp;rsquo;s right, Lean is primarily used as a proof assistant, especially for formal math. But it&amp;rsquo;s also an amazing, highly extensible functional programming language for automating proofs, and even for general-purpose programming! Think of it as the best parts of Haskell and &lt;a href="https://unnamed.website/posts/formally-verifying-fenwick-trees/"&gt;Dafny&lt;/a&gt; and Rust combined together, plus lots more fun stuff like dependent types and a giant math library and massive Unicode abuse. Lean even &lt;a href="https://mastodon.mit.edu/@xy/114464030886055525"&gt;runs on my phone&lt;/a&gt;! Honestly I don&amp;rsquo;t think I can go back to coding in other languages after trying Lean, other than Python for short scripts and Rust for performance-important stuff.&lt;/p&gt;</description></item><item><title>NiXVM</title><link>https://unnamed.website/posts/nixvm/</link><pubDate>Mon, 14 Apr 2025 19:07:33 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/nixvm/</guid><description>&lt;p&gt;I&amp;rsquo;ve been playing around with &lt;a href="https://unnamed.website/posts/rng-cosine-nix/"&gt;Nix and NixOS&lt;/a&gt; for the past week and honestly, I don&amp;rsquo;t really like NixOS. But, now I dislike other OSes even more since I finally understand what they&amp;rsquo;re all missing compared to NixOS!&lt;/p&gt;
&lt;p&gt;Anyways, as you might know, this site is hosted on SIPB&amp;rsquo;s &lt;a href="https://unnamed.website/posts/inessential-xvm/"&gt;XVM service&lt;/a&gt; and uses Arch Linux. Since NixOS totally ruined Arch and every other Linux distro for me, I decided to switch the server for this site to using NixOS instead.&lt;/p&gt;</description></item><item><title>RNG and Cosine in Nix</title><link>https://unnamed.website/posts/rng-cosine-nix/</link><pubDate>Sat, 12 Apr 2025 12:56:26 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/rng-cosine-nix/</guid><description>&lt;p&gt;NixOS is an immutable, atomic Linux distribution with a declarative and reproducible configuration and packaging system using the purely functional, lazily evaluated, dynamically typed Nix programming language.&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
AAAAAAHHH too many buzzwords, what does that all mean???&lt;/blockquote&gt;

&lt;p&gt;Glad you asked! Basically, in NixOS, you can configure your entire system using a &lt;code&gt;configuration.nix&lt;/code&gt; file and NixOS will magically (using a bunch of Bash scripts) figure out what needs to be installed and how to do it. For instance, if you want to enable Firefox, you&amp;rsquo;d add &lt;code&gt;programs.firefox.enable = true;&lt;/code&gt; to your &lt;code&gt;configuration.nix&lt;/code&gt;. Easy as that.&lt;/p&gt;</description></item><item><title>Proving That Fenwick Trees are Fast</title><link>https://unnamed.website/posts/proving-fenwick-trees-fast/</link><pubDate>Thu, 10 Apr 2025 14:13:20 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/proving-fenwick-trees-fast/</guid><description>&lt;p&gt;Fenwick trees are really fast (although you can speed them up 10x using &lt;a href="https://en.algorithmica.org/hpc/data-structures/segment-trees/#wide-segment-trees"&gt;cache and SIMD tricks&lt;/a&gt;). But can we prove this using Dafny?&lt;/p&gt;
&lt;style&gt;
.chardiv {
	float: left;
	width: 100px;
}
.charimg {
	height: 60px;
}
blockquote {
	min-height: 60px;
}
&lt;/style&gt;
&lt;div class="chardiv"&gt;
	&lt;img src="https://unnamed.website/img/char/kublai.png" class="charimg"&gt;
&lt;/div&gt;
&lt;blockquote&gt;&lt;strong&gt;Kublai&lt;/strong&gt;:
Oh nooooo not Dafny again!&lt;/blockquote&gt;

&lt;p&gt;Don&amp;rsquo;t worry, we&amp;rsquo;ll only write a few lines of Dafny code this time. Still, you should read my previous &lt;a href="https://unnamed.website/tags/fenwick-trees/"&gt;Fenwick tree posts&lt;/a&gt; since otherwise this post probably won&amp;rsquo;t make much sense.&lt;/p&gt;</description></item></channel></rss>