Simon Willison’s Weblog

Subscribe

August 2020

110 posts: 5 entries, 10 links, 5 quotes, 90 beats

Aug. 1, 2020

James Bennett on why Django should not support JWT in core (via) The topic of adding JWT support to Django core comes up occasionally—here’s James Bennett’s detailed argument for not doing that. The short version is that the JWT specification isn’t just difficult to implement securely: it’s fundamentally flawed, which results in things like five implementations in three different languages all manifesting the same vulnerability. Third party modules exist that add JWT support to Django, but baking it into core would act as a form of endorsement and Django’s philosophy has always been to encourage people towards best practices.

# 12:28 am / django, james-bennett, security, jwt

The impact of crab mentality on performance was quantified by a New Zealand study in 2015 which demonstrated up to an 18% average exam result improvement for students when their grades were reported in a way that prevented others from knowing their position in published rankings.

Crab mentality on Wikipedia

# 4:25 pm / psychology, wikipedia

Release sqlite-utils 2.14 — Python CLI utility and library for manipulating SQLite databases

sqlite-utils 2.14 (via) I finally figured out porter stemming with SQLite full-text search today—it turns out it’s as easy as adding tokenize=’porter’ to the CREATE VIRTUAL TABLE statement. So I just shipped sqlite-utils 2.14 with a tokenize= option (plus the ability to insert binary file data from stdin).

# 9:19 pm / full-text-search, projects, search, sqlite, sqlite-utils

Aug. 2, 2020

Release datasette-graphql 0.1a — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release datasette-graphql 0.1a1 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release datasette-graphql 0.1a2 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

How a Cheese Goes Extinct (via) Ruby Tandoh writes for the New Yorker about the culture, history and anthropology of cheesemaking through the lens of the British cheese industry. I learned that two of my favourite British cheeses—Tymsboro and Innes Log, have sadly ceased production. Beautifully written.

# 5:51 pm / cheese, new-yorker

When you talk with cheese aficionados, it doesn’t usually take long for the conversation to veer this way: away from curds, whey, and mold, and toward matters of life and death. With the zeal of nineteenth-century naturalists, they discuss great lineages and endangered species, painstakingly cataloguing those cheeses that are thriving and those that are lost to history.

Ruby Tandoh

# 6:57 pm / cheese

Release datasette-graphql 0.1a3 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

Aug. 4, 2020

Release datasette-graphql 0.1a4 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

Aug. 5, 2020

Zero Downtime Release: Disruption-free Load Balancing of a Multi-Billion User Website (via) I remain fascinated by techniques for zero downtime deployment—once you have it working it makes shipping changes to your software so much less stressful, which means you can iterate faster and generally be much more confident in shipping code.

Facebook have invested vast amounts of effort into getting this right, and their new paper for the ACM SIGCOMM conference goes into detail about how it all works.

# 3:27 am / deployment, zero-downtime

TIL How to deploy a folder with a Dockerfile to Cloud Run — I deployed https://metmusem.datasettes.com/ by creating a folder on my computer containing a Dockerfile and then shipping that folder up to Google Cloud Run.

Aug. 6, 2020

Release datasette-graphql 0.2 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release datasette-graphql 0.3 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release datasette-graphql 0.4 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release datasette-graphql 0.5 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release sqlite-utils 2.14.1 — Python CLI utility and library for manipulating SQLite databases
Release datasette-graphql 0.6 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release datasette-graphql 0.7 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

Aug. 7, 2020

GraphQL in Datasette with the new datasette-graphql plugin

Visit GraphQL in Datasette with the new datasette-graphql plugin

This week I’ve mostly been building datasette-graphql, a plugin that adds GraphQL query support to Datasette.

[... 1,249 words]

Design Docs at Google. Useful description of the format used for software design docs at Google—informal documents of between 3 and 20 pages that outline the proposed design of a new project, discuss trade-offs that were considered and solicit feedback before the code starts to be written.

# 4:31 pm / documentation, google

Release datasette-graphql 0.8 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

Pysa: An open source static analysis tool to detect and prevent security issues in Python code (via) Interesting new static analysis tool for auditing Python for security vulnerabilities—things like SQL injection and os.execute() calls. Built by Facebook and tested extensively on Instagram, a multi-million line Django application.

# 8:50 pm / django, facebook, python, security, sql-injection, static-analysis

Aug. 8, 2020

Release datasette-graphql 0.9 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

COVID-19 attacks our physical bodies, but also the cultural foundations of our lives, the toolbox of community and connectivity that is for the human what claws and teeth represent to the tiger.

Wade Davis

# 3:48 pm / covid19

Release datasette-graphql 0.10 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

Aug. 9, 2020

Release datasette-graphql 0.11 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release asgi-csrf 0.6.1 — ASGI middleware for protecting against CSRF attacks
Release datasette 0.46 — An open source multi-tool for exploring and publishing data

2020 » August

MTWTFSS
     12
3456789
10111213141516
17181920212223
24252627282930
31