Profile for dmoonfire

Display name
D. Moonfire
Username
@[email protected]

About dmoonfire

Fields

Prnouns
*/*, he/him
Sci-Fi
soon
Pronouncation
/ˈdɪlən.muːnˈfaɪ.ɚ/

Bio

A large repository of useless knowledge and consummate polymath. I love learning new skills and knowledge and try to apply them throughout my life.

Stats

Joined
Posts
5297
Followed by
409
Following
269

Pinned posts

jump to recent

Well, probably should do a self-promo post since it's been... half a year or so.

Hi, I'm D. Moonfire (https://d.moonfire.us/), I mostly write steampunk and fantasy. 97% of those words are free to read on my website, https://fedran.com/ with the index of stories at https://fedran.com/sources/. No Patreon, no subscriber, no fees (well, I have a Patreon, Librepay, and Ko-Fi, but you get nothing special for them, what you read is what you get). Really, the only payment I crave is to someone say they like it, ask questions about stories, or just let me know I touched their lives.

For a while I was belting out a chapter or story a week and did so for three hundred consecutive weeks (I'm proud of following cadences). I did burn out for a little but I'm getting back into it, but that is why "about" 907,205 words can be found on the site for your enjoyment. All of the stories can be read online, download in EPUB and PDF format. I even have an OPDS feed if you want to add my library to your ebook reader.

Most of my stories are "lightly edited" (I don't ask for money, I can't pay editors), but I do have a couple professionally polished ones on the main website.

For a fantasy world, I didn't want it to be all action or drama, so there are slices of life, forensic mages, people struggling with the trials of just being human with topics ranging from saving one's family from death to dealing with jealousy in an open marriage. There are also spicy stories, which are hopefully all properly tagged.

My stories are also overlapping. The story about a talented swinger being rescued by a middle-aged lesbian who can sharpen knives with a touch bumps against the story about a young violin player trying to avenge a murder which intersects with a story about a young man trying to take a trip across the country in his new fangled car.

If you have a topic you want, I'll be glad to tell you what I have or what might touch those topics. Some of them will get me to write it, but I just like to burble about the joy of world-building.

#Fantasy #Steampunk #FreeToRead #SelfPromo

Recent posts

Today's goals are:

  • Do at least four steps of laundry (3/4)
  • Three steps of kitchen duties
  • See the pipeline generate Allegro
  • Create the commissioner theme
  • Pet the dogs
  • Take a nap
  • Play Vintage Story with Child.0
  • Watch YouTube videos with Child.1
  • Watch the source material for the commission (it's a fanfic)
  • Pet the dogs again
  • Watch The Expanse with Partner

Every time I have to shutdown and start up my laptop:

KDE: Here you go, Jetbrains Rider!

Me: I haven't used that in months.

KDE: I also started up Chromium.

Me: I use Firefox, Chromium is only for developing.

KDE: Thunderbird goes on desktop two.

Me: ... desktop three.

KDE: And a Kitty terminal!

Me: Okay, that's what I'm looking for.

After a few hours on railcar releases, I've found and fixed five bugs in mfgames-writing-js. But I couldn't push the last package update to NPM so I figured it was time for bed.

I also updated various setup flakes to reduce updating my 100+ projects at once.

And then set it up for a new one for the commissioner since there might be a few more from them and I like consistent stylings.

Tomorrow.

Well, after the intense disappointment from my earlier Nix flake upgrade attempt, I still made a minor refactor to switch it over to flake-parts. Then bopped over to mfgames-writing-js in hopes of fixing a few bugs.

And I decided to give fiss a look:

> fiss list
 id   title              state  assigned 
 mfgames/mfgames-writing-js/mfgames-writing-js/1  Can't use '---' as a break                                     open            
 mfgames/mfgames-writing-js/mfgames-writing-js/2  Section breaks do not work with --- after prettier             open            
 mfgames/mfgames-writing-js/mfgames-writing-js/3  Be able to disable hyphenation with docx but allow for others  open            
 mfgames/mfgames-writing-js/mfgames-writing-js/4  build-docx cannot handle build/release as an output directory  open            

Well, that's nice. Apparently the problems are already documented. I just need to see about getting rid of some of them (3 and 4 are the ones I want to start). Sadly I don't really have a testing framework involved with this (couldn't wrap my head around it), so I think I'm just going to use the bash testing and basically just "grep" through my tests.

Not working on Leicmin this weekend, mostly because I'm switching to a writing iteration so I'm going to spend a couple days trying to get my build environments updated and maybe fix some bugs in mfgames-writing.

One thing that came up was while I was learning about flake-parts for NixOS flakes. It showed a way of using configuration in flakes (something I never really groked) so I'm trying to see if I can simplify mfgames-project-setup (and it's downstream flakes).

Nix code, oops (+)
Toggle visibility

In an essence to make my configuration easier to move services on my home lab, I have a network.nix file that contains information about each server and the virtual services on each one.

  tumef = {
    name = "tumef";
    host = "tumef.home";
    location = "inwood";
    ipv4 = "${ipv4-prefix}.41";
    ipv6 = "${ipv6-prefix}::28";

    serviceHosts = [
      "foundryvtt.home"
      "home.home"
     #"pihole.home"
      "postgres.home"
    ];
  };

That makes it easier where I can include every service (like home.home) into a "common" services file on each home lab server.

{ ... }:
{
  imports = [
    ./foundryvtt.nix
    ./home.nix
    ./pihole.nix
    ./postgres/default.nix
  ];
}

Then at the beginning of each service file, I have a check.

inputs@{ pkgs, config, ... }:
let
  networks = import ../../../../networks.nix (inputs);
  host = "pihole.home";
  enable = (builtins.elem host networks."${config.networking.hostName}".serviceHosts);
  port = 16007;
in
{
  # Stuff
}

So, that leads into the point that I carefully set up enable to only be true on the cost. But, apparently, I didn't actually use enable, so I had this:

  services.pihole-ftl = {
    enable = true;

Which means, I was setting up pihole on every single homelab server instead of being disabled on all of them.

Oops.

The fix was services.pihole-ftl.enable = enable;.

#NixOS

Ah, useful new tidbit. Add an entry in /etc/hosts for cache.nixos.org before messing with the homelab's DNS server. Makes it a lot easier to push the "oops" fixes.

Since I have a Sleep Big Brother (my CPAP mask) and I have an annual average of 5h33m sleep at night.

And a 99.8% nightly usage of big brother throughout the year.

I've been encouraged to sleep more.

Had a lot of errands so no programming time for me tonight. None tomorrow because of writing group, but that's okay.

Partner had a dental surgery so I'm spending the day in bed next to them while they drift in and out of sleep. Since the Framework 16 keyboard isn't large enough for my hands, I can't really write or anything so I did a bit of clean up on my NixOS infrastructure flake. Mostly removing a few years of cruft.

I'm also going to try switching from AdGuardHome back to PiHole because AdGuard started disabling most of my entries from pages 2-5 whenever that server reboots. Which is annoying because it means Plex and Jellyfin aren't automatically available without me going in and clicking on it. Which is not good for the family who just wants things to work. PiHole was previously pretty solid and had a cute interface, so I'm going to see if that works again.

However... I'm also in the middle of downloading the last 1.1 TB from the SeaweedFS cluster onto the GlusterFS. At this point, I'm annoyed with the FUSE mount that I'm just using wget -r from the SeaweedFS's file web server which is working Good Enough for now. It will takes about a day to finish up; I'm hoping most of the files are good but I'm still going to run various test programs on the archives to see if I should blow them away since wget doesn't have a "delete file on errors".

Fortunately a little ((wget -r https://...;echo;echo done;date) >& /tmp/log.txt &)& solves the problem of my laptop disconnecting and I'll just have to tail the file until it's done.

I also probably shouldn't screw with the DNS server in the middle of that.

I just realized. One of my world building efforts was the deck of cards the desert folks use to entertain themselves. It was a deck of 65 cards (8 numbers of 8 suits) and I was going to write a book called Sixty-Four Games for Sixty-Five Cards which has a bunch of solitaire and group play for that deck.

It occurred to me, if you are wandering around the long night in a desert, having an RPG that used the same deck of cards would be an awesome idea. Well, I might be writing a small RPG in the moderate future.

https://polymaths.social/@rl_dane/statuses/01KEYN2P51M10TGJCMTSKDAX29

I'm waiting in a Teams meeting for customers to join in and I'm having to fight the urge to talk about how they are taking the hobbits to Isengard because they have an AI recorder already setup.

Feeling really "off" today, but I did get a little Leicmin work done. Mostly figuring out how test some of the functionality that requires a database when I don't want to wrangle Rust's tests.

Answer? Use the CLI I'm using the develop stuff (aka, CDD or CLI Driven Development).

In this case, I'm using bats-core because it's a NixOS package and my first attempt (bashunit) didn't give me useful output on test failure. bats on the other hand will give me all the stderr and stdout when a test fails, which makes it much easier to debug. And since I can bring in Apache here (the smaller web serving packages with htpasswd don't have a verify function), I can set up a group, export the .htpasswd and verify it works.

Which is kind of cool and encouraging.