Here’s all the writing hosted here, arranged hierarchically and (somewhat) compactly.
My favorites are marked with a 🧡.
Pages
These are like wiki articles — scoped to a particular thing, somewhat maintained, and hopefully useful some years into the future.
- Site index
You are here.
FYI
Stuff about stuff that I know about.
Toys
Little funny gadgets. Somewhere between games, puzzles, and fidget spinners.
CSS crimes rescued from Cohost, annotated with explanations:
Blog posts
These are like tweets — flung out into the void, often meandering, and possibly obsolete from the moment they’re published.
I admit I’m not a big fan of the older posts. A few that were popular, but which I now find kind of embarrassing, are marked with a 🖤.
Updates
Meta
- Something new
First post on the blog. - Once more, with feeling
Switching from Blogofile to Octopress. - Comment policy
- Fair warning: minor restructuring ahead
The introduction of separate blog/release/dev categories, which I’m not sure was a good idea. - Fresh start
Introduction of the new post-Cohost design.
Stuff I made
- Flora
Vague plans for a little RPG we were once thinking about making, which never materialized even slightly.
At one point I attempted to make a Game Boy Color game, in the style of Link’s Awakening, and I got to the tech demo stage before fizzling out. I did write about it, though:
- Cheezball Rising: A new Game Boy Color game
- Cheezball Rising: Drawing a sprite
- Cheezball Rising: Main loop, input, and a game
- Cheezball Rising: Spring cleaning
- Cheezball Rising: Maps and sprites
- Cheezball Rising: Resounding failure
- Cheezball Rising: Opening a dialogue
- Cheezball Rising: Collision detection, part 1
Release announcements
- Don’t use pickle — use Camel
- I made a Doom level
- Under Construction, our PICO-8 game
- I entered Ludum Dare 36
- Inktober
- NEON PHASE
- Eevee mugshot set for Doom
- Roguelike Simulator
- GAMES MADE QUICK??? 2.0
- GDQ schedule dimmer
- Strawberry Jam 2 🍓
- Alice’s Day Off demo
- Particle wipe generator
- Doom text generator
- Advent calendar 2019
- Star Anise Chronicles: Oh No Wheres Twig??
- Lexy’s Labyrinth
- Cherry Kisses, on Steam
Mario Maker levels:
- Mario Maker: Spoopy Manor
- Mario Maker: Test Flight
- Mario Maker: Tiny–Huge Island
- Mario Maker: Cookie Dough
- Mario Maker: Free Will
- Mario Maker: Mount Erebus
- Mario Maker: Pipe Dream
- Mario Maker: Purgatory
- Mario Maker: The Works
- Mario Maker: …
- Mario Maker: The Wreck
Status updates
Miscellaneous “here’s what I’m doing at the moment” sorts of posts.
- Status recap — Recent and future work on veekun (my Pokédex website), floof (an abandoned art website), raidne (an abandoned roguelike), and dywypi (an abandoned IRC bot framework).
- Status, 2011 February wk 3 — This blog, veekun, floof, and dywypi.
- Status, 2011 March… and April… ahem
- Issues
Attempting to untangle a mess of TODOs. - Weekly roundup: Downtime
- fox flux, three years later (various weekly updates)
Personal
- YATTA
I passed the JLPT N5. - What the hell am I doing
- informative title
Part status update, part life update. - Lasik
- Crash!
Someone hit my car while it was parked next to my house. - Dimorphism
- Catchin’ ‘em all
My Pokémon plush collection. - I quit the tech industry
- Pokédex doodles, part 1
At one point I had an “art” category, but then I only made one post in it. Later I gave my art its own subdomains. - I made pretzels
- I made cheesecake
- My first computer
- One year later
Followup to my having quit the tech industry. - Utopia
Patron-sponsored post about what my personal utopia would look like. - Introspection
Cats
And the obituaries.
Birthday posts
For a while I would make a post on my birthday every year, going over what I’d done over the previous year and what I wanted to do in the upcoming year. I sort of fell off of it at some point.
- Eevee has gained 1801 experience points…
- Level 27
- Eevee gained 2269 experience points
- Eevee gained 2437 experience points
- Eevee gained 2611 experience points
- Eevee gained 2791 experience points
- Eevee gained 2977 experience points
- Eevee gained 3169 experience points
- Eevee gained 3367 experience points
Computers
Languages
Perl:
Python:
- Gotcha: Python, scoping, and closures
- Python needs more software
- dictproxyhack, or: ActiveState Code considered harmful
- A Rebuttal For Python 3
Zed Shaw made some truly wild assertions about Python 3.
The “Python FAQ”, which was really just a little set of obscure or commonly-confusing Python details I felt like writing about:
- Python FAQ
- Python FAQ: Equality
- Python FAQ: Webdev
- Python FAQ: Descriptors
- Python FAQ: Passing
- Python FAQ: How do I port to Python 3?
- Python FAQ: Why should I use Python 3?
Other languages:
- 🖤 PHP: a fractal of bad design
An exhaustive list of grievances with PHP, intended to save me from ever complaining about it again. I’m not sure it worked. This is what a lot of people know me for, to my considerable chagrin. - A little bit Rusty
- Cython versus CFFI
- Sylph: the programming language I want
- JavaScript: A Horror Story
- JavaScript got better while I wasn’t looking
Cross-language feature comparisons:
- A new use for StackOverflow
(Using the top questions to get a sense of a topic’s vibes.) - The hardest problem in computer science
About naming, and how different languages have different conflicting names for the same ideas. - The curious case of the switch statement
- Iteration in one language, then all the others
- Let’s stop copying C
- Object models
Heteroglot, an undertaking to solve Project Euler problems without ever using the same language twice:
Programming
Software design and the process of programming:
- 🖤 Architectural Fallacies
- The deletion problem
- 🧡 On principle
General good-idea programming principles and why they may be worth trusting. - The controller pattern is awful (and other OO heresy)
- Security through misanthropy
- Next steps for beginning programmers
- Elegance
- Testing, for people who hate testing
- JavaScript: A Horror Story
Concrete endeavors:
- In which i use GitHub, and IRC is awesome
Mostly about rigging GitHub’s notification bot to work on IRC without join/part spam. - Stripe CTF 2.0
- ZDoom on a Wii U GamePad with a Raspberry Pi
- Converting a Git repo from tabs to spaces
- Storing Pokémon without SQL
- Embedding Lua in ZDoom
- Datamining Pokémon
- Conundrum
Trying to work out how to routefind through an arbitrary Doom map. - A geometric Rust adventure
Solution to the conundrum.
Web stuff
- Pyramid traversal: almost useful
- Quick doesn’t have to mean dirty
Writing a little guestbook from scratch in Python with Flask, to demonstrate that PHP doesn’t have a monopoly on quick prototyping. - Maybe we could tone down the JavaScript
- Attribution on the web
- 🧡 Old CSS, new CSS
Game development
The greatest challenge a programmer can undertake. You must wrangle a dozen different fields, and half of what you know about good architecture goes out the window because everything needs to know about everything else all the time.
Posts about game or level design, interesting details of existing games, etc.:
- XY UI nitpicks
- Starbound airlock
- Making Mario
- Embedding Lua vs Python
- 🧡 Perlin noise
- Extracting music from the PICO-8
- Graphical fidelity is ruining video games
- Succeeding MegaZeux
- Doom scale
- Word-wrapping dialogue
- Accessible games
- Why LÖVE?
- A few tidbits on networking in games
- Some memorable levels
- Coaxing 2D platforming out of Unity
- 🧡 Random with care
- Physics cheats
“You should make a Doom level”, a tutorial series on making a Doom level in SLADE:
- You should make a Doom level, part 1: the basics
- You should make a Doom level, part 2: design
- You should make a Doom level, part 3: cheating
My white whale is to write a series about making a game completely from scratch, but I keep burning out right around collision detection.
Software
More about using someone else’s software, less about writing it.
- P.A.D.D.
A lament that smartphones are amazing technology, but I can’t find anything very interesting to do with them. - Unity vs. GNOME Shell
- Redmine vs GitHub
- GNOME 3 revisited
- FUCK PASSWORDS
- tmux is sweet as heck
- CVs and file extensions
- I bought a new laptop
It’s a System76, designed for and shipped with Ubuntu. - Just enough Git to be (less) dangerous
- I stared into the fontconfig, and the fontconfig stared back at me
- Text editor rundown
- The sad state of web app deployment It’s about Discourse. As in, the actual software called Discourse, not The Discourse.
- We have always been at war with UI
When popular software abruptly changes its UI. - 🧡 Twitter’s missing manual
Wildly, wildly obsolete by now, but I was pretty pleased with this at the time. - Apple did not invent emoji
- 🧡 Recommended GZDoom settings
- Digital painter rundown
More about software management than the software itself:
- How to drive your new project into irrelevance
- Google postdecrement
Google+ and its “real name” policy.
Culture
Media
Thoughts on movies and video games and whatnot.
- Hagane no Renkinjutsushi
That’s Fullmetal Alchemist. - Braid
Entangled with a shooting that had happened around the same time, and thoughts about entitled men. - Undertale
- I wish I enjoyed Pokémon Go
The short-lived “game night” series, brief reviews of a few games we played on itch:
- Game night 1: Lisa, Lisa, MOOP
- Game night 2: Detention, Viatoree, Paletta
- SUPER game night 3: GAMES MADE QUICK??? 2.0
The even shorter-lived “Monday Night Itch” series, where I intended to buy a paid game on itch every Monday and say something nice about it:
We live in a society
- Something is wrong with American culture
About the American obsession with competition and dominance. - Suzanne Venker is a robot alien in disguise
I don’t remember who this person is but she had some hot takes about how feminism is bad. - Mozilla and free speech
Regarding Brendan Eich and his financial contribution to Prop 8, which sought to ban same-sex marriage. - Maybe you’re just not very funny
About some “comedians” who are mad when people think they’re just jerks. - My search history is now full of illegal drug terms
A patron asked me to write about the history of the American “War on Drugs”. Surprise: it’s racism. - Copyright is broken
- The tech diversity blind spot
Really picking on the notion of meritocracy, though it never uses the word. - Words mean things, unfortunately
- Shut Up, Paul Graham: The Simplified Version
Paul Graham said economic inequality is good because startups. I politely diagreed. - Everyone’s offended these days
- The NSA is trying to create a virtual clone of me
Spoilers: They weren’t. Someone on Twitter liked my posts so much they stole a bunch of them. - Rowling is dangerously wrong
A loose arc about community management and the resulting tension with an overbroad notion of “free speech”:
Miscellaneous
Posts that are beyond my ability to categorize.
- A brief overview of copyright
- Internet novelty: testing personality
Patron-sponsored post about personality typing - Writing
Patron-sponsored post about my writing process. - VD
Patron-sponsored post about Valentine’s Day. - The case for base twelve
- Learning to draw, learning to learn
- Some stuff about color
- Music theory for nerds