No Clocks

No Clocks

4140 bookmarks
Newest
casacosmos/screeneragent
casacosmos/screeneragent
Contribute to casacosmos/screeneragent development by creating an account on GitHub.
·github.com·
casacosmos/screeneragent
PRAGMA Statements - Turso
PRAGMA Statements - Turso
Database configuration and metadata commands in Turso
·docs.turso.tech·
PRAGMA Statements - Turso
Turso
Turso
Turso is the lightweight database that scales to millions of agents. Deploy databases everywhere—on servers, in browsers, on devices—just like files. A full SQLite drop-in replacement, built for the agentic future.
·turso.tech·
Turso
st_read_multi
st_read_multi
DuckDB Community Extensions Read multiple geospatial files
·duckdb.org·
st_read_multi
Hyperagent
Hyperagent
Hyperagent is the system of agents that does real work, learns how your organization operates, and deploys across your entire team.
·hyperagent.com·
Hyperagent
rusqlite_gpkg - Rust
rusqlite_gpkg - Rust
GeoPackage reader/writer built on top of rusqlite.
·docs.rs·
rusqlite_gpkg - Rust
dbc
dbc
The command-line tool for installing and managing ADBC drivers
·columnar.tech·
dbc
flechette
flechette
Fast, lightweight access to Apache Arrow data.
·idl.uw.edu·
flechette
Hydrofabric Subsetter
Hydrofabric Subsetter
Subset Hydrofabric Data in R.
·owp-spatial.github.io·
Hydrofabric Subsetter
Railway Oriented Programming
Railway Oriented Programming
Slides and videos explaining a functional approach to error handling
·fsharpforfunandprofit.com·
Railway Oriented Programming
Kicking the Tires: Flatgeobuf
Kicking the Tires: Flatgeobuf
Optimization 2: Streamable Hilbert-sorted RTree Index
The second exciting piece of flatgeobuf, and honestly what makes the whole thing worth the price of admission alone, is its approach to indexing. Including a pre-built index with geospatial data isn’t new — Shapefile and Geopackage support this, and there’s always spatialite if you want to pack your data into a sqlite file.
To do this, the format combines an RTree index (the trusty workhorse of all geospatial indexing) with a compact and streamable encoding and a particular spatial ordering of the geometry data (using a Hilbert Curve) to make the whole thing more efficient. Here’s how it works.
To write an indexed FGB file, you first sort your feature data along a Hilbert Curve. Space Filling Curves are a fascinating and brain-melting topic that merit a full post on their own, but in short they allow a linear encoding of multiple dimensions into 1 dimension (in our case, sorting a 2-dimensional xy space along a 1-dimensional curve). This is an optimization used in many spatial indexing systems to ensure that data with high storage locality also has high spatial locality.
The point is that both the index and the underlying feature data are designed to be loaded lazily — a client can stream the portions of the index they need to satisfy a bounding-box query, then use those results to stream the relevant portions of the Feature section. This can all be done either locally (reading from a potentially large file) or remotely over HTTP using Range requests.
Downsides? Complexity — No denying the format is pretty complicated. Between sophisticated binary encodings and optimized indexing strategies there is a lot going on in these bytes. Small errors in encoding or indexing can render files unreadable. To become more mainstream, the format will need better linting tools to validate structural correctness of without a lot of painful hexdump-ing. Not human readable — Especially compared to simpler formats like GeoJSON and WKT this is always a downside. Of course the benefits are huge (smaller storage footprint, faster serde), but it will take really polished tooling to ease people off of text-based formats. On the other hand Shapefiles aren’t human-readable and ESRI has managed to jam those down everyone’s throats for several decades, so maybe there’s hope. Not designed for updates — Because of the intricacies of data layout and indexing, updates aren’t really a thing for FGB. It’s best used for static datasets. Non-spatial indexing — Currently the format doesn’t really have a way to add indexing on other dimensions besides the spatial one. Maybe this will evolve in the future (FGB’s first sidecar?)
·worace.works·
Kicking the Tires: Flatgeobuf
Welcome to rv
Welcome to rv
rv - A fast, declarative, R package manager
·a2-ai.github.io·
Welcome to rv
restrictR: Composable Runtime Contracts for R
restrictR: Composable Runtime Contracts for R
Build reusable validators from small building blocks using the base pipe operator. Define runtime contracts once and enforce them anywhere.
·gillescolling.com·
restrictR: Composable Runtime Contracts for R
18 Closures and scope – Thinking in R
18 Closures and scope – Thinking in R
All R functions are technically closures (they all carry an enclosing environment), but the term earns its keep when a function captures variables from a parent that isn’t the global environment. Here is a counter that actually counts:
<<- is the only way to create mutable state in R’s functional world, because it searches parent environments for an existing binding and modifies it there. If it doesn’t find the variable in any parent, it creates one in the global environment. That is almost always a mistake.
·gillescolling.com·
18 Closures and scope – Thinking in R