Cloud Album
A private cloud photo album for overseas users, focused on backup, organization, and subscription-ready experiences.
A real product journey covering the iOS client, MinIO storage, overseas payments, and growth experiments.
Products
Small, useful products backed by the engineering notes on this site.
A private cloud photo album for overseas users, focused on backup, organization, and subscription-ready experiences.
A real product journey covering the iOS client, MinIO storage, overseas payments, and growth experiments.
Blog
This lab uses a small SQLite program to learn native debugging and function identification. Work with your own sample binary and synthetic database rather than a third-party production process.
The simplest Windows build uses the SQLite amalgamation files sqlite3.c and sqlite3.h downloaded from the official source package.
When a Linux filesystem fills unexpectedly, first identify whether the space belongs to large files, large directory trees, logs, caches, containers, or files that were deleted but remain open by a process.
pyenv installs and switches user-level Python versions without replacing Ubuntu's system Python. Do not remove the distribution-provided interpreter because apt and other operating-system tools may depend on it.
This note collects a few useful patterns for working with Android Java classes through Frida.
Frida Java API operations must run inside a Java.perform callback, and overloaded methods must be selected with the exact parameter signature. Use these techniques only on applications and devices you are authorized to test.
This article describes a defensive analysis workflow for understanding how an Android application stores local message data. Perform it only on your own application, test account, and device, or under explicit authorization.
Native template literals work when variables are available directly in source code. When a template comes from configuration, an API, or a database, replace placeholders explicitly rather than evaluating the string as JavaScript.
Install PaddleSpeech in a dedicated virtual environment because PaddlePaddle, audio libraries, and model packages have strict version requirements.
PySide2 provides QMediaPlayer for playback and QVideoWidget for rendering video.
A license review must cover both the project's own license and every direct or transitive dependency distributed with the product.