Feed digilinux.ru [copy] http://digilinux.ru/feed/ has loading error: cURL error 22: The requested URL returned error: 403 Forbidden
Feed Dr. Mickey Lauer [copy] https://www.vanille-media.de/feed.xml has loading error: https://www.vanille-media.de/feed.xml is invalid XML, likely due to invalid characters. XML error: XML_ERR_NAME_REQUIRED at line 1319, column 31
Feed freepost [copy] https://freepo.st/rss/new has loading error: A feed could not be found at `https://freepo.st/rss/new`; the status code is `200` and content-type is `text/html; charset=utf-8`
Addressing the harassment
Kiwi Farms is a web forum that facilitates the discussion and harassment of online figures and communities. Their targets are often subject to organized group trolling and stalking, as well as doxing and real-life harassment. Kiwi Farms has been tied to the suicides of three people who were victims of harassment by the website.
– Wikipedia: Kiwi Farms
About three years ago, a thread on Kiwi Farms was opened about me. In the years since, it has grown to about 1,200 posts full of bigots responding to anything and everything I do online with scorn, slurs, and overt bigotry. The thread is...
Rewrote my blog with Zine
15 years ago, on December 11th, 2010, at the bold age of 17, I wrote my first blog post on the wonders of the Windows Phone 7 on Blogspot. I started blogging as a kid at the behest of a family friend at Microsoft, who promised she’d make sure I would become the youngest Microsoft MVP if I started blogging. That never came to pass, though, because as I entered adulthood and started to grow independent of my Microsoft-friendly family I quickly began down the path to the free and open source software community.
Early blog posts covered intriguing topics such...
Getting Started with Phaser 4: Vite + TypeScript Setup, using the official Create Game App
Phaser 4 has arrived, bringing a fresh foundation for modern web game development. Learn to set up a brand new project using the official Create Game App, powered by Vite and TypeScript, and walk through the essential structure to get your first game up and running quickly.
KTT x 80Retros GAME 1989 Orange

I picked up the KTT x 80Retros GAME 1989 Orange switches a while ago at Funkeys, a physical brick-and-mortar mechanical keyboard store in Yongsan-gu, Seoul, and it’s my first linear switch. Given its surprisingly cheap price I really didn’t expect much from it to be honest. KTT is a name people normally associate with budget options, like Peaches, Sea Salts, and Strawberries. It’s the kind of switches that show up in beginner build guides and they are generally good stuff, but not really the kind of thing that made me stop and think about what I was typing on. However, the GAME 1989 Orange changed that perception for...
Phaser 4 HTML5 SameGame powered by samegame-engine, a headless TypeScript class
Complete HTML5 SameGame clone built with Phaser 4, powered by a fully headless TypeScript game engine. It features a clean separation between logic and rendering, reusable core mechanics, and an efficient implementation based on object pooling and delta-driven animations.
The Color You See Now Doesn’t Actually Exist

Paradoxes Of Human Vision
Continue reading on Never Stop Writing »
tar: a slop-free alternative to rsync
So apparently rsync is slop now. When I heard, I wanted to drop a quick note on my blog to give an alternative: tar. It doesn’t do everything that rsync does, in particular identifying and skipping up-to-date files, but tar + ssh can definitely accomodate the use case of “transmit all of these files over an SSH connection to another host”.
Consider the following:
tar -cz public | ssh example.org tar -C /var/www -xz
This will transfer the contents of ./public/ to example.org:/var/www/public/, preserving file ownership and permissions and so on, with gzip compression. This is roughly the equivalent of:
rsync -a public example.org:/var/www/
Here’s...
Making a ‘Stylophone’ Music Synthesizer with ESP32

From Programming Audio to KiCad PCB
Continue reading on Level Up Coding »
A eulogy for Vim

Vim is important to me. I’m using it to write the words you’re reading right now. In fact, almost every word I have ever committed to posterity, through this blog, in my code, all of the docs I’ve written, emails I’ve sent, and more, almost all of it has passed through Vim.
My relationship with the software is intimate, almost as if it were an extra limb. I don’t think about what I’m doing when I use it. All of Vim’s modes and keybindings are deeply ingrained in my muscle memory. Using it just feels like my thoughts flowing from my...
If You Have This Lamp - Don’t Use It

A History of “Blacklight” Lamps (Part 1)
Continue reading on Never Stop Writing »