Skip to content

Instantly share code, notes, and snippets.

###
# Call a Node-style async function and return a promise.
#
# @param {function} fn A function that accepts a Node-style callback.
# @param {...*} var_args A variable number of arguments to pass to the Node function.
# @return {Promise}
###
q = (fn, args...) -> new Promise (resolve, reject) ->
cb = (err, vals...) ->
if (err)

Keybase proof

I hereby claim:

  • I am kylehg on github.
  • I am kylehg (https://keybase.io/kylehg) on keybase.
  • I have a public key whose fingerprint is 2A2D 5A4F F955 D24C 2AFE 5FF1 1B00 0832 19EC 17C3

To claim this, I am signing this object:

def log_enumerate(iterable, step=1):
"""Enumerate an iterable and log its progress"""
for i, obj in enumerate(iterable):
if i % step == 0:
print 'Processed %d objects' % i
yield i, obj
def log_iterate(iterable, step=1):
for _, obj in log_enumerate(iterable, step):
function onReady(fn) {
if (document.readyState != 'complete') {
setTimeout(onReady.bind(null, fn), 10)
} else {
fn()
}
}
@kylehg
kylehg / idgen.go
Last active October 1, 2015 07:32
Generic ID generation
// A package for generating and consuming intelligent IDs.
//
// This package exposes a factory function for ID generators, that creates IDs
// that are 64-bit unsigned ints, with bits breaking down as possible:
//
// [TYPE: 8 bits] [ID: 52 bits]
//
// - TYPE (256 options): The type of the object the ID represents.
// - ID (4.5 quadrillion options): The actual ID, depending on the indicated
// sequence type. It should ideally be monotonically increasing so that IDs
@kylehg
kylehg / cfa-questions.md
Created October 9, 2012 01:27
The list of standard questions for Penn's Common Funding App.

Common Funding Application Standard Questions

  • Event Name
  • Date & time
  • Location
  • Contact e-mail
  • Contact phone number
  • Advisor e-mail
  • Advisor phone number
@kylehg
kylehg / openned-themes.md
Created November 11, 2012 23:06
Possible Openned Themes

Labs Coding Challenge

Write a concise piece of code that sends an HTTP POST request to labs.yef.im with the following pieces of data:

  • javascript: Your level of comfort with JavaScript, as an integer 0–4, with 0 being no experience and 4 being very comfortable.
  • python: Your level of comfort with Python, as an integer 0–4, with 0 being no experience and 4 being very comfortable.
  • coffeescript: Your level of comfort with Coffeescript, as an integer 0–4, with 0 being no experience and 4 being very comfortable.
  • frameworks: Your level of comfort with web frameworks, as an integer 0–4, with 0 being no experience and 4 being very comfortable.
  • url: The URL of a GitHub Gist with the code that does this.(Meta! Note that you might have to edit the Gist a few times)
@kylehg
kylehg / airpennnet-android.md
Created August 28, 2013 15:00
How to connect to AirPennNet on Android without the janky ExpressConnect app.

EAP method: TTLS

Phase 2 authentication: PAP

CA certificate: (Unspecified)

User certificate: (Unspecified)

Identity: kyleh

@kylehg
kylehg / pcr-api-refactor-spec.md
Created September 25, 2013 01:50
PCR API refactor spec

PCR API Refactor Spec

Author: Kyle Hardgrave (kyleh@seas)

This is a spec for how I'm going to refactor the PCR API, both internally and externally.

Goals