- Event Name
- Date & time
- Location
- Contact e-mail
- Contact phone number
- Advisor e-mail
- Advisor phone number
Robert:
This is the result of a lot of blood-sweat-tears digestion of this: http://www.upenn.edu/computing/help/doc/email/directory.html
To query Penn Directory via command-line LDAP (the LDAPTLS_CACERT environment variable is necessary on Eniac because the ldap.conf file doesn't set TLS_CACERT; if you're doing this on your own machine, you can fix that):
LDAPTLS_CACERT=/etc/ssl/ca-bundle.pem ldapsearch -h directory.upenn.edu -Z -b ou=People,dc=upenn,dc=edu <FILTER> [object]
For authenticated view (gets you emails) (will prompt for your PennKey password):
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)
EAP method: TTLS
Phase 2 authentication: PAP
CA certificate: (Unspecified)
User certificate: (Unspecified)
Identity: kyleh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### | |
# 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) |
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:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function onReady(fn) { | |
if (document.readyState != 'complete') { | |
setTimeout(onReady.bind(null, fn), 10) | |
} else { | |
fn() | |
} | |
} |
OlderNewer