<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Beyond Coordinates</title><description>A personal blog about maps, graphics, software engineering, and the ideas that connect them.</description><link>https://littlepotato.me/</link><item><title>Why React Compiler Can Render Stale Data in MobX observer Components</title><link>https://littlepotato.me/posts/react-compiler-mobx-memoization/</link><guid isPermaLink="true">https://littlepotato.me/posts/react-compiler-mobx-memoization/</guid><description>A minimal reproduction of React Compiler caching stale JSX around MobX observer, why interior mutability conflicts with memoization, and the practical fixes available today.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Web Gaussian Splatting: Cesium 3D Tiles vs. SparkJS 2.0</title><link>https://littlepotato.me/posts/%E5%89%8D%E7%AB%AF%E9%AB%98%E6%96%AF%E6%B3%BC%E6%BA%85%E6%B8%B2%E6%9F%93%E6%96%B9%E6%A1%88%E5%AF%B9%E6%AF%94cesium-3d-tiles-vs-sparkjs-2-0/</link><guid isPermaLink="true">https://littlepotato.me/posts/%E5%89%8D%E7%AB%AF%E9%AB%98%E6%96%AF%E6%B3%BC%E6%BA%85%E6%B8%B2%E6%9F%93%E6%96%B9%E6%A1%88%E5%AF%B9%E6%AF%94cesium-3d-tiles-vs-sparkjs-2-0/</guid><description>A technical comparison of Cesium&apos;s standards-based 3D Tiles pipeline and SparkJS 2.0&apos;s renderer-native, paged Gaussian-splat runtime.</description><pubDate>Fri, 12 Jun 2026 01:38:58 GMT</pubDate></item><item><title>How Mapbox Renders 3D Interchanges</title><link>https://littlepotato.me/posts/mapbox-3d-intersections/</link><guid isPermaLink="true">https://littlepotato.me/posts/mapbox-3d-intersections/</guid><description>An analysis of Mapbox&apos;s lane-level HD road data, elevation features, styles, and rendering pipeline for 3D interchanges.</description><pubDate>Mon, 23 Jun 2025 08:48:29 GMT</pubDate></item><item><title>C++ Concurrency Study Notes</title><link>https://littlepotato.me/posts/reading-cpp-concurrency/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-cpp-concurrency/</guid><description>A reading outline covering C++ concurrency, synchronization, atomics, parallel algorithms, and concurrent data structures.</description><pubDate>Wed, 19 Mar 2025 15:44:12 GMT</pubDate></item><item><title>Quadtrees and Collision Detection</title><link>https://littlepotato.me/posts/quadtree-and-collision-detection/</link><guid isPermaLink="true">https://littlepotato.me/posts/quadtree-and-collision-detection/</guid><description>Designing a quadtree for spatial partitioning, range queries, and collision detection, with implementation tradeoffs in C++.</description><pubDate>Mon, 10 Mar 2025 14:00:29 GMT</pubDate></item><item><title>WebAssembly Study Notes</title><link>https://littlepotato.me/posts/webassembly-note/</link><guid isPermaLink="true">https://littlepotato.me/posts/webassembly-note/</guid><description>Notes on WebAssembly modules, memory, JavaScript interoperability, toolchains, performance, and browser execution.</description><pubDate>Wed, 05 Mar 2025 09:49:16 GMT</pubDate></item><item><title>Understanding C++ Rvalue References and std::move</title><link>https://littlepotato.me/posts/rvalue-references-std-move/</link><guid isPermaLink="true">https://littlepotato.me/posts/rvalue-references-std-move/</guid><description>How rvalue references, std::move, and move semantics improve resource management in modern C++.</description><pubDate>Mon, 03 Mar 2025 14:28:26 GMT</pubDate></item><item><title>Notes on Natural Language Processing</title><link>https://littlepotato.me/posts/reading-note-nlp/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-note-nlp/</guid><description>Books and an outline of notes on natural language processing.</description><pubDate>Sun, 02 Mar 2025 09:21:04 GMT</pubDate></item><item><title>Poor pigs</title><link>https://littlepotato.me/posts/poor-pigs/</link><guid isPermaLink="true">https://littlepotato.me/posts/poor-pigs/</guid><description>Aren&apos;t we all just poor pigs? Touch too many sensitive words, and you might not survive either.</description><pubDate>Sun, 02 Mar 2025 09:19:49 GMT</pubDate></item><item><title>Polygon Triangulation on a Sphere vs. a Plane</title><link>https://littlepotato.me/posts/polygon-triangulation-on-the-sphere/</link><guid isPermaLink="true">https://littlepotato.me/posts/polygon-triangulation-on-the-sphere/</guid><description>Why planar triangulation distorts polygons on a globe, and how subdivision and spherical interpolation improve the result.</description><pubDate>Fri, 28 Feb 2025 10:17:38 GMT</pubDate></item><item><title>How Assuming the Earth Is Flat Speeds Up deck.gl Rendering</title><link>https://littlepotato.me/posts/assuming-the-earth-is-flat-helps-speed-up-rendering-in-deck-gl/</link><guid isPermaLink="true">https://littlepotato.me/posts/assuming-the-earth-is-flat-helps-speed-up-rendering-in-deck-gl/</guid><description>How deck.gl balances Web Mercator projection cost and WebGL floating-point precision with an automatic offset coordinate system.</description><pubDate>Mon, 24 Feb 2025 08:00:58 GMT</pubDate></item><item><title>Interoperability Between C++ and JavaScript in V8</title><link>https://littlepotato.me/posts/v8-%E5%BC%95%E6%93%8E%E4%B8%AD-c-%E5%92%8C-js-%E7%9A%84%E4%BA%A4%E4%BA%92/</link><guid isPermaLink="true">https://littlepotato.me/posts/v8-%E5%BC%95%E6%93%8E%E4%B8%AD-c-%E5%92%8C-js-%E7%9A%84%E4%BA%A4%E4%BA%92/</guid><description>How V8 maps values, exposes C++ variables, functions, and classes to JavaScript, and invokes JavaScript callbacks from C++.</description><pubDate>Mon, 24 Feb 2025 07:58:16 GMT</pubDate></item><item><title>Advanced Thread Safety in C++</title><link>https://littlepotato.me/posts/advanced-thread-safety-in-cpp/</link><guid isPermaLink="true">https://littlepotato.me/posts/advanced-thread-safety-in-cpp/</guid><description>Advanced techniques for protecting shared state in C++, including mutex discipline, deadlock avoidance, and thread-safe object design.</description><pubDate>Sat, 22 Feb 2025 11:48:50 GMT</pubDate></item><item><title>Spatial Search Algorithms: Querying Millions of Points Instantly</title><link>https://littlepotato.me/posts/spatial-search-algorithms/</link><guid isPermaLink="true">https://littlepotato.me/posts/spatial-search-algorithms/</guid><description>A practical comparison of spatial indexing strategies for efficient point and geometry queries at large scale.</description><pubDate>Tue, 18 Feb 2025 14:35:39 GMT</pubDate></item><item><title>C++20: Building a Thread Pool with Coroutines</title><link>https://littlepotato.me/posts/building-a-thread-pool-with-coroutines/</link><guid isPermaLink="true">https://littlepotato.me/posts/building-a-thread-pool-with-coroutines/</guid><description>A minimal thread-pool implementation based on cppcoro concepts, designed to explain the essential mechanics of C++20 coroutines.</description><pubDate>Tue, 18 Feb 2025 14:34:49 GMT</pubDate></item><item><title>Running a Web Crawler on a Cloud Server</title><link>https://littlepotato.me/posts/cloud-server-web-crawler/</link><guid isPermaLink="true">https://littlepotato.me/posts/cloud-server-web-crawler/</guid><description>Notes on moving a multithreaded web-crawling and upload workload to Google Cloud Platform.</description><pubDate>Tue, 18 Feb 2025 14:33:48 GMT</pubDate></item><item><title>Publishing Mapbox-Compatible Vector Tiles with GeoServer</title><link>https://littlepotato.me/posts/publish-mapbox-tile-by-geoserver/</link><guid isPermaLink="true">https://littlepotato.me/posts/publish-mapbox-tile-by-geoserver/</guid><description>A practical walkthrough for publishing a Mapbox-compatible vector tile service with GeoServer.</description><pubDate>Tue, 18 Feb 2025 14:32:47 GMT</pubDate></item><item><title>The Lifecycle of a Mapbox Vector Tile</title><link>https://littlepotato.me/posts/mapbox-life-of-a-tile/</link><guid isPermaLink="true">https://littlepotato.me/posts/mapbox-life-of-a-tile/</guid><description>How Mapbox GL JS requests, parses, prepares, uploads, and renders vector tiles across the event loop, workers, and render loop.</description><pubDate>Tue, 18 Feb 2025 14:31:16 GMT</pubDate></item><item><title>Three.js Study Notes</title><link>https://littlepotato.me/posts/reading-note-three-js/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-note-three-js/</guid><description>Study notes on Three.js.</description><pubDate>Tue, 18 Feb 2025 12:34:55 GMT</pubDate></item><item><title>C++ Study Notes</title><link>https://littlepotato.me/posts/reading-note-cpp/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-note-cpp/</guid><description>Study notes on C++.</description><pubDate>Tue, 18 Feb 2025 12:34:32 GMT</pubDate></item><item><title>Implementing Building Shadows in Mapbox</title><link>https://littlepotato.me/posts/mapbox-building-shadow/</link><guid isPermaLink="true">https://littlepotato.me/posts/mapbox-building-shadow/</guid><description>Implementing time- and location-based building shadows in Mapbox by adapting Threebox to Mapbox GL JS v2.</description><pubDate>Tue, 18 Feb 2025 12:25:36 GMT</pubDate></item><item><title>Understanding std::string_view</title><link>https://littlepotato.me/posts/string-view/</link><guid isPermaLink="true">https://littlepotato.me/posts/string-view/</guid><description>Using std::string_view for allocation-free string access while avoiding lifetime, ownership, and null-termination pitfalls.</description><pubDate>Mon, 10 Feb 2025 14:07:56 GMT</pubDate></item><item><title>WebGL Study Notes</title><link>https://littlepotato.me/posts/reading-note-webgl/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-note-webgl/</guid><description>Study notes based primarily on WebGL Fundamentals.</description><pubDate>Tue, 04 Feb 2025 14:05:04 GMT</pubDate></item><item><title>Designing a Cultural Revolution-era Map</title><link>https://littlepotato.me/posts/design-a-cultural-revolution-style-map/</link><guid isPermaLink="true">https://littlepotato.me/posts/design-a-cultural-revolution-style-map/</guid><description>A cartographic experiment combining historical Beijing street names with period-inspired typography, colors, symbols, and map styling.</description><pubDate>Tue, 04 Feb 2025 13:40:24 GMT</pubDate></item><item><title>Visualizing Train Operations at Shanghai Hongqiao Railway Station</title><link>https://littlepotato.me/posts/shanghai-hongqiao-railway-station-data-visualization/</link><guid isPermaLink="true">https://littlepotato.me/posts/shanghai-hongqiao-railway-station-data-visualization/</guid><description>A map-based visualization of individual trains, cars, platforms, and routes around Shanghai Hongqiao Railway Station.</description><pubDate>Tue, 03 Jan 2023 10:05:47 GMT</pubDate></item><item><title>Generating 3D Road Interchanges from OSM Data</title><link>https://littlepotato.me/posts/build-3d-intersection-by-osm-data/</link><guid isPermaLink="true">https://littlepotato.me/posts/build-3d-intersection-by-osm-data/</guid><description>Using OSM layer ordering, slope constraints, and linear programming to infer road elevations for 3D interchanges.</description><pubDate>Tue, 03 Jan 2023 10:02:43 GMT</pubDate></item><item><title>Implementing Kriging Interpolation, Part 1: The Mathematics</title><link>https://littlepotato.me/posts/how-kriging-works-1-formula/</link><guid isPermaLink="true">https://littlepotato.me/posts/how-kriging-works-1-formula/</guid><description>The semivariogram, model fitting, covariance matrix, and weighted estimation behind ordinary kriging.</description><pubDate>Tue, 03 Jan 2023 09:58:08 GMT</pubDate></item><item><title>Implementing Kriging Interpolation, Part 2: C# Implementation</title><link>https://littlepotato.me/posts/how-kriging-works-2-programming/</link><guid isPermaLink="true">https://littlepotato.me/posts/how-kriging-works-2-programming/</guid><description>Implementing kriging interpolation in C# with Math.NET, semivariogram fitting, and matrix operations.</description><pubDate>Tue, 03 Jan 2023 09:57:57 GMT</pubDate></item><item><title>A Simple Way to Correct Raster Map Offsets in China</title><link>https://littlepotato.me/posts/simple-way-to-correct-map-coordinate-deviation-in-china/</link><guid isPermaLink="true">https://littlepotato.me/posts/simple-way-to-correct-map-coordinate-deviation-in-china/</guid><description>Approximately correcting GCJ-offset raster tiles by transforming the requested tile extent before retrieving imagery.</description><pubDate>Tue, 03 Jan 2023 09:57:46 GMT</pubDate></item><item><title>SEO Study Notes</title><link>https://littlepotato.me/posts/reading-note-seo/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-note-seo/</guid><description>Notes on crawling, indexing, ranking signals, site structure, content quality, and search-engine optimization.</description><pubDate>Tue, 03 Jan 2023 09:57:37 GMT</pubDate></item><item><title>Information Retrieval Study Notes</title><link>https://littlepotato.me/posts/reading-note-information-retrieval/</link><guid isPermaLink="true">https://littlepotato.me/posts/reading-note-information-retrieval/</guid><description>An outline of core information-retrieval concepts, from inverted indexes and ranking to clustering and evaluation.</description><pubDate>Tue, 03 Jan 2023 09:57:29 GMT</pubDate></item><item><title>SEO, Search Engines, and Search Quality Rating</title><link>https://littlepotato.me/posts/seo-and-search-engine-and-quality-rating/</link><guid isPermaLink="true">https://littlepotato.me/posts/seo-and-search-engine-and-quality-rating/</guid><description>Designing an effective relevance-labeling platform and what its workflow reveals about search ranking and quality evaluation.</description><pubDate>Tue, 03 Jan 2023 09:57:21 GMT</pubDate></item><item><title>Word Segmentation Algorithms and a Simple Implementation, Part 1</title><link>https://littlepotato.me/posts/principle-of-word-segmentation-1/</link><guid isPermaLink="true">https://littlepotato.me/posts/principle-of-word-segmentation-1/</guid><description>How MMSEG and Jieba combine dictionaries, DAGs, dynamic programming, and HMMs for Chinese word segmentation.</description><pubDate>Tue, 03 Jan 2023 09:57:12 GMT</pubDate></item><item><title>Word Segmentation Algorithms and a Simple Implementation, Part 2</title><link>https://littlepotato.me/posts/principle-of-word-segmentation-2/</link><guid isPermaLink="true">https://littlepotato.me/posts/principle-of-word-segmentation-2/</guid><description>A closer look at the algorithms behind Jieba and other Chinese word-segmentation systems.</description><pubDate>Tue, 03 Jan 2023 09:57:03 GMT</pubDate></item><item><title>Algorithm Notes by Problem Type</title><link>https://littlepotato.me/posts/algorithm-notes/</link><guid isPermaLink="true">https://littlepotato.me/posts/algorithm-notes/</guid><description>Study notes organized by categories of algorithmic problems.</description><pubDate>Tue, 03 Jan 2023 09:56:38 GMT</pubDate></item><item><title>Algorithm Notes: Arrays</title><link>https://littlepotato.me/posts/algorithm-note-array/</link><guid isPermaLink="true">https://littlepotato.me/posts/algorithm-note-array/</guid><description>Patterns for array problems, including numeric operations, two pointers, traversal, and in-place transformations.</description><pubDate>Tue, 03 Jan 2023 09:56:22 GMT</pubDate></item><item><title>Algorithm Notes: Dynamic Programming</title><link>https://littlepotato.me/posts/algorithm-note-dynamic-programing/</link><guid isPermaLink="true">https://littlepotato.me/posts/algorithm-note-dynamic-programing/</guid><description>Recognizing dynamic-programming problems and deriving optimal subproblems, state transitions, and common solution patterns.</description><pubDate>Tue, 03 Jan 2023 09:56:09 GMT</pubDate></item><item><title>Algorithm Notes: Trees</title><link>https://littlepotato.me/posts/algorithm-note-tree/</link><guid isPermaLink="true">https://littlepotato.me/posts/algorithm-note-tree/</guid><description>Tree construction, traversal, search, binary search trees, tries, and common interview problem patterns.</description><pubDate>Tue, 03 Jan 2023 09:54:03 GMT</pubDate></item><item><title>What Calculator Percent Keys Teach Us</title><link>https://littlepotato.me/posts/the-old-new-thing-calculator/</link><guid isPermaLink="true">https://littlepotato.me/posts/the-old-new-thing-calculator/</guid><description>Why pocket calculators interpret percentages unexpectedly, and how to model that behavior with the shunting-yard algorithm and RPN.</description><pubDate>Tue, 03 Jan 2023 09:53:31 GMT</pubDate></item><item><title>Using an eSIM in Mainland China</title><link>https://littlepotato.me/posts/%E5%9C%A8%E5%9B%BD%E5%86%85%E4%BD%BF%E7%94%A8-esim-%E5%8D%A1%E8%BF%87%E7%A8%8B%E8%AE%B0%E5%BD%95/</link><guid isPermaLink="true">https://littlepotato.me/posts/%E5%9C%A8%E5%9B%BD%E5%86%85%E4%BD%BF%E7%94%A8-esim-%E5%8D%A1%E8%BF%87%E7%A8%8B%E8%AE%B0%E5%BD%95/</guid><description>A practical record of purchasing, activating, and testing a travel eSIM in mainland China.</description><pubDate>Tue, 03 Jan 2023 09:51:38 GMT</pubDate></item><item><title>Client-side Raster Tile Reprojection</title><link>https://littlepotato.me/posts/raster-reprojection/</link><guid isPermaLink="true">https://littlepotato.me/posts/raster-reprojection/</guid><description>Reprojecting non-Mercator WMTS raster tiles in the browser for display on a Web Mercator map.</description><pubDate>Tue, 03 Jan 2023 09:48:50 GMT</pubDate></item><item><title>Implementing Polygon Gradient Fills</title><link>https://littlepotato.me/posts/polygon-gradient/</link><guid isPermaLink="true">https://littlepotato.me/posts/polygon-gradient/</guid><description>Using a polygon straight skeleton to implement an inward glow or shadow similar to QGIS shapeburst fills.</description><pubDate>Tue, 03 Jan 2023 09:47:31 GMT</pubDate></item></channel></rss>