diff --git a/README.md b/README.md index e69de29..1fef490 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,240 @@ +# gists + +all files are [Unlicensed,](http://unlicense.org/) unless otherwise noted: + +``` +This is free and unencumbered software released into the public domain. +For more information, please refer to +``` + +the Python scripts here only work with Python 3. + +### 360\_wasd + +an ancient AutoHotKey script i wrote to convert the left control stick +of a 360 controller to WASD inputs on a keyboard. +i used it to play an equally ancient version of [The Binding of Isaac,](//store.steampowered.com/app/113200/The_Binding_of_Isaac/) +among a couple other games. + +it should still work fine even today, but +you can press F10 to kill it if it starts acting up. + +### arithmetic\_coding + +a GPL-licensed arithmetic coding compressor and decompressor for binary strings. +originally by [David MacKay,](http://www.inference.org.uk/mackay/python/compress/) +this has been cleaned up (passes pycodestyle) and ported to Python 3. + +### batch\_encoding + +another old script. this time it's a Windows batch file for re-encoding +videos to be suitable for online distribution. +i don't really use this anymore, but +it looks like i once used it for N64 videos recorded with Bizhawk. + +it contains some advanced `compand` nonsense from before `acompressor` was a thing. + +### batch\_font\_render + +a zsh script to render fonts — all the otf & ttf's in a directory — +to png's, with some good ol' Lorem Ipsum. +it uses pango and fontconfig, so i've only tested it on \*nix. + +i recently repurposed this script +to render characters to bitmaps for use as textures in games, +but i haven't uploaded that version yet. + +### danbooru\_atomizer + +a Python script that scrapes atom feeds on [danbooru (nsfw)](//danbooru.donmai.us/) +and merges them into one mega-feed. + +### danbooru\_scrape + +another danbooru scraper, this time for batch-downloading all the images +for a given search query. requires zsh and xml2. + +i don't think this version works anymore, +so i'll have to update it with my local changes sometime. + +### desmos + +[stuff i've plotted in desmos.](/desmos/desmos.md) +just click the link; it's another markdown file. + +### dictionary\_attack + +i went looking for a dead-simple tool to +construct random, fixed-length strings from a list of shorter strings, +but i realized in the time i'd find something i liked, +i could just write my own in Python. +so that's exactly what i did! + +beware, this is highly unoptimized, favoring simplicity over speed. + +### dwarf\_font + +the 8x12 bitmap font included with [Dwarf Fortress](http://www.bay12games.com/dwarves), +alongside a [love2d](//love2d.org/) Lua script for loading it +with all the appropriate character mappings. + +the code is Unlicensed, and i believe the font itself is public domain. + +### explicit\_globals + +this probably shouldn't be here... + +### filter\_tutorial + +a single Python file that walks you through +designing and plotting an IIR filter. +requires numpy, scipy, and matplotlib. + +### image\_deduplication + +a Python script to find duplicate images given a hamming distance threshold. +it employs dhash to do the heavy lifting. requires pillow and dhash. + +it doesn't recurse into `./_duplicate/` so you can dump things there if you wish. + +### kill\_reboot + +does nasty stuff to Windows 10 to +prevent updates from automatically triggering reboots. + +the C# portion is based on [NSudo.](//github.com/M2Team/NSudo) +the batch script exploits [a UAC bypass found by Tyranid.](//tyranidslair.blogspot.ca/2017/05/exploiting-environment-variables-in.html) + +### kyaa + +really *really* hacky argument-parsing macros for C programs. + +contains [some ad-hoc documentation.](/kyaa/kyaa.md) + +This is free and unencumbered software released into the public domain. + +### love\_plotting + +plotting equations with [love2d](//love2d.org/). +it probably doesn't work on the latest version. + +it's nothing special, and i only included it here for archival sake. +i have a newer version locally, but it needs to be cleaned up before it can be committed. + +### lsf + +an awful bash script i started writing just for fun, +left here for archival sake. +heaven forbid you actually enjoy this program, +please instead consider using [ls--](//github.com/trapd00r/ls--) +or the like. + +### mario\_tennis + +this C program validates, brute-forces, and generates codes +for the defunct Ring Tournament mode in Mario Tennis (N64), +once used to hold competitions in magazines and the like. + +### mips\_disassembler + +an old disassembler for MIPS III binaries by spinout. +the license is ambiguous. + +i've since tweaked and cleaned the code. a little. not a lot. + +### music\_sync + +a Python script for syncing and re-encoding audio files +for use on music players that support ogg vorbis. +if you actually want to use this for some reason, +be aware that you will need to know how to write Python +to get it to work the way you want. and also, it's *really* slow, +and even runs out of memory if too many files need updating (thanks mutagenx). + +### n64\_models + +a hastily-written Python script for outlining the F3DEX model format +used in some N64 games. + +### polyphase\_halfband + +a C port (from C++) of the polyphase halfband filter coefficient generator +by [Laurent de Soras.](http://ldesoras.free.fr/index.html) + +the original is licensed under the [WTFPL,](http://www.wtfpl.net/) +so i'm re-licensing this under [Unlicense,](http://unlicense.org/) because i can. + +don't read into the code too much, it's not meant to be understood (sadly). + +### print\_tables + +provides the `pt` Lua module for recursively dumping table contents +into a semi-human-readable format. +since the resulting format cannot be deserialized, +this is primarily intended for debugging purposes, +and i'd like to think it excels at that. + +### psnip\_clock + +a fork of the clock utility header file +from [Portable Snippets](//github.com/nemequ/portable-snippets) +by Evan Nemerson. +this fork removes the dependency on `windows.h` for the Windows backend +by using some gross hacks, +albeit not as gross as actually having to include `windows.h`. +this is licensed under [CC0 1.0.](//creativecommons.org/publicdomain/zero/1.0/) + +### speedrun\_comparison + +an avisynth script for creating +[speedrun comparison videos like this.](//youtu.be/Y2wW5TmOzFw) + +### starcraft\_cdkey + +a C program to validate Starcraft 1 CD-keys. +the original Starcraft is free now, +so this program doesn't serve much purpose other than +to demonstrate how *not* to write a CD-key validation routine — +you can brute-force any key by hand just by tweaking the final digit! + +### starcraft\_maps + +a Python script for reading and re-writing Starcraft 1 maps, +i.e. deprotection, or what-have-you. + +### string\_tensions + +Python scripts for determining optimal guitar string tensions +for a given tuning, and similar tasks, +backed by a database of manufacturers' strings. +the data is probably obsolete these days. + +### thps1 + +a C program for exploring the "TYR" glitch in Tony Hawk's Pro Skater 1 (N64). + +### tiny\_crc32 + +a very small C program for computing CRC-32s. +this is a rewrite of [the code by Karl Malbrain](http://www.geocities.ws/malbrain/crc_c.html) +the license is ambiguous? + +i've written [a similar routine in MIPS assembly.](//eaguru.guru/git/notwa/mm/src/branch/master/asm/crc32.asm) + +### trackmogrify + +just a list of strings recognized by [Distance's](//store.steampowered.com/app/233610/Distance/) +trackmogrify feature. this was extracted directly from the game's memory, +and was last updated for version 1.0. + +### warcraft\_hash + +a C program for the unique hashing function found in Warcraft III. + +### warcraft\_hashes + +a list of hashes found in the game using the aforementioned hash function. + +### README.md + +you're lookin' at it!