Skip to content

Instantly share code, notes, and snippets.

View rlaphoenix's full-sized avatar

rlaphoenix

View GitHub Profile
@rlaphoenix
rlaphoenix / bewitched-bd-luma-with-dvd-chroma.vpy
Created October 27, 2025 05:40
Bewitched S01E01 PoC of BD with DVD color -- Not realistic because theres an enormous amount of framing and scan distortion differences between the BD and DVD
# Example: https://slow.pics/c/VdkBeiWx
import vapoursynth as vs
core = vs.core
dvd = core.lsmas.LWLibavSource(r"Bewitched.S01.Color.NTSC.DVD.DD2.0.MPEG-2.REMUX-MiU\Bewitched.S01E01.Color.NTSC.DVD.DD2.0.MPEG-2.REMUX-MiU.mkv", repeat=False, fpsnum=24000, fpsden=1001)
#core.lsmas.LWLibavSource(source, stream_index, cache, cachefile, threads, seek_mode, seek_threshold, dr, fpsnum, fpsden, variable, format, decoder, prefer_hw, repeat, dominance, ff_loglevel, cachedir, ff_options)
bd = core.lsmas.LWLibavSource(r"Season 1\Bewitched.S01E01.1080p.BluRay.Remux.FLAC2.0.H.264-BTN.mkv")
dvd = dvd[47+17:]
@rlaphoenix
rlaphoenix / brute-gpg.ps1
Last active October 12, 2025 19:13
Windows Script to brute force a GnuPG secret key (basic, slow, single-threaded) (a-z0-9 only)
# Download GnuPG through GPG4WIN: https://www.gpg4win.org
# Add "C:\Program Files (x86)\GnuPG\bin" to System PATH variable
# Before running this script, do gpg-agent --allow-loopback-pinentry
# If it says "gpg-agent running and available" do "gpgconf --kill gpg-agent" and try again
param (
[string]$KeyID, # GPG Key ID to brute force
[int]$Digits = 8, # Number of digits in passphrase (default 3)
[long]$StartIndex = 0 # Resume point (default 0)
)
@rlaphoenix
rlaphoenix / radarr-qbit-move.py
Last active July 6, 2025 09:31
Custom Import Script for importing to Radarr via qBittorrent's setLocation API instead of a simple copy
#!/usr/bin/env python3
# about:
# Instead of copying from a qBittorrent download into your Radarr movie folder,
# this just tells qBittorrent to move the torrent to where Radarr would copy it
# to. This prevents duplicate files on setups that do not support hardlinks.
# I.e. almost every good windows setup that has 2 or more drives. E.g. chads who
# use StableBit DrivePool.
# note:
@rlaphoenix
rlaphoenix / high-end-hot-storage-options.md
Last active June 20, 2025 21:55
High-end Hot Storage options

High-end Hot Storage options

  1. These are listed in total raw storage size, in ascending order.
  2. NAS is not listed here as it's generally more advised for a few TBs of storage, and for infrequent use. A sort of semi-hot storage. Useful for stuff like family pictures, not for data hoarding or plex libraries.
  3. All options listed here require some kind of SAS HBA card. Some use internal ports, some use external ports. You generally cant mix-and-match unless you have space for two PCIe ports and funds for two HBA cards.
  4. Total storage size is calculated as the total bays multiplied by 28 TB.
@rlaphoenix
rlaphoenix / nx-uk-ie-wifi-prodinfo.txt
Last active May 30, 2025 10:39
Nintendo Switch (NX) - UK/IE Wi-fi Region of PRODINFO - 0x80->0x20F
This is same bytes from the following consoles:
- XAJ7 V1 Unpatched, bought from Gamestop Ireland
- XAJ4 V1 Unpatched, almost day 1, bought from Gamestop Ireland
Note: Often times Irish stock from Amazon/Gamestop/etc would be same as UK stock, but very very very rarely would be Irish-specific.
00000000 01 00 00 00 00 00 00 00 52 31 00 00 00 00 00 00 |........R1......|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
@rlaphoenix
rlaphoenix / firefox-like-scrollbar-for-webkit.css
Last active February 18, 2025 14:50
Firefox-like Scrollbar for WebKit in CSS
::-webkit-scrollbar {
width: calc(16px - 2px - 1px);
height: calc(16px - 2px - 1px);
}
::-webkit-scrollbar-thumb {
background-color: rgba(128,128,128,0.75);
background-clip: padding-box;
border: 4px solid rgba(0, 0, 0, 0);
border-radius: 9999px;
display: none;
@rlaphoenix
rlaphoenix / dvd-plastic-sleeve-buying-guide.md
Last active August 3, 2024 19:20
DVD Plastic Sleeve Buying Guide

DVD Plastic Sleeves

Sizes are WidthxHeight in centimeters when looking at the sleeves in portrait. These were measured with actual sleeves used on actual cases/box-sets. All sizes listed exclude adhesive flap's. I.e., if the sleeve has no flap and is a sort of slip-in sleeve, then it will cover the DVD case just enough.

Buying Guide

When buying sleeves, make sure that you initially exclude the flap's measurement.

@rlaphoenix
rlaphoenix / font_extractor.py
Created March 2, 2024 10:31
Font to PNG Extractor (Supports TTF/OTF)
import shutil
from pathlib import Path
from fontTools.ttLib import TTFont
from PIL import Image, ImageDraw, ImageFont
def main():
font_file = Path("breeze-icons.ttf")
out_folder = Path("icon_images")
@rlaphoenix
rlaphoenix / how_to_verify_a_dvd_iso_backup.md
Created January 8, 2024 02:28
How to verify a DVD ISO Backup

How to verify a DVD ISO Backup

You, Yes YOU, verify your backups!

If you have backups you didn't make, or made years ago, I really recommend you doing the following to make sure it's a proper backup. It's shocking the amount of bad backup's floating around that people pass off as fine. A bad backup that is shared widely can seriously ruin the archive of that content.

Reading ISO metadata

@rlaphoenix
rlaphoenix / discussion_on_deinterlacing_videos_vfr_vst.md
Created January 8, 2024 01:07
Discussion on Deinterlacing Videos and VFR/VST

Discussion on Deinterlacing Videos and VFR/VST

First of all, most encoders do not handle VFR+VST well or at all.

VFR (Variable Frame Rate) When a video switches from one frame rate to another on at least 1 frame.

VST (Variable Scan Type) When a video switches from Interlaced to Progressive, or Progressive to Interlaced, on at least 1 frame.