Skip to content

Instantly share code, notes, and snippets.

View roryk's full-sized avatar

Rory Kirchner roryk

View GitHub Profile
roryk /
Created May 31, 2022 03:27
Download a range of PGN files from The Week In Chess
mkdir -p ${TMPDIR}
parallel -j 4 wget -P download{} ::: $(seq ${START} ${END})
unzip -d ${TMPDIR} ${TMPDIR}/'*.zip'
cat ${TMPDIR}/*.pgn > twic_pgn_${START}_${END}.pgn
zip twic_pgn_${START}_${END}.zip twic_pgn_${START}_${END}.pgn
rm twic_pgn_${START}_${END}.pgn
View gist:a3e7381d65a819eb8831db9b1137f5c9
Tom Knight and the Lisp Machine
A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.”
Knight turned the machine off and on.
The machine worked.
roryk /
Last active January 22, 2016 14:29
import os
import subprocess
from argparse import ArgumentParser
def find_parallel_environment(queue):
"""Find an SGE/OGE parallel environment for running multicore jobs in specified queue.
base_queue = os.path.splitext(queue)[0]
queue = base_queue + ".q"
View gist:318b347128bf5df8fee5
set -e
# Figure out where this script is located.
SELFSCRIPT="`readlink -f \"$0\"`"
SELFDIR="`dirname \"$SELFSCRIPT\"`"
SELFDIR="`cd \"$SELFDIR\" && pwd`"
# Temporarily set PATH and LD_LIBRARY_PATH
export PATH=$SELFDIR/bin:$PATH
import tempfile
import gffutils
import os
from argparse import ArgumentParser
def get_gtf_db(gtf, in_memory=False):
create a gffutils DB
db_file = gtf + ".db"
View gist:3a28ede54cc2af6825f1
class Foo(object):
def __init__(self):
self.history = {"var1": [], "var2": [], "var3": [], "var4": []}
def update(self, to_update):
for k, v in self.history.iteritems():
if k == to_update:
roryk / gist:fda5c55fb732ea06a1b5
Created September 21, 2015 04:03
View gist:fda5c55fb732ea06a1b5
[ 51%] Performing build step for 'libsparsehash'
cd /tmp/sailfish20150920-18016-i304l8/sailfish-0.7.4/external/sparsehash-sparsehash-2.0.2 && /Applications/
[ -d src/sparsehash/internal ] || mkdir -p src/sparsehash/internal
echo "/*" > src/sparsehash/internal/_sparsehash_config
echo " * NOTE: This file is for internal use only." >> src/sparsehash/internal/_sparsehash_config
echo " * Do not use these #defines in your own program!" >> src/sparsehash/internal/_sparsehash_config
echo " */" >> src/sparsehash/internal/_sparsehash_config
awk '{prevline=currline; currline=$0;} \
/^#/ {in_second_file = 1;} \
!in_second_file {if (currline !~ /^ *$/) {inc[currline]=0}}; \
roryk / gist:cb554de6b096592fd2d8
Last active August 29, 2015 14:19
example coverage flagging
View gist:cb554de6b096592fd2d8
import numpy
import scipy.stats as stats
def outlier_resistant(coverage):
median = float(numpy.median(coverage))
deviations = [abs(x - median) for x in coverage]
# median absolute deviation estimator of the standard deviation
mad = 1.4826 * float(numpy.median(deviations))
return int(median), int(mad)
View mm9.fa
roryk / gist:16b3240c12f09d6c9619
Created December 3, 2014 18:54
View gist:16b3240c12f09d6c9619
MOD_NAME=Commander's Choice - LW
AUTHOR=Peasly Wellbott
DESCRIPTION=Choose the class of your Squaddies! When being prompted to pick a Squaddie's first skill, the "Cycle Soldier" buttons on the bottom of the screen will instead cycle the soldier's class! Does not affect MECs or any soldier who has locked in their specialty, but should work for reward soldiers and special soldiers.
Version: 1.0
Compatible with XCOM Long War versions:
- All hopefully