Skip to content

Instantly share code, notes, and snippets.

@Ape
Ape / advent9.py
Last active December 9, 2015 15:15
advent9.py
#!/usr/bin/env python3
import itertools
import sys
lines = (x.split(" ")[::2] for x in sys.stdin.readlines())
routes = {frozenset(x[:2]): int(x[2]) for x in lines}
places = set.union(*(set(x) for x in routes.keys()))
path_len = lambda path: sum(routes[frozenset(x)] for x in zip(path, path[1:]))
lengths = [path_len(x) for x in itertools.permutations(places)]
@Ape
Ape / spotifyadd
Last active April 17, 2016 09:44
spotifyadd
#!/bin/sh
set -e
TRACK_ID="$1"
CLIENT_ID="..."
CLIENT_SECRET="..."
REFRESH_TOKEN="..."
ACCESS_TOKEN=$(
@Ape
Ape / part2.py
Created December 3, 2016 07:26
AoC 2016 Day 3 Part 2 with Numpy
#!/usr/bin/env python3
import sys
import numpy as np
data = np.loadtxt(sys.stdin).T.reshape(-1, 3).T
data.sort(axis=0)
print(np.sum(sum(data[:2]) > data[2]))
@Ape
Ape / day1part1.py
Created December 3, 2016 16:56
AoC 2016 Day 1 Part 1 with Python
#!/usr/bin/env python3
import sys
steps = next(sys.stdin).split(", ")
x = 0
y = 0
for step in steps:
@Ape
Ape / day2.py
Created December 3, 2016 18:26
Aoc 2016 Day 2 with Python
#!/usr/bin/env python3
import sys
import numpy as np
KEYPADS = [
np.array([
["1", "2", "3"],
["4", "5", "6"],
["7", "8", "9"],
@Ape
Ape / config.py
Created October 16, 2017 06:08
My qutebrowser config
import setproctitle
setproctitle.setproctitle("qutebrowser")
# Bindings
config.bind("gi", "hint inputs")
config.bind("<f12>", "inspector")
config.unbind("+")
config.unbind("-")
config.unbind("=")