Blogs

Bought an AirTag

Why I picked up an AirTag, real-world use cases, setup tips, Shortcuts ideas, and why ‘cheap alternatives’ fall short.

Jun 18, 2023

Upgrade Blog Theme: 2.0

This post covers upgrading the blog theme, including workflow and key details, to streamline the process.

Jun 3, 2023

Purchasing AirPods 3

This article discusses purchasing AirPods 3, including usage scenarios, implementation details, etc., to improve efficiency in purchasing AirPods 3.

Jun 2, 2023

ChatGPT iOS App Usage Guide

This article introduces the ChatGPT iOS App usage guide, including advantages, implementation details, and related resources to help improve ChatGPT iOS App usage efficiency.

May 20, 2023

Deploy a Personal chatgpt-telegram-bot

Steps to deploy a private ChatGPT Telegram bot with Docker, plus auto‑restart on config changes.

Apr 26, 2023

Reading the ssh2 HTTPAgent Source Code

Walkthrough of ssh2’s HTTPAgent: how it wraps Node’s Agent classes, establishes SSH tunnels, and handles errors.

Apr 19, 2023

Implementing an Editor Proxy in WebShell

How WebShell implements an editor proxy, including research, architecture, and key implementation points for integrating code-server via SSH and HTTP proxying.

Apr 5, 2023

Frontend Image Compression in WebShell

A quick survey of frontend image compression: MIME checks, resize/quality tradeoffs, formats, Compressor.js, and graceful fallbacks.

Apr 5, 2023

Unofficial AirPods 2 Battery Replacement

This article covers my experience with unofficial AirPods 2 battery replacement, including the reasons, process, and post-repair effects to improve the AirPods user experience.

Apr 5, 2023

OpenAI Embedding Usage

This article introduces the usage of OpenAI Embedding, including its advantages, implementation details, and related resources. These steps can help improve the efficiency of using OpenAI Embedding.

Mar 29, 2023