Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prefix

Chapter 1

Privalia

Risen from the Eternal Sea, via pact betwixt a girl and the Universe. A linchpin in the ever-changing, uncaring depths beyond. Here you will find hope pushing back against the mindless monsters, both sentient and not, that threaten to tear it down, gods that are both human and concept-made-manifest, end-of-the-world prophecies being thwarted by plucky heroes, and magic shaping everything from continent-sized calamities to simple everyday life. Welcome to Privalia.

People

The world of Privalia is home to all manners of creatures both big and small. Most races you'd find in the D&D 5e Player's Guide could be made to work in some way, but the main playable peoples I have are, in no particular order

Monsters

In Privalia, most monsters aren't sentient, but the ones who are either constantly struggle to be recognized by the more 'civilized' peoples as, well, not monsters, or they hide out and live simple lives amongst themselves, trying to not get killed by wandering adventurers. Goblins are the prime example of this, with a solid three quarters or so being sentient and trying to distance themselves from their more blood-thirsty cousins. Often forced to live in shanty towns outside of the proper city walls, Goblins have long felt the cruelty of the other peoples, but they haven't let that stop them from creating a culture all their own. Any monster can be a Person, and therefore can be a player character, but the more monstrous a character is the more difficulty they'll have interacting with other people. Most Towns and Cities won't ban monsters outright, and you'll always find a few monsters living together in any major population, but the smaller Villages and communities, the ones that live with the reality of non-sentient monsters trying to eat them every day, don't take so kindly to people that look like them.

Elves

The Elves are well, elves. Long-lived, pointy eared, live in the forest and keep to themselves mostly. Masters of magic? Well sure, but it's easy to master anything when your life-span is measured in centuries and decades rather than decades and years. To an Elf, you're still a child until you've lived at least a century, and other peoples, except Dragons maybe, never grow past childhood, so most don't have dealings with other peoples because of that. When they're in their first century it's a lot more common for elves to mingle with other peoples, but after their twelfth battle-companion or lover or companion has died from old-age most can't stomach the idea of doing that for a few more centuries, and turn to their own people for companionship.

Humans

Humans are your bog-standard bipedal ape-things, the player is one, probably, and your character can be too!

Flin

Twinned souls bound in two bodies, one of flesh and one of stone, the Flin are what I've replaced Dwarves with, mostly because of the underground mining bit, but also because Dwarves are kinda tolkien-esque anyways and also why not?

The Girl has three names. Gwendolyn, the one her Mother gave her. Ee-Gaspira, the one she took from the Universe, and finally, the common one, the one everyone calls her, the one she accepted when she became something more than herself, Simply~ Privalia.

Blog

2025

Fall

August

September

Goals

I have some things I wanna do today, too many in fact! 😆 I wanna practice Stenography (keyboard kind), make a Snake clone in Pico 8, setup dual booting into NixOS, write a blog post / setup NeoCities (this now lol), and along with that is Git.

I think first is going to be setting up dual booting into NixOS, maybe getting a hang of Nix first actually? 🤷

Don't have any of that installed yet so lets do that 😆

Nix

Hopping into Nix First Steps tutorial... and immediately run into issues 😆

I'm running CachyOS, an Arch-based linux distro, and I've had issues with packages before, so this isn't too surprising. What is surprising is that the issue doesn't seem to be well documented, so here it is.

I try the very first command they say

nix-shell -p cowsay lolcat

only to get as error

error: creating directory '/nix/store': Permission denied

maybe sudo?... gives me a different error 😆

error:  
      … while calling the 'import' builtin  
        at «string»:1:18:  
           1| {...}@args: with import <nixpkgs> args; (pkgs.runCommandCC or pkgs.runComma  
nd) "shell" { buildInputs = [ (cowsay) (lolcat) ]; } ""  
            |                  ^  
  
      … while realising the context of a path  
  
      … while calling the 'findFile' builtin  
        at «string»:1:25:  
           1| {...}@args: with import <nixpkgs> args; (pkgs.runCommandCC or pkgs.runComma  
nd) "shell" { buildInputs = [ (cowsay) (lolcat) ]; } ""  
            |                         ^  
  
      error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH  
or -I)

...well this is frustrating 😅

nothing on DDG either, maybe I'll look in their forums, but it should also search their forums...

Huh. The nix-daemon wasn't started which... doesn't fix my issue

Well I deleted my GitHub account (because microsoft 🙄), but in order to interact I need one, so using BlankSprout2 I guess 😆 my new avatar isn't as cool as my old one 😆

Maybe I'll just try installing NixOS and dual-booting first actually, this is getting frustrating. Grabbing the graphical liveCD because I don't want to mess with CLI right now 😆

Finding a lot of what Mom on the Spectrum says resonating with me, she definitely has a lot 😆 Gentle Movement especially, I need to stop sitting so much, or at least take breaks from it

Okies, gonna break and then restart system for NixOS

NixOS

Mmmkay, had to use GParted to create a partition for NixOS, the installer failed when it tried to, so just did it manually, ran the installer again and that time it worked

Added some things to my configuration.nix file, and other than nvidia drivers failing everything else is working fine so far! It was surprisingly easy 😆 (other than the random hangs, I'm suspecting that's because my CPU is trying to do the work of the GPU, which isn't configured properly... I think)

for obsidian it's just pkgs.obsidian in my environment.systemPackages, hows about I just show you ackshually

  environment.systemPackages = with pkgs; [
    pkgs.obsidian
    pkgs.syncthing
    pkgs.legcord
    pkgs.scrcpy
  ];

Syncthing requires a bit of setup, and I haven't gotten it to work entirely yet, but I wanted my folders so I just configured it in the webgui, though it will override the devices and folders so I should probably disable those options 😅

  services = {
      syncthing = {
          enable = true;
          group = "wheel";
          user = "blanksprout";
          dataDir = "/home/Default";    # Default folder for new synced folders
          configDir = "/home/BlankSprout/Documents/.config/syncthing";   # Folder for Syncthing's settings and keys

          overrideDevices = true;     # overrides any devices added or deleted through the WebUI
          overrideFolders = true;     # overrides any folders added or deleted through the WebUI

          settings = {
            devices = {
              "CachyOS" = { id = "id-here"; };
              "Raven" = { id = "id-here"; };
            };
            folders = {
              "Default" = {
                path = "/home/Default";
              };
            };
          };
      };
  };

obviously if you were following along you would replace your devices and folders with the ones you use

I think the error I get when trying to build nix now is just syncthing service not being properly restarted, saying something about start request repeated too quickly Oh there were unmatched brackets that would do it lets see 😆 nope, but either my devices/folders weren't deleted because the syncthing service failed to start or I did it properly this time, who knows 🤷😆

Whelp this has taken all day so I'mm'a switch to crocheting or something 😆

Crochet

I've made some tshirt yarn by following this tutorial, and made a grey lollipop out of a grey shirt pocket as a proof-of-concept ![[GreyLollipop.jpg]]

Then I cut the rest of the tshirt up and wrapped it around itself to make ![[GreyCordage.jpg]]

The stuff of the left is from when I was wrapping it onto the right one, it snapped 😆

Using it now, the thickness is different (since I cut it bad lol), but that isn't affecting my test piece too much, we'll see how it turns out! Just doing some single-crochets in the round, increasing by two every row, starting with 6sc in a magic circle, which didn't turn out too magic this time 😆

Increasing by two every row was a mistake, it's gone all wibbly, tried to correct it by increasing every other stitch on second row when I noticed it going wibbly but the cord is just too thick for two stitches in every one or even every other one 😆 could frog it again, might still 🤷 Could also just need blocking, when I stretch it out it lays pretty flat yeah might just need to block it, which is something I've never done before 😆

I'll finish this row (5) then probs be done for the day that was done faster than I thought, I'll still take a break though, visit mom, maybe see about git and/or neocities, probably neocities first 😆

(Ended up reading more BlueCore by InadvisablyCompelled 😆)

Rambling

Woke up a little late 'cause I didn't take my sleep meds on time, but it's Sunday so it's okay 😆 Trying to figure out how to take markdown files and convert them into a website, which I'd then host on Neocities, seems like there's a ton of options and no good way to choose between them Ideally, I'd want something that's:

  • fast
  • easy to use
  • self-hosted?
    • dunno if I even need to host something for this
  • takes my md files and converts them into HTML, maybe I just need that and then a style.css to make them all look pretty?
  • I really don't know what I'm doing here 😆
  • free

Other than that, I'd like to configure NixOS a bit more, since it's still not using my graphics card at all, and whenever it sleeps I just gotta reboot the whole system, since it doesn't wake back up, or if it does I can't tell, screens are just black

I'd also like to get into the habit of practicing stenography on my Uni v4, especially if I'm actually going to be doing a journal blog whatever this thing is going to be 😆

I really liked the way I was doing it yesterday, with just doing the things and then talking about what I was doing, I'll try the same thing again today

Neocities

I always want to write NeoCities instead, dunno why 😆 So converting md files to a static blog doesn't seem to be difficult, there's just a lot of options for doing it. Exploring around it seems like a static site generator would work, as long as it converts md files as well?

MkDocs

is the first thing that popped up when searching "static site generator markdown" (after a github repo called Awesome Static Web Site Generators which, I looked into and it's just a list, might look at it later if I can't find one) Material tagline: "A powerful documentation framework on top of MkDocs". Seems a bit much for my use seems to be a bunch of frameworks built on top of MkDocs for blog purposes, but I don't think I need all the features of MkDocs really

Bestatic

is the one below it, seems better, looks like just a program that runs on your computer to generate static content, which I suppose all of them would do? 🤷

NixOS -> CachyOS

Yeah okay I'm switch back to CachyOS because I'm a user not an admin of a lot of computers 😆

Okay I'm back. Might just watch some NeuroticGoose for a while.

Pico-8

Starting a simple snake game in pico-8. Uploaded first day's progress to Just another snake clone, where I'll be posting updates. For now it's bedtime 😆

Rambling

Woke up only a bit late today, kitty had no wet food so she was a bit upset, but not too upset, considering... 😆 (image of kitty here)

Pico-8

Hopped right back into pico-8, though my os'... system input? isn't working. The taskbar, desktop, and shortcut keys aren't responding, so I'll probably restart here in a bit 😆 (I can still save so I can still work 😆)

Getting movement and apple spawning right now, going to get the body stuff later.

NerdyTeachers & the pico-8 cheatsheet, have been my main references for this project so far, it's nice to have them open in a second monitor so you can easily reference them! I like to have the pico-8 window itself as big as I can get it without going fullscreen in the center of my monitor. I'm not using an external editor for this project, nor git, since those would just get in the way of actually making the game, which is what I want practice for right now.

I'm making the distinction between grid space and screen space, I've been converting between the two with:

x = (s_head.x * 7) + x_o
y = (s_head.y * 7) + y_o

with x_o and y_o being the x and y offsets, since my grid isn't centered (128x128 doesn't lend itself to grid lines 1 pixel wide, 2px wide would work but then I'd have less space 😆)

this was appearing in a lot of places in my code, and recognizing the pattern I made a little helper function that does it for me

function g_to_s(g_x,g_y)
	local s_x, s_y
	s_x = (g_x * 7) + x_o
	s_y = (g_y * 7) + y_o
	return s_x, s_y
end

now wherever I had the first snippet it's one line of code

local x,y = g_to_s(apple.x, apple.y)

I'm sure I could do more to compress it, probably by making a draw_sprite function that takes the x y and sprite values as arguments and just does it by itself, that way it's not repeated, but I only draw three sprites (the head is really four but I'm using dir as direction and sprite number), so it wouldn't save that much space, and I'm not hurting for token space or anything 😆

If I wanted to I would combine the arrays s_head and s_body and use the sprite I'm using for the body for the head too, and then just draw the eyes in accordance with the direction its facing, saving four sprites, and if I wanted to be super frugal with sprite space I could use it for both the apple and the snake, since the apple is just a square with the four corners taken out 😆

If I'd thought about it earlier I might've saved the first pass before the helper function, completed and polished it, then go back and show where and how you could compress it, using the helper function and a draw_sprite function and two pset()s for the eyes, but I didn't 😆

I'm writing a bunch of comments where usually I wouldn't both to help future me and to help whoever is looking at the code, I really like being able to look at Pico-8 cartridges in the editor and learning from them, but alas, comments take up character count (max 65535 or $2^{16}-1$),

Rambling

Okay finally got all the housekeeping out of the way to use my [Uni v4] 😆

Mostly it was updating the udev rules by following the directions on the Plover Wiki for Javelin, the embedded steno engine that I'm using, also some of it was messing around with the bootloader settings, trying to see if I could delete the 7 entries that NixOS added, and I figured it out eventually 😆

Stenography

but now I'm ready to practice! I'm doing Lapwing as my base dictionary just because I like the aesthetics better, for beginners I would recommend just using Plover since it's so readily available, but I couldn't stand the inconsistencies of what was essentially just [Mirabai Knight]'s personal dictionary.

Oh, apparently Lapwing is now recommended for beginners, huh! Well I was wanting to use it anyways so that's good 😆

Looking through the book, I'm reminded of how unfriendly it feels? Unfriendly isn't the right work, but I want to start using steno not learn theory dangit 😆

Learning how to Learn

Got frustrated with it and started watching a video series 😆

Pomodoro Technique

Spaced Repetition

Sleep other ways to get rid of metabolic toxins? Meditation? Dreaming / wanting to dream about it helps a lot

Chunking small patterns can become bigger chunks and again and again focus on the material understand the basic idea you're trying to chunk practice in context

illusions of competence in learning

overlearning

advantages of interleaving

Stenography

Finally practiced, took me all day to start and only a few minutes to do 😆 Don't have the layout memorized at all, but did manage to only mis-stroke 60% of the words 😆 Taking break pomodoro -nods-

Rambling

Woke up on time today, ready to do stuff!

Website

Got the urge to get it up, found [[Zola]], from skoove from hopping in the Namtao Productions Discord on a whim 😆 (No Boilerplate is great!) Super easy to setup, though it'll probably take some tweaking for me to get it how I want it. Changed the accent color from yellow to green last night, using the Hacker Theme, (couldn't stand the yellow color, green is much more preferable)

Zola

It's a lightweight SSG (Static Site Generator) that runs in the command line, and parses markdown files into html, which is really all I want an SSG to do for me. The theme was a bit tricky to set up, but eventually I just renamed zola-hacker to blog and configured it for my own use (which I'm still doing, has a lot of blog stuff that I'm not using or don't want to use, like seo and giscus and whatnot) Live reloading to the home server is real nice!

Tangent

Chromium was setting mime-types and default apps to itself which annoyed me and this person had the same problem so I just copied the script from here (had to install qt5-tools) but it works so I'm happy. Just wish it would ask to set default browser and it doesn't 🙄 (Using Chromium 'cause Firefox doesn't support WebHID for my steno keyboard)

Configuration

Had to replace amber in the sass/main.scss file with a new color added in the _default_colors.scss $main-green: #00c000;, since it was generating the main.css from that file it seems like, overriding my color 😆

The theme wants the frontmatter in a specific way else the site won't build, and I'm getting frustrated with it. Might pick it up later 🤷

Yeah I don't need hacker theme, going with boring them I guess 😆


title: 09-18-25 date: 09-18-25 22:09

Check-In

I'm doin' alright. A bit tired, and today was mostly running errands and then napping, but decide to check out mdBook to host my blog (and maybe getting into world building more and hosting those too) and boy am I glad I did!

mdBook

Seems super simple on first blush, I got it from zero to serve in like two steps, and it just accepted the random md file I threw at it after adding the appropriate line to the SUMMARY.md file.

  • Has its own documentation built using mdBook
  • The Rust Programming Language uses mdBook
  • Written in Rust
  • By far the easiest SSG I've used, bar none. Up and running in minutes, easily adding pages, default theme that doesn't hurt my eyes (actually multiple themes, Auto is checked automatically and uses system theme preference!!!!)
  • I think I'm actually just going to publish it?
  • Holy it's updating AS I'M WRITING THE POST BECAUSE I LINKED THE FOLDER WHERE MY POSTS ARE STORED THIS IS FANTASTIC! 😮
  • Easily accepted my folder structure
  • it's a little weird 'cause
  • oh it fixed itself while I wasn't looking Used to be September was under August as a sub-chapter but it's not anymore Anyway I'm going to bed now, hopefully more tomorrow! First I'mm'a build and publish tho THEN bed