Skip to content

Instantly share code, notes, and snippets.

Christopher Shroba chrisshroba

Block or report user

Report or block chrisshroba

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
# This is a sanity check to make sure we're parsing major, minor, patch versions correctly
~ echo 'abcdeef-v123.456.789 blah' | sed -E 's/.*-v([0-9]+)\.([0-9]+)\.([0-9]+).*/major=\1, minor=\2, patch=\3/g'
major=123, minor=456, patch=789
# These parse out each of the parts
~ echo 'abcdeef-v123.456.789 blah' | sed -E 's/.*-v([0-9]+)\.([0-9]+)\.([0-9]+).*/\1/g'
~ echo 'abcdeef-v123.456.789 blah' | sed -E 's/.*-v([0-9]+)\.([0-9]+)\.([0-9]+).*/\2/g'
~ echo 'abcdeef-v123.456.789 blah' | sed -E 's/.*-v([0-9]+)\.([0-9]+)\.([0-9]+).*/\3/g'
View .tmux.conf
# Make it so when you set the window title,
# it is never automatically changed by tmux
set-option -g allow-rename off
# This enables mouse reporting. It lets you:
# - Click on a pane to activate it
# - Right click a pane to `mark` it
# - Drag borders to resize panes
setw -g mouse on
set -g mouse on
View .tmux.conf
# Welcome to my tmux config!
# Some helpful notes to future me
# - bind is an alias of bind-key (no difference).
# - bind <key> binds the key after the prefix.
# - bind -r <key> binds the key in the root table,
# meaning no prefix is necessary.
# -
# Put Plugins first because they may define behavior
chrisshroba / regex
Last active Dec 16, 2016
A CLI for searching for a matching group and returning only that group (Rather than the entire matching line as grep does)
View regex
#!/usr/bin/env python
import re
from sys import argv
if len(argv)<3:
print("{} <string> <pattern>".format(argv[0]))
chrisshroba /
Last active Dec 15, 2016
A one liner flask app!
(lambda a:a.route('/')(lambda:'Hello')'flask').Flask(''))
chrisshroba / nginx.conf
Created Oct 31, 2016
The nginx configuration for
View nginx.conf
server {
listen 80;
server_name w;
client_max_body_size 15M;
client_body_buffer_size 128k;
root /usr/share/nginx/www/wiki;
index doku.php;
View -
/* File: simp3.k */
requires "arithbool.k"
ARITHBOOL-SYNTAX introduces (variable free) arithmetic and boolean
chrisshroba /
Created Sep 23, 2016
Dogfacts Slack Bot
from flask import *
import random
import json
app = Flask(__name__)
def before_request():
raw_text = open('facts.txt').read()
g.facts = raw_text.split('\n')
chrisshroba / slack-dogfacts.txt
Created May 4, 2016
Input data to my Slack bot, DogFacts
View slack-dogfacts.txt
Dogs are cute
It is a myth that dogs are color blind
Dogs DO have better low-light vision than humans because of a special light-reflecting layer behind their retinas
A German Shepherd guide dog led her blind companion the entire 2100 mile Appalachian Trail
If never spayed or neutered, a female dog, her mate, and their puppies could produce over 66,000 dogs in 6 years!
Dogs’ only sweat glands are between their paw pads
Like human babies, Chihuahuas are born with a soft spot in their skull which closes with age
The breed Lundehune has 6 toes and can close its ears
Teddy Roosevelt’s dog, Pete, ripped a French ambassador’s pants off at the White House
President Lyndon Johnson had two beagles named Him and Her
chrisshroba /
Last active Mar 10, 2016
Function to clear all iTerm scrollback history
# Clears all iTerm scrollback
# Useful to run before commands with long output
# (simply scroll to top to find beginning of output)
c () {
echo "\033]50;ClearScrollback\x7"
You can’t perform that action at this time.