Skip to content

Instantly share code, notes, and snippets.

View HaleTom's full-sized avatar
💭
Using human learning for machine learning

Tom Hale HaleTom

💭
Using human learning for machine learning
View GitHub Profile
@HaleTom
HaleTom / update_table
Created October 4, 2016 09:06
Update vim's ":help compatible" table from source code extract
#!/bin/bash -eu
table_to_update=./compatible_table
source_extract=./option_extract
function get_decorated_options {
# option_extract > while read -r option;
while read -r line; do
name=$(printf %s "$line" | sed -rn 's/^\s*\{\s*"(\w+).*/\1/p')
# Get decoration
# NO LONGER UPDATED
# Merged into: https://gist.github.com/HaleTom/631efef6fb6ae86618128647dc887aee
##################
# Set the prompt #
##################
# Select git info displayed, see /usr/lib/git-core/git-sh-prompt for more
export GIT_PS1_SHOWDIRTYSTATE=1 # '*'=unstaged, '+'=staged
export GIT_PS1_SHOWSTASHSTATE=1 # '$'=stashed
@HaleTom
HaleTom / gem-patch
Last active August 20, 2016 10:27
Patch gems then build them
#!/bin/bash
# Usage: gem-patch
# Code updates: https://gist.github.com/HaleTom/275f28403828b9b9b93d313990fc94f4
# Features:
# Work around `patch` returning non-zero if some patch hunks are already applied
# Apply all patches in $patch_dir (in order) to their corresponding gem(s)
# Build a gem only after all patches have been applied
# Only build the gem if it was patched
# Print the name of the git repository's working tree's root directory
# Search for 'Tom Hale' in http://stackoverflow.com/questions/957928/is-there-a-way-to-get-the-git-root-directory-in-one-command
# Or, shorter:
# (root=$(git rev-parse --git-dir)/ && cd ${root%%/.git/*} && git rev-parse && pwd)
# but this doesn't cover external $GIT_DIRs which are named other than .git
function git_root {
local root first_commit
# git displays its own error if not in a repository
root=$(git rev-parse --show-toplevel) || return
if [[ -n $root ]]; then
@HaleTom
HaleTom / bash.bashrc
Created August 12, 2016 02:40
bash.bashrc from Linux Mint 17.2
# System-wide .bashrc file for interactive bash(1) shells.
# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
Verifying that +tomhale is my blockchain ID. https://onename.com/tomhale