Using nginx to proxy to a Unix domain socket
I figured this out while adding support to Datasette in 1388. Save the following in : Start against that configuration file - this works without root provided you listen on a high port: nginx -c…
Notes on software engineering
221–240 of 546 posts, newest first.
I figured this out while adding support to Datasette in 1388. Save the following in : Start against that configuration file - this works without root provided you listen on a high port: nginx -c…
I needed to apply some changes to the DOM if the users window was smaller than 800px - or if the user resized their window to less than 800px after they had first loaded the page.
The GraphQL schema language is a concise way to represent the available schema provided by a GraphQL endpoint.
I'm writing some code that accepts webhooks from Stripe. I wanted to simulate hits to this endpoint in my Django tests.
After rebasing a branch with 60+ commits onto I was disappointed to see that the commit dates on the commits (which are a different thing from the author dates) had all been reset to the same time.
Pyodide provides "Python with the scientific stack, compiled to WebAssembly" - it's an incredible project which lets you run a full working Jupyter notebook, complete with complex packages such as…
I'm learning service workers. I wanted to start with one that intercepts calls to a and returns "Hello World". Here's the initial recipe I came up with.
For datasette-leaflet-geojson I wanted to dynamically load some external CSS and JavaScript and then execute some code once they had loaded (issue 14).
Today I learned how to install tools from GitHub that are written in Go, using github.com/icholy/semgrepx as an example: go install github.com/icholy/semgrepx@latest Running this command grabs a copy…
I wanted to start a new git repository containing just the history of two specific files from my help-scraper repository.
I wanted to upgrade my git-history installation to a new alpha version. doesn't work for that, because it upgrades to the most recent stable version - but I wanted the alpha.
Inspired by Brad Neuberg I decided to take a look at the SQL features in the GDAL family of tools. GDAL is a complex beast.
When comparing secrets, passwords etc it's important to use a constant-time compare function to avoid timing attacks. In Python I use , documented here. I needed an equivalent in Node.js today.
While working on this issue I figured out a neat pattern for running the tests for my project locally against a specific Python version using uv run: The new-to-me trick here is that works for adding…
I wanted to produce the following output from a command-line tool: But I wanted to do it from a streaming iterator - without first buffering the entire output in an in-memory Python list and calling…
I've been trying to get my head around ColBERT. ColBERT is a fast and accurate retrieval model, enabling scalable BERT-based search over large text collections in tens of milliseconds.
The register commands plugin hook lets you add extra sub-commands to the CLI tool. I have a lot of existing tools that I'd like to also make available as plugins.
OpenAI's gpt-oss models come with an eval suite, which is described in their Verifying gpt-oss implementations cookbook.
Using gifsicle Tip via Mark Norman Francis on Twitter: Saw your GIF size TIL, and gets it down to 320k.
admin only: false I've read an article recently that simply learning something new will help you to improve your life. I thought about it and I think it's true.