Recently Updated
- Dec 09, 2023 programming/golang/errtrace
- Dec 08, 2023 link_blog/2023/12/watch electricity hit a fork in the road at half a billion frames per second
- Dec 05, 2023 link_blog/2023/12/schneier on ai
- Dec 03, 2023 link_blog/2023/12/let's learn how modern javascript frameworks work by building one
- Dec 01, 2023 programming/advent_of_code/2023 problem log
- Nov 29, 2023 link_blog/2023/11/rustlings
- Nov 27, 2023 link_blog/2023/11/antirez' tiny json selector library
- Nov 26, 2023 chess/databases/om otb game database
- Nov 26, 2023 link_blog/2023/11/you want my password or a dead patient?
- Nov 21, 2023 programming/javascript/typescript/tsx - run typescript code
- Nov 21, 2023 programming/javascript/typescript/ts-node
- Nov 21, 2023 link_blog/2023/11/1001 albums generator
- Nov 20, 2023 programming/algorithms/line breaking
- Nov 20, 2023 programming/golang/river queue
- Nov 20, 2023 visualization/semantics/graphical perception and graphical methods for analyzing scientific data
All Notes
expand all-
AI
-
image-to-text
- OpenAI Instructor
- Please Stop Drawing Neural Networks Wrong
-
text-to-image
-
book notes
-
Against Method - Feyeraband
-
Understanding Software Dynamics
-
-
computer usage
-
age encryption
-
app color schemes
-
audio transcription
- bat
-
benchmarking
-
database clients
-
desktop web apps
- direnv
-
editors
-
file syncing
-
firefox
-
google cloud
- got - fast file downloader
-
homebrew
-
image commands
-
iphone
-
keyboard mapping
-
lima
-
mac os
- browser start per-site
- change user account name
- debugging os x
- duti - command to set default applications
- finder keyboard shortcuts
- fix hades menu bar issue
- keychain command line access
- mac os command line programs
- openwith
- prefsniff
- set computer time from the command line
- view contents of packages
- wake from sleep to run a cron job
-
maps
-
mastodon
-
media servers
-
network
-
nushell
-
organization
-
safari
- source code images for tweeting
-
ssl
-
tailscale
-
terminal banners
-
terminal multiplexers
-
virtualization
-
window management
-
yt-dlp
-
cooking
-
data analytics
-
databases
- appwrite
- BadgerDB
- CockroachDB
- DragonflyDB
- FoundationDB
- Hasura
- migration tools
-
postgres
- age - graph database extension
- building a sample distributed postgres
- Citus
- Create an advanced search engine with PostgreSQL
- Easy postgresql time bins
- FerretDB - MongoDB alternative built on postgres
- is your database ready for production?
- Pagila sample database
- pg_bm25 - better postgres full-text search
- pg_cron
- pg_graphql
- Postgis
- Postgraphile
- Postgres full text search
- Postgres internals
- postgres introspection
- Postgres language server
- Postgres plan optimizer
- Postgres safe DDL changes
- postgres wasm
- Postgres
- PostgreSQL 14 Internals
- Postgrest
- postlite (sqlite access via postgres wire protocol)
- Promscale - tracing data in postgres
- pyrseas (postgres schema utilities)
- Query Plan Visualization
- schema changes in pg 15
- storing secrets
- supavisor
- PRql
- Redis
- Rill Developer
- roapi
- Rxdb
- sqlfluff
-
sqlite
- build wasm sqlite with an extension embedded
- building a sqlite extension in rust
- building sqlite wasm
- Datasette
- go-sqlite3-stdlib
- google sheet extension
- hc-tree
- Index Recommendations
- isqlite - improved ipython interface
- JSON and virtual columns in sqlite
- line-by-line filter extension
- rqlite
- spatialite javascript
- Spatialite
- sqlcipher
- SQLean (sqlite standard library)
- SQLite autocomplete
- sqlite extensions in go
- sqlite fiddle
- SQLite over Postgres wire protocol
- sqlite wasm docs
- sqlite-html
- sqlite
- sqlite3vfshttp
- Statically hosted sqlite with range queries
- tuql
- user-defined functions
- vfs systems
- virtual tables with zig-sqlite
- Virtual Tables
- wa-sqlite
- Supabase
- Timeseries db for FoundationDB
- TinyBase
- Ultorg
-
emotions
-
gis
-
images
- 265760997-a69be66f-8e27-43a0-8a4d-6cfe3b1d9335
- 2nd-2023_Bielfeldt_Ole_e30778_f21472
- 9dc8b33d-04b4-4f62-8041-675559c7f205_845x556
- an incremental approach to compiler construction
- aperiodic_recursive
- both
- C7F4CE49-2494-4B67-B67B-4B20D0D13C2E_1_105_c
- Change_DistillingTree_Differencing_for_Fine-Graine
- Cleveland and McGill 1985 - Graphical Perception and Graphical Methods for Analyzing Scientific Data
- combined
- edit-DP262479
- edit-DP262481-2
- Franke - Computer Graphics — Computer Art (1985)
- gounicode 1
- gounicode
- gumtree
- heartbeats_sheet_music
- Howtoskatea10k
- netscape-meteors_huae8a0a30085130352d1b0206d5a3e841_36320_1280x1280_fit_box_1
- nix-installation-log
- overview
- palette
- Pasted image 20211229092853
- Pasted image 20220120121258
- Pasted image 20220126152532
- Pasted image 20220207083317
- Pasted image 20220421212044
- Pasted image 20220421212051
- Pasted image 20220421212101
- Pasted image 20220421212106
- Pasted image 20220421212112
- Pasted image 20220421212118
- Pasted image 20220421212134
- Pasted image 20220421212307
- Pasted image 20220505151818
- Pasted image 20220505161417
- Pasted image 20220509093154
- Pasted image 20220607084451
- Pasted image 20220607100632
- Pasted image 20220715143741
- Pasted image 20220729151054
- Pasted image 20220729151152
- Pasted image 20220729151455
- Pasted image 20220729151512
- Pasted image 20220729151538
- Pasted image 20220804121340
- Pasted image 20220919133005
- Pasted image 20221014093101
- Pasted image 20221017220807
- Pasted image 20221227101221
- Pasted image 20221229115740
- Pasted image 20221229173630
- Pasted image 20230101212443
- Pasted image 20230201124320
- Pasted image 20230327150245
- Pasted image 20230401113153
- Pasted image 20230413131711
- Pasted image 20230501095954
- Pasted image 20230502150350
- Pasted image 20230601151559
- Pasted image 20230602105119
- Pasted image 20230602105130
- Pasted image 20230615152326
- Pasted image 20230615152342
- Pasted image 20230615152358
- Pasted image 20230707083917
- Pasted image 20230707084036
- Pasted image 20230710210350
- Pasted image 20230710213053
- Pasted image 20230713162954
- Pasted image 20230713164342
- Pasted image 20230713164518
- Pasted image 20230714211906
- Pasted image 20230725102917
- Pasted image 20230804145323
- Pasted image 20230815201044
- Pasted image 20230831102023
- Pasted image 20230910103315
- Pasted image 20230910110954
- Pasted image 20231002150022
- Pasted image 20231109155400
- Pasted image 20231120092518
- Pasted image 20231120092610
- Pasted image 20231120135943
- Pasted image 20231203141418
- pulsar_trio.jpg
- Screen Recording 2023-08-10 at 11.16.01 AM
- Screen Shot 2022-06-07 at 1.24.24 PM
- Screen Shot 2022-12-27 at 10.13.35
- Screenshot 2023-11-20 at 9.08.38 AM 1
- Screenshot 2023-11-20 at 9.08.38 AM
- Screenshot 2023-11-20 at 9.23.47 AM
- screenshot
- screenshot
- test 1
- test 2
- test 3
- test 4
- test
- unicode 1
- unicode
- virtual-memory-paging
- wow
-
incident response
-
link blog
-
2023
-
03
- Breaking Up with Heroku - moving to Kubernetes
- crawling every page and running lighthouse on it
- Crowdsourcing contested Nigerian elections
- drizzle ORM
- Enabling low-latency, syntax-aware editing using tree sitter
- How big should a programming language be?
- Infinite aperiodic monotile
- Janet for Mortals
- Malleable software in the age of LLMs
- MRSK
- Play - a free map editor from Placemark
- Something Pretty Right - The History and Legacy of Visual Basic
- what happened to Digg?
- Writing an Engineering Strategy
-
04
- a guide to prompt engineering
- A Number System Invented by Inuit Schoochildren
- annoy - approximate nearest neighbors oh yeah
- apenwarr on insight, engineering, and how an LLM might relate to them
- bitwise
- coping strategies for the serial project hoarder
- CoScreen
- Customizing an LLM on friends chat
- Determinants
- Good Enough File System
- GPT makes false sexual harrasment allegations
- Grid world
- here is my list of weird coding influences
- If AI scaling is to be shut down, let it be for a coherent reason
- Improving bug triage with user pain
- Langchain demo
- Mermaid Gantt charts for traces
- mmap is (mostly) not magic
- new doc site for observable plot
- safari releases are development hell
- Shar's Algorithm for Branchless Binary Search
- Supabase open sources edge functions server
- The History of the Joy Division visualization
- unicode text analyzer
- Why is sea level rise worse in some places?
- will AI obliterate the rule of law?
- writing a user-space USB driver for a 1999 webcam
-
05
- A Terminal Case of Linux
- ada URL parser
- add .ʕ◔ϖ◔ʔ as an alternate spelling of .go in file names
- canvas-sketch
- enforcing bounds safety in C
- How figma draws inspiration from the gaming world
- I want to talk about WebGPU
- mmm.page
- More Ted Chiang on LLMs
- pytrees
- Red Canary Mac Monitor
- sqlite has json5 support
- the Aaronson Oracle
- Using computers more freely and safely
- warms
-
06
- Apple Maps vs Google Maps
- bubblewrap
- How I Build a Large Technical Project
- How to build an air quality map quickly
- I hate almost all software
- in which b0rk is wise
- Modern software quality, or why I think using language models for programming is a bad idea
- NVD Damage (continue)
- poop
- Rewriting the Ruby Parser
- Superpermutation
- tech debt maximalism
- The Merganthaler Diagrammer
- The rust I wanted had no future
- the two camps of mastodon
- We're all doing metrics wrong
-
07
- Announcing Clipper - TLS-transparent HTTP debugging for native apps
- Announcing Jupyter Notebook 7
- Banished to a Remote Idaho Valley, Beavers Created a Lush Wetland
- bilithification
- Catastrophic Failure
- Demystifying Tupper's formula
- Early computer art of the 50s and 60s
- GCC 14 draws memory diagrams on failure
- NASA eyes
- Reaction-diffusion playground
- Shakespeare Serif - an experimental font based on the First Folio
- The controller pattern is awful
- The Messaging Layer Security (MLS) protocol
- Understanding WASM
- Unfancy Blocks
- Ungrammar in Go and resilient parsing
- unicode is harder than you think
- Unsafe Rust vs Zig
- Why Match School And Student Rank?
-
08
- A friendly abstraction over io_uring and kqueue
- Andreas Kling on the cost of patterns
- Astro content islands
- C and C++ Prioritize Performance over Correctness
- ESM modernization lessons
- Game of Life in APL
- gonew - go language template app from the core team
- Hofstadter on LLMs
- How they bypass YouTube video download throttling
- micro
- Netscape meteors
- No One Actually Wants Simplicity
- Open charter companies and relicensing
- Paste without style on the mac
- Putting the "you" in CPU
- Rewriting wipEout
- RFC 3339 vs ISO 8601
- Search text on historical maps
- So You Want to Learn Physics...
- Special use domains
- The OpenTF manifesto
- The TTY demystified
- Thoughts about what worked in math circles
- TypeScript is surprisingly OK for compilers
- Why htmx Does Not Have a Build Step
- Why Kundera never went home
- wtf-8
- Youtube2Webpage
-
09
- A year's OSM tile traffic
- boats' wakes have the same shape no matter their speed
- CORS debugging trick
- Develop with cocoa for apple devices without using Objective-C
- emoj
- Everything I wish I knew before moving 50,000 lines of code to React Server Components
- Exploring Linux command-line space time
- GitHub Actions could be so much better
- Horizontal and Vertical Complexity
- I built Excel for Uber and they Ditched it
- Introduction to CORS for go programmers
- Invariants - A Better Debugger
- jq is alive again
- Mask
- Most UI Applications are Broken Real-time Applications
- No Ghosts!
- skip the API
- Understanding WASM Part 3 - you are here
- Wavacity
- When the Sea Saved Humanity
- Why didn't we get a malaria vaccine sooner
-
10
- EBCDIC is incompatible with GDPR
- Embeddings - what they are and why they matter
- Error Budgets and the Legacy of Herbert Heinrich
- Fragile
- How we're opening up access to gov.uk forms
- It’s Not Wrong that "🤦🏼‍♂️".length == 7
- lonboard
- Matchstick igniting
- Meta in Myanmar, Part III - The Inside View
- modern unix tools
- My personal C coding style as of late 2023
- Nakatomi Space
- No one actually wants simplicity
- paclear
- python 3.12 adds `itertools.batched`
- Stein's Law
- The Absolute Minimum Every Software Developer Must Know About Unicode in 2023
- The Great Ptolemaic Smackdown
- The nuances of base64 encoding strings in JavaScript
- The Rhetoric of Condemnation
- Unless Explicitly Specified Otherwise, Open Source Software With Users Carries Moral Obligations
- Why async Rust
-
11
- 1001 albums generator
- antirez' tiny JSON selector library
- automerge-repo
- Bathymetry of the Atlantic
- cursorless is alien magic
- Designing a Programming Language to Speedrun Advent of Code
- Early experiments with X-rays
- How Humans see data
- jq by example
- KDL - a config language
- Life-critical side projects
- Numbat - a programming language with physical unit types
- Open Source loading components
- Playful Programming
- rustlings
- Was this October really warmer than most Octobers
- You want my password or a dead patient?
-
-
-
modeling
-
music
-
photography
-
politics
-
programming
-
academic publishing
-
accessibility
-
advent of code
-
algorithms
-
C
- -fPIC
- a lock-free concurrent queue in 32 bits
- array_alg.h
- beej's guide to C programming
- building a program to process file trees
- C package manager
- cuneicode
- driving C and C++ compilers
- ffmpeg tutorial
-
freetype
- good C code
- hash tables
- hot reloading in C
- Let's build a simple database
- olive.c
- Sokol
- stretchy buffers
- string libraries
- Structures in C - from basics to memory alignment
- tree with multiple types
-
computer art
-
computing history
-
concurrency
-
Continuous Integration
-
credentials
-
distributed systems
-
dynamic UIs
-
ecommerce
-
encryption
-
esolangs
-
file watching
-
game programming
-
golang
- Ben Johnson's preferred layout
- compile-time template requires
- conc - better structured concurrency for go
-
database libraries
- download a large file, show a progress bar, and handle ctrl-c
- errtrace
- exploring function parameter types with Go tooling
- ferret - declarative web scraping
- flowmatic
- go plugins with webassembly
- go recipes
- go-internal
- go-keyring
- go-tool-cache
- Go
- goja - javascript interpreter in go
- golang
- google style guide
- govulncheck
- how golang templates protect against XSS
- ko
- lo
- MacDriver
- objx
- oklog-run
- Operator constraints in Go
- Peter Bourgon on organizing concurrent go
- purego
- River Queue
- RPC-based plugins in Go
- rust regex bindings
- standard library levelled logging proposal
- suture - supervisor trees for go
- Use xsync.MapOf instead of sync.Map
- using go run instead of tools.go
- wails
-
web
- bud - full stack web apps
- downsides of wrapping ResponseWriter
- dynamic json
- go and sqlite in the cloud
- go-zero
- HTTP library
- json-to-go
- Marshmallow - JSON parsing for unknown fields
- microservices in go with grpc, API gateway, and auth
- ogen - code generation for OpenAPI specs
- oxy middleware
- Pagoda - full stack web apps
- plush templating language
- templ
- XML struct generator
- zerolog
- zeropool
-
graphics programming
- BabylonJS
- circle packing
- coding curves
- cosmic
- ebiten
- game boy studio
- gpu-io
- jpeg as signal processing
- Path Tracing Workshop
- pixi.js
-
playgrounds
- Raph Levien's resources for learning compute shaders
- raylib
- Signed distance functions in 46 lines of Python
- swissgl
- threejs journey class
- ThreeJS
- TwoJS
- WaveFunctionCollapse algorithm
- webgpu fundamentals
- WebGPU
-
graphql
-
hashing
-
javascript
- alpine.js
- blocked-at
- blocked
-
date libraries
- download esm packages
- esbuild
- FlexSearch
- Generate puppeteer tests
- HTMX
- liveblocks
- marko
- mhkeller-plot
- moveable - draggable, resizable, scalable...
- pagefind
- plane - per user backends
- prism syntax highlighter
- Reach (design system foundation)
- server-sent events
- small javascript engines
- solid.js
- Svelte
- The Weirdly Obscure Art of Streamed HTML
-
typescript
- WASM
- Writing a TodoMVC app with vanilla js in 2022
- zod schema validator
-
kids programming
-
languages
-
latex
-
legal
-
limbo
-
linux
-
literate programming
-
localization
-
logging
-
neural networks
-
ops
-
parsing
-
performance measurement
- caddy vs nginx
- Faster Go code by being mindful of memory
- Faster zlib compression on Apple M1
- How NOT to measure latency
- Improving performance in the game of life
- intro to dataflow graphs
- loom concurrent program testing
- napkin math
- optimizing javascript performance
- Speed Limits
- speeding up javascript one library at a time
- speedlify
- speedscope
- uarch-bench
-
physics
-
programming education
-
protobuf
-
python
- building pyarrow
- calling shell programs
- iommi django power tools
- jupyter+git
- keyring
- logging
- making pyright happy with package imports
- pattern matching
- pex - python executables
- pipenv
- playwright
- PracticeProbs
- pyproject.toml
- pyright use virtualenv
- pyright
- Ruff - linter written in rust
- strftime.org
- using sqlite from python
- Writing a Python SQL engine from scratch
-
rails
-
rpc libraries
-
slack
-
spreashseet
-
task runner
-
template CLIs
-
text editors
-
text encoding
-
text shaping
-
tidbyt
-
weather api
-
web scraping
-
webauthn
-
-
ukraine
-
visualization
- All Of Us census map
-
colors
- accessiblepalette.com
- color and contrast dot com
- Color Models
- color schemes
- colors.js
- coolors.com
- dicopal - a collection of color schemes
- friendly color palette generator
- how to pick the least wrong colors
- MetBrewer
- pattern fills
- Primer Prism - github tool for color choice
- Scientific colour maps
- the 12-bit rainbow palette
- thi.ng color palettes
- everynoise
- feather icons
- Franke's computer graphics
- Fundamentals of Data Visualization
- Grid Cartograms
- Iconographic Encyclopedia
- literature-map
- MarkovJunior
- People are bad at perceiving areas
- population change map
-
python libs
- sound
- Truchet tiles
- use CDFs not histograms
- visualize your program's structure
- Ways of seeing
-
weather