Alex Chan

Alex Chan

@alexwlchan.net

415 followers52 following409 posts

Alex Chan reposted

I wrote about finding an SQLite bug for the Tailscale blog! I learnt so much from working on this series of incidents, and I’m proud of the outcome and the story we can finally tell. 🥰

Tailscale@tailscale.com

We spent months tracking down a rare SQLite corruption bug. Working with SQLite’s core developers, we found it—then uncovered a second bug along the way. The story of the rare race condition we eventually caught: tailscale.com/blog/sqlite-...

I wrote about finding an SQLite bug for the Tailscale blog! I learnt so much from working on this series of incidents, and I’m proud of the outcome and the story we can finally tell. 🥰

Tailscale@tailscale.com

We spent months tracking down a rare SQLite corruption bug. Working with SQLite’s core developers, we found it—then uncovered a second bug along the way. The story of the rare race condition we eventually caught: tailscale.com/blog/sqlite-...

Alex Chan reposted

Describing all my photos: alexwlchan.net/2026/describ... I wrote about a change to my photo reviewing workflow: I now write a description for every photo I’m keeping. A sentence or two of context goes a long way to cementing the memory, so I remember more when I look back on the photo.

alexwlchan.netDescribing all my photosWhen I save a photo, I write a sentence or two of descriptive context. It helps me remember what's in a photo, why I took it, and how I felt when I did.

Describing all my photos: alexwlchan.net/2026/describ... I wrote about a change to my photo reviewing workflow: I now write a description for every photo I’m keeping. A sentence or two of context goes a long way to cementing the memory, so I remember more when I look back on the photo.

alexwlchan.netDescribing all my photosWhen I save a photo, I write a sentence or two of descriptive context. It helps me remember what's in a photo, why I took it, and how I felt when I did.

Rendering a chat thread in CSS and JavaScript: alexwlchan.net/2026/css-chat/ I want to add text conversation to my scrapbook of social media, so I needed to render text bubbles in a web browser. It was tricky but I got it working. Modern web tech is amazing! 💬 💬 💬

alexwlchan.netRendering a chat thread in CSS and JavaScriptI thought rendering chat bubbles would be straightforward, but I found it tricky to get the CSS right and make the bubbles "shrink-wrap" to fit the text.

Alex Chan reposted

HTTP GET requests with the Python standard library: alexwlchan.net/2026/python-... For my local scripts I only need a handful of HTTP requests at a time, so I can do everything I want with a lightweight wrapper around urllib.request. Fewer dependencies FTW. 🥰

alexwlchan.netHTTP GET requests with the Python standard libraryFor my local scripting, a lightweight wrapper around the Python standard library gets me a friendly API without the dependencies.

Alex Chan reposted

Auditing my local Python packages: alexwlchan.net/2026/python-... Recent supply chain attacks have me wondering “what Python packages do I have installed” – and virtual environments make that harder. I’ve started keeping a list of my environments so I can see exactly what’s installed, and where.

alexwlchan.netAuditing my local Python packagesPython's virtual environments mean I can have many versions of the same package scattered across my machine. I've started keeping a list of my environments so I can see exactly what's installed, and where.

Auditing my local Python packages: alexwlchan.net/2026/python-... Recent supply chain attacks have me wondering “what Python packages do I have installed” – and virtual environments make that harder. I’ve started keeping a list of my environments so I can see exactly what’s installed, and where.

alexwlchan.netAuditing my local Python packagesPython's virtual environments mean I can have many versions of the same package scattered across my machine. I've started keeping a list of my environments so I can see exactly what's installed, and where.

Dreaming of a ten-year computer: alexwlchan.net/2026/ten-yea... I wrote about my current Mac mini, and why I’m trying to make it last for at least decade – modern machines are so powerful, and this should be more than enough computer for me for a long time.

alexwlchan.netDreaming of a ten-year computerModern computers are more powerful than I know what to do with, but the norm is still to upgrade every few years. I want my current computer to last a decade, and I don't think that's unreasonable.

I’d love to read a story about the security implications of bringing boatloads of explosives into central London, then setting them off on purpose. 🎆🎇

Alex Chan reposted

Replying to @alexwlchan.net

Meeting my younger self: alexwlchan.net/2025/meeting... Rounding out this week’s trilogy on social media archiving, I looked back on 150,000 posts I’d saved from a decade of social media. Some fond memories I want to keep; some regrets and mistakes I’d rather forget.

alexwlchan.netMeeting my younger selfI reviewed 150,000 fragments of my online life, and I was reminded of the friends I found, the mistakes I made, and the growth I gained.

Alex Chan reposted

Replying to @alexwlchan.net

Hard problems in social media archiving: alexwlchan.net/2025/hard-pr... I wrote about what I see as the key challenges to social media archiving in institutions – choosing what to save, the ethics of saving it, and searching what you’ve saved.

alexwlchan.netHard problems in social media archivingPreserving social media is easier said than done. What makes it so difficult for institutions to back up the Internet?