Skip to content

Instantly share code, notes, and snippets.

View elbosso's full-sized avatar

Jürgen Key elbosso

View GitHub Profile
@elbosso
elbosso / gitlab_issues_intervals.py
Created January 12, 2019 11:34
This is another take on dynamic badges in gitlab - this time it shows ways of counting issues for specific time intervals (see also https://gist.github.com/elbosso/6637702612991bb454d205d936dd04dc and https://gist.github.com/elbosso/cbce113805735478e926c28a9079cede)
from anybadge import Badge
from urlparse import parse_qs
import datetime
import gitlab
def index(req):
#change the next two lines to accomodate your installation
url='http://<gitlab.host>'
token='xxxx-xxxx-xxxxxxxxxx'
args=req.args
@elbosso
elbosso / openIssuesByComponent.sh
Last active August 18, 2019 06:37
Shell script for using with telegraf exec input - writing number of open gitlab issues per label
#!/bin/bash
#https://stackoverflow.com/questions/296536/how-to-urlencode-data-for-curl-command
rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
@elbosso
elbosso / bootstrap_gui_container.sh
Last active August 18, 2019 06:39
A script to bootstrap a (LXC) gui container
#!/bin/bash
source config_bootstrap_gui_container.sh
# the file config_bootstrap_gui_container.sh should reside in the directory this script is in
# it should contain the statements for setting the following environment variables:
# CONTAINER_NAME=<container name for new container to be created>
# CONTAINER_USER=<user name for main user inside the new container - has sudoer rights!
# CONTAINER_NAMESERVER=<name server address - just leave it out if you dont need a custom one - but remember to also remove the customization of /etc/resolv.conf further down...>
# or you could just uncomment the above lines and adjust them to your liking and comment out the source statement
lxc-create -t download -n "$CONTAINER_NAME" -- -d ubuntu -r bionic -a amd64
# joe .local/share/lxc/"$CONTAINER_NAME"/config
@elbosso
elbosso / setupscreenconkx.sh
Last active February 23, 2023 11:58
This script installs and configures a few applications and services - in particular it sets up gnu screen and conky in a way to provide a nice bottom line complete with tabs for the open windows and some information about system health
#!/bin/bash
######################################################################
# This script sets up gnu screen and conky in a way to provide a nice
# footer line complete with tabs for the open windows and some
# information about the systems health
# (https://elbosso.github.io/gnu_screen_sitzung_wenig_aufgepeppt.html#content)
#
# If run as sudo (or root) it tries to install gnu screen and conky
# (needed) and joe (my own preference) before writing a customized
# version of .screenrc and a customized version of a conky config.
@elbosso
elbosso / detectcontainer.sh
Last active August 18, 2019 06:44
this is a function to detect wether we run inside some virtual environment (lxc, docker,...)
#!/bin/bash
# shellcheck disable=SC2181,SC2002
#https://lists.linuxcontainers.org/pipermail/lxc-users/2013-December/005998.html
#https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
if [[ "$EUID" -eq 0 ]]
then
container=$(cat /proc/1/environ | tr '\0' '\n' | grep ^container=|cut -d '=' -f 2)
if [ "$?" -ne 0 ]
then
@elbosso
elbosso / RandomBigInteger.java
Created January 12, 2020 17:02
Generator for arbitrarily large integral numbers
/*
* Copyright (c) 2020.
*
* Juergen Key. Alle Rechte vorbehalten.
*
* Weiterverbreitung und Verwendung in nichtkompilierter oder kompilierter Form,
* mit oder ohne Veraenderung, sind unter den folgenden Bedingungen zulaessig:
*
* 1. Weiterverbreitete nichtkompilierte Exemplare muessen das obige Copyright,
* die Liste der Bedingungen und den folgenden Haftungsausschluss im Quelltext
@elbosso
elbosso / BaseTestList.java
Last active April 6, 2020 18:41
Abstract JUnit 4 Test class for implementations of the Java interface java.util.List
/*
* Copyright (c) 2020.
*
* Juergen Key. Alle Rechte vorbehalten.
*
* Weiterverbreitung und Verwendung in nichtkompilierter oder kompilierter Form,
* mit oder ohne Veraenderung, sind unter den folgenden Bedingungen zulaessig:
*
* 1. Weiterverbreitete nichtkompilierte Exemplare muessen das obige Copyright,
* die Liste der Bedingungen und den folgenden Haftungsausschluss im Quelltext
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package what.ever.floats.your.boat;
public class TestLinkedList extends what.ever.floats.your.boat.BaseTestList<java.util.LinkedList<Integer> >
{
private final static org.apache.log4j.Logger CLASS_LOGGER = org.apache.log4j.Logger.getLogger(TestLinkedList.class);
@elbosso
elbosso / openIssuesByProject.sh
Created May 9, 2020 14:51
Shell script for using with telegraf exec input - writing number of open gitlab issues per project
#!/bin/bash
#https://stackoverflow.com/questions/296536/how-to-urlencode-data-for-curl-command
rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
@elbosso
elbosso / create_gitlab_issue.sh
Created December 2, 2020 06:22
Bash script to automaticalley create issues in GitLab - use it for example in cron jobs
#!/bin/bash
rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}