Skip to content

Instantly share code, notes, and snippets.

View cincodenada's full-sized avatar

Ell Bradshaw cincodenada

View GitHub Profile
@cincodenada
cincodenada / xmonad.hs
Created December 12, 2013 19:53
Current xmonad config
import XMonad
import XMonad.Actions.CopyWindow
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.EwmhDesktops
--import XMonad.Hooks.ICCCMFocus
import XMonad.Hooks.SetWMName
import XMonad.Layout.NoBorders
import XMonad.Layout.Spiral
import XMonad.Util.Run(spawnPipe)
@cincodenada
cincodenada / logsb
Created November 2, 2013 01:39
A quick alias in irssi to save the scrollback log to a file. I recently turned on logging (/set autolog ON), and wanted to save what scrollback I'd kept as well. After some reading up, this should add the /logsb command, which stores logs for the current channel in the same place as the default logging, in files tagged .scrollback.log. The alias…
/alias logsb lastlog -file ~/irclogs/${tag}/${C}.${F}_${Z}.scrollback.log
@cincodenada
cincodenada / rot.py
Created September 14, 2013 00:09
Quick binary rotation (rotl/rotr) in Python
def rotl(num, bits):
bit = num & (1 << (bits-1))
num <<= 1
if(bit):
num |= 1
num &= (2**bits-1)
return num
def rotr(num, bits):
void setup() { } // no setup needed
void loop() {
if (digitalRead(PIN_C2)) {
Keyboard.print("A");
delay(250); //Really simple debouncing
}
}
@cincodenada
cincodenada / xkcd_time.js
Last active December 15, 2015 10:29
The main part of Javascript that drives xkcd's "Time" comic (http://xkcd.com/1190/), deobfuscated and annotated. The bulk of the script seems to be an implementation of EventSource - which, while important, is not terribly interesting for our purposes, so I've omitted it here. After some Googling around, I am in fact fairly certain that the Even…
//This event appears to ping xkcd's servers when various things happen
//Probably for serverside logging/analytics/debugging/statistics
function ping_event(evt_name) {
(new Image).src = "http://xkcd.com/events/" + evt_name
}
//This function ouputs debug info into the javascript console if the URL has a "#verbose" anchor appended
function log() {
location.hash == "#verbose" && console.log.apply(console, arguments)
}
//A list of event streams to choose from at random, for load balancing
@cincodenada
cincodenada / slice_ngrams.sh
Created February 14, 2013 07:30
Search Google NGrams for total occurrences of pairs of words, in this case CRC32 collisions in dictionary files. Reads in a CSV of pairs of words, one pair per line. Run the shell script in a directory that has the g-zipped 1grams in it, it will slice out just the needed lines out of the ngrams. Then the perl script will total them up.
gunzip -c googlebooks-eng-all-1gram-*-[a-z].gz | pv | grep -P `cat reddit_words.csv | perl -e "while(<>) { s/\'s//g; chomp; push @words, split ','; } printf '^(%s)\\t', join '|', @words;"` > collision_stats.tsv
@cincodenada
cincodenada / OrderedFriendsList.js
Created December 3, 2012 22:21
A snippet of Facebook's javascript, decompressed a bit
bigPipe.onPageletArrive({
"is_last": true,
"content": {
"pagelet_sidebar": {
"container_id": "u5da1gw108"
}
},
"jsmods": {
"instances": [
["m229365_110", ["ScrollableArea", "m229365_109"],
@cincodenada
cincodenada / emergent_auth.php
Created November 9, 2012 23:29
Emergent API Authentication Client
<?php
ini_set('display_errors','on');
error_reporting(E_ALL);
//This is less than desirable, but we'll figure out restructuring later
$backend_path = '../../../backend/';
require_once($backend_path . 'lib/logger.php');
require_once($backend_path . 'config.php');
$logger = new Logger();
var fileref=document.createElement('script'); fileref.setAttribute("type","text/javascript");fileref.setAttribute("src", 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js'); document.getElementsByTagName("head")[0].appendChild(fileref);
$('div[href^="/files"]').each(function(idx, el) { href = $(el).attr('href'); $(el).replaceWith('<a href="' + href + '">Download</a>') });
@cincodenada
cincodenada / facebook_cscript.js
Created May 23, 2012 19:45
Modified script for the "Add Facebook Events to Google Calendar" Chrome extension
postpone();
function postpone()
{
init();
window.setTimeout(postpone,500);
}
function init()
{