From d704be19afb2e4701a1947a28ef4970d0b3acfa3 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Thu, 24 Oct 2024 01:11:49 -0700 Subject: post: the oshimark problem --- src/components/Latex.astro | 18 +++++++ src/content/blog/the-oshimark-problem.mdx | 89 +++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 src/components/Latex.astro create mode 100644 src/content/blog/the-oshimark-problem.mdx (limited to 'src') diff --git a/src/components/Latex.astro b/src/components/Latex.astro new file mode 100644 index 0000000..f335189 --- /dev/null +++ b/src/components/Latex.astro @@ -0,0 +1,18 @@ +--- +import katex from 'katex'; + +const { formula = '' } = Astro.props; +const html = katex.renderToString(formula, {throwOnError: false}); +--- + +
+ +
+ + + diff --git a/src/content/blog/the-oshimark-problem.mdx b/src/content/blog/the-oshimark-problem.mdx new file mode 100644 index 0000000..873207b --- /dev/null +++ b/src/content/blog/the-oshimark-problem.mdx @@ -0,0 +1,89 @@ +--- +title: 'The Year 11779 Oshi Mark Problem' +description: 'When will we run out of 2-emoji oshi marks?' +pubDate: 'Oct 24 2024' +heroImage: 'https://files.catbox.moe/8gr7k2.jpg' +--- +import Latex from '../../components/Latex.astro'; + +(This is a problem that lives rent-free in my head) + +The oshi mark is are emoji(s) that VTuber fans will often put in their social media usernames to represent their support for a particular VTuber. These are typically chosen during or before a VTuber's debut stream, you'll often see many VTubers changing their usernames to include them too! + +Seems like a good idea, until you realize that there is a finite number of emojis... + +## Definition +As of writing this there are 3790 emojis in the Unicode standard. I know that platforms like X have may have their own standards (Twemoji), but for the sake of this problem let's assume that we're using the Unicode standard. + +This also includes skin-tones, which may or may not be appropriate to use in this context as well. However, this is just all theory anyways so let's include them and take this as a best-case scenario. + +## Problem +Ideally, VTubers all want a unique oshi mark to represent them. Of course, in the early days of VTubing a single emoji would be enough to represent a VTuber. However, as the industry grows and more VTubers debut, the chances of a VTuber getting a unique oshi mark decreases... + +So the fix is intuitive, let's just use 2 emojis for each new VTuber. This is fine, in fact its the solution we're on right now, but how long until we run out of 2-emoji oshi marks? + + + +We then assume that all 1-emoji oshi marks are taken, so add that to the total number of 2-emoji oshi marks and we end up with 7,175,545 VTubers. + +### Predicting Growth +We can predict VTuber growth in a fairly crude manner using Holodex. I wrote a Java wrapper for the Holodex API a while back, so I was easily able to spin something up quick. +```java +import com.pinapelz.Holodex; +import com.pinapelz.HolodexException; +import com.pinapelz.datatypes.Video; +import com.pinapelz.query.VideoQueryBuilder; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class App { + public static void main(String[] args) { + try { + Holodex holodex = new Holodex("API_KEY"); + VideoQueryBuilder query = new VideoQueryBuilder().setTopic("Debut_Stream").setLimit(100); + List