Skip to content

Instantly share code, notes, and snippets.

@ctaloi
ctaloi / watch_dir_for.py
Created June 21, 2013 16:41
tail the most recent file in given directory (-d) for something (-w). Print that something when if/when it happens
#!/usr/bin/env python
# Tail the most recent file in directory and trigger on something
import os
import csv
import time
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-d', '--directory', default='/Users/Chris/NFS/syrd0s2/GSX2-1/evlog/1115070699/ACT')
@ctaloi
ctaloi / failed trace
Created June 25, 2013 17:45
traceroute to 66.218.16.20
root@aloi:~# traceroute 66.218.16.20
traceroute to 66.218.16.20 (66.218.16.20), 30 hops max, 60 byte packets
1 host.colocrossing.com (192.227.134.130) 0.042 ms 0.017 ms 0.015 ms
2 host.colocrossing.com (198.12.124.165) 1.885 ms 2.210 ms 2.536 ms
3 buf-b1-link.telia.net (213.248.96.41) 0.215 ms 207.86.157.13 (207.86.157.13) 44.011 ms buf-b1-link.telia.net (213.248.96.41) 0.158 ms
4 te0-0-0-32.ccr21.yyz02.atlas.cogentco.com (154.54.43.61) 12.322 ms 216.156.0.253.ptr.us.xo.net (216.156.0.253) 62.716 ms 62.699 ms
5 207.88.13.250.ptr.us.xo.net (207.88.13.250) 56.259 ms 56.284 ms nyk-b5-link.telia.net (213.155.130.247) 9.542 ms
6 * * 216.1.94.66 (216.1.94.66) 12.868 ms
7 ae-1-0.cr0.nyc20.tbone.rr.com (66.109.6.156) 61.586 ms 62.788 ms 107.14.17.195 (107.14.17.195) 16.546 ms
8 ae-2-9.bar1.Syracuse2.Level3.net (4.69.141.225) 65.439 ms 66.109.6.73 (66.109.6.73) 28.736 ms 33.177 ms
@ctaloi
ctaloi / gist:5861727
Last active November 14, 2016 18:05
Asterisk - Pass SIP Diversion if exists on the way in
exten => s,1,Set(TG_FULLNAME=${ARG2})
exten => s,n,Set(TRUNK=${CUT(TG_FULLNAME,/,2)})
exten => s,n,Set(ORIG_ANI=${CALLERID(rdnis)})
exten => s,n,Set(SIP_DOMAIN=${SIPDOMAIN})
exten => s,n,Set(ROUTE_STRIP=${ARG1})
exten => s,n,Set(DIALED=${DIALED_NUMBER:${ROUTE_STRIP}}
exten => s,n,GotoIf($[${LEN(${ORIG_ANI})} > 0]?100:101)
exten => s,100,SIPAddHeader(Diversion: <sip:${CALLERID(rdnis)}@${SIP_DOMAIN}>\;Reason=unconditional)
exten => s,101,Dial(SIP/${DIALED}@${TRUNK},,tT)
@ctaloi
ctaloi / quote_history.py
Created June 26, 2013 20:12
Python script to pull the value of stock overtime
#!/usr/bin/env
import ystockquote
import datetime
import csv
TODAY = datetime.date.today()
def get_values(stock, start, shares):

INSTANT Pinboard search from Alfred 2

I've had a Python script that makes an HTML Bookmarks file for LaunchBar.
Now that I use Alfred 2, I modified it to make XML for Alfred.
This allows me to search my bookmarks with GREP SPEED!

Installation

First, add your credentials to ~/.netrc

javascript:window.location='pythonista://Import Pythonista Script from Bookmarklet?action=run&argv='+encodeURIComponent(document.location.href);
import requests
CLIENT_KEY=""
EMAIL=""
PASSWORD=""
AUTHORIZE_ENDPOINT="http://feedwrangler.net/api/v2/users/authorize?email=%s&password=%s&client_key=%s" % (EMAIL, PASSWORD, CLIENT_KEY)
authorize = requests.get(AUTHORIZE_ENDPOINT)
access_token = authorize.json()['access_token']
@ctaloi
ctaloi / rides.py
Created August 28, 2013 18:32
CSV to SQLite
## Load a csv file into sqlite db
import csv
import sqlite3
# get our bike log csv file
csvinput = '/Users/Chris/Dropbox/Notes/refx_bike_log.md'
conn = sqlite3.connect('cycle_log.db')
c = conn.cursor()
@ctaloi
ctaloi / -
Created September 13, 2013 18:24
foo
# Single-line version:
(?i)\b((?:https?:(?:/{1,3}|[a-z0-9%])|[a-z0-9.\-]+[.](?:com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|Ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)/)(?:[^\s()<>{}\[\]]+|\([^\s()]*?\([^\s()]+\)[^\s()]*?\)|\([^\s]+?\))+(?:\([^\s()