<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Shaojia@Blog</title><link>https://zhangshaojia07.github.io/</link><description>Recent content on Shaojia@Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 10 Feb 2026 17:22:38 +0800</lastBuildDate><atom:link href="https://zhangshaojia07.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Which Shapes Are Reachable in Shapez?</title><link>https://zhangshaojia07.github.io/posts/20260210-shapez-reachability/</link><pubDate>Tue, 10 Feb 2026 17:22:38 +0800</pubDate><guid>https://zhangshaojia07.github.io/posts/20260210-shapez-reachability/</guid><description>&lt;div style="float: right; margin: 0 0 10px 15px;"&gt;
&lt;iframe width="250" height="100" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A891432268&amp;color=%23e8c45c&amp;auto_play=false&amp;hide_related=true&amp;show_comments=false&amp;show_user=false&amp;show_reposts=false&amp;show_teaser=false"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Ever since Christmas 2024, when I was still preparing for the &lt;abbr title="National Olympiad in Informatics "&gt;NOI&lt;/abbr&gt; Provincial Team Selection Competition (which I would later fail), I had already completed the game Shapez&lt;cite&gt;&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;&lt;/cite&gt; and built a working Everything Machine. Well, accurately speaking, not &lt;em&gt;every&lt;/em&gt; shape can be made from it. It’s designed for random 4-layer full shapes, the kind you get in freeplay&lt;cite&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/cite&gt; (so e.g., &lt;a href="https://shapezio.fandom.com/wiki/Level_26"&gt;rocket shape&lt;/a&gt; is excluded). Since then, I&amp;rsquo;ve been fixated on making a genuine Everything Machine that supports any layer count and fills in the void spaces inside shapes. So the first thing I needed to do was figure out which shapes could actually be built using stackers, rotators, and cutters. I even had a dream back then: if I could fully solve the reachability problem (preferably with an efficient algorithm), I could turn it into an OI problem.&lt;/p&gt;</description></item><item><title>Fisheye Perspective Demos</title><link>https://zhangshaojia07.github.io/posts/20260209-fisheye-perspective-demos/</link><pubDate>Mon, 09 Feb 2026 11:38:24 +0800</pubDate><guid>https://zhangshaojia07.github.io/posts/20260209-fisheye-perspective-demos/</guid><description>&lt;p&gt;Originally I scrolled through videos on &lt;a href="https://www.bilibili.com/"&gt;Bilibili&lt;/a&gt;. I found a controversial topic about how to correctly draw a fish-eye perspective picture. Some claim that grid lines are distorted to perfect circles, while others believe ellipses are the correct way to draw it. From what I&amp;rsquo;ve seen, most artists believe drawing circles is the answer or only teach it. It makes sense since drawing a circle on the paper is way easier than an ellipse.&lt;cite&gt;&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;&lt;/cite&gt;&lt;/p&gt;</description></item><item><title>Showcase</title><link>https://zhangshaojia07.github.io/showcase/</link><pubDate>Fri, 06 Feb 2026 20:31:17 +0800</pubDate><guid>https://zhangshaojia07.github.io/showcase/</guid><description>&lt;p&gt;This article offers a sample of basic Markdown and LaTeX syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.&lt;/p&gt;</description></item><item><title>Notes on IMO 2025</title><link>https://zhangshaojia07.github.io/posts/20260206-notes-on-imo-2025/</link><pubDate>Fri, 06 Feb 2026 19:21:39 +0800</pubDate><guid>https://zhangshaojia07.github.io/posts/20260206-notes-on-imo-2025/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This post was originally posted on &lt;a href="https://www.cnblogs.com/shaojia/p/18988977"&gt;my Cnblogs&lt;/a&gt; in summer 2025.&lt;br&gt;
I recently felt like reviewing it again, so I decided to translate it into English and polish it a little.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: I&amp;rsquo;m not a math-specialized student and I&amp;rsquo;ve never actually competed in math olympiads.&lt;br&gt;
This article may contain obvious mistakes or non-rigorous steps. I only managed to solve Problems 1, 4, and 6, so these are the only ones covered here.&lt;/p&gt;</description></item><item><title>About</title><link>https://zhangshaojia07.github.io/about/</link><pubDate>Thu, 05 Feb 2026 20:30:17 +0800</pubDate><guid>https://zhangshaojia07.github.io/about/</guid><description>&lt;fieldset&gt;
&lt;legend&gt;DATA ACQUISITION FORM&lt;/legend&gt;
&lt;div style="display: flex; flex-wrap: wrap; gap: 1.5rem 0.5rem;"&gt;
 &lt;div style="flex: 0 0 6rem"&gt;
 &lt;label&gt;First Name&lt;/label&gt;
 &lt;div&gt;
 &lt;input type="text" value="Shaojia" readonly style="display: block; width: 100%; height: 38px; box-sizing: border-box;"&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 6rem"&gt;
 &lt;label&gt;Last Name&lt;/label&gt;
 &lt;div&gt;
 &lt;input type="text" value="Zhang" readonly style="display: block; width: 100%; height: 38px; box-sizing: border-box;"&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 8rem"&gt;
 &lt;label&gt;Year of Birth&lt;/label&gt;
 &lt;div&gt;
 &lt;input type="number" value="2007" readonly style="display: block; width: 100%; height: 38px; box-sizing: border-box;"&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 17rem"&gt;
 &lt;label&gt;Place of Birth&lt;/label&gt;
 &lt;a href="https://maps.app.goo.gl/G6p9U3zakjPKdMEL7"&gt;
 &lt;input type="text" value="Hangzhou, Zhejiang, China" readonly style="display: block; width: 100%; height: 38px; box-sizing: border-box;"&gt;
 &lt;/a&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 15rem"&gt;
 &lt;label&gt;Email Address&lt;/label&gt;
 &lt;div&gt;
 &lt;input type="text" value="tomzhangshaojia@qq.com" readonly style="display: block; width: 100%; height: 38px; box-sizing: border-box;"&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 10rem"&gt;
 &lt;label&gt;Github Account&lt;/label&gt;
 &lt;div&gt;
 &lt;input type="text" value="zhangshaojia07" readonly style="display: block; width: 100%; height: 38px; box-sizing: border-box;"&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 40rem"&gt;
 &lt;label&gt;Education Level&lt;/label&gt;
 &lt;div style="display: flex; align-items: center; gap: 1.2rem; flex-wrap: nowrap;"&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled/&gt; Primary
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled/&gt; Secondary
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled checked/&gt; Undergraduate
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled/&gt; Postgraduate
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;/label&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 24rem"&gt;
 &lt;label&gt;Linguistic Proficiency&lt;/label&gt;
 &lt;div style="display: flex; align-items: center; gap: 1.2rem; flex-wrap: nowrap;"&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled checked/&gt; Chinese
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled checked/&gt; English
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled/&gt; Others
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;/label&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div style="flex: 0 0 30rem"&gt;
 &lt;label&gt;Programming Languages&lt;/label&gt;
 &lt;div style="display: flex; align-items: center; gap: 1.2rem; flex-wrap: nowrap;"&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled checked/&gt; C++
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled checked/&gt; Python
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled checked/&gt; JavaScript
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;input type="checkbox" disabled/&gt; Others
 &lt;/label&gt;
 &lt;label style="display: flex; align-items: center; gap: 0.4rem; white-space: nowrap;"&gt;
 &lt;/label&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Hello World</title><link>https://zhangshaojia07.github.io/posts/hello-world/</link><pubDate>Thu, 05 Feb 2026 19:43:07 +0800</pubDate><guid>https://zhangshaojia07.github.io/posts/hello-world/</guid><description>&lt;p&gt;Hello, world.&lt;/p&gt;
&lt;p&gt;This is the very first article on my new independent blog, built with Hugo and the Terminal theme.&lt;/p&gt;
&lt;p&gt;For the past few years most of my writing has been on &lt;a href="https://www.cnblogs.com/shaojia"&gt;Cnblogs&lt;/a&gt; and &lt;a href="https://www.luogu.com.cn/user/101868/article"&gt;Luogu Blog&lt;/a&gt;, which are both in Simplified Chinese. From now on, the focus of my blog updates will no longer be on these two platforms. This time I&amp;rsquo;m starting a new space where I plan to write primarily in English.&lt;/p&gt;</description></item></channel></rss>