Skip to content

Instantly share code, notes, and snippets.

View subtlecaffeine's full-sized avatar

Jay Moore subtlecaffeine

View GitHub Profile
@subtlecaffeine
subtlecaffeine / fb2ksyntax.md
Created April 12, 2023 16:21
Foobar2k Syntax

foobar2k-syntax

Here are a few things I've coded for Foobar2000's formatting for various things.

Columns

Tech Specs

The Tech Specs column just displays some basic information; codec, rate/bitdepth, bitrate, and possibly HDCD info. This converts sample rates in to kHz/MHz despite foobar2000 syntax not supporting decimal.

$if($stricmp($right(%filename_ext%,3),iso),%codec%/SACD,%codec%) | $ifgreater(%samplerate%,1000000,$insert($div(%samplerate%,100000),'.',$sub($len($div(%samplerate%,100000)),1)) MHz,$ifgreater($mod(%samplerate%,1000),0,$insert($div(%samplerate%,100),'.',$sub($len($div(%samplerate%,100)),1)) kHz,$div(%samplerate%,1000) kHz))$if($info(bitspersample),/$info(bitspersample)-$ifgreater($info(bitspersample),1,bits,bit)) | %bitrate% kbps) | $if($info(hdcd),'(HDCD:',) $if(%__hdcd%,PE: %__hdcd_peak_extend% LLE: %__hdcd_gain% TF: %__hdcd_transient_filter%')')
@subtlecaffeine
subtlecaffeine / gogs-2-gitea.md
Created April 12, 2023 16:22
Semi-painless Migration from Gogs 0.13 to GitTea

Migrating from Gogs 0.13 to Gitea

In short...it is not possible to directly migrate from Gogs 0.13 to Gitea. While methods were published to do this from 0.11; the database structure has apparently changed entirely too much to be imported.

This is not a direct migration

You will lose some things in doing this; primarily you'll lose all your existing users and issues unless you use external issue tracking. If you have a large number of users and repositories, this is not a good solution sadly.

Your repositories and repository-data however, remains intact.

@subtlecaffeine
subtlecaffeine / miab.md
Created April 12, 2023 16:23
Custom Hostname for Mail-In-A-Box Webmail (roundcube)

Custom Hostname for Mail-In-A-Box Webmail (Roundcube)

Typically when you access webmail for MIAB systems it's hostname/mail. That's neat and all...but I've complicated things by the fact the server running my MIAB installation isn't the same as my main webserver, so this winds up being mail.hostname/mail.

But what if I wanted webmail.hostname?

Custom configs "not supported".

One of the upsides with MIAB is that it does everything for you...even more so if you let it run as the NS server for your domain. Even if you have to punch

@subtlecaffeine
subtlecaffeine / asterisk-alpine.md
Created April 12, 2023 16:25
Compiling Asterisk on Alpine Linux

Compiling Asterisk on Alpine

This is currently a quick and very dirty way document on compiling Asterisk on Alpine.

This is not intended to be a Tutorial or HOWTO. I am not holding hands.

This has been tested on 3.16 and edge as of 27-FEB. It works and was stable. I built optimized for low memory and it ran in a 512MB VM just fine for 3 months.

This is based heavily off Alpine's own buildlog and uses some of their scripts from aports.

@subtlecaffeine
subtlecaffeine / rmpc.md
Last active July 15, 2025 22:39
Passing `rmpc` off as a dedicated application on KDE Plasma on Arch/Cachy

For the last few months I'd been using Cantata as my mpd client despite the fact it's pretty much been abandoned. Wanting to break away from that, I went in search of some other clients that are still actively maintained. rmpc wasn't what I was looking for; but I liked it. But the one thing I didn't like was having it be just another tab or grouped with all my other Konsole apps.

I did this in alacritty...because at the time I wasn't using it for anything else and could just mess with it's global config all I wanted. In production...you probably want to make a seperate config file for whatever you're using. I also don't know what options you'll need to change...so hopefully you can keep up.

alacritty.toml

[window.class]
instance = "rmpc"
general = "rmpc"
@subtlecaffeine
subtlecaffeine / gist:cc3c2c2869d6238cdcf45ad5ff7416d5
Created September 5, 2025 17:56
mpd-dbcreate - Deep Dive In To The Why

Here's a more detailed and deep-dive in to why I created mpd-dbcreate.

First of all, when I say it was "wrong"...it was wrong for me. My massive old collection was part of the problem. I could have fixed half the issues by modifying the actual media on my drive. Would this have been easier? No. We're talking TBs of stuff. There's also a .0005% chance I'd regret modifying the collection like this in the future. I don't really want to go around changing it. It's bad enough I'm finding 20 year old garbage in folders I'd long forgotten about. "Oh, I'll remove the converted version later." I know from experience with a collection this large that those things rarely get found. There are probably still things messed up from the great-crash-and-recovery of 2002 that I....still haven't found....23 years later. Or the great backup and reset of 2005...which was 20 years ago. I finally fixed my Powerman 5000 album from 6.3 filenames though.

I never adopted databases. I still use traditional folder organization. Make a

@subtlecaffeine
subtlecaffeine / 86boxserpt.md
Created October 8, 2025 15:42
VirtualConsole/Pseudo Terminal in 86Box on Linux Hosts

This one tripped me up becasue I couldn't see where it was documented and I'm not sure if it was something I was just expected to know...which, apparently; I didn't.

On Windows hosts you can use a named pipe or com0com to achieve a virual com port you can toss miniterm at. Why would you want to do this? Because Xenix286 doesn't have a TCP/IP stack. If I want to talk to it so I can copy/paste code, then I have to do it over terminal. Maybe I'm going to drop it on the network at a security conference in front of a telnet bridge and see who finds it.

On Windows, this was easy; com0com, serial port pass through, done. Knowing it supported named pipes..I thought this would be even easier on Linux. tty0tty, same process....no. Apparently the dropdown box only allows /dev/ttySn devices. Okay...we'll symlink it! Oh...now that device disappeared from the list. Okay..screw it...let's force the name in the config; maybe it'll work anyway. No dice.

Fast forward through a day of messing around and I finally decided t

@subtlecaffeine
subtlecaffeine / qrt.md
Created October 9, 2025 00:16
Username Changed

Changed my username to seperate everything from ham radio.

@subtlecaffeine
subtlecaffeine / livekit-docker-oops.md
Created November 21, 2025 15:37
LiveKit Docker Deployment Notes/Issues

While I'm normally not a docker guy; I'm part of a large project in which the deployment will matter...so I figured I better start building things in Docker. This project will use livekit, so I decided to deploy that. Oh boy. There are some problems that the documentation didn't clearly cover. So...here's my janky set of notes:

All References To docker-compose should be docker compose.

They did not update the deployment script; therefore it generates non-working initializations. They are using old outdated information that is not compatible with the new versions of docker the script installs. Yes...it installs versions incompatible with itself. The only issue really is that all references to docker-compose should be docker compose. Both in the documentation and in the script.

No Port 80 When The Docs Say You Need Port 80

The documentation will clearly tell you that you need port 80 forwarded to your livekit:

  • 80 - for TLS issuance
@subtlecaffeine
subtlecaffeine / livekit-meet-docker.md
Last active November 21, 2025 20:55
livekit-meet container

LiveKit-Meet Container

I needed to keep the Docker theme going in my livekit stack; so here's how to make livekit-meet in to a docker container.

Clone the repo

cd meet