diff --git a/html/common.tsx b/html/common.tsx index 3fea4fd..17f28e1 100644 --- a/html/common.tsx +++ b/html/common.tsx @@ -431,7 +431,6 @@ export const string_split_once = ( return [str.slice(0, idx), str.slice(idx + on.length)]; }; -// TODO: not stringly-typed style export const HomestuckSpan = ({ children, color, diff --git a/html/random-character.tsx b/html/random-character.tsx new file mode 100644 index 0000000..565e548 --- /dev/null +++ b/html/random-character.tsx @@ -0,0 +1,259 @@ +import { JSX } from "preact/jsx-runtime"; +import { render_and_copy } from "./common.tsx"; + +// let's do 100 first and last names OKAY +// +// cat ~/Documents/dictionary.txt | grep -e '^.\{6,7\}$' | shuf | head -n 100 +// okay let's be a bit more selective yikes +// cat ~/Documents/dictionary.txt | grep -E '^....$' | shuf | head -n 100 | awk 'BEGIN {print("[")} {print(" \"" $1 "\",")} END {print("]")}' | xsel -ib +// cat ~/Documents/dictionary.txt | grep -E '^[^n][^i][^g]....?$' | shuf | head -n 100 | awk 'BEGIN {print("[")} {print(" \"" $1 "\",")} END {print("]")}' | xsel -ib +// that is a COMPREHENSIVE dictionary D: + +const FIRST_NAMES = [ + "tree", + "saka", + "pass", + "kexy", + "pici", + "kurd", + "xxii", + "lide", + "huke", + "palm", + "levi", + "dago", + "they", + "smut", + "filt", + "cump", + "upgo", + "zoid", + "army", + "anta", + "arbs", + "ferv", + "stan", + "wabe", + "jami", + "purs", + "deys", + "vamp", + "mese", + "migs", + "pile", + "susu", + "olio", + "ipse", + "gelt", + "idem", + "eden", + "pont", + "vica", + "corv", + "kell", + "elul", + "ecod", + "maid", + "kays", + "fine", + "taws", + "coul", + "shag", + "aren", + "ruse", + "anre", + "spex", + "perp", + "koff", + "west", + "sild", + "vina", + "itch", + "neal", + "jhow", + "cozy", + "moun", + "copy", + "fict", + "gulp", + "slon", + "tuny", + "tolt", + "erns", + "eyas", + "thro", + "reno", + "warm", + "lone", + "erst", + "koel", + "vila", + "rump", + "kmet", + "drow", + "polt", + "orts", + "hlqn", + "adib", + "dabb", + "dhak", + "tyke", + "arni", + "bagh", + "holt", + "wart", + "bull", + "mayo", + "tiam", + "dose", + "dogs", + "dine", + "wych", + "poet", + "meh", +].map(name => name[0].toUpperCase() + name.slice(1)); + +const LAST_NAMES = [ + "paragon", + "phossy", + "burghal", + "templum", + "osteome", + "deicide", + "lockrum", + "inhale", + "celoms", + "outsit", + "plaints", + "stubby", + "flabrum", + "elcaja", + "thrang", + "caretta", + "retune", + "unplace", + "adlumin", + "garcon", + "brainy", + "slyest", + "tsktsks", + "bodock", + "crummer", + "actions", + "wrapped", + "emeril", + "traneen", + "wrought", + "detinue", + "ascarid", + "swimbel", + "leaped", + "ericoid", + "solano", + "barware", + "infarce", + "bullets", + "frankly", + "euboean", + "jymold", + "besugo", + "smaragd", + "suiting", + "muconic", + "goujay", + "caynard", + "pupped", + "verdict", + "brangle", + "potions", + "touart", + "fraena", + "peising", + "replial", + "unbaste", + "sandbug", + "roosed", + "refind", + "illipe", + "runner", + "implate", + "atoxyl", + "favous", + "opcode", + "fuegian", + "cadging", + "soapbox", + "fessed", + "deworm", + "browzer", + "uncurl", + "toelike", + "posnet", + "mortem", + "whippa", + "invests", + "aphagia", + "attent", + "esopgi", + "resorb", + "succula", + "levulic", + "enlace", + "busbars", + "rocket", + "sexuous", + "provers", + "condole", + "caveman", + "cattily", + "buddie", + "trikaya", + "ladlers", + "gorbet", + "tarkani", + "acquit", + "shohjis", + "shilloo", + "bark", +].map(name => name[0].toUpperCase() + name.slice(1)); + +// has some defaults +export const Prngnoun = ({ + prns, + style = {}, +}: { + prns: string[]; + style?: JSX.CSSProperties; +}) => ( + +); + +// what is gained from having this on cohost... hm +// export const InlineRandImage +// because the randomly generated parts are so nicely integrated (if you have courier) +// i'm thinking i'll frame it like "your guy is ..." instead of "you are ..." +// idk + +render_and_copy( +

+ Your name is {" "} + . You are{" "} + i.toString())} + />{" "} + years old. Cool! +

+); diff --git a/serverside/prngnouns.ts b/serverside/prngnouns.ts index 57a6c93..66bc828 100644 --- a/serverside/prngnouns.ts +++ b/serverside/prngnouns.ts @@ -62,7 +62,7 @@ async function get_pronoun_image(prn: string): Promise { const MAX_PRN_LENGTH = 32; const MAX_PRN_CACHE = 64; // shouldn't really be a problem -const MAX_PRN_CHOICES = 128; +const MAX_PRN_CHOICES = 256; function clean_up() { if (images.size <= MAX_PRN_CACHE) { diff --git a/serverside/this-image-has-been-fetched-approximately-n-times.ts b/serverside/this-image-has-been-fetched-approximately-n-times.ts index a2dfa12..ccfd5f3 100644 --- a/serverside/this-image-has-been-fetched-approximately-n-times.ts +++ b/serverside/this-image-has-been-fetched-approximately-n-times.ts @@ -153,7 +153,8 @@ const secret_messages = [ "it would be cool if floppies were actually reliable", "epic win! this message has a 1% chance of appearing! share with your friends", "you should try curling terezi.pyrope.net", - "caltrop.dev has a ton of cool stuff; the caltrop.dev/meta/map helps", + "Stubborn tiny lights vs. clustering darkness forever ok?", + // "caltrop.dev has a ton of cool stuff; the caltrop.dev/meta/map helps", "i used a typescript type error to track my progress to one hundred messages", "haskell...", "lean4...",