Skip to content

Instantly share code, notes, and snippets.

Avatar

Jordan Milne JordanMilne

  • Canada
View GitHub Profile
@JordanMilne
JordanMilne / gist:0880a229356b317f9ee0
Created Jul 7, 2014
JSON_HEX_TAGS-like functionality
View gist:0880a229356b317f9ee0
>>> import simplejson
>>> print simplejson.dumps({"foo<>":"<>bar&"}, cls=simplejson.JSONEncoderForHTML)
{"foo\u003c\u003e": "\u003c\u003ebar\u0026"}
View gist:e9c6314d56e7f2fc649a
LF
$ ./stmd --ast foo.md
document
paragraph
str "Normal paragraph"
paragraph
str "Paragraph 2"
paragraph
str "foo "
View keybase.md

Keybase proof

I hereby claim:

  • I am jordanmilne on github.
  • I am largenocream (https://keybase.io/largenocream) on keybase.
  • I have a public key whose fingerprint is D39D AEC8 56F2 2C2B A0ED BFC6 BADF 89BE FF6F 9ED3

To claim this, I am signing this object:

@JordanMilne
JordanMilne / pytaint.patch
Created Oct 21, 2014
pyenv-compatible patch for pytaint against python 2.7.5, see https://github.com/felixgr/pytaint
View pytaint.patch
From 2aea5633663dd0b91d55a80a17ad22edfb23731f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Gr=C3=B6bert?= <groebert@google.com>
Date: Mon, 7 Oct 2013 15:44:48 +0200
Subject: [PATCH 1/9] pytaint patch
---
Include/Python.h | 3 +
Include/meritobject.h | 28 +
Include/pyerrors.h | 1 +
Include/stringobject.h | 53 +-
@JordanMilne
JordanMilne / gist:04c161a5b66a087619ed
Created Oct 28, 2014
Support HTTPS forcing in PRAW 2
View gist:04c161a5b66a087619ed
import praw
from functools import wraps
def init_wrapper(func):
@wraps(func)
def func_wrapper(*args, **kwargs):
ret = func(*args, **kwargs)
if ret:
ret._site_url = ret._site_url.replace('http:', 'https:')
ret._short_domain = ret._site_url.replace('http:', 'https:')
@JordanMilne
JordanMilne / find-broken.sh
Created Nov 4, 2014
Horrible scripts to make JD's output recompileable (for Spiral Knights, circa 2011. I'm not allowed regexes anymore.)
View find-broken.sh
#!/bin/bash
#find possibly broken source files that will need to be manually fixed
( \
find ../code -type f -iname "*.java" -print0 | xargs --null grep -l '// Byte code:' && \
find ../code -type f -iname "*.java" -size 0 \
) | uniq
@JordanMilne
JordanMilne / gist:17e413fafb3673f9b64a
Last active Aug 29, 2015
urllib3's URL parser makes me sad :(
View gist:17e413fafb3673f9b64a
>>> def compare_parse(url):
... from urllib3.util.url import parse_url
... import urlparse
... print "urlparse:", repr(urlparse.urlparse(url))
... print "urllib3:", repr(parse_url(url))
...
>>> compare_parse("//foo:a@google.com/")
urlparse: ParseResult(scheme='', netloc='foo:a@google.com', path='/', params='', query='', fragment='')
urllib3: Url(scheme=None, auth=None, host=None, port=None, path='//foo:a@google.com/', query=None, fragment=None)
View _SERVER_NOTES.txt
flashpolicyd runs the policy server that tells flash it can access the port for our echo server.
term_echo_server just logs whatever it receives to the console.
both are python2 and flashpolicyd must run as root unless you have some other way of binding to low ports.
View foo.py
>>> urlparse.urljoin("https://base.example.org/", "/foobar")
'https://base.example.org/foobar'
>>> urlparse.urljoin("https://base.example.org/", "//foobar")
'https://foobar'
@JordanMilne
JordanMilne / go-1.3.3.txt
Last active Sep 13, 2015
URL parsing changes from Go 1.3.3 to 1.5.1
View go-1.3.3.txt
Original: http://example.com/foo/%2F/bar
Scheme: http
Hostname: example.com
Path: /foo///bar
Unparsed: http://example.com/foo///bar
Original: http%3A/%2Fexample.com/baz
Scheme:
Hostname:
Path: http://example.com/baz
You can’t perform that action at this time.