Skip to content

Instantly share code, notes, and snippets.

View MilesCranmer's full-sized avatar

Miles Cranmer MilesCranmer

View GitHub Profile
@MilesCranmer
MilesCranmer / nobels_by_country.md
Last active June 18, 2017 11:55
Nobel prizes by country, per capita and per scientist, post-1985 and post-1970

Rankings

First, let's look at just physics.

Since this is a lot less data to work with, we'll take prizes from 1970 onwards.

Country Nobels in Physics 2016 population (millions) Nobels per million
Denmark 2 5.7 0.350877193
@MilesCranmer
MilesCranmer / tricks.md
Last active June 21, 2017 03:35
Programming tricks

Favorite tricks

(These are ranked in order of favourites)

Getting includes automatically in C

Set up ctags:

apt-get install exuberant-ctags
@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 / 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 / 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 / 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):
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 / 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
@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