Puran
Today I Learned ArcGIS Earth Photos Reading Search Stats
  • 2025-04-03

    Tonight, we attended our first performance at the China National Opera House—a symphony and ballet set to The Yellow River. The music, staging, and dancing were breathtaking, and we left wanting to see it all over again.

    Since our e-bike couldn’t fit four, I planned to run home—but Hamer wanted to join. We waited backstage, caught glimpses of the dancers leaving, then walked home together, snacking on frozen grapes from 7-Eleven. We held hands, laughed, and skipped until she got tired. At Chuangshan Liquor Bar, we stopped for skewers and beer to rest.

    People are walking up and down an illuminated staircase leading to a large, ornate building with tall glass windows and lit architectural details.
    → 10:57 PM, Apr 6
    Also on Bluesky
  • The short holiday is coming, let’s go play with Hamer’s best friend.

    → 9:14 AM, Apr 4
    Also on Bluesky
  • 2025-04-02

    After dropping Hamer off at school this morning, I grabbed a big breakfast to share at home—more than we could finish.

    Most of the day was spent diving into the MCP C# SDK. While reviewing the official samples, I spotted a bug I initially planned to fix, only to find someone had already submitted a PR—so I added a supporting comment instead. I also spent time exploring how to integrate MCP with the Earth project but realized it’s not easy to integrate directly.

    In the evening, After shopping, we visited a print shop to print photos for Hamer.

    A red square sign with Chinese characters is mounted on a white wall above a fire extinguisher cabinet labeled in Chinese. 今天下午停水
    → 9:32 PM, Apr 2
    Also on Bluesky
  • 2025-04-01

    Hello, April.

    This morning, I woke up early and joined Hamer for a morning run. We ran and walked around 3 kilometers together—it was a joyful experience. On our walk back, she said the day felt like a weekend without school.

    At work, I learned I’ll be taking over the lead of a project. It didn’t hit me until I was added to the group, making me realize this new responsibility.

    In the evening, I grabbed some draft beer and skewers on a whim, and Xiaoyan couldn’t resist nibbling despite being full.

    There was a moment of misunderstanding with Hamer’s homework, where I was adamant I was right, but later discovered she was correct. I realized I need to listen to her more and not always assume my perspective is the right one.

    We also got our registration confirmed for the parent-child run at a local Half Marathon. Looking forward to it!

    A man and a child are smiling at the camera outdoors on a sunny morning.
    → 10:20 PM, Apr 1
    Also on Bluesky
  • Getting the schedule email didn’t make me excited. On the contrary, it made me a bit down when I saw the work area assigned.

    → 1:06 PM, Apr 1
    Also on Bluesky
  • Getting up early feels amazing! And going for a run with Hamer makes it even better. Hello, April!

    → 7:43 AM, Apr 1
    Also on Bluesky
  • 2025-03-31

    I spent the day optimizing the MCP server for ArcGIS Earth Automation API and troubleshooting data issues. Recorded demos using Claude as a client, which impressively handled polygon drawing and undo-delete commands.

    Evening brought news I wasn’t selected for the Beijing Half Marathon. After dinner with Xiaoyan, I helped Hamer with homework and fixed her alarm. When she wanted to join my run but hesitated, we planned a morning run for April 1st instead.

    らーめん
&10;いっぱいたましい(一杯魂)
&10;らーめん ぎょうざ(らーめん 餃子)
&10;こだわりの そざいを つかいました(こだわりの素材を使いました)
&10;あじじまん(味自慢)
&10;ごくじょうラーメン(極上ラーメン)
    → 9:52 PM, Mar 31
    Also on Bluesky
  • 2025-03-30

    Today was a leisurely Sunday that began with sleeping in until Hamer asked for help reading her textbook. Initially, I suggested she practice independently, which led her to seek Grandma’s assistance before proudly returning to demonstrate her progress.

    My coffee experiment failed due to using espresso beans and too-fine grounds for pour-over brewing. At noon, we visited the Beijing Minsheng Art Museum for “The Origin of Civilization” exhibition, where LEGO recreations of archaeological sites and a bronze figure installation particularly impressed me.

    After lunch at Sunrise Ramen in its new Wangjing location, we explored 798 Art District. At Berry Bean café, Hamer bonded with a dog named Huahua while I admired specialty bikes. The day concluded at Tiaohai Bar, where we unexpectedly stayed for a dance concert featuring memorable performances by SkyChildren, NoGender, and a duet by Quqi and Erhan.

    Two people are posing playfully in front of large, colorful, transparent panels in a well-lit room.
    → 9:42 PM, Mar 31
    Also on Bluesky
  • 2025-03-29

    This morning, Hamer and I used GPT-4o to enhance one of her drawings—she was amazed, though she noticed its text recognition could be better. After breakfast at Xiaoguan Market, we met her classmate. Hamer didn’t join the group play, preferring one-on-one time, but still enjoyed observing.

    The wind on our way back was intense, and Xiaoyan later got her braces replaced. In the afternoon, I played in a football match with the CUGB alumni team after a four-year break—starting as goalkeeper and easing back into the game.

    Since neither of us could take Hamer to dance, Grandma stepped in. Last night, Hamer cried about it, but Xiaoyan had a clever solution: Grandma would take her to class, and later they’d go to The Box to visit Miniso.

    In the evening, we all played doubles at a new badminton gym, then grabbed barbecue on the way home—a relaxing end to a full day.

    trying to use GPT-4o to create a color platte
    → 9:41 PM, Mar 31
    Also on Bluesky
  • 2025-03-28

    Today, I continued working hands-on with the MCP server, this time using the ArcGIS Earth Automation API as the application scenario. I used Cursor together with Claude 3.7 Sonnet, referencing the official Model Context Protocol servers' Python SDK to carry out some Vibe Coding. By the end of the workday, I had successfully run through the core workflow. There’s still some polishing to do before submission, but it’s coming together nicely. I tested the setup using the MCP Inspector, which worked quite well. Toward the end of the day, I switched back to using Claude as the MCP Client for another round of testing. It was genuinely exciting to see Claude follow my instructions, call various tools, and interact with Earth—I could hardly wait to complete the whole workflow!

    As usual, I went to the gym at noon. I didn’t work out much, but the key thing is maintaining the habit.

    In the evening, it got really cold. I had originally planned to go pick up Xiaoyan from Sanlitun, but halfway there, I felt frozen and asked her to take the subway instead—I met her at the station. After dinner, Hamer continued putting up English conversation stickers with me. She had even called me after school to remind me to come home early so we could do it together. I had intended to watch a movie afterward, but Hamer came running over, asking to join. In the end, we watched the animated film Goldie together.

    Hamer made herself a cloth
    → 10:38 PM, Mar 28
    Also on Bluesky
  • 2025-03-27

    Today, I was completely immersed in developing an MCP server for ArcGIS Location Services, to the point of practically skipping meals and breaks. By the end of the workday, I had finally built a simple, functional version. In the evening, I also tried submitting it to Smithery, though I still need to figure out how to properly use the deployed server—something I’ll dig into later.

    Throughout the development process, I used uv to manage the Python project. The implementation was based on the ArcGIS Services Postman Collection, and I relied heavily on conversations with Claude and the Edit Mode in Cursor to guide my work. One of the trickiest parts was that the Postman Collection didn’t provide complete parameter details to the LLM, which led to a lot of misconfigured requests that took quite a bit of time to debug.

    I used Claude Desktop as an MCP Client to test the server and found that using conversational prompts to drive the LLM for testing was a surprisingly fun experience. However, debugging wasn’t the most convenient, so I’m planning to try out the MCP Inspector to streamline the process going forward.

    This morning, I also joined the CUGB Beijing Alumni Soccer Team group chat. The admin was super welcoming and gave me a great intro to the team, along with some useful info. I signed up to play in a match this Saturday afternoon—looking forward to getting out on the field and meeting everyone.

    In the evening, the On Running shoes Xiaoyan ordered for me arrived. The fit was perfect, and I really liked how they felt—so much so that I kept walking around the house in them all night. Later on, Hamer and I put up some immersive English-language stickers around the house for speaking practice. It was a fun little parent-child activity.

    Pictures enhanced by ChatGPT 4o Image Generation (the first 2 are BoJack Horseman style)
    → 11:01 PM, Mar 27
    Also on Bluesky
  • 2025-03-26

    I was tired in the afternoon from poor sleep and felt it during badminton, though I did test Xiaoyan’s new racket and liked it.

    I also published my half-marathon training plans on GitHub Gist, upgraded Claude to Pro, and used it as an MCP Client—its power impressed me.

    In the evening, Hamer and I shopped at Hema after dinner.

    Branches of a tree with budding pink flowers against a clear sky.
    → 10:38 PM, Mar 26
    Also on Bluesky
  • 2025-03-25

    I woke up after 4 a.m. and couldn’t fall back asleep. Around 5, Hamer had two nosebleeds, so I stayed with her until daylight. She got ready early for a field trip, and I spent the day building a half-marathon plan and researching badminton gear.

    I also fixed a symbology issue at work and studied HybridWebView.

    In the evening, I joined a community-organized badminton session for the first time. The event had great energy, friendly people, and even snacks and beer. I was impressed by the group leader’s dedication—he didn’t play but focused on serving everyone else.

    snacks and beer for the community badminton game
    → 8:28 AM, Mar 26
    Also on Bluesky
  • 2025-03-24

    This morning, Hamer had a nosebleed but quickly recovered. We overslept and had to rush to get her to school.

    I researched local badminton groups and found two promising platforms.

    At work, I worked on understanding an NMEA date read error, gaining insights into GPGGA, GPGSA, and GPRMC.

    I left work early today, headed home with Xiaoyan, and took Hamer to buy a 16K vocabulary notebook, which she loved.

    During lunch, I read an article on Trump’s education policy—initially, it seemed absurd to me, but after reading, I saw some valid points and realized my first impression was too hasty.

    → 9:39 PM, Mar 24
    Also on Bluesky
  • 2025-03-24 TIL: Exploring .NET SDK Global.json, Google Map Tiles, and Vibe Coding

    2025-03-24 TIL: Exploring .NET SDK Global.json, Google Map Tiles, and Vibe Coding

    💻

    .NET SDK global.json

    In the context of the .NET SDK, global.json is a file that allows you to specify which .NET SDK version to use when running .NET CLI commands, ensuring consistent builds across different development environments. 

    • The .NET CLI searches for a global.json file in the current working directory (which isn’t necessarily the same as the project directory) or one of its parent directories. 
    • The global.json file allows you to specify the desired SDK version, ensuring that all developers and CI/CD pipelines use the same SDK version, which helps avoid build inconsistencies. 
    • A basic global.json file might look like this: 
    {
      "sdk": {
        "version": "8.0.404"
      }
    }
    

    Google Map Tiles

    Google offers 2D, 3D (Photorealistic), and Street View tiles via the Map Tiles API, enabling developers to build immersive and customized map visualizations, including access to roadmap, terrain, satellite imagery, and street-level views

    2D Tiles:

    • Image files that divide the world into an indexed grid, offering roadmap, terrain, and satellite imagery.
    • Ideal for basic map visualizations, navigation interfaces, and geographic data display.

    Photorealistic 3D Tiles:

    • 3D meshes textured with high-resolution imagery (OGC 3D Tiles format), providing realistic views of buildings, monuments, and landmarks.
    • Useful for stunning 3D perspectives, enhanced navigation, and storytelling.
    • Demo: Photorealistic 3D Tiles demo.

    Street View Tiles:

    • Panoramic street-level images that allow users to explore landmarks, natural wonders, and interiors of places like museums or restaurants.
    • Used for immersive experiences, virtual tours, and detailed location views.

    Vibe Coding

    Andrej Karpathy

    There’s a new kind of coding I call “vibe coding”, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It’s possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good.

    Semantic Diffusion

    …while complaining about how the definition of “vibe coding” is already being distorted to mean “any time an LLM writes code” as opposed to the intended meaning of “code I wrote with an LLM without even reviewing what it wrote”.

    “Official” illustrative GIF

    Personally I use “vibe coding” when I feel like this dog.

    → 9:09 PM, Mar 24
  • 2025-03-23

    Today, Hamer and I hiked Baiwang Mountain with friends, enjoying a relaxed but fading peach blossom view. Later, we joined a lively pizza-making session, then played at Taiyanggong Park badminton near Ditan Park. Meanwhile, Xiaoyan slept nearly the entire day, only getting up in the evening.

    Hamer is trying to write down what's she found changes of Vernal
    → 11:12 PM, Mar 23
  • 2025-03-22

    Today was productive. After a morning nap, I read and took notes on A Road to Classical Music, carefully analyzing the third track while listening to the corresponding pieces, which deepened my understanding.

    In the afternoon, I took Hamer to dance class, then we got a haircut and hair wash. After that, we rushed to the hospital for my allergic rhinitis, and Hamer got a pit and fissure sealant.

    On the way home, we took a quick stroll through Liuyin Park, then later went to pick up Xiaoyan from her business trip in Inner Mongolia.

    In the morning, Hamer’s grandma took her to Decathlon and bought her a skateboard. I wasn’t keen on the idea, but since it was already done, I let it go.

    Hamer's painting on herself and me
    → 10:51 PM, Mar 22
    Also on Bluesky
  • 2025-03-31

    Today was both relaxed and busy—relaxed in the morning, when I had time to ease into the day and chat with Xiaoyan, but busy in the afternoon as I rushed to update icons and fix bugs, barely finishing by 8 PM.

    In the morning, I set up MAUI, finally getting the test app running and experimenting with HybridWebView. Using ChatGPT 4.5 and Gemini 2.0 Flash, I brainstormed a test setup—the results exceeded expectations, with Gemini 2.0 Flash even generating a professional 10-page document.

    In the evening, I joined colleagues for barbecue after working overtime. We had a lively conversation about work, family, and personal interests, losing track of time until almost midnight.

    A restaurant scene features tables cluttered with empty beer bottles, used dishes, and leftover food remnants, indicating a recently finished meal.
    → 12:38 AM, Mar 22
    Also on Bluesky
  • 🌍 #ArcGISEarth230Tips | Tip 43: Open & Share Maps Instantly with ArcGIS Earth App Links! 🔗📲

    Did you know?

    With ArcGIS Earth Mobile, you can use App Links to launch the app with preset views, add data automatically, and share locations or layers with a single tap—making it easier than ever to integrate GIS workflows across mobile applications.

    🛠️ How to Use App Links in ArcGIS Earth Mobile

    1️⃣ Launch ArcGIS Earth Using an App Link

    • Open ArcGIS Earth from a web-style URL: https://earth.arcgis.app/?{parameters}.
    • If the app is not installed, the link will redirect to the download page on the App Store, Google Play, or Microsoft Store.

    2️⃣ Use App Links with Parameters

    • Customize a link to open ArcGIS Earth at a specific viewpoint, load a dataset, or adjust the camera view.
    • Example: https://earth.arcgis.app/?viewpoint=cam:116.1156,39.2429,48632.27;10.46,68.09&url=https://www.arcgis.com/home/item.html?id=fdf0409b2dd940b2a9bc31f63152f08c

    3️⃣ Share a View with QR Codes

    • Capture & share your current map view by generating a QR code.
    • Scan the QR code with a mobile device to instantly open the same view in ArcGIS Earth.

    4️⃣ Share & Load Online Data via App Links

    • Long-press a layer in the Table of Contents to generate a shareable QR code with an App Link.
    • Scan the QR code to open ArcGIS Earth and automatically add the data to the scene.

    🚀 Pro Tips

    1️⃣ Use App Links in reports, emails, or field apps to seamlessly open ArcGIS Earth at predefined locations with relevant data. 2️⃣ Encode the parameters properly using the ArcGIS Arcade UrlEncode function.

    Screenshot of Îles Tubuaï, French Polynesia, from ArcGIS Earth
    → 12:04 AM, Mar 22
    Also on Bluesky
  • 2025-03-20

    Today marked Code Freeze, with everyone focused on finalizing features and fixing bugs. One by one, people wrapped up between 7 PM and 11 PM.

    Before badminton, I completed the new UI development—a major task finally off my plate. Along the way, I learned that when setting Window transparency, AllowTransparency must be specified before configuring a semi-transparent Background.

    This morning I woke up early, still thinking about last night’s implementation. Hamer woke up too, and we sat together—me working, her snacking. Later, I got some good news: my team included me to attend the UC. While not as excited as before, I still look forward to possibly going with Xiaoyan and Hamer.

    → 12:00 AM, Mar 21
    Also on Bluesky
  • 🌍 #ArcGISEarth230Tips | Tip 42: Discover & Explore Geospatial Content with ArcGIS Gallery! 📂📲

    Did you know?

    The ArcGIS Gallery, kindly called the Mini Stage, provides an easy way to discover and explore ready-to-use 3D content—perfect for new users and those looking for quick access to authoritative geospatial data for analysis, planning, and presentations.

    🛠️ How to Use ArcGIS Gallery in ArcGIS Earth Mobile

    1️⃣ Access the ArcGIS Gallery

    • First-time users: The Mini Stage appears after installation, suggesting six recommended datasets—four for default scenes and two for AR Mode.
    • Anytime access: Open My Account → Tap Explore ArcGIS Gallery 📂.

    2️⃣ Add Data from the Gallery

    • Tap a recommended dataset to load it into the 2D or 3D scene.
    • Select AR-labeled content to visualize data in Augmented Reality Mode.
    • Tap More to explore additional datasets through the Portal page.
    Screenshot of Dhofar Governorate, Oman, from ArcGIS Earth
    → 11:44 PM, Mar 20
    Also on Bluesky
  • 2025-03-19

    I started the day early, determined to finish the Streaming Control work. After rushing through the final touches, I submitted a PR by late morning and discussed revisions with colleagues. By evening, the PR was merged, marking the completion of this feature.

    Before leaving work, a colleague shared a new UI design—great but tricky to implement. Using Cursor, I quickly built an initial version that turned out well. After dinner, I returned to refine it, but over-tweaking led to losing the good version. Frustrated but learning, I experimented with Gemini and ChatGPT for reference code, realizing I prefer interactive debugging over Cursor’s automated Vibe Coding.

    Meanwhile, Hamer and her classmate went to painting class, had dinner, and even went shopping at Hema together.

    → 11:52 PM, Mar 19
    Also on Bluesky
  • 🌍 #ArcGISEarth230Tips | Tip 41: Bring Your GIS Data to Life with AR Mode! 📡📲

    Did you know?

    With ArcGIS Earth Mobile, you can visualize 3D GIS data in Augmented Reality (AR) Mode, allowing you to interact with spatial content in the real world! Plus, you can now record videos and capture snapshots directly within the app to share your AR experiences effortlessly.

    🛠️ How to Use AR Mode in ArcGIS Earth Mobile

    1️⃣ Enter AR Mode

    • Option 1: Select AR data from the ArcGIS Gallery when launching the app.
    • Option 2: Long-press or swipe left on a layer in the Table of Contents to activate AR mode.

    2️⃣ Visualize & Interact with Data

    • Scan your surroundings to detect a flat surface for placing data.
    • Tap to place a KML, 3D model, or scene layer in AR.
    • Use gestures to move, scale, and rotate the 3D content for better alignment.

    3️⃣ Capture & Share Your AR Experience

    • 📸 Take a Screenshot – Instantly capture a high-resolution snapshot of your AR scene.
    • 🎥 Record a Video – Use the built-in screen recording tool to capture AR animations and save them directly to your device.
    • 🚀 One-Click Sharing – Easily share your AR visuals with colleagues, stakeholders, or social media.

    🚀 Pro Tips

    1️⃣ Use AR mode for site planning, asset visualization, and interactive presentations.

    Screenshot of Sadhna, India, from ArcGIS Earth
    → 10:56 PM, Mar 19
    Also on Bluesky
  • 2025-03-18

    I started the day early, studying MAUI to deepen my understanding. Most of my work focused on Streaming Control, and by evening, I had sorted out most of the details—just a few bug fixes left before submitting a PR tomorrow.

    At noon, I played table tennis, and time flew by. After work, I came home to find Xiaoyan watching Moana with Hamer. Strangely, Hamer stood the whole time—too scared to watch but unable to look away. She eventually cried, took the remote, then calmed down and turned off the TV herself. Later, my sister-in-law video-called, and seeing Yoyo lifted my mood.

    Hamer surprised me with a heartfelt remark about how much I’ve been doing for her lately. Meanwhile, Xiaoyan and I had a playful chat—her teasing tone made the conversation especially fun.

    → 11:11 PM, Mar 18
    Also on Bluesky
  • 2025-03-18

    I started the day early, studying MAUI to deepen my understanding. Most of my work focused on Streaming Control, and by evening, I had sorted out most of the details—just a few bug fixes left before submitting a PR tomorrow.

    At noon, I played table tennis, and time flew by. After work, I came home to find Xiaoyan watching Moana with Hamer. Strangely, Hamer stood the whole time—too scared to watch but unable to look away. She eventually cried, took the remote, then calmed down and turned off the TV herself. Later, my sister-in-law video-called, and seeing Yoyo lifted my mood.

    Hamer surprised me with a heartfelt remark about how much I’ve been doing for her lately. Meanwhile, Xiaoyan and I had a playful chat—her teasing tone made the conversation especially fun.

    A girl wearing a striped shirt and gloves is putting up a festive red sign on a wall, next to traditional red lantern decorations.
    → 11:01 PM, Mar 18
    Also on Bluesky
← Newer Posts Page 6 of 39 Older Posts →
  • RSS
  • JSON Feed
  • Lucky
  • Archive
  • About