a swirl of green, pink, blue, yellow, and orange

graham builds

all blog posts rss feed icon

Phonetic Pangram Tool

posted by graham on January 3, 2026

After spending last night writing that blog post about pokemon phonetic pangrams, I felt like I was done with this hyperfixation and could move onto other things1. This morning proved me wrong when I had the thought

Hey isn’t making a pangram kind of just a very specific case of that daily word game you made last year?

Suffice it to say that that inkling was correct, and it only took me all day to remember how that all worked, copy it into a new project, modify that into working for phonetic pangrams, set that project up with Render2 for hosting, upload the iframe pointed there from itch.io, and build out a new itch.io page for the project. Take a look below:

It works with pokemon and the CMU phonetic dictionary, which covers a bunch of English words and names. It only supports General American English3 for now, but I think there are ways to extend that to other dialects going forward, with enough data about how the phonemes change.

Anyway, in the interest of keeping it short, that’s it! Enjoy, and please share your phonetic pangrams with each other

Pokemon Phonetic Pangram

posted by graham on January 2, 2026

As a follow-up to my previous post, I have uploaded the data and my previous solution to codeberg. Last time, I learned that Slither Wing is the only pokemon across all current generations to contain the ð phoneme, which meant that only datasets that included gen-9 could form true phonetic pangrams for General American English. With this in mind, I scraped the rest of the generations and compiled them into one unified dataset for all pokemon. As expected, I was able to find several 11-pokemon pangrams1 by simply using the new dataset, but it made me wonder if there existed any pangrams with even fewer pokemon. I tried running the 10-mon pangram attempt across all gens and found that nothing happened for a while, even with the caching I had explained in the previous post.

Technical Hurdles

After discussing this with some of my friends on Discord, it became clear that the size of the problem-space being explored had grown very quickly with the size of the dataset of pokemon, just as predicted. For gen-1, there were at most (151 choose 10) combinations of pokemon to find a set that covered all 37 represented phonemes in that

Pokemon Gen 1 Phonetic Pangram

posted by graham on December 28, 2025

As I mentioned in my previous post, a phonetic pangram is a sentence or phrase that covers every one of the sounds in a given dialect of a language. Since proper nouns can form a phrase, a phonetic pangram could potentially be made from any sufficiently large collection of names.

This led me to the question: “Is it possible to make a phonetic pangram from pokemon names?” and more specifically, “Can we do so using only the 151 from the first generation of pokemon?”

Phonetics

For General American English, wikipedia lists the following sounds that comprise every commonly spoken word:

Consonants (241)

m, n, ŋ, p, b, t, d, k, ɡ, tʃ, dʒ, f, v, θ, ð, s, z, ʃ, ʒ, h, l, r, j, w

Vowels (14)

ɪ, i, ʊ, u, ɛ, eɪ, ə, oʊ, æ, ɑ, aɪ, ɔɪ, aʊ, ɚ

To make a pangram, I simply needed pokemon names that encompassed each of these 38 phonemes. You could imagine a worst case of 38, where each pokemon is picked for having exactly on phoneme represented in its name, though I figured there was probably more overlap than that.

Pokemon name pronunciations

I was able to

Phonetic Pangrams

posted by graham originally via https://cohost.org/graham/post/1765235-johann-sebastian-ba on September 27, 2023 and reposted on December 28, 2025

Pangrams are single sentences or phrases that include every letter of a given language’s alphabet at least once.

Pangram Examples

The quick brown fox jumps over the lazy dog

Sphinx of black quartz judge my vow

There’s another type of sentence(s) or phrase(s) that gets every vowel sound - or even every unique sound overall - from a language pronounced at least once. A few are presented below, but I believe with some time and effort, we could do better

Phonemic Pangram Example

With tenure, Suzie’d have all the more leisure for yachting, but her publications are no good.


Phonetic Pangram Example

The beige hue on the waters of the loch impressed all, including the French queen, before she heard that symphony again, just as young Arthur wanted.

My own, bespoke phonetic pangrams

  1. Fear not, boy: our usual chutzpah may win over grouchy foodies. Aye, hand your battered shank lengthwise up to their closed jaws.

  2. L’chaim! Yes, after showing what three blue powdered treasures their benevolent hook caught, guys are joyous.

  3. “Johann Sebastian Bach athleisure wear for jungles zips together proudly,” my voice shook.

Pakunoda, the Touch-Memory Reader

posted by graham on December 23, 2025

Continuing drawing hxh characters based solely on the descriptions of them from Media Club Plus by @friends-table. This is Pakunoda, member number 91 of The Phantom Troupe.

A woman in heels and a slit-dress holds a revolver out to shoot to the right, off-screen

Jack: And we are introduced to them very quickly. We have Pakunoda, who is a sexy lady. She has a lovely piece of animation. She checks her wristwatch, at one point, and she’s wearing her watch like a bracelet with the face on the inside of her wrist like some people do, so she’s, like, looking at the inside of her wrist to check the time.

Jack: But it’s…well, it’s interesting. We learn later that sort of a lynchpin of the back of this episode is the Nen power of another Phantom Troupe member. Pakunoda? Pakunada?

Keith: Pakunoda.

Sylvia: Pakunoda, yeah.

Jack: Who can sort of verify whether something is true by reading the memories of people she touches. We haven’t had this power confirmed, but that seems to be the case.

Sylvia: Yeah. I think that’s like a really important thing to draw on is the, like…the way the different founding members sort of step up during this sequence.

Keith: That’s like, the…like, emotional core of these episodes is that

Kortopi, the Illusionist

posted by graham on December 23, 2025

Continuing drawing hxh characters based solely on the descriptions of them from Media Club Plus by @friends-table. This is Kortopi, member number 12 of The Phantom Troupe.

A short person in a raincoat walks towards the camera holding their hands out with several wireframe buildings looming behind them

Jack: He is accompanied by Kortopi, a one-eyed— or maybe— hmm. A small child in a green raincoat with long gray hair cover— with only one eye visible beneath. Then there is Uvo, a—

Keith: Fully covering their face.

Jack: Yes.

Keith: Like, can’t see their face.

Keith: Yeah, this is something that Hunter X Hunter is so good at, is like, I talked about this episode as setting up pins and like, Hunter X Hunter is constantly setting up pins and you just never know when they’re gonna get knocked down. Sometimes it’s two minutes, sometimes it’s ten episodes, sometimes it’s thirty episodes, like who knows? Like, later on we see, uh, it’s introduced that Kortopi has, [Jack: Oh yeah…] that his copies count as En and then like five minutes later that becomes like a crucial part of the plan. And that sort of maneuver is happening constantly in this show, where you learn something and then a little while down the line they pull it and twist it in

Nobunaga, the Ronin Samurai

posted by graham on December 22, 2025

Continuing drawing hxh characters based solely on the descriptions of them from Media Club Plus by @friends-table. This is Nobunaga, member number 1 of The Phantom Troupe.

A robed samurai holding a katana out in the foreground after decapitating a silhouette in the background

Jack: Also with them is Nobunaga, who is a rōnin with a classic sort of top knot and a robe and a katana

Keith: Yeah, “Dr. Warm-Hearted Miser”?

Jack: Yeah. [Sylvia laughs]

Keith: That’s his other theme song.

Austin: I’m telling you, they’re compatible.

Dre: I love that Guilty Gear character.

Keith: That song— both of those songs are the songs of a guy who would steal a trillion jenny from a casino.

Dre: Sure.

Austin: It would make Leorio more like Lupin III and less like Leorio.

Sylvia: He would be Danny Ocean.

Austin: He’d be Danny Ocean.

Keith: Who he looks like. He looks like Lupin III.

Dre: Yeah.

Austin: He’s already a Lupin III type.

Keith: Yeah.

Sylvia: I mean, Nobunaga would fit right in, then. He’d just be, um…

Austin: I’m telling you.

Keith: Right.

Austin: Yeah.

Sylvia: Oh, I can’t remember the name off the top of my head.

Austin: Jigen.

Sylvia: Jigen.

Austin: No, Jigen’s the other one. Jigen’s the other one.

Keith: The other one,

Bonolenov, the Mummy with Boxing Gloves

posted by graham on December 13, 2025

Continuing drawing hxh characters based solely on the descriptions of them from Media Club Plus by @friends-table. This is Bonolenov, member number 10 of The Phantom Troupe.

An embalmed person with red boxing gloves and black shorts punches forward with a faint circle of jupiter behind him

It’s been a while since I’ve done one of these, but I realized recently that a lot more of the episode transcriptions have been completed than the last time I had looked. As always, I’m primarily bottlenecked by how quickly I can assemble the descriptions.

Jack: On the left-hand side of the image is a embalmed person.

Sylvi: [laughing]

Jack: Uh… she is sitting calmly, uh, she is, she is not the focus of this scene, which is so fun. Between the sort of gorilla fellow, uh, uh, in the first image, you know, it turns out not being a main character whatsoever, and this person kind of just framed sideways, you know, in the very edge of the frame. I really like this. Uh, this person has been wrapped, head to toe, in bandages, it looks like. Uh, alternatively, they could be chitinous. They could be, this could be plates, almost like a, like a. Uh, a woodlouse, or a beetle, or an armadillo, or pangolin — [chuckling] the plated animals.

Unfair Flips World Record Strategy

posted by graham on October 14, 2025

Unfair Flips is a game about flipping a coin to get 10 Heads flips in a row.

Unfair Flips is a game about how humans interact with variable probability.

Unfair Flips is a game about how people interpret the information presented to them, relative to the seemingly random outcomes they experience.

Unfair Flips is a game about why people play games at all, when there’s only a finite amount of time to experience them.

Unfair Flips is a game with a speedrunning community. The rules of the speedrun say that time starts when the first coin is flipped and ends when one of the various endings occurs and then number of total flips is displayed. The current world-record strategy routeing seems like an optimal series of upgrades to minimize time played, along with a lot of luck. Statistically speaking, the variance in flips will eventally produce a relatively fast run. The minimum required number of flips per run is 10 Heads and no Tails. With enough time across enough runners, it’s possible that someone will even get this lucky. Other speedruns tend to rely on memorization, dexterity, and endurance. While the orders of upgrades could land in those former

Working on a game called Nimnim

posted by graham on October 13, 2025

Background

Every game of Magic: the Gathering can technically be won by making another player try to draw a card when there are no cards left in their deck, a strategy called “milling.”1 In custom fan formats like Dandân2, there is a single deck shared between the two players, which encourages milling as a more serious backup strategy if the whole “making your opponent lose life” thing doesn’t work out. Recently, I became curious what a custom format might look like if milling was not only a backup but the only strategy? Constraints breed creativity, after all.

Nim is a much older game than MTG about trying not to be the last player to remove an object from a central pile. Every turn, each player can choose to pick up one object, pick up two objects, or pick up half of the remaining objects. It’s often used as an example game with easy rules to implement in introductory computer-science classes, since the game strategy is solved and coding that strategy is simple to do. Part of what makes the strategy so simple is that both players always have the same actions they can take each turn, and