Skip to content

Instantly share code, notes, and snippets.

View corydolphin's full-sized avatar

Cory Dolphin corydolphin

View GitHub Profile
@corydolphin
corydolphin / saveFigure.m
Created February 25, 2013 05:30
Saving figures in MATLAB as full size, not cutoff. Gets around issue of cutting off Title, etc. Slightly slow, but it works. Damnit MATLAB graphics library.
function [ output_args ] = saveFigure( handle, fileName )
% saveFigure
% Saves figure specified by `handle` as `fileName` in fullscreen
% as to get around the stupid behavior.
screen_size = get(0, 'ScreenSize');
origSize = get(handle, 'Position'); % grab original on screen size
set(handle, 'Position', [0 0 screen_size(3) screen_size(4) ] ); %set to scren size
set(handle,'PaperPositionMode','auto') %set paper pos for printing
saveas(handle, fileName) % save figure
@corydolphin
corydolphin / mongoengine_jsonencoder.py
Last active August 9, 2021 17:57
Fix: TypeError: ObjectId is not JSON serializable: A Flask JSONEncoder for Mongoengine documents. Specifically useful for use with Flask-Mongoengine.
from flask import Flask
from flask.json import JSONEncoder
from bson import json_util
from mongoengine.base import BaseDocument
from mongoengine.queryset.base import BaseQuerySet
class MongoEngineJSONEncoder(JSONEncoder):
def default(self,obj):
if isinstance(obj,BaseDocument):
return json_util._json_convert(obj.to_mongo())
@corydolphin
corydolphin / mailmanToMBox.py
Created February 3, 2012 06:57
Convert Mailman archive to text and mbox formatted archives.
#!/usr/bin/env python
"""
mailmanToMBox.py: Inserts line feeds to create mbox format from Mailman Gzip'd
Text archives
Usage: ./to-mbox.py dir
Where dir is a directory containing .txt.gz files pulled from mailman Gzip'd Text
"""
import sys
import os
def makeMBox(fIn,fOut):
# Libraries Included:
# Numpy, Scipy, Scikit, Pandas
import re
from itertools import chain
from sets import Set
from itertools import islice
def chunk(it, size):
it = iter(it)
return iter(lambda: tuple(islice(it, size)), ())
inputs = '''
@corydolphin
corydolphin / msvc9compiler.py
Last active January 12, 2017 03:57
Support compiling Python extensions on Windows.
"""distutils.msvc9compiler
Contains MSVCCompiler, an implementation of the abstract CCompiler class
for the Microsoft Visual Studio 2008.
The module is compatible with VS 2005-2012. You can find legacy support
for older versions of VS in distutils.msvccompiler.
"""
# Written by Perry Stoll hacked by Cory Dolphin to support VS 2012+
My parents impressed on me the value of that you work hard for what you want in life. That your word is your bond and you do what you say and keep your promise. That you treat people with respect. Show the values and morals in in the daily life. That is the lesson that we continue to pass on to our son.
We need to pass those lessons on to the many generations to follow. [Cheering] Because we want our children in these nations to know that the only limit to your achievement is the strength of your dreams and your willingness to work for them.
My parents impressed on me the value of that you work hard for what you want in life. That your word is your bond and you do what you say and keep your promise. That you treat people with respect. Show the values and morals in in the daily life. That is the lesson that we continue to pass on to our son.
We need to pass those lessons on to the many generations to follow. [Cheering] Because we want our children in these nations to know that the only limit to your achievement is the strength of your dreams and your willingness to work for them.
@corydolphin
corydolphin / count_github_contributions.py
Created June 22, 2013 16:48
Count Github contributions by a single user to a particular organization.
from github import Github, EmptyRepositoryException
import datetime
import time
import argparse
def main(username, password, organization):
g = Github(username, password, timeout=1)
org = g.get_organization(organization)
file_set = set()
@corydolphin
corydolphin / craigslist.js
Created May 2, 2013 01:17
Parse Craigslist page for description, title, images, location, postTime, using cheerio and requests, Node.js
var cheerio = require('cheerio')
, request = require('request');
var example_url = 'http://boston.craigslist.org/gbs/sub/3779053559.html';
var parsePage = function(url, callback){
request(url, function(err, resp, body) {
if (err){
callback(err);
return

this should be a mention @wcdolphin