Moonglade

Modern Markdown blogging with AI-powered localization and search.

All Posts



Install Chrome OS on a laptop

This article explains how to use the community tool Brunch to convert an older x86-architecture laptop into a Chrome OS device, addressing issues such as Windows sluggishness and the lack of an Android ecosystem in Linux. The tutorial emphasizes selecting a 2-in-1 device with no discrete graphics card and touchscreen support. It provides a detailed walkthrough of the entire process, including downloading the appropriate Intel or AMD recovery image, modifying Brunch for UEFI boot compatibility, flashing a USB drive, configuring BIOS settings, deploying the system to the hard drive via command line, and performing initial boot configuration. After deployment, users will have a smooth, secure, and power-efficient system that not only runs Android apps perfectly but also allows installing graphical tools like VSCode through the built-in Debian Linux subsystem. The article also notes that, due to the complex underlying architecture of Chrome OS—which includes multiple settings interfaces and terminals—understanding its mechanisms requires a certain level of Linux knowledge. However, the overall experience far exceeds that of traditional operating systems, enabling older devices to be revitalized.

Views 13,384
Brunch Chrome OS Customization Developer Mode Installation Linux Subsystem

Cycling Tour Around Taihu Lake

This is a travel blog documenting a 300-kilometer cycling trip around Lake Tai over four days. The author departed from the Mingkanghui Lake Tai Agricultural Center, passing through Huzhou, Changxing, Yixing, and Wuxi, before finally arriving at Yinshan Lake in Suzhou. The journey featured both scenic views of the lake and mountains and high-quality cycling experiences on roads such as the Huzhou Lakeside Avenue, while also presenting challenges like a tire blowout, traffic congestion on provincial roads, and difficulties cycling on urban streets. The author provided detailed descriptions of the rural landscapes along the route, the current status of blue-green algae treatment in Lake Tai, and accommodation experiences at hotels in various locations, and compared the cyclist-friendliness of different road sections. Although the process was arduous, filled with physical exhaustion and hazardous road conditions, the author ultimately completed this significant achievement in their life, concluding this journey of intertwined pain and joy with a sunset in Suzhou, deeply appreciating the unique charm and sense of accomplishment of cycling around Lake Tai.

Views 482
300km Journey Bike Touring Cycle Travel Ring Taihu Lake Suzhou Wuxi

Choosing the Right Monitor Size

This article provides an in-depth analysis of the critical role of PPI (Pixels Per Inch) in application development and monitor selection. Since the vast majority of desktop applications are designed based on the 96 PPI standard, using Fractional Scaling when a monitor's PPI is not an integer multiple of 96 can result in blurry images or jaggies. The article points out that when selecting a monitor, one should calculate its PPI to ensure it is close to an integer multiple of 96 (such as 96, 192, or 288), thereby achieving clear and appropriately sized text display through 100%, 200%, or 300% integer scaling. For macOS users, the 72 PPI standard should be referenced, ensuring the PPI is an integer multiple of 72. The article demonstrates how to calculate the optimal scaling ratio based on resolution and size using examples such as LG OLED, Surface Studio, and the Apple Studio Display, and provides C# code to assist in the calculation. Finally, it emphasizes that while PPI and scaling ratios are core parameters for ensuring text clarity and appropriate size, other performance metrics such as color accuracy, refresh rate, and HDR support must also be considered when purchasing a monitor. This article aims to help resolve issues of text being too large or too small and scaling blur, rather than providing a sole standard for selection.

Views 769
.NET C# Display Display Resolution Monitor Resolution

Aiursoft Incident Investigation, Analysis, and Summary

This document records an NFS server failure and its recovery process caused by a defect in a ZFS backup script. The incident originated from the backup script failing to properly unmount the target dataset during snapshot transfer, which caused overlapping mount points between the source and target datasets. This led to data access anomalies and chaos in the vSphere data center, ultimately taking three hours to repair. The root cause was a misunderstanding of the `zfs send/receive` mechanism, which synchronizes mount point metadata. Additionally, the mount point displayed by `zfs list` is merely metadata and does not reflect the actual mount status. The lesson learned emphasizes that scripts in production environments must be thoroughly tested in a lab first, and a monitoring and alerting system based on Prometheus should be established. The improved new script adopts a "snapshot send - rollback - mount" strategy and enforces unmounting the target dataset before transfer. This ensures that data remains directly accessible via the file directory even after disk failures. After multiple validations, this solution effectively guarantees that at least two copies of the data are maintained, thoroughly resolving the mount conflict issue.

Views 449
Backup Script Fault Diagnosis Incident Response Monitoring System Recovery Strategy ZFS Storage

Deploy a standalone Docker application on the server

This article provides a detailed overview of the complete process and best practices for deploying and managing Docker containers in a virtual machine. First, it guides users on configuring GPG keys to support the Pass password manager and setting up Docker credential storage to enable passwordless login for Docker Desktop. Second, it emphasizes the planning of persistent container volumes, highlighting the importance of mounting host directories to ensure data consistency and sharing. It also provides configuration references for commonly used containers and scripts for running them as non-root users. Additionally, the article explains port mapping, using restart policies to ensure containers start automatically with the host, and safely upgrading containers by deleting and recreating them. For scenarios involving multiple container dependencies, it recommends using Docker Compose to define service networks and volumes, combined with systemd for automated management. Finally, the article summarizes the need to manage the VM and containers separately in hybrid deployments and suggests a gradual transition to a containerized architecture to ensure system stability and maintainability.

Views 405
Container Docker Linux Ubuntu VM bash

Quick Setup - Painless GPG Digital Signatures for All Your Git Commits

This article provides a detailed walkthrough of the complete process for using GPG to digitally sign commits in Git, with the goal of preventing others from forging commit history. It first explains the role of GPG signatures in verifying the authenticity and integrity of documents, and guides users on installing GPG tools based on their operating system. Next, it demonstrates generating a key pair via the command line, retrieving the long-form Key ID, and configuring Git global settings to enable automatic signing. Key steps include exporting the public key and adding it to a GitHub or GitLab account, so that the platform trusts the signature, thereby ensuring that only users holding the private key can generate recognized commits. The article also explores convenient solutions for synchronizing keys across devices, suggesting storing the private key file on cloud storage services such as Nextcloud, and importing and configuring it on new devices with a one-click script. It simultaneously emphasizes the importance of enabling two-factor authentication (2FA) and protecting the private key passphrase to avoid security risks. Finally, it points out that after configuration, the public key should be shared with trusted colleagues or friends, who should also trust the public key. This ensures that GPG signatures truly deliver their security protection value in team collaboration, preventing the signature mechanism from becoming a mere formality.

Views 719
GPG Nextcloud PowerShell SSH Sign bash git


Concise LLAMA Experience Guide

This article briefly introduces the complete process of deploying and running Meta's Llama large language model on a local computer. First, users need to prepare a hardware environment with GPU computing power and install necessary software such as Nvidia drivers and Python 3.10. Next, they must visit Meta's official website to fill out an application form to obtain model download permissions. Subsequently, they should clone the official repository via Git and execute the download script to obtain the model weights. Once the environment setup is complete, the model can be started with specific commands for basic testing. Finally, the article demonstrates how to modify the prompt parameters in Python scripts to apply the model to custom natural language generation tasks. This guide aims to help developers quickly implement experimental and innovative applications of the Llama model in local environments, while reminding users to comply with relevant commercial licensing agreements and usage policies.

Views 401
Installation Guide Llama Meta AI Model Training Text Generation Tutorial