I'm a programmer, writer, and philosopher of all things. I post all kinds of stuff here.

Prismata content

Works (novels, visual novels, poems)

My music

Philosophy of storytelling

Philosophy of game design

Game and story reviews

Thoughts on argumentation and debating

Stuff about Unix, programming, and other computery stuff

Counterplay Infinity - a minimalist proof-of-concept fighting game

Protagonism (my religion)

My logo explained

How to contact me securely or donate

Thanks to main_gi for countless contributions to this site. He's been my de-facto editor for a while, and has also helped me with CSS troubles, and even contributed valuable insight that got me to change some beliefs.

Update log:

September 18: I noticed a few days ago that my backend was not parsing the if-modified-since header correctly, and so some requests were not returning 304 Not Modified when they should've. It should be fixed now.

September 17: I added my opinion of Javascript :) I also added a point in my opinion of Go about the incompatibility of numeric types.

September 16: New computery article: What escape sequences are.

September 14: I added my new article on RNG in games which I apparently forgot to put in the index after all my philosophies got reorganized. Also, we have a new guest article from main_gi: How JRPGs Can Do Better: Every Mario RPG.

September 13: I added secure contact and donation info as you can see above, and I've been making a lot of minor edits. Most notably I realized the Prismata absorber personality test was broken during the move to uWSGI. I fixed it.

September 12: I've acted on the decision to consider compassion and retribution as two sides of the same coin rather than orthogonal values in my moral system.

September 11, second entry: I added a bunch of user account management-related commands to the Unix command reference, which more or less gets the project to "version 1.0" status. I'm a little unsure what I should do with that article. The original plan was to enumerate all the built-in commands I find to be significantly useful, but which commands are installed by default varies by operating system and especially between Linux and BSD. But it would be totally unreasonable to list every installable command. Even still the names of the packages vary between distributions.

I also added An Overview of Programming Paradigms, and added some content to my opinion on Python, including some elaboration on my biggest two criticisms and the addition of a smaller one about the way it deals with timestamps.

September 11: New Unix tutorial content: The 'root' account and Crash course on Unix permissions. I also added a ton more commands to my Unix command reference.

September 10: Comments are live! They're pretty janky, but they should work. A few things to know:

September 9: A CSS improvement: links in spoilers no longer show through. Also, comments are coming! I'd been entertaining the idea since a couple months ago and started to plan out how I would implement it a couple weeks ago. Today I started seriously grinding on it. More than half the work is done; with luck, I'll push the feature to production in the next two or three days.

September 7: I've added the article you can see above explaining the symbolism of my logo, and I finally completed the major revamp of my game design articles! Check 'em out. Thanks again to main_gi for guidance on the decision.

September 5: A couple new paragraphs in my article on the dangerous propaganda of mental health, and I posted the public download for Return To The Portrait!

September 4: I completed two major improvements today! First of all, the site now has a favicon! It's highly symbolic and I plan to post an article explaining it. More momentously, but less apparent, I finally implemented templating for my pages! I no longer have the same ten or so lines of boilerplate repeated in all my files. I'm using a backend script to generate them by filling out a template with the article contents. The novels still use the old approach since converting those would have been a little more complicated - they can't use the same template. I plan to look into redoing the CSS there anyway with everything I've learned about CSS since I wrote that layout. Let me know if any pages are broken. For the time being, the old versions should still be accessible at static.yujiri.xyz. I also decided to make this update log not use bullet points and to drop the entries from before the beginning of August. I don't think history that far back matters.

August 31: I updated my review of Prismata in light of the update.

August 29: New game design article: Why Forcing The Player Can Be Good, and a new Unix tutorial article: Filesystem concepts. I also separated out the section on Unix manual pages into its own article, and added more commands to my Unix command reference. I even color-coded the commands by importance! Finally I revised some of my points in My Opinion On The Go Language; I elaborated on some of the praise points and upgraded the one on tooling to an h1.

August 28: Two more articles aimed at Unix/programming beginners: standard streams explained, and how programming works.

August 27: I posted new articles on programming: My Opinion On Go and The Truth About Object Oriented Programming. I also made some CSS improvements; images and <pre> blocks should no longer cause horizontal scrolling on small screens (except the Prismata attacker list; not sure what to do about that).

Later today: I posted new articles aimed at Unix beginners: the basics of shell use, and the beginnings of my Unix command reference.

August 25: I redid my article on The Misrepresentation And Underappreciation of Philosophy, and added two new articles: Why You Should Learn Programming Even If You Don't Plan To Be A Software Developer, and an Opinion On The Python Language.

August 24: I updated my article on the anatomy of a soul with my new understanding of how beliefs are a facet of Instinct.

August 23: I organized the game design index into a column layout like the other indexes with tons of content, and I added the first content of a new section: computer/programming stuff.

August 22: I extracted my discussion of brute force skills in game design out into its own article, and added How JRPGs Can Do Better: Bowser's Inside Story. I really need to make the game design index column-arranged...

August 21: Two new articles on storytelling: Why Representation Matters and How to choose a character's gender.

August 20: I edited my article on children in society.

August 18: Four new articles! The real meaning of political 'left' and 'right', An insight on the common error behind leftist economics, Don't amoralize your moral arguments, and Polymorphic values - and why you should avoid them.

August 13: I've gained a ton of new insight lately about how sleep, dreams, and death work, and finally got around to making an article. I also renamed my three theorems about choice and motivation to "axioms", since I found out a "theorem" is usually understood to be something proven with other premises - so basically the opposite of what I was using it to mean.

August 11, second entry: (Fist pump) I figured out CSS Grids and made the column formatting super sicku! Not only do the colunms stay aligned now, but the rows don't disbalance anymore; they'll even out as much as possible. And no more shitty hacks with div.row:after or any of that crap :)

August 11: Okay, maybe this is starting to get funny. Or maybe it's stopped being funny. I don't know, but I'm laughing at it a bit right now. I made another momentous revision to my moral system: freedom is no longer a prime value. I actually think I was taking out parts of Agency and Consent and making a third separate value where there isn't one.

And no, of course I'm not going to stay at 7 values :P (At least I hope not...) I'm also thinking about combining Compassion and Retribution into one value. After all, they're strictly diametric, aren't they? I mean they never get weighed against each other in the way that the other values do because they just cancel each other out in the first place and leave only the remaining magnitude of whichever was stronger. I mean obviously they can get played against each other in a complex situation where multiple people are involved, but that's only the sense in which any value could be played against itself. They never conflict on the same person in the same situation.

I've been occasionally using the phrase "the treatment rule" in my thoughts to refer to the combination of the two. I'll probably combine them once I figure out exactly what the treatment rule is (there are some questions I need to answer about how, mathematically speaking, the factors play together - I'd think the subject's moral merit has to be a multiplier in the formula, but then there'd have to be a 0 point, and that seems impossible).

It's extra poetic because I was recently swiftly convinced that base 6 is the best number system, whereas I had previously resigned myself to that not lining up with the number of cardinal moral values (I had eight and advocated base 12). It would be nice to have that back. Especially if the number of cardinal emotions ends up being 18 when I figure that out.

August 4: I edited my article on the anatomy of the soul with a new insight that memory reduces to instinct.

August 1: Phew! Today I migrated the server. It was a pretty involved process, reinstalling everything on a new operating system, but this will be better in the long run. No need to reboot every couple of days when nothing's changed. Learned a lot more about FreeBSD service files in the process.


This feature was recently added and might have bugs. Also you'll have to reload the page to see your comment.