{"updates":[{"date":"2026-08-19T00:00:00Z","locale":"en","route":"/nanopi-r2s-alpine-boot/","tags":["nanopi","rk3328","alpine linux","uart","embedded","operations-record"],"url":"https://mayphus.org/nanopi-r2s-alpine-boot/","title":"From silent UART to a working NanoPi R2S","description":"An evidence-led NanoPi R2S investigation: isolate an unreliable UART path, identify a wrong Rockchip image, boot Alpine Linux, and map the RK3328 SD-card chain."},{"date":"2026-08-15","locale":"en","route":"/entries/twelve-volts-one-wrong-pin/","tags":["electronics"],"url":"https://mayphus.org/entries/twelve-volts-one-wrong-pin/","title":"Twelve volts, one wrong pin","description":"Twelve volts, one wrong pin"},{"date":"2026-08-14T00:00:00Z","locale":"en","route":"/openlens/","tags":["ai","computer vision","android","multilingual","local-first"],"url":"https://mayphus.org/openlens/","title":"OpenLens: a local-first camera that admits what it does not know","description":"Building a portable multilingual learning companion, testing offline vision on Android, and keeping model uncertainty visible."},{"date":"2026-08-13T00:00:00Z","locale":"en","route":"/tinystories-rp2040/","tags":["ai","rp2040","raspberry pi pico","embedded","tinystories"],"url":"https://mayphus.org/tinystories-rp2040/","title":"A TinyStories model on my RP2040 board","description":"Training, quantizing, and physically verifying a tiny Transformer on a custom Raspberry Pi Pico display board through intention-and-observation collaboration with an AI agent."},{"date":"2026-08-10","locale":"en","route":"/entries/old-depth-camera-was-not-dead/","tags":["camera"],"url":"https://mayphus.org/entries/old-depth-camera-was-not-dead/","title":"The old depth camera was not dead","description":"The old depth camera was not dead"},{"date":"2026-07-30T00:00:00Z","locale":"en","route":"/sugar-from-a-soldier/","tags":["family history","second sino-japanese war","jacar","guangji","wuxue"],"url":"https://mayphus.org/sugar-from-a-soldier/","title":"Sugar from a soldier","description":"Testing a grandmother’s memory of Japanese soldiers giving sweets to children in wartime Liu Yuan against Japanese and international records."},{"date":"2026-07-16T02:42:23Z","locale":"en","route":"/ai-workflow/","tags":["ai","workflow","codex"],"url":"https://mayphus.org/ai-workflow/","title":"How I work with AI","description":"A short explanation of how I use ChatGPT, Codex, Git, and Mayphus as one practical workflow, including a later iPad-first interface experiment."},{"date":"2026-07-16T00:00:00Z","locale":"en","route":"/roku-remote-over-tailscale/","tags":["roku","tailscale","homelab"],"url":"https://mayphus.org/roku-remote-over-tailscale/","title":"A Roku remote through Tailscale","description":"How any available Wi-Fi, manual IP entry, and Tailscale made the official Roku app remote work from outside home."},{"date":"2026-06-09T00:00:00Z","locale":"en","route":"/router-service-tailscale-jump-recovery/","tags":["ops","tailscale","router"],"url":"https://mayphus.org/router-service-tailscale-jump-recovery/","title":"Router service recovery through a Tailscale jump","description":"A short operations note on recovering a router service through an independent Tailscale jump host when direct access is gone."},{"date":"2024-08-23T00:00:00Z","locale":"en","route":"/a-tiny-freebsd-jail-doc-fix/","tags":["freebsd","jails","docs"],"url":"https://mayphus.org/a-tiny-freebsd-jail-doc-fix/","title":"A tiny FreeBSD jail doc fix","description":"A short note on fixing relative symlinks in the FreeBSD Handbook's NullFS thin-jail recipe."},{"date":"2024-07-14","locale":"en","route":"/entries/x-1881704765983510867/","tags":["making","rp2040"],"url":"https://mayphus.org/entries/x-1881704765983510867/","title":"My first PCB.","description":"My first PCB and related RP2040 board experiments."},{"date":"2025-01-01","locale":"en","route":"/entries/x-1874248940180430948/","tags":[],"url":"https://mayphus.org/entries/x-1874248940180430948/","title":"First day of 2025.","description":"First day of 2025."},{"date":"2024-09-22","locale":"en","route":"/entries/x-1837765187329315034/","tags":[],"url":"https://mayphus.org/entries/x-1837765187329315034/","title":"Witness the Majestic Qiantang River Tidal Bore: Nature’s Ultimate Spectacle!","description":"Witness the Majestic Qiantang River Tidal Bore: Nature’s Ultimate Spectacle!"},{"date":"2024-05-07","locale":"en","route":"/entries/x-1787870398023184883/","tags":[],"url":"https://mayphus.org/entries/x-1787870398023184883/","title":"I love Thailand.","description":"I love Thailand."},{"date":"2017-07-13","locale":"en","route":"/entries/learning-ros-office/","tags":["robotics"],"url":"https://mayphus.org/entries/learning-ros-office/","title":"Working like a professional in an abandoned office at university, trying to learn ROS.","description":"Working like a professional in an abandoned office at university, trying to learn ROS."},{"date":"2016-11-10","locale":"en","route":"/entries/mechanical-competition/","tags":["robotics"],"url":"https://mayphus.org/entries/mechanical-competition/","title":"These photos are from a mechanical competition in November 2016.","description":"These photos are from a mechanical competition in November 2016."},{"date":"2026-10-09","locale":"en","route":"/ai-assisted-systems-engineering/","tags":["ai","systems-engineering","learning"],"url":"https://mayphus.org/ai-assisted-systems-engineering/","title":"From hands-on operations to AI-assisted systems engineering","description":"How my operations and repair experience connects to AI-assisted work, with a practical learning plan for diagnosis, verification, delegation, and recovery."},{"date":"2026-10-09","locale":"en","route":"/content-first-design/","tags":["web","design","website"],"url":"https://mayphus.org/content-first-design/","title":"Content-first design","description":"A quiet reading interface, with familiar neutral colours, clear hierarchy and room for the content."},{"date":"2026-10-07","locale":"en","route":"/entries/gosure-3201-local-android-preview/","tags":["camera","android","reverse-engineering"],"url":"https://mayphus.org/entries/gosure-3201-local-android-preview/","title":"A local Android preview for my GoSure 3201","description":"I traced the local control path of my Philips GoSure 3201 and built a small Android app that showed its live camera stream. The historical record also shows where the protocol and playback work stopped."},{"date":"2026-10-07","locale":"en","route":"/entries/nanopi-r2s-freebsd-ram-boot/","tags":["nanopi-r2s","freebsd","boot"],"url":"https://mayphus.org/entries/nanopi-r2s-freebsd-ram-boot/","title":"From a U-Boot prompt to FreeBSD in RAM","description":"A September 2026 NanoPi R2S experiment proved a FreeBSD single-user shell with a RAM-backed root, then separately verified a persistent SD installation. The failed handoff attempts explain why those are distinct results."},{"date":"2026-10-07","locale":"en","route":"/entries/opencode-responses-gateway/","tags":["ai","gateway","software"],"url":"https://mayphus.org/entries/opencode-responses-gateway/","title":"Building a Responses gateway with explicit limits","description":"An archived local gateway connected Responses clients to model-provider endpoints while keeping translation, streaming, credentials, and unsupported features explicit. Six-platform CI passed, with clear limits on what it established."},{"date":"2026-10-05","locale":"en","route":"/four-province-expressway-atlas/","tags":["maps","openstreetmap","performance"],"url":"https://mayphus.org/four-province-expressway-atlas/","title":"Making a four-province expressway atlas lighter","description":"A four-province OpenStreetMap atlas: static snapshots, quarter-degree data partitions, and smaller viewport loads, with visual QA still unfinished."},{"date":"2026-10-05","locale":"en","route":"/gpt124m-restartable-training/","tags":["language-models","training","checkpoints","kaggle"],"url":"https://mayphus.org/gpt124m-restartable-training/","title":"GPT-124M from scratch: benchmarking and restart recovery","description":"A randomly initialized GPT-124M trained on 1,000,341,504 tokens using free Kaggle T4s, with verified cross-session recovery and final in-domain evaluation. A completed pretraining demo, not an instruction-tuned assistant."},{"date":"2026-10-28T00:00:00Z","locale":"en","route":"/ipv4-vs-ipv6/","tags":["networking","measurement","operations-record"],"url":"https://mayphus.org/ipv4-vs-ipv6/","title":"IPv4 vs IPv6: three days of measuring my home link to an overseas server","description":"A long-lived monitored link dropped often in a short evening window; after switching stacks I logged about three days of checks."},{"date":"2026-10-08T00:00:00Z","locale":"en","route":"/local-media-ubuntu-install/","tags":["linux","systems","installation","virtualization","operations-record"],"url":"https://mayphus.org/local-media-ubuntu-install/","title":"Reconstructing an unattended Ubuntu install from local media","description":"A remembered mini-PC deployment decision, tested through a new isolated reconstruction: one unattended legacy Ubuntu installation, an instrumented disk boot, and explicit limits on what they prove."},{"date":"2026-10-01T00:00:00Z","locale":"en","route":"/nanopi-r2s-freebsd-usb-ethernet/","tags":["freebsd","nanopi r2s","usb","ethernet","embedded"],"url":"https://mayphus.org/nanopi-r2s-freebsd-usb-ethernet/","title":"An experimental FreeBSD USB Ethernet workaround for the NanoPi R2S","description":"A recorded NanoPi R2S experiment: delaying USB3 link power management improved RTL8153B initialization, while actual U1/U2 transitions and a general repair remain unproven."},{"date":"2026-10-08","locale":"en","route":"/older-desktop-phone-workspace/","tags":["ai","workflow","linux"],"url":"https://mayphus.org/older-desktop-phone-workspace/","title":"An older laptop as a phone-directed workspace","description":"An idea for using an older laptop as an Ubuntu workspace operated with AI, while its user directs the work mainly from a phone. The useful test is whether everyday tasks become easier."},{"date":"2026-10-23","locale":"en","route":"/roku-camera-hls/","tags":["roku","ffmpeg","hls","homelab","linux","operations-record"],"url":"https://mayphus.org/roku-camera-hls/","title":"My IP camera, live on a Roku TV","description":"A TP-Link camera's 4K HEVC RTSP stream, transcoded on a Linux server to 1080p H.264 HLS and played by a small sideloaded Roku channel. A working home-lab hack with explicit limits."},{"date":"2026-10-21","locale":"en","route":"/roku-voice-investigation/","tags":["roku","software","systems","debugging","operations-record"],"url":"https://mayphus.org/roku-voice-investigation/","title":"A silent Roku remote, and a bug in my diagnostic","description":"An unresolved Roku voice failure led me to a race in my own diagnostic and an early key-release event worth isolating. An engineering log about checking the instrument before blaming the hardware."},{"date":"2026-10-26T00:00:00Z","locale":"en","route":"/tailscale-subnet-route-acl/","tags":["tailscale","networking","ops"],"url":"https://mayphus.org/tailscale-subnet-route-acl/","title":"The Tailscale subnet route that was approved but inaccessible","description":"An approved Tailscale subnet was unreachable from my phone under a tightened tailnet policy; adding an ACL rule restored access."},{"date":"2026-10-08","locale":"en","route":"/understanding-computer-systems/","tags":["learning","linux","freebsd","systems"],"url":"https://mayphus.org/understanding-computer-systems/","title":"Understanding computer systems","description":"A connected learning guide to files, processes, storage, services, networking and boot, with distinct Linux and FreeBSD paths and evidence from real investigations."},{"date":"2026-10-06","locale":"en","route":"/xiamen-qingshui-gong-flight/","tags":["photography","Xiamen","aviation"],"url":"https://mayphus.org/xiamen-qingshui-gong-flight/","title":"Above Qingshui Gong","description":"Two photographs of B-5688, Xiamen Air’s 100th aircraft, passing over the roofline of Qingshui Gong."}]}