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
#!/usr/bin/env python | |
# This script is released under an "MIT License"; see https://opensource.org/licenses/MIT | |
# The MIT License (MIT) | |
# Copyright (c) 2016 Henry Roe ([email protected]) | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | |
# | |
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | |
# |
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
#!/bin/bash | |
# This script is released under an "MIT License"; see https://opensource.org/licenses/MIT | |
# The MIT License (MIT) | |
# Copyright (c) 2016 Henry Roe ([email protected]) | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | |
# | |
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | |
# |
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
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<array> | |
<dict> | |
<key>Activate</key> | |
<string>Normal</string> | |
<key>IsActive</key> | |
<true/> | |
<key>Macros</key> |
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
set outputPath to choose folder | |
tell application "Mail" | |
set curMessage to selection | |
set listAttachments to mail attachment of item 1 of curMessage | |
set curMessageDate to date received of item 1 of curMessage | |
set dateStr to (rich text -4 thru -1 of ("0000" & (year of curMessageDate))) & "-" & ¬ | |
(rich text -2 thru -1 of ("00" & ((month of curMessageDate) as integer))) & "-" & ¬ | |
(rich text -2 thru -1 of ("00" & (day of curMessageDate))) | |
repeat with a from 1 to length of listAttachments |
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
class BadIdea(): | |
def __init__(self, history=[]): | |
self.history = history | |
def get_history(self): | |
return self.history | |
def append_history(self, input): | |
self.history.append(input) |
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
import time | |
import os | |
import sys | |
import pickle | |
import numpy as np | |
import subprocess | |
from threading import Thread | |
from traits.api import HasTraits, String, Instance, Bool, on_trait_change, Long | |
from traitsui.api import View, Item, Handler | |
import psutil |
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
import wx | |
import matplotlib | |
matplotlib.use('WXAgg') | |
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas | |
from matplotlib.figure import Figure | |
from matplotlib.image import AxesImage | |
from matplotlib.axes import Axes | |
from matplotlib.widgets import AxesWidget | |
import matplotlib.pyplot as plt |
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
max_award = 1e6 # above this amount just bin in to top bin | |
years_per_bin = 1.0 | |
award_bin_size = 50000 | |
start_year = np.array([a.year + (a.month - 1)/12. for a in awards['StartDate']]) | |
year_bins = np.arange(np.floor(start_year.min()), np.ceil(start_year.max())+1, years_per_bin) | |
awarded = np.array(awards['AwardedAmountToDate']) | |
awarded_mean_per_bin = np.zeros(year_bins.size - 1) | |
awarded_median_per_bin = np.zeros(year_bins.size - 1) | |
year_per_bin = np.zeros(year_bins.size - 1) | |
for i in np.arange(year_bins.size - 1): |
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
max_award_per_year = 3e5 # above this amount just bin in to top bin | |
years_per_bin = 1.0 | |
award_bin_size = 10000 | |
start_year = np.array([a.year + (a.month - 1)/12. for a in awards['StartDate']]) | |
year_bins = np.arange(np.floor(start_year.min()), np.ceil(start_year.max())+1, years_per_bin) | |
awarded_per_year = np.array(awards['AwardedAmountToDate']/awards['DurationYears']) | |
awarded_per_year_mean_per_bin = np.zeros(year_bins.size - 1) | |
awarded_per_year_median_per_bin = np.zeros(year_bins.size - 1) | |
year_per_bin = np.zeros(year_bins.size - 1) | |
for i in np.arange(year_bins.size - 1): |
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
import pandas | |
import numpy as np | |
awards = pandas.read_csv("awards_dump_2014-06-20.csv", | |
parse_dates=['StartDate', 'LastAmendmentDate', 'ExpirationDate', | |
'AwardedAmountToDate'], | |
converters={'AwardedAmountToDate': lambda x: | |
float(x.replace('$', '').replace(',', ''))}, | |
dtype={'AwardedAmountToDate':np.float64}) | |
awards['DurationYears'] = ((awards['ExpirationDate'] - awards['StartDate']) / | |
(365.25 * np.timedelta64(1, 'D'))) |
NewerOlder