Xheldon Blog

The Answer to Life, the Universe and Everything is...

Announcement of New Blog Address

Previously, technical articles were hosted under the www domain, while lifestyle content was placed under the 42 domain, making maintenance quite cumbersome. Additionally, I was drawn to this blog ...

Forward and Reverse Proxies in Nginx

Everything stems from ignorance

The Origin of This Article Because folder/file names cannot contain colons, I mistakenly thought Chrome couldn’t use its Override feature for URLs with port numbers. As a result, I planned to modif...

2020 Beijing Home Purchase Record

Documenting the tumultuous journey and emotional process from planning to purchase a home in Chengdu's High-Tech Zone/Tianfu New District in 2018, to ultimately being forced to buy a home in Beijing in 2021.

Preface In 2018, inspired by my girlfriend (now my wife), I began considering leaving Beijing and started looking for a suitable second-tier city to relocate to. After ruling out Zhengzhou, Wuhan, ...

Steamed Perch

Delicious yet easy to make

Ingredients 1 sea bass, about 1.2–1.5 catties for two people 2 spring onions 1 lemon 2 tablespoons fish sauce 1 teaspoon sugar 2 grams salt 3 garlic cloves Chopped chili or bird’s eye chili Prepa...

How to Simply Cook a Bowl of Rice

Simple yet full of details

Ingredients Rice Water Utensils Rice cooker Preparation For one person, about 180ml is sufficient. Women may prefer 100–150ml, while I use 180ml. For two people, double the amount, and so on: ...

Pork Ribs with Chinese Cabbage and Glass Noodles Stew

Northeastern Cuisine: Just Braise It~

Ingredients 1.5 jin (750g) of pork ribs (spare ribs/small ribs) – preferably small ribs. The ones I bought weren’t (cheaper option), so there were too many bones and not enough meat. Scallions Sic...

Twice-Cooked Pork

My Favorite Sichuan Dish

Ingredients 1 pound of pork belly 5 stalks of garlic chives Scallion, ginger, garlic cloves 5-6 Sichuan peppercorns, 3 small chili peppers, 2 small spoons of fermented bean paste 10 grams of cooki...

Blog Optimization Tips

Preface Earlier, I wrote an article titled Notes on Domain Optimization Configuration for This Blog], some of the methods mentioned in it are no longer in use. Meanwhile, I’ve added new techniques ...

Free Use of Private Repositories for GitHub Pages Publishing

Preface Recently, I explored using GitHub Pages in conjunction with GitHub Actions and found it highly suitable for my personal blog scenario, hence this article. Previously, my blog directly store...

"Cooperative Editing Implementation in ProseMirror"

If I don’t understand something in translation, I’ll just post the original text and translate it later when I figure it out, to avoid misleading others and becoming a laughingstock.

This blog post describes the collaborative editing technology used in ProseMirror]. For an introduction to ProseMirror, you can check here. The Problem of Collaborative Editing A real-time collabor...

My Digital Life

"The most important thing in the 21st century is not to waste time on meaningless things."

Preface Living in the digital age, we encounter far too many inefficient and poorly designed software/services that not only waste time but also drain our energy (e.g., frustration, impatience, or ...

New Year's Trip to Japan 2020

"Japan truly is a magical country," my wife said.

Preface After getting together with my wife, we had never traveled abroad. She often went on international trips, but I had never left the country. So, we planned to take a trip abroad during the N...

Testing ES6 Modules with Sinon

Over the past week, while fixing legacy tests, I encountered some issues when using Sinon, so I decided to document them here.

Preface Although the following only discusses Sinon’s spy interface, it equally applies to interfaces like stub. The tests utilize the Mocha Sinon Chai libraries/frameworks, which won’t be intro...

Switching from Evernote to Apple's built-in Notes app

Preface I have a cleanliness obsession with note-taking apps—only one app of the same category is allowed, and it must meet the following requirements. If your needs differ, feel free to stop readi...

Data Structures and Algorithms in JavaScript

Preface Although I know I’ve worked hard and even joined big companies, I’ve always felt weak in the fundamentals of computer science. Since I don’t have a formal academic background in this field,...

Linux File Permission Cheat Sheet

This blog post was originally written while learning Linux basics and has been migrated from an old WordPress blog.

Preface Frequent command-line users often notice files preceded by a 10-character string -rw-r--r--, which represents the operational permissions for different user groups on the current file/folde...

Understanding Pointers in C Language Correctly

This post is a blog I wrote when first learning the C programming language, recovered from my old WordPress blog.

Preface Beginners often feel confused about pointers when learning C. Below, I’ll share my understanding of them. Clarifying a Few Questions First The Essence of Variables The essence of a variable...

2018 Winter Job Hunting Experience

Preface My interview experience is quite limited. Aside from the most recent interviews in 2018, the first two companies I worked for extended offers after just one interview, and I accepted them d...

"Translated" ProseMirror Chinese Guide

All documents or manual API descriptions mentioned in this article can be viewed at https://prosemirror.xheldon.com/docs/ref/.

Content pointing to the https://prosemirror.xheldon.com domain can be accessed in English by replacing it with https://prosemirror.net. Translation Notes: The work requires using ProseMirror, bu...

Yes, three years later, I've started updating this little blog again.

![头图](<%= config.static_url %>/img/in-post/2019/kruger.png) Preface I first started this blog back in 2015 using WordPress. However, due to the inconsistent quality of themes and my lack of P...