{"notes":[{"body":"I tried to bring an old HiSilicon camera board back to life. The plan was cautious at first: identify the H1102NL Ethernet magnetics, verify the USB-TTL adapter with a loopback, keep its VCC disconnected, and listen for boot output. The mistake was the unverified eight-pin harness. I put 12 volts onto what I thought was the input pin. The board answered with a pop and was finished. The TTL adapter survived a second exact loopback test. The useful lesson is embarrassingly physical: a connector that fits is not a pinout, wire color is not evidence, and voltage should not be applied until ground, input protection, and the power path have been traced with continuity. Sometimes the artifact is the failed board and the rule it leaves behind.","date":"2026-08-15","id":"twelve-volts-one-wrong-pin","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/entries/twelve-volts-one-wrong-pin/","title":"Twelve volts, one wrong pin"},{"body":"I pulled an old LeTV LeTMC-520 RGB-D camera out of storage and initially thought it had failed: Linux repeatedly rejected it during USB setup. Windows showed that the ordinary RGB camera still worked, but the depth interface had no driver. The useful clue was the connection itself. On a rear USB 2.0 port, Linux cleanly enumerated the camera's internal hub, Orbbec Astra Pro depth sensor, and UVC color camera. With one small video utility, I streamed 720p MJPEG over SSH to my Mac without installing a depth driver or running a permanent server. The depth stream can wait for a separate OpenNI test on a Raspberry Pi. Old hardware is easy to misdiagnose when physical health, USB compatibility, and software support are treated as the same question.","date":"2026-08-10","id":"old-depth-camera-was-not-dead","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/entries/old-depth-camera-was-not-dead/","title":"The old depth camera was not dead"},{"date":"2026-08-01","id":"ai-centered-robot-stack","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/ai-centered-robot-stack/","title":"AI-centered robot stack","body":"I do not think ROS 2 should be the center of a modern robot. The center should be an AI agent that understands the goal and works through explicit capabilities such as navigate, inspect, and grasp. ROS 2, vendor SDKs, and generated adapters can remain replaceable integration layers. Learned skills and whole-body control can execute below them, while hard limits, watchdogs, emergency stop, and motor loops stay outside the agent. AI can optimize the software around the robot; it should not be allowed to rewrite the safety boundary while the robot is running."},{"date":"2026-07-26","id":"website-as-working-memory","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/website-as-working-memory/","title":"website as working memory","body":"I do not want my website to be a separate job. It should become a durable public memory that participates in my AI work: when an idea or investigation becomes useful, I can ask the assistant to turn it into a concise note, keep private details out, and create a review before anything goes public. The website is not the work itself. It records the proof and lessons from real work."},{"date":"2026-07-17","id":"optimizing-someone-elses-workflow","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/optimizing-someone-elses-workflow/","title":"optimizing someone elses workflow","body":"When changing a system that someone else uses, I should preserve the behavior they recognize and ask before changing the interface."},{"date":"2026-07-15","id":"faster-codex-workflow","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/faster-codex-workflow/","title":"faster codex workflow","body":"I'm starting to optimize my Codex workflow. Instead of making every turn follow a heavy default sequence of pull, change, test, and review—even when a small change takes only a moment—I'm moving toward a hierarchy of iteration, review, and ship. The depth of the workflow should match the size and risk of the change, so a small task does not automatically take two or three minutes. I'm also starting to use Git worktrees so independent work can run in parallel."},{"date":"2026-07-14","id":"concrete-before-abstraction","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/concrete-before-abstraction/","title":"concrete before abstraction","body":"Coding, architecture, and other high-level work can be important, but they can also abstract the problem until I lose sight of what actually needs to be solved. I want to begin with the concrete problem, make the smallest useful thing, and only add abstraction when the work asks for it."},{"date":"2026-07-12","id":"ai-super-app","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/ai-super-app/","title":"ai super app","body":"ChatGPT desktop is starting to feel like the AI version of Emacs: one extensible environment with a terminal, browser, code, files, and conversations together. The important part is not having every tool in one window. It is that my operations and working state can become shared AI context, so I spend less time switching apps and explaining where the work stopped."},{"date":"2026-07-12","id":"one-public-thread","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/one-public-thread/","title":"one public thread","body":"Short ideas should have one quiet public home. They do not each need a new page, project, or polished conclusion. A dated thread can show the thought while it is still moving."},{"date":"2026-07-12","id":"x-2075974617450336676","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2075974617450336676"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2075974617450336676/","title":"ChatGPT desktop quietly added passkey/password support to its in-app browser — something…","body":"ChatGPT desktop quietly added passkey/password support to its in-app browser — something I’ve wanted for weeks.\n\nThis matters because I sign in to Google with a passkey. Now the in-app browser can handle it. One less reason to open Chrome, haha."},{"date":"2026-07-11","id":"proof-before-claims","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/proof-before-claims/","title":"proof before claims","body":"A personal site is more useful when it shows working artifacts and operating evidence instead of describing ambitions. Build the proof, then write the sentence."},{"date":"2026-07-10","id":"restartable-work","kind":"note","links":[],"topic":"ideas","url":"https://mayphus.org/notes/restartable-work/","title":"restartable work","body":"[Infrastructure](https://mayphus.org/infrastructure/)\n\nThe smallest useful project note records where the work stopped, the next physical action, and the evidence already captured. That is enough to make tomorrow easier."},{"date":"2026-07-10","id":"x-2075500227650613343","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2075500227650613343"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2075500227650613343/","title":"I used ChatGPT Atlas as my main browser and loved it, even though it’s no longer…","body":"I used ChatGPT Atlas as my main browser and loved it, even though it’s no longer maintained. But ChatGPT desktop doesn’t need to replace Chrome. My workflow now: Chrome for the web, ChatGPT desktop for intelligence, and the ChatGPT extension connecting them. It feels natural."},{"date":"2026-07-10","id":"x-2075499189841330310","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2075499189841330310"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2075499189841330310/","title":"Some people dislike GPT-5.6 and the “super app.” I think they’re amazing.","body":"Some people dislike GPT-5.6 and the “super app.” I think they’re amazing. Real engineers and users don’t spend all day judging models or comparing flaws—they use the tools to build something amazing. Extraordinary capability at a low cost, shared globally, is worth appreciating."},{"date":"2026-07-10","id":"x-2075320630992642416","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2075320630992642416"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2075320630992642416/","title":"chatgpt, work, codex may share ui.","body":"chatgpt, work, codex may share ui. only difference is the context (project, plugins etc)"},{"date":"2026-07-07","id":"x-2074332004049711280","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2074332004049711280"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2074332004049711280/","title":"codex in-app browser needs passkey support @thsottiaux","body":"codex in-app browser needs passkey support @thsottiaux"},{"date":"2026-07-01","id":"x-2072198325340873068","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2072198325340873068"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2072198325340873068/","title":"Today's realization: I'm not at my best when answering from memory.","body":"Today's realization:\n\nI'm not at my best when answering from memory.\n\nI'm at my best when investigating.\n\nGive me a terminal, logs, and a problem. I'll figure it out.\nLearn. Repeat.\nThat's how I'm going to learn and build in public."},{"date":"2026-06-29","id":"youtube-XTB2Pm89kHs","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/XTB2Pm89kHs"}],"topic":"life","url":"https://mayphus.org/notes/youtube-XTB2Pm89kHs/","title":"June 29, 2026","body":"A YouTube Short."},{"date":"2026-06-29","id":"x-2071505350155792531","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2071505350155792531"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2071505350155792531/","title":"Forget the superapp.","body":"Forget the superapp. Just let ChatGPT and Codex share memory. Re-explaining the same project to both is unnecessary friction."},{"date":"2026-06-29","id":"x-2071427945152082398","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2071427945152082398"}],"topic":"making","url":"https://mayphus.org/notes/x-2071427945152082398/","title":"Just migrated my codebase to my mini PC.","body":"Just migrated my codebase to my mini PC. Maintained by Codex now, so I barely need my desktop PC anymore. I can work from coffee shops, supermarkets, etc."},{"date":"2026-06-28","id":"x-2070904771448631393","kind":"x","links":[{"label":"Reply context","url":"https://x.com/i/status/2070396348583813167"},{"label":"Source","url":"https://x.com/mayphustang/status/2070904771448631393"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2070904771448631393/","title":"I don’t remember the commands anymore.","body":"I don’t remember the commands anymore.\n\nI remember the curiosity.\n\nTen years later, most of the software is obsolete, but the habit of taking things apart, experimenting, and documenting what I learn is still the most valuable skill."},{"date":"2026-06-26","id":"x-2070384134992842812","kind":"x","links":[{"label":"Reply context","url":"https://x.com/i/status/2069994029593543005"},{"label":"Source","url":"https://x.com/mayphustang/status/2070384134992842812"},{"label":"Current content-process disclosure","url":"https://mayphus.org/about-this-content/"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2070384134992842812/","title":"@naval Humans should do the work, AI should do the documenting.","body":"@naval Humans should do the work, AI should do the documenting."},{"date":"2026-06-26","id":"x-2070348614732526009","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2070348614732526009"},{"label":"Reply on X","url":"https://x.com/mayphustang/status/2070349853847412992"}],"topic":"ideas","url":"https://mayphus.org/notes/x-2070348614732526009/","title":"Fixed a sync issue between Codex Desktop and the mobile app.","body":"Fixed a sync issue between Codex Desktop and the mobile app. The solution was to uninstall the Codex app on my phone, then pair it again.\n\nAfter reinstalling the Codex mobile app and pairing it again, sync issues disappeared. The app also felt smoother, though I'm not sure if that's because of the reinstall or just my perception."},{"date":"2026-06-25","id":"youtube-ebVWS3-dCfU","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/ebVWS3-dCfU"}],"topic":"life","url":"https://mayphus.org/notes/youtube-ebVWS3-dCfU/","title":"February 11, 2026","body":"A YouTube Short."},{"date":"2026-06-25","id":"youtube-I_4XUxoQU2o","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/I_4XUxoQU2o"}],"topic":"life","url":"https://mayphus.org/notes/youtube-I_4XUxoQU2o/","title":"June 25, 2026","body":"A YouTube Short."},{"date":"2026-06-25","id":"youtube-IXCtMfwpRFA","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/IXCtMfwpRFA"}],"topic":"life","url":"https://mayphus.org/notes/youtube-IXCtMfwpRFA/","title":"June 25, 2026","body":"A YouTube Short."},{"date":"2026-06-25","id":"youtube-xP7njwecE6Q","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/xP7njwecE6Q"}],"topic":"life","url":"https://mayphus.org/notes/youtube-xP7njwecE6Q/","title":"February 10, 2026","body":"A YouTube Short."},{"date":"2026-06-12","id":"youtube-_-CID8EABeM","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/_-CID8EABeM"}],"topic":"life","url":"https://mayphus.org/notes/youtube-_-CID8EABeM/","title":"Today I learned how to flip an egg pancake in a pan","body":"A YouTube Short."},{"date":"2026-06-12","id":"youtube-8vTtWEZZcwM","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/8vTtWEZZcwM"}],"topic":"life","url":"https://mayphus.org/notes/youtube-8vTtWEZZcwM/","title":"June 12, 2026","body":"A YouTube Short."},{"date":"2026-06-11","id":"youtube-w3kcWYbPogo","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/w3kcWYbPogo"}],"topic":"life","url":"https://mayphus.org/notes/youtube-w3kcWYbPogo/","title":"June 11, 2026","body":"A YouTube Short."},{"date":"2026-06-10","id":"x-2064395550271942867","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2064395550271942867"}],"topic":"making","url":"https://mayphus.org/notes/x-2064395550271942867/","title":"my lithium battery burn by itself.","body":"my lithium battery burn by itself."},{"date":"2026-06-09","id":"youtube-bEgjF6DybFY","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/bEgjF6DybFY"}],"topic":"life","url":"https://mayphus.org/notes/youtube-bEgjF6DybFY/","title":"June 10, 2026","body":"A YouTube Short."},{"date":"2026-06-09","id":"x-2064249796668625060","kind":"x","links":[{"label":"mayphus.org/typing","url":"http://mayphus.org/typing"},{"label":"Source","url":"https://x.com/mayphustang/status/2064249796668625060"},{"label":"Current input-method project","url":"https://mayphus.org/typing/"}],"topic":"making","url":"https://mayphus.org/notes/x-2064249796668625060/","title":"A generated Flypy double-pinyin skin.","body":"A generated Flypy double-pinyin skin.\nInstead of drawing keyboard themes manually, I'm generating them from code so the same system can produce skins, previews, and configuration packages automatically.\nmayphus.org/typing"},{"date":"2026-06-04","id":"x-2062546584131547366","kind":"x","links":[{"label":"mayphus.org/typing/","url":"https://mayphus.org/typing/"},{"label":"Source","url":"https://x.com/mayphustang/status/2062546584131547366"}],"topic":"making","url":"https://mayphus.org/notes/x-2062546584131547366/","title":"Rime Input Method and Yuanshu Input method's Schema and Skin generator.","body":"Rime Input Method and Yuanshu Input method's Schema and Skin generator. mayphus.org/typing/"},{"date":"2026-06-02","id":"x-2061713757844431205","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2061713757844431205"},{"label":"Current infrastructure; this post records an earlier plan","url":"https://mayphus.org/infrastructure/"}],"topic":"making","url":"https://mayphus.org/notes/x-2061713757844431205/","title":"I am building a single, unified Racket project to orchestrate my entire personal…","body":"I am building a single, unified Racket project to orchestrate my entire personal infrastructure."},{"date":"2026-04-24","id":"x-2047688708418425261","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/2047688708418425261"}],"topic":"making","url":"https://mayphus.org/notes/x-2047688708418425261/","title":"I just used my Emacs to check my homelab computer k3s's service when I am out of home.","body":"I just used my Emacs to check my homelab computer k3s's service when I am out of home."},{"date":"2025-09-17","id":"weapp-vite-custom-config","kind":"note","links":[{"label":"Repository","url":"https://github.com/weapp-vite/weapp-vite"},{"label":"Merged PR #175","url":"https://github.com/weapp-vite/weapp-vite/pull/175"}],"topic":"making","url":"https://mayphus.org/notes/weapp-vite-custom-config/","title":"Fixing custom configuration in weapp-vite","body":"In September 2025, I contributed a small fix to weapp-vite, a Vite-based build tool for WeChat mini-programs. The merged patch made its build, dev, and generate commands honor custom configuration files through --config or -c, including resolving relative paths from the project root."},{"date":"2025-04-18","id":"x-1913133587630531003","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1913133587630531003"}],"topic":"making","url":"https://mayphus.org/notes/x-1913133587630531003/","title":"Just powered through a 50 KM ride.","body":"Just powered through a 50 KM ride. 🚴‍♂️✨ Legs on fire, heart full—cycling goals unlocked. #CyclingLife #Endurance"},{"body":"My first PCB and related RP2040 board experiments.","date":"2024-07-14","id":"x-1812430823221875191","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1812430823221875191"}],"topic":"making","url":"https://mayphus.org/entries/x-1881704765983510867/","title":"My first PCB."},{"date":"2025-01-14","id":"x-1879160110314086438","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1879160110314086438"}],"topic":"making","url":"https://mayphus.org/notes/x-1879160110314086438/","title":"Made my first ESP32.","body":"Made my first ESP32. Fail to boot."},{"body":"First day of 2025. Completed my first 3 kilometers running and booted my new Raspberry Pi Zero 2 W.","date":"2025-01-01","id":"x-1874248940180430948","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1874248940180430948"}],"topic":"making","url":"https://mayphus.org/entries/x-1874248940180430948/","title":"First day of 2025."},{"date":"2024-12-31","id":"youtube-Xxb1FfHzyvk","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/Xxb1FfHzyvk"}],"topic":"making","url":"https://mayphus.org/notes/youtube-Xxb1FfHzyvk/","title":"Booting my new Raspberry Pi Zero 2 W. What should I make? #raspberrypizero #diy #rpizero","body":"A YouTube Short."},{"date":"2024-12-25","id":"youtube-Rz1yJOCcIoo","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/Rz1yJOCcIoo"}],"topic":"making","url":"https://mayphus.org/notes/youtube-Rz1yJOCcIoo/","title":"I tear down my electric cervical neck massager #teardown #massager #diy","body":"A YouTube Short."},{"date":"2024-12-12","id":"youtube-EX4-KdCL83s","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/EX4-KdCL83s"}],"topic":"making","url":"https://mayphus.org/notes/youtube-EX4-KdCL83s/","title":"Repair my stuck MacBook key, easy but need practice and patience #macrepair #techrepair #diy","body":"A dated short clip about a stuck MacBook key. A second clip on the same date has a similar title, but the footage has not been compared, and neither title alone establishes a completed repair."},{"date":"2024-11-28","id":"x-1862113064197276142","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1862113064197276142"}],"topic":"making","url":"https://mayphus.org/notes/x-1862113064197276142/","title":"My DIY page turner.","body":"My DIY page turner. I think I need make a bluetooth version. #DIY"},{"date":"2024-11-14","id":"x-1857059847453265988","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1857059847453265988"}],"topic":"making","url":"https://mayphus.org/notes/x-1857059847453265988/","title":"3d print a Batman","body":"The archived photograph shows a flat white bat-emblem-shaped 3D print on a textured printer bed. The model author, licence, and whether this work involved designing or printing the model are not established by the record."},{"body":"Witness the Majestic Qiantang River Tidal Bore: Nature’s Ultimate Spectacle!","date":"2024-09-22","id":"x-1837765187329315034","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1837765187329315034"}],"topic":"life","url":"https://mayphus.org/entries/x-1837765187329315034/","title":"Witness the Majestic Qiantang River Tidal Bore: Nature’s Ultimate Spectacle!"},{"date":"2024-09-16","id":"x-1835700787638354328","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1835700787638354328"}],"topic":"making","url":"https://mayphus.org/notes/x-1835700787638354328/","title":"Working on my uniorg powered #astrojs website.","body":"Working on my uniorg powered #astrojs website. Website keeps minimal and been treated as an index list of my #org-mode notes."},{"date":"2024-09-12","id":"x-1834000596677898698","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1834000596677898698"},{"label":"Current infrastructure; this post records an earlier intention","url":"https://mayphus.org/infrastructure/"}],"topic":"making","url":"https://mayphus.org/notes/x-1834000596677898698/","title":"Switch from a content consumer to a content creator.","body":"Switch from a content consumer to a content creator.\n1. Build a #orgmode based website."},{"date":"2024-09-11","id":"x-1833651179747774906","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1833651179747774906"}],"topic":"making","url":"https://mayphus.org/notes/x-1833651179747774906/","title":"These containers should have gone to many corners of the world.","body":"These containers should have gone to many corners of the world. Then they must be more knowledgable than me."},{"body":"I love Thailand. Because it’s simple, convenient, free, relax, because people’s kindness, friendly.","date":"2024-05-07","id":"x-1787870398023184883","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1787870398023184883"}],"topic":"life","url":"https://mayphus.org/entries/x-1787870398023184883/","title":"I love Thailand."},{"date":"2024-04-26","id":"x-1783603658896339133","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1783603658896339133"}],"topic":"ideas","url":"https://mayphus.org/notes/x-1783603658896339133/","title":"Start to practice free talk.","body":"Start to practice free talk. This time with a more freely style, the main goal is output something useful content."},{"date":"2024-04-24","id":"x-1782803513543954635","kind":"x","links":[{"label":"Reply context","url":"https://x.com/i/status/1782790974978007176"},{"label":"Source","url":"https://x.com/mayphustang/status/1782803513543954635"}],"topic":"ideas","url":"https://mayphus.org/notes/x-1782803513543954635/","title":"@ollama Awesome, saved my old desktop.","body":"@ollama Awesome, saved my old desktop."},{"date":"2024-03-30","id":"youtube-89UrjrXWJ8Q","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/89UrjrXWJ8Q"}],"topic":"life","url":"https://mayphus.org/notes/youtube-89UrjrXWJ8Q/","title":"Lazy cat, busy weekend. #cat #weekend #wfh","body":"A YouTube Short."},{"date":"2024-03-30","id":"youtube-eE51821kRh0","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/eE51821kRh0"},{"label":"Same-day century-egg post; outcome not established","url":"https://mayphus.org/notes/x-1774076030225154167/"}],"topic":"life","url":"https://mayphus.org/notes/youtube-eE51821kRh0/","title":"Making Century Egg. Warping lime now, then wait for the magic of time. #centuryegg #chinesefood","body":"A YouTube Short."},{"date":"2024-03-30","id":"x-1774076030225154167","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1774076030225154167"},{"label":"Same-day century-egg video post; outcome not established","url":"https://mayphus.org/notes/youtube-eE51821kRh0/"}],"topic":"life","url":"https://mayphus.org/notes/x-1774076030225154167/","title":"Making Century Egg.","body":"Making Century Egg. Wait for the magic of time. #chinese"},{"date":"2024-03-30","id":"x-1774068875166134428","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1774068875166134428"}],"topic":"life","url":"https://mayphus.org/notes/x-1774068875166134428/","title":"Start running again.","body":"Start running again. This time mainly focus on health, and habit building. Ignore speed, ignore marathon."},{"date":"2024-03-30","id":"x-1773933965352788236","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1773933965352788236"}],"topic":"life","url":"https://mayphus.org/notes/x-1773933965352788236/","title":"A minimalism diet.","body":"A minimalism diet."},{"date":"2024-03-29","id":"x-1773392712856986105","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1773392712856986105"}],"topic":"ideas","url":"https://mayphus.org/notes/x-1773392712856986105/","title":"voice input is so great way to input text messages.","body":"voice input is so great way to input text messages. it also practices the English speaking skills."},{"date":"2024-03-27","id":"x-1772974412708388979","kind":"x","links":[{"label":"Source","url":"https://x.com/mayphustang/status/1772974412708388979"}],"topic":"making","url":"https://mayphus.org/notes/x-1772974412708388979/","title":"I love Emacs org-mode to take notes.","body":"I love Emacs org-mode to take notes. denote is my favorite tools, because I can use it start taking notes from minimal. Not like org-roam. #emacs #orgmode"},{"date":"2024-03-26","id":"youtube-vjCi8doRJLY","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/vjCi8doRJLY"}],"topic":"ideas","url":"https://mayphus.org/notes/youtube-vjCi8doRJLY/","title":"Chinese launch, tomato, eggs and rice. Eat with my big spoon. So delicious. #chinesefood #wfh","body":"A YouTube Short."},{"date":"2024-03-07","id":"youtube-O7I_83FCYAo","kind":"youtube","links":[{"label":"Source","url":"https://www.youtube.com/shorts/O7I_83FCYAo"}],"topic":"life","url":"https://mayphus.org/notes/youtube-O7I_83FCYAo/","title":"My cat snores","body":"A YouTube Short."},{"date":"2023-04-25","id":"walking-from-hangzhou-to-zhuji","kind":"note","links":[],"topic":"life","url":"https://mayphus.org/notes/walking-from-hangzhou-to-zhuji/","title":"Planned a 65.5-kilometer walk from Hangzhou to Zhuji.","body":"Planned a 65.5-kilometer walk from Hangzhou to Zhuji. I made it about 20 or 30 kilometers."},{"date":"2023-02-23","id":"early-bing-chat-and-chatgpt","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/notes/early-bing-chat-and-chatgpt/","title":"Early Bing Chat and ChatGPT experiments","body":"Early Bing Chat and ChatGPT experiments: connecting EdgeGPT to Emacs, then relaying messages between the two chatbots."},{"date":"2023-01-18","id":"gnu-guix-system-install","kind":"note","links":[{"label":"GNU Guix","url":"https://guix.gnu.org/"}],"topic":"making","url":"https://mayphus.org/notes/gnu-guix-system-install/","title":"Installing GNU Guix System on a workstation.","body":"Installing GNU Guix System on a workstation."},{"body":"Working like a professional in an abandoned office at university, trying to learn ROS. I turned the empty room into a three-monitor lab, worked through the ROS tutorials, and got turtlesim running. The setup looked serious; I was still learning from the beginning.","date":"2017-07-13","id":"learning-ros-office","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/entries/learning-ros-office/","title":"Working like a professional in an abandoned office at university, trying to learn ROS."},{"date":"2017-05-26","id":"university-linear-actuator","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/notes/university-linear-actuator/","title":"At university, I helped others get this linear actuator moving.","body":"At university, I helped others get this linear actuator moving. The work brought the whole control path onto one desk: code on the laptop and monitor, a power supply, controller boards, a breadboard, wiring, and the actuator itself."},{"body":"These photos are from a mechanical competition in November 2016. I built a tall wheeled robot from aluminum plate, steel rods, laser-cut wheels, gears, an AT89X51 controller, and ultrasonic sensors. The workbench photos show the mechanism and electronics coming together; the final photo shows the robot on the competition track.","date":"2016-11-10","id":"mechanical-competition","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/entries/mechanical-competition/","title":"These photos are from a mechanical competition in November 2016."},{"date":"2016-10-14","id":"first-at89x51","kind":"note","links":[],"topic":"making","url":"https://mayphus.org/notes/first-at89x51/","title":"My first time using an AT89X51 microcontroller.","body":"My first time using an AT89X51 microcontroller. I built and debugged the circuit on breadboards, surrounded by jumper wires, handwritten notes, a programmer, and a multimeter. The LEDs, seven-segment display, and ultrasonic sensors made the code visible in the physical world."},{"date":"2026-10-08","id":"local-media-ubuntu-usb-boot-probe","kind":"note","links":[{"label":"Full reconstruction article","url":"https://mayphus.org/local-media-ubuntu-install/"}],"topic":"making","url":"https://mayphus.org/notes/local-media-ubuntu-usb-boot-probe/","title":"A smaller USB boot probe","body":"After the installed guest from the [local-media Ubuntu reconstruction](https://mayphus.org/local-media-ubuntu-install/) exited, a separate diskless probe presented the same hybrid image through an emulated USB mass-storage device. It had no installation target or network adapter. The installer kernel reached its initial userspace handoff in approximately three seconds, and the probe was stopped there.\n\nThat establishes a virtual USB-storage boot path only. A full installation through this USB attachment was not tested. It says nothing conclusive about a physical SD slot, SD reader, firmware, USB Ethernet adapter, or a specific mini-PC model. No matching physical machine was tested."}]}