Skip to content

Instantly share code, notes, and snippets.

@alex-bender
alex-bender / hastebin
Created October 13, 2016 11:01
paste to hastebin
#!/usr/bin/python
import urllib2
import os
import json
URL = 'http://hastebin.com/documents'
def run(*args):
if args:
@alex-bender
alex-bender / hastebin.sh
Created October 13, 2016 10:58 — forked from flores/hastebin.sh
hastebin shell client
#!/bin/bash
server='hastebin.com';
usage="$0 pastes into $server
usage: $0 something
example: '$0 pie' or 'ps aufx |$0'"
if [ -z $1 ]; then
str=`cat /dev/stdin`;
@alex-bender
alex-bender / kvm
Created October 5, 2016 14:34 — forked from leberus/kvm
# aptitude install qemu-kvm libvirt-bin
# create a bridge with your current interface
auto eth1
iface eth1 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth1
@alex-bender
alex-bender / gist:fd65ae11a66c1388b93a0d3cd392a322
Created May 8, 2016 16:41 — forked from rygorous/gist:e0f055bfb74e3d5f0af20690759de5a7
A bit of background on compilers exploiting signed overflow
Why do compilers even bother with exploiting undefinedness signed overflow? And what are those
mysterious cases where it helps?
A lot of people (myself included) are against transforms that aggressively exploit undefined behavior, but
I think it's useful to know what compiler writers are accomplishing by this.
TL;DR: C doesn't work very well if int!=register width, but (for backwards compat) int is 32-bit on all
major 64-bit targets, and this causes quite hairy problems for code generation and optimization in some
fairly common cases. The signed overflow UB exploitation is an attempt to work around this.
@alex-bender
alex-bender / Makefile
Created March 14, 2016 19:13
Self-documented Makefile; Require silver searcher aka ag
CFLAGS=-Wall -g
clean: ## Clean directory
rm -f *.o
help: ## Help target
@ag '^[a-zA-Z_-]+:.*?## .*$$' --nofilename $(MAKEFILE_LIST) \
| sort \
| awk 'BEGIN{FS=": ## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
@alex-bender
alex-bender / gist:2e7398f98a8a2b9d14b5
Created November 4, 2015 08:18 — forked from mailletf/gist:c49063d005dfc51a2df6
Simplified version of real-time audio scoring for goal detection
import pyaudio
import librosa
import numpy as np
import requests
# ring buffer will keep the last 2 seconds worth of audio
ringBuffer = RingBuffer(2 * 22050)
def callback(in_data, frame_count, time_info, flag):
audio_data = np.fromstring(in_data, dtype=np.float32)
@alex-bender
alex-bender / gist:456d56024925424f22d2
Created November 4, 2015 08:15 — forked from mailletf/gist:3484932dd29d62b36092
Display a mel-scaled power spectrogram using librosa
# Mostly taken from: http://nbviewer.ipython.org/github/bmcfee/librosa/blob/master/examples/LibROSA%20demo.ipynb
import librosa
import matplotlib.pyplot as plt
# Load sound file
y, sr = librosa.load("filename.mp3")
# Let's make and display a mel-scaled power (energy-squared) spectrogram
S = librosa.feature.melspectrogram(y, sr=sr, n_mels=128)
@alex-bender
alex-bender / prevent_syscall_test.py
Last active August 31, 2015 09:44 — forked from yoggy/prevent_syscall_test.py
prevent_syscall_test.py - python-ptrace sample program
#!/usr/bin/python
#
# prevent_syscall_test.py - python-ptrace sample program
#
# python-ptrace
# https://bitbucket.org/haypo/python-ptrace/wiki/Home
#
# Debian / Ubuntu
# $ sudo apt-get install python-ptrace
#
def hexdump(src, length=16, sep='.'):
"""
@brief Return {src} in hex dump.
@param[in] length {Int} Nb Bytes by row.
@param[in] sep {Char} For the text part, {sep} will be used for
non ASCII char.
@return {Str} The hexdump
"""
result = []
@alex-bender
alex-bender / ping.py
Last active August 29, 2015 14:20 — forked from pyos/ping.py
import time
import random
import select
import socket
def chk(data):
x = sum(a + b * 256 for a, b in zip(data[::2], data[1::2] + b'\x00')) & 0xFFFFFFFF
x = (x >> 16) + (x & 0xFFFF)
x = (x >> 16) + (x & 0xFFFF)