41554 blogs · [ { "id": "01a0bdf8-bddb-70cc-9f3d-03724a1c78eb", "title": "From Time Travel to Lateral Temporal Tables in DuckDB", "url": "https://rusty.today/blog/duckdb-at-clause-lateral-temporal-tables/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5a7650b29", "title": "DuckDB Upgrade Speed, Measured from 110M Extension Loads", "url": "https://rusty.today/blog/duckdb-release-adoption-telemetry/", "published_at": "2026-08-05T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5a7678fe2", "title": "Who Actually Runs DuckDB, Measured from 110M Extension Loads", "url": "https://rusty.today/blog/who-runs-duckdb-extension-telemetry/", "published_at": "2026-08-05T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5a82166d5", "title": "Paging Through a Parquet File in DuckDB: file_row_number or OFFSET?", "url": "https://rusty.today/blog/paging-parquet-duckdb-file-row-number-vs-offset/", "published_at": "2026-07-30T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5a915eab4", "title": "A DuckDB Release Isn't a Distribution", "url": "https://rusty.today/blog/duckdb-extension-distribution-gap/", "published_at": "2026-07-27T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5a9b20c3d", "title": "Compiling Isn't Running: Functionally Testing DuckDB-WASM Extensions", "url": "https://rusty.today/blog/testing-duckdb-wasm-extensions/", "published_at": "2026-06-14T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5aa576b4e", "title": "Quack and VGI: Two Approaches to Bringing RPC to DuckDB", "url": "https://rusty.today/blog/quack-vgi-two-approaches-rpc-duckdb/", "published_at": "2026-05-12T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ab5411aa", "title": "DuckDB ↔ Arrow Compatibility: A Status Page", "url": "https://rusty.today/blog/duckdb-arrow-compatibility-status/", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ac0a7111", "title": "GeoSilo vs GeoArrow + Byte Stream Split: Two Approaches to Geometry Compression", "url": "https://rusty.today/blog/geosilo-vs-geoarrow-byte-stream-split-geometry-compression/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ac7d31b4", "title": "VGI Injector: A Tiny HTTPS Download-and-Execute Binary in Zig", "url": "https://rusty.today/blog/vgi-injector-a-tiny-https-downloader-in-zig/", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ad4d5118", "title": "TIME Data Type Compatibility Across Databases", "url": "https://rusty.today/blog/time-data-type-compatibility-across-databases/", "published_at": "2026-02-25T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ad869230", "title": "Telemetry for DuckDB Extensions Without the Pain", "url": "https://rusty.today/blog/query-farm-telemetry-client-for-duckdb-extensions/", "published_at": "2026-02-23T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ae68f543", "title": "Releasing vgi-rpc: An RPC Framework Built on Apache Arrow", "url": "https://rusty.today/blog/vgi-rpc-transport-agnostic-python-rpc-framework/", "published_at": "2026-02-21T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ae861e29", "title": "Acronym-Aware Case Conversions in the DuckDB Inflector Extension", "url": "https://rusty.today/blog/inflector-acronym-aware-case-conversions/", "published_at": "2026-02-20T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5af679690", "title": "I built a thing for runners and walkers who are tired of checking five weather apps before...", "url": "https://rusty.today/blog/linkedin-2026-02-13-i-built-a-thing-for-runners-and-walkers-who-are-tired-of-che/", "published_at": "2026-02-13T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b0562b3b", "title": "I'm teaching a hands-on DuckDB Extension Development Workshop in Amsterdam on January 30th", "url": "https://rusty.today/blog/linkedin-2026-01-10-i-m-teaching-a-hands-on-duckdb-extension-development-worksho/", "published_at": "2026-01-10T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b1423ad4", "title": "Announcing the ADBC Scanner Extension for DuckDB", "url": "https://rusty.today/blog/linkedin-2025-12-10-announcing-the-adbc-scanner-extension-for-duckdb/", "published_at": "2025-12-10T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b1b31eb1", "title": "The DuckDB extension workshop in Amsterdam this January is already completely full—it filled up...", "url": "https://rusty.today/blog/linkedin-2025-12-08-the-duckdb-extension-workshop-in-amsterdam-this-january-is-a/", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b25aa478", "title": "Big Update to the DuckDB crypto Extension!", "url": "https://rusty.today/blog/linkedin-2025-12-03-big-update-to-the-duckdb-crypto-extension/", "published_at": "2025-12-03T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b29c6c91", "title": "Deep Dive into DuckDB Extensions — Let's Workshop in Person!", "url": "https://rusty.today/blog/linkedin-2025-12-03-deep-dive-into-duckdb-extensions-let-s-workshop-in-person/", "published_at": "2025-12-03T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b3929868", "title": "Excited to share something very cool with the DuckDB + Arrow Flight community.", "url": "https://rusty.today/blog/linkedin-2025-12-01-excited-to-share-something-very-cool-with-the-duckdb-arrow-f/", "published_at": "2025-12-01T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b3d8791e", "title": "I've been deep in Kafka + DuckDB development the past few weeks, but here are some late-night...", "url": "https://rusty.today/blog/linkedin-2025-11-20-i-ve-been-deep-in-kafka-duckdb-development-the-past-few-week/", "published_at": "2025-11-20T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b46112c2", "title": "Excited to announce the Inflector Extension for DuckDB by Query.Farm!", "url": "https://rusty.today/blog/linkedin-2025-11-09-excited-to-announce-the-inflector-extension-for-duckdb-by-qu/", "published_at": "2025-11-09T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b496b2ad", "title": "Help support Query.Farm!", "url": "https://rusty.today/blog/linkedin-2025-11-09-help-support-query-farm/", "published_at": "2025-11-09T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b56afb93", "title": "Introducing the JSONata Extension for DuckDB by Query.Farm!", "url": "https://rusty.today/blog/linkedin-2025-11-09-introducing-the-jsonata-extension-for-duckdb-by-query-farm/", "published_at": "2025-11-09T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b6507e08", "title": "#Kafka Reading/Writing in #DuckDB is possible", "url": "https://rusty.today/blog/linkedin-2025-10-30-kafka-reading-writing-in-duckdb-is-possible/", "published_at": "2025-10-30T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b676fede", "title": "New DuckDB Extension Launch!", "url": "https://rusty.today/blog/linkedin-2025-10-28-new-duckdb-extension-launch/", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b72530f1", "title": "The DuckDB Developer Meeting 2026 has been announced!", "url": "https://rusty.today/blog/linkedin-2025-10-28-the-duckdb-developer-meeting-2026-has-been-announced/", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b786148e", "title": "Excited to announce the JSON Schema extension for DuckDB!", "url": "https://rusty.today/blog/linkedin-2025-10-25-excited-to-announce-the-json-schema-extension-for-duckdb/", "published_at": "2025-10-25T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b8750a67", "title": "Announcing the Tera DuckDB Extension!", "url": "https://rusty.today/blog/linkedin-2025-10-22-announcing-the-tera-duckdb-extension/", "published_at": "2025-10-22T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b94cc72b", "title": "DuckDB Lab's roadmap for the next year (2025/2026) has been updated -https://duckdb.org/roadmap.html", "url": "https://rusty.today/blog/linkedin-2025-10-09-duckdb-lab-s-roadmap-for-the-next-year-2025-2026-has-been-up/", "published_at": "2025-10-09T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b9cf229f", "title": "Heading to Paris today for PyData Paris and to speak at the Apache Arrow Summit next Thursday,...", "url": "https://rusty.today/blog/linkedin-2025-09-26-heading-to-paris-today-for-pydata-paris-and-to-speak-at-the-/", "published_at": "2025-09-26T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5b9d98c9b", "title": "Fun Friday afternoon hack!", "url": "https://rusty.today/blog/linkedin-2025-09-20-fun-friday-afternoon-hack/", "published_at": "2025-09-20T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ba2cdbec", "title": "It’s always great to see the work we’re doing at Query.Farm show up in the wild.", "url": "https://rusty.today/blog/linkedin-2025-09-11-it-s-always-great-to-see-the-work-we-re-doing-at-query-farm-/", "published_at": "2025-09-11T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ba60ca0e", "title": "I had the chance to sit down with Michael Watson on the Hedgineer Podcast for an hour-long...", "url": "https://rusty.today/blog/linkedin-2025-09-09-i-had-the-chance-to-sit-down-with-michael-watson-on-the-hedg/", "published_at": "2025-09-09T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bb31030e", "title": "Any time I wind up using scikit.optimize.differential_evolution (https://lnkd.in/e8mAHtRZ) is a...", "url": "https://rusty.today/blog/linkedin-2025-09-05-any-time-i-wind-up-using-scikit-optimize-differential-evolut/", "published_at": "2025-09-05T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bb82503d", "title": "Query.Farm Announces the integration of QuackScience's DuckDB Extensions", "url": "https://rusty.today/blog/linkedin-2025-09-03-query-farm-announces-the-integration-of-quackscience-s-duckd/", "published_at": "2025-09-03T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bbaf3ae4", "title": "Lets look into using DuckDB with Arrow and Python generators to handle data that is streaming or...", "url": "https://rusty.today/blog/linkedin-2025-08-30-lets-look-into-using-duckdb-with-arrow-and-python-generators/", "published_at": "2025-08-30T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bca6b76f", "title": "Streaming Data into DuckDB with Arrow and Python Generators", "url": "https://rusty.today/blog/streaming-data-duckdb-arrow-python-generators/", "published_at": "2025-08-30T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bcee8f9e", "title": "Announcing Textplot - bringing beautiful ASCII/Unicode data visualization directly to your SQL...", "url": "https://rusty.today/blog/linkedin-2025-08-22-announcing-textplot-bringing-beautiful-ascii-unicode-data-vi/", "published_at": "2025-08-22T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bd24c912", "title": "NEW: Stochastic Extension for DuckDB!", "url": "https://rusty.today/blog/linkedin-2025-08-16-new-stochastic-extension-for-duckdb/", "published_at": "2025-08-16T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5be0d4ec3", "title": "Fuzzy string matching in DuckDB just got easier!", "url": "https://rusty.today/blog/linkedin-2025-08-14-fuzzy-string-matching-in-duckdb-just-got-easier/", "published_at": "2025-08-14T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5be47e424", "title": "New DuckDB Extension: bitfilters - Probabilistic Data Structures for Lightning-Fast Queries", "url": "https://rusty.today/blog/linkedin-2025-08-11-new-duckdb-extension-bitfilters-probabilistic-data-structure/", "published_at": "2025-08-11T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bef5b926", "title": "Excited to announce the release of the hashfuncs extension for DuckDB!", "url": "https://rusty.today/blog/linkedin-2025-08-07-excited-to-announce-the-release-of-the-hashfuncs-extension-f/", "published_at": "2025-08-07T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bf5d746e", "title": "New DuckDB Marisa Extension by Query.Farm", "url": "https://rusty.today/blog/linkedin-2025-08-07-new-duckdb-marisa-extension-by-query-farm/", "published_at": "2025-08-07T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5bfa53a91", "title": "Just published a new benchmark report for Airport, our DuckDB extension that uses Apache Arrow...", "url": "https://rusty.today/blog/linkedin-2025-07-25-just-published-a-new-benchmark-report-for-airport-our-duckdb/", "published_at": "2025-07-25T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c031434d", "title": "Thank You for the Incredible Interest in Airport", "url": "https://rusty.today/blog/linkedin-2025-07-24-thank-you-for-the-incredible-interest-in-airport/", "published_at": "2025-07-24T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c0f93cc7", "title": "The Airport extension for DuckDB is now live!", "url": "https://rusty.today/blog/linkedin-2025-07-22-the-airport-extension-for-duckdb-is-now-live/", "published_at": "2025-07-22T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c1b1243d", "title": "Kafka + DuckDB, now seamlessly connected.", "url": "https://rusty.today/blog/linkedin-2025-06-13-kafka-duckdb-now-seamlessly-connected/", "published_at": "2025-06-13T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c2160e7c", "title": "Are you getting \"extension not found\" errors in DuckDB?", "url": "https://rusty.today/blog/linkedin-2025-06-09-are-you-getting-extension-not-found-errors-in-duckdb/", "published_at": "2025-06-09T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c28a8ceb", "title": "New DuckDB Extension: Radio", "url": "https://rusty.today/blog/linkedin-2025-06-03-new-duckdb-extension-radio/", "published_at": "2025-06-03T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c379d644", "title": "Thoughts on DuckDB's DuckLake so far:", "url": "https://rusty.today/blog/linkedin-2025-05-27-thoughts-on-duckdb-s-ducklake-so-far/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c3b07390", "title": "Here’s a short clip from my presentation at DuckCon 6 in Amsterdam: Airport for DuckDB: Letting...", "url": "https://rusty.today/blog/linkedin-2025-02-06-here-s-a-short-clip-from-my-presentation-at-duckcon-6-in-ams/", "published_at": "2025-02-06T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c3cff750", "title": "Today is DuckDB's DuckCon 6 in Amsterdam.", "url": "https://rusty.today/blog/linkedin-2025-01-31-today-is-duckdb-s-duckcon-6-in-amsterdam/", "published_at": "2025-01-31T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c3e3bd11", "title": "DuckCon 6 in Amsterdam is just a few weeks away!", "url": "https://rusty.today/blog/linkedin-2025-01-16-duckcon-6-in-amsterdam-is-just-a-few-weeks-away/", "published_at": "2025-01-16T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c46939b3", "title": "I'm excited to announce the datasketches extension for DuckDB, which integrates the capabilities...", "url": "https://rusty.today/blog/linkedin-2025-01-02-i-m-excited-to-announce-the-datasketches-extension-for-duckd/", "published_at": "2025-01-02T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c48b96b1", "title": "Cron Expressions For DuckDB", "url": "https://rusty.today/blog/cron-expressions-duckdb/", "published_at": "2024-05-28T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c56bfa05", "title": "Enhancing DuckDB with Unix Pipe Integration: Introducing the shellfs Extension", "url": "https://rusty.today/blog/introducing-shellfs-duckdb-extension/", "published_at": "2024-05-20T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c65eb3a9", "title": "Turn The Tape Recorder On And Keep It Running", "url": "https://rusty.today/blog/turn-tape-recorder-keep-running/", "published_at": "2024-05-15T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c73942cd", "title": "The Bare Minimum of Metadata For Any Data", "url": "https://rusty.today/blog/bare-minimum-metadata-any-data/", "published_at": "2024-04-27T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c78e3502", "title": "DuckDB is Strategically Important", "url": "https://rusty.today/blog/duckdb-strategically-important/", "published_at": "2024-04-25T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c8247ef7", "title": "Images, Emails and Content Addressable Storage", "url": "https://rusty.today/blog/images-emails-content-addressable-storage/", "published_at": "2021-01-22T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c8388ce3", "title": "Cost-effective S3 for Subscription Data Distribution", "url": "https://rusty.today/blog/cost-effective-s3-for-subscription-data-distribution/", "published_at": "2021-01-13T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c8c67cb8", "title": "Anomaly Detection for Cities and Airports", "url": "https://rusty.today/blog/anomaly-detection-for-cities-and-airports/", "published_at": "2021-01-12T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c940f872", "title": "Web Chat Survey", "url": "https://rusty.today/blog/web-based-chat-user-interfaces/", "published_at": "2021-01-12T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c94831c2", "title": "Thoughts on Purgeable Memory and Caching", "url": "https://rusty.today/blog/thoughts-on-purgeable-caching/", "published_at": "2021-01-02T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c9626cac", "title": "Predicting New York State's Electricity", "url": "https://rusty.today/blog/predicting-ny-electricity-with-julia-and-tensorflowjs/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c99fbca4", "title": "Multi-dimensional Indexing", "url": "https://rusty.today/blog/multi-dimensional-indexing/", "published_at": "2020-09-14T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5c9fa9704", "title": "Bridger Foothills Fire", "url": "https://rusty.today/blog/bridger-foothills-fire/", "published_at": "2020-09-07T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ca041702", "title": "Which Image Should You Show?", "url": "https://rusty.today/blog/preferred-pictures/", "published_at": "2020-08-23T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ca3ce7e9", "title": "Rusty's Guide to Tulum, Mexico", "url": "https://rusty.today/blog/tulum-mexico-travel-guide/", "published_at": "2019-04-15T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ca664ca9", "title": "Finding Available Short Domain Names", "url": "https://rusty.today/blog/finding-available-short-domain-names/", "published_at": "2015-08-07T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5ca8df0f8", "title": "Largest Integer Consisting of Unique Triple Primes", "url": "https://rusty.today/blog/largest-integer-consisting-of-unique-triple-primes/", "published_at": "2015-06-07T00:00:00+00:00" }, { "id": "01a087d9-23ef-73bb-80f5-53d5cac8e668", "title": "ffmpeg Scene Change Detector Examination", "url": "https://rusty.today/blog/ffmpeg-scene-change-detector/", "published_at": "2014-02-27T00:00:00+00:00" } ] posts Claim your blog
Back to rusty.today
Blog · corpus.blog/blogs/rusty.today/posts

rusty.today

rusty.today

2026

2025

2024

2021

2020

2019

2015

2014