Skip to content

Instantly share code, notes, and snippets.

@tomhaber
tomhaber / doi2bib.py
Last active October 23, 2021 09:55
doi2bib
#!/usr/bin/python
import requests
from urllib.parse import urlparse
import sys
from lxml import html
doi2bib_url = "https://www.doi2bib.org/2/doi2bib"
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
def get_headers(referrer=None):
@tomhaber
tomhaber / tikz.py
Last active January 25, 2019 16:44
matplotlib2tikz module: turn your regular matplotlib script into writing a tikz file
# python -m tikz plot_something.py args > output.tex
import matplotlib.pyplot as plt
from matplotlib2tikz import get_tikz_code
import sys
import os
from contextlib import contextmanager
def print_tikz(file):
code = get_tikz_code(filepath="test.tex")
@tomhaber
tomhaber / h5del.py
Created December 18, 2018 14:26
h5del: a tool to delete datasets from hdf5 files
#!/usr/bin/python
import h5py
import sys
def usage():
print("""
h5del: delete datasets from hdf5 file
Usage: h5del <hdf5 file> <datasets...>
using DataFrames,MCMC
#ReverseDiffSource.@deriv_rule logistic(x::AbstractArray) x dx = (exp(x) / (exp(x) + 1).^2) .* ds
function translate_winbugs!(ex::Expr)
if ex.head == :macrocall && ex.args[1] == symbol("@~")
ex2 = ex.args[3]
length(ex.args) == 3 || error("Syntax error in ($ex)")
if ex2.head == :call
if ex2.args[1] == :dnorm
ex2.args[1] = :Normal