Skip to content

Instantly share code, notes, and snippets.

View roryk's full-sized avatar
😷

Rory Kirchner roryk

😷
View GitHub Profile
@roryk
roryk / download-all-twic.sh
Created May 31, 2022 03:27
Download a range of PGN files from The Week In Chess
#!/bin/bash
TMPDIR=download
START=1161
END=1438
mkdir -p ${TMPDIR}
parallel -j 4 wget -P download https://theweekinchess.com/zips/twic{}g.zip ::: $(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
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
roryk / test_pe.py
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"
#!/bin/bash
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"
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:
v.append(1)
else:
@roryk
roryk / gist:fda5c55fb732ea06a1b5
Created September 21, 2015 04:03
sparsehash-build-issues
[ 51%] Performing build step for 'libsparsehash'
cd /tmp/sailfish20150920-18016-i304l8/sailfish-0.7.4/external/sparsehash-sparsehash-2.0.2 && /Applications/Xcode.app/Contents/Developer/usr/bin/make
[ -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
roryk / gist:cb554de6b096592fd2d8
Last active August 29, 2015 14:19
example coverage flagging
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)
>chrM
GTTAATGTAGCTTAATAACAAAGCAAAGCACTGAAAATGCTTAGATGGAT
AATTGTATCCCATAAACACAAAGGTTTGGTCCTGGCCTTATAATTAATTA
GAGGTAAAATTACACATGCAAACCTCCATAGACCGGTGTAAAATCCCTTA
AACATTTACTTAAAATTTAAGGAGAGGGTATCAAGCACATTAAAATAGCT
TAAGACACCTTGCCTAGCCACACCCCCACGGGACTCAGCAGTGATAAATA
TTAAGCAATAAACGAAAGTTTGACTAAGTTATACCTCTTAGGGTTGGTAA
ATTTCGTGCCAGCCACCGCGGTCATACGATTAACCCAAACTAATTATCTT
CGGCGTAAAACGTGTCAACTATAAATAAATAAATAGAATTAAAATCCAAC
TTATATGTGAAAATTCATTGTTAGGACCTAAACTCAATAACGAAAGTAAT
@roryk
roryk / gist:16b3240c12f09d6c9619
Created December 3, 2014 18:54
commander.txt
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