Skip to content

Instantly share code, notes, and snippets.

View kelvinn's full-sized avatar

Kelvin Nicholson kelvinn

View GitHub Profile
@kelvinn
kelvinn / twitter_convert.py
Created November 21, 2013 06:41
This gist shows how to take the timeline backup from Twitter and transform it into a dictionary using the headers as keys. For example, if the CSV file looked had two columns, col1 and col2, it would result in list that looked like: [{'col1': 'hello', 'col2': 'world'}, {'col1': 'bye', 'col2': 'world'}] It also converts the format used by Twitter…
import csv
from dateutil import parser
qs_list = []
with open('C:\\Users\\username\\Desktop\\tweets.csv', 'rb') as csvfile:
qsreader = csv.reader(csvfile, delimiter=',', quotechar='"')
header = qsreader.next()
for row in qsreader:
d = parser.parse(row[6])
row[6] = d.isoformat()
@kelvinn
kelvinn / gist:512f72bf1015047af945
Created June 6, 2014 13:01
Recursively Change Line Endings (Windows)
REM On Unix you would do this: find ./ -type f -exec dos2unix {} \;
REM After installing dos2unix.exe in Windows, you can create a small bat script with the below in it to
REM recursively change the line endings. Careful if you have any hidden directories (e.g. .git)
for /f "tokens=* delims=" %%a in ('dir "C:\Users\username\path\to\directory" /s /b') do (
"C:\Program Files\unix2dos.exe" %%a
)
@kelvinn
kelvinn / splunk_loader.py
Created June 6, 2014 15:48
This is a sample snippet test for loading events from CouchDB (using _changes) into Splunk.
import os
import sys
import json
import time
import pytz
import couchdb
import dateutil.parser
from email import utils
from datetime import datetime
import splunklib.client as client
@kelvinn
kelvinn / StationList.csv
Created June 6, 2014 15:58
An example usage of the googlemaps package to lookup origin / destination information using Google Maps API.
Sydenham Station Marrickville Station
Dulwich Hill Station
Hurlstone Park Station
Canterbury Station
Campsie Station
Bankstown Station
Berala Station
Sefton Station
Leightonfield Station
Ashfield Station
@kelvinn
kelvinn / create_dev_superuser.py
Created June 10, 2014 06:39
Example of creating Django superuser (with password) in dev environment using SaltStack
import os
import sys
# First, add the project to PATH. Adjust as needed.
PWD = os.path.dirname(os.path.abspath(__file__))
PROJECT_PATH = os.path.abspath(os.path.join(PWD, '../../../../'))
sys.path.append(PROJECT_PATH)
# Second, configure this script to use Django
import django
@kelvinn
kelvinn / gist:701325f936af15fec982
Created June 27, 2014 01:08
Ansible Tower - setting SSH port numbers for hosts
# Add this to the YAML section:
ansible_ssh_port: 1234
@kelvinn
kelvinn / new-do-db.yml
Last active August 29, 2015 14:03
Creating Digital Ocean Droplets with unique names using Ansible
---
- name: Prepare New Digital Ocean Droplet
hosts: you.example.com
user: ansible
tasks:
- action: shell date +%s | sha256sum | base64 | head -c 6
register: rand_var
- digital_ocean: >
state=present
command=droplet
@kelvinn
kelvinn / cmd.sh
Created July 24, 2014 02:55
Example of using Apache Bench (ab) to POST JSON to an API
# post_loc.txt contains the json you want to post
# -p means to POST it
# -H adds an Auth header (could be Basic or Token)
# -T sets the Content-Type
# -c is concurrent clients
# -n is the number of requests to run in the test
ab -p post_loc.txt -T application/json -H 'Authorization: Token abcd1234' -c 10 -n 2000 http://example.com/api/v1/locations/
@kelvinn
kelvinn / MyEndpointAfter.java
Created March 30, 2015 10:27
Resolving Android authenticated calls to Google Cloud Endpoint
@ApiMethod(name = "sayHi", clientIds = {
Constants.WEB_CLIENT_ID,
Constants.ANDROID_CLIENT_ID},
audiences = { Constants.WEB_CLIENT_ID, Constants.ANDROID_CLIENT_ID },
scopes = {
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile" })
@kelvinn
kelvinn / InstallPythonGDAL.md
Last active October 13, 2023 16:35
Installing GDAL (Python 3.6) on Mac OS X

How-To: Install GDAL Python Bindings

I've found two ways to install the GDAL Python bindings on Mac.

Via GDAL Framework / QGIS

First, you can install the GDAL Framework via QGIS (or get it directly), and then do...