Bocchi the Example!
in Miscellany
on Sun, 24 Dec 2023
Examples, for example
Foo is a nonsense pile of letters.
It and its sibling bar are the most common example terms in programming documentation. Python often prefers spam and eggs as a reference to Monty Python and the Holy Grail, for which the language itself is named. Plenty of other example terms show up in documentation and elsewhere.
Whatever example terms one chooses, their uses are generally asemic – they don't carry any meaning. In principle, any sequence of characters can be used as an asemic term, as long as it fits the syntactic constraints of its use.
I prefer certain example terms that I haven't seen anyone else use. My defaults are Bocchi, Ryou, Nijika, and Kita. Some may recognize these as the lead characters from the Japanese comedy cartoon, Bocchi the Rock!
Now, I did enjoy watching that cartoon, but I have much stronger reasons for preferring terms from it for examples. It's very common that I use Bocchi terms semantically for examples. Not as their meanings, per se; they are just person names. Rather, I use the abstract relationships within the setting of Bocchi the Rock! to reflect the relationships between terms in my examples.
I could reach for baz when I need something that contains a foo and a bar, but then I have to spend time thinking once I need a place for a baz to be. In contrast, a KessokuBand naturally contains a Bocchi and a Ryou, and it naturally lives in Shimokitazawa.
Of course, that's only really meaningful for those familiar with the events of the cartoon. For the majority of people, the terms are unintelligible. But that's no different from choosing asemic terms like foo and bar in the first place. Even if it doesn't particularly help the reader, it does lower the cognitive load on myself as the writer as my examples grow more complex.
Is it particularly common for me to need a place name when describing a programming concept? Probably not. However, there is another common situation where I need a library of example terms with preconstructed relationships, including place names, domain names, dates, email addresses, &c.: unit tests.
(And in tests, I've found that using Japanese terms has the added benefit of reminding me that things like person names, street addresses, and phone numbers don't always follow the conventions I'm accustomed to as an American.)
I am writing this article for two purposes. The first purpose is to challenge thoughtless use of asemic example terms in places where terms with semantic relationships could provide a richer experience, or at least make writing easier. Human brains are very good at thinking, but they're also very good at avoiding thinking, and that's an inhibition. If you've thought something like, "I'll use Bocchi (or Madoka) for examples, too!" or "I hate weebs, just use a normal source like Dr. Who instead," then I've already fulfilled this goal.
The second purpose is to construct a reference of the kinds and content of relationships depicted specifically in Bocchi, so that I don't have to keep navigating to the corresponding Wikipedia article and community Discord server to look up certain details when writing unit tests for my DAOs and DTOs at work. That is the rest of this article.
People, and default examples
Names are written in Japanese convention of family name preceding given name, where relevant.
- Bocchi (ぼっち)
- Member of Kessoku Band
- 21 Feb birthday
- Also an alias for Gotō (= Gotoh) Hitori (後藤 ひとり)
- Operates Gibson Les Paul Custom
- Operates Yamaha Pacifica
- Yamada Ryō (= Ryou, though seems others prefer to transliterate as Ryo) (山田 リョウ)
- Kessoku Band
- b. 18 Sep
- Ijichi Nijika (伊地知 虹夏)
- Kessoku Band
- b. 29 May
- Kita Ikuyo (喜多 郁代)
- Kessoku Band
- b. 21 Apr
- Kita Kita is an alias, although usually not a good one for tests
- Operates Gibson Les Paul Jr
- Hiroi Kikuri (廣井 きくり)
- Member of SICK HACK
- b. 28 Sep (except 29 Sep specifically in 2023?? Am I misreading JP Wikipedia?? Why am I even reading it???)
- Ijichi Seika (伊地知 星歌)
- Manager of Starry
- b. 24 Dec
There are many more characters, but I've never felt the need for more person names.
Groups or containers
- Kessoku Band
- Contains Bocchi, Ryou, Nijika, Kita
- Social in-group; proximal
- SICK HACK
- Contains Kikuri, Eliza, Shima
- Social out-group; distal
Places
Starry, the concert venue, is the only place name I've needed so far. AFAIK no street address; I typically use "123 Downstairs" because it is downstairs.
Hierarchical location name of most story events:
- Shimokitazawa, the neighborhood in
- Kitazawa, the district in
- Setagaya, the city or special ward in
- Tokyo, the metropolis or prefecture in
- Japan, the country.
I don't know how Japanese addresses are normally written, so I write "Kitazawa, Tōkyō, Japan" when mimicking American style addresses.
Dates
I don't believe Bocchi is set in any particular year, so choose one that makes sense for the situation; e.g. 2006 for a birth date or 2024 for the date of an event.
- 21 Feb: Bocchi's birthday
- 21 Apr: Kita's birthday
- 10 May: Gotoh day (五 = go = 5, 十 = tō = 10)
- 29 May: Nijika's birthday
- 14 Aug: Kessoku Band's first live performance, per cartoon
- 18 Sep: Ryou's birthday
Probably many more canonically relevant dates, but I've never needed nearly this many anyway.
Others
- Domain name: bocchi.rocks
- Implies email addresses like
gotoh@bocchi.rocks
- Implies email addresses like
- Phone numbers? Someone please suggest. Calling code is +81, FWIW.
- Guitars
- Gibson Les Paul Custom (Bocchi's first)
- Yamaha Pacifica (Bocchi's second)
- Gibson Les Paul Jr (Kita's)