I hereby claim:
- I am yoosefi on github.
- I am yoosefi (https://keybase.io/yoosefi) on keybase.
- I have a public key whose fingerprint is 7D0A C5B5 A420 0DA0 1364 5654 CC53 7A28 B66D 6176
To claim this, I am signing this object:
#!/usr/bin/python2 | |
# MAKE SURE TRANSMISSION IS CLOSED FIRST, DUH | |
# | |
# this file works by iterating every file in the current directory (which should be the "resume" directory!), | |
# scanning them for the old path and updating the serialized data with the new path if found | |
# | |
# if you have renamed a drive or massively moved things around and want to rename a part of the destination path | |
# without having to hand-pick those torrents through the gui to move their associated destinations | |
# you can run this in your transmission "resume" directory. | |
# the directory is usually at ~/.config/transmission/resume |
I hereby claim:
To claim this, I am signing this object:
var request = require('request'); | |
module['exports'] = function SwearJar (hook) { | |
var jar = ''; | |
request | |
.get('https://github.com/'+hook.params.repo+'/raw/'+hook.params.branch+'/'+hook.params.jar) | |
.on('response',function(res){ | |
hook.debug(res); | |
res | |
.on('data',function(chunk){ |
coerce to > | real (double) | int (long) | byte (uchar) | bool (uchar) | string (sprintf) |
---|---|---|---|---|---|
real (double) | IEEE | 0xFF mask of int | 0x01 mask of int | %g | |
int (long) | IEEE | 0xFF mask | 0x01 mask | %ld | |
byte (uchar) | from int | sign smear | 0x01 mask | %c | |
bool (uchar) | 0.0 or 1.0 | 0 or 1 | 0x00 or 0x01 | "0" or "1" | |
string (sscanf) | %g | %ld | %c | not "" or "0" |
#!/bin/sh | |
# nemo script to convert a video to a gif, scaling to a variable width. | |
# put this in ~/.local/share/nemo/scripts/ | |
# requires zenity, ffmpeg, and gifsicle | |
set -eu | |
WIDTH=$(zenity --entry --title="Enter GIF Width" --text="Enter the desired GIF width. -1 means the same width as the source video:\n${1}" --entry-text="-1") | |
SCALE="scale=${WIDTH}:-1:flags=lanczos" | |
ffmpeg -i "${1}" -vf "${SCALE},palettegen=stats_mode=diff" -y /tmp/palette.png | |
ffmpeg -i "${1}" -i /tmp/palette.png -lavfi "${SCALE} [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" -y /tmp/tmp.gif | |
BASENAME=$(basename "${1}") |
#!/bin/bash | |
# sets video file mtime to its encode date | |
# requires mediainfo | |
# see also the inverse of this script: "encode-date-from-mtime.sh" | |
# https://gist.github.com/yoosefi/66d9a58466fb9e8bf5a8467fc11f470e | |
set -eu | |
for each in "$@"; do | |
x=($(mediainfo "${each}" | grep -m1 'Encoded date')) | |
# skip null dates | |
if [ -z "${x}" ]; then |
#!/bin/bash | |
# sets a video's encode date by using the file's mtime | |
# requires mediainfo and ffmpeg | |
# see also the inverse of this script: "mtime-from-encode-date.sh" | |
# https://gist.github.com/yoosefi/3d5841e0c2b71edf02eec0730249128f | |
set -eu | |
for each in "$@"; do | |
x=($(mediainfo "${each}" | grep 'Encoded date')) | |
# only remux if the date is bogus | |
if [[ "${x}" == "" || "${x[4]}" =~ ^19[0-8].* ]]; then |
// developer console will mess with this (window.innerHeight). close it. | |
$(function(){ | |
$('video').on('ended',function(){ | |
// reload thumbnail | |
this.autoplay = false; | |
this.load(); | |
}).on('click',function(){ | |
// if no double click, change play state | |
var innerHeight = window.innerHeight; |
#!/bin/bash | |
# renames all input files to their md5 checksum, keeping the extension. | |
# this can be used as a nemo script. | |
for each in "$@"; do | |
NAME=$(basename "${each}") | |
EXT="${NAME#*.}" | |
DIR=$(dirname "${each}") | |
MD5=($(md5sum "${each}")) | |
mv "${each}" "${DIR}/${MD5}.${EXT}" | |
done |
#!/bin/bash | |
# best-effort package removal via adb. | |
# use on android bloatware. | |
# | |
# the first and only argument to this script is the package name. | |
for x in uninstall disable hide clear; do | |
echo $x | |
adb shell pm $x $1 | |
done |