Simon Willison’s Weblog

Subscribe

November 2022

64 posts: 8 entries, 18 links, 3 quotes, 35 beats

Nov. 18, 2022

Release datasette-configure-fts 1.1.1 — Datasette plugin for enabling full-text search against selected table columns
Release datasette-edit-templates 0.2 — Plugin allowing Datasette templates to be edited within Datasette
Release datasette-copyable 0.3.2 — Datasette plugin for outputting tables in formats suitable for copy and paste
Release datasette-public 0.2.1 — Make selected Datasette databases and tables visible to the public
Release datasette-import-table 0.3.1 — Datasette plugin for importing tables from other Datasette instances
Release datasette-indieauth 1.2.2 — Datasette authentication using IndieAuth and RelMeAuth
Release datasette-edit-schema 0.5.2 — Datasette plugin for modifying table schemas

Datasette Lite: Loading JSON data (via) I added a new feature to Datasette Lite: you can now pass it the URL to a JSON file (hosted on a CORS-compatible hosting provider such as GitHub or GitHub Gists) and it will load that file into a database table for you. It expects an array of objects, but if your file has an object as the root it will search through it looking for the first key that is an array of objects and load those instead.

# 6:43 pm / json, projects, datasette, datasette-lite, cors

Nov. 19, 2022

Release datasette 0.63.2 — An open source multi-tool for exploring and publishing data
Release datasette-graphql 2.1.2 — Datasette plugin providing an automatic GraphQL API for your SQLite databases

... it [ActivityPub] is crucially good enough. Perfect is the enemy of good, and in ActivityPub we have a protocol that has flaws but, crucially, that works, and has a standard we can all mostly agree on how to implement - and eventually, I hope, agree on how to improve.

Andrew Godwin

# 4:02 pm / andrew-godwin, mastodon, activitypub

Nov. 20, 2022

Every remaining website using the .museum TLD (via) Jonty did a survey of every one of the 1,134 domains using the .museum TLD, which dates back to 2001 and is managed by The Museum Domain Management Association.

# 12:53 am / domains, museums

Tracking Mastodon user numbers over time with a bucket of tricks

Visit Tracking Mastodon user numbers over time with a bucket of tricks

Mastodon is definitely having a moment. User growth is skyrocketing as more and more people migrate over from Twitter.

[... 1,534 words]

Nov. 21, 2022

Building a BFT JSON CRDT (via) Jacky Zhao describes their project to build a CRDT library for JSON data in Rust, and includes a thorough explanation of what CRDTs are and how they work. “I write this blog post mostly as a note to my past self, distilling a lot of what I’ve learned since into a blog post I wish I had read before going in”—the best kind of blog post!

# 7:56 pm / json, rust, crdt

TIL Wider tooltip areas for Observable Plot — In [this Observable notebook](https://observablehq.com/@simonw/mastodon-users-and-statuses-over-time) I'm plotting a line on a chart, but I want to provide tooltips showing the exact value at any point on the line.

Nov. 22, 2022

Release dclient 0.1a0 — A client CLI utility for Datasette instances
Release dclient 0.1a1 — A client CLI utility for Datasette instances
Release dclient 0.1a2 — A client CLI utility for Datasette instances
TIL Writing a CLI utility that is also a Datasette plugin — I'm working on [dclient](https://github.com/simonw/dclient), a CLI tool for interacting with Datasette instances via the Datasette API.

Nov. 23, 2022

Weeknotes: Implementing a write API, Mastodon distractions

Everything is so distracting at the moment. The ongoing Twitter catastrophe, the great migration (at least amongst most of the people I pay attention to) to Mastodon, the FTX calamity. It’s been very hard to focus!

[... 916 words]

Nov. 24, 2022

Microsoft Flight Simulator: WebAssembly (via) This is such a smart application of WebAssembly: it can now be used to write extensions for Microsoft Flight Simulator, which means you can run code from untrusted sources safely in a sandbox. I’m really looking forward to more of this kind of usage—I love the idea of finally having a robust sandbox for running things like plugins.

# 2:08 am / microsoft, webassembly

Nov. 26, 2022

An Interactive Guide to Flexbox. Joshua Comeau built this fantastic guide to CSS flexbox layouts, with interactive examples of all of the properties. This is a really useful tour of the layout model.

# 2:50 am / css

Coping strategies for the serial project hoarder

Visit Coping strategies for the serial project hoarder

I gave a talk at DjangoCon US 2022 in San Diego last month about productivity on personal projects, titled “Massively increase your productivity on personal projects with comprehensive documentation and automated tests”.

[... 3,865 words]

TIL Lazy loading images in HTML — [Most modern browsers](https://caniuse.com/loading-lazy-attr) now include support for the `loading="lazy"` image attribute, which causes images not to be loaded unti the user scrolls them into view.

Nov. 27, 2022

Release datasette-export 0.1a0 — Export pages from Datasette to files on disk

Nov. 28, 2022

If posts in a social media app do not have URLs that can be linked to and viewed in an unauthenticated browser, or if there is no way to make a new post from a browser, then that program is not a part of the World Wide Web in any meaningful way.

Consign that app to oblivion.

JWZ

# 6:22 am / jwz, social-media

TIL actions/setup-python caching for setup.py projects — I used to use a combination of `actions/setup-python` and `actions/cache` in all of my Python GitHub Actions projects in order to install Python dependencies via a cache, rather than hitting PyPI to download copies every time.

Nov. 29, 2022

Stable Diffusion 2.0 and the Importance of Negative Prompts for Good Results. Stable Diffusion 2.0 is out, and it’s a very different model from 1.4/1.5. It’s trained using a new text encoder (OpenCLIP, in place of OpenAI’s CLIP) which means a lot of the old tricks—notably using “Greg Rutkowski” to get high quality fantasy art—no longer work. What DOES work, incredibly well, is negative prompting—saying things like “cyberpunk forest by Salvador Dali” but negative on “trees, green”. Max Woolf explores negative prompting in depth in this article, including how to combine it with textual inversion.

# 1:22 am / max-woolf, stable-diffusion, prompt-engineering, generative-ai, text-to-image

TIL Using pipenv and Docker — I had [a Django project](https://github.com/natbat/cbwg) that used `pipenv` (in particular a `Pipfile.lock`) to manage dependencies and I wanted to build a Docker container for it.

Scaling Mastodon: The Compendium (via) Hazel Weakly’s collection of notes on scaling Mastodon, covering PostgreSQL, Sidekiq, Redis, object storage and more.

# 5:46 am / postgresql, redis, scaling, mastodon, sidekiq

2022 » November

MTWTFSS
 123456
78910111213
14151617181920
21222324252627
282930