<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://zhangshengjie.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://zhangshengjie.com/" rel="alternate" type="text/html" /><updated>2026-04-24T10:26:37+08:00</updated><id>https://zhangshengjie.com/feed.xml</id><title type="html">sisyphus.club</title><subtitle>A personal blog by Zhang Shengjie.</subtitle><author><name>Zhang Shengjie</name></author><entry><title type="html">Welcome</title><link href="https://zhangshengjie.com/2026/04/21/welcome/" rel="alternate" type="text/html" title="Welcome" /><published>2026-04-21T12:00:00+08:00</published><updated>2026-04-21T12:00:00+08:00</updated><id>https://zhangshengjie.com/2026/04/21/welcome</id><content type="html" xml:base="https://zhangshengjie.com/2026/04/21/welcome/"><![CDATA[<p>This is the first post on <code class="language-plaintext highlighter-rouge">sisyphus.club</code> — a sparse, monochrome journal about the things I’m working on: iOS apps, Raspberry Pi firmware, the little glue code in between, and whatever else is pushing uphill.</p>

<h2 id="why-this-exists">Why this exists</h2>

<p>Most of what I build lives as scattered repos, half-finished notes, and screenshots on my phone. A blog forces me to finish a thought all the way through.</p>

<h2 id="what-to-expect">What to expect</h2>

<ul>
  <li><strong>iOS &amp; Swift.</strong> On-device experiments, Liquid Glass, Bluetooth plumbing.</li>
  <li><strong>Embedded.</strong> Raspberry Pi, BLE GATT, audio pipelines.</li>
  <li><strong>Tooling.</strong> Shell scripts, Caddy configs, tiny infrastructure wins.</li>
</ul>

<h2 id="a-code-sample">A code sample</h2>

<p>Here’s a tiny Swift snippet to confirm the syntax highlighting works. The label at the top is rendered by CSS, not by Jekyll:</p>

<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">Foundation</span>

<span class="kd">struct</span> <span class="kt">Boulder</span> <span class="p">{</span>
    <span class="k">let</span> <span class="nv">mass</span><span class="p">:</span> <span class="kt">Double</span>
    <span class="k">var</span> <span class="nv">height</span><span class="p">:</span> <span class="kt">Double</span>

    <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">pushUphill</span><span class="p">(</span><span class="n">_</span> <span class="nv">distance</span><span class="p">:</span> <span class="kt">Double</span><span class="p">)</span> <span class="p">{</span>
        <span class="n">height</span> <span class="o">+=</span> <span class="n">distance</span>
    <span class="p">}</span>
<span class="p">}</span>

<span class="k">var</span> <span class="nv">rock</span> <span class="o">=</span> <span class="kt">Boulder</span><span class="p">(</span><span class="nv">mass</span><span class="p">:</span> <span class="mi">80</span><span class="p">,</span> <span class="nv">height</span><span class="p">:</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">for</span> <span class="n">_</span> <span class="k">in</span> <span class="mi">0</span><span class="o">..&lt;</span><span class="mi">10</span> <span class="p">{</span> <span class="n">rock</span><span class="o">.</span><span class="nf">pushUphill</span><span class="p">(</span><span class="mf">1.0</span><span class="p">)</span> <span class="p">}</span>
<span class="nf">print</span><span class="p">(</span><span class="n">rock</span><span class="o">.</span><span class="n">height</span><span class="p">)</span>  <span class="c1">// 10.0 — until it rolls back</span>
</code></pre></div></div>

<p>And a shell command:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bundle <span class="nb">exec </span>jekyll serve <span class="nt">--livereload</span>
</code></pre></div></div>

<p>That’s all for now. More soon.</p>]]></content><author><name>Zhang Shengjie</name></author><category term="meta" /><summary type="html"><![CDATA[This is the first post on sisyphus.club — a sparse, monochrome journal about the things I’m working on: iOS apps, Raspberry Pi firmware, the little glue code in between, and whatever else is pushing uphill.]]></summary></entry></feed>