<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Home on Zihe Liu</title>
		<link>https://flowingpurplecrane.com/</link>
		<description>Recent content in Home on Zihe Liu</description>
		<generator>Hugo</generator>
		<language>en</language>
		
			<managingEditor>zl559@cam.ac.uk (Zihe Liu)</managingEditor>
		
		
			<webMaster>zl559@cam.ac.uk (Zihe Liu)</webMaster>
		
		
			<copyright>© Zihe Liu</copyright>
		
		
			<lastBuildDate>Sat, 14 Mar 2026 15:42:57 +0000</lastBuildDate>
		
			<atom:link href="https://flowingpurplecrane.com/rss.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Critique DPO</title>
				<link>https://flowingpurplecrane.com/posts/cdpo/</link>
				<pubDate>Sat, 14 Mar 2026 15:42:57 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/posts/cdpo/</guid>
				<description>&lt;p&gt;I chanced upon a pretty interesting idea proposed by Peter Hayes (now at Anthropic) in 2025, to more efficiently use feedback data in the standard RLHF pipeline to speed up the whole thing. Basically, given external feedback/critique/verification of generated answers, can we incorporate this feedback in an NLL term in addition to the standard DPO loss; trained on the base model? Most previous efforts either used this feedback to train a better verifier, or used other additional NLL terms in the base model training. I spent couple of months reading around the literature, setting up the HPC infra, and running some experiments. Unfortunately experiments (at least on smaller models) resulted in negative findings - the model was extremely prone to &lt;a href=&#34;https://lilianweng.github.io/posts/2024-11-28-reward-hacking/&#34;&gt;reward hacking&lt;/a&gt;&amp;hellip;&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Minority Guessing Game</title>
				<link>https://flowingpurplecrane.com/posts/minority/</link>
				<pubDate>Sat, 14 Feb 2026 23:50:56 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/posts/minority/</guid>
				<description>&lt;p&gt;I recently learnt a drinking game where you had 2 cards (red/black) for round, and people use these as answers to questions. The goal of the game is to locate who the minority answers came from, and with that came some interesting questions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;game-rules&#34;&gt;Game Rules&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$n$ players each hold a red card and a black card.&lt;/li&gt;&#xA;&lt;li&gt;A question is posed each round (e.g., yes/no, would-you-rather, etc.). Each player secretly plays one card to reflect their answer.&lt;/li&gt;&#xA;&lt;li&gt;All played cards are collected and shuffled — the total counts of each red and black are revealed, but not who played what.&lt;/li&gt;&#xA;&lt;li&gt;This reveals a &lt;em&gt;minority&lt;/em&gt; group of size $k$ and a majority of size $n − k$&lt;/li&gt;&#xA;&lt;li&gt;The group is given $g$ guesses to identify members of the minority. The group&amp;rsquo;s score is $C$, the number of correct guesses. This is the only random variable in this question; everything else is given.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;em&gt;Then I had a question: what&amp;rsquo;s a good number for $g$ so that the game is fun?&lt;/em&gt; &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; So not too easy $g \approx n$ where we&amp;rsquo;ll definitely guess who the minorities are, but not too hard $g=k$ &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; that we&amp;rsquo;ll never find the minorities. &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Transition</title>
				<link>https://flowingpurplecrane.com/flow/transition/</link>
				<pubDate>Wed, 31 Dec 2025 00:05:50 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/transition/</guid>
				<description>&lt;p&gt;&lt;em&gt;He could not see the ground. No horizon visible other than that of metal against sky, grey against brown. There was scarcely any motion to be seen - save for a few pleasure-crafts lazed against the sky - but all the busy traffic of billions of men were going on, he knew, beneath the metal skin of the world.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Modified from &lt;em&gt;Foundation&lt;/em&gt; by Isaac Asimov&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I&amp;rsquo;m on a plane right now with this particular book in hand. To be honest I didn&amp;rsquo;t finish it because it got too boring and confusing, but I tried :p Actually, the flight destination is back to my hometown 郑州 in China, and I told none of my relatives I was coming. So 姥姥， 老爷 and 金刚 will be in for a big surprise. I&amp;rsquo;ve never surprised someone like this before, so I&amp;rsquo;m quite excited to see how they&amp;rsquo;ll react. Hopefully 姥姥 doesn&amp;rsquo;t get too shocked.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Box</title>
				<link>https://flowingpurplecrane.com/flow/box/</link>
				<pubDate>Wed, 19 Nov 2025 20:25:51 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/box/</guid>
				<description>&lt;p&gt;&lt;em&gt;Dear Pat,&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;&lt;em&gt;You came upon me carving some kind of little figure out of wood, and you said, &amp;ldquo;Why don&amp;rsquo;t you make something for me?&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;I asked you what you wanted, and you said, &amp;ldquo;A box.&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&amp;ldquo;What for?&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&amp;ldquo;To put things in.&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&amp;ldquo;What things?&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&amp;ldquo;Whatever you have,&amp;rdquo; you said.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Well, here&amp;rsquo;s your box. Nearly everything I have is in it, and it is not full. Pain and excitement are in it, and feeling good or bad and evil thoughts and good thoughts—the pleasure of design and some despair and the indescribable joy of creation.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;And on top of these are all the gratitude and love I have for you.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;And still the box is not full.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;John&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Golden</title>
				<link>https://flowingpurplecrane.com/flow/golden/</link>
				<pubDate>Fri, 31 Oct 2025 04:05:50 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/golden/</guid>
				<description>&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;golden&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;Kpop demon hunters.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;    &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;    &#xA;  &#xA;&#xA;&lt;div style=&#34;display: block; width: 100%; margin-top: 15px; margin-bottom: 15px;&#34;&gt;&#xA;  &lt;img src=&#34;https://flowingpurplecrane.com/flow/golden_hu_41fb87c020b1ed0.png&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;  width=&#34;200&#34;  &#xA;  style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xA;  &#xA;  &#xA;    &lt;figcaption style=&#34;text-align: center; margin-top: 8px; margin-bottom: 8px; font-style: italic;&#34;&gt;A good boy.&lt;/figcaption&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Golden. Retriever. Another night&amp;hellip; with the Singaporeans yipeeeeee :p&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fasho</title>
				<link>https://flowingpurplecrane.com/flow/fasho/</link>
				<pubDate>Thu, 30 Oct 2025 03:20:06 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/fasho/</guid>
				<description>&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;five bucks&lt;/li&gt;&#xA;&lt;li&gt;Bezos?? &amp;gt;:( come back plsssss&lt;/li&gt;&#xA;&lt;li&gt;sorry my granny&lt;/li&gt;&#xA;&lt;li&gt;squad is on the way&lt;/li&gt;&#xA;&lt;li&gt;skrrt&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;Cortis&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;    &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;    &#xA;  &#xA;&#xA;&lt;div style=&#34;display: block; width: 100%; margin-top: 15px; margin-bottom: 15px;&#34;&gt;&#xA;  &lt;img src=&#34;https://flowingpurplecrane.com/flow/cortis_hu_f3ee5fb0df9d272.png&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;  width=&#34;300&#34;  &#xA;  style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xA;  &#xA;  &#xA;    &lt;figcaption style=&#34;text-align: center; margin-top: 8px; margin-bottom: 8px; font-style: italic;&#34;&gt;Cortis.&lt;/figcaption&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;I may be slightly tipsy while writing this. I got kicked out for dancing too hard to this song. In my defence, I actually learnt the choreography and was on beat. I love my friends though. I recently realised maybe my family and friends really mean the world to me. Its kinda my last (?) year. I&amp;rsquo;ll miss yall.&lt;/p&gt;</description>
			</item>
			<item>
				<title>On Information</title>
				<link>https://flowingpurplecrane.com/posts/info/</link>
				<pubDate>Sat, 25 Oct 2025 16:34:06 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/posts/info/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve wondered about entropy for a long time. From &lt;a href=&#34;https://en.wikipedia.org/wiki/Entropy_as_an_arrow_of_time&#34;&gt;thermodynamics and the arrow of time&lt;/a&gt;, to &lt;a href=&#34;https://docs.pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html&#34;&gt;cross-entropy loss&lt;/a&gt; in ML cost functions, or KL divergence in stopping intelligence from going batshit crazy in &lt;a href=&#34;https://mbernste.github.io/posts/vae/&#34;&gt;VAE&lt;/a&gt;/&lt;a href=&#34;https://arxiv.org/abs/1707.06347&#34;&gt;PPO&lt;/a&gt;, entropy keeps cropping up. Maybe the universe is playing some kinda trick on us here. Since I&amp;rsquo;m taking &lt;a href=&#34;https://teaching.eng.cam.ac.uk/content/engineering-tripos-part-iia-3f7-information-theory-and-coding-2025-26&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;3F7 Information Theory&lt;/a&gt;, I thought it&amp;rsquo;s probably a good time to understand what these ideas &lt;em&gt;really&lt;/em&gt; mean.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Disclaimer: I do not claim this work to be my own; this is merely a synthesis of intuition and math across multiple resources for myself and anyone interested. In particular, we borrow the beautiful figures and analogies from Chris Olah&amp;rsquo;s amazing post&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; on Information Theory.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>如燕</title>
				<link>https://flowingpurplecrane.com/flow/swallow/</link>
				<pubDate>Thu, 16 Oct 2025 03:51:34 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/swallow/</guid>
				<description>&lt;div style=&#34;display: block; width: 100%; margin-top: 15px; margin-bottom: 15px;&#34;&gt;&#xA;  &lt;img src=&#34;https://flowingpurplecrane.com/flow/swallow_hu_ce926e3215167efa.png&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;  width=&#34;300&#34;  &#xA;  style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xA;  &#xA;  &#xA;    &lt;figcaption style=&#34;text-align: center; margin-top: 8px; margin-bottom: 8px; font-style: italic;&#34;&gt;A swallow, generated by GPT.&lt;/figcaption&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;思念如燕 它飞舞舌尖&lt;/li&gt;&#xA;&lt;li&gt;若是真爱 配尝几分苦甜&lt;/li&gt;&#xA;&lt;li&gt;意念婆娑 时间里推磨&lt;/li&gt;&#xA;&lt;li&gt;追随到何处才结果&lt;/li&gt;&#xA;&lt;li&gt;燕如针线 在青空缝编&lt;/li&gt;&#xA;&lt;li&gt;几幅女红将以泪缀点&lt;/li&gt;&#xA;&lt;li&gt;誓言斑驳 情雾只是经过&lt;/li&gt;&#xA;&lt;li&gt;风雨中且让我 盈步 婀娜&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;Olivia Ong/王俪婷&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Recently I did a pretty difficult thing. I put in alot of effort into it, and it paid off. Sure, it came with a couple of trade-offs, but it was well worth it in comparison. I tried really hard to get better at this one other thing (dance), but fell short of my own goals. So I&amp;rsquo;m a bit at a loss of how to advance on this front, at least for this year. You could say I&amp;rsquo;m feeling slightly empty, but some people would probably say I&amp;rsquo;m just being entitled, and I should be grateful for what I already have (rightly so).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Grateful</title>
				<link>https://flowingpurplecrane.com/flow/fallen/</link>
				<pubDate>Tue, 22 Jul 2025 23:44:25 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/fallen/</guid>
				<description>&lt;div style=&#34;display: block; width: 100%; margin-top: 15px; margin-bottom: 15px;&#34;&gt;&#xA;  &lt;img src=&#34;https://flowingpurplecrane.com/flow/fallen_hu_c00cbfff34f8d557.jpg&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;  width=&#34;600&#34;  &#xA;  style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xA;  &#xA;  &#xA;    &lt;figcaption style=&#34;text-align: center; margin-top: 8px; margin-bottom: 8px; font-style: italic;&#34;&gt;The Fallen Angel by Alexandre Cabanel (Wikipedia)&lt;/figcaption&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;em&gt;Excerpt from Paradise Lost, by John Milton&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;What though the field be lost?&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&#34;indent-3&#34;&gt;&lt;/span&gt;&#xA;All is not lost; the unconquerable Will,&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&#34;indent-4&#34;&gt;&lt;/span&gt;&#xA;And study of revenge, immortal hate,&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&#34;indent-5&#34;&gt;&lt;/span&gt;&#xA;And courage never to submit or yield:&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&#34;indent-6&#34;&gt;&lt;/span&gt;&#xA;And what is else not to be overcome?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I didn&amp;rsquo;t read Paradise Lost, but I found this painting of Lucifer that was inspired by Paradise Lost somewhat soul-stirring. We see Lucifer&amp;rsquo;s intense gaze as he looks &lt;em&gt;(at the viewer? slightly off centre? maybe is he angry at us?)&lt;/em&gt; ahead, a mixture of angst, betrayal, remorse, anger, and other emotions up to viewer interpretation. I love how the darkness of the side of his face and his right eyebrow contrasts with that blinding gaze, accentuated by small white highlights. I could almost feel what he must have felt getting cast out from heaven.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Always The End</title>
				<link>https://flowingpurplecrane.com/flow/end/</link>
				<pubDate>Sat, 03 May 2025 23:32:42 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/end/</guid>
				<description>&lt;p&gt;&lt;em&gt;Composed and written by Jhung&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;It&amp;rsquo;s always the end when I see things different&lt;/li&gt;&#xA;&lt;li&gt;Always the end when I see you&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;OK last take, last take&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;2,3&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Then you come in like this&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;La-la-la, la-da-da&lt;/li&gt;&#xA;&lt;li&gt;Please!&lt;/li&gt;&#xA;&lt;li&gt;Don&amp;rsquo;t you forget about me, no&lt;/li&gt;&#xA;&lt;li&gt;Cause I can&amp;rsquo;t let this go&lt;/li&gt;&#xA;&lt;li&gt;Don&amp;rsquo;t forget to let me know&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Nowadays, a significant portion of my time and energy is channelled to dancing. One thought occurs fairly often to me recently, as I start to see frontier AI models get increasingly intertwined within the lives of the people around me. Perhaps my dance is the very last thing that I can truly call my own. Whatever piece of good quality work I produce nowdays - from supervision answers, code, hell even writing some of these posts - are informed by AI in some way. Especially since my background is in everything AI. But dance is different. I cannot foresee AI generating choreographies anytime soon (certainly not executing them). When I dance, I really do feel the rhythm within me, and getting all the moves on the right beats feels like riding a wave. How I use my body to express the sounds I hear are unique to me. I&amp;rsquo;m still not sure yet how I feel about this, but I genuinely think my dance is the last thing that&amp;rsquo;ll be taken away by AI.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Dog</title>
				<link>https://flowingpurplecrane.com/flow/dog/</link>
				<pubDate>Thu, 03 Apr 2025 15:00:10 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/dog/</guid>
				<description>&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;I like a dog at my feet when I read,&lt;/li&gt;&#xA;&lt;li&gt;Whatever his size or whatever his breed.&lt;/li&gt;&#xA;&lt;li&gt;A dog now and then that will nuzzle my hand&lt;/li&gt;&#xA;&lt;li&gt;As though I were the greatest of men in the land,&lt;/li&gt;&#xA;&lt;li&gt;And trying to tell me it’s pleasant to be&lt;/li&gt;&#xA;&lt;li&gt;On such intimate terms with a fellow like me.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;I like a dog at my side when I eat,&lt;/li&gt;&#xA;&lt;li&gt;I like to give him a bit of my meat;&lt;/li&gt;&#xA;&lt;li&gt;And though mother objects and insists it is bad&lt;/li&gt;&#xA;&lt;li&gt;To let dogs in the dining room, still I am glad&lt;/li&gt;&#xA;&lt;li&gt;To behold him stretched out on the floor by my chair.&lt;/li&gt;&#xA;&lt;li&gt;It’s cheering to see such a faithful friend there.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;A dog leads a curious life at the best.&lt;/li&gt;&#xA;&lt;li&gt;By the wag of his tail is his pleasure expressed.&lt;/li&gt;&#xA;&lt;li&gt;He pays a high tribute to man when he stays&lt;/li&gt;&#xA;&lt;li&gt;True to his friend to the end of his days.&lt;/li&gt;&#xA;&lt;li&gt;And I wonder sometimes if it happens to be&lt;/li&gt;&#xA;&lt;li&gt;That dogs pay no heed of the faults which men see.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;Should I prove a failure; should I stoop to wrong;&lt;/li&gt;&#xA;&lt;li&gt;Be weak at a time when I should have been strong;&lt;/li&gt;&#xA;&lt;li&gt;Should I lose my money, the gossips would sneer&lt;/li&gt;&#xA;&lt;li&gt;And fill with my blundering many an ear,&lt;/li&gt;&#xA;&lt;li&gt;But still, as I opened my door, I should see&lt;/li&gt;&#xA;&lt;li&gt;My dog wag his tail with a welcome for me.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;Edgar A. Guest&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Dream Is a Wish Your Heart Makes</title>
				<link>https://flowingpurplecrane.com/flow/dream/</link>
				<pubDate>Sat, 29 Mar 2025 23:56:58 +0200</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/dream/</guid>
				<description>&lt;p&gt;&lt;em&gt;Written and composed by Mack David, Al Hoffman and Jerry Livingston&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;A dream is a wish your heart makes&lt;/li&gt;&#xA;&lt;li&gt;When you&amp;rsquo;re fast asleep&lt;/li&gt;&#xA;&lt;li&gt;In dreams, you will lose your heartaches&lt;/li&gt;&#xA;&lt;li&gt;Whatever you wish for, you keep&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;Have faith in your dreams and maybe someday&lt;/li&gt;&#xA;&lt;li&gt;Rainbow will come shining through&lt;/li&gt;&#xA;&lt;li&gt;No matter how your heart is grieving&lt;/li&gt;&#xA;&lt;li&gt;If you keep on believing&lt;/li&gt;&#xA;&lt;li&gt;Then the dream that you wish will come true&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;The original version of this was written for the &lt;em&gt;Walt Disney&lt;/em&gt; film &lt;em&gt;Cinderella&lt;/em&gt; (1950). When I first listened to the &lt;a href=&#34;https://open.spotify.com/track/72mgfo7SWxWi4kmUTuhLPB?si=b7a3a9d5b7fe4a8d&#34;&gt;rendition&lt;/a&gt; by British artist &lt;a href=&#34;https://www.instagram.com/pumablue/?hl=en&#34;&gt;&lt;em&gt;Puma Blue&lt;/em&gt;&lt;/a&gt;, I was completely captured by its darker tones and soft vocals. I really did feel like I was in a dream.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Discrete Fourier Transform and Fast Fourier Transform</title>
				<link>https://flowingpurplecrane.com/posts/dft-fft/</link>
				<pubDate>Fri, 28 Mar 2025 17:05:08 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/posts/dft-fft/</guid>
				<description>&lt;p&gt;We analyze &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; the theoretical properties of both the &lt;em&gt;Discrete Fourier&#xA;Transform&lt;/em&gt; (DFT) and the optimized &lt;em&gt;Fast Fourier Transform&lt;/em&gt; (FFT), and&#xA;estimate their algorithmic complexity.&lt;/p&gt;&#xA;&lt;p&gt;All code available on &lt;a href=&#34;https://github.com/liuzihe02/dft-fft.git&#34;&gt;Github&lt;/a&gt;. Slides available &lt;a href=&#34;https://flowingpurplecrane.com/docs/dft-fft-slides.pdf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;discrete-fourier-transform&#34;&gt;Discrete Fourier Transform&lt;/h1&gt;&#xA;&lt;h2 id=&#34;theory&#34;&gt;Theory&lt;/h2&gt;&#xA;&lt;p&gt;The DFT converts a finite-length time-domain signal into its&#xA;frequency-domain representation. For an input signal $x[n]$ of length&#xA;$N$, where $0 \le n \le N-1$, the DFT is defined as:&lt;/p&gt;&#xA;$$&#xA;X[k] = \sum_{n=0}^{N-1} x[n]\, W_N^{nk}, \quad 0 \le k \le N-1&#xA;\label{eq:DFT}&#xA;$$&lt;p&gt;where $W_N=e^{-j\frac{2\pi}{N}}$ is the $N$-th principal root of unity,&#xA;and $X[k]$ is component at frequency $kf_s/N$ with sampling frequency&#xA;$f_s$. We can rewrite $X[k]$ as an inner product:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Unconditional</title>
				<link>https://flowingpurplecrane.com/flow/unconditional/</link>
				<pubDate>Thu, 27 Mar 2025 23:56:58 +0200</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/flow/unconditional/</guid>
				<description>&lt;p&gt;&lt;em&gt;Composed and written by Jaehyun&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul class=&#34;poetry&#34;&gt;&#xA;&lt;li&gt;I just, I just bought my baby Prada&lt;/li&gt;&#xA;&lt;li&gt;Got another for hеr, straight from the store&lt;/li&gt;&#xA;&lt;li&gt;Fly her &amp;lsquo;round the world so she can hang by the shore&lt;/li&gt;&#xA;&lt;li&gt;That&amp;rsquo;s my baby, that’s my sugar&lt;/li&gt;&#xA;&lt;li&gt;I don&amp;rsquo;t need no honey on the side&lt;/li&gt;&#xA;&lt;li&gt;That&amp;rsquo;s unconditiona-nal&lt;/li&gt;&#xA;&lt;li&gt;For her, I&amp;rsquo;d break the law, just take me straight to the court&lt;/li&gt;&#xA;&lt;li&gt;Buy a billion roses and I&amp;rsquo;d still get her more&lt;/li&gt;&#xA;&lt;li&gt;That&amp;rsquo;s my baby, that’s my sugar&lt;/li&gt;&#xA;&lt;li&gt;I don&amp;rsquo;t need no honey on the side&lt;/li&gt;&#xA;&lt;li&gt;That&amp;rsquo;s unconditiona-nal&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Alright I&amp;rsquo;ll be honest, the lyrics aren&amp;rsquo;t the most refined. &lt;em&gt;But&lt;/em&gt; the &lt;a href=&#34;https://open.spotify.com/track/4j0W96NZvBFqwIyhCb9uGX?si=55b95ea044df4a80&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;song&lt;/a&gt; is an absolute banger. Some songs make you want to get up and dance, and this song is one of them.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Breaking Down DeepSeek R1</title>
				<link>https://flowingpurplecrane.com/posts/r1/</link>
				<pubDate>Mon, 17 Feb 2025 17:05:08 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/posts/r1/</guid>
				<description>&lt;p&gt;In this post, I want to explore the key RL architecture and software optimizations DeepSeek made to create Deepseek-R1. I&amp;rsquo;ll provide a brief introduction to the RL setup and explain how GRPO makes traditional algorithims much more efficient. At the end, I&amp;rsquo;ll provide a brief overview of how DeepSeek-R1 was trained. Talk given at Cambridge AI Safety Hub Members Meeting in February, slides available &lt;a href=&#34;https://flowingpurplecrane.com/docs/r1-slides.pdf&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;preliminaries&#34;&gt;Preliminaries&lt;/h1&gt;&#xA;&lt;h2 id=&#34;transformers&#34;&gt;Transformers&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;    &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;    &#xA;  &#xA;&#xA;&lt;div style=&#34;display: block; width: 100%; margin-top: 15px; margin-bottom: 15px;&#34;&gt;&#xA;  &lt;img src=&#34;https://flowingpurplecrane.com/r1/figures/transformer-overview_hu_fe0829fbfb741b70.png&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;  width=&#34;700&#34;  &#xA;  style=&#34;display: block; margin: 0 auto;&#34;&gt;&#xA;  &#xA;  &#xA;    &lt;figcaption style=&#34;text-align: center; margin-top: 8px; margin-bottom: 8px; font-style: italic;&#34;&gt;Illustration of autoregressive model of transformers, taken from the ARENA curriculum&lt;/figcaption&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Modern transformers are autoregressive models. They predict the next token (essetially a word) given all the tokens before it:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Breaking Down Monte Carlo Tree Search</title>
				<link>https://flowingpurplecrane.com/posts/mcts/</link>
				<pubDate>Sat, 07 Dec 2024 17:05:08 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/posts/mcts/</guid>
				<description>&lt;p&gt;We explain how Monte Carlo Tree Search works and introduce its pseudocode. We borrow notes and figures from &lt;a href=&#34;https://int8.io/monte-carlo-tree-search-beginners-guide/&#34;&gt;int8&amp;rsquo;s website&lt;/a&gt; and the &lt;a href=&#34;https://en.wikipedia.org/wiki/Monte_Carlo_tree_search&#34;&gt;MCTS Wikipedia page&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;game-representation&#34;&gt;Game Representation&lt;/h1&gt;&#xA;&lt;p&gt;A game tree is a tree data structure, where every node represents a distinct &lt;em&gt;state&lt;/em&gt; of the game. Given a state $s$, we take an action $a$, and the environment transitions to the new state $s&#39;$ with the transition probability $p_a(s&#39;|s)$. If the transition probablity is $1$ (such as in simple deterministic games like Tic Tac Toe), then each node in the game tree represents a state.&lt;/p&gt;</description>
			</item>
			<item>
				<title>About</title>
				<link>https://flowingpurplecrane.com/about/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/about/</guid>
				<description></description>
			</item>
			<item>
				<title>Contact</title>
				<link>https://flowingpurplecrane.com/contact/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/contact/</guid>
				<description>&lt;p&gt;This is an example of a custom shortcode that you can put right into your content.&#xA;You will need to add a form action to the the shortcode to make it work.&#xA;Check out &lt;a href=&#34;https://formspark.io/&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Formspark&lt;/a&gt; for a simple, free form service.&lt;/p&gt;&#xA;&lt;p&gt;Ed theme is not strictly tied to any forms backend. You can easily use any backend&#xA;like &lt;a href=&#34;https://formspark.io/&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Formspark&lt;/a&gt;, &lt;a href=&#34;https://formspree.io/&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Formspree&lt;/a&gt;, &lt;a href=&#34;https://fabform.io/&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;FabForm&lt;/a&gt; and so on just by changing the &lt;code&gt;formAction&lt;/code&gt; parameter&#xA;in the site configuration file.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Credits</title>
				<link>https://flowingpurplecrane.com/credits/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/credits/</guid>
				<description>&lt;h3 id=&#34;hahahugoshortcode8s0hbhb--software-engineer&#34;&gt;&lt;a href=&#34;https://www.linkedin.com/in/egrep/&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Serghei Iakovlev&lt;/a&gt; | Software Engineer&lt;/h3&gt;&#xA;&lt;p&gt;Serghei Iakovlev is a software engineer with 20 years of experience in IT who enjoys finding elegant solutions to non-trivial problems. Serghei focused on the goal and driven by visual sophistication and laser-sharp precision, he takes pride in every finished project, and never stop learning along the way. Serghei work as the Head Of Development with 20 teams of 90+ engineers to develop &lt;a href=&#34;https://airslate.com&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;airSlate&lt;/a&gt; &amp;mdash; better nocode workflow automation platform.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Documentation</title>
				<link>https://flowingpurplecrane.com/documentation/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/documentation/</guid>
				<description>&lt;h2 class=&#34;no_toc&#34; id=&#34;contents&#34;&gt;&#xA;    Contents&#xA;&lt;/h2&gt;&#xA;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#prerequisites&#34;&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#installing-ed&#34;&gt;Installing Ed&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#getting-started&#34;&gt;Getting started&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#hugo&#34;&gt;Hugo&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#markdown-and-commonmark&#34;&gt;Markdown and CommonMark&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#genres&#34;&gt;Genres&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#configuring-author-selection&#34;&gt;Configuring Author Selection&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#author-display-in-ed&#34;&gt;Author Display in Ed&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#footnotes&#34;&gt;Footnotes&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#blockquote&#34;&gt;Blockquote&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#pages&#34;&gt;Pages&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#tables-of-content&#34;&gt;Tables of Content&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#styling-theme&#34;&gt;Styling Theme&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#comments&#34;&gt;Comments&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#comment-configuration-for-content-types&#34;&gt;Comment Configuration for Content Types&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#styling-comments&#34;&gt;Styling Comments&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#localization&#34;&gt;Localization&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#integrating-analytics-with-ed&#34;&gt;Integrating Analytics with Ed&lt;/a&gt;&#xA;      &lt;ul&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#setting-up-google-analytics&#34;&gt;Setting Up Google Analytics&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#configuring-google-tag-manager&#34;&gt;Configuring Google Tag Manager&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#important-considerations-1&#34;&gt;Important Considerations&lt;/a&gt;&lt;/li&gt;&#xA;        &lt;li&gt;&lt;a href=&#34;#making-the-choice&#34;&gt;Making the Choice&lt;/a&gt;&lt;/li&gt;&#xA;      &lt;/ul&gt;&#xA;    &lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#getting-help&#34;&gt;Getting help&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/nav&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;This documentation was built with beginners in mind, but has the necessary information for more seasoned producers.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Projects</title>
				<link>https://flowingpurplecrane.com/projects/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/projects/</guid>
				<description>&lt;p&gt;Fun stuff I&amp;rsquo;ve worked on.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;gb3-risc-v-cpu--hahahugoshortcode29s0hbhb--hahahugoshortcode29s1hbhb--hahahugoshortcode29s2hbhb&#34;&gt;GB3 RISC-V CPU | &lt;a href=&#34;https://github.com/liuzihe02/picorv32&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;GitHub&lt;/a&gt; | &lt;a href=&#34;https://flowingpurplecrane.com/docs/gb3-cpu-notes.pdf&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CPU Notes&lt;/a&gt; | &lt;a href=&#34;https://flowingpurplecrane.com/docs/gb3-report.pdf&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Report&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Optimized a tiny RISC-V CPU with a 2-way set-associative instruction cache, cache-hit lookaheads to shorten critical paths, and increasing the clock frequency. &lt;em&gt;Won 1st place at GB3 Project Competition 2026&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;sf2-image-compression--hahahugoshortcode29s3hbhb--hahahugoshortcode29s4hbhb&#34;&gt;SF2 Image Compression | &lt;a href=&#34;https://flowingpurplecrane.com/docs/sf2-report.pdf&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Report&lt;/a&gt; | &lt;a href=&#34;https://sigproc-classrooms.github.io/sf2_competition_results/&#34; hreflang=&#34;en&#34; class=&#34;external&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Results&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Built JPEG-based image compression scheme with Discrete Cosine Transform, quantization, Huffman encoding, and DC intra prediction coding. &lt;em&gt;Won 1st place at SF2 Project Competition 2026&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Search</title>
				<link>https://flowingpurplecrane.com/search/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/search/</guid>
				<description>&lt;div id=&#34;site-search&#34; class=&#34;search-form&#34;&gt;&#xA;    &lt;p&gt;To search the site, enter a search term.&lt;/p&gt;&#xA;    &lt;form role=&#34;search&#34; id=&#34;search-form&#34;&gt;&#xA;        &lt;div class=&#34;search-wrapper&#34;&gt;&#xA;            &lt;div class=&#34;search-container form-item&#34;&gt;&#xA;                &lt;input&#xA;                    autofocus&#xA;                    autocomplete=&#34;off&#34;&#xA;                    spellcheck=&#34;false&#34;&#xA;                    placeholder=&#34;&#34;&#xA;                    class=&#34;search-form-input form-input&#34;&#xA;                    aria-label=&#34;Search site&#34;&#xA;                    type=&#34;search&#34;&#xA;                    id=&#34;search&#34;&#xA;                    name=&#34;search&#34;&#xA;                    maxlength=&#34;128&#34;&gt;&#xA;            &lt;/div&gt;&#xA;            &lt;div class=&#34;search-error hide-element&#34;&gt;&#xA;                &lt;p class=&#34;search-error-message&#34;&gt;&lt;/p&gt;&#xA;            &lt;/div&gt;&#xA;        &lt;/div&gt;&#xA;    &lt;/form&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;section id=&#34;search-results&#34; class=&#34;hide-element&#34;&gt;&#xA;    &lt;div id=&#34;search-results-header&#34;&gt;&#xA;        &lt;div class=&#34;search-query search-query-right&#34;&gt;&#xA;            &lt;span id=&#34;results-count-text&#34;&gt;Found results:&lt;/span&gt;&#xA;            &lt;span id=&#34;results-count&#34;&gt;&lt;/span&gt;&#xA;        &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div id=&#34;search-results-body&#34; class=&#34;post-list&#34;&gt;&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;template&gt;&#xA;    &lt;article class=&#34;post&#34; data-score=&#34;&#34;&gt;&#xA;        &lt;header&gt;&#xA;            &lt;h2 class=&#34;post-title&#34;&gt;&#xA;                &lt;a href=&#34;#&#34; class=&#34;search-result-page-title&#34;&gt;&lt;/a&gt;&#xA;            &lt;/h2&gt;&#xA;        &lt;/header&gt;&#xA;        &lt;p class=&#34;post-content&#34;&gt;&lt;/p&gt;&#xA;    &lt;/article&gt;&#xA;&lt;/template&gt;&#xA;    &lt;script src=&#34;https://flowingpurplecrane.com/js/lunr-bundle.min.075d2351aafced334f2ffeadda269cc16914240c72c0a74c7b4c6608768844c6.js&#34; integrity=&#34;sha256-B10jUar87TNPL/6t2iacwWkUJAxywKdMe0xmCHaIRMY=&#34;&gt;&lt;/script&gt;&#xA;    &lt;script src=&#34;https://flowingpurplecrane.com/js/search-bundle.c28f374c2c58176970dff702c5282d5a0ccd92ad8b65e22777de755cc055dfb4.js&#34; integrity=&#34;sha256-wo83TCxYF2lw3/cCxSgtWgzNkq2LZeInd951XMBV37Q=&#34;&gt;&lt;/script&gt;</description>
			</item>
			<item>
				<title>Thank you</title>
				<link>https://flowingpurplecrane.com/thanks/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>zl559@cam.ac.uk (Zihe Liu)</author>
				<guid>https://flowingpurplecrane.com/thanks/</guid>
				<description>&lt;p&gt;Your message will be sent within a short time.&#xA;We&amp;rsquo;ll answer as soon as possible.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://flowingpurplecrane.com/&#34;&gt;← Back to Home&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
