Profile for dmoonfire

Display name
D. Moonfire
Username
@dmoonfire@polymaths.social

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
7528
Followed by
433
Following
279

Pinned public 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 public posts

Mental Health+, Sand and Bone, "Good Cries"
Toggle visibility

but she had to quit because of health and because "every book doesn't have to end in a groin punch

One of the reasons my copy editor stopped was because I kept making her cry at the end of my books. I believe the term "ugly cry" was used a few times.

Which is great, if you want a book that rips your heart out. Less so if you are looking for a happy ending. One of there reasons I made Allegro and some of the later stories more cheerful was because of that.

Interesting side note, Sand and Bone is probably the one book I have read that is able to give me a "good cry". There rest of the family can watch The Incredible Journey or Next Gen or any number of movies and get it out. I needed to write 180k words to get emotionally involved with a character to the point I could crack a tear.

Trauma sucks.

https://polymaths.social/@dmoonfire/statuses/01M34MZB4X0V3BCY318KZW19EN

Played a few hours of Enshrouded and we coined a new phrase (paragraphed from Zap Brannigan from Futurama):

Any boss can be defeated after sending wave after wave of my own corpses at it.

... I died a lot.

mfgames-conventional-commit thoughts
Toggle visibility

Since I don't really have someone to talk to, I figured I'd talk to an "empty" room and see if they make sense. This comes up since I had to update mfgames-conventional-commit (https://src.mfgames.com/mfgames-git/mfgames-conventional-commit-rs) because one of the dependency packages points to a bad host, it was causing problems with my build servers1.

So, I figured if I'm going to be giving the program a little love, I should fix a problem I've noticed.

At the moment, I have a sub-command that lets me update files to set the version number in C# or update the package.json. This is useful for say tagging Git, push up, and basically taking into the semantic release components I like when I stopped being all-in the Node environment.

Which is fine, but when I'm building a program/novel, I need to figure out the version before I do the build process so it can be baked into output files or on the title page, but then want to do all that git tagging of I use just release or something like that.

But I haven't implement that. I kind of tried to do it with the "always_run" flag, but that didn't work as well as I wanted to (though, it does have some useful aspects).

{
    "$schema": "https://mfgames.com/mfgames-conventional-commit-rs/schemas/v0.json",
    "packages": {
        "default": {
            "updates": [
                {
                    "always_run": true,
                    "script": "echo hi {package} flatten {flatten_version} detail {detail_version}"
                }
            ]
        }
    }
}

So I'm thinking about adding an --operation name option that lets me only run commands.

{
    "$schema": "https://mfgames.com/mfgames-conventional-commit-rs/schemas/v0.json",
    "packages": {
        "default": {
            "updates": [
                {
                    "always_run": true,
                    "operation": ["pre-build", "post-build"],
                    "script": "echo hi {package} flatten {flatten_version} detail {detail_version}"
                },
                {
                    "operation": ["post-build"],
                    "script": "echo I only run after the build if there is a version change"
                }
            ]
        }
    }
}

That would let me do mfgames-conventional-commits update --operation post-build or something like that.

That might work?


  1. Related, I'm going to modify mfgames-project-setup-flake (https://src.mfgames.com/nixos-contrib/mfgames-project-setup-flake) to not include conventional commit by default but make it available via the mfgames-conventional-commit.enable flag. ↩︎

Partner wanted company last night, so I play-coded learning how to make a WASM plugin and loading it into Rust as a OCI container.

The code is shit but it let me know that my idea of writing WASM plugins is possible. I thought it might work for mfgames-culture which is what I need to get my timelines working on my website again.

Though my static site generator is C# and I don't want to write two versions (yet), so my plan is to go back to the terminal client and a pipeline approach I used for an earlier version of fedran.com. That way I can have a Rust tool and hopefully a cool calendar.

I'm having a little anxiety this morning, so I buzzed my hair (always makes me feel better) and going to see if I can knock off some of the smaller items off my to do list.

Partner convinced me to try a new Korean/Japanese fusion restaurant. Never had Korean before but I enjoy the Korean shows on Netflix, so I'm sure I'll love it.

CLI output
Toggle visibility

Well, this is the first time I've written a Rust crate that is not directly in the same project. I hit the Rule of Three with writing a table formatter for CLI commands (which I'm up to five copies now):

dmoonfire@hunip:mfgames-cli-table main v0.1.0 2s 
2026-09-18T20:54:56> just example-basic --
 name   value 
 alfa   1     
 bravo  2     

dmoonfire@hunip:mfgames-cli-table main v0.1.0 
2026-09-18T20:55:14> just example-basic -- --markdown
| name  | value |
|-------|-------|
| alfa  | 1     |
| bravo | 2     |

dmoonfire@hunip:mfgames-cli-table main v0.1.0 
2026-09-18T20:55:17> just example-basic -- --json | jq
[
  {
    "name": "alfa",
    "value": 1
  },
  {
    "name": "bravo",
    "value": 2
  }
]

I was thinking about alternates toward centralized package management for projects that can use https+git directly. Why isn't there a service that basically is a proxy for multiple proxies?

Like you could say you have the following locations:

And then you can just put in https://some-common-git-mirror.org/dmoonfire/git-for-authors.git and it figures out the "best" one to choose and redirects there?

That way, you can add/remove servers, maybe have a cached version somewhere, and it is more tolerance of tiny forges going down.

Just an idle thought while replacing the battery on the dog's collar.

To be honest, I write C# because I think it's a pretty language. The symbols used for flow control, the braces, the attribute syntax. I adore the delegate and event patterns and how properties look.

That was what appealed to me when I first saw the book at Borders and I still program because of it. The same with Rust and TypeScript.

https://polymaths.social/@dmoonfire/statuses/01M2V63XDD18RW90E3DBBAT7HF

My Pepper and Carrot tariff/customs payment showed up today.

"Ouch."

It would really help if UPS didn't have an email that screams phish. You know, like putting the tracking number on it, maybe the address it was coming from? I had to triple check the hidden URLs to figure out the tracking number, then put it on the UPS site directly to make sure it was legit.

Me: I figured out a way of saving 4.2 seconds on this test.

Developer: That isn't much for you spending two days on it.

Me: We run it 3.5k times for our integration test runs. That's about 4.1 hours of run time.

This is clearly a xkcd://1205 problem.