Skip to content

Instantly share code, notes, and snippets.

View kynan's full-sized avatar
💭
I may be slow to respond and only triage notifications irregularly

Florian Rathgeber kynan

💭
I may be slow to respond and only triage notifications irregularly
View GitHub Profile
@kynan
kynan / keybase.md
Created September 13, 2019 22:25
Keybase proof

Keybase proof

I hereby claim:

  • I am kynan on github.
  • I am frathgeber (https://keybase.io/frathgeber) on keybase.
  • I have a public key ASB5SYm7rBgwnwovMxDQDbfGg_al7HvhEknK4XuCHpb9two

To claim this, I am signing this object:

@kynan
kynan / pandas_validation_errors.ipynb
Last active May 18, 2020 22:16
Pandas documentation validation errors
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@kynan
kynan / getbbcpid
Created June 14, 2017 22:22
Extract PIDs from BBC iPlayer programme pages
#!/usr/bin/env python
"""Extract pids from a BBC iPlayer programme page.
usage: get_iplayer --pid $(getbbcpid <url>)
"""
from __future__ import print_function
from bs4 import BeautifulSoup
@kynan
kynan / cahn_hilliard.py
Created October 1, 2015 20:11
Cahn-HIlliard Firedrake code for DSI screen
from firedrake import *
mesh = UnitSquareMesh(100, 100)
V = FunctionSpace(mesh, "CG", 1)
W = V*V
gamma = Constant(0.005)
D = Constant(10)
q, v = TestFunctions(W)
u = Function(W)
u0 = Function(W)
from lxml import etree
ns = 'http://docs.oasis-open.org/legaldocml/ns/akn/3.0/CSD11'
ukm = 'http://www.legislation.gov.uk/namespaces/metadata'
hPath = etree.XPath('.//a:heading//text()', namespaces={'a': ns})
iPath = etree.XPath('.//a:intro//text()', namespaces={'a': ns})
cPath = etree.XPath('.//a:content//text()|.//a:content//a:ref/text()',
namespaces={'a': ns})
mdPath = etree.XPath('//ukm:PrimaryMetadata[1]', namespaces={'ukm': ukm})
yPath = etree.XPath('./ukm:Year/@Value', namespaces={'ukm': ukm})
@kynan
kynan / gol.py
Created October 15, 2012 20:57
Game of Life with rule 24 in Python
from copy import copy
class GameOfLife:
RULES = {
(1,1,1): 0,
(1,1,0): 0,
(1,0,1): 0,
(1,0,0): 1,
(0,1,1): 1,
(0,1,0): 0,
@kynan
kynan / test-automata.spec.coffee
Created October 15, 2012 20:56
Game of Life with rule 24 in Coffee
DEAD = 0
ALIVE = 1
evolve_cell = (left, middle, right) ->
register = left*4+middle*2+right
#console.log left, middle, right, register
switch register
when 4 then ALIVE # from [ALIVE,DEAD,DEAD]
when 3 then ALIVE # from [DEAD,ALIVE,ALIVE]
else
@kynan
kynan / pre-commit
Created June 23, 2012 17:22
OP2 git client hooks
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-commit".
if git rev-parse --verify HEAD >/dev/null 2>&1
@kynan
kynan / shoot.sh
Created June 16, 2012 15:40
Take a screenshot and upload to imgur
#!/bin/bash
#
# By Sirupsen @ http://sirupsen.dk
# Original version: http://sirupsen.com/a-simple-imgur-bash-screenshot-utility
# Modifications by Florian Rathgeber @frathgeber (https://github.com/kynan)
#
# Description: Very simple script to make you
# select a region of your screen, which will be captured, and
# then uploaded. The URL will then be injected into your clipboard.
#
@kynan
kynan / irssi_log_merge.py
Created May 16, 2012 00:13
Irssi Log Merger is a small Python script that takes a set of Irssi irclogs/ directories and merges them chronologically into a single set of files.
#!/usr/bin/python
# .- coding: utf-8 -.
#
# irssi_log_merge.py.
# Written by Lasse Karstensen <lasse.karstensen@gmail.com>, 2008.
# Released under GPLv2.
#
# Newest version available on http://hyse.org/irssi-log-merge/ .
#
# Modified by Florian Rathgeber <florian.rathgeber@gmail.com>