nettle witch

  • she/her

Folks, I Have the High live on and Indie Press Revolution!

But wait...what is I Have the High Ground?

Well, it is not about the physical battle that follows your duel. While the mechanics might be inspired by competitive fencing, this TTRPG is about the slower, higher tension moments that occur before any blow is struckโ€”the duel of word & wit, of casual motion & threatening maneuvers. It is a genre-neutral GM-less system meant for ~2 hour one-shot play and can be placed in any settingโ€”even with characters from other campaigns if you want! Playtesting included cyberpunk, space opera, superheroes, dance competitions, dyke callout drama, Locked Tomb necromancers (cough @staff cough), wizard grad students, post-apocalyptic bake-offs, and more.

It features invaluable contributions from illustrator Ezra Rose, layout designer Vin Tanner, editor Will Jobst, and game design consultant satah. The art is gorgeous, the layout is so cool, Will's edits brought so much shine to the rules text, and the Descriptor and Circumstances mechanics satah worked on put a really unique and intuitive spin on character creation.

There's so much more, but I'll let you all check that out if you want! The PDF is for sale and Indie Press Revolution has just 4 physical copies of the zine left! Also, if you want to use it on a podcast, write about it, etc. I am happy to send you a free press copy!

You can also share it on Twitter if you use the bad website as well as the good one!

In this paper we present irrefutable proof of the presence of Americans on the Cohost1 website.

By analyzing the activity levels of website users and correlating them with statistical data about peopleโ€™s sleep patterns, we can, with high statistical likelihood, estimate the locations of these people on the Earth2.

Our methodology consists of measuring the hourly notification frequency on a sample Cohost user account, with the assumption that this data will represent a reasonable estimate of the activity on the entire website. By repeatedly querying the /api/v1/notifications/list API endpoint on, we were able to obtain over one month of Cohost notification data (N = 2058).

In this data, we could not see anything.

However, using computer technology3, we were able to sort the data into 24 buckets representing the hour of the day in the UTC time zone. From this, it was possible to create a histogram of the data (Fig. 1).

a histogram showing notification frequency by UTC hour, from 0 to 23.
Fig. 1: Notification frequency by UTC hour.

The data has a single maximum value at 21:00 UTC, and a single minimum value at 10:00 UTC. We can thus estimate that the Cohost website is most active and least active at around those hours.

A 2016 study4 revealed that people go to sleep at around 23:00 and wake at around 7:00 in their local time zone. Using the arithmetic mean5 between the two values in the finite additive group โ„ค/24โ„ค, we were able to calculate that it is very likely for people to be asleep at 3:00, and very likely for people to be awake at 15:00.


  • let amax,utc = 21 be the max. activity hour in UTC
  • let amin,utc = 10 be the min. activity hour in UTC
  • let hawake = 15 be the mean awake hour in any local time zone
  • let hasleep = 3 be the mean asleep hour in any local time zone

We can now formulate an optimization problem to find a UTC offset k to minimize the metric |amax,k โˆ’ hawake| + |amin,k โˆ’ hasleep|, where โˆ€ i โˆˆ {min, max} ai,k = ai,utc + k.

This problem is trivially solvable:

k equals the integral from negative to positive infinity of e to the power of minus 4 pi t squared over h awake plus h asleep squared d t minus one half the L1 norm of the two-dimensional vector a max utc, a min utc. this is equivalent to: k = -6.5

The average UTC offset of a Cohost user is hence โˆ’6.5. Consulting a map reveals that this UTC offset coincides with the location of North America (Fig. 2).

Fig. 2: The average location of a Cohost user.

Hence, the average Cohost user resides with high likelihood in North America, providing irrefutable proof that there are Americans on Cohost (p โ‰ช 0.001).


It is unclear what this means.

  1. C. Bayer, J. Kaplan, A. Grealish, Cohost dot org, in: the interweb(s) (2022).

  2. Disputed author, Earth, in: Nature (โˆ’4.54ร—109)

  3. L. Menabrea, A. Lovelace, Sketch of The Analytical Engine Invented by Charles Babbage (1842).

  4. O. Walch, A. Cochran, D. Forger, A global quantification of โ€œnormalโ€ sleep schedules using smartphone data, in: Science Advances, Vol. 2, Issue 5 (2016). doi: 10.1126/sciadv.1501705

  5. Aristotle, Nicomachean Ethics, Book II.

  • Navy indicates boxes I can opt into without having to progress some unknown distance into the game.
  • Brown indicates things whose locations I know but haven't yet obtained.
  • Yellow indicates squares I have achieved.
  • Red indicates squares I can't achieve.

Going live again, let's get that bingus

This one took 4 hours and 30 minutes, just a hair under my last run. It came in at about 11.6% square-filled-per-hour1, where last week came in at 10.5%.

I'm actually surprised the difference isn't higher; I've been working with @ZandraVandra to tweak the randomizer settings for optimal bingo usage, and we brought down the bias from 50% to 20%. This number controls how much weight is put towards putting quest and upgrade items in later-game positions, and roughly corresponds to how difficult the run is. I had expected 20% bias to have a substantially quicker fill rate, and while the increase in SFPH is noticeable it's not gargantuan.

Instead, the main effect of 20% bias was to make combat much easier in the midgame. Because it controls upgrade items as well as quest items, I ended up getting a bunch of Memories (attack power upgrades) before fighting most bosses. This is not idealโ€”in a perfect world, the average bingo randomizer seed would have you fighting bosses at the same upgrade level you'd normally fight the boss they replace, with some variance up or down.

I actually have a feature request out to add separate bias sliders for quest items and upgrade items, but it seems like the randomizer project may be more or less abandoned at this point. It remains to be seen whether I decide to shave deep enough into this yak shaving to hack in the behavior I want myself.

  1. I'm measuring SFPH as "percent of board over time" rather than "squares over time" because some boards have squares that are essentially filled in by default, like "never use a prosthetic tool". For boards with those squares, I simply don't count them as part of the board's total size when computing the percentage.