Posts
All the articles I have published.
-
The Difficult Plugin System of Kime 2.0
Published date:This article details the plugin architecture design, technical implementation, challenges encountered, and the final decision to only plugin-ize the emoji feature while keeping other complex features built-in for Kime input method
-
I Trained a Predictive Text Model for My Own Mobile Input Method
Published date:This article describes my experiment designing and training a compact Transformer model for mobile input method predictive text functionality. I built a decode-only Transformer with 8192 vocabulary words and approximately 17MB in size after int8 quantization, addressing challenges in data quality, model parameter optimization, and implementing N-gram algorithm fusion for improved predictions.
-
I Implemented My Own Mobile Input Method
Published date:Unable to find an input method that met my needs, I developed my own Android input method based on the Rime engine, supporting Wubi-Pinyin mixed input and radical display functionality.
-
Rust Embedded Development: Using Rust to Control Home Ambient Lights via Xiao AI and ESP32
Published date:Implementing a system to control home ambient lights using Rust embedded development, ESP32 microcontroller, and Xiao AI through MQTT communication with Bemfa Cloud platform.
-
What Tauri Cannot Do
Published date:Exploring the limitations of Tauri when developing a transparent, click-through desktop pet application with 3D models, particularly regarding mouse event handling when cursor events are ignored.
-
ADC Analog-to-Digital Conversion in ESP32-S3 with Rust: Reading XY Axis Joystick Sensor Tutorial
Published date:This article introduces how to use Rust for ADC analog-to-digital conversion on ESP32-S3 to read data from an XY axis joystick sensor. The article details the ADC functionality of ESP32-S3, pin configuration, code implementation (including X/Y axis analog signal reading and Z axis button detection), and how to use the esp-hal library for hardware programming.
-
Implementing TUI Interface on ST7789 Screen with Rust and Ratatui on ESP32-S3
Published date:This article introduces how to use Rust and the Ratatui library on ESP32-S3 to build a text-based user interface (TUI) for ST7789 screens, and solves common issues with fonts and display configuration.
-
Rust Embedded Development: How to Fix ST7789 Screen Flickering During Redraw
Published date:Exploring solutions to fix screen flickering issues when redrawing on ST7789 displays using Rust embedded development, including attempts to adjust SPI clock frequency and reduce refresh area.
-
Rust Embedded Development: Displaying Images on ST7789 Screen
Published date:Guide on displaying images on ST7789 screens using Rust embedded development, including image format conversion techniques from common formats to supported formats like BMP, TGA, and QOI.
-
Methods for Displaying Chinese Characters in Embedded Rust
Published date:This article introduces how to display Chinese characters in resource-constrained embedded environments, especially using the embedded-graphics library. Since the library doesn't support Chinese characters by default, the article details how to use BDF font format and eg-bdf tool to generate and use Chinese font libraries, providing specific code examples and solutions.
-
Implementing DHT11 Temperature and Humidity Sensor Data Display on ST7789 Screen with Rust on ESP32S3
Published date:This article details how to use Rust on ESP32S3 to read DHT11 temperature and humidity sensor data and display it on an ST7789 TFT LCD screen. It covers implementation in both C and Rust languages, with special attention to multi-core task allocation in Rust, SPI bus configuration, screen driver initialization, and avoiding screen display issues. The article also provides complete code examples and analysis of key technical points.
-
Notes: Using GPG to Sign Git Commits in VSCode
Published date:Documentation on how to sign Git commits with GPG, including steps for generating GPG key pairs, associating them with your GitHub account, and verifying signatures.