I hereby claim:
- I am 4poc on github.
- I am apoc (https://keybase.io/apoc) on keybase.
- I have a public key whose fingerprint is 6FCC 1EF0 3B42 A155 CE89 4962 C6E6 8A99 721F BC1E
To claim this, I am signing this object:
@MirrorsUsed(symbols: '', override: '*') | |
import 'dart:mirrors'; | |
class ReflectionHelper { | |
static callMethodsByAnnotation(var object, var symbol) { | |
var mirror = reflectClass(object.runtimeType); | |
mirror.instanceMembers.forEach((name, method) { | |
for (var metadata in method.metadata) | |
if (metadata.hasReflectee && metadata.reflectee == symbol) | |
reflect(object).invoke(name, []); |
/** | |
* GOZORK Text Adventure Game | |
* by apoc <http://apoc.cc> | |
* | |
* Inspired by the infamous beginning of Zork I. | |
* Reading the source will obviously spoil the game. | |
* The goal is to somehow kill the troll. | |
* Oh yeah and: This is my first GO program! Which would be | |
* my perfect excuse for the bad code quality1! | |
* Here is a solution/transcript: |
package main | |
import ( | |
"bufio" | |
"crypto/tls" | |
"fmt" | |
"io" | |
"net" | |
"reflect" | |
"regexp" |
/** | |
* Simplex noise algorithm. | |
* | |
* This is a port of the public domain java implementation (see | |
* original header) and is public domain aswell. | |
* ported by Matthias Hecker <apoc.cc>. | |
* Links: | |
* http://webstaff.itn.liu.se/~stegu/simplexnoise/ | |
* http://stackoverflow.com/a/18516731 | |
*/ |
I hereby claim:
To claim this, I am signing this object:
foo = { | |
'nested': { | |
'dict': 42 | |
} | |
} | |
query = 'nested.dict' | |
# reduce: | |
from functools import reduce |
'use strict'; | |
const mongoose = require('mongoose'); | |
const Schema = mongoose.Schema; | |
const ObjectId = Schema.Types.ObjectId; | |
const MongooseBuffer = mongoose.Types.Buffer; | |
const uuid = require('node-uuid'); | |
const db = require('../lib/database'); |
// immutable object assignment: | |
const initialState = { products: {} }; | |
export default function reducer(state = initialState, action = {}) { | |
switch (action.type) { | |
case PUT_PRODUCT: | |
return { ...state, products: { ...state.products, [action.product.id]: action.product } }; | |
default: | |
return state; | |
} | |
} |
# Route local connections to the remote target to localhost port 4440: | |
iptables -t nat -A OUTPUT -p tcp --dport 443 -d [REMOTE_HOST] -j DNAT --to-destination 127.0.0.1:4440 | |
# Route local connections to port 4441 to the original target: | |
iptables -t nat -A OUTPUT -p tcp --dport 4441 -d 127.0.0.1 -j DNAT --to-destination [REMOTE_HOST]:443 | |
# Use sslsplit to proxy connections inbetween and save plaintext contents: | |
sslsplit -D -l connections.log -S logs -k ca.key -c ca.crt https 127.0.0.1 4440 127.0.0.1 4441 |
#!/usr/bin/python | |
# Wifibot: Read station dumps from a router and shows new/dropped wifi clients in a matrix channel | |
# by john & matthias | |
import re | |
import sys | |
import time | |
import subprocess | |
import requests # pip install requests | |
from threading import Thread |