Skip to content

Instantly share code, notes, and snippets.

View Artiavis's full-sized avatar

Jeff Rabinowitz Artiavis

View GitHub Profile
@Artiavis
Artiavis / rmtex.py
Last active December 17, 2015 22:29
My first gist, a (hopefully) safe version of rmtex.
import os
import sys
import re
import argparse
def create_regex(reglist):
regopts = ['toc','bbl','aux','gz','blg','dvi','log','out']
filtlist = [exp for exp in reglist if exp in regopts]
if not filtlist:
raise TypeError('Invalid Regex')
@Artiavis
Artiavis / GPA Calculator.py
Last active December 20, 2015 22:29
Simple command-line utility to help calculate a GPA.
import signal, sys
class _Getch:
"""Gets a single character from standard input. Does not echo to the
screen."""
def __init__(self):
try:
self.impl = _GetchWindows()
except ImportError:
self.impl = _GetchUnix()
@Artiavis
Artiavis / binomial_option_pricing.py
Last active December 25, 2015 03:29
A little script for evaluating and solving the binomial tree method of pricing vanilla European and American options. Takes parameters for specifying American/European call/put, number of periods, underlying price, u, d, strike, and interest.
from math import exp
from itertools import islice
import argparse
def window(seq, n=2):
it = iter(seq)
result = tuple(islice(it, n))
if len(result) == n:
yield result
for elem in it:
@Artiavis
Artiavis / the_greeks.py
Created December 15, 2013 04:02
A quick script for calculating some of the Greeks in Python
# -*- coding: utf-8 -*-
from math import erf,exp,log,pi,sqrt
import argparse
def phi(x):
'Cumulative distribution function for the standard normal distribution'
return (1.0 + erf(x / sqrt(2.0))) / 2.0
def d(pos,r, sigma, T, K, S0):
x = ((r+0.5*sigma**2)*T - log(K/S0))/(sigma*sqrt(T))
@Artiavis
Artiavis / tokenizer.c
Created January 30, 2014 00:55
Intro assignment for Systems Programming at Rutgers. Create a string tokenizer.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct TokenizerT_ {
char* separators; // C string of separation characters
char* tokenString; // C string of unprocessed tokens
size_t separatorStringLength; // length of separator string
size_t tokenStringLength; // length of token string
int cursorPosition; // cursor to token string
@Artiavis
Artiavis / simplePhraseCounter.c
Created February 13, 2014 20:21
A simple program to count occurrences of given phrases in a text file, completed for a homework assignment.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <unistd.h>
#include <fcntl.h>
#include <time.h>
struct Counter_ {
char* string;
@Artiavis
Artiavis / rmtex.fs
Last active August 29, 2015 14:20
An adaptation of my rmtex.py script, but for F#. CLI based on the tutorial by "F Sharp for Fun and Profit".
open System
open System.IO
type CommandLineOptions = {
verbose: bool;
recrsv: bool;
exts: list<string>;
}
" Basics
set nocompatible
filetype plugin indent on
syntax on
scriptencoding utf-8
set history=1000
set hidden
set iskeyword-=.
@Artiavis
Artiavis / json-treasure-hunt.clj
Last active October 22, 2015 04:23
A solution to the Reddit "Daily Programmer" Easy Challenge "JSON Treasure Hunt", found at https://www.reddit.com/r/dailyprogrammer/comments/3j3pvm/20150831_challenge_230_easy_json_treasure_hunt/. Also note an F# solution at https://gist.github.com/Artiavis/29de21935d0afae782c4.
(ns json-treasure.core
(:require [clj-json [core :refer [parse-string]]]
[clojure.string :as string])
(:gen-class))
(defn build-json-path
[json-path-vec]
(string/join " -> " json-path-vec))
@Artiavis
Artiavis / json-treasure-hunt.fsx
Last active October 22, 2015 04:24
A solution to the Reddit "Daily Programmer" Easy Challenge "JSON Treasure Hunt", found at https://www.reddit.com/r/dailyprogrammer/comments/3j3pvm/20150831_challenge_230_easy_json_treasure_hunt/. Also note a Clojure solution at https://gist.github.com/Artiavis/017b42017a3275cbbfe8.
#r "FSharp.Data.dll"
open System
open System.IO
open FSharp.Data
type TreasurePathCrumb =
| Index of int
| Key of string