Skip to content

Instantly share code, notes, and snippets.

View donnaken15's full-sized avatar
🌲
PINE GANG 2⃣1βƒ£β›·πŸ’¨πŸ˜πŸ˜±πŸ˜­πŸ’ΎπŸ’ΎπŸ˜‰πŸ“ β™ΏοΈπŸ˜‡πŸ˜¬πŸ˜„πŸ”₯πŸ”₯πŸ”₯πŸ™ŒπŸŒš

Wesley donnaken15

🌲
PINE GANG 2⃣1βƒ£β›·πŸ’¨πŸ˜πŸ˜±πŸ˜­πŸ’ΎπŸ’ΎπŸ˜‰πŸ“ β™ΏοΈπŸ˜‡πŸ˜¬πŸ˜„πŸ”₯πŸ”₯πŸ”₯πŸ™ŒπŸŒš
View GitHub Profile
@donnaken15
donnaken15 / clone_google_svn.bat
Created February 24, 2026 09:48
Clone Google Code Archive SVN to Git repo (CMD+MSYS+Git)
@echo off
set "reponame=%~1"
if [%1]==[] set /p "reponame=Repo name: "
echo Downloading
svnadmin create "%reponame%" && ^
curl -LSf "https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/%reponame%/repo.svndump.gz" | ^
tee "%reponame%.svndump.gz" | gzip -cd | svnadmin load "%reponame%" || del /s/q "%reponame%\*"
start "" "https://code.google.com/archive/p/%reponame%/source/default/commits"
echo.>"%reponame%-authors.txt"
dos2unix "%reponame%-authors.txt"
@donnaken15
donnaken15 / restore_try.ps1
Created February 19, 2026 08:00
attempt to backup recycle bin to a separate folder while keeping file info and unrecycled in tact (FAILING) | I HATE POWERSHELL, AND I HATE TECHNOLOGY!!
($repsych = (New-Object -ComObject Shell.Application).NameSpace(0x0a).Items() | Select-Object Name, Size, Path, IsLink, IsFolder, IsFileSystem, IsBrowsable, @{n="ModifyDate";e={$_.ModifyDate.ToString("yyyy-MM-ddTHH:mm:ssZ")}}, Type, @{n="OriginalLocation";e={$_.ExtendedProperty("System.Recycle.DeletedFrom")}}, @{n="DeleteDate";e={$_.ExtendedProperty("System.Recycle.DateDeleted").ToString("yyyy-MM-ddTHH:mm:ssZ")}}, @{n="Original";e={$_}}) | Select-Object -Property "*" -ExcludeProperty "Original" | ConvertTo-Json -Compress | Out-File -FilePath "C:/repsych.json" -Encoding utf8
$repsych | Select-Object -Property @{n="Root";e={$_.OriginalLocation}}, Name, Path, Original |
Select-Object -Property @{n="From";e={$_.Root+"\"+$_.Name}}, @{n="To";e={"$($_.Root[0]):\__REPSYCH\$($_.Root.Substring(3))"}}, * |
ForEach-Object {
$targ = $null
$FML = @($_.Root, $_.Name, [System.IO.Path]::GetFileNameWithoutExtension($_.Name), [System.IO.Path]::GetExtension($_.Name))
if (Test-Path "$($FML[0])\$($FML[1])") {
#echo already "$
@donnaken15
donnaken15 / Catalog.yml
Last active February 21, 2026 05:51
Compile and organize Revenge of the Sunfish assets FOR THE WORLD TO SEE! VIDEO AND FILES SOON!!
---
missing_sprites: [ 2596, 5086, 5087 ]
# apparently level viewer throws a divide by zero error at some point
# when skimming through the sprites of each room
# sprites are extracted independent of this specific feature though
sprites:
1: # index won't matter here, just a signifier to easily point to in the raw list
nick: stars
2:
nick: more stars
@donnaken15
donnaken15 / picker.c
Created December 27, 2025 12:21
windows file dialog for shell scripting, and first time making a completely widechar based program | usage: picker [title] [filter: "label|ext(s)"] [open/save] [initial fname] [initial dir] [filter index]
#include <stdlib.h>
#include <fcntl.h>
#include <Windows.h>
#include <commdlg.h>
#include <wchar.h>
// i hate c now
#define PARAM_TITLE 0
#define PARAM_FILT 1
#define PARAM_MODE 2
This file has been truncated, but you can view the full file.
static main()
{
auto i = 0;
auto func_names1a = object();
auto func_names1b = object();
i = 0; func_names1a[i] = 0x00401010; func_names1b[i] = "??3@YAXPAX@Z";
i = 1; func_names1a[i] = 0x00401010; func_names1b[i] = "??_V@YAXPAX@Z";
i = 2; func_names1a[i] = 0x00401020; func_names1b[i] = "??_H@YGXPAXIHP6EPAX0@Z@Z";
i = 3; func_names1a[i] = 0x00401060; func_names1b[i] = "?sCreateHeaps@GSHeaps@Mem@@SAXXZ";
i = 4; func_names1a[i] = 0x004014a0; func_names1b[i] = "?sDeleteHeaps@GSHeaps@Mem@@SAXXZ";
@donnaken15
donnaken15 / slopper_skimmer.zsh
Last active December 12, 2025 21:42
speed up videos slightly and cut silence audacity-style for skimming commentary slop
#!/bin/zsh
#set -e # exits early without pressing anything, POS
(($# == 0)) && { # LOL # $((?)) also works, amazing # NOT IN NORMAL SHELL
echo "No files entered"; exit 1
}
function timefmt() {
local h m s ms time="$(($1))"
(( h = ((m = (s = (ms = ${time#-})) / 60) / 60) % 60, m %= 60, s %= 60, ms %= 1000, time < 0 )) && sign=-
# wish i could cram this in one statement
printf '%s%s%02d:%02d:%02d.%03d' "$2" "$sign" $h $m $s $ms
@donnaken15
donnaken15 / 65mul.asm
Created November 8, 2025 14:04
6502: multiply using shift+add, no lookup tables
; done in michal kowalski's 6502 macroassembler & simulator
putc = $e001
puth = $e003
*=$100
lda #$10
ldx #8
jsr pmul
lda #3
ldx #3
jsr pmul
@donnaken15
donnaken15 / aubio.zsh
Created August 29, 2025 11:47
wrapper thing for aubio, made for zsh on windows
#!/bin/zsh
# windows is cool and linux is cringe
[ $# -lt 1 ] && {
expand -t 4 <<use
No arguments supplied. Usage:
${0:t} [utility name (without aubio prefixed)] [input] [utility parameters (no --input)]
or
${0:t} [utility name (without aubio prefixed)] --help
to get the usage information of one of the following utilities:
- onset: outputs the time stamp of detected note onsets
@donnaken15
donnaken15 / nwtrlz.zsh
Created August 24, 2025 12:17
archive neutralizer (7z/rar/zip/tar/... => lrzip) | WIP
#!/bin/zsh -e
# NewtraLZ / new tar.l(r)z
set -o pipefail
#set -x
{ # ------------ deeeefines
# KSH_ARRAYS DOESN'T ALLOW EXPANSION WITHOUT [@],
# AND (generally) CAN'T DEFINE ALIASES WITHIN BLOCKS, WTFFFFFFFFFFF
nul='/dev/null'; bools=(true false); LRZIP=NOCONFIG; this="$0"; best=lrzip; die() {
expand -t 4 <<!!
${this:t:r} - archive neutralizer
@donnaken15
donnaken15 / ytclip.bat
Created August 4, 2025 07:21
download and label clipped section of a video, with some allowance for extra arguments (screw memorizing the parameter)
@echo off
chcp 65001
:: %1 == id, %2 == start, %3 == end, %4 %5 %6 %7 %8 %9 additional arguments
if [%3]==[] exit /b 1
set "URL=%~1" & set "START=%~2" & set "END=%~3"
shift & shift & shift
python -m yt_dlp --download-sections "*%START%-%END%" -o "%%(title)s {%START::=:%–%END::=:%} [%%(id)s].%%(ext)s" %1 %2 %3 %4 %5 %6 %7 %8 %9 -- "%URL%"