Skip to content

Instantly share code, notes, and snippets.

Erich Eichinger eeichinger

Block or report user

Report or block eeichinger

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
eeichinger / Makefile
Created Apr 3, 2019
Makefile 'init' target for setting up a virtual python environment (using pyenv)
View Makefile
# automatically initialise a local python env
# requires:
# - pyenv installed (see
# - ./requirements.txt to manage dependencies via pip
all: init
.PHONY: clean
# from
# write_base64_file_from_file
# write_file_from_base64_file
# - must run with python 2.7
# - must process data in chunks to limit memory consumption
# - base64 data must be JSON compatible, i.e.
# use base64 "modern" interface,
# not base64.encodestring() which contains linefeeds
eeichinger /
Last active Sep 13, 2019
Generate a script to clone all repos within a specific project from bitbucket server and bitbucket cloud
# generate a script ./ from a list of repos fetched via Bitbucket API
# note: requires 'curl' and 'jq' to be installed
set -e
echo -n '' >
chmod +x

Keybase proof

I hereby claim:

  • I am eeichinger on github.
  • I am eeichinger ( on keybase.
  • I have a public key ASDxtzTW3lx3A2x-vRF-8yIANoqhSNzFcuSP2Hc6Ok9xuwo

To claim this, I am signing this object:

eeichinger /
Created May 1, 2017
AWS CLI utilities to hook into e.g. ~/.profile
# it's inconvenient to pollute knownhosts with temporary AWS EC2 instances - use aws_ssh instead of ssh to ssh into EC2 instances
alias aws_ssh='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
# This function allows to easily switch between AWS CLI profiles. If necessary, it will assume the given role
# usage:
# set-aws-profile rolename[@accountname]
# "rolename": the profilename as defined in your ~/.aws/config
eeichinger /
Last active Aug 15, 2018
script to clone all repositories in a bitbucket server (aka stash) project
# this script uses syntax for bitbucket server.
# For bitbucket cloud see
# Note: replace username, password and PROJECTNAME with your values
# jq syntax helpful links:
eeichinger /
Created Apr 19, 2017
Various ways to resolve a script path in bash
#!/usr/bin/env bash
# For my own reference in the future demo's various ways to resolve a script's full qualified path
# Usage: copy this file to /tmp/ and run it from root
# Note: this script uses the 'realpath' utility - to get this on OSX, you need to install 'brew install coreutils'
if [ -z "${doit+x}" ]; then # for if [exists $var] technique, see
scriptfilereal=$(realpath -P "$0")
View jenkins-decrypt.groovy
#To Decrypt Jenkins Password from credentials.xml
#go to the jenkins url
#In the console paste the script
eeichinger /
Last active Oct 7, 2016
experiment testing Apache HttpAsyncClient HttpCache behaviour
package de.porsche.pcc.instrumentation;
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.junit.WireMockRule;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpException;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.HttpResponseInterceptor;
eeichinger /
Created Sep 24, 2016
typed Observable.zipN for input observables of same type
static <R, T> Observable<R> zip(Iterable<? extends Observable<T>> ws, Func1<List<T>, ? extends R> zipFunction) {
FuncN<R> funcN = (Object[] array) -> {
List<T> l = new ArrayList<T>();
for (Object o : array) {
l.add((T) o);
You can’t perform that action at this time.