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
Maven Surefire accepts the -Dtest property for selecting unit tests.
Flutter build problems often involve several layers at once: the Flutter SDK, Dart, Gradle, Android build tools, repositories, and package versions. Record flutter doctor -v, the complete error stack, and reproducible steps before changing caches or mirrors.
ChromeDriver connects Selenium to the Chrome browser. Most startup failures come from an incompatible browser/driver combination, an incorrect executable path, or a missing browser binary.
Record the versions of Chrome, ChromeDriver, Selenium, the operating system, and the CPU architecture when troubleshooting. Current Selenium releases can usually manage the driver automatically, which is preferable to maintaining a driver manually.
Apache ActiveMQ Artemis is the next-generation message broker in the Apache ActiveMQ family.
A successful process start is only the first step. You should also verify the management port, protocol ports, persistence directory, user accounts, JVM settings, disk capacity, permissions, and monitoring.
A binary tarball installation gives you full control over the MySQL directory and version. Unlike a distribution package, it does not automatically create the system user, configure permissions, install a service, or apply security updates.
Spring Boot sends SMTP mail through JavaMailSender. Use the exact server, port, encryption mode, and authorization credential supplied by the enterprise mailbox administrator.
This example uses ADB from Python to capture a screenshot from an Android device, copy it to the computer, and perform a swipe gesture.
Use ADB automation only on devices and applications you own or are authorized to test. Respect the target platform's rules, verify that the intended device is connected, and add delays and stop conditions so the loop cannot run out of control.
File upload endpoints accept attacker-controlled bytes, filenames, sizes, and content types. A secure design limits requests early, generates server-side names, stores files outside the web root, validates paths, and serves downloads with controlled headers.
A SQLite connection handle is an opaque sqlite3* pointer passed to many SQLite APIs. This article describes how to recognize it while debugging a controlled application that you own or are authorized to test.
This article outlines a static-analysis method for locating a SQLite function inside a Windows application. Apply it only to software you own or are explicitly authorized to inspect.