Skip to content

Instantly share code, notes, and snippets.


Soenke Ruempler s0enke

View GitHub Profile
View php_equality_table.php
$values = array(
'true' => true,
'false' => false,
'1' => 1,
'0' => 0,
'-1' => -1,
'"true"' => "true",
'"false"' => "false",
'"1"' => "1",
s0enke /
Created Dec 21, 2014
Skeleton of an Ansible module for ElastiCache replication groups
import sys
import os
import time
import boto
from boto.elasticache.layer1 import ElastiCacheConnection
from boto.regioninfo import RegionInfo
s0enke /
Last active Sep 23, 2016
You build it, you run it.

"Moreover, people with a limited action repertoire often impose old categories to classify what they see and mislabel unfamiliar new problems as familiar old ones so that they can act on them. For example, if firms traditionally decouple authority from responsibility and hold frontline people responsible for outcomes but don’t give them the authority to ensure those outcomes, this limited way of working may well be imposed mindlessly on new fast-moving situations where high performance is possible only when responsibility and authority coincide. There’s more than a grain of truth to the saying that when all you have is a hammer, every problem looks like a nail."

-- Managing the unexpected

s0enke /
Last active Aug 29, 2015
starting bees
bees up --group=bees-load-testing -k soenke -i  ami-f6b11181 -z eu-west-1c -l ubuntu -s 50 -t m1.small
parallel-ssh -O 'StrictHostKeyChecking=No' -h <(aws ec2 describe-instances --filters "Name=tag-key,Values=Name,Name=tag-value,Values=a bee!" | grep ec2- | cut -d'"' -f4 | sed -e 's/^/ubuntu@/g') sudo apt-get -y install apache2-utils

increase open file limits for apache bench

s0enke /
Last active Aug 12, 2017
Dashing Cloudwatch

This is an adjusted version of EC2 CloudWatch stats for Dashing which is not bound to EC2 metrics but a generic widget for cloudwatch graphs. Visualization is done by Rickshawgraph as in the original example.

s0enke / gist:746b8c235ce1c0d7ef10
Created Jun 14, 2014
Problem with raspbian and german umlauts
View gist:746b8c235ce1c0d7ef10
soenke♥kellerautomat:~$ ssh xbian@mediarasp1
Y88b d88P 888888b. 8888888 d8888 888b 888
Y88o88P 888 .88P 888 d88P888 88888b 888
Y888P 8888888K. 888 d88P 888 888Y88b 888
d888b 888 "Y88b 888 d88P 888 888 Y88b888
d88P Y88b 888 d88P 888 d8888888888 888 Y8888
d88P Y88b 8888888P" 8888888 d88P 888 888 Y888
XBian v1.0B2 - XBMC on the Raspbery Pi, Bleeding Edge, 2012 - 2013
s0enke /
Last active Feb 25, 2016
Searching for books/papers on lean and systems thinking in SaaS organizations

Any book recommendations on lean and systems thinking in SaaS organizations?

  • integrating dev/ops into customer support and other way round
  • metrics for "customer happiness"
  • team boundaries: rights and responsibilities: what to do if conflicting goals? How does the system find out that it might have conflicting goals.
  • sustainable business focussing on flow rather than ob short time profit. What are the cultural and technical foundations of a sustainable SaaS business.

I already read "Web Operations", "Kanban", "Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results" but there is too little focus on SaaS IMHO.

s0enke / test.rb
Created May 16, 2014
trying to merge a `let` from included context
View test.rb
require 'rspec'
shared_context 'test' do
let(:something) {['something']}
describe 'something' do
include_context 'test'
let(:something) { super().merge(['another']) }
s0enke / puppet_iteration.pp
Last active Jan 1, 2016
this is an example usage of iterators in puppet 3.4
View puppet_iteration.pp
# challenge: write an ini file from hiera input
# $cache_cluster_instances = [
# { host => 'cache-a', weight => 1 },
# { host => 'cache-b', weight => 0.5 },
# { host => 'cache-c', weight => 0.5 },
# ]
$cache_cluster_instances = hiera('cache_cluster_instances')
s0enke / gist:7821956
Last active Dec 30, 2015
as puppet is declarative and the catalogue is a graph, we can just include the realization of virtual resources anywhere in code. even at the stage where the virtual resource gets declared
View gist:7821956
# this leads to the realization of both declared resources:
# soenke♥kellerautomat:~/projects/playground (master)$ puppet apply manifests/init.pp
# virtual resource 2
# /Stage[main]/Some_module/Virtual_resource_declarer2[virtual resource 2]/Virtual_resource[virtual resource 2]/Notify[virtual resource 2]/message: defined 'message' as 'virtual resource 2'
# virtual resource 1
# /Stage[main]/Some_module/Virtual_resource_declarer1[virtual resource 1]/Virtual_resource[virtual resource 1]/Notify[virtual resource 1]/message: defined 'message' as 'virtual resource 1'
# Finished catalog run in 0.61 seconds
node default {