|Behind GitHub’s new authentication token formats
||This is a really smart design. GitHub's new tokens use a type prefix of "ghp_" or "gho_" or a few others depending on the type of token, to help support mechanisms that scan for accidental token publication. A further twist is that the last six characters of the tokens are a checksum, which means token scanners can reliably distinguish a real token from a coincidental string without needing to check back with the GitHub database. "One other neat thing about _ is it will reliably select the whole token when you double click on it" - what a useful detail!
|Render single selected county on a map
||Another experiment at the intersection of Datasette and Observable notebooks. This one imports a full Datasette table (3,200 US counties) using streaming CSV and loads that into Observable's new Search and Table filter widgets. Once you select a single county a second Datasette SQL query (this time retuning JSON) fetches a GeoJSON representation of that county which is then rendered as SVG using D3.
|Spatialite Speed Test
||Part of an excellent series of posts about SpatiaLite from 2012 - here John C. Zastrow reports on running polygon intersection queries against a 1.9GB database file in 40 seconds without an index and 0.186 seconds using the SpatialIndex virtual table mechanism.
||I really like this: "curl ifconfig.co" gives you your IP address as plain text, "curl ifconfig.co/city" tells you your city according to MaxMind GeoLite2, "curl ifconfig.co/json" gives you all sorts of useful extra data. Suggested rate limit is one per minute, but the code is open source Go that you can run yourself.
||HPy provides a new way to write C extensions for Python in a way that is compatible with multiple Python implementations at once, including PyPy.
||Anton Zhiyanov bundled together a bunch of useful SQLite C extensions for things like statistical functions, unicode string normalization and handling CSV files as virtual tables. The GitHub Actions workflow here is a particularly useful example of compiling SQLite extensions for three different platforms.
|Why all my servers have an 8GB empty file
||This is such a good idea: keep a 8GB empty spacer.img file on any servers you operate, purely so that if the server runs out of space you can delete the file and get some breathing room for getting everything else working again. I've had servers run out of space in the past and it's an absolute pain to sort out - this trick would have really helped.
|Homebrew Python Is Not For You
||If you've been running into frustrations with your Homebrew Python environments breaking over the past few months (the dreaded "Reason: image not found" error) Justin Mayer has a good explanation. Python in a Homebrew is designed to work as a dependency for their other packages, and recent policy changes that they made to support smoother upgrades have had catastrophic problems effects on those of us who try to use it for development environments.
|Understanding JSON Schema
||Useful, comprehensive short book guide to JSON Schema, which finally helped me feel like I fully understand the specification.
|A Complete Guide To Accessible Front-End Components
||I'm so excited about this article: it brings together an absolute wealth of resources on accessible front-end components, including many existing component implementations that are accessible out of the box. Date pickers, autocomplete widgets, modals, menus - all sorts of things that I've been dragging my heels on implementing because I didn't fully understand their accessibility implications.