Archive

161 writings

7 writings

  1. Deep Time: From Fish to Human — Notes After the Exhibition
    Notes after Shanghai’s From Fish to Human exhibition: notochords, jaws, fins, our ties to fish, and the discovery of a living coelacanth in 1938.

    Essay上海12 min

  2. Shanghai Natural History Museum
    Shanghai Natural History Museum on National Day: giant rhinos, a curious lion, familiar experiments, and fossils I only understood after reading more.

    8 min

  1. Two Days in Anshun: Huangguoshu and Longgong
    Four of us traveled from Gui'an to Anshun on a weekend break from training, exploring Huangguoshu's waterfalls and the caves of Longgong, the Dragon Palace.

    Essay安顺19 min

  2. Evaluation Timing of Set Comprehensions vs. Generator Expressions in Python
    Python set comprehensions evaluate immediately; generator expressions are lazy and bind only the outer iterator. Examples show why results diverge after the list changes.

    Python3 min

  3. Notes From Qingcheng Back Mountain
    A hike through Qingcheng Back Mountain with classmates, covering the ride, the trail, and the small scenes along the way.

    Essay成都19 min

  4. Wangjiang Pavilion, Remembered
    I toured Wangjiang Pavilion on June 12, but the write-up dragged; weeks later I scraped together what details I could recall and set them down for later.

    Essay成都16 min

  5. From Qingyang Palace to Baihuatan, Part 2: Inside the Park
    Following Lu You's old route from Qingyang Palace to Baihuatan, through birdsong, lotus flowers, Sichuan opera, and a legend behind the park's name.

    Essay成都8 min

  6. From Qingyang Palace to Baihuatan, Part 1: A Chengdu Riverside Afternoon and Local Lore
    A walk from Qingyang Palace to Baihuatan, with a tabby cat, bird perches, sluice gates, Canglang Bridge, and old stories of Du Fu, Li Bai, and Chengdu.

    Essay成都15 min

  7. Huanhua Creek Notes: Sichuan Museum and Du Fu Thatched Cottage
    A late Chengdu afternoon from Sichuan Museum to Huanhua Creek and Du Fu Thatched Cottage, tying a loose walk to Du Fu's brief peace in the city.

    Essay成都20 min

  8. Let Carapace Handle Nushell External Completions
    Move Nushell external completions to Carapace, use choices and user specs to fix missing brew services completions, and keep Fish bridging out of config.

    ShellNushellCarapace5 min

  9. Migrating From instant.page to the Speculation Rules API
    Migrating from instant.page to the browser-native Speculation Rules API, with notes on prefetch, prerender, side effects, and Swup/PJAX conflicts.

    HexoPerformanceWebSwup8 min

  10. Two Days at Dujiangyan and Mount Qingcheng
    A northwest Chengdu trip through missed tickets, scenic buses, Anlan Bridge, Feishayan, Baopingkou, Guanxian Ancient City, and sleepless Mount Qingcheng.

    Essay成都16 min

  1. Notes on Adding I18n to a Hexo Blog
    Design notes on Hexo i18n — filename conventions for language detection, a permalink filter for path-prefix routing, per-language generators, hreflang, and a language switcher.

    Hexo5 min

  2. Colophon
    How this site is made: writing workflow, design principles, typography and color, and the build-and-deploy stack.

    Blog5 min

  3. Way to Minimalism, Part 1: Meta Bar
    A blog minimalism experiment starting from the article meta bar, tucking fonts, line height, post info, and comments into lighter UI for a quieter page.

    UIUX5 min

  4. Writing a UESTC Graduation Thesis in Typst: Feasibility Check and Pitfalls
    I didn't want to fight Word again for my thesis. Typst looked like an elegant alternative. Here's how I verified the submission rules, used the template, set up VS Code, and struggled with PDF-to-DOCX conversion.

    AITypst11 min

  5. Troubleshooting EdgeOne Pages 404s on Chinese Paths and Migrating Around Them
    A practical log of diagnosing EdgeOne Pages 404s on Chinese paths, migrating URLs, adding redirects, and preserving wiki links and comments.

    Blog6 min

  6. Adding Hot Reload to Hexo
    A lightweight script that makes the Hexo dev server auto-refresh the browser whenever you save a post.

    BlogHexoJavaScriptWorkflow5 min

  7. Spring Day at the Chengdu Botanical Garden
    Notes from an afternoon at the Chengdu Botanical Garden, right after my mid-term defense on April 1st.

    Essay成都12 min

  8. Death Stranding 2 Notes
    Post-100% musings: Latin naming easter eggs, character writing, and music picks

    Games7 min

  9. Chengdu Natural History Museum
    An excellent natural history museum with rich dinosaur fossils and mammal specimens, thoughtful exhibit design and animal mounts — well worth a visit.

    Essay成都9 min

  10. Use Symlinks to Keep LLM Configuration Files in Sync
    Coding agents use different project memory files like AGENTS.md, CLAUDE.md, and GEMINI.md. Symlinks let them share one source of truth.

    OSAgent6 min

  11. Langya Terrace Travel Notes
    Standing alone and prominent above all other hills, with a circumference of over twenty li at its base, overlooking the great sea

    Essay青岛11 min

  12. Use Gum in Nushell Scripts for Better UIUX
    Adding interactive TUI components to shell scripts with Gum, and caveats when using it in Nushell.

    ShellUIUXNushellTUI8 min

  13. Sea World & Panda Base
    February 28 at Qingdao Underwater World, then March 5 at Chengdu Research Base of Giant Panda Breeding.

    Essay成都青岛3 min

  1. Beneath the Wheel
    Reading notes on Hermann Hesse's Beneath the Wheel, and how Hans's story mirrors my own years of exam-driven schooling and burnout.

    EssayBook11 min

  2. Zhushan Xiugu Travel Notes: A Famous Mountain by the Sea
    With my mother, from Zhushan Xiugu to Stone Gate Temple

    Essay青岛10 min

  3. Karabiner Breakage on macOS 26.4 Beta 1 and a Temporary Workaround
    After macOS 26.4 beta tightened HID permissions, Karabiner-Elements keyboard remapping broke. hidutil plus LaunchAgent is a temporary workaround.

    macOS3 min

  4. Write Your Components With Custom Elements API
    Markdown plugins are overkill for simple interactive components. Custom elements give you interactivity without the development friction.

    HTMLFrontEnd7 min

  5. Type Less With Code Snippets
    Developers often face repetitive coding patterns, ranging from standard if/for structures to Go's error handling or HTML boilerplates. This redundancy is inefficient and error-prone. Snippets offer the optimal solution. When you type a short prefix (e.g., if, for), your IDE suggests a completion item that can be expanded into a predefined code template.

    VSCodeWorkflowMarkdownNeovim3 min

  6. UI/UX Terminology
    Why is it called a Radio Button, a Breadcrumb, a Toast? These UI terms trace back to car radios, Grimm's fairy tales, and toasters — metaphors early GUI designers borrowed from the real world.

    WebUIUX17 min

  7. Consolidate Your Project Commands With Just
    Consolidate scattered project commands into a single justfile. Learn how Just simplifies multi-language development workflows with better reusability & documentation.

    TmuxWorkflowMakefileJust8 min

  8. Exploring Progressive Image Loading Techniques
    A deep dive into LQIP, BlurHash, ThumbHash, and other progressive image loading strategies for the web.

    ImageWebUIUXLQIP5 min

  9. Job Control in Nushell
    The Job Control chapter of Effective Shell covers task control in Bash. This post shows how the same ideas work in Nushell.

    ShellWorkflowNushellAsynchronous5 min

  10. HTML Table Overflow Issues
    A simple CSS technique to keep HTML tables within their containers by controlling table layout and text wrapping.

    CSSJavaScriptUIUX4 min

  11. Fix Clickable Hyperlinks in Tmux With Ghostty
    Learn how to fix clickable hyperlinks not working when using tmux in the Ghostty terminal emulator.

    TerminalTmuxGhostty4 min

  12. A Practical Guide to OpenCode
    OpenCode is an open-source AI coding tool with free models like MiniMax 2.1, GLM 4.7, and Grok Code Fast 1. Here are the lessons from my own daily use.

    AgentSkillAI8 min

  13. Blog Changes in 2025
    A running review of 2025 blog changes, covering Markdown rendering, images, themes, fonts, responsive design, and performance work.

    EssayBlog3 min

  14. Web Log. 2026
    Just a running log of 2026.

    Essay4 min

  1. PostBuild With ESBuild & Minify-HTML
    Add a PostBuild step to your static site CI for image compression and CSS/JS minification. This post covers writing a PostBuild script with ESBuild & minify-html.

    PerformanceFrontEndCICD10 min

  2. Streamline Package Development With Bun Link
    Use bun link to debug local libraries and blog themes without repeatedly publishing and reinstalling packages.

    Bun1 min

  1. Optimize Shiki's HTML Output With styleToClass Transformer
    Use Shiki's styleToClass transformer to move inline styles into reusable CSS classes and reduce highlighted HTML size.

    PerformanceCSSCatppuccinShiki4 min

  2. Inline Code Highlighting With Markdown-It & Shiki
    I built markdown-it-inline-code on Nov 20–21, 2025 to highlight inline code. This post covers a preview, usage, and the development story.

    BlogHexoShikiMarkdown5 min

  3. Multi-Theme Blog Design in Hexo: Theme Switching With CSS Variables and the :Where Selector
    How to manage multiple blog themes with CSS variables and the :where selector, including Shiki syntax highlighting theme switching and a FOUC fix.

    BlogHexoCSSWebRicingCatppuccinJavaScriptShikiTheme7 min

  4. Fix Markdown Footnote Jump Overlap With CSS Scroll-Margin-Top
    Fix the common problem where fixed top navbars hide jump targets using scroll-margin-top rule

    BlogCSSWebUIUX2 min

  5. Enable Autocompletion for Lua API With Stub Files
    Configure IDEs to recognize Sketchybar module types for Lua autocompletion in VS Code, Neovim, and JetBrains IDEs.

    VSCodeLuaSketchybarLSPNeovim2 min

  6. Configuring Music Player Daemon (MPD) and Clients on macOS
    This article introduces Music Player Daemon (MPD) and its clients MPC and RMPC for a lightweight, customizable music playback experience on UNIX.

    MusicRicingCatppuccinDotfilesFOSSRustUNIX4 min

  7. Nushell - Cross-Platform
    Encapsulating cross-platform functions and isolating OS-specific configs using Nushell.

    OSLinuxShellWindowsNushellmacOS4 min

  8. Hexo Site Performance Optimization Notes
    Last September I wrote up my Hexo blog performance work. Recently I tackled the remaining issues with another round of optimizations, recorded here as a follow-up.

    BlogHexoPerformanceImageHTMLCSSFontCDN7 min

  9. Tmux Floating Panes: Temporary Tasks Without Context Switching
    Tmux Popup Display/Menu & Floax Plugin

    TerminalProductivityRicingCatppuccinTmuxWorkflowTUI4 min

  10. VSCode Status Bar Ricing
    Customize the VS Code status bar with custom CSS, fonts, item ordering, Vim mode colors, and replacement problem icons.

    CSSVSCodeRicingCatppuccinVim4 min

  11. Blog & OSS CDN Traffic Splitting Between Mainland China and Overseas
    ICP filing approved. A quick record of setting up split CDN routing for domestic and international visitors.

    BlogPerformanceCDNNetworkWebInternetHTTPS7 min

  12. NuShell FFMpeg Utils
    Batch-compressing media files with Nushell to free up OneDrive space.

    TerminalShellPerformanceWorkflowNushellffmpegOnedrive10 min

  1. Shell Inline Editing & Vim/Emacs Keybindings
    A deep dive into inline editing in the terminal — configuring Vi and Emacs keybindings and using an external line editor to speed up your workflow.

    ShellWorkflowNushellVim3 min

  2. Shiki Code Highlighting Test
    How Shiki renders inline code, code blocks, and transformer markers in my Hexo blog, for checking styles and layout edge cases.

    CSSShikiMarkdown4 min

  3. Set System Env-Vars in UNIX
    How to set true system-wide environment variables on macOS with a simple Launch Agent and shell script, so GUI apps and every shell see them.

    OSTerminalLinuxShellNushellmacOS6 min

  4. Understanding HTTPS: Encryption, Certificates, and TLS
    How HTTPS secures web traffic, covering symmetric and asymmetric encryption, digital signatures, CA certificates and chain validation, and the TLS handshake.

    NetworkWebInternetHTTPSTCPSecurity9 min

  5. Understanding Responsive Images: From Pixels to DPR
    🤖 From physical pixels and CSS pixels to PPI and device pixel ratio, then on to responsive images with rendered vs. intrinsic size and srcset descriptors.

    ImageHTMLWebBrowserResponsivesrcsetLCP5 min

  6. I Switched From Fzf to Television: Declarative Channels for Cross-Shell Fuzzy Finding
    A cross-shell fuzzy finder that replaces manual file navigation with intelligent shortcuts. Here's how it works and why it might replace your current setup.

    TerminalShellProductivityWorkflowTUI8 min

  7. IO Multiplexing
    A brief walkthrough of how select, poll, and epoll are implemented.

    OSLinuxNetworkIOFileSocket6 min

  8. Jinji Lake, Suzhou
    Notes from an evening stroll at Jinji Lake on July 1st

    Essay苏州2 min

  9. Lingering Garden, Suzhou
    After picking up lychees, an afternoon photo walk through the Lingering Garden

    Essay苏州园林3 min

  10. Making Web Fast —— LCP Optimization
    🤖 Optimize LCP with preload, fetchpriority, responsive images and srcset. Covers Sharp image processing, CI/CD automation, and preload hints for better Core Web Vitals.

    BlogHexoPerformanceWebBrowserIcarusResponsivesrcsetLCP9 min

  11. VSCode VIM Part I - EasyMotion
    Learn how to enhance VSCode text navigation by setting up EasyMotion with the VSCode Vim extension and LazyVim-like keybindings.

    VSCodeCatppuccinVim3 min

  12. Clean Disk Space in Ubuntu
    Fix apt install errors caused by no free space in /var/cache/apt/archives by locating the full partition and using a temporary cache path.

    OSLinuxUbuntu3 min

  13. Network IO Models
    A walkthrough of the five I/O models on Linux, with C and Java implementations.

    OSLinuxNetworkCfdIOFileSocket13 min

  14. Understanding Python's GIL: The Problems It Solves and the Limits It Imposes
    The GIL is not just why Python threads can't use multiple cores. It is CPython's engineering trade-off among refcounting, the object model, and C extensions.

    ThreadConcurrencyPythonGILAtomicity9 min

  15. GoWall
    Convert wallpapers to specific color schemes such as Catppuccin or Nord with GoWall, and wrap the common command in a small script.

    CLIRicingCatppuccinWallpaper3 min

  16. Decorator @Cached_property
    Study Python's cached_property decorator, how it stores computed values on instances, and where it fits in Django-style code.

    PythonDjangoDecorator3 min

  17. Fixing the 403 Forbidden Error From Keycloak's UserInfo Endpoint
    🤖 Keycloak's UserInfo endpoint returns 403 Forbidden when the Access Token lacks the `openid` scope. Notes on debugging the error through mozilla_django_oidc logs and fixing it by requesting the token with the right scope.

    JWTAuthorizationAuthentication4 min

  18. Linux File System Architecture Introduction
    Explore Linux file system architecture through VFS, ext4/XFS, disk structures, kernel tables, inodes, and file descriptors.

    Linuxfd4 min

  1. Set Git Proxy
    Set up a proxy for Git operations, both for HTTP/HTTPS and SSH connections.

    OSGitSSH2 min

  2. Learn Git Data Structure Design
    A look at Git's data structures — objects, references, and branches. These concepts are the foundation for understanding how Git actually works.

    LinuxGitSVC8 min

  3. Programming Languages Cheat Sheet
    A quick reference for data structures, basic syntax, and essential APIs in Lua, JavaScript, Go, Python, and Java.

    PythonJavaJavaScriptLuaGo27 min

  4. Night Tour of the Master of the Nets Garden, Suzhou
    May 18th

    Essay苏州园林2 min

  5. Spotify Ricing(Spicetify)
    🤖 Transform your Spotify client with custom themes and extensions using Spicetify. This guide walks you through installing Spicetify CLI and Marketplace on Windows, Linux, and MacOS, helping you personalize your music streaming experience with beautiful themes and powerful add-ons. Elevate your desktop aesthetics with minimal effort!

    CSSRicingCatppuccinSpotifySpicetify12 min

  6. Edge for Android Workspace Sync & Ad Blocking
    Compare Edge, Chrome, and Vivaldi on Android, then configure Edge ad blocking, workspace sync, and useful flags for mobile browsing.

    Browser3 min

  7. Humble Administrator's Garden
    Thus I observe the measure of contentment, forsaking ambitions like drifting clouds, building a house and planting trees, free and self-possessed. The ponds suffice for fishing, the harvested grain for farming. Watering the garden and selling vegetables provides for daily meals; tending sheep and brewing cheese awaits the seasons' needs. Filial in devotion, brotherly in bonds — this too is the governance of the unskilled.

    Essay苏州园林3 min

  8. Tiger Hill
    Visiting Tiger Hill on May 2nd

    Essay苏州园林5 min

  9. Use Docker and SSH to Work Around Old Ubuntu Dev Environment Compatibility Issues
    Ubuntu 18.04's glibc is too old for newer VS Code Remote SSH Server and some Node.js binaries. Run the dev environment in Docker and SSH into it.

    LinuxVSCodeDockerSSH8 min

  10. Python Data Structures Cheat Sheet
    A quick reference for Python data structures and their common operations, from lists and dicts to queues and stacks.

    PythonAlgorithm8 min

  11. Installing FastFetch on Ubuntu 18
    Compile and install FastFetch on Ubuntu 18.04 manually, including the steps needed to resolve an outdated CMake version.

    TerminalLinuxUbuntu3 min

  12. How to Install VSCode Extensions Offline: Downloading and Installing VSIX Files
    A practical guide to installing VS Code extensions offline: downloading VSIX files through the official API, installing language packs, handling SSH remote development, and choosing platform-specific packages.

    VSCodeVSIX4 min

  1. Use Medium-Zoom in Hexo Blog
    Integrate medium-zoom into a Hexo blog to replace image-link jumps with an in-page zoom interaction, including Icarus and PJAX notes.

    BlogHexoWebIcarusPjax3 min

  2. Nushell Command Completion Guide
    Configure Nushell command completion with Carapace and Fish for tools like Git and Docker, and choose a completer per command to speed up terminal work.

    ShellWorkflowNushellCarapace4 min

  3. Xiaohongshu Spring Festival Temple Fair - Yiyi Ruyi New Year's Eve
    Xiaohongshu temple fair; collect Spring Festival Shu stickers and redeem a Spring Festival Little Red Box

    Essay1 min

  4. Dotfile Manager - Dotbot
    A tool that bootstraps your dotfiles ⚡️

    CLIProductivityWindowsDotfiles2 min

  1. VS Code DevContainer
    Use VS Code Dev Containers to develop inside Docker, reusing an existing Dockerfile while keeping dependencies isolated and reproducible.

    LinuxVSCodeDocker3 min

  2. UESTC to Momenta
    December 21, 2024: a travel day from Chengdu to Shanghai and Suzhou before reporting to Momenta.

    Essay苏州5 min

  3. VSCode Ricing
    Customize VS Code with Custom CSS and Animations, including themes, fonts, status bar styling, borders, and command palette layout.

    CSSFontVSCodeRicingCatppuccin2 min

  4. Internet Checksum
    Notes from designing an Internet checksum lab, covering parallel summation and incremental checksum updates.

    LinuxNetworkC6 min

  5. Decorators Pattern in Python
    Understand Python decorators as a design pattern, including first-class functions, simple wrappers, chained decorators, and common uses.

    PythonDecorator3 min

  1. Music Player for Windows and Android
    Notes on local music players, MP3 tag editing, lyric matching, and syncing a music library across Windows and Android.

    AndroidMusicWindowsCyberPunkEntertainment4 min

  2. Theory Notes on Generic Programming
    Introduce Variance in Generic Types, Type Erasure, and Related Concepts

    JavaGenerics7 min

  3. Windows 11 Start Menu Widgets (Phone Link)
    Enable Windows 11 Start menu widgets for Phone Link, including ViveTool setup, requirements, and a proxy-related connection fix.

    MicrosoftWindows2 min

  4. Python Dev Environment and Toolchain: VSCode, UV, Ruff
    Build a modern Python workflow from interpreter, virtual env, and dependency management to editor setup and Ruff, with the trade-offs behind each step.

    PythonVSCodeRuffUV10 min

  5. The Proxy Pattern in Java
    The proxy pattern lets one object stand in for another, controlling access to it and adding features like logging, access control, lazy loading, or monitoring without touching the target's core logic.

    JavaReflectionSpring12 min

  6. Personalization for Terminal, Shell & Prompt
    Good tools make good work. My personal setup for terminal, shell, and prompt, plus a list of handy CLI and TUI tools, for reference.

    TerminalProductivityWindowsWorkflowNushell5 min

  7. Web Authentication & Authorization
    From cookies to JWT: how the web works around HTTP's statelessness, and the trade-offs each step inherits.

    WebAuthorizationAuthentication14 min

  8. Java Priority Queue
    An introduction to Java's PriorityQueue, its API, custom comparators, and the binary min-heap that powers it.

    JavaAlgorithmQueue7 min

  9. Personalization for Mobile Phones
    Notes on phone home-screen personalization, including color palettes, icon packs, widgets, fonts, and Samsung Theme Park.

    OSAndroidOneUI2 min

  10. Blog Performance Optimization Notes
    Optimizations adopted while maintaining this site, from image compression to lazy loading and CDN.

    BlogHexoPerformanceWeb4 min

  11. Configuring a Clash Proxy for OneDrive Business
    Fix OneDrive Business login stalls and download throttling under Clash by configuring bypass domains and Mixin routing rules.

    NetworkMicrosoftOnedriveClashProxy3 min

  12. Black Myth: Wukong
    Nine nines return to truth; the trials are complete, and the work is done.

    Games1 min

  1. Tangdao Bay & May Fourth Square
    A travel note from Tangdao Bay and May Fourth Square in Qingdao, with stops at Yumingzui Village, the Olympic Sailing Center, and Zhanqiao.

    Essay青岛4 min

  2. A Visit to Qingdao's New Zhanqiao and Deep Blue Light
    July 29, 2024, Qingdao's new Zhanqiao and Deep Blue Light.

    Essay青岛3 min

  3. Add Diana/Ava Live2D Models to Hexo Icarus
    Add Live2D models to a Hexo Icarus blog, either by loading CDN scripts directly or deploying local model assets with optional webp optimization.

    BlogHexoIcarusLive2d2 min

  4. Tomcat
    Apache Tomcat is an open-source, lightweight web application server that implements the Java Servlet and JavaServer Pages (JSP) specs and part of Java EE.

    JavaApacheWebTomcat6 min

  5. Http Protocol
    HTTP is an application-layer protocol for transferring hypermedia documents such as HTML. This post covers request and response messages.

    NetworkWebInternetBrowserHTTPTCP3 min

  6. Apache MyBatis
    MyBatis notes from the Heima Programmer Java Web course, covering core concepts and a Spring Boot CRUD demo.

    JavaApacheMyBatis7 min

  7. Apache Maven
    Maven, the project management tool for Java. Covers basic usage including dependency management, the build lifecycle, and multi-module design.

    JavaMavenApache13 min

  8. Linux Network Namespace
    Hands-on with Linux network namespaces, from ip link, ARP, and route basics to connecting namespaces with veth pairs and a Linux bridge.

    Linux14 min

  9. Tang Duo Ling: Reeds Fill the River Islet
    I wanted to buy cassia flowers and bring wine aboard, but it is no longer like youth.

    Literature2 min

  10. Handscroll of the Humble Abode
    A sound sleep, quiet and dreamless

    Literature1 min

  11. Shell Programming
    Shell startup and features, command forms, I/O redirection and pipes, shell variables and quoting, writing and running shell scripts, plus a brief intro to sed and awk.

    LinuxShell5 min

  12. Death Stranding Gallery
    Keep on, keeping on👍👍👍👍👍

    Games1 min

  13. Unix/Linux OS Introduction
    An introduction to the Linux operating system, file operations, and permission management

    OSLinux7 min

  14. Scoop Handbook
    Scoop is a command-line installer for Windows. This note covers directory structure, installation, common commands, updates, cleanup, and buckets.

    ProductivityMicrosoftWindows4 min

  1. Move WSL to Another Drive
    Move an installed WSL distribution to another drive by exporting, unregistering, importing, and restoring the default user.

    OSLinuxWSL2 min

  2. File System
    File system basics, directory management with FCBs and inodes, file sharing via hard and symbolic links, physical file structures, and free space management.

    OS33 min

  3. I/O System
    I/O controllers, channels, and control modes (polling, interrupt, DMA); device data structures; disk scheduling (FCFS, SSTF, SCAN, CSCAN); buffering.

    OS29 min

  4. Understanding Git Reset and Revert
    Learn how git reset and git revert undo commits, move HEAD, affect the staging area and working tree, and preserve or rewrite history.

    Git5 min

  5. ChⅥ Database Application Programming
    Notes on database application programming; ODBC/JDBC connectivity, the Java Web persistence layer, PL/pgSQL functions and stored procedures, triggers, and cursors.

    DataBase13 min

  6. Git Rebase, Squash, and History
    Merge, edit, and clean up commit history with git rebase -i, plus a look at the experimental git history command added in Git 2.54.

    Git6 min

  7. Ch4 - Database Design and Implementation
    Database design process and strategies, E-R model elements, entity relationship types, weak entities, CDM/LDM/PDM design, functional dependencies, normal forms, denormalization, and SQL implementation with Power Designer.

    DataBase11 min

  8. The Dead Lock
    Causes and necessary conditions of deadlock, plus prevention, avoidance, detection, and recovery, including the Banker's Algorithm.

    OS16 min

  9. The Processor Scheduling
    Levels of processor scheduling, scheduling queue models and criteria, scheduling algorithms, and real-time scheduling.

    OSProcess8 min

  10. Process Scheduling in OS
    Notes on process scheduling triggers, evaluation metrics, and common algorithms such as FCFS, SJF, RR, MLFQ, EDF, and LLF.

    OSProcessThreadConcurrencyParallelism4 min

  11. Ch3 - Database Operations With SQL
    SQL statement types and data types; DDL for databases, tables, and indexes; DML for insert, update, delete; DQL with sorting, grouping, subqueries, joins; and views.

    DataBase6 min

  12. Reflection in Java
    How Java reflection works, how to obtain Class objects, create instances, invoke methods, and read annotations at runtime, plus its performance trade-offs.

    JavaReflection7 min

  13. Thread
    Threads as the basic unit of scheduling, thread control, synchronization with mutexes, condition variables, and semaphores, and ULT vs KLT.

    OSThreadConcurrency8 min

  14. Inter Process Communication
    Types of IPC: shared memory, pipes, message-passing systems, mailboxes, and client-server mechanisms like sockets and RPC.

    OSProcess12 min

  15. Concurrency & Parallelism Etc.
    Notes on concurrency, parallelism, CPU cores, hardware threads, processes, and threads in operating systems.

    OSProcessThreadConcurrencyParallelism2 min

  16. Linux Commands
    Notes on common Linux commands, shortcuts, and plugins, plus recommended terminals and shells.

    Linux7 min

  17. ProcessSync
    Process synchronization in operating systems, covering critical sections, semaphores, hardware synchronization, and classic synchronization problems.

    OSProcess22 min

  18. Ch2 - the Relational Model of Databases
    Relational model, relation tables, primary keys, foreign keys, compound keys, entity integrity, and referential integrity.

    DataBase5 min

  19. Git for Android
    Use MGit as a Git client on Android, including installation, cloning, local repositories, URL formats, and SSH key setup.

    GitAndroidGitHub2 min

  20. Process Description and Control
    OS process management: precedence graphs and program execution, process description, and process control.

    OS11 min

  21. Process & Thread
    An introduction to processes and threads

    OSProcessThreadLinux12 min

  1. Introduction to Operating Systems
    An overview of operating systems, their definition, goals and roles, history, basic characteristics, main functions, and structural design.

    OSCLITerminal9 min

  2. Glossary for Database
    A database glossary covering structured, unstructured, and semi-structured data, plus relational and NoSQL data models.

    DataBaseGlossary4 min

  3. Java Stream
    An introduction to the Stream API introduced in Java 8

    Java10 min

  4. Functional Interface
    Single Abstract Method Interfaces are Java functional interfaces. This post explains how to create and use them with lambdas and references.

    Java3 min

  5. Two Poems From the Book of Songs, Airs of Bei
    "The New Terrace" mocks Duke Xuan of Wei for seizing his son's bride; "Two Sons Board the Boat" mourns brothers who died for each other.

    Literature诗经7 min

  6. Evaluation Strategies in Programming Languages
    Java is neither pure pass-by-value nor pass-by-reference. The answer hides in a term most discussions miss: call-by-sharing.

    JavaProgramming7 min

  7. Java Hashtable
    A hash table looks up data in O(1) time. This post walks through hash tables in the Java ecosystem: the data structure, the put process, and thread safety.

    JavaAlgorithmCollection8 min

  8. Music Easter Eggs in Cyberpunk 2077
    An incomplete collection of music references hidden in Cyberpunk 2077 mission names, covering both Chinese and English song references.

    GamesMusicCyberPunk4 min

  9. Database Basics — Functions & Constraints
    Database study notes. This post covers SQL functions and constraints.

    DataBaseSQL7 min

  10. Using tasks.json
    A brief note on using VS Code tasks.json to compile, run, package, and automate common project tasks.

    ProductivityVSCode3 min

  11. Six Poems Written Passing Songyuan While Cooking Breakfast at Qigong Inn
    Do not say descending a ridge is easy; it tricks travelers into misplaced joy.

    Literature4 min

  12. Database Basics_Core Concepts & SQL Syntax
    Database study notes covering core database concepts and basic SQL syntax, including DDL, DML, DQL, and DCL statements.

    DataBaseSQL14 min

  13. VS Code Extensions
    A personal list of VS Code extensions for editing, Markdown, formatting, Git, web development, utilities, and drawing.

    VSCode2 min

  14. Letter From Olgierd Von Everec
    Scenes From a Marriage-Iris

    GamesMusic2 min

  15. Setting Up a C/C++ Debug Environment in VSCode
    How to set up a C/C++ debug environment in VSCode, with a walkthrough of `task.json` and `launch.json` and sample configurations.

    LinuxCWindowsVSCodeCpp6 min

  16. Configuring a GitHub Image Bed With PicGo (Typora & vs Code)
    Configure PicGo with a GitHub-backed image bed, then use it from Typora and VS Code with custom URLs and upload formats.

    ImageOSS2 min

  1. Java SE Generics
    Study notes on Java Generics, covering wildcards, PECS, type inference, and how to design generic classes, interfaces, and methods.

    JavaGenerics12 min

  2. Lab: Ratex Preview
    This page verifies Ratex rendering for inline formulas, displayed equations, matrices, cases, and integrals.

    Lab1 min

  3. Lab: Flavoured Markdown & HTML Element Preview
    Test Flavoured Markdown Content & HTML Elements with style

    BlogCSSMarkdown1 min

  4. Lab: Custom Components Preview
    Preview the custom Markdown components used by this blog theme, with usage notes and source examples.

    BlogCSSMarkdown10 min

  5. Lab: Markdown Preview
    Test various Markdown features including color schemes, math, task lists, callouts, and code blocks.

    BlogCSSMarkdown2 min

  1. ChangeLog
    Tracking the changes of this blog theme

    Blog