This site was first launched on April 4, 2023. It's young, but it keeps changing.
From Docusaurus at the very beginning to a later migration to Mix Space, this little corner of the internet has witnessed how I've changed over the years and captured some life, thoughts, tinkering, and the occasional moment worth keeping.
I originally built this site simply because I wanted a place to record my life.
I rarely post to WeChat Moments. Since this kind of content may go on forever, and unlike social platforms that could one day be sold, acquired, or even shut down, I'd rather keep these precious records somewhere I can fully control.
That's exactly why this website exists.
There's no single clear theme here.
It might be a research-related note, or a record left over from tinkering with a server; it might be about solving a software problem, or simply a moment in life that felt worth keeping.
I used to think that only content valuable enough was worth writing down. Over time, I've come to feel that the act of recording itself already has meaning.
The older I get, the busier I am, and my head is full of all kinds of complicated things. Many moments worth remembering would probably be truly forgotten after a few years if I hadn't written them down at the time. So I've turned this place into a personal long-term archive:
It records what I've done, what I've learned, and what I've loved, as well as how I got to where I am today, step by step.
In the early days of this site, I also thought it could double as some English writing practice, so for quite a long time the site was written mostly in English.
These days, though, I no longer deliberately restrict the language. Technical, research, and casual notes may stay in English, while travelogues, everyday life, and anything that reads better in Chinese will simply be written in Chinese.
After all, most of the people who actually make it here are Chinese readers, and the new Mix Space already supports AI auto-translation of articles into multiple languages — so I'll leave the i18n to the AI.
As for the website itself, I'm highly skilled at copy and paste, and I've deployed quite a few open-source projects relying on these two skills.
Most of them are small tools, services, or experimental projects I'm interested in myself, and some of them can be found on this site.
That said, copy and paste are a thing of the past now—these days I get everything done by expertly "driving" Codex.
Timeline
2023-04-04: First encountered Docusaurus. I redesigned the pages to fit my needs, picked ShanghaiTech red as the theme color, and finally deployed the site on GitHub Pages. This was the beginning of this site.
2023-04-07: Added a comment feature to the static pages.
2023-04-07: Tried adding a zoom feature for images on the pages, but dropped it due to some weird bugs.
2023-07-16: Redesigned the site pages.
2023-10-20: Found a domain name that fit my taste perfectly: xu.doAt the time, the domain was held by Wu Hongsheng, founder of DNSPod, and was expected to expire in two months, so I started keeping an eye on it.
2023-11-29:xu.do The domain was renewed by its original owner, so I switched to the current one: xxu.do
2024-01-07: Migrated the site from Docusaurus to Mix Space, using Shiro as the frontend theme.
2024-02-18: Since Shiro updates fairly frequently, I decided to give up on fully localizing the frontend into English, to avoid re-maintaining the entire set of English translations on every update.
After that, some content continued to be written in English, while travelogues, life records, and other content where the reading experience matters more gradually moved to Chinese.
2025-04-18: As the blog's original content structure was gradually getting messy, and I also wanted to add some tutorials that are private or serve different purposes, I reorganized the Articles, Notes, Columns, and the tag system.
2025-04-19: Since the original server expired, I redeployed the Mix Space backend and switched the frontend to be built and deployed automatically through GitHub Actions.
2026-08:
Mix Space backend updated to v14, frontend upgraded to Yohaku
Enabled Companion to report on processes
Added the TMDB API to render related pages
Updated some page content
About Mix Space
Previously, I had been using Docusaurus to build my website.
Docusaurus itself is excellent, especially for documentation sites, but for a personal blog, the purely static workflow gradually started to feel a bit inconvenient to me.
At the time, the site was deployed on GitHub Pages, and every content update required going through a flow like this:
编辑 → Git 提交 → Push → GitHub Actions 构建 → 部署
There's nothing wrong with this approach, but as content kept growing, I gradually realized it didn't quite suit my own habits.
The main problems were:
Content could basically only be updated from a computer
Every change required rebuilding the site
Content management was tightly coupled with the site's code
Features like comments and dynamic content often required integrating third-party services
As a “personal space”, Docusaurus's structure still leans more toward a documentation system
So I kept looking for a solution better suited to maintaining a personal site over the long term.
Mix Space's design philosophy is very close to what I need: it isn't just a blogging program, but more like a backend system built for personal content.
A few of its features I particularly like:
Fully decoupled frontend and backend
Content can be published in real time without rebuilding the whole site every time
Fairly complete content types, like articles, notes, columns, and status updates
A great fit for a personal space maintained over the long term
Complete API, so you can develop or replace the frontend yourself
A rich frontend ecosystem
The project is still actively updated
The site's frontend has gone through Shiro and now uses Yohaku.
About Server Configuration
When I first deployed Mix Space, I was somewhat confused about the server configuration it needed.
The official docs once listed a fairly low minimum memory requirement, but in practice, a 1-core 1 GB server can struggle even when it runs only the backend.
Over the years, this site has used:
1C1G
1C2G
2C2G
4C4G
Different versions of Mix Space, MongoDB / Redis configurations, Docker environments, and traffic volumes all affect actual resource usage, so I won't give a so-called “minimum recommended configuration” here.
For personal use, I'd lean toward starting at around 2C2G and then deciding whether to adjust based on actual resource usage.
This is just this site's actual deployment experience, not official hardware advice from Mix Space.
For readers' reference: the backend currently runs on a 2C2G server, and the frontend is compiled with GitHub Actions and then pushed to the server for deployment.
User Notes
Comments
This site has comments enabled. You can talk with me or other visitors through comments, but please note the following:
Do not impersonate Party and state leaders, public figures, or other individuals by using their real names
Do not use nicknames that contain insults, discrimination, obscenity, or other clearly inappropriate content
Do not use the names of state agencies, schools, companies, or other organizations without permission
Comments that are illegal, spammy, advertising, or clearly against the site's rules may be blocked or deleted
Unless there are special circumstances, comments you leave may be kept on this site for a long time, so please confirm the content is appropriate for public viewing before posting
Content Guidelines
When using this site's comments and related interactive features, please comply with the laws and regulations that apply where you are, and do not use this site to publish, display, or spread:
Illegal content
False or maliciously misleading content
Content that infringes on others' lawful rights and interests
Spam ads or malicious promotion
Content that clearly disrupts normal discussion
This site doesn't encourage replies that carry no real substance, such as “ding”, “sofa”, “front row”, “leaving a mark”, “just passing by”, or “no idea but sounds impressive”.
Also, please don't bulk-send raw, unedited AI-generated content to the comment section.
If any content on this site involves your lawful rights or raises copyright issues, you can reach me through the contact details provided on this site, and I'll handle it according to the specific situation.
Epilogue
If you have any suggestions for this site, feel free to leave them in the comments.
This site will keep changing.
A few years from now, looking back, the words left here today will become a kind of time capsule of myself.
This place records, appreciates, and reveres all beautiful things.
Introduction
This site was first launched on April 4, 2023. It's young, but it keeps changing.
From Docusaurus at the very beginning to a later migration to Mix Space, this little corner of the internet has witnessed how I've changed over the years and captured some life, thoughts, tinkering, and the occasional moment worth keeping.
I originally built this site simply because I wanted a place to record my life.
I rarely post to WeChat Moments. Since this kind of content may go on forever, and unlike social platforms that could one day be sold, acquired, or even shut down, I'd rather keep these precious records somewhere I can fully control.
That's exactly why this website exists.
There's no single clear theme here.
It might be a research-related note, or a record left over from tinkering with a server; it might be about solving a software problem, or simply a moment in life that felt worth keeping.
I used to think that only content valuable enough was worth writing down. Over time, I've come to feel that the act of recording itself already has meaning.
The older I get, the busier I am, and my head is full of all kinds of complicated things. Many moments worth remembering would probably be truly forgotten after a few years if I hadn't written them down at the time. So I've turned this place into a personal long-term archive:
It records what I've done, what I've learned, and what I've loved, as well as how I got to where I am today, step by step.
In the early days of this site, I also thought it could double as some English writing practice, so for quite a long time the site was written mostly in English.
These days, though, I no longer deliberately restrict the language. Technical, research, and casual notes may stay in English, while travelogues, everyday life, and anything that reads better in Chinese will simply be written in Chinese.
After all, most of the people who actually make it here are Chinese readers, and the new Mix Space already supports AI auto-translation of articles into multiple languages — so I'll leave the i18n to the AI.
As for the website itself, I'm highly skilled at copy and paste, and I've deployed quite a few open-source projects relying on these two skills.
Most of them are small tools, services, or experimental projects I'm interested in myself, and some of them can be found on this site.
That said, copy and paste are a thing of the past now—these days I get everything done by expertly "driving" Codex.
Timeline
2023-04-04: First encountered Docusaurus. I redesigned the pages to fit my needs, picked ShanghaiTech red as the theme color, and finally deployed the site on GitHub Pages. This was the beginning of this site.
2023-04-07: Added a comment feature to the static pages.
2023-04-07: Tried adding a zoom feature for images on the pages, but dropped it due to some weird bugs.
2023-07-16: Redesigned the site pages.
2023-10-20: Found a domain name that fit my taste perfectly: xu.doAt the time, the domain was held by Wu Hongsheng, founder of DNSPod, and was expected to expire in two months, so I started keeping an eye on it.
2023-11-29:xu.do The domain was renewed by its original owner, so I switched to the current one: xxu.do
2024-01-07: Migrated the site from Docusaurus to Mix Space, using Shiro as the frontend theme.
2024-02-18: Since Shiro updates fairly frequently, I decided to give up on fully localizing the frontend into English, to avoid re-maintaining the entire set of English translations on every update.
After that, some content continued to be written in English, while travelogues, life records, and other content where the reading experience matters more gradually moved to Chinese.
2025-04-18: As the blog's original content structure was gradually getting messy, and I also wanted to add some tutorials that are private or serve different purposes, I reorganized the Articles, Notes, Columns, and the tag system.
2025-04-19: Since the original server expired, I redeployed the Mix Space backend and switched the frontend to be built and deployed automatically through GitHub Actions.
2026-08:
About Mix Space
Previously, I had been using Docusaurus to build my website.
Docusaurus itself is excellent, especially for documentation sites, but for a personal blog, the purely static workflow gradually started to feel a bit inconvenient to me.
At the time, the site was deployed on GitHub Pages, and every content update required going through a flow like this:
编辑 → Git 提交 → Push → GitHub Actions 构建 → 部署
There's nothing wrong with this approach, but as content kept growing, I gradually realized it didn't quite suit my own habits.
The main problems were:
So I kept looking for a solution better suited to maintaining a personal site over the long term.
Then I came across Mix Space.
Mix Space's design philosophy is very close to what I need: it isn't just a blogging program, but more like a backend system built for personal content.
A few of its features I particularly like:
The site's frontend has gone through Shiro and now uses Yohaku.
About Server Configuration
When I first deployed Mix Space, I was somewhat confused about the server configuration it needed.
The official docs once listed a fairly low minimum memory requirement, but in practice, a 1-core 1 GB server can struggle even when it runs only the backend.
Over the years, this site has used:
Different versions of Mix Space, MongoDB / Redis configurations, Docker environments, and traffic volumes all affect actual resource usage, so I won't give a so-called “minimum recommended configuration” here.
For personal use, I'd lean toward starting at around 2C2G and then deciding whether to adjust based on actual resource usage.
This is just this site's actual deployment experience, not official hardware advice from Mix Space.
For readers' reference: the backend currently runs on a 2C2G server, and the frontend is compiled with GitHub Actions and then pushed to the server for deployment.
User Notes
Comments
This site has comments enabled. You can talk with me or other visitors through comments, but please note the following:
Content Guidelines
When using this site's comments and related interactive features, please comply with the laws and regulations that apply where you are, and do not use this site to publish, display, or spread:
This site doesn't encourage replies that carry no real substance, such as “ding”, “sofa”, “front row”, “leaving a mark”, “just passing by”, or “no idea but sounds impressive”.
Also, please don't bulk-send raw, unedited AI-generated content to the comment section.
If any content on this site involves your lawful rights or raises copyright issues, you can reach me through the contact details provided on this site, and I'll handle it according to the specific situation.
Epilogue
If you have any suggestions for this site, feel free to leave them in the comments.
This site will keep changing.
A few years from now, looking back, the words left here today will become a kind of time capsule of myself.
This place records, appreciates, and reveres all beautiful things.
Site uptime loading…