Skip to content

Instantly share code, notes, and snippets.

View DHager's full-sized avatar

Darien DHager

  • Seattle, WA
View GitHub Profile
from datetime import datetime
from os import path
import sys
import shutil
from PIL import Image
__author__ = 'Darien Hager'
class SteamScreenImport:
@DHager
DHager / openssl_rc4_poc.py
Created August 4, 2016 00:56
An experiment to try to reproduce part of the "openssl" command line tool's behavior through Python. See blog post: http://technofovea.com/blog/archives/1054
#!/usr/bin/python
import sys
import itertools
import binascii
import StringIO
from Crypto.Hash import SHA, MD5
from Crypto.Cipher import AES, ARC4
from Crypto import Random
@DHager
DHager / aoc_day3.py
Created December 3, 2015 21:19
Advent of Code Day 3
from collections import Counter
class Santa:
def __init__(self):
self.position = [0,0]
self.path = [tuple(self.position)]
def move(self, char):
@DHager
DHager / coredump.php
Created December 3, 2015 20:42
Tries to cause a core-dump so that you can test your PHP/Apache/OS configuration to make sure they are being saved
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
ob_end_flush();
$pid = getmypid();
$secs = 10;
$cmd = "kill -3 $pid";
@DHager
DHager / day2.py
Created December 2, 2015 07:41
Advent of Code Day 2
#http://adventofcode.com/day/2
from itertools import combinations
import operator
def wrapNeeded(dims):
sides = combinations(dims,2)
halfAreas = map(lambda (a,b): a*b, sides)
return sum(halfAreas)*2 + min(halfAreas)
#!/usr/bin/env php
<?php
/**
* If composer.json references a project that has a git directory in the vendor
* folder, and that depdencency is set to track the "latest" of a branch, then
* try to validate that the lockfile-version hasn't been outpaced.
*/
class GitUtils{
@DHager
DHager / transcribed_html5_video.html
Last active April 30, 2019 21:28
Something I whipped up for a Seattle Startup Weekend event, provides a "transcript" of a video based on its closed-captioning data, and allows you to use the text to seek in the video.
<html>
<head>
<script type="text/javascript" src="jquery-1.11.0.js"></script>
<style>
#transcript{
background-color:#F0F0F0;
min-height:50px;
padding:5px;
}
#transcript span.active {
#!/bin/bash
branchPath=$(git symbolic-ref -q HEAD) #Somthing like refs/heads/myBranchName
branchName=${branchPath##*/} #Get text behind the last / of the branch path
if [[ $branchName =~ tickety([[:digit:]]+) ]]; then
bnum=${BASH_REMATCH[1]};
heading="TICKETY-$bnum \/\/";
else
heading="($branchName) ";
@DHager
DHager / reddit_bc2_tags.user.js
Created June 18, 2011 08:10
User-tagger for Bad Company 2 on Reddit
// ==UserScript==
// @name BC2 Subreddit user info
// @author Darien Hager
// @namespace http://technofovea.com/
// @version 1.0.0
// @description Provides extra information inside the Bad Company 2 subreddit
// @include http://www.reddit.com/r/badcompany2/*
// @include http://reddit.com/r/badcompany2/*
// ==/UserScript==
@DHager
DHager / OverridablePropertiesConfiguration.java
Created June 17, 2011 01:59
Overrides behavior on Apache commons-configuration so that the property-file include mechanism "overwrites" older values
package com.technofovea.springtest;
import java.io.File;
import java.lang.reflect.Array;
import java.net.URL;
import java.util.Collection;
import java.util.Iterator;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;