<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Kyle Barron's blog]]></title><description><![CDATA[Kyle Barron's blog]]></description><link>https://kylebarron.dev</link><generator>GatsbyJS</generator><lastBuildDate>Tue, 07 Oct 2025 14:08:50 GMT</lastBuildDate><item><title><![CDATA[Making performant Python bindings to compiled code]]></title><link>https://kylebarron.dev/blog/fast-python-bindings</link><guid isPermaLink="false">https://kylebarron.dev/blog/fast-python-bindings</guid><pubDate>Tue, 07 Oct 2025 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&quot;Hybrid&quot; Python libraries Python is among the most popular programming languages in the world. As a high-level, interpreted language, it&apos;s…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/fast-python-bindings&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Literate Flatbush: Understanding a fast, elegant RTree implementation.]]></title><link>https://kylebarron.dev/blog/literate-flatbush</link><guid isPermaLink="false">https://kylebarron.dev/blog/literate-flatbush</guid><pubDate>Wed, 08 Jan 2025 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Spatial indexes, and RTrees specifically, are at the core of geospatial software engineering. But ever wondered how an RTree is actually…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/literate-flatbush&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[What's New in Lonboard]]></title><link>https://kylebarron.dev/blog/new-in-lonboard</link><guid isPermaLink="false">https://kylebarron.dev/blog/new-in-lonboard</guid><pubDate>Fri, 29 Mar 2024 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Posted on the Development Seed blog (https://developmentseed.org/blog/2024-03-29-new-in-lonboard), and embedded below:&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/new-in-lonboard&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Launching Lonboard]]></title><link>https://kylebarron.dev/blog/launching-lonboard</link><guid isPermaLink="false">https://kylebarron.dev/blog/launching-lonboard</guid><pubDate>Mon, 23 Oct 2023 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Posted on the Development Seed blog (https://developmentseed.org/blog/2023-10-23-lonboard), and embedded below:&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/launching-lonboard&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Thoughts on GEOS in WebAssembly]]></title><link>https://kylebarron.dev/blog/geos-wasm</link><guid isPermaLink="false">https://kylebarron.dev/blog/geos-wasm</guid><pubDate>Fri, 30 Jun 2023 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;JavaScript is missing a battle-tested geometry engine that&apos;s performant at scale. Six months ago, Tom MacWright started a stub repository tm…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/geos-wasm&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Zero-copy Apache Arrow with WebAssembly]]></title><link>https://kylebarron.dev/blog/zero-copy-apache-arrow-with-webassembly</link><guid isPermaLink="false">https://kylebarron.dev/blog/zero-copy-apache-arrow-with-webassembly</guid><pubDate>Mon, 22 Aug 2022 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Posted on Observable (https://observablehq.com/@kylebarron/zero-copy-apache-arrow-with-webassembly), and embedded below:&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/zero-copy-apache-arrow-with-webassembly&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[GeoArrow and GeoParquet in deck.gl]]></title><link>https://kylebarron.dev/blog/geoarrow-and-geoparquet-in-deck-gl</link><guid isPermaLink="false">https://kylebarron.dev/blog/geoarrow-and-geoparquet-in-deck-gl</guid><pubDate>Thu, 11 Aug 2022 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Posted on Observable (https://observablehq.com/@kylebarron/geoarrow-and-geoparquet-in-deck-gl), and embedded below:&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/geoarrow-and-geoparquet-in-deck-gl&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[GeoParquet on the Web]]></title><link>https://kylebarron.dev/blog/geoparquet-on-the-web</link><guid isPermaLink="false">https://kylebarron.dev/blog/geoparquet-on-the-web</guid><pubDate>Wed, 20 Apr 2022 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Posted on Observable (https://observablehq.com/@kylebarron/geoparquet-on-the-web), and embedded below:&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/geoparquet-on-the-web&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Serverless High-Resolution Aerial Imagery for the U.S.]]></title><link>https://kylebarron.dev/blog/cog-mosaic/naip</link><guid isPermaLink="false">https://kylebarron.dev/blog/cog-mosaic/naip</guid><pubDate>Wed, 02 Sep 2020 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;60cm-resolution imagery of the Grand Canyon from 2017. Click for an interactive example. Overview

More and more public imagery sources are…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/cog-mosaic/naip&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Dynamic map tiling with Cloud-Optimized GeoTIFFs]]></title><link>https://kylebarron.dev/blog/cog-mosaic/overview</link><guid isPermaLink="false">https://kylebarron.dev/blog/cog-mosaic/overview</guid><pubDate>Tue, 12 May 2020 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Overview There&apos;s a new way to serve a raster basemap.

Historically, the barrier to entry of serving an image basemap was quite high. You…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/cog-mosaic/overview&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Cache AWS Lambda responses with Cloudflare]]></title><link>https://kylebarron.dev/blog/caching-lambda-functions-cloudflare</link><guid isPermaLink="false">https://kylebarron.dev/blog/caching-lambda-functions-cloudflare</guid><pubDate>Tue, 28 Apr 2020 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Cloudflare is a Content Delivery Network (CDN), a global network of servers that cache responses from websites so that those responses can…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/caching-lambda-functions-cloudflare&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[All Transit]]></title><link>https://kylebarron.dev/blog/all-transit</link><guid isPermaLink="false">https://kylebarron.dev/blog/all-transit</guid><pubDate>Mon, 24 Feb 2020 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Interactive map Transit connects the densest cities but is also surprisingly prevalent in some remote Western states. I wanted to find and…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/all-transit&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[New Website]]></title><link>https://kylebarron.dev/blog/new-website</link><guid isPermaLink="false">https://kylebarron.dev/blog/new-website</guid><pubDate>Mon, 17 Feb 2020 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;After a few years of having a semi-dead Jekyll-based website, I&apos;m happy to transition to a new website based on GatsbyJS. I&apos;m excited for…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/new-website&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item><item><title><![CDATA[Reading Stata files with Python]]></title><link>https://kylebarron.dev/blog/reading-stata-files-with-python</link><guid isPermaLink="false">https://kylebarron.dev/blog/reading-stata-files-with-python</guid><pubDate>Mon, 08 Jan 2018 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Stata is fine for the small stuff, but Python is way better for anything intensive. However, you&apos;ll often have data in Stata&apos;s .dta format…&lt;/p&gt;&lt;div style=&quot;margin-top: 50px; font-style: italic;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://kylebarron.dev/blog/reading-stata-files-with-python&quot;&gt;Keep reading&lt;/a&gt;.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;</content:encoded></item></channel></rss>