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 ast | |
import math | |
SAFE_FX = { | |
'exp': math.exp, | |
} | |
SAFE_NODES = set( | |
(ast.Expression, | |
ast.Num, |
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 ast | |
allowed_functions = set([ | |
#math library | |
'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', | |
'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', | |
'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', | |
'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', | |
'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', | |
'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', |
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 | |
# -*- coding: utf-8 -*- | |
""" | |
`Topological sort by Kahn (1962) on Wikipedia | |
<http://en.wikipedia.org/wiki/Topological_sorting>`_ | |
L ← Empty list that will contain the sorted elements | |
S ← Set of all nodes with no incoming edges | |
while S is non-empty do | |
remove a node n from S |

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
classdef air < handle | |
% AIR Thermal-physical properties of air at 1 atm between temperatures | |
% of 200 K and 350 K. | |
% Mark Mikofski | |
% Version 1-0, 2010-10-29 | |
properties | |
description = 'air at 1 atm between 200 and 350 K' | |
end | |
properties | |
Temp |
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
function [p,S,mu] = polyfitZero(x,y,degree) | |
% POLYFITZERO Fit polynomial to data, forcing y-intercept to zero. | |
% P = POLYFITZERO(X,Y,N) is similar POLYFIT(X,Y,N) except that the | |
% y-intercept is forced to zero, i.e. P(N) = 0. In the same way as | |
% POLYFIT, the coefficients, P(1:N-1), fit the data Y best in the least- | |
% squares sense. You can also use Y = POLYVAL(PZERO,X) to evaluate the | |
% polynomial because the output is the same as POLYFIT. | |
% | |
% [P,S,MU] = POLYFITZERO() Return structure, S, similar to POLYFIT for use | |
% with POLYVAL to calculate error estimates of predictions with P. |
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
%% initialize workspace | |
close('all'),clear('all'),clc | |
rmdir('keys','s') % delete old keys | |
%% test encryption | |
PANGRAM = 'The quick brown fox jumped over the lazy dog.'; | |
EncryptionUtil.testJschSECSH(PANGRAM) % run test | |
%% make SSH keys in workspace | |
keyFactory = java.security.KeyFactory.getInstance('RSA'); % make a key factory | |
% read public OpenSSH key | |
[keyln, totlines] = EncryptionUtil.readJschKeyFile('keys/publicJschSECSH.key',7); |
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
static KeyPair OpenSSH2JavaKeyPairDemo(InputStream pub, InputStream pvt) | |
throws IOException, GeneralSecurityException | |
{ | |
KeyFactory f = KeyFactory.getInstance("RSA"); | |
RSAPublicKeySpec pubspec = decodeRSAPublicSSH(readAllBase64Bytes(pub)); | |
RSAPrivateCrtKeySpec pvtspec = decodeRSAPrivatePKCS1(readAllBase64Bytes(pvt)); | |
return new KeyPair(f.generatePublic(pubspec), f.generatePrivate(pvtspec)); | |
} |
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 | |
""" | |
Python metaclasses | |
================== | |
A metaclass is a class factory; metaclasses serve two purposes: | |
1. replace ``type`` as the base class metatype for classes with the | |
``__metaclass__`` attribute |
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 | |
import numpy as np | |
from datetime import datetime, time, timedelta | |
import pytz | |
class Timeseries(object): | |
def __init__(self, x, t): | |
self.x = np.array(x) | |
self.t = np.array(t,dtype='datetime64[s]') |