42clownfish

I make small tools for messy work, strange experiments, and the occasional game server that refuses to behave.

                                               #####
                                           ##@@@@@@@@@@#
                                         #@@@@@@@@@@@@@@@@#
                                        #@@@@@@@@@@@@@@@@@@@@@#####
                                        #@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%###
                                       %%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@##
                    #@@@@@@@@@@@@###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@#%%%%%%#@#####@@@@#
                  #@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%#@######@@@@@@#
                 #@@@@@@@@@@@@@@@@@@#%%%%%%%%%%%%%%%%%%%@@@@@@@@@#%%%%%%#@@####@@@@@@@#
                 #@@@@@@@@@@@@@@@@@@@#%%%%%%%%%%%%%%%%%%%%#@@@@@@#%%%%%%#@@@@@@@@@@@###
  #####          #@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@#%%%%%%@@@@@@@@@@@@#
 @@@@@@@@@@##    ##@@@@@@@@@@@@@@@@@@@@%%%%%%%%#@@@@@@@@@@@@@@@@@@@#%%%%%%%@@@@@@@@#
 @@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@#%%%%%%%#@@@@@@@@@@@@@@@@@@@@#%%%%%%%%@@@##
 @@@@@@@@@@@@@#%%%%#@@@@@@@@@@@@@@@@@@@@%%%%%%%#@@@@@@@@@@@@@@@@@@@@@@%%%%###
 #@@@@@@@@@@@@#%%%%%@@@@@@@@@@@@@@@@@@@@#%%%%%%%@@@@@@@@@@@@@@@@@@@@@@##
  @@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%#@@@#@@@@@@@@@@@###
  #@@@@@@@@@@@@@@%%%#@@@@@@@@@@@@@@@@@@@@#%%%%#################@@@
   @@@@@@@@@@@@@###  @@@@@@@@@@@@@@@@@@@@##          @@@@@@@@@@@@@#
    @@@@@@@@@@@#     @@@@@@@@@@@@@@@@@@#             #@@@@@@@@@@@@@
     #@@@@@@@         @@@@@@@@@@@@@@##                @@@@@@@@@@@@#
        ###            ###@@@@@@@##                    #@@@@@@@@@@
                                                          #######
        

If a process is slow, confusing, or held together by vibes, I like to poke at it until it makes sense.

Repo weather

Some recent activity from the repo. Not a scorecard, just a little sign of life.

monthmar...apr...may....
week10111213141516171819202122
sun.....:@:.#..@
mon.....@@......
tue.....##..=...
wed...#=@@..@...
thu.....##..=.#.
fri....=@@....@.
sat....=@@.@..@.

. quiet : notes = fixes # shipped @ fire

Things I’m making

One live project, plus whatever has my attention this week.

01 / live

Tonotopy interface showing an interactive brain visualization beside YouTube audio controls Live project ↗

A browser experiment with sound, brains, and pixels

Tonotopy

Paste in a YouTube track and watch a population-level brain response move with it. Part research prototype, part visual toy.

tonotopy.42clownfish.com

Good problems to bring me

I like the awkward middle ground where people, software, and a half-broken process all meet.

How I tend to work

Follow the weird bit. Make one useful change. See what breaks.

  1. Find the weird bit

    Where does the process become unclear, slow, or surprisingly manual?

  2. Make it visible

    A sketch, a table, a log, a tiny reproduction—whatever makes the problem less slippery.

  3. Cut the extra motion

    Remove duplicate steps, mystery handoffs, and work that only exists because it always has.

  4. Build the smallest fix

    Sometimes that is a dashboard. Sometimes it is a script. Sometimes it is a better sentence in the right place.

  5. Put it in real hands

    A solution is not finished while it only works in my head or on my laptop.

  6. Keep the useful bits

    Write down what changed, watch the result, and leave the next person a map.

When the game is the problem

Find the hot bit

Track down the loop, query, or side effect making the whole server wheeze.

Make input boring

Keep packets, commands, and player actions predictable under load.

Leave a trail

Useful logs, reproducible crashes, and fewer mysteries at 2 a.m.

Roll out without drama

Small changes, real tests, and a rollback path you can actually find.

Keep mods from fighting

Put version assumptions somewhere visible before they bite.

Make worlds repeatable

Same seed, same rules, clear enough to debug when the terrain gets weird.