Skip to content

Instantly share code, notes, and snippets.


Johannes Buchner JohannesBuchner

View GitHub Profile
JohannesBuchner /
Created Jan 19, 2019
script for releasing packages on PyPI and publishing sphinx documentation on github pages
# Author: Johannes Buchner (C) 2013
# tool for publishing sphinx documentation on github
# and releasing packages on PyPI
case "$1" in
# see
make -C doc/ html &&
git checkout gh-pages &&
JohannesBuchner /
Last active Jan 10, 2019
Arxiv submission tool
# To submit just at the right time (deadline 14:00 EST),
# How to use:
# - Make sure your clock is synced to
# - Prepare arxiv submission up to last page, move cursor over submission button
# - execute below function which will produce a left-button mouse click at 14:00
# - if too early, unsubmit, fix clock, try again the next day
# Hopefully one day arxiv will randomize their submission ordering.
JohannesBuchner /
Last active Dec 2, 2018
Draw random numbers from broken powerlaw (broken code ATM)
import numpy
# Sampling from a broken powerlaw or powerlaw segments
# Reference material:
# The strategy is to draw from each powerlaw segment, and make sure the proportions are right based on the segment integrals
# This code does not work correctly, improvements are welcome
JohannesBuchner /
Created Apr 6, 2018
Make maps with uncertainties
# based on
import numpy
import colorsys
from matplotlib.colors import hsv_to_rgb
def to_rgb(value, error):
z = value
f1 = -90 - z*300
JohannesBuchner /
Created May 16, 2017
Fitting of stellar mass function with only two, uncertain data points
import matplotlib.pyplot as plt
import numpy
from numpy import log, exp
import scipy.misc
import scipy.optimize
# see Buchner et al (2015), Appendix A, for details on the method
Nsamples = 1000
JohannesBuchner /
Created Dec 15, 2015
rsync loop that updates remote directory when local directory changes (using inotify)
while true
rsync -avz ./ user@host:remote/directory/
inotifywait -r ./
JohannesBuchner /
Last active Sep 1, 2020
Progress bar for rsync
Progress bar for rsync
Shows file progress and total progress as a progress bar.
Run rsync with -P and pipe into this program. Example::
JohannesBuchner / photo-panning-video.diascope
Created Oct 18, 2015
Diascope file to create Ken Burns effects (zoom&pan) and transitions across 5 nice photos.
View photo-panning-video.diascope
format pal quality=1 aspect=4:3 mpeg2sound=ac3 mpeg2=3,192
# later: quality=1 interlaced
set dur=sec
set resize=resize
set title_offset=20%,80% title_area=15%
audio spacy.mp3
#set label=green
JohannesBuchner / methodchoice.rst
Last active Aug 29, 2015
Method decision tree for parameter estimation and model comparison
View methodchoice.rst

Method decision tree

  • Write down your problem mathematically/statistically; stripping out astronomy-specific details from your model (e.g. pre-compute redshifts, weights, etc.)
  • Ideally, shorten and simplify it down to primitives of math and statistics, which can be implemented in any language.

For the following decision tree, keep in mind that typically, one first thinks

  • I just want to quickly find the best fit on this.
View enumerate-list-demo.rst

Enumerated List Bug Demo


  1. foo (should be 1.)
  2. bar (should be 2.)