Dynamically loading multiple assets with a callback
2024-08-02
For [datasette-leaflet-geojson](https://github.com/simonw/datasette-leaflet-geojson) I wanted to dynamically load some external CSS and JavaScript ...
615 words
|
3 minutes
The most basic possible Hugo site
2024-08-02
With [Claude's help](https://gist.github.com/simonw/6f7b6a40713b36749da845065985bb28) I figured out what I think is the most basic version of a sta...
737 words
|
4 minutes
Using packages from JSR with esbuild
2024-08-01
[JSR](https://jsr.io/) is a brand new package repository for "modern JavaScript and TypeScript", [launched on March 1st](https://deno.com/blog/jsr_...
1130 words
|
6 minutes
Manipulating query strings with URLSearchParams
2024-07-31
The `URLSearchParams` class, in [every modern browser](https://caniuse.com/?search=URLSearchParams) since IE 11, provides a sensible API for manipu...
165 words
|
1 minute
Attaching a bash shell to a running Docker container
2024-07-31
Use `docker ps` to find the container ID:
96 words
|
1 minute
Basic Datasette in Kubernetes
2024-07-29
This recipe for deploying the official `datasetteproject/datasette` container in Kubernetes just worked for me. It uses an interesting (possibly na...
194 words
|
1 minute
Using just with Django
2024-07-29
Jeff Triplett [convinced me](https://twitter.com/webology/status/1532860591307726851) to take a look at [just](https://github.com/casey/just) as a ...
504 words
|
3 minutes
Deploying Python web apps as AWS Lambda functions
2024-07-29
I've been wanting to figure out how to do this for years. Today I finally put all of the pieces together for it.
1787 words
|
9 minutes
Pausing traffic and retrying in Caddy
2024-07-27
A pattern I really like for zero-downtime deploys is the ability to "pause" HTTP traffic at the load balancer, such that incoming requests from bro...
460 words
|
2 minutes
Building a Secure DNS Sinkhole with CoreDNS and Smallstep Certificates
2024-07-25
A comprehensive guide to building a secure DNS sinkhole using CoreDNS and Smallstep certificates, providing DNS-level blocking and serving custom HTTPS block pages.
259 words
|
1 minute
Installing tools written in Go
2024-07-24
Today I learned how to install tools from GitHub that are written in Go, using [github.com/icholy/semgrepx](https://github.com/icholy/semgrepx) as ...
202 words
|
1 minute
Searching all columns of a table in Datasette
2024-07-23
I came up with this trick today, when I wanted to run a `LIKE` search against every column in a table.
1466 words
|
7 minutes
Scraping Reddit and writing data to the Datasette write API
2024-07-22
Today I built a system for monitoring Reddit for new posts that link to various domains that I own.
795 words
|
4 minutes
Implementing Automated API Status Monitoring for Tomcat Applications
2024-07-20
A comprehensive guide to implementing automated API status monitoring for Tomcat applications using Bash scripting, with detailed explanations of script components, error handling, and best practices.
919 words
|
5 minutes
Deploying a redbean app to Fly
2024-07-19
[redbean](https://redbean.dev/) is a fascinating project - it provides a web server in a self-contained executable which you can add assets (or dyn...
331 words
|
2 minutes
Tommy's Margarita
2024-07-19
A few years ago I decided to learn how to make some classic cocktails. It is a very rewarding hobby.
506 words
|
3 minutes
Generating URLs to a Gmail compose window
2024-07-16
I wanted to send out a small batch of follow-up emails for workshop attendees today, and I realized that since I have their emails in a database ta...
501 words
|
3 minutes
JavaScript date objects
2024-07-16
A few notes on JavaScript `Date` object, based on trying to do some basic things with them in Observable notebooks.
449 words
|
2 minutes
How to read Hacker News threads with most recent comments first
2024-07-15
[Hacker News](https://news.ycombinator.com/) displays comments in a tree. This can be frustrating if you want to keep track of a particular convers...
1516 words
|
8 minutes
Setting Up Google Authenticator for SSH and Sudo Access on Linux
2024-07-15
A comprehensive guide to implementing Google Authenticator two-factor authentication for SSH and sudo access on Linux systems, including troubleshooting and best practices.
1052 words
|
5 minutes
Managing Private Forks of Public Repositories - Best Practices and Solutions
2024-07-15
A comprehensive guide to managing private forks of public repositories, including maintaining upstream synchronization, handling visibility changes, and implementing best practices for enterprise environments.
1008 words
|
5 minutes
Installing packages from Debian unstable in a Docker image based on stable
2024-07-12
For [Datasette #1249](https://github.com/simonw/datasette/issues/1249) I wanted to build a Docker image from the `python:3.9.2-slim-buster` base im...
320 words
|
2 minutes
Reviewing your history of public GitHub repositories using ClickHouse
2024-07-11
There's a story going around at the moment that people have found code from their private GitHub repositories in the AI training data known as The ...
664 words
|
3 minutes
Comprehensive Guide to Service Metrics Exporters - Implementation, Validation, and Monitoring
2024-07-10
A detailed guide to implementing, validating, and troubleshooting metrics exporters for monitoring service performance, with practical examples using both built-in exporters and custom Python implementations.
2178 words
|
11 minutes