This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export COL=$COLUMNS; awk -F '[ ()]|ms' '/\[CatalogItem\] Retrieved/ { c[int($8 / $6 / 100) * 100 + 50] += $6 } END { for(l in c) { print l, c[l] } }' production.log | awk 'BEGIN { max = 0 } { if($2 > max) max = $2; c[$1] = $2 } END { for(l in c) { printf("%5d %d\n", l, c[l] / max * (ENVIRON["COL"] - 7)) } }' | awk '{ r = ""; s = $2; while(s-- > 0) { r = r "#" }; printf("%6d %s\n", $1, r); }' | sort -n |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
# ## Introduction | |
# | |
# Auto-labeling Git commits with issues tracker IDs found in the current | |
# branch name. This script is meant to be used as a Git commit-msg hook. It | |
# expects a single argument, the location of the temporary file with the commit | |
# message the user entered, and it outputs that same message with maybe some | |
# extra labels added to it. | |
# | |
# ## Example |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -e | |
OLDREV=$1 | |
NEWREV=$2 | |
IS_BRANCH_CHECKOUT=$3 | |
function has_changes_to() { | |
git diff --name-only "$OLDREV" "$NEWREV" -- "$1" | grep "$1" > /dev/null |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
git diff --cached --name-status --diff-filter=ACM | awk '/\.rb$/ { print $2 }' | xargs rubocop -f s | |
exit_code=$? | |
if [[ $exit_code != 0 ]] ; then | |
echo 'Your commit was rejected because Rubocop found style guide violations.' | |
echo 'Run `rake rubocop` to test your code and inspect the offenses Rubocop' | |
echo 'has found.' | |
echo | |
echo 'If you really, REALLY want to commit this code, skip your pre-commit' | |
echo 'hooks with `git commit --no-verify`.' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Add this to .git/hooks/pre-commit to reject any commits | |
# that contain Git conflict markers. | |
if git diff --cached --name-only --diff-filter=ACM | xargs grep -H -n -E '^(<|>|=|\|){7}' > /dev/null; then | |
echo "\033[31mWarning:\033[0m You have left some Git conflict markers in." | |
echo 'Your commit is bad and you should feel bad.' | |
echo | |
git diff --cached --name-only --diff-filter=ACM | xargs grep -H -n -E '^(<|>|=|\|){7}' | |
exit 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# DESCRIPTION | |
# | |
# Simple read-only comand-line interface to your Things 2 database. Since | |
# Things uses a SQLite database (which should come pre-installed on your Mac) | |
# we can simply query it straight from the command line. | |
# | |
# We only do read operations since we don't want to mess up your data. | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function! MyOmniFunc(findstart, base) | |
if a:findstart | |
let existing = matchstr(getline('.')[0:col('.')-1],'#\d*$') | |
return col('.')-1-strlen(existing) | |
endif | |
ruby << EOF | |
require 'open-uri' | |
require 'json' | |
def issues(repo, token) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ProductForm | |
attr_reader :page, :form | |
def initialize(page) | |
@page = page | |
@form = page.find('form.new_product') | |
end | |
def title=(new_title) | |
form.fill_in 'product_title', with: new_title |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'open3' | |
require 'tmpdir' | |
module Literate | |
class Line | |
INDENT = ''.freeze | |
def self.indent(str) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Lotus has different applications in a single project, optionally with different configurations and/or mappings. | |
# ROM::Lotus should/could conigure a different setup per application, rather than a single global setup. | |
# Relations could be global (defined in ./lib) while mappings might live in both (./apps/web/ and ./lib). | |
# This would resemble how Lotus::Model is organised. | |
# | |
# The only problem here is that Lotus has no hooks for loading framework (it's all hard-coded)s, and | |
# therefore we can't easily extend the application load process with our custom setup code without | |
# resorting to monkeypatching. | |
# apps/web/application.rb |