Skip to content

Instantly share code, notes, and snippets.

View wookietreiber's full-sized avatar
🎸

♫ Christian Krause ♫ wookietreiber

🎸
View GitHub Profile
@wookietreiber
wookietreiber / default.pa
Created November 29, 2015 10:44
stream with ffmpeg, pulseaudio.
# To record both mic and other audio input sources we need to add a named output sink. See:
# http://www.linuxquestions.org/questions/linux-software-2/alsa-and-pulseaudio-recording-multiple-input-devices-877614/
# http://www.youtube.com/watch?v=oJADNOY615Y&feature=player_embedded
# Add this to your /etc/pulse/default.pa file
load-module module-null-sink sink_name=stream
load-module module-loopback latency_msec=5 sink=stream
load-module module-loopback latency_msec=5 sink=stream
@wookietreiber
wookietreiber / foo.fasta
Last active November 19, 2015 12:11
blasr example
>Backbone_1010
TCATCTGTGATTTTGTCTGTCATTTTGCAGTGAAGTACCGGTATGTTCTGAAAGTGGTCTTGTGTGACTAATCCTAATATACTTTGAGCTCTGATTCCATGATTCACTCACTTGCAAAAAGGATCGCAATACATACTTTGCCATTGAGAGAAAACGGCAATATTAATTTATATCCTGAACTGAAACTTTTTGCCATTTGTGACTTAGAAAAAATCAATCTACAGCAAACCATTGACCTGCCTAGACCTTGAAGGGTAATTATTTTCTTATGCTCACCCTGCTTCTCCTAACAGTGAAAAGCTCCAAAACTGCAACACTTACCAATGTTTGGTTTCCTTTGCAAGGAGATCTCTGGAGATTTATTGTGTTTATTTGCAAATATGAACATAGGTGGAGGCACAGTTTAAACACATCAAGGGATAGCCAAAGTCTACTGCTCTCTCACATTAGATCTCCAGGGAGATAACTTAACAGCTCACACTCAGATCTCTGGGTCACTCTCAAATTATGGTCTGTGGGCCTGAAACTGCCATCTGTCTCCACACAAAGACATCTAGATTGCAGCATCCTTTGCTAGTAGGGAAGGAGGTATTTTGTAGCCATTAAGAACACTTAAGGGAAGTAATCTAACAATTACCGGTAGTTCCCATGAGAACACACTGGCAGTCTATTGACACTTTTTTGCCTTAGTGCAACCAACCCTAATAGCTTCAGTTACAGAAACACACAACAACGGTATATGGCTGAGCTCTCAATTTTATCCATTTTTAGCAAGCATTGGAATGATACGTAATACAGTACGGCAAAATGCACATTCAGCTATATTTTTTTCATGAGTGTAATCAATAATTGCTGCTCTAAAAATATTGAGCAACCTCTCCCTTTTGTACCAGGGTTGCAGTGATAAACAAGCGCTGGCTTCCTGTAGTGAAGATTCGCTAGCGGATATCAGGAAACTGATGTTTTGAACAGAGGGGTGTTTGCACGTTGTAATACTTTTTATTTTCTT
@wookietreiber
wookietreiber / sigpipe.scala
Created September 3, 2015 11:45
handle SIGPIPE in Scala
import sun.misc.Signal
import sun.misc.SignalHandler
object Foo extends App {
val signal = new Signal("PIPE")
val handler = new SignalHandler {
def handle(signal: Signal): Unit = {
Console.err.println(s"""caught signal: $signal""")
sys.exit(128 + signal.getNumber)
// this gist has been superseded by
// https://github.com/idiv-biodiversity/grid-engine-tools
// this gist has been superseded by
// https://github.com/idiv-biodiversity/grid-engine-tools
# Maintainer: Christian Krause ("wookietreiber") <[email protected]>
pkgname=jellyfish
pkgver=2.2.3
pkgrel=1
pkgdesc="fast, memory-efficient counting of k-mers in DNA"
arch=('i686' 'x86_64')
url="http://www.genome.umd.edu/jellyfish.html"
license=('GPL3')
depends=('gcc-libs')
@wookietreiber
wookietreiber / text-to-mailto.py
Last active June 27, 2018 16:47
convert a text file to a mailto link
# is now a real package: https://pypi.org/project/mailto-uri/
@wookietreiber
wookietreiber / app.scala
Last active August 29, 2015 14:22
sbt itext jfreechart dependency blow up
package org.example
import scalax.chart.api._
object Main extends App {
val data = for {
i <- 1 to 5
category = i.toString
date = new org.jfree.data.time.Day(i, 2, 1998)
value = i * 2

Git DMZ Flow

I've been asked a few times over the last few months to put together a full write-up of the Git workflow we use at RichRelevance (and at Precog before), since I have referenced it in passing quite a few times in tweets and in person. The workflow is appreciably different from GitFlow and its derivatives, and thus it brings with it a different set of tradeoffs and optimizations. To that end, it would probably be helpful to go over exactly what workflow benefits I find to be beneficial or even necessary.

  • Two developers working on independent features must never be blocked by each other
    • No code freeze! Ever! For any reason!
  • A developer must be able to base derivative work on another developer's work, without waiting for any third party
  • Two developers working on inter-dependent features (or even the same feature) must be able to do so without interference from (or interfering with) any other parties
  • Developers must be able to work on multiple features simultaneously, or at lea
@wookietreiber
wookietreiber / StringOutputStream.scala
Last active August 29, 2015 14:17
Scala StringOutputStream: feed an OutputStream and retrieve the data as a String
import java.io.OutputStream
class StringOutputStream extends OutputStream {
private val bytes = collection.mutable.ArrayBuffer[Byte]()
override def write(b: Int): Unit = {
bytes += b.toByte
}
def s: String = new String(bytes.toArray)