Skip to content

Instantly share code, notes, and snippets.

View suhlig's full-sized avatar
😻
Happy

Steffen Uhlig suhlig

😻
Happy
View GitHub Profile
@suhlig
suhlig / recrawl-pinboard.js
Created April 9, 2021 13:38
Re-crawl pinboard links
$x("//a[@title='Click to re-crawl this link']").forEach(element => element.click());
@suhlig
suhlig / git-duet-rebase.markdown
Created October 20, 2020 09:08
git-duet rebasing

from git-duet:

Rebasing (resets the committer to the committer of the current pair):

$ git rebase -i --exec 'git duet-commit --amend'
@suhlig
suhlig / events.sql
Created May 17, 2020 21:21
In Grafana, show events stored in InfluxDB
# Insert an event into InfluxDB
use e5573;
INSERT events title="Disabled unattended-upgrades",description="We should see reduced bandwidth usage from here on",tags="apt,debug,bandwidth";
# Configure the annotation in Grafana
# https://grafana.com/docs/grafana/latest/features/datasources/influxdb/#annotations
SELECT title, description from events WHERE $timeFilter ORDER BY time ASC;
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
# This is an updated version of https://lebkowski.name/docker-volumes
main() {
remove-exited-containers
remove-unused-images
@suhlig
suhlig / switch-fly-version.markdown
Created July 18, 2019 09:57
Switch fly version

I work with a lot of different Concourse servers that have a variety of versions. fly rejects working with servers that are off to much. Therefore I have fly-3.14.1, fly-4.2.3 etc. on my machine.

But many set-pipeline scripts assume that a single fly command exists and that it magically is of the right version. So I need to switch; preferably per directory or per shell.

Did not work

  • Shell aliases are never exported, so that a set-pipeline script does not know about the alias.
  • I use ZSH, where functions cannot be exported.

Works

@suhlig
suhlig / cf-which-org
Created July 12, 2019 07:24
Prints the space and org names for a given route, filtered down to the hostname
#!/usr/bin/env ruby
# Prints the space and org names for a given route, filtered down to the hostname
require 'json'
require 'shellwords'
def curl(url)
while url
JSON.parse(`cf curl #{Shellwords.escape(url)}`).tap do |result|
@suhlig
suhlig / cf-all-apps
Created June 29, 2019 12:10
List all cf apps across all orgs and spaces
#!/usr/bin/env ruby
require 'json'
require 'shellwords'
HIERARCHY = %w(/ org space app)
def curl(url)
while url
JSON.parse(`cf curl #{Shellwords.escape(url)}`).tap do |result|
@suhlig
suhlig / inline-erb.rb
Last active July 20, 2018 18:52
'Blocky' ERB syntax
require 'erb'
class UserTemplate
def initialize(user)
@user = user
end
def to_s
# In the ERB template, we can refer to all instance variables, etc. due to
# the binding being passed.
@suhlig
suhlig / imagemagick.txt
Created July 6, 2018 07:35
List of Fred's ImageMagick Scripts (http://www.fmwconcepts.com/imagemagick)
2colorthresh - Automatically thresholds an image to binary (b/w) format using an adaptive spatial subdivision color reduction technique
3Dbox - Generates a perspective view of a 3D box at any orientation with pictures pasted on each of its sides
3Dcover - Wraps an image around the front and left or right side of box viewed in rotated perspective
3Dreflection - Adds a fading reflection below an image and views it in perspective
3Drotate - Applies a perspective distortion to an image by providing three rotation angles, zoom, offsets, background color, perspective exaggeration and auto zoom/centering 3Dtext - Converts text into an image with a 3D extrusion effect accentedges - Applies accented edges to an image
adaptivegamma - Enhances the contrast/brightness in an image using a locally adaptive gamma method
anglegradient - Creates a gradient effect at a specific orientation angle
aspect - Resizes an image to a specific size allowing either cropping or padding to deal with the aspect ratio change
aspectcrop - Cr
@suhlig
suhlig / install-tmux
Last active October 12, 2023 21:25 — forked from philipsd6/install-tmux
Install tmux on rhel/centos
# Install tmux on rhel/centos 7
# What do we want?
libeventversion=2.1.11
tmuxversion=3.1
# install deps
yum install gcc kernel-devel make ncurses-devel
# DOWNLOAD SOURCES FOR LIBEVENT AND MAKE AND INSTALL