Skip to content

Instantly share code, notes, and snippets.

View retzkek's full-sized avatar

Kevin Retzke retzkek

View GitHub Profile
@retzkek
retzkek / xroot.sh
Created November 19, 2012 23:08
Simple xsetroot script for dwm with battery level and date
#!/bin/sh
export DISPLAY=:0
BATT=$(/usr/bin/awk '/rate/ {rate=$3} \
/charging state/ {charge=$3} \
/rem/ { rem=$3 } \
END { if (charge=="charging") { state="charge" } \
else if (charge=="charged") { state="full" } \
else { state=sprintf("%2.1f hr",rem/rate) } \
printf("%3.1f%% (%s)",rem/50,state) }' \
@retzkek
retzkek / primes.clj
Last active January 2, 2016 10:18
Sieve of Eratosthenes in Clojure (first attempt, undoubtedly can be improved)
(ns kmr.primes
(:use clojure.set))
(defn eratos
"Compute all primes below n using Sieve of Eratosthenes."
[n]
(loop [i 2
sieve (set (range 2 (inc n)))]
(if (> (* i i) n)
sieve
@retzkek
retzkek / eratos-array.clj
Last active January 2, 2016 16:19
Sieve of Eratosthenes using Java array
(defn eratos-array
"Compute all primes below n using Sieve of Eratosthenes. Uses Java Boolean array of odds."
[n]
(let [array (boolean-array (-> n (quot 2) (dec)) true) ;; 0=3,1=5,2=7,...
n-to-i (fn [n] (-> n (- 3) (/ 2)))
i-to-n (fn [i] (+ i i 3))]
(loop [i 3]
(if (> (* i i) n)
(areduce array ii ret [2]
(if (aget array ii)
@retzkek
retzkek / main.go
Created May 22, 2014 06:22
Basic EVE EMDR client in Go
package main
import (
"bytes"
"compress/zlib"
"encoding/json"
"fmt"
"github.com/alecthomas/gozmq"
"log"
"time"
#!/usr/bin/env python
import re
import tabulate
from elasticsearch import Elasticsearch
groups = [
{'name':'GRACC (osg)', 'regex': r'gracc\.osg\.'},
{'name':'GRACC (osg) [OLD]', 'regex': r'gracc-osg-[12]'},
{'name':'GRACC (osg-transfer)', 'regex': r'gracc\.osg-transfer\.'},
@retzkek
retzkek / graphite_mapping.conf
Last active September 9, 2016 22:27
Prometheus graphite_exporter mapping for Grafana internal metrics
grafana.*.api.dataproxy.request.*.count
name="grafana_api_proxy_requests"
instance="$1"
group="$2"
job="grafana"
grafana.*.api.dataproxy.request.*.min
name="grafana_api_proxy_request_duration_seconds_min"
instance="$1"
group="$2"

Keybase proof

I hereby claim:

  • I am retzkek on github.
  • I am retzkek (https://keybase.io/retzkek) on keybase.
  • I have a public key ASDV5JaBjK3Q5Oo49LJZqNgeuEqzJsOqn0npd_RiGxTMZwo

To claim this, I am signing this object:

@retzkek
retzkek / gratia-add-oim.py
Last active August 18, 2017 20:49
Gratia MasterSummaryData dump to GRACC
#!/bin/env python
"""
Add OIM information to Gratia summaries
"""
from argparse import ArgumentParser
import logging
import requests
import traceback
import time
@retzkek
retzkek / condor_probe.service
Created February 24, 2017 19:48
Fifemon systemd units
[Unit]
Description=Fifemon HTCondor Probe
Documentation=https://github.com/fifemon
Wants=network-online.target
After=network-online.target
[Service]
User=fifemon
Group=fifemon
Type=simple
@retzkek
retzkek / gwms2graphite.py
Created September 29, 2017 17:00
GlideinWMS Monitoring
#!/usr/bin/python
import xml.etree.ElementTree as etree
import re
import urllib2
from optparse import OptionParser
import sys
def parse_gwms_xml(f, frontend_re=r'.*fifebatch_frontend$', edit_period='7200'):
tree = etree.parse(f)