Simon Willison’s Weblog

Subscribe

October 2020

75 posts: 7 entries, 16 links, 6 quotes, 46 beats

Oct. 1, 2020

Release datasette-cluster-map 0.12.2 — Datasette plugin that shows a map for any data with latitude/longitude columns
Release datasette-cluster-map 0.12.3 — Datasette plugin that shows a map for any data with latitude/longitude columns
TIL Escaping strings in Bash using !:q — TIL this trick, [via Pascal Hirsch](https://twitter.com/phphys/status/1311727268398465029) on Twitter. Enter a line of Bash starting with a `#` comment, then run `!:q` on the next line to see what that would be with proper Bash escaping applied.
Release datasette-edit-schema 0.3a2 — Datasette plugin for modifying table schemas
Release datasette-edit-schema 0.3 — Datasette plugin for modifying table schemas
Release datasette-cluster-map 0.12.4 — Datasette plugin that shows a map for any data with latitude/longitude columns
Release datasette 0.50a0 — An open source multi-tool for exploring and publishing data

Oct. 2, 2020

TIL Installing Selenium for Python on macOS with ChromeDriver — I needed to run Selenium on macOS for the first time today. Here's how I got it working.
TIL Using async/await in JavaScript in Selenium — Thanks [Stuart Langridge](https://twitter.com/sil/status/1312137808111304704) for showing me how to do this:

Weeknotes: Datasette column actions, plus three new plugins

Visit Weeknotes: Datasette column actions, plus three new plugins

A renewed emphasis on building out Datasette Cloud has produced three new plugins this week: datasette-dateutil, datasette-import-table and datasette-edit-schema, plus a major improvement to Datasette’s default interface for browsing tables.

[... 1,093 words]

Oct. 4, 2020

Potential new elevator pitch / tagline for Datasette: The best way to publish data online (via) One of the biggest challenges I’ve had with Datasette is compressing it into a single elevator pitch or tagline that helps answer the question “what does this software do?”—the project does a lot of different things, so finding the right angle for explaining it has proved really difficult. I’m workshopping a new tagline over on the Datasette discussion forum—feedback, suggestions and challenges very welcome!

# 12:03 am / marketing, pitching, datasette

TIL Manipulating query strings with URLSearchParams — The `URLSearchParams` class, in [every modern browser](https://caniuse.com/?search=URLSearchParams) since IE 11, provides a sensible API for manipulating query string parameters in JavaScript. I first used it to build Datasette's column action menu, see [table.js](https://github.com/simonw/datasette/blob/0.50a0/datasette/static/table.js) and [issue 981](https://github.com/simonw/datasette/issues/981).

Oct. 5, 2020

I’ve often joked with other internet culture reporters about what I call the “normie tipping point.” In every emerging internet trend, there is a point at which “normies” — people who don’t spend all day online, and whose brains aren’t rotted by internet garbage — start calling, texting and emailing us to ask what’s going on. Why are kids eating Tide Pods? What is the Momo Challenge? Who is Logan Paul, and why did he film himself with a dead body?

The normie tipping point is a joke, but it speaks to one of the thorniest questions in modern journalism, specifically on this beat: When does the benefit of informing people about an emerging piece of misinformation outweigh the possible harms?

Kevin Roose

# 3:40 pm / journalism, kevin-roose, digital-literacy

Oct. 6, 2020

Release datasette 0.50a1 — An open source multi-tool for exploring and publishing data

Oct. 7, 2020

TIL Running Datasette on DigitalOcean App Platform — [App Platform](https://www.digitalocean.com/docs/app-platform/) is the new PaaS from DigitalOcean. I figured out how to run Datasette on it.

Running Datasette on DigitalOcean App Platform (via) I spent some time with DigitalOcean’s new App Platform today, which is a Heroku-style PaaS that starts at $5/month. It looks like it could be a really good fit for Datasette. Disk is ephemeral, but if you’re publishing read-only data that doesn’t matter since you can build the SQLite database as part of the deployment and bundle it up in the Docker/Kubernetes container.

# 2:52 am / deployment, heroku, datasette, digitalocean

Bedrock: The SQLitening (via) Back in March 2018 www.mozilla.org switched over to running on Django using SQLite! They’re using the same pattern I’ve been exploring with Datasette: their SQLite database is treated as a read-only cache by their frontend servers, and a new SQLite database is built by a separate process and fetched onto the frontend machines every five minutes by a scheduled task. They have a healthcheck page which shows the latest version of the database and when it was fetched, and even lets you download the 25MB SQLite database directly (I’ve been exploring it using Datasette).

# 11:47 pm / django, mozilla, sqlite, datasette, baked-data

Oct. 9, 2020

Release datasette 0.50 — An open source multi-tool for exploring and publishing data

Git scraping: track changes over time by scraping to a Git repository

Visit Git scraping: track changes over time by scraping to a Git repository

Git scraping is the name I’ve given a scraping technique that I’ve been experimenting with for a few years now. It’s really effective, and more people should use it.

[... 963 words]

Datasette 0.50: The annotated release notes

Visit Datasette 0.50: The annotated release notes

I released Datasette 0.50 this morning, with a new user-facing column actions menu feature and a way for plugins to make internal HTTP requests to consume the JSON API of their parent Datasette instance.

[... 792 words]

Animating a commit based Sudoku game using Puppeteer (via) This is really clever. There’s a GitHub repo that tracks progress in a game of Sudoku: Anish Karandikar wrote code which iterates through the game board state commit by commit, uses that state to generate an HTML table, passes that table to Puppeteer using a data: URI, renders a PNG of each stage and then concatenates those PNGs together into an animated GIF using the gifencoder Node.js library.

# 10:28 pm / datauri, gifs, puppeteer

Oct. 10, 2020

Release datasette 0.50.1 — An open source multi-tool for exploring and publishing data

Weeknotes: Mainly Datasette 0.50

Most of what I’ve been up to this week is covered in Datasette 0.50: The annotated release notes and Git scraping: track changes over time by scraping to a Git repository.

[... 196 words]

TIL Searching for repositories by topic using the GitHub GraphQL API — I wanted to use the GitHub GraphQL API to return all of the repositories on the https://github.com/topics/git-scraping page.
Release datasette 0.50.2 — An open source multi-tool for exploring and publishing data

Datasette Weekly (via) I’m trying something new: I’ve decided to start an email newsletter called the Datasette Weekly (I’m already worried I’ll regret that weekly promise) which will share news about Datasette and the Datasette ecosystem, plus tips and tricks for getting the most out of Datasette and SQLite.

# 7:05 pm / email, projects, datasette

Datasette Weekly: Datasette 0.50, git scraping, extracting columns (via) The first edition of the new Datasette Weekly newsletter—covering Datasette 0.50, Git scraping, extracting columns with sqlite-utils and featuring datasette-graphql as the first “plugin of the week”

# 9 pm / email, projects, sqlite, graphql, datasette, git-scraping, sqlite-utils

It’s probably a bad idea to risk paying your ransom, though — the US Treasury Dept has issued clarifying guidance that companies paying off ransomware, and all companies facilitating the payment, can be charged with sanctions violations if the bitcoins end up at North Korea or sanctioned cybercrime groups.

David Gerard

# 9:17 pm / crime, bitcoin

Oct. 11, 2020

Release datasette-json-preview 0.1 — Preview of new JSON default format for Datasette
Release xml-analyser 1.0 — Simple command line tool for quickly analysing the structure of an arbitrary XML file

2020 » October

MTWTFSS
   1234
567891011
12131415161718
19202122232425
262728293031