<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>A Website on [[logs]]</title><link>https://incipit0.github.io/pweb/</link><description>Recent content in A Website on [[logs]]</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 06 Aug 2026 17:27:17 +0100</lastBuildDate><atom:link href="https://incipit0.github.io/pweb/index.xml" rel="self" type="application/rss+xml"/><item><title>Teaching</title><link>https://incipit0.github.io/pweb/teaching/</link><pubDate>Thu, 06 Aug 2026 17:27:17 +0100</pubDate><guid>https://incipit0.github.io/pweb/teaching/</guid><description>&lt;p&gt;I supervise some CST courses at Cambridge, for example:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.cl.cam.ac.uk/teaching/current/OpSystems/"&gt;Part IA Operating Systems&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am happy to supervise Part II/III projects, either suggested by me (to be added),
or if you have a proposal that aligns with both of our interest, feel free to
reach out to me (contact details on the homepage). In general I am interested in
systems projects such as distributed algorithms, database systems or operating
systems. To get an idea of the past work that I have done, have a read of
the &lt;a href="../posts/hypermnesia"&gt;hypermnesia&lt;/a&gt; or &lt;a href="../posts/erlog.md"&gt;erlog&lt;/a&gt; projects
I have done.&lt;/p&gt;</description></item><item><title>Proof System Case Study</title><link>https://incipit0.github.io/pweb/posts/proof-system-study/</link><pubDate>Sat, 30 Mar 2024 23:50:10 +0000</pubDate><guid>https://incipit0.github.io/pweb/posts/proof-system-study/</guid><description>A brief study of formally verified systems</description></item><item><title>System Proof 101</title><link>https://incipit0.github.io/pweb/posts/system-proof-101/</link><pubDate>Sat, 23 Mar 2024 17:48:35 +0000</pubDate><guid>https://incipit0.github.io/pweb/posts/system-proof-101/</guid><description>A introductory blog on formal verification of systems</description></item><item><title>Core Dump of S-REPLS 14</title><link>https://incipit0.github.io/pweb/posts/s-repls14/</link><pubDate>Fri, 08 Mar 2024 23:38:17 +0000</pubDate><guid>https://incipit0.github.io/pweb/posts/s-repls14/</guid><description>&lt;p&gt;This is a very high level summary of the experience attending
&lt;a href="https://www.cl.cam.ac.uk/events/s-repls14/"&gt;S-REPLS 14&lt;/a&gt;.
Feel free to look at the respective website of the speakers for more details.
To keep this blog concise, I thought I would just use introductory examples where
possible to illustrate the idea rather than going into the actual theory behind them.&lt;/p&gt;
&lt;h2 id="graded-types-and-algebraic-effects"&gt;Graded types and algebraic effects&lt;/h2&gt;
&lt;p&gt;Graded type system is based on the idea of linear types. Linear types essentially
allows one to restrict the usage of variables exactly once, which can be useful
for resource management such as IO. Graded types go further than this and allows one
to specify the number of times a variable can be used. For example, in the following
code&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;, the variable &lt;code&gt;a&lt;/code&gt; needs to be used exactly twice.&lt;/p&gt;</description></item><item><title>Making sense of adjunctions</title><link>https://incipit0.github.io/pweb/posts/adjunctions/</link><pubDate>Fri, 03 Nov 2023 19:53:38 +0000</pubDate><guid>https://incipit0.github.io/pweb/posts/adjunctions/</guid><description>&lt;p&gt;When I first encountered the concept of an adjunction, I got quite confused as
to what it is, and why it is useful: Just how on earth is a left adjoint of a functor?
What&amp;rsquo;s the matter of a free and forgetful functor, why is free left to forgetful
but not the other way round. That&amp;rsquo;s where this blog comes from. I hope this blogpost
can help demystify adjunction for you a little bit.&lt;/p&gt;</description></item><item><title>Monad in programming and category theory</title><link>https://incipit0.github.io/pweb/posts/monad/</link><pubDate>Tue, 24 Oct 2023 23:48:44 +0100</pubDate><guid>https://incipit0.github.io/pweb/posts/monad/</guid><description>A monoid in the category of monad tutorials</description></item><item><title>Hypermnesia: Eventual Consistency in Mnesia</title><link>https://incipit0.github.io/pweb/posts/hypermnesia/</link><pubDate>Tue, 06 Jun 2023 19:26:33 +0100</pubDate><guid>https://incipit0.github.io/pweb/posts/hypermnesia/</guid><description>Extending Mnesia with automatic reconciliation</description></item><item><title>Erlog: A Distributed Datalog Engine</title><link>https://incipit0.github.io/pweb/posts/erlog/</link><pubDate>Sun, 16 Apr 2023 19:53:43 +0000</pubDate><guid>https://incipit0.github.io/pweb/posts/erlog/</guid><description>Showcasing a project on building a distributed Datalog engine in Erlang</description></item><item><title>🥖</title><link>https://incipit0.github.io/pweb/bread/</link><pubDate>Thu, 09 Mar 2023 18:40:50 +0000</pubDate><guid>https://incipit0.github.io/pweb/bread/</guid><description>&lt;blockquote&gt;
&lt;p&gt;“Sir, give us this bread always.”&lt;/p&gt;
&lt;p&gt;&amp;ldquo;I am the bread of life; whoever comes to me shall not hunger, and whoever believes in me shall never thirst. &amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The thief comes only to steal and kill and destroy. I came that they may have
life and have it abundantly.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Contact</title><link>https://incipit0.github.io/pweb/contact/</link><pubDate>Sun, 08 Jan 2023 21:05:05 +0000</pubDate><guid>https://incipit0.github.io/pweb/contact/</guid><description>&lt;p&gt;Feel free to reach me on:&lt;/p&gt;</description></item><item><title>About</title><link>https://incipit0.github.io/pweb/about/</link><pubDate>Wed, 27 Jul 2022 09:01:33 +0100</pubDate><guid>https://incipit0.github.io/pweb/about/</guid><description>&lt;p&gt;Hello, my name is Shuntian Liu, and I typically go by Vincent. But feel free to
address me with either of the name :)&lt;/p&gt;
&lt;p&gt;I am a PhD student studying Computer Science @ University of Cambridge, supervised
by &lt;a href="https://martin.kleppmann.com/"&gt;Martin Kleppmann&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am interested in the development of distributed systems, database systems,
&lt;a href="https://github.com/xapi-project/xen-api"&gt;virtualisation&lt;/a&gt;,
as well as some theoretical parts such as model checking, type theory and denotational
semantics.&lt;/p&gt;
&lt;p&gt;Feel free to reach out if you want to discuss anything in my posts.&lt;/p&gt;</description></item><item><title>Equivalence of proof techniques in proving the fixpoint properties</title><link>https://incipit0.github.io/pweb/posts/fixpoint/</link><pubDate>Thu, 30 Jun 2022 08:59:42 +0100</pubDate><guid>https://incipit0.github.io/pweb/posts/fixpoint/</guid><description>&lt;p&gt;&lt;a href="https://www.cl.cam.ac.uk/teaching/current/DenotSem/"&gt;Denotational Semantics&lt;/a&gt; is
a unique course offered by the Computer Lab at UoC. It can be intimidating at first
glance but at the same time bring you lots of fun and frustration at the same time.
In this blog post we will look at three proof techniques in domain theory and investigate the connections between them.&lt;/p&gt;
&lt;p&gt;In this blog we look at three techniques that can be used to prove the fixpoint
of a function, namely, Tarski&amp;rsquo;s fixpoint theorem, lfp1 + lfp2 and Scott induction.
We will show that they are equivalent to each other by working on an example.&lt;/p&gt;</description></item></channel></rss>