Back when I was still a teenager, Rusczyk showed me the sentence "The internet makes dumb people dumber and smart people smarter". I'm starting to feel the same about AI.
Spotted today in OTIS server logs:
⚠️ Not Found: /robots.txt
Freaking /wp-admin 404 errors polluting my server logs.
TIL http://nyarchlinux.moe/ exists this is so funny
omg the Papago app has a Christmas earmuffs it's so cute

Also I totally did not know this but:
The name Papago comes from the Esperanto word for parrot.
I finally know the difference between UTF-8, UTF-16, and Unicode. It was actually easy to understand, I just never thought to until now when I was surfing Wikipedia and actually read about character encodings. Wish I had earlier just for feeling less ignorant.
I am grudgingly trying out Pomodoro for my Anki study sessions to see if helps my concentration. Feels like a death knell.
Actually I find it kind of cute that in Korean, 결혼하다 (to marry) is an intransitive verb (unlike in English where it's transitive --- so you "marry with someone", rather than "marry someone").
OTIS-WEB is now on uv too and all the Django applications are in harmony
Technology tried out today:
Seem to be working as advertised.
At one point, the Internet was a place where anyone could carve out a little piece and say, "This is me." (source)
Yeah... I feel that.
You know, gunicorn just kind of worked with no fuss.
(SIGHUP works as advertised and now I don't have downtime when I update my site.)
I feel like usually software doesn't do that for me so I feel grateful for that.
Despite being a myself human, I feel is if I have no real understanding of how to teach humans how to solve math problems. I just go off vibes and what-seems-to-work-in-practice and then kind of pray.
Trying to teach robots is even worse, because I'm not a robot, so I don't even have empathy as a compass to fall back on.
Me learning how to send HUP to gunicorn.
#!/usr/bin/env bash
set -euo pipefail
umask 002
reload() {
uv sync --all-extras --no-dev
uv run --no-sync python3 manage.py migrate
kill -HUP "$GUNICORN_PID"
}
trap reload HUP
# Initial sync and migrate
uv sync --all-extras --no-dev
uv run --no-sync python3 manage.py migrate
# Start gunicorn in background
uv run --no-sync gunicorn atheweb.wsgi &
GUNICORN_PID=$!
# Wait for gunicorn, restarting wait after signals
while kill -0 "$GUNICORN_PID" 2>/dev/null; do
wait "$GUNICORN_PID" || true
done
Somethings comes over me when I'm coding. It's like I can't stop until everything is written and polished and perfect. Or it'll just bug me to the point I can't work on anything else.
I think my mom is finally starting to remember that the puzzle hunt I go to every January is called "mystery hunt", not "treasure hunt".
Now that I have 3 Django projects instead of 1, I feel like I'm trying my
hardest to make sure the infrastructure is as similar as possible between them.
The ideal case is .pre-commit-config.yaml and Makefile can just be
copy-pasted between projects while ci.yml is project-agnostic:
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
ci:
name: ✨ Full CI Audit Workflow
runs-on: ubuntu-latest
steps:
- name: 🧾 Checkout code
uses: actions/checkout@v6
- name: 🐍 Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: 📦 Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: 📥 Install dependencies
run: uv sync
- name: 🧼 Check formatting
run: make fmt
- name: 🔍 Run checks
run: make check
- name: 🧪 Run tests
run: make test
Still amazed by uv.
I'm completely unqualified to take about programming, but something about uv
just "feels right". I don't what I'm referring to, but it's a feeling I've had
ever since I started using it.
Turns out that it's not actually that useful to memorize your friend's birthdays if you don't know what the current date is.
okay yes i admit it. pre-commit (and prek) are better than the glue scripts
i was using before.