Skip to content

Instantly share code, notes, and snippets.

View johnarban's full-sized avatar

John Arban Lewis johnarban

View GitHub Profile
@johnarban
johnarban / stats.md
Last active March 25, 2016 06:23
Statistics decribing ranges

SEE UPDATE BELOW

There are a few statistics to look at. The most obvious are the ones that compare the different parameters. These take a single parameter and compare it to the true value. I calculate 3 different statistics.

  • The Fractional Delta. This is essentially the percent difference of the model and the input values, but no absolute value is taken. This should be read as a percentage over/under estimation of the true value.
  • The Factor above or below. Read as the name implies.
  • Absolute fractional difference. Basically the standard percent error
All Ak Low Ak High Ak
synthetic P to P 2.7 1.8 4.44
P to D .13 -1 2.0
D to D -1.37 -1.57 -0.32
D to P 0.099 -0.13 0.087
Megeath P to P 0.65 0.31 0.67
P to D 0.475 0.40 0.49
D to D -0.89 -1.25 -0.71
D to P -1.44 -1.62 -1.18

TERMINAL LESSON PLAN

It is important to note from the outset that most scientific computing is done in a unix environment, which is available on Macs via Terminal or X11 (now provided by XQuartz). Users of Windows machines need not worry. Most research is done in programming languages which can be installed on multiple machine architectures and used via different interactive development environments (IDEs). So if you don’t want to set up a Unix-like environment on your Windows computer, you will probably be fine for the summer, but you will either want to become very proficient at Windows or else set up a Unix-like environment. A Mac, if one can afford it, is a great investment.

Options for Windows users:

  • The easiest, fastest, and arguably best option is to install Cygwin/X and Putty.
  • Cygwin provides a Unix-like terminal
@johnarban
johnarban / bash-cheatsheet.sh
Created December 4, 2018 09:35 — forked from LeCoupa/bash-cheatsheet.sh
Bash CheatSheet for UNIX Systems --> UPDATED VERSION --> https://github.com/LeCoupa/awesome-cheatsheets
#!/bin/bash
#####################################################
# Name: Bash CheatSheet for Mac OSX
#
# A little overlook of the Bash basics
#
# Usage:
#
# Author: J. Le Coupanec
# Date: 2014/11/04
@johnarban
johnarban / whatsapp_chat_log_parser.py
Last active June 6, 2019 01:23
code to analyze whatsapp chat log
import numpy as np
import matplotlib.pyplot as plt
import re
import emoji # pip install emojie
import datetime
from wordcloud import WordCloud #pip install wordcloud
import seaborn as sns # pip install seaborn
from astropy.time import Time # pip install astropy
plt.ion()
from glue.core import Data, DataCollection
from glue.core.component_link import ComponentLink
for i,d1 in enumerate(dc):
for j,d2 in enumerate(dc):
if j>i:#d1.label != d2.label:
print('\n',d1.label,' <---> ',d2.label,'\n')
comp1 = d1.components
comp2 = d2.components
for c1 in comp1:
for c2 in comp2:
@johnarban
johnarban / turbo_colormap.py
Created October 30, 2019 04:22 — forked from mikhailov-work/turbo_colormap.py
Turbo Colormap Look-up Table
# Copyright 2019 Google LLC.
# SPDX-License-Identifier: Apache-2.0
# Author: Anton Mikhailov
turbo_colormap_data = [[0.18995,0.07176,0.23217],[0.19483,0.08339,0.26149],[0.19956,0.09498,0.29024],[0.20415,0.10652,0.31844],[0.20860,0.11802,0.34607],[0.21291,0.12947,0.37314],[0.21708,0.14087,0.39964],[0.22111,0.15223,0.42558],[0.22500,0.16354,0.45096],[0.22875,0.17481,0.47578],[0.23236,0.18603,0.50004],[0.23582,0.19720,0.52373],[0.23915,0.20833,0.54686],[0.24234,0.21941,0.56942],[0.24539,0.23044,0.59142],[0.24830,0.24143,0.61286],[0.25107,0.25237,0.63374],[0.25369,0.26327,0.65406],[0.25618,0.27412,0.67381],[0.25853,0.28492,0.69300],[0.26074,0.29568,0.71162],[0.26280,0.30639,0.72968],[0.26473,0.31706,0.74718],[0.26652,0.32768,0.76412],[0.26816,0.33825,0.78050],[0.26967,0.34878,0.79631],[0.27103,0.35926,0.81156],[0.27226,0.36970,0.82624],[0.27334,0.38008,0.84037],[0.27429,0.39043,0.85393],[0.27509,0.40072,0.86692],[0.27576,0.41097,0.87936],[0.27628,0.42118,0.89123],[0.27667,0.43134,0.90254],[0.27691,0.44145,0.913
@johnarban
johnarban / montyhall.py
Last active January 26, 2020 01:38
Brooklyn 99 themed Monty Hall Problem
# Simulate the monty hall probelm
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
#import tqdm # gives you a progress bar using tqdm.trange(n)
def monty_hall(switch = None):
# get some doors
door = np.array([0,1,2])
@johnarban
johnarban / IronFall.py
Last active July 18, 2021 09:44
Time to fall from 1 meter to surface of 100 kg iron ball (CodysLab question)
#this should work with a vanilla python install
from math import sqrt, acos
#equation from https://aapt.scitation.org/doi/pdf/10.1119/1.2344089
# derivation is included in their appendix. it is not openly available
# let's work in kg - m - s, SI units
G = 6.674e-11 # 6.674e-11 in SI units
M = 100 # kg
dens = 7847 # kg/m^3
@johnarban
johnarban / simple cutoff_filter.py
Last active March 6, 2021 19:21
A simple frequency cutoff filter based on FFT
# adapted from > https://scipy-lectures.org/intro/scipy/auto_examples/plot_fftpack.html
import numpy as np
from scipy import fftpack
from matplotlib import pyplot as plt
def signal_gen(time_step):
# generate a random signal with low and high frequency components
np.random.seed(1234)