<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Best-Of on Unnamed Website</title><link>https://unnamed.website/tags/best-of/</link><description>Recent content in Best-Of on Unnamed Website</description><generator>Hugo</generator><language>en-us</language><managingEditor>Anthony Wang</managingEditor><webMaster>Anthony Wang</webMaster><lastBuildDate>Sun, 11 Jan 2026 10:08:25 -0600</lastBuildDate><atom:link href="https://unnamed.website/tags/best-of/index.xml" rel="self" type="application/rss+xml"/><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>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>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>Formally Verifying Fenwick Trees</title><link>https://unnamed.website/posts/formally-verifying-fenwick-trees/</link><pubDate>Sat, 15 Mar 2025 21:30:06 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/formally-verifying-fenwick-trees/</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;:
Hey, it&amp;rsquo;s you again! That formal verification thing you mentioned last time sucks!&lt;/blockquote&gt;

&lt;p&gt;Huh? You mean our &lt;a href="https://unnamed.website/posts/i-can-prove-it-can-sort/"&gt;proof of the ICan&amp;rsquo;tBelieveItCanSort algorithm&lt;/a&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;:
Yeah! ICan&amp;rsquo;tBelieveItCanSort? More like ICanBelieveItObviouslyCanSort! After watching that visualization a few times, it intuitively makes so much sense. It&amp;rsquo;s trivial.&lt;/blockquote&gt;

&lt;p&gt;Trivial? I&amp;rsquo;m banning that word. If you consider something to be trivial, you probably haven&amp;rsquo;t pondered it deeply enough.&lt;/p&gt;</description></item><item><title>@kevin Ali's Uyghur Kitchen Megathread</title><link>https://unnamed.website/posts/alis-uyghur-kitchen-megathread/</link><pubDate>Sat, 25 Jan 2025 19:38:01 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/alis-uyghur-kitchen-megathread/</guid><description>&lt;p&gt;Snow. Ice. Gross gray snow. At least the icicles are fun to play with. It&amp;rsquo;s a frigid Boston winter with temperatures below 270 kelvins, gnawing away at your gloved but still numb fingers, cryogenically freezing your face, wind howling, while iced bubble tea stores taunt you mockingly, since even their chilly drinks are hotter than this urban tundra.&lt;/p&gt;
&lt;p&gt;Only one thing can save you, and that thing is &lt;a href="https://www.orderalisuyghurkitchen.com"&gt;Ali&amp;rsquo;s Uyghur Kitchen&lt;/a&gt;. It deserves five Michelin stars, but I&amp;rsquo;ll just say it&amp;rsquo;s a pretty good restaurant so that when you try it, you&amp;rsquo;ll be blown away by how much better it is than &amp;ldquo;pretty good&amp;rdquo;. I&amp;rsquo;ll admit it&amp;rsquo;s definitely pretty good.&lt;/p&gt;</description></item><item><title>Fenwick Trees are Awesome!</title><link>https://unnamed.website/posts/fenwick-trees-awesome/</link><pubDate>Tue, 14 Jan 2025 20:53:04 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/fenwick-trees-awesome/</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;&lt;em&gt;This post will only use one-based indexing since that&amp;rsquo;s what Fenwick trees traditionally use, although they can also be modified to use zero-based indexing.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So imagine you have an array $A$ of size $N$, and you&amp;rsquo;d like to support two operations. The first one, called $Update(i, v)$, is trivial: Given an index $i$, add $v$ to $A_i$. Easy peasy!&lt;/p&gt;</description></item><item><title>Solving Shortest Paths With Transformers</title><link>https://unnamed.website/posts/solving-shortest-paths-with-transformers/</link><pubDate>Wed, 11 Dec 2024 11:29:07 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/solving-shortest-paths-with-transformers/</guid><description>&lt;p&gt;&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;
 
 
.mpld3-staticpaths:has(:nth-child(10)) {
 transform: rotate(180deg) translate(-520px,-423px);
}
.mpld3-figure {
 display: block;
 margin: auto;
}
&lt;/style&gt;
&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;h3 id="motivation"&gt;Motivation&lt;/h3&gt;
&lt;p&gt;Neural networks are capable of impressive feats of off-distribution generalization. For instance, we discussed in class a program trained to convert sketches of cats into realistic looking pictures of cats that was able to draw a cat with three eyes given a sketch with three eyes, even though there were no 3-eyed cats in the training data. However, neural networks also often learn non-robust features that cause them to perform poorly off-distribution (e.g., adversarial examples for an image classifier). In this project, we will investigate the question of when transformers generalize off-distribution via a case study on a simple synthetic task. More specifically, the goal of our project is to make progress towards answering the following question:&lt;/p&gt;</description></item><item><title>More Vacation Photos</title><link>https://unnamed.website/posts/more-vacation-photos/</link><pubDate>Wed, 21 Aug 2024 14:48:17 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/more-vacation-photos/</guid><description>&lt;p&gt;I went on vacation again with my family, so here are some more photos to compliment the &lt;a href="https://unnamed.website/posts/hong-kong-china-taiwan-vacation-photos/"&gt;ones from last year&lt;/a&gt;. I was originally going to translate the photo captions into Mandarin like my previous vacation post, but then I accidentally wrote too much, so now I don&amp;rsquo;t have enough time to translate it all.&lt;/p&gt;
&lt;p&gt;The journey started on August 5 at 7 AM in St. Louis, Missouri with a flight to the Chicago O&amp;rsquo;Hare airport, then to the Tokyo Haneda airport. The St. Louis airport is of course the least fancy out of the three, but they play jazz at the gates instead of trashy pop songs, so that automatically makes it the best for me.&lt;/p&gt;</description></item><item><title>"Bad Apple!!" But It's An Animated QR Code of "Bad Apple!!"</title><link>https://unnamed.website/posts/bad-apple-animated-qr-code/</link><pubDate>Wed, 15 May 2024 00:14:48 -0400</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/bad-apple-animated-qr-code/</guid><description>&lt;p&gt;Rejected intro for our final report:&lt;/p&gt;
&lt;p&gt;Imagine a scenario where Kevin and Anthony are on an airplane, and Kevin would like to share a PDF of the 6.8301 textbook on his phone with Anthony. But in an unfortunate twist of fate, Kevin has an iPhone and cannot AirDrop the file to Anthony&amp;rsquo;s Android phone, and neither person wants to pay for airplane Wi-Fi. Other data transfer methods like Ethernet or USB drives require additional hardware and for both devices to have the necessary ports. This scenario is not unique, and there are other cases where existing data transfer methods fail, such as in remote locations or during power outages.&lt;/p&gt;</description></item><item><title>854 Rap</title><link>https://unnamed.website/posts/854-rap/</link><pubDate>Wed, 24 Jan 2024 21:46:18 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/854-rap/</guid><description>&lt;p&gt;In November 30, 2022, ChatGPT was released. Actually, this has nothing to do with the topic of today&amp;rsquo;s post. For that, we need to go back three weeks.&lt;/p&gt;
&lt;p&gt;6.854, now known as 6.5210, is MIT&amp;rsquo;s Advanced Algorithms class taught by Professor David Karger, known for being a great but tough class. Back in November 2022, some friends and I were taking the class, and fortunately, none of the assignments involve writing a rap about algorithms, but we decided to write one anyways for fun and perform it in-class. (We also orchestrated a live performance of a splay tree with humans representing the nodes, but it ended up being too hectic.)&lt;/p&gt;</description></item><item><title>Asian Bayesian 2</title><link>https://unnamed.website/posts/asian-bayesian-2/</link><pubDate>Mon, 22 Jan 2024 23:18:18 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/asian-bayesian-2/</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;I saw a really cool probability problem posted by Kartik Chandra on the MIT Mastodon instance:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Suppose two Bayesians, Alice and Bob, decide to put on a variety show where they take turns tossing a biased coin and announcing outcomes to a live studio audience. (Bayesians love this kind of thing&amp;ndash;it keeps them entertained for hours&amp;hellip;)&lt;/p&gt;</description></item><item><title>Hong Kong, China, and Taiwan Vacation Photos</title><link>https://unnamed.website/posts/hong-kong-china-taiwan-vacation-photos/</link><pubDate>Sun, 21 Jan 2024 23:38:20 -0500</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/hong-kong-china-taiwan-vacation-photos/</guid><description>&lt;p&gt;I went on vacation to Hong Kong, mainland China, and Taiwan from August 8, 2023 to August 29, 2023, and to put it simply, it was awesome.&lt;/p&gt;
&lt;p&gt;我2023年八月八日到八月二十九日去了香港、中国大陆和台湾旅游，感觉非常好玩。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://unnamed.website/img/travel/IMG_20230809_181312_022.avif" alt="Some guy wiping the front windows of an airplane"&gt;&lt;/p&gt;
&lt;p&gt;Did you know the front windows of airplanes can open so a person can stick their body out and clean the windows? And did you know airplanes have windshield wipers?&lt;/p&gt;
&lt;p&gt;飞机前面的窗户竟然还可以打开，这样工人就可以把他的身体伸出去清洁窗户。飞机也有雨刷！&lt;/p&gt;
&lt;p&gt;&lt;img src="https://unnamed.website/img/travel/IMG_20230811_100743_540.avif" alt="Anthony Wong plaque"&gt;&lt;/p&gt;</description></item><item><title>Asian Bayesian</title><link>https://unnamed.website/posts/asian-bayesian/</link><pubDate>Wed, 20 Dec 2023 03:36:43 +0000</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/asian-bayesian/</guid><description>&lt;p&gt;&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;script src="https://sagecell.sagemath.org/static/embedded_sagecell.js"&gt;&lt;/script&gt;
&lt;script&gt;sagecell.makeSagecell({"inputLocation": ".sage"});&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;Recently, I noticed that &amp;ldquo;Bayesian&amp;rdquo;, as in Bayesian statistics or Bayesian inference, sounds very close to &amp;ldquo;Asian&amp;rdquo;. Pun potential!&lt;/p&gt;
&lt;p&gt;&amp;ldquo;I prefer Bayesian models over Asian models.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Spelling Reform is Hard, NP-Hard</title><link>https://unnamed.website/posts/spelling-reform-np-hard/</link><pubDate>Tue, 07 Nov 2023 15:54:08 +0000</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/spelling-reform-np-hard/</guid><description>&lt;p&gt;Spelling sucks. &amp;ldquo;Though&amp;rdquo; rhymes with &amp;ldquo;go&amp;rdquo;. &amp;ldquo;Thought&amp;rdquo; rhymes with &amp;ldquo;got&amp;rdquo;. &amp;ldquo;Through&amp;rdquo; rhymes with&amp;hellip; &amp;ldquo;true&amp;rdquo;, &amp;ldquo;grew&amp;rdquo;, &amp;ldquo;who&amp;rdquo;, &amp;ldquo;lieu&amp;rdquo;, &amp;ldquo;you&amp;rdquo;, &amp;ldquo;flu&amp;rdquo;, &amp;ldquo;moo&amp;rdquo;, &amp;ldquo;shoe&amp;rdquo;, &amp;ldquo;coup&amp;rdquo;, &amp;ldquo;queue&amp;rdquo;, and &amp;ldquo;view&amp;rdquo;. Enough examples, let&amp;rsquo;s fix this madness!&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a hypothetical procedure to reform English spelling: for every word, it has some IPA pronunciation. For instance, &amp;ldquo;through&amp;rdquo; is pronounced &amp;ldquo;θɹu&amp;rdquo;. Now let&amp;rsquo;s replace every letter in the IPA pronunciations with strings of one or more letters, such as mapping all occurrences of &amp;ldquo;θ&amp;rdquo; to &amp;ldquo;th&amp;rdquo;, &amp;ldquo;ɹ&amp;rdquo; to &amp;ldquo;r&amp;rdquo; and &amp;ldquo;u&amp;rdquo; to &amp;ldquo;oo&amp;rdquo;. Of course, we don&amp;rsquo;t want the new phonetics-based spellings to get too crazy, so we should minimize the total number of changes between the old and new spellings. Let&amp;rsquo;s define the &amp;ldquo;amount of change&amp;rdquo; between two spellings as the minimum number of insertions, deletions, and single-character replacements, which is technically called the &lt;strong&gt;Levenshtein edit distance&lt;/strong&gt;. In our little example, the edit distance between &amp;ldquo;through&amp;rdquo; and &amp;ldquo;throo&amp;rdquo; is 3, because we have to replace the &amp;ldquo;u&amp;rdquo; with an &amp;ldquo;o&amp;rdquo; and delete the last two characters. Lastly, we should make this sum of edit distances weighted by the frequency of each word in typical English, since people care a lot more if the spelling of &amp;ldquo;through&amp;rdquo; changes versus the spelling of &amp;ldquo;queue&amp;rdquo;.&lt;/p&gt;</description></item><item><title>ActivityPub Eats Your Brain!</title><link>https://unnamed.website/posts/activitypub-eats-your-brain/</link><pubDate>Thu, 19 Jan 2023 17:43:08 +0000</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/activitypub-eats-your-brain/</guid><description>&lt;h2 id="whats-in-a-name"&gt;What&amp;rsquo;s in a name?&lt;/h2&gt;
&lt;p&gt;Close your eyes and imagine you&amp;rsquo;re inside a dimly lit, energetic pub filled with unicorns, giant centipedes, and paper airplanes. Actually, please don&amp;rsquo;t close your eyes, since then you won&amp;rsquo;t be able to read this. But anyways, you&amp;rsquo;re completely puzzled by what&amp;rsquo;s going on, so you go up to a unicorn named Billiam and ask him, &amp;ldquo;Hey! Where am I, and what&amp;rsquo;s up with all the paper airplane chaos?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Installing Every Arch Package</title><link>https://unnamed.website/posts/installing-every-arch-package/</link><pubDate>Wed, 26 Jan 2022 21:52:58 -0600</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/installing-every-arch-package/</guid><description>&lt;p&gt;&lt;img src="https://unnamed.website/img/install-every-arch-package-matrix.png" alt="A stupid idea on Matrix"&gt;&lt;/p&gt;
&lt;p&gt;Challenge accepted. Let&amp;rsquo;s do it!&lt;/p&gt;
&lt;p&gt;First things first, let&amp;rsquo;s generate a list of &lt;a href="https://archlinux.org/packages/"&gt;all official Arch Linux packages&lt;/a&gt;. Fortunately, &lt;code&gt;pacman&lt;/code&gt;, the best pragmatic package manager in existence, makes this a breeze.&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-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pacman -Sql
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Great, now let&amp;rsquo;s install it all!&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-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo pacman -S &lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;pacman -Sql&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;10 seconds later, you&amp;rsquo;ll find yourself with&amp;hellip; unresolvable package conflicts detected?&lt;/p&gt;
&lt;p&gt;OK, fine, let&amp;rsquo;s disable dependency checking then:&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-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo pacman -Sdd &lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;pacman -Sql&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nope, didn&amp;rsquo;t work. We have to do something about the conflicting packages!&lt;/p&gt;</description></item><item><title>TI-Nspire ASCII Art!</title><link>https://unnamed.website/posts/ti-nspire-ascii-art/</link><pubDate>Fri, 09 Nov 2018 09:14:00 +0000</pubDate><author>Anthony Wang</author><guid>https://unnamed.website/posts/ti-nspire-ascii-art/</guid><description>&lt;p&gt;It&amp;rsquo;s my &lt;a href="https://en.wikipedia.org/wiki/ASCII_art"&gt;ASCII art&lt;/a&gt; rendition of the TI-Nspire CX CAS graphing calculator!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://unnamed.website/img/nspire.png" alt="A comparison"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;.-------------------------------------------------,
| | | |
| | TI-NSPIRE CX CAS | |
| | | |
| | .-----------------------------------------, | |
| | | [^] CAS ([] | | |
| | |-----------------------------------------| | |
| | | /#/ Scratchpad /#/ Documents | | |
| | | | | |
| | | [A] Calculate [1] New Document | | |
| | | [B] Graph [2] My Document | | |
| | | [3] Recent &amp;gt; | | |
| | | [4] Current | | |
| | | [5] Settings | | |
| | | | | |
| | | | | |
| | | .--, .--, .--, .--, .--, .--, .--, | | |
| | | |+=| |\/| ||\| |##| |||| |[]| |/\| | | |
| | | `--&amp;#39; `--&amp;#39; `--&amp;#39; `--&amp;#39; `--&amp;#39; `--&amp;#39; `--&amp;#39; | | |
| | | | | |
| | `-----------------------------------------&amp;#39; | |
| | &amp;lt;- off | |
| | .-----, &amp;gt;[] .-----, | |
| | | esc | .---------------, | ^on | | |
| | `-----&amp;#39; | ^ | `-----&amp;#39; | |
| | .-----, | .---, | .-----, | |
| | | /#/ | [&amp;lt;]| &amp;lt; | \ | &amp;gt; |[&amp;gt;] | doc | | |
| | `-----&amp;#39; | `---&amp;#39; | `-----&amp;#39; | |
| | .-----, | v | .-----, | |
| | | tab | `---------------&amp;#39; |menu | | |
| | `-----&amp;#39; []&amp;lt; `-----&amp;#39; | |
| |---------------------------------------------| |
| | CAPS sto-&amp;gt; clear | |
| | .-----, .-----, .-----, .-----, | |
| | |ctrl | |shift| | var | | del | | |
| | `-----&amp;#39; `-----&amp;#39; `-----&amp;#39; `-----&amp;#39; | |
| | .-------, .-----, .-----, .-----, .-------, | |
| | | = |trg| | 7 | | 8 | | 9 | |[]{|/_\| | |
| | `-------&amp;#39; `-----&amp;#39; `-----&amp;#39; `-----&amp;#39; `-------&amp;#39; | |
| | .-------, .-----, .-----, .-----, .-------, | |
| | | ^ |x2 | | 4 | | 5 | | 6 | | x | / | | |
| | `-------&amp;#39; `-----&amp;#39; `-----&amp;#39; `-----&amp;#39; `-------&amp;#39; | |
| | .-------, .-----, .-----, .-----, .-------, | |
| | | ex|10x| | 1 | | 2 | | 3 | | + | - | | |
| | `-------&amp;#39; `-----&amp;#39; `-----&amp;#39; `-----&amp;#39; `-------&amp;#39; | |
| | .-------, .-----, .-----, .-----, .-------, | |
| | | ( | ) | | 0 | | . | | (-) | | enter | | |
| | `-------&amp;#39; `-----&amp;#39; `-----&amp;#39; `-----&amp;#39; `-------&amp;#39; | |
| | | |
| | [E] [A] [B] [C] [D] [E] [F] [G] [?] | |
| | | |
| | [π] [H] [I] [J] [K] [L] [M] [N] [|] | |
| | | |
| | [,] [O] [P] [Q] [R] [S] [T] [U] [&amp;lt;] | |
| | | |
| | [V] [W] [X] [Y] [Z] [ __ ] | |
\ | | /
 \| TEXAS INSTRUMENTS |/
 `---------------------------------------------&amp;#39;
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>