furry v2, along with some other changes

#philosophy tag got renamed to #shower to reflect what the category was called
this may result in changes in your feed
This commit is contained in:
りき萌 2025-07-15 00:22:50 +02:00
parent a65804bb91
commit 0f91d13fa8
11 changed files with 271 additions and 20 deletions

View file

@ -45,7 +45,7 @@ visibility = "Private"
"01J09E55G0WS63QCFBPP12EMRM", "01J09E55G0WS63QCFBPP12EMRM",
"01J09E55G0H58Q8V8NV23QSQGC", "01J09E55G0H58Q8V8NV23QSQGC",
] ]
+ I'm a _he/him_-type cat [furry][page:philosophy/furry] doing various things with computers. + I'm a _he/him_-type cat [furry][page:furry] doing various things with computers.
% id = "01J7S89Y467VSMGW5DCE1P2D75" % id = "01J7S89Y467VSMGW5DCE1P2D75"
- I don't have enough drawing skill to pull off a full body fursona just yet, but this is me! - I don't have enough drawing skill to pull off a full body fursona just yet, but this is me!

202
content/furry.dj Normal file
View file

@ -0,0 +1,202 @@
title = "furry! —w—"
+++
I love fur!
Did you know it's really pleasant to the touch?
If I could, I would actually hug out all the cats in the world.
Too bad there's so many it's kind of impossible, and also allergic complications.
But, fur.
It's nice.
I like it a lot.
## This dance
Realising my love of fur has been a huge source of internal conflicts for a long time.
When I first learned about the idea of _furries_, I was scared.
I was going through my middle school days at the time, and I wanted to fit in as much as I could.
To not lose friends.
To not stand out too much.
_You know what happens to people who stand out, don't you?
So keep your mouth shut, and fit in..._
is what I thought.
I was avidly scared of anime at the time.
It felt like a weird special interest thing, and from all I've heard of it, there was a _lot_ of lewd stuff.
I didn't want anything to do with that, so I started hating on anime and otaku culture.
Even though I found anime girls kinda cute.
Just to fit in.
The same thing happened with furries.
I got exposed to some lewd material while playing Geometry Dash levels, and it was enough to disgust me for good.
So that's how I also started hating on furries.
Even though a few days later I changed my mind, and found the concept really cute.
---
Months passed, and the beliefs that anime and furries were bad became engraved into my personality.
How could I change now?
My friends would hate me.
They'd feel betrayed.
So I kept my hate shields up.
But those fears started creeping up on me.
First, when I changed my friends group to one which had an otaku in it.
The guy was really nice.
He became my best friend by the end of middle school.
Leaving behind that old group of friends meant I had a chance to redeem myself and start watching anime.
Our school trip was coming up, and my friend proposed that we watch [「君の名は。」]{.nowrap} (_Your Name_).
I agreed, and a few weeks later I found myself in a room with a couple otakus, watching my first anime.
I was toes deep.
The water was warm.
I had friends by my side.
The ice around my heart melted a bit.
But not so much for furries.
---
Middle school ended, I parted ways with my friends group.
They went to a different high school than I did.
The time we had spent was some of the best time in my life, but it was time to say goodbye.
Say hi to high school, where largely nothing had changed, and I remained a furry in disguise.
It came and went, and soon enough I was 18 years old; old enough to look for a job.
Before I got hired though, I discovered A Hat in Time.
A game that taught me that it's okay to be childish and have a little fun, melting the ice around my heart a bit more in the process.
Fast forward a bit, about a year into the job---I decided to play that DELTARUNE game everyone's been so hyped up about.
And there, a cute lil' character was waiting for me patiently.
His name was Ralsei.
I fuckin'... I dunno, man.
This guy.
This fuckin' guy.
This cute lil' floofer.
What can I say?
A shy lil' goat boy.\
Scared of the world.\
With an iceberg of loneliness surrounding his heart.
Ralsei's character resonated with mine.
He was scared of being himself, and never had any friends.
I was scared of being myself, and never had True friends.
Then, by complete accident, I hammered the final nail into the coffin.
On the day the idea for this website sprouted into my mind, I found myself reading [a blog post from soatok](https://soatok.blog/2020/04/23/never-underestimate-the-furry-fandom/) about the furry fandom, and I was like... _of course._\
_Of course._\
_What the hell was I thinking._
Of course furries are fun.\
Of course you should come out of your little hiding spot, tell everyone you're a furry, own it, and be proud of it.\
What the hell have you been running away from?\
Have some fun in your life for once, you cowardly little boy.
My heart started screaming out for help.
And the power of fluffy boys shined within it.
---
I don't remember what my coming out as a furry looked like exactly.
All I remember is that I had an idea in my mind, for how to do it as subtly and gently as possible, to not scare myself away.
I drew an upside down pixel art hatted Ralsei.
He kinda didn't even resemble the real thing.
You had to look close, turn your head upside down...
but it was undeniably him.
I then started doing pixel art more regularly, to level up my drawing skills.
{-Because of course I was, and in fact, still _am_, too socially inept to ask an artist for a commission-}
I drew a couple more Ralseis, [including this fucking image LMAO](https://liquidev.net/syf/art/20230712_ralsei_sleeping.webp), and then finally, a *proper* hatless Ralsei face, right side up.
I set it as my profile picture, and it was out.
_I'm a furry, y'all!_ OwO
## is like a weapon
It would take me quite some time since then to come up with a fursona I could call my own, but at some point I settled for a [ragdoll](https://en.wikipedia.org/wiki/Ragdoll).
I love cats, I love fur, what's more to want than to be one of the floofiest cats in the world?
Curious little observation, but it's actually kind of uncommon to see cat furries in the western world.
Makes my sona all the more unique!
Other than my love of cats, this choice _may_ have been influenced by my liking of Japanese-style furries (ケモノ---_kemono_)---where cat OCs are a lot more common.
I just find their more human-like faces a lot cuter, so naturally I'd want my fursona to have one.
---
You could also be wondering why the heck is my sona so... woman-like.
If I'm a _he/him_-type, why does it look like a such a _she/her_?
Thing is, I really don't like gender stereotypes.
Why is a guy that looks a bit womanly perceived as a weirdo?
He's doing no harm, so why are you giving him weird stares on the street?
Why can't I wear clothes that show off all the nice curves on my body, too?
Like overknee (aka programming) socks.
They're pretty cute if you match them up well with the rest of your outfit.
So riki is a pink, fluffy femboy.
Because fuck those stereotypes.
## of self-defence
There's actually another reason I like to wear a fursona online.
I've never really liked my body much.
As a child, my face looked... weirdly square, and Mom always had my hair cut real short, and that was enough to really dislike how I look.
I was also born with atopic dermatisis, which gave me horrible rashes and skin inflammations for the better part of my life.
Thankfully with some of the experimental meds I've been taking that's largely gone, but my skin still tends to be quite delicate.
And itchy.
Also, remember how I said I really like cats?\
But what if I told you... my allergies don't let me pet them much?
Cats that wander outside (like those at my parents' house) like to roll in dirt, and you can imagine how well that meshes with my itchy and delicate skin.
So I hardly ever get the chance to pet a cat (once in a blue moon when visiting my parents), and when I _do_, I have to be really careful not to get an allergic reaction.
Not fun.
So my fursona acts as a form of escape from that harsh reality.
On the internet, there is no atopic dermatisis or allergies to worry about, after all.
---
Also can I just say, human customisation options are so lame???
The hell do you mean I only get to pick my skin colour, hair colour, and eye colour, and that's it?
Where's the "fur" option with a full 3D coat colour painting tool?
And where do I switch those lame-ass human ears to big cute spiky ears, and also where's the tail option.
Please let me have cat features.
I look cuter that way.
## against the present, present tense
So that pretty much sums it up.
If you only skimmed this post, here's an AI summary for you:
> Something something cute, something something pink fluffy ragdoll femboy, something something please give many pets and hug very much.
_\*purrs smugly\*_
Have a very fluffy day! OwO

View file

@ -5,7 +5,7 @@ include_feed = { name = "new", title = "Blog" }
My name's *riki moe*, or *リキ萌*! My name's *riki moe*, or *リキ萌*!
I'm a _he/him_-type cat [furry][page:philosophy/furry] doing various things with computers. I'm a _he/him_-type cat [furry][page:furry] doing various things with computers.
I work on game optimization tools at [[CD PROJEKT RED](https://cdprojektred.com) :rarog:]{.nowrap} but that's just the tip of the iceberg! I work on game optimization tools at [[CD PROJEKT RED](https://cdprojektred.com) :rarog:]{.nowrap} but that's just the tip of the iceberg!
After hours, I program [websites](/), [compilers][def:stitchkit/repo], [audio][def:dawd3/repo], and other fun things. After hours, I program [websites](/), [compilers][def:stitchkit/repo], [audio][def:dawd3/repo], and other fun things.

View file

@ -4,7 +4,7 @@
- overcoming [fear of the unknown][page:philosophy/fear-of-the-unknown], episode 1. - overcoming [fear of the unknown][page:philosophy/fear-of-the-unknown], episode 1.
% id = "01JCY18RY6PSVMHVQB3SGDK820" % id = "01JCY18RY6PSVMHVQB3SGDK820"
- overthinking my [furry][page:philosophy/furry] self again. - overthinking my [furry][page:furry] self again.
my heart is pounding. my heart is pounding.
% id = "01JCY18RY66AG2JQCBQT3GYACX" % id = "01JCY18RY66AG2JQCBQT3GYACX"

View file

@ -17,7 +17,7 @@
% id = "01JCGVBXW4MBXMABNA2165JQAB" % id = "01JCGVBXW4MBXMABNA2165JQAB"
- this is pretty scary when you think about it. - this is pretty scary when you think about it.
do you mean I'll never be comfortable [being a furry][page:philosophy/furry]? do you mean I'll never be comfortable [being a furry][page:furry]?
% id = "01JCGVBXW4GV5K0Z0JN6X285CN" % id = "01JCGVBXW4GV5K0Z0JN6X285CN"
- well yeah, basically yeah. - well yeah, basically yeah.

25
content/treehouse.dj Normal file
View file

@ -0,0 +1,25 @@
title = "The Construct"
+++
You managed to click on the tree.
Hooray! :smile:
## Credits
*riki's house* is brought to you by:
- [riki][page:index]! That's me!
- The piece of software called [treehouse][def:treehouse/repo], which powers this website.
Special thanks to all the friends who supported me over the course of its creation.
- [Vixenka][def:person/vixenka]---my girlfriend!
- areox
- [ezioleq][def:person/ezioleq]
- [firstbober][def:person/firstbober]
- [olekolek1000 (aka oo8)][def:person/olekolek1000]
And special thanks to you---dear reader!

View file

@ -26,6 +26,17 @@ if you've been wondering what I've been up to, you've come to the right place.
if you want to read any of the posts, follow the links. if you want to read any of the posts, follow the links.
it's like that by design. it's like that by design.
% tags = ["meow", "shower"]
id = "01K05F3E3DN1PY9ZWN98ZE5HVV"
- ### [furry! ---w--- (version 2)][page:furry.dj]
% id = "01K05F3E3DC8WWGKFE8CQ616X1"
- I gave this page the treatment it deserved. (which is: lots and lots of love :heart:)
% id = "01K05F3E3DD075BBF0QSF5HVXW"
- With the rework of the treehouse to a more document-oriented format, it felt appropriate to narrate my story in a more novel-like way.
I sincerely hope you enjoy.
% tags = ["design", "treehouse"] % tags = ["design", "treehouse"]
id = "01K02XZTW3VYKX0Q5NZ17NRVTF" id = "01K02XZTW3VYKX0Q5NZ17NRVTF"
- ### [Requiem for a Fractal Forest][page:requiem.dj] - ### [Requiem for a Fractal Forest][page:requiem.dj]
@ -103,7 +114,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JHGYTZN1NDXBSG4K5HJ8SRAM" % id = "01JHGYTZN1NDXBSG4K5HJ8SRAM"
- exploring the idea of aggregating pages via tags, rather than manually curating and structuring them out. - exploring the idea of aggregating pages via tags, rather than manually curating and structuring them out.
% tags = ["meow", "philosophy"] % tags = ["meow", "shower"]
id = "01JGXQ5E8DHAEYFTHG0RB86VNE" id = "01JGXQ5E8DHAEYFTHG0RB86VNE"
- ### [nickname change!][page:philosophy/riki] - ### [nickname change!][page:philosophy/riki]
@ -131,14 +142,14 @@ if you've been wondering what I've been up to, you've come to the right place.
- now that the holidays are over, and I'm out of block game steam, I'll need to move onto something else. - now that the holidays are over, and I'm out of block game steam, I'll need to move onto something else.
who knows what that might be? who knows what that might be?
% tags = ["design", "philosophy"] % tags = ["design", "shower"]
id = "01JG6Y6JNRQA4SSK3TEZ0RRTEB" id = "01JG6Y6JNRQA4SSK3TEZ0RRTEB"
- ### [design for the free soul][page:design/for-the-free-soul] - ### [design for the free soul][page:design/for-the-free-soul]
% id = "01JG6Y6JNSYD5C8K4EWETYZX9K" % id = "01JG6Y6JNSYD5C8K4EWETYZX9K"
- a little note on how constrains and guard rails can make you feel more "_claustrophobic._" - a little note on how constrains and guard rails can make you feel more "_claustrophobic._"
% tags = ["philosophy"] % tags = ["shower"]
id = "01JG55SF4FRRF9RDW9KMYHAECF" id = "01JG55SF4FRRF9RDW9KMYHAECF"
- ### [my weird stim: writing with light streaks][page:philosophy/light-streaks] - ### [my weird stim: writing with light streaks][page:philosophy/light-streaks]
@ -176,7 +187,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JE75N3B0AER5A3TR2Q5W1WWR" % id = "01JE75N3B0AER5A3TR2Q5W1WWR"
- designers, please stop shoving touch panels into everything. - designers, please stop shoving touch panels into everything.
% tags = ["programming", "philosophy"] % tags = ["programming", "shower"]
id = "01JDZKAP3KT4AD36F6HPJTEM4Z" id = "01JDZKAP3KT4AD36F6HPJTEM4Z"
- ### [Advent of Code feels][page:programming/blog/aoc] - ### [Advent of Code feels][page:programming/blog/aoc]
@ -194,7 +205,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JDJJSEWA7K5T3Z0Y6NQ8RBGX" % id = "01JDJJSEWA7K5T3Z0Y6NQ8RBGX"
- this is an exploration of how I built my abstraction, how it works, and what I learned from it. - this is an exploration of how I built my abstraction, how it works, and what I learned from it.
% tags = ["philosophy"] % tags = ["shower"]
id = "01JDJ0RH4DJCNS7TPCRZHRPSRF" id = "01JDJ0RH4DJCNS7TPCRZHRPSRF"
- ### [on responsibility & conformity][page:philosophy/responsibility] - ### [on responsibility & conformity][page:philosophy/responsibility]
@ -215,9 +226,9 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JCY18RY67XMT8Z0YHHZVA1TS" % id = "01JCY18RY67XMT8Z0YHHZVA1TS"
- not really related to the post, but just sayin'. - not really related to the post, but just sayin'.
% tags = ["philosophy"] % tags = ["shower"]
id = "01JCGVBXW42S8G91SGAKYCQZE1" id = "01JCGVBXW42S8G91SGAKYCQZE1"
- ### [furry! ---w---][page:philosophy/furry] - ### [furry! ---w---][page:furry/v1]
% id = "01JDTBGSJ7KB9GYWQZ8G9D97NY" % id = "01JDTBGSJ7KB9GYWQZ8G9D97NY"
- I'm an adorable little cat boy. purrow! _snuggle snuggle_ - I'm an adorable little cat boy. purrow! _snuggle snuggle_
@ -225,7 +236,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JDTBGSJ7RVYR0VD693FN10QH" % id = "01JDTBGSJ7RVYR0VD693FN10QH"
- a lesson in Shock Therapy & Getting Over It {-with Bennett Foddy-} - a lesson in Shock Therapy & Getting Over It {-with Bennett Foddy-}
% tags = ["philosophy"] % tags = ["shower"]
id = "01JCGVBXW39D0GJTZY53A25TXT" id = "01JCGVBXW39D0GJTZY53A25TXT"
- ### [fear of the unknown][page:philosophy/fear-of-the-unknown] - ### [fear of the unknown][page:philosophy/fear-of-the-unknown]
@ -239,7 +250,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JCGAM553N0A613MFSWX5XZFK" % id = "01JCGAM553N0A613MFSWX5XZFK"
- a clever trick with C strings: did you know you can match a prefix just by chaining indexing with `&&`? - a clever trick with C strings: did you know you can match a prefix just by chaining indexing with `&&`?
% tags = ["philosophy"] % tags = ["shower"]
id = "01JBWHXTMKYRW5XXDJG9VQNF5E" id = "01JBWHXTMKYRW5XXDJG9VQNF5E"
- ### [on nicknames][page:philosophy/nicknames] - ### [on nicknames][page:philosophy/nicknames]
@ -250,7 +261,7 @@ if you've been wondering what I've been up to, you've come to the right place.
- I know I don't. - I know I don't.
so here's a little shower thought regarding _why_ that is. so here's a little shower thought regarding _why_ that is.
% tags = ["philosophy"] % tags = ["shower"]
id = "01JBAK3T1ZSSTHRN6TTSXXBAKK" id = "01JBAK3T1ZSSTHRN6TTSXXBAKK"
- ### ["I build things"][page:philosophy/i-build-things] - ### ["I build things"][page:philosophy/i-build-things]
@ -325,7 +336,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01J293BFEBYSW4K7YHVN42J3WP" % id = "01J293BFEBYSW4K7YHVN42J3WP"
- so I decided to collect my thoughts into a nice little page I can link easily. - so I decided to collect my thoughts into a nice little page I can link easily.
% tags = ["philosophy"] % tags = ["shower"]
id = "01J1Q8SBGFYKDATVF85XYWMSV2" id = "01J1Q8SBGFYKDATVF85XYWMSV2"
- ### [in wisdom you become old][page:philosophy/in-wisdom-you-become-old] - ### [in wisdom you become old][page:philosophy/in-wisdom-you-become-old]
@ -362,7 +373,7 @@ if you've been wondering what I've been up to, you've come to the right place.
and that made me think, _why_ is that the case? and that made me think, _why_ is that the case?
% id = "01HV1DGFHZ65GJVQRSREKR67J9" % id = "01HV1DGFHZ65GJVQRSREKR67J9"
tags = ["programming", "philosophy"] tags = ["programming", "shower"]
- ### [systems are just a bunch of code][page:programming/blog/systems] - ### [systems are just a bunch of code][page:programming/blog/systems]
% id = "01HV1DGFHZFFZSQNCVWBTJ1VHM" % id = "01HV1DGFHZFFZSQNCVWBTJ1VHM"
@ -388,7 +399,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01HRG3VN095BNHERHWVX1TKS9K" % id = "01HRG3VN095BNHERHWVX1TKS9K"
- I really like Lua, did you know that? but I get kind of tired of explaining why a thousand times to people who don't know the language, so here's a page with my thoughts! - I really like Lua, did you know that? but I get kind of tired of explaining why a thousand times to people who don't know the language, so here's a page with my thoughts!
% tags = ["philosophy"] % tags = ["shower"]
id = "01HREVZNAH3PMMN29C6HNFQ7P9" id = "01HREVZNAH3PMMN29C6HNFQ7P9"
- ### [just shut up sometimes][page:philosophy/shut-up] - ### [just shut up sometimes][page:philosophy/shut-up]
@ -424,7 +435,7 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01HQ6G30PT1D729Z29NYVDCFDB" % id = "01HQ6G30PT1D729Z29NYVDCFDB"
- this post explores basically just that. - this post explores basically just that.
% tags = ["philosophy"] % tags = ["shower"]
id = "01HFYZKREV93QY3K7KNNFSW90H" id = "01HFYZKREV93QY3K7KNNFSW90H"
- ### [hedonic treadmill][page:philosophy/hedonic-treadmill] - ### [hedonic treadmill][page:philosophy/hedonic-treadmill]

View file

@ -108,6 +108,10 @@ pub struct DocDir {
impl DocDir { impl DocDir {
#[instrument("DocDir::content", skip(self))] #[instrument("DocDir::content", skip(self))]
pub fn content(&self, path: &VPath) -> Option<Content> { pub fn content(&self, path: &VPath) -> Option<Content> {
if !matches!(path.extension(), None | Some("dj")) {
return None;
}
if let Some(file_id) = self if let Some(file_id) = self
.sources .sources
.treehouse .treehouse

View file

@ -159,10 +159,16 @@ impl TreehouseDir {
#[instrument("TreehouseDir::content", skip(self))] #[instrument("TreehouseDir::content", skip(self))]
fn content(&self, path: &VPath) -> Option<Content> { fn content(&self, path: &VPath) -> Option<Content> {
let path = if path.extension() == Some("tree") {
path.with_extension("")
} else {
path.to_owned()
};
let path = if path.is_root() { let path = if path.is_root() {
VPath::new_const("index") VPath::new_const("index")
} else { } else {
path &path
}; };
self.sources self.sources

View file

@ -63,7 +63,7 @@ tags = [
"design", "design",
"music", "music",
"games", "games",
"philosophy", "shower",
# Programming fields # Programming fields
"graphics", "graphics",
@ -111,6 +111,9 @@ tags = [
"programming/technologies/unreal-engine/fixes" = "programming/unreal-engine/fixes" "programming/technologies/unreal-engine/fixes" = "programming/unreal-engine/fixes"
"programming/technologies/unreal-engine/generated-body" = "programming/unreal-engine/generated-body" "programming/technologies/unreal-engine/generated-body" = "programming/unreal-engine/generated-body"
# 2025-07-15 furry v2
"philosophy/furry" = "furry"
[emoji] [emoji]
[pics] [pics]