Skip to content

Instantly share code, notes, and snippets.

@kevincharm
kevincharm / day17.js
Last active December 17, 2017 06:22
rank 329/700
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
function part1(steps) {
const buf = [0]
let pos = 0
for (let i=1; i<=2017; i++) {
@kevincharm
kevincharm / day18.part1.js
Last active December 18, 2017 13:56
what a doozy
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
const EventEmitter = require('events')
class Program extends EventEmitter {
constructor(id) {
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
const EventEmitter = require('events')
class Program extends EventEmitter {
constructor(id) {
@kevincharm
kevincharm / day19.js
Last active December 19, 2017 14:39
?_?
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
function main() {
const graph = parse(input)
resolve(graph)
const { acc, steps } = traverse(graph)
@kevincharm
kevincharm / day20.js
Last active December 21, 2017 01:07
The shenanigans continue...
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
function main() {
const particles = parse(input)
const idx = closestToOrigin(particles)
console.log(`Closest to origin: ${idx}`)
// -*- node.jz -*-
const { compose, encode, decode,
rotr, rotl, flipX, flipY, print } = require('./util')
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
function main() {
@kevincharm
kevincharm / day22.js
Last active December 22, 2017 16:10
nice quads
// -*- node.jz -*-
/**
* Day 22, Part 1 & 2
*
* Usage:
* input >> stdin >> node day22.js $PART $ITERATIONS
* e.g.
* `cat input.txt | node day22.js 2 10000000`
*/
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
const EventEmitter = require('events')
class Program extends EventEmitter {
constructor(id) {
@kevincharm
kevincharm / day25.js
Last active December 25, 2017 13:37
👋 til next year!
// -*- node.jz -*-
let input = ''
process.stdin.on('readable', () => input += process.stdin.read() || '')
process.stdin.on('end', () => main())
function main() {
const lines = input.split('\n\n')
const [begin, perform] = lines[0].split('\n')
const initState = begin.match(/begin in state ([A-Z]+)./i)[1]
alias cb="git status | head -n 1 | cut -d' ' -f 3"
alias pull='git pull origin $(cb)'
alias push='git push origin $(cb)'
alias g='git-10x'
alias b='g branch'
function _update_ps1() {
PS1="$(~/go/bin/powerline-go -cwd-mode dironly -error $?)"
}