Skip to content

Instantly share code, notes, and snippets.

View DHager's full-sized avatar

Darien DHager

  • Seattle, WA
View GitHub Profile
@DHager
DHager / ErrorCase.java
Created March 26, 2011 01:09
FileChannel bug in Sun's code
package com.technofovea.packbsp;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
/**
* This quick test shows a bug in the SUN/Oracle FileChannel class.
*
import org.codehaus.preon.Codec;
import org.codehaus.preon.Codecs;
import org.codehaus.preon.annotation.Bound;
import org.codehaus.preon.annotation.BoundNumber;
import org.codehaus.preon.annotation.If;
import org.junit.Assert;
import org.junit.Test;
public class Preon46 {
@DHager
DHager / unmolder.html
Created April 2, 2011 00:08
Reddit anti-mold
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
textarea{
width:500px;
height:150px;
clear:both;
}
</style>
@DHager
DHager / StringArrayTest.java
Created April 5, 2011 03:15
Problem with simple String lists in Preon
import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import org.codehaus.preon.Codec;
import org.codehaus.preon.Codecs;
import org.codehaus.preon.DecodingException;
import org.codehaus.preon.annotation.BoundList;
import org.codehaus.preon.annotation.BoundNumber;
import org.codehaus.preon.annotation.BoundString;
import org.junit.AfterClass;
@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;
@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==
#!/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 / 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 {
#!/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 / 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)