Skip to content

Instantly share code, notes, and snippets.

@sfan5
sfan5 / image2xterm.py
Last active July 13, 2020 18:24
Converts images into color sequences (xterm-256color)
#!/usr/bin/env python3
import sys
import getopt
from PIL import Image
xterm256colors = [ # http://pln.jonas.me/xterm-colors
(0, (0x00, 0x00, 0x00)), # SYSTEM
(1, (0x80, 0x00, 0x00)), # SYSTEM
(2, (0x00, 0x80, 0x00)), # SYSTEM
(3, (0x80, 0x80, 0x00)), # SYSTEM
@sfan5
sfan5 / record.sh
Created September 8, 2014 16:18
Records a window
#!/bin/bash -e
CRF=21
ABITRATE=256k
FILENAME=recording`date +%d-%m-%Y_%H.%M`.mp4
CMD=`xwininfo | awk '/Width/{printf"ffmpeg -f x11grab -s "$2"x"}/Height/{printf$2" -i '$DISPLAY'"}/Corners/{gsub(/\+/,",",$2);sub(/,/,"+",$2);print$2" -f alsa -i pulse -c:v libx264 -preset ultrafast -crf 0 -c:a copy"}'`
CMD="${CMD} -vf scale='iw+mod(iw,2):ih+mod(ih,2)' _tmp_record.nut"
# -vf scale='iw+mod(iw,2):ih+mod(ih,2)' makes sure the width and height are diviseable by 2 (needed for libx264)
echo "Press ^C to stop recording"
@sfan5
sfan5 / share-network.sh
Last active August 29, 2015 14:05
Allows you to easily share your internet connection with a machine connected via LAN (act as a router)
#!/bin/bash -e
if [ $# -ne 2 ]; then
echo "Usage: share-network.sh <internal interface> <external interface>"
exit 1
fi
sudo whoami >/dev/null # Make sudo cache the password
mkdir share-network$$
cd share-network$$
cat >dnsmasq.conf <<HEREDOC
@sfan5
sfan5 / bf2c.py
Created August 31, 2014 15:05
Compiles Brainfuck to C || Warning: This not the best code I have written.
#!/usr/bin/env python2
import sys
def multstr(n,st):
o = ""
for i in range(0,n):
o += st
return o
def unpack_opts(s, t):
@sfan5
sfan5 / bfi.rs
Last active August 29, 2015 14:05
Brainfuck Interpreter in Rust
use std::error::Error;
use std::fs::File;
use std::io::Read;
use std::io::Write;
use std::io;
use std::env;
fn write_u8<T: io::Write>(mut obj: &mut T, x: u8) {
let mut a: [u8; 1];
@sfan5
sfan5 / mediacrush.py
Last active August 29, 2015 14:03
MediaCrush URL Info Module for phenny
import re
import web
import json
mc_re = r'.*https?:\/\/(?:www\.|cdn\.)?mediacru\.sh\/([a-zA-Z0-9_-]{12})(?:\.webm|\.mp4|\.ogv|\.jpg|\.png|\.gif)?.*'
def durationconvert(inp):
secs = int(inp)
hrs = secs // 3600
secs -= 3600*hrs
@sfan5
sfan5 / itunes_conv.sh
Last active March 5, 2018 19:50
Converts a /var/mobile/Media/Purchases (from iPhone, iPad or iPod touch) directory to media files with artwork & tags
#!/bin/bash -e
### config ###
numbered=1
force_artwork="./-52743546503191174.jpeg"
##############
getxml () {
grep -F -A1 "<key>$1<" -- "$file" | sed -rn 's/.*<(string|integer)>(.+)<.*/\2/p'
}
@sfan5
sfan5 / run-as.c
Last active August 29, 2015 14:00
A simple Android run-as replacement when the preinstalled one won't work (I'm looking at you Android 4.2)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <errno.h>
#include <unistd.h>
#include <stdarg.h>
#include <stdbool.h>
// Link this with a libselinux.so from your Android device
@sfan5
sfan5 / controlfilegen.html
Last active January 18, 2018 12:22
Various tools for managing Cydia repositories & packages
<!DOCTYPE HTML>
<html>
<head>
<title>Cydia package control file Generator</title>
<style type="text/css">
* {
font-family: sans-serif;
}
input {
border-radius: 6px;
@sfan5
sfan5 / packetgen.cpp
Last active August 29, 2015 13:59
does stuff using C++
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <list>
#include <utility>
#include <stdlib.h> // for exit()
#include <vector>
template <typename T, typename U> class create_map {