The Sticker Gambit

The Rules Receive a sticker Read the rules at blog.rayhem.dev/posts/2026/sticker-gambit Do something fun with your sticker; put it on something at work, stick it to something unique, combine it with other stickers, anything goes as long as it’s fun. Enjoy it! Tell me your sticker story. (Optional) run your own Sticker Gambit! Ok, what? During the pandemic in 2020 I put together a game I called the Pizza Gambit as a way of connecting with people when social distancing made that difficult. Thematically similar to the Sticker Gambit, the rules were basically “order a pizza to a friend’s house wtihout them knowing.” Bonus points if you got it to them in time for their usual dinner! ...

April 24, 2026 · 2 min

The Codex Emoticus

Introduction I often find myself using a particular emoji to indicate a feeling, vibe, or “canned reaction” to something online. Oftentimes these can be open to interpretation1, so I’ve attempted to capture my own fun descriptors here. The list is by no means complete or accurate. The Codex 👀 Awkward. Basically this meme. 🙈 Embarrassment. 💪🏻 “Good work (especially athletically)!” 😈 “Let’s pull the pin on this grenade. It’s time to start some shit.” 🎯 “Nailed it.” “Spot on.” “Exactly.” 💯 Strong agreement. ‼️ “There’s something really important here!” (associated with this sound) References Miller, Hannah & Thebault-Spieker, Jacob & Chang, Shuo & Johnson, Isaac & Terveen, Loren & Hecht, Brent. (2016). “Blissfully happy” or “ready to fight”: Varying Interpretations of Emoji. ↩︎ ...

April 19, 2026 · 1 min

AI Propositions

Author’s note: In what follows, “AI” largely refers to Claude/ChatGPT-style LLMs and the associated agents. The primary driving force behind AI development is not automation, efficiency, nor equity, but the desire amongst the owning class to extract capital from the working class. Atrophied perspective taking from over-reliance on AI is just as worrisome (if not more so) than atrophied critical thinking. The adoption of AI hinges on exactly one proposition: not improved output or efficiency, but improved control. “I prefer the control I have over an agent/agents to what humans typically give me.” ...

March 25, 2026 · Edited March 26, 2026 · 1 min

Immutability: Proof-by-Set-Theory

Definitions Let a software component denote any function or module with a defined input domain. For a component, $f$, define its effective state space, $S_f$, as $$ \begin{equation} S_f = \mathrm{Input}_f \times \prod_{i \in \mathrm{deps}(f)} D_i. \end{equation} $$Here, $\mathrm{deps}(f)$ denotes the set of all mutable bindings $f$ can observe or mutate, and $D_i$ their value domains. For a referentially transparent component, $g$, $\mathrm{deps}(g) = \varnothing$ definitionally, so it follows that $$ \begin{equation} S_g = \mathrm{Input}_g. \end{equation} $$Next, let $\mathbf{P}$ denote the set of all software components, and $\mathbf{Q} \subset \mathbf{P}$ the subset of referentially transparent components. The containment follows dierctly: every referentially transparent component qualifies as a component, but not the converse (i.e. not every component qualifies as referentially transparent). ...

March 4, 2026 · 3 min

Things I Hate About MATLAB

Functions Organization One-function-per-file is, quite possibly, the only thing worse than header files for making code available. The overhead of making a new function (create a new file, name it, name the function identically, realize the file is in the wrong spot, move it, …) applies tremendous pressure against making small helper functions. Even if functions are closely related, you still have to open multiple files to engage with them. Touching every file on the path to build a cache is apt to cause slowdowns, especially where latency matters (network filesystems). This also makes for interesting times when you e.g. delete a file. Your choices are: MATLAB periodically rescan everything to refresh the cache (slow), or you trigger a cache update manually (annoying). Evaluation In their infinite wisdom, MathWorks has elected to treat a function’s name as equivalent to a function-evaluated-with-no-arguments. This is a parsing nightmare that makes it impossible to do any sort of meaningful term rewriting, and it results in the following…strange behavior: ...

November 7, 2025 · Edited March 7, 2026 · 3 min