write readme

This commit is contained in:
Connor Olding 2018-11-10 05:17:46 +01:00
parent ffeef6ee6d
commit bc2365daff

240
README.md
View file

@ -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 <http://unlicense.org/>
```
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!