fuzzy
notepad
email
Bluesky
Discord
itch.io
GitHub
Twitch
YouTube
Patreon
Square
PayPal
Home
Index
Tame art
🔞 Spicy art
Everything
Blog
Archive
Categories
Articles
Dev log
Personal
Process
Updates
Tags
Pages
Archive
Blog
Articles
Dev log
Personal
Process
Updates
2024
Dec 03
Fresh start
2022
Jan 31
Monday Night Itch #1: Mystery Trap Adventure
Jan 25
Goodbye, Pearl
2021
Dec 11
Recommended GZDoom settings
Jan 26
Gamedev from scratch 1: Scaffolding
Jan 24
Eevee gained 3367 experience points
2020
Nov 30
Cherry Kisses, on Steam
Nov 30
Gamedev from scratch 0: Groundwork
Sep 26
Lexy’s Labyrinth
Aug 04
fox flux, three years later
Jun 11
Rowling is dangerously wrong
May 10
Star Anise Chronicles: Oh No Wheres Twig??
Feb 01
Old CSS, new CSS
Jan 14
Eevee gained 3169 experience points
2019
Dec 01
Advent calendar 2019
Dec 01
Doom text generator
Oct 26
Goodbye, Twigs
Oct 02
Weekly roundup: Somewhere
Sep 22
Weekly roundup: Foglights
Sep 12
Weekly roundup: All that glistens
Sep 05
Weekly roundup: Waste not, want not
Aug 28
Weekly roundup: Breaking up (code) is hard to do
Aug 19
Weekly roundup: Chugging
Aug 04
Weekly roundup: GLEAM
Jul 28
Weekly roundup: Recharging
Jul 16
Weekly roundup: Vacay
Jul 02
Weekly roundup: Let’s try that again
Jun 12
Weekly roundup: Ironically stable
Jun 05
Weekly roundup: Exactly at the top
May 21
Weekly roundup: Push it to the limit
May 15
Weekly roundup: Pushing it
May 05
Weekly roundup: In flux 2
Apr 29
Weekly roundup: Bit of this, bit of that
Apr 22
Weekly roundup: Back to normal
Apr 20
Particle wipe generator
Apr 01
Weekly roundup: Cherry Kisses
Mar 07
Weekly roundup: Strawberry Jam 3
Feb 18
Weekly roundup: Off to a good start
Feb 05
Weekly roundup: Spectacular return
Jan 14
Eevee gained 2977 experience points
2018
Nov 28
Cheezball Rising: Collision detection, part 1
Oct 09
Cheezball Rising: Opening a dialogue
Sep 06
Cheezball Rising: Resounding failure
Jul 15
Cheezball Rising: Maps and sprites
Jul 13
Cheezball Rising: Spring cleaning
Jul 05
Cheezball Rising: Main loop, input, and a game
Jun 21
Cheezball Rising: Drawing a sprite
Jun 19
Cheezball Rising: A new Game Boy Color game
Apr 02
Weekly roundup: Fortnite
Mar 30
A geometric Rust adventure
Mar 20
Conundrum
Mar 20
Weekly roundup: Visual novelty
Mar 14
Weekly roundup: Forwards
Mar 03
Weekly roundup: Re-emerging
Mar 02
Alice’s Day Off demo
Feb 18
Tech wishes for 2018
Feb 13
Weekly roundup: Lost time
Jan 24
Strawberry Jam 2 🍓
Jan 23
GDQ schedule dimmer
Jan 23
GAMES MADE QUICK??? 2.0
Jan 23
SUPER game night 3: GAMES MADE QUICK??? 2.0
Jan 23
Weekly roundup: Potpourri 2
Jan 16
Game night 2: Detention, Viatoree, Paletta
Jan 15
Eevee gained 2791 experience points
Jan 15
Weekly roundup: Happy birthday
Jan 09
Weekly roundup: AOOOWR
Jan 06
Physics cheats
Jan 02
Random with care
Jan 01
Weekly roundup: Anise’s very own video game
2017
Dec 28
Weekly roundup: Breadth of the Wild
Dec 18
Weekly roundup: Invinco Beat
Dec 11
Weekly roundup: Truth or Dare
Dec 09
Roguelike Simulator
Dec 05
Game night 1: Lisa, Lisa, MOOP
Nov 28
Object models
Nov 27
Weekly roundup: VK Ultra
Nov 23
Eevee mugshot set for Doom
Nov 22
Weekly roundup: Upside down
Nov 13
Weekly roundup: Into the deep end
Nov 09
Weekly roundup: Pedal to the medal
Nov 01
Weekly roundup: Odyssey, you see
Oct 24
Weekly roundup: Ultimate despair
Oct 17
Weekly roundup: Nothing in particular
Oct 13
Coaxing 2D platforming out of Unity
Oct 08
Weekly roundup: Slow start
Oct 07
JavaScript got better while I wasn’t looking
Oct 02
Weekly roundup: Apocalypse
Sep 19
Weekly roundup: Calming diversions
Sep 11
Weekly roundup: Remembering how to draw
Sep 04
Weekly roundup: The usual
Aug 29
Weekly roundup: Let’s get physical
Aug 22
Weekly roundup: Games, mostly
Aug 14
Weekly roundup: A strange week
Aug 13
Nazis, are bad
Aug 09
Growing up alongside tech
Aug 09
Weekly roundup: Taking a breather
Aug 02
Datamining Pokémon
Aug 01
Weekly roundup: Downtime
Jul 24
Weekly roundup: Never enough
Jul 18
Weekly roundup: Juggling games
Jul 10
Weekly roundup: Out of potluck
Jul 02
Weekly roundup: On the move
Jul 01
Some memorable levels
Jun 25
Weekly roundup: Breath of the Tired
Jun 19
Weekly roundup: Successful juggling
Jun 17
Digital painter rundown
Jun 12
Weekly roundup: Potpourri
Jun 10
Teaching tech
Jun 06
Weekly roundup: Flux capacity
May 28
Weekly roundup: In flux
May 28
Introspection
May 22
Weekly roundup: Nowhere fast
May 22
A few tidbits on networking in games
May 15
Weekly roundup: Pixels and art
May 09
Weekly roundup: Potluck jam
May 01
Weekly roundup: The eagle has landed
Apr 26
Weekly roundup: Business as usual
Apr 18
Weekly roundup: HP restored
Apr 11
Weekly roundup: Fever dreams
Apr 02
Weekly roundup: A model week
Mar 26
Weekly roundup: Back in the saddle
Mar 23
Why LÖVE?
Mar 21
Weekly roundup: Slog
Mar 12
Weekly roundup: Slow catchup
Mar 08
Utopia
Mar 05
Weekly roundup: Strawberry jam END
Feb 05
Weekly roundup: Strawberry jam
Jan 30
Weekly roundup: Chaos
Jan 23
Weekly roundup: Out of phase
Jan 21
NEON PHASE
Jan 21
Eevee gained 2611 experience points
Jan 08
Weekly roundup: Asymptotically close to finishing
Jan 01
Weekly roundup: Welcome to the future
2016
Dec 25
Weekly roundup: Happy Boxing Eve
Dec 19
Weekly roundup: A model week
Dec 11
Weekly roundup: Descent
Dec 06
Weekly roundup: Freedom
Dec 01
Let’s stop copying C
Nov 28
Weekly roundup: Arguing on the internet
Nov 26
Embedding Lua in ZDoom
Nov 23
A Rebuttal For Python 3
Nov 21
Weekly roundup: Screw it
Nov 18
Iteration in one language, then all the others
Nov 13
Weekly roundup: Apocalypse now
Nov 07
Weekly roundup: National Novelty Writing Month
Nov 01
Weekly roundup: Inktober 4: A New Hope
Nov 01
Mario Maker: The Wreck
Oct 31
JavaScript: A Horror Story
Oct 29
Accessible games
Oct 23
Inktober
Oct 23
Weekly roundup: Inktober 3: Tokyo Drift
Oct 20
Word-wrapping dialogue
Oct 16
Weekly roundup: Inktober 2: Electric Boogaloo
Oct 10
Doom scale
Oct 09
Weekly roundup: Inktober
Oct 06
Succeeding MegaZeux
Oct 02
Weekly roundup: Addled
Sep 26
Weekly roundup: Back into art
Sep 18
The curious case of the switch statement
Sep 18
Weekly roundup: Quietly advancing
Sep 15
Music theory for nerds
Sep 11
Weekly roundup: Bashing my head against a wall
Sep 05
Weekly roundup: HD Remix
Aug 29
I entered Ludum Dare 36
Aug 29
Weekly roundup: Ludum Dare
Aug 22
Testing, for people who hate testing
Aug 21
Weekly roundup: what even is sleep
Aug 15
Attribution on the web
Aug 14
Weekly roundup: slow but steady
Aug 07
Weekly roundup: three big things
Aug 05
Storing Pokémon without SQL
Aug 01
Weekly roundup: still writing
Jul 31
I wish I enjoyed Pokémon Go
Jul 31
Python FAQ: How do I port to Python 3?
Jul 31
Python FAQ: Why should I use Python 3?
Jul 26
The hardest problem in computer science
Jul 26
Weekly roundup: writing
Jul 22
On a technicality
Jul 17
Weekly roundup: doing better
Jul 16
Some stuff about color
Jul 10
Weekly roundup: short reprieve
Jun 26
Weekly roundup: video games
Jun 22
Graphical fidelity is ruining video games
Jun 19
Weekly roundup: sleepover
Jun 13
Weekly roundup: doodling
Jun 12
One year later
Jun 06
Weekly roundup: spring cleaning
Jun 04
Converting a Git repo from tabs to spaces
May 30
Extracting music from the PICO-8
May 30
Weekly roundup: Triple Monday
May 29
Perlin noise
May 25
Under Construction, our PICO-8 game
May 08
Weekly roundup: clearing my plate
May 06
Learning to draw, learning to learn
May 01
Weekly roundup: mad dash
Apr 30
Embedding Lua vs Python
Apr 26
The case for base twelve
Apr 25
Weekly roundup: pixel perfect
Apr 21
Elegance
Apr 17
Weekly roundup: zoning out
Apr 12
Weekly roundup: an awakening
Apr 12
Apple did not invent emoji
Apr 05
My first computer
Apr 03
Weekly roundup: sleep deprivation
Mar 31
I made a Doom level
Mar 27
Weekly roundup: legion of Doom
Mar 20
Biweekly roundup: doubling down
Mar 08
Mario Maker: …
Mar 06
Weekly roundup: video james
Mar 06
Maybe we could tone down the JavaScript
Mar 03
The NSA is trying to create a virtual clone of me
Mar 02
VD
Feb 28
Weekly roundup: ambivalence
Feb 28
I made cheesecake
Feb 22
Weekly roundup: building steam
Feb 20
Twitter’s missing manual
Feb 15
Everyone’s offended these days
Feb 14
Weekly roundup: well, no wonder
Feb 10
We have always been at war with UI
Feb 08
Weekly roundup: slow week
Feb 01
Writing
Jan 31
I made pretzels
Jan 31
Weekly roundup: second wind
Jan 25
Weekly roundup: stuff
Jan 22
Eevee gained 2437 experience points
Jan 17
Weekly roundup: reaccelerating
Jan 17
Mario Maker: The Works
Jan 15
Mario Maker: Purgatory
Jan 12
Heteroglot: #16 in Pascal, #17 in Inform 7
Jan 10
Weekly roundup: speedwatching
Jan 04
Shut Up, Paul Graham: The Simplified Version
Jan 04
Weekly roundup: wrapping up
2015
Dec 31
You should make a Doom level, part 3: cheating
Dec 30
You should make a Doom level, part 2: design
Dec 28
Weekly roundup: magnum opus
Dec 21
Weekly roundup: Doom
Dec 19
You should make a Doom level, part 1: the basics
Dec 14
Weekly roundup: not much
Dec 06
Weekly roundup: makin’ games
Nov 30
Did some Spline work, again
Nov 29
Mario Maker: Pipe Dream
Nov 29
Words mean things, unfortunately
Nov 28
ZDoom on a Wii U GamePad with a Raspberry Pi
Nov 27
Mario Maker: Mount Erebus
Nov 24
Mario Maker: Free Will
Nov 08
Undertale
Nov 06
Mario Maker: Cookie Dough
Nov 06
The tech diversity blind spot
Oct 31
Internet novelty: testing personality
Oct 30
Did some spline work
Oct 23
Copyright is broken
Oct 15
Don’t use pickle — use Camel
Oct 12
Pokédex doodles, part 1
Oct 10
Fair warning: minor restructuring ahead
Oct 10
Next steps for beginning programmers
Sep 28
My search history is now full of illegal drug terms
Sep 20
Making Mario
Sep 19
Mario Maker: Tiny–Huge Island
Sep 18
Mario Maker: Spoopy Manor
Sep 18
Mario Maker: Test Flight
Sep 17
The sad state of web app deployment
Sep 12
Dark corners of Unicode
Aug 22
Security through misanthropy
Jul 29
Frozen peaches, sour grapes
Jun 09
I quit the tech industry
May 31
Text editor rundown
May 20
I stared into the fontconfig, and the fontconfig stared back at me
Apr 24
Just enough Git to be (less) dangerous
Feb 28
Sylph: the programming language I want
Feb 13
Starbound airlock
Jan 29
Eevee gained 2269 experience points
2014
Aug 06
Maybe you’re just not very funny
May 25
Braid
Apr 05
Comment policy
Apr 05
Mozilla and free speech
Jan 12
A brief overview of copyright
Jan 12
Level 27
2013
Oct 17
XY UI nitpicks
Sep 13
Cython versus CFFI
Aug 05
dictproxyhack, or: ActiveState Code considered harmful
Jun 27
I bought a new laptop
Apr 30
Goodbye, Styx
Mar 03
The controller pattern is awful (and other OO heresy)
Feb 08
Suzanne Venker is a robot alien in disguise
Jan 29
Look at my cat
Jan 28
Catchin’ ‘em all
Jan 15
A new use for StackOverflow
Jan 09
CVs and file extensions
2012
Dec 10
Dimorphism
Dec 06
Crash!
Nov 17
A little bit Rusty
Oct 21
Lasik
Oct 16
Issues
Sep 07
Heteroglot: #15 in COBOL
Aug 29
Stripe CTF 2.0
Jul 28
Quick doesn’t have to mean dirty
Jul 06
Flora
May 23
Python FAQ: Passing
May 23
Python FAQ: Descriptors
May 05
Python FAQ: Webdev
Apr 09
PHP: a fractal of bad design
Mar 24
Python FAQ: Equality
Mar 24
On principle
Mar 21
tmux is sweet as heck
Mar 04
Once more, with feeling
Jan 13
Eevee has gained 1801 experience points…
2011
Dec 04
FUCK PASSWORDS
Oct 17
In which i use GitHub, and IRC is awesome
Sep 05
Google postdecrement
Aug 24
informative title
Jul 26
GNOME 3 revisited
Jul 22
Python FAQ
Jul 22
Perls of Wisdom
Jul 14
Pyramid traversal: almost useful
Jul 14
Redmine vs GitHub
Jun 30
How to drive your new project into irrelevance
Jun 27
Something is wrong with American culture
Jun 27
Python needs more software
Jun 27
Perl 5 is dead, Perl 6 is a disaster
Jun 23
The deletion problem
Jun 18
What the hell am I doing
May 10
Unity vs. GNOME Shell
Apr 24
Gotcha: Python, scoping, and closures
Apr 17
Architectural Fallacies
Apr 13
Perl Worst Practices
Apr 13
Status, 2011 March… and April… ahem
Mar 20
P.A.D.D.
Feb 28
YATTA
Feb 27
Hagane no Renkinjutsushi
Feb 21
Status, 2011 February wk 3
Feb 12
Status recap
Feb 07
Something new