Skip to content

Instantly share code, notes, and snippets.

@archevel
archevel / gistit.txt
Last active December 17, 2015 00:10
Gistit is a bashscript for instantly uploading selected text to github and placing the url to that gist in your clipboard. It relies on curl, xclip, python, sed, grep and notify-send. Use f.i. xbindkeys-config to add a keybinding to the script and you've got instant sharing. The script takes one parameter which is a OAuth token for github.
#!/bin/bash
if [ $# -eq 0 ]
then
echo "No OAuth token supplied. Create one with: "
echo "curl -u 'YOUR_GIT_USERNAME' -d '{\"scopes\":[\"gist\"],\"note\":\"Help example\"}' https://api.github.com/authorizations"
echo "Use the token value that is shown in the json output."
else
URL=$(xclip -o | python -c "import sys, json; print json.dumps({ 'public': True, 'files': { 'gistit.txt': { 'content': sys.stdin.read() } } })" | curl -H "Authorization: token $1" https://api.github.com/gists -d @- 2>&1 | grep -E '"html_url": ".*gist.*' | sed 's/.*html_url": "\([^ ]*gist[^"]*\)",/\1/')
echo $URL | xclip -i -selection clipboard
@archevel
archevel / mykafkatest
Created June 24, 2015 02:10
Intermittently successful
package mykafkatest
import java.net.ServerSocket
import java.nio.file.Files
import java.util.{UUID, Properties}
import kafka.consumer.{Whitelist, ConsumerConfig, Consumer}
import kafka.producer.{ProducerConfig, Producer, KeyedMessage}
import kafka.serializer.StringDecoder
import kafka.server.KafkaConfig
@archevel
archevel / roman.scala
Created August 10, 2015 00:49
Roman Numerals
object RomanNumerals {
import annotation._
trait Numeral {
def num:Int
}
class RomanNumeral[T<:Numeral](n:Int) extends Number with Ordered[RomanNumeral[Numeral]] {
private val MAX_ROMAN = 3999
val num = if(n > 0 && n % MAX_ROMAN != 0) n % MAX_ROMAN else (n % MAX_ROMAN) + MAX_ROMAN
@archevel
archevel / configure-and-start.sh
Created February 16, 2016 10:44
Generate haproxy configuration from host entries
#!/bin/bash
set -e
CONF_FILE=$(</etc/haproxy.conf.tmpl)
echo "CONF_FILE has original content:"
echo "#####"
echo "$CONF_FILE" | tee /usr/local/etc/haproxy/haproxy.conf
echo "#####"
echo