Puran
TIL ArcGIS Earth Photos Reading Search Stats
  • Xiaoyan had surgery yesterday, and at first we both treated it lightly, thinking it was no different from a previous endoscopy. Even so, it was still surgery, with anesthesia, risks, and recovery. The seriousness only really settled in when she entered the operating room and I waited outside. She stayed calm the whole time, which helped. After weeks of intense work, this felt like an unexpected pause—a chance, at year’s end, for her to rest in a different way.

    → 1:37 PM, Dec 30
    Also on Bluesky
  • Recent personal best: A marathon-length journey across Beijing!

    A GPS map shows a tracked route forming a square or rectangle with a starting and ending point marked by a green and red dot.
    → 9:12 PM, Dec 28
    Also on Bluesky
  • Hamer woke up a little earlier than usual this morning. After tossing and turning for a while, she said she wanted to check for presents. She padded into the living room and returned a moment later, announcing with quiet certainty that Santa had really brought her a Little Genius watch.

    → 8:13 AM, Dec 25
    Also on Bluesky
  • Merry Christmas

    → 9:18 PM, Dec 24
    Also on Bluesky
  • My year with ChatGPT

    My Year in Poetry

    This year, you let your thoughts flow into rivers, Weaving maps and intelligence into song.

    From the faint glimmer of NMEA to the blazing fire of Magentic, Every line of code carried quiet determination. Through exploration, you measured the world— And, along the way, discovered yourself.

    “Still Life with a Map Compass and a Coffee Mug” - ChatGPT, 2025

    A digital artwork features a cozy scene with a coffee mug, a compass, a scroll labeled JSON, and a small robot on a table against a nighttime backdrop.
    → 8:51 PM, Dec 24
    Also on Bluesky
  • It’s too cold to take an e-bike ride in the winter in Beijing if you forget to bring a pair of gloves.

    → 8:00 AM, Dec 24
    Also on Bluesky
  • TIL: Customizing Claude Code Models

    There are two ways to customise the models used by Claude Code.

    1. Simple alias

    This is a quick setup using environment variables for the API token and base URL.

    On macOS, edit your shell configuration file: vim ~/.zshrc.

    Add the following aliases:

    alias claude="$HOME/.claude/local/claude"
    
    export PATH="$HOME/.claude/local:$PATH"
    alias kimi="ANTHROPIC_AUTH_TOKEN=<api-key> ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic claude"
    
    export PATH="$HOME/.claude/local:$PATH"
    alias bigmodel="ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic ANTHROPIC_AUTH_TOKEN=<api-key> claude"
    
    export PATH="$HOME/.claude/local:$PATH"
    alias minimax="ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic ANTHROPIC_AUTH_TOKEN=<api-key> claude"
    

    This approach is lightweight and convenient when you only need to switch endpoints or tokens quickly.

    2. Full Configuration via Environment Settings

    This method allows you to configure Claude Code with complete, reusable environments.

    Steps:

    1. Create a settings JSON file for each model
    2. Define aliases to launch Claude Code with those settings

    Create Model Settings Files

    Under the ~/.claude directory, create a models folder to store configuration files for different models.

    bigmodel.json

    {
        "env": {
            "ANTHROPIC_AUTH_TOKEN": "<api-key>",
            "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
            "API_TIMEOUT_MS": "3000000",
            "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
        }
    }
    

    kimi.json

    {
        "env": {
            "ANTHROPIC_BASE_URL": "https://api.moonshot.cn/anthropic",
            "ANTHROPIC_AUTH_TOKEN": "<api-key>",
            "ANTHROPIC_MODEL": "kimi-k2-thinking-turbo",
            "ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k2-thinking-turbo",
            "ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k2-thinking-turbo",
            "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kimi-k2-thinking-turbo",
            "CLAUDE_CODE_SUBAGENT_MODEL": "kimi-k2-thinking-turbo"
        }
    }
    

    minimax.json

    {
        "env": {
            "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
            "ANTHROPIC_AUTH_TOKEN": "<api-key>",
            "API_TIMEOUT_MS": "3000000",
            "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
            "ANTHROPIC_MODEL": "MiniMax-M2.1",
            "ANTHROPIC_SMALL_FAST_MODEL": "MiniMax-M2.1",
            "ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2.1",
            "ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2.1",
            "ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2.1"
        }
    }
    

    Add Aliases to Use the Settings

    Edit ~/.zshrc again: vim ~/.zshrc.

    alias cc-kimi="claude --settings $HOME/.claude/models/kimi.json"
    
    alias cc-bigmodel="claude --settings $HOME/.claude/models/bigmodel.json"
    
    alias cc-minimax="claude --settings $HOME/.claude/models/minimax.json"
    

    This approach is ideal when you need fine-grained control, consistent defaults, or multiple model profiles.

    → 11:33 PM, Dec 23
    Also on Bluesky
  • Before going to the bathroom in the morning, Hamer deliberately ran to the windowsill to check whether it had snowed. Seeing nothing. When we were ready to leave for school and stepped outside, we noticed snow resting on the electric scooter. It turned out the snow had fallen quietly overnight.

    → 8:19 AM, Dec 23
    Also on Bluesky
  • This morning, I tried to do Hamer’s bun hairstyle. At first, I wasn’t sure how to make it work. Then I tried putting on a hair net first, and to my surprise, it worked—though it was a bit loose. I had failed many times before and could never get the hair to stay up.

    → 8:27 AM, Dec 17
    Also on Bluesky
  • The weather was great today, and I made a spontaneous decision to go for a run in the afternoon. I ran along the eastern side of the Second Ring greenway all the way to the Temple of Heaven to meet Xiaoyan and Hamer, who were watching a ballet performance.

    A person wearing glasses and a jacket takes a selfie with a traditional building and several people in the background.
    → 6:27 PM, Dec 14
    Also on Bluesky
  • Beijing saw its first snowfall of the year today. What began as light snow around noon continued through the evening and slowly built up. By nighttime, the city was covered in white, thick enough to make a snowball fight possible.

    → 11:52 PM, Dec 12
    Also on Bluesky
  • Winter’s limited-edition magic: rub back to back, then share a face-to-face kiss — and sparks will fly.

    → 8:25 AM, Dec 12
    Also on Bluesky
  • I’m so glad that I went to the gym, even if it was only for 10 minutes, after spending two hours debugging on the Prism module issue without making any progress.

    → 1:34 PM, Dec 9
    Also on Bluesky
  • Hamer can also sing a little bit of the “ee…” part.

    → 1:18 PM, Dec 8
    Also on Bluesky
  • During these days, I’ve found that ChatGPT feels like my work partner, helping me handle daily tasks, while Claude is more like my personal assistant, helping me reflect on my thoughts about life.

    → 11:59 AM, Dec 6
    Also on Bluesky
  • Spotify 2025 Wrapped, 50,314 minutes listened with BIRDS OF A FEATHER as the top song, Messy as the top Album, Taylor Swift as the top Artist.

    → 9:37 PM, Dec 4
    Also on Bluesky
  • YouTube 2025 RECAP, The Wonder Seeker with Sporty, Tech-savvy, and Entertained.

    → 9:34 PM, Dec 4
    Also on Bluesky
  • Nice catch! I just got the frisbee back from my former teammate, who helped me get it signed two years ago. Time really flies, and I realize how much I miss those frisbee days. 🥏

    → 9:46 PM, Dec 3
    Also on Bluesky
  • Hamer is working so hard to finish her homework.

    → 11:17 PM, Dec 2
    Also on Bluesky
  • Today is really cold. It’s -6, but feels like -9.🥶

    → 8:30 AM, Dec 2
    Also on Bluesky
  • 🍿 We watched Zootopia 2 at the cinema this afternoon. Hamer was free. I loved the “A zoo, ooh, ooh” part of the main song, “Zoo.”

    → 5:53 PM, Nov 30
    Also on Bluesky
  • We upgraded our home network this afternoon using a Fiber to the Room (FTTR) solution, with one master and one salve unit. We are now experiencung better Wi-Fi and smoother AirPlay music streaming.

    → 5:46 PM, Nov 30
    Also on Bluesky
  • The Second Ring Greenway & 北京市级绿道系统规划

    → 12:06 PM, Nov 29
    Also on Bluesky
  • I loved how spontaneous their two-day trip was. Hamer couldn’t go to school, and Xiaoyan had a concert to attend, so they just went for it without thinking too much. They left in the morning, came back the next evening, and were back to their normal routine on the third day. It felt simple, quick, and surprisingly magical.

    → 9:05 AM, Nov 29
    Also on Bluesky
  • Hamer came down with a fever on Sunday, and we were worried she might have caught influenza A from me. Thankfully, it was just indigestion, and she felt better after throwing up.

    Hamer still needs three days of rest, so Xiaoyan plans to take her to Shanghai tomorrow—something Hamer is excited about. When I asked her whether she would still want to go if she weren’t sick and simply took two days off, she said no.

    I worked from home with Hamer today, which I haven’t done in a long time. It took a full morning to adjust, but by the afternoon everything felt back on track.

    → 10:54 PM, Nov 24
Page 1 of 41 Older Posts →
  • RSS
  • JSON Feed
  • Lucky
  • Archive
  • About