External Link
X (formerly Twitter) · twitter.com [1]
Next time I’m working with large headers on small screens I need to try this. I always truggle to get them to look good for most text and overflow ridiculously long words correctly or at all.
text-wrap: pretty;
text-wrap: balance
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://twitter.com/chriscoyier/status/1681407724993798144
[2]: /thoughts/
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
Full-text search - Datasette documentation
docs.datasette.io [1]
Enable full-text search in sqlite using sqlite-utils.
$ sqlite-utils enable-fts mydatabase.db items name description
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://docs.datasette.io/en/latest/full_text_search.html#enabling-full-text-search-for-a-sqlite-table
[2]: /thoughts/
sqlite-utils command-line tool - sqlite-utils
sqlite-utils.datasette.io [1]
I want to like jq, but I think Simon is selling me on sqlite, maybe its just me but this looks readable, hackable, editable, memorizable. Everytime I try jq, and its 5 minutes fussing with it just to get the most basic thing to work. I know enough sql out of the gate to make this work off the top of my head
curl https://thoughts.waylonwalker.com/posts/ | sqlite-utils memory - 'select title, message from stdin where stdin.tags like "%python%"' | jq
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://sqlite-utils.datasette.io/en/stable/cli.html#querying-data-directly-using-an-in-memory-database
[2]: /thoughts/
sqlite-utils command-line tool - sqlite-utils
sqlite-utils.datasette.io [1]
insert a json array directly into into sqlite with sqlite-utils.
echo '{"name": "Cleo", "age": 4}' | sqlite-utils insert dogs.db dogs -
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://sqlite-utils.datasette.io/en/stable/cli.html#inserting-json-data
[2]: /thoughts/
LZone
LZone - Cheat Sheets for Sysadmin / DevOps / System Architecture
lzone.de [1]
A nice cheat sheet for jq. jq looks so nice, but it so quickly gets overwhelming on how to select what you want. I was able to make a jq contains query.
curl https://thoughts.waylonwalker.com/posts/ | jq '.[] | select(.title | contains("python"))'
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://lzone.de/cheat-sheet/jq
[2]: /thoughts/
Looking for inspiration? sqlite-migrate [1] by simonw [2].
A simple database migration system for SQLite, based on sqlite-utils
References:
[1]: https://github.com/simonw/sqlite-migrate
[2]: https://github.com/simonw
The work on textual-paint [1] by 1j01 [2].
🎨 MS Paint in your terminal.
References:
[1]: https://github.com/1j01/textual-paint
[2]: https://github.com/1j01
Check out wsrepl [1] by doyensec [2]. It’s a well-crafted project with great potential.
WebSocket REPL for pentesters
References:
[1]: https://github.com/doyensec/wsrepl
[2]: https://github.com/doyensec
If you’re into interesting projects, don’t miss out on llm.nvim [1], created by huggingface [2].
LLM powered development for Neovim
References:
[1]: https://github.com/huggingface/llm.nvim
[2]: https://github.com/huggingface
Underground Bases with Wyatt
Playing minecraft with Wyatt today he started a server all on his own and had
me join. All vanilla, only one rule, underground bases.
[1]
I spawned into the server and it was already night time. I gathered up some
wood on my way down a tree, and was attacked by zombies before I could get any
tools, so I ran up another tree and crafted a crafting table.
[2]
Now to follow the rules, it’s time to head underground to build my base.
[3]
I made a mistake and died, but look at this view from my respawn point.
[4]
References:
[1]: https://dropper.waylonwalker.com/api/file/eb43e707-ae55-48f8-9916-86321b3b8754.webp
[2]: https://dropper.waylonwalker.com/api/file/25a3493a-f08b-4ea8-8535-b03cc7bcbf00.webp
[3]: https://dropper.waylonwalker.com/api/file/74fc59aa-f0da-4643-a67a-36dc65480760.webp
[4]: https://dropper.waylonwalker.com/api/file/7e852358-a680-460b-88c0-ed31b2a18501.webp
I like maces’s [1] project fastapi-htmx [2].
Extension for FastAPI [3] to make HTMX [4] easier to use.
References:
[1]: https://github.com/maces
[2]: https://github.com/maces/fastapi-htmx
[3]: /fastapi/
[4]: /htmx/
The work on interpreters [1] by ericsnowcurrently [2].
a placeholder
References:
[1]: https://github.com/ericsnowcurrently/interpreters
[2]: https://github.com/ericsnowcurrently
Check out coolify [1] by coollabsio [2]. It’s a well-crafted project with great potential.
An open-source & self-hostable Heroku / Netlify / Vercel alternative.
References:
[1]: https://github.com/coollabsio/coolify
[2]: https://github.com/coollabsio
The next version of markata will be around a full second faster at building
it’s docs, that’s a 30% bump in performance at the current state. This
performance will come when virtual environments are stored in the same
directory as the source code.
[1]
What happened?? # [2]
I was looking through my profiler for some unexpected performance hits, and
noticed that the docs plugin was taking nearly a full second (sometimes
more), just to run glob.
| |- 1.068 glob markata/plugins/docs.py:40
| | |- 0.838 <listcomp> markata/plugins/docs.py:82
| | | `- 0.817 PathSpec.match_file pathspec/pathspec.py:165
| | | [14 frames hidden] pathspec, <built-in>, <string>
Python scandir ignores hidden directories # [3]
I started looking for different solutions and what I found was that I was
hitting pathspec with way more files than I needed to.
len(list(Path().glob("**/*.py")))
# 6444
len([Path(f) for f in glob.glob("**/*.py", recursive=True)])
# 110
After digging into the docs I found that glob.glob uses os.scandir which
ignores ‘.’ and ‘..’ directories while Path.glob does not.
https://docs.python.org/3/library/os.html#os.scandir
results? # [4]
Now glob.py from the docs plugin does not...
I’m impressed by minijinja [1] from mitsuhiko [2].
MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2
References:
[1]: https://github.com/mitsuhiko/minijinja
[2]: https://github.com/mitsuhiko
I’m really excited about gpt-engineer [1], an amazing project by AntonOsika [2]. It’s worth exploring!
Platform to experiment with the AI Software Engineer. Terminal based. NOTE: Very different from https://gptengineer.app
References:
[1]: https://github.com/AntonOsika/gpt-engineer
[2]: https://github.com/AntonOsika
I like s0md3v’s [1] project roop [2].
one-click face swap
References:
[1]: https://github.com/s0md3v
[2]: https://github.com/s0md3v/roop
tidwall [1] has done a fantastic job with jj [2]. Highly recommend taking a look.
JSON Stream Editor (command line utility)
References:
[1]: https://github.com/tidwall
[2]: https://github.com/tidwall/jj
I recently discovered elia [1] by darrenburns [2], and it’s truly impressive.
A snappy, keyboard-centric terminal user interface for interacting with large language models. Chat with ChatGPT, Claude, Llama 3, Phi 3, Mistral, Gemma and more.
References:
[1]: https://github.com/darrenburns/elia
[2]: https://github.com/darrenburns
The work on cal.com [1] by calcom [2].
Scheduling infrastructure for absolutely everyone.
References:
[1]: https://github.com/calcom/cal.com
[2]: https://github.com/calcom