水無月真夜中の苦悩

The midnight agony of Minazuki

Last night I figured I'd remake web buttons for my personal site once again, and like a totally normal person I installed GIMP, but then the bug bit me again, big time, and I fired up Vim instead, I also had the browser open too, so I wound up doing something like this:

<style>
@font-face {
        font-family: 'Ume UI Gothic';
        src: url('/usr/pkg/share/fonts/X11/TTF/ume-ugo4.ttf') format('truetype');
}

.banner {
        background: url('/home/shinyoukai/Pages/madness/img/bg.gif');
        font-family: 'Ume UI Gothic';
        width: 200px;
        height: 50px;
        border: 5px double silver;
}
img.avatar_left {
        height: 50px;
        width: 50px;
        float: left;
}
b.top_text {
        padding-top: -10px;
        font-size: 15px;
        color: white;
}
i.bottom_text {
        font-size: 15px;
        color: white;
        padding-bottom: 10px;
}
</style>
<div class="banner">
        <img src="/home/shinyoukai/Pages/madness/img/avatar.png" class="avatar_left"><b class="top_text">「水無月しんやの狂気」</b><br><i class="bottom_text">The Madness of Shin'ya Minazuki</i>
</div>

To summarize the mess above, most of the file is a made up style sheet that does 90% of the work, alongside picking up stuff from Madoka's filesystem, and hitting refresh profusely until I managed to crash the browser.

But that wasn't all, I also did the extra step of animating the button, with this awful trick:

magick -delay 600 -loop 10 input-1 -delay 600 -loop 10 input-2 output.gif

Though it took me virtually bashing my head against the chair (Madoka is placed on a chair rather than a table, let alone a desk) until I figured out the above command.

It's so bad it could be easily confused with SVGs, without the awful mess that is dealing with XML.

That's all.

© 2025-20XX Shin'ya Minazuki ~ https://laidback.moe/~shinyoukai/

First I went and started hosting a Matrix homeserver (again, at that), then what?

...I decided to write not one, but two clients, one that pulled data straight from Last.fm, and another general-purpose one which turned out to be more complex than it could be possibly handled by someone who does things on a whim.

Getting the sign-in process done right is a major pain in the rear end, especially for Seika, and so far, it's doable in comparison to Single-Sign-On which, on a CLI, is way easier said than done.

Sending messages is also its own can of worms, because room aliases can only be used for joining rooms but not for actually delivering payloads to them, in that case, you're required to use an internal identifier, otherwise it will bitch back at you and return HTTP 400.

Funny, eh?

I have yet to figure out a way to parse the custom format I just pulled out from thin air in order to send messages to room aliases (which are mapped to the internal IDs, separated from each other with an equals sign)

Assuming I get interested on it again, that is.

That's all.

© 2025-20XX Shin'ya Minazuki ~ https://laidback.moe/~shinyoukai/

It's been years (exactly how much, I have long forgotten) since Yarn exists (and a tad more if you count the original project that spawned it, but eh, details), and neither of the associated libraries have any sort of documentation, other than whatever the reference client does, which is kind of... ugh

I wrote Mikuru last month, albeit for no real reason, by practically studying the code of yarnc in near real-time, in an attempt to figure out how the library worked at all.

It was annoying, but I made it work (except for the timeline, that turns out to be a beast of its own), so anyway.

As expected, ended up forking the library to take on writing documentation strings for the library, along with some examples (based off both the known clients that use it), and even told prologic about it.

Told him much earlier that it would happen eventually, go figure.

That's all.

[March 2, 2026]: Gitea died and was rebuilt, not without data loss, so the repository that used to hold the library documentation no longer exists.

© 2025-20XX Shin'ya Minazuki ~ https://laidback.moe/~shinyoukai/

It has been three weeks (from now) since I last touched the Yuki project, yet another one of my countless experiments with client-server software, not to mention pointless at first, because it used to be a limited ActivityPub client...

...until I took notice of go-writefreely

Go client for the WriteFreely API [work in progress] Last commit made 8 years ago

Sadly, even with all that, it was not even close to being what it claimed to be (heck, it still had Write.as specific code), and I had nothing better to do but to fork it, with surprisingly good results.

I've just finished about two hours ago, testing over and over, with this instance (otherwise I might have been blocked by any other public instance around).

What do I mean by finished? Simple, I don't intend (at least for now) to add anything new features or whatever to this program, while bugs will continue to be fixed (if found).

There are some details I might correct though, so there's that, but the client works, and I'm writing from it, which is what matters.

I ought to contact the WriteFreely creator at some point after this.

That is all.

[March 2, 2026]: Repository URL has been updated

© 2025-20XX Shin'ya Minazuki ~ https://laidback.moe/~shinyoukai/