Skip to content

Instantly share code, notes, and snippets.

View bxt's full-sized avatar

Bernhard Häussner bxt

View GitHub Profile
@bxt
bxt / enemenemiste.sh
Last active November 30, 2015 13:08
Aufzählreim "Ene mene Miste" als Bash-Skript
read -p "Bitte geben Sie die Auswahlen ein:" -r -a CHOICES
RHYME="Ene mene Miste, es rappelt in der Kiste, ene mene meck und du bist weg! \"weg\" bist du noch lange nicht, sag mir erst wie alt du bist?"
CHOICE=0
function l {
for i in $1; do
say -v Anna $i
@bxt
bxt / main.js
Created December 6, 2015 14:04
The weirdest atom editor bug ever
jQuery(function($){
/*
var slideUrls=['slide001.png','slide002.png','slide003.png','slide004.png'];
var slide=Math.floor(Math.random()*slideUrls.length);
var switcherHtml='<div id="slideSwitcher">';
for(var i=0;i<slideUrls.length;i++) switcherHtml+='<a href="javascript:;" title="Nummer '+(i+1)+' anzeigen">slide '+(i+1)+'</a>';
$("#slides").append(switcherHtml);
@bxt
bxt / intervall-class.js
Created January 6, 2016 16:17
Javascript Interval class
/**
* A resumable interval timer.
* Will call `callback` every `delay` milliseconds.
* Use go() to start and stop() to quit triggering the callback.
*/
function Interval(callback,delay){
this.go = function () {
this._ref = window.setInterval(callback,delay);
return this;
}
@bxt
bxt / sss.txt
Last active July 31, 2017 07:07
Swarm Simulator Saves
#2016-04-25
MS4wLjU5|Q2hlYXRlciA6KAoKN4IgrgdglgLjCeAHApgZxALlFCA3KqUARgDbIAWAhjAMbnIBO8mIAjCADQgC2y1LADgB0AJgDsAsQAYAzKwkCZMgKxiALAE5lI5cgDUrKey4lKDXJRZShygds4gaAe2dOILeWJkC7IgVOUpAQA2ZWCHGEYGWCcmFhEheQ1DYJkxP1ZgqTVDHxl9MWMQZAhGAHNmDDYpIxlRERE1YIENLJblDVaHBjQUGgBRUoYKqwdSgA8wdCrlBxomVBhKElGubjAlspLVkEQe9c3tqo01MLV1EQ0Ah0pUGhLCNw8HADMe5AAlXuQaFhkHAAmDDcyD+QgEOQCaWCImyDVhQUk+h8DgAjmBkEcQMJ5GEpBoBKxvK1Quc1DkCrMuKVFh4hGJlB0VH5gk1WMoZPiQqx9KyHGUetRGOjMe4qnUfKwNDImlJ0nJgp0pFldHoOQ5yFBcKCqsFEloocEYZk1AJGq1WAJ9Gp/lxNdqRVjlEITkZlDllOzgkSlCJWH79DKHMhuHs0NMQGp6dktE1CSpOnI1CJgmJ9CmHHsnIh6DAPAyrl7GuoJGJpEENPynACAeHBJa5TJjZnKBAYPQnlUpC22x2ICIdohW+3kG5/l2eyO3GpB8O+7MJ1wnNqGNwcACdsvGGuIACB4uQFvV+vxyBu0uVzuATOD0erwuzw47+vwgfUAB3MzcEg4Mo7Ra/owHgyI0IGBCcajniAqCIFAtYMDs3BOKg6IxDsJAuFMeYHsClB0DsZRQMOMFwUBVSXKWrD+jo0iNHMJQwFAKC1jsn4wTsta4E4YA9AhB5lE4nZsIofjklcPg2mW4TUlAZTkDARBgH+B5Ie2LDlg4RD8ORlwOAcc7UHQjCVI+awbMOWnYaZPDmW2NAYaUiG2TAH5fp+DCIE5SxtgwUzkF5w58PhxyWrCDR6c5bzIKifzsucXRmd5MATFMAVtl+JlQfpba8Npj4AL5cACQqYKAixmJEG7kUYwQALS
@bxt
bxt / schuhe.md
Last active May 3, 2016 21:35
Halten teure Schuhe länger als billige? - Schukäufe, Preise, Tragen und Abnutzung.

Halten teure Schuhe länger als billige?

Schuhkäufe

  • g: 04.11.12, 60€, Grüne Converse Sneakers
  • b: 08.01.14, 13€, Blaue YouTurn Sneakter
  • r: 27.02.15, 45€, Rote Converse Sneakers
  • w: 09.03.15, 20€, Weiße Converse Chucks
@bxt
bxt / named-parameters.js
Created October 31, 2016 04:01
Javascript (ES6) Named parameters with default values ツ
// I just figured out you could do this in ES6:
function foo ({ a = 3, b = 5 } = {}) {
console.log(a, b);
}
foo() // => 3 5
foo({a: 0}) // => 0 5
foo({b: 0}) // => 3 0
foo({a: 4, b: 6}) // => 4 6
@bxt
bxt / gitlab-openmr.sh
Last active August 1, 2017 18:15
Open the merge request for a merged commit in GitLab
#!/bin/bash
set -e
MAIN=${2:-development}
OPEN=open
MRS=$(git remote show -n origin | sed -n '/^ Fetch URL: git@\(.*\):\(.*\)\.git$/ s//https:\/\/\1\/\2\/merge_requests\//p')
if [ -z "$1" ]
@bxt
bxt / keep-every-50th-file.sh
Created November 9, 2016 23:13
Keep only 1/50 of all files in a directory, remove others forever
ls | awk 'NR%50!=25' | xargs rm
@bxt
bxt / make-git-great-again.sh
Last active November 16, 2016 12:49
Find out what coders want to make great again
git log -i --format=oneline | sed -n '/.*[Mm]ake \(.*\) great again.*/ s//\1/p'
# Or even:
git log -i --format=oneline | sed -n '/.*[Mm]ake \(.*\) great again.*/ s//\1/p' | ruby -ne 'BEGIN{a=[]};a<<$_.strip;END{puts a.join(", ")}'
# A bit shorter and maybe more performant (so use this if you want to make many things great again, e.g. the whole of america):
git log -i --format=oneline | sed -n '/.*[Mm]ake \(.*\) great again.*/ s//\1/p' | ruby -ne 'print ", " if $.!=1;print $_.strip;END{puts}'
@bxt
bxt / encapsulation-problem.rb
Last active December 7, 2016 08:57
Ruby's top level methods break encapsulation
def a_random_method_not_defined_in_a_class
puts self.class # outputs ExampleClass
puts @a_private_member # works
end
class ExampleClass
def initialize(a_private_member)
@a_private_member = a_private_member
end