Skip to content

Instantly share code, notes, and snippets.

View MilesCranmer's full-sized avatar

Miles Cranmer MilesCranmer

View GitHub Profile
@MilesCranmer
MilesCranmer / .vimrc
Created July 6, 2020 14:37 — forked from yk/.vimrc
vimrc july 2020
set nocompatible " be iMproved, required
let g:python3_host_prog = '/usr/local/opt/[email protected]/bin/python3.8'
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
@MilesCranmer
MilesCranmer / writings-tracking-with-git.bash
Created June 11, 2020 10:37 — forked from markwk/writings-tracking-with-git.bash
My Writings Tracker with Git: A bash script for tracking my writings in plain tex files, calculate stats like word count, hashtags and new files, store stats to csv and commit to git.
#!/bin/bash
##################################
#
# THE ARCHIVE TRACKER
#
# REF: https://gist.github.com/markwk/c85a8a72bc8c03d0f510262bb5219a34/
#
# INTRODUCTION:
# Daily script to navigate to a directory of plain text files,
# add files to git repo, calculate key stats, store stats to csv
@MilesCranmer
MilesCranmer / pretty_plots
Created January 28, 2020 16:55
Pretty plots taken from Neural Tangents notebook
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('pdf', 'svg')
import matplotlib
import seaborn as sns
sns.set(font_scale=1.3)
sns.set_style("darkgrid", {"axes.facecolor": ".95"})
import matplotlib.pyplot as plt
Title: Composite Quasar Spectra From the Sloan Digital Sky Survey
Authors: Vanden Berk D.E., Richards G.T., Bauer A., Strauss M.A.,
Schneider D.P., Heckman T.M., York D.G., Hall P.B., Fan X., Knapp G.R.,
Anderson S.F., Annis J., Bahcall N.A., Bernardi M., Briggs J.W.,
Brinkmann J., Brunner R., Burles S., Carey L., Castander F.J.,
Connolly A.J., Crocker J.H., Csabai I., Doi M., Finkbeiner D.,
Friedman S., Frieman J.A., Fukugita M., Gunn J.E., Hennessy G.S.,
Ivezic Z., Kent S., Kunszt P.Z., Lamb D.Q., Leger R.F., Long D.C.,
Loveday J., Lupton R.H., Meiksin A., Merelli A., Munn J.A.,
Newberg H.J., Newcomb M., Nichol R.C., Owen R., Pier J.R., Pope A.,
@MilesCranmer
MilesCranmer / use_pymc3_like_emcee.py
Last active October 2, 2019 02:37
Use PyMC3 like emcee
##########################################
#emcee example:
##########################################
import numpy as np
import emcee
# Number of samples for each chain.
N_samp = 1000
def log_prob(x):
@MilesCranmer
MilesCranmer / build_vim_with_conda.sh
Created May 14, 2019 17:21
Build vim in a conda environment
#!/bin/bash
#This builds vim with python + python3 support in a conda environment. No sudo required! Replace the directories to your own.
vi_cv_path_python=/mnt/home/mcranmer/miniconda3/envs/py27/bin/python \
vi_cv_path_python3=/mnt/home/mcranmer/miniconda3/envs/main/bin/python \
./configure \
--with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
@MilesCranmer
MilesCranmer / simple_detex.vim
Last active December 22, 2018 04:44
Remove latex code so can feed paper into grammarly.com
" Delete up to begin{document}, and from end{document} to before the bibliography.
:%s/\\cite{[a-zA-Z0-9_]\+}/REF/g
:%s/\\citealt{[a-zA-Z0-9_]\+}/REF/g
:%s/\\cref{[a-zA-Z0-9_:]\+}/REF/g
:%s/\\caption{//g
:%s/\$\$.\{-}\$\$/REF/g
:%s/\$.\{-}\$/REF/g
:%s/\\[a-zA-Z_]\+{.*}/ /g
:%s/\\[a-zA-Z_]\+/ /g
@MilesCranmer
MilesCranmer / plotdf.py
Created November 13, 2018 16:30
Plot only 99th percentile of data with pandas.
def plotdf(df, x, y, sample=10000):
df = df[[x, y]].sample(sample).copy()
for col in [x, y]:
df = df[(df[col] > df[col].quantile(0.01)) & (df[col] < df[col].quantile(0.99))]
df.plot(
x, y,
linestyle='', marker='.',
markersize=0.1)
@MilesCranmer
MilesCranmer / plotdf.py
Last active November 18, 2018 02:36
Plot only 98th percentile of data with pandas with subsample
def plotdf(df, x, y, c=None, sample=10000, alpha=0.5, color=None,
cmap='viridis', clabel=None, xlabel=None, ylabel=None,
noise_df=None, percentile=0.98, use_noise_df_for_framing=False,
noise_alpha=0.1):
cols_to_get = [x, y]
if c is not None:
cols_to_get.append(c)
df = df[cols_to_get]
@MilesCranmer
MilesCranmer / numpy_cffi_arrays.py
Created January 29, 2018 00:18 — forked from arjones6/numpy_cffi_arrays.py
Passing multidimensional numpy arrays to C using cffi.
import numpy
from cffi import FFI
ffi = FFI()
ffi.cdef("""
void single_test(double *x, int n);
void multi_test(double **x, int n, int m);
""")
C = ffi.dlopen("./simple.so")