Skip to content

Instantly share code, notes, and snippets.

View calebmadrigal's full-sized avatar

Caleb Madrigal calebmadrigal

View GitHub Profile
@calebmadrigal
calebmadrigal / rewrite_strings.py
Created August 24, 2017 20:29
Example of changing the python AST
import ast
class StringWrapper(ast.NodeTransformer):
"""Wraps all strings in 'START ' + string + ' END'. """
def visit_Str(self, node):
return ast.Call(func=ast.Name(id='wrap_string', ctx=ast.Load()),
args=[node], keywords=[])
def wrap_string(s):
return 'START ' + s + ' END'
@calebmadrigal
calebmadrigal / tkinter_example.py
Created June 20, 2015 04:40
Drawing individual pixels with Tkinter.
import random
import math
from tkinter import Tk, Canvas, PhotoImage, mainloop
width = 1000
height = 600
window = Tk()
canvas = Canvas(window, width=width, height=height, bg="#000000")
canvas.pack()
img = PhotoImage(width=width, height=height)
@calebmadrigal
calebmadrigal / parse_trackerjacker_wifi_map.py
Created August 10, 2018 21:11
parse_trackerjacker_wifi_map.py
import sys
import yaml
def parse_wifi_map(map_path):
with open(map_path, 'r') as f:
data = f.read()
wifi_map = yaml.load(data)
devices = set()
@calebmadrigal
calebmadrigal / output.txt
Last active April 2, 2019 20:29
sklearn to onnx
Prediction for [1, 1, 1, 1]: [[0.16937022 0.83062978]]
Prediction for [1, 2, 3, 4]: [[0.25071094 0.74928906]]
The maximum opset needed by this model is only 6.
The maximum opset needed by this model is only 1.
INPUT NAME: float_input
OUTPUTS: ['output_label', 'output_probability']
Prediction with ONNX for [1. 1. 1. 1.]: [[{0: 0.16937017440795898, 1: 0.830629825592041}]]
Prediction with ONNX for [1. 2. 3. 4.]: [[{0: 0.2507109045982361, 1: 0.7492890954017639}]]
import sys
from datetime import date,timedelta
def is_xkcd_day(d):
return d.weekday() in {0, 2, 4}
def find_date_by_xkcd_number(xkcd_num, current_xkcd=1964, start_date=date(2018, 3, 7)):
if not is_xkcd_day(start_date):
@calebmadrigal
calebmadrigal / get_milwaukee_traffic_cams.py
Created September 6, 2017 19:22
Milwaukee Traffic Cameras
import sys
from urllib.request import urlopen
CAM_RANGE = range(188)
CAM_URL_TEMPLATE = 'http://content.dot.wi.gov/travel/milwaukee/cameras/cam{}.jpg'
def get_camera_pic(cam_num, verbose=True):
if type(cam_num) != str or len(cam_num) != 3:
cam_num = str(cam_num).zfill(3)
@calebmadrigal
calebmadrigal / example_run.txt
Last active August 25, 2017 05:44
Python timeout function with ast
cmadrigal-MBP:ast_stuff caleb.madrigal$ python3 wrap_function_test.py
Wrapping function: range
Wrapping function: do_sleep
check_timeout_proxy()
check_timeout_proxy()
check_timeout_proxy()
check_timeout_proxy()
Traceback (most recent call last):
File "wrap_function_test.py", line 34, in <module>
run_code_string_with_timeout(code, 3)
@calebmadrigal
calebmadrigal / pythonanywhere_gist.py
Last active December 16, 2015 22:08
Function to get the PythonAnywhere gist viewer for a given gist file.
import urllib2
def get_raw_gist(raw_gist_url):
return urllib2.urlopen(raw_gist_url).read()
def python_anywhere_gist_url(gist_num, gist_file, py_version="python2"):
return "https://www.pythonanywhere.com/gists/{0}/{1}/{2}".format(gist_num, gist_file, py_version)
print get_raw_gist("https://gist.github.com/calebmadrigal/5504352/raw/pythonanywhere_gist.py")
print python_anywhere_gist_url(5504352, "pythonanywhere_gist.py")
@calebmadrigal
calebmadrigal / FourierCoeff.ipynb
Created December 18, 2012 16:38
iPython Notebook demonstration of how to find Fourier coefficients.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@calebmadrigal
calebmadrigal / base64_NSString.m
Created February 22, 2012 20:14
Objective-C method which takes an NSString* and returns an base64-encoded NSString*
+ (NSString *)base64String:(NSString *)str
{
NSData *theData = [str dataUsingEncoding: NSASCIIStringEncoding];
const uint8_t* input = (const uint8_t*)[theData bytes];
NSInteger length = [theData length];
static char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
NSMutableData* data = [NSMutableData dataWithLength:((length + 2) / 3) * 4];
uint8_t* output = (uint8_t*)data.mutableBytes;