Skip to content

Instantly share code, notes, and snippets.

@joostrijneveld
joostrijneveld / 2015_R1A_B.py
Created April 25, 2015 18:25
The partial solution as listed in the GCJ contest analysis for 2015-R1A-B-small seems to contain an infinite loop
from fractions import gcd
from itertools import count
def naive_get_barber_number(N):
customer = 1;
for T in count(1):
for barber in range(B):
if T % M[barber] == 0:
# at this point N = 0 and customer > 0..
@joostrijneveld
joostrijneveld / autoresponder.py
Created May 9, 2015 20:58
Facebook autoresponder plugin for Poezio
from plugin import BasePlugin
class Plugin(BasePlugin):
def init(self):
self.api.add_event_handler('conversation_msg', self.on_msg)
self.api.add_event_handler('private_msg', self.on_msg)
def on_msg(self, msg, tab):
tab.command_say('[Automatic response] I stopped reading Facebook chat. Do try in some other way!')
@joostrijneveld
joostrijneveld / split.sh
Last active December 18, 2015 09:16
Splits a set of PDFs into two folders for TAs to check
TAS=( NAME1 NAME2 )
REST=rest
for ta in ${TAS[@]}; do
mkdir -p $ta;
done
mkdir -p $REST
for f in pdfs/*.pdf
do
@joostrijneveld
joostrijneveld / keyedit.c.patch
Created June 23, 2016 15:49
Editing GPG's keyedit.c to allow unsigned UIDs
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -1877,7 +1877,7 @@ static struct
{ "nrsign", cmdNOP, 0,
N_("sign selected user IDs with a non-revocable signature")},
{ "debug", cmdDEBUG, 0, NULL},
- { "adduid", cmdADDUID, KEYEDIT_NOT_SK | KEYEDIT_NEED_SK, N_("add a user ID")},
+ { "adduid", cmdADDUID, KEYEDIT_NOT_SK, N_("add a user ID")},
{ "addphoto", cmdADDPHOTO, KEYEDIT_NOT_SK | KEYEDIT_NEED_SK,
N_("add a photo ID")},
@joostrijneveld
joostrijneveld / 3fmnow.py
Last active September 26, 2016 19:10
Scrape whatever was last played on 3FM (in the current hour)
#! /bin/env python
from bs4 import BeautifulSoup
import requests
URL = "http://www.3fm.nl/welkliedjewasdat"
r = requests.get(URL)
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text, 'lxml')