because adulthood is lonely

Wall • About • Log • Live feed

#224 — Apr 9, 2026 by Evan Chen

sometimes i wish i had registered evanchen.dev instead of evanchen.cc, although i don't think .dev domains were available for sale yet back then.


#223 — Apr 8, 2026 by Evan Chen

Note to self on how to use virtualfish to create a new uv environment with a specified Python version

vf new -c ENVIRONMENT_NAME --python (uv python find 3.12)

Honestly the virtualfish and uv situation is worthy of a blog post… maybe it'll help some confused amateurs like me? If I have the time.


#222 — Apr 7, 2026 by Evan Chen

Programming languages are also judged by the proficiency of their users. So a programming language with good design principles attracts good developers, which in turn increases its reputation further.


#221 — Apr 7, 2026 by Evan Chen

I ran out of Claude credits so I ended up refactoring build.py in web.evanchen.cc by hand, which took way longer than making a robot do it, but I feel like the final product was also better than it would've been if I had an LLM do it.


#220 — Apr 7, 2026 by Evan Chen

Switched from Pelican to Zola for wall and it feels so clean. (And fast.)


#219 — Apr 7, 2026 by Evan Chen

TIL that sed can delete all lines matching a pattern:

sed -i '/pattern/d'

I think I should learn more about sed.


#218 — Apr 6, 2026 by Evan Chen

Woke up to Tailscale DNS not working on desktop. Ended up installing openresolv to replace resolvconf, to match my laptop. I have no memory at all of installing either.


#217 — Apr 4, 2026 by Evan Chen

I hope Python and Rust rule the world together.


#216 — Apr 4, 2026 by Evan Chen

Spent the morning trying to wrap my head around the nvim IDE stuff and wrote up a note to self.


#215 — Apr 4, 2026 by Evan Chen

Reading about mkdocs falling apart is… huh. I had no idea.


#214 — Apr 2, 2026 by Evan Chen

CI is killing my productivity because I feel like I can't focus on the actual work until the CI is set up perfectly.


#213 — Apr 2, 2026 by Evan Chen

Might really switch from prettier to rumdl.


#212 — Mar 31, 2026 by Evan Chen

Finally realized I could use CloudFlare's functions/_middleware.js for a small basic HTTP authentication. That's nice.


#211 — Mar 29, 2026 by Evan Chen

Something about running this command was deeply satisfying:

$ rm -rf Therapy/

#210 — Mar 25, 2026 by Evan Chen

Trailing commas being forbidden in JSON drives me nuts. I hope Python gets TOML 1.1 support into a builtin module soon, for now I have to keep including it as a dependency.


#209 — Mar 25, 2026 by Evan Chen

Isn't fate pull such a good command name?


#208 — Mar 24, 2026 by Evan Chen

On the litellm attack:

We discovered it when the package was pulled in as a transitive dependency by an MCP plugin running inside Cursor. The .pth launcher spawns a child Python process via subprocess.Popen, but because .pth files trigger on every interpreter startup, the child re-triggers the same .pth — creating an exponential fork bomb that crashed the machine. The fork bomb is actually a bug in the malware.

(Passed to me by a work colleague.)


#207 — Mar 23, 2026 by Evan Chen

Man, I can just like, upload whatever I want to PyPI and it's great.


#206 — Mar 22, 2026 by Evan Chen

I really want to like biome, but having to have a configuration file to cause it to use spaces over tabs (the default for prettier) isn't great. I don't have .prettierrc and don't really want to start with biome.json either.


#205 — Mar 21, 2026 by Evan Chen

What does it say about me that tinkering with CI is more addictive than Netflix?