A collection of various perl programs I have written, usually as wrappers for other programs I call frequently.
Backs up Firefox profiles as automatic updating tends to break things. Primary motivation for this was that several websites using their local storage would not work unless I opened them in a private window on the affected Firefox profile (new profile worked, but it was a hassle to move everything over from the profile I've been using for the past several years, and I'd like to avoid that).
A wrapper around ffmpeg to reduce the size of a video by trying libx264 and libx265 codecs, as well as crf values between 20 and 40 (inclusive). This tries several attempts and outputs them.
My primary usecase is to try and convert downloaded videos to meet the Discord-maximum 25 MB (without Nitro), and I don't know enough about video conversion not to just try 40 different combinations and look at the filesize.
The time it took for a 7 minute 54 MB video (about equivalent to libx264 with crf 23 or libx265 with the same crf) was about 25 minutes for all 40 conversion attempts. The resulting video was best with libx264 with crf 32 at 24 MB and libx265 with crf 31 at 24 MB. More testing would be nice, but I just need it under 25 MB with acceptable quality.
The time table is more than enough time to do other things, so I am not worried too much about how long it takes.
Only tested with mp4 videos downloaded from TikTok.
A wrapper around yt-dlp, primarily focused on my preferred defaults for downloading from TikTok to download and archive videos.
Create a scaffold for new perl programs. It is primarily focused on how I tend to write new programs with a general focus on rapid prototyping and command line arguments.
The term "wrapper" certainly does a lot more heavy lifting in my brain than I'd usually like, but without real pressure to figure it out more, it suffices for pretty much anything I use to call a certain external command line program more easily.
All code in this repository is AGPLv3+. See COPYING.txt for details.
No code has been included that was knowingly generated via generative AI. Significant efforts will be taken to avoid generative AI usage.
As I no longer believe it is ethical to use generative AI, particularly in its current form, I have removed all known references to generative AI scripting. For historical purposes, you may obtain the code at the last commit hash a0e5ccc4ed995874bd6e69be163b533437009dda.
This underlying motivation to write many (but not all) of these programs is to facilitate my downloads of first-party accounts and activist analyses of the ongoing genocide in Palestine by the State of Israel and share them onto Discord with people, primarily from TikTok.
Please find the following creators as first party sources:
Please find the following creator as a disability-first advocate, covering many communication and disability aspects of the genocide against Palestine:
Please find the following organization as a source for third-party accounts of the ongoing genocide against Palestine:
- Al Jazeera English: Website, TikTok, Instagram, Link in Bio.
Free Palestine.