Skip to content

Instantly share code, notes, and snippets.


Phil Hansch phansch

View GitHub Profile
phansch / GitHub.PowerShell_profile.ps1
Created Oct 1, 2012
My custom PowerShell prompt
View GitHub.PowerShell_profile.ps1
function shorten-path([string] $path) {
$loc = $path.Replace($HOME, '~')
# remove prefix for UNC paths
$loc = $loc -replace '^[^:]+::', ''
# make path shorter like tabs in Vim,
# handle paths starting with \\ and . correctly
return ($loc -replace '\\(\.?)([^\\])[^\\]*(?=\\)','\$1$2')
function prompt {
phansch /
Last active Dec 25, 2015
Custom setup script.
# Author: Philipp Hansch
# This script assumes Linux Mint 15 Xfce as a base distribution
# Make sure you have access to this script when you setup your system
# Use at your own risk.
aptget='sudo apt-get'
phansch /
Last active Dec 30, 2015
Fixing my local jekyll setup (pygments.rb-0.5.0/lib/pygments/popen.rb:358:in `rescue in get_header': Failed to get header. (MentosError))

Jekyll failing with:

Liquid Exception: Failed to get header. in _posts/
/home/philipp/.rvm/gems/ruby-2.0.0-p247@global/gems/pygments.rb-0.5.0/lib/pygments/popen.rb:358:in `rescue in get_header': Failed to get header. (MentosError)
        from /home/philipp/.rvm/gems/ruby-2.0.0-p247@global/gems/pygments.rb-0.5.0/lib/pygments/popen.rb:338:in `get_header

Tracked it down to Running gave me the following error:

$ python
phansch / gist:8617494
Last active Jan 4, 2016
class-book.rb stack trace
View gist:8617494
$ bin/shoes samples/class-book.rb
NoMethodError: undefined method `[]' for #<Shoes::Link:0x1304ff98>
normalize_style at /home/philipp/code/shoes4/lib/shoes/dsl.rb:75
each at org/jruby/
normalize_style at /home/philipp/code/shoes4/lib/shoes/dsl.rb:74
span at /home/philipp/code/shoes4/lib/shoes/dsl.rb:463
method_missing at /home/philipp/code/shoes4/lib/shoes/url.rb:22
table_of_contents at /home/philipp/code/shoes4/samples/class-book.rb:21
incident at /home/philipp/code/shoes4/samples/class-book.rb:32
call at org/jruby/
View stuff.rb
text_styles = %w(code del em ins sub sup strong)
text_styles.each do |m|
para =, m, stroke: '#ccc'))
expect(para.text).to eq(m)
phansch / uniqueness_validation.rb
Last active Jan 6, 2017
Rails: Validating uniqueness without saving
View uniqueness_validation.rb
# Had to do this for an importer tool that was being converted to a three-step validation-feedback-persist process
# Rails does not support uniqueness validation for a custom collection of unsaved ActiveRecord models
# Maybe someone finds this useful
def validate_uniqueness
ActiveRecord::Base.transaction do
@unsaved_entities.each do |entity| # Executes validations/callbacks
entity.successful = entity.object.valid?
View association_testcase.rb
# Run with `ruby association_testcase.rb`
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
gemfile(true) do
source ""
phansch / .pryrc
Last active Aug 21, 2018
Colored Pry prompt including Rails environment and app name
View .pryrc
def formatted_env
case Rails.env
when 'production'
bold_upcased_env = Pry::Helpers::Text.bold(Rails.env.upcase)
when 'staging'
when 'development'
phansch /
Last active May 11, 2021 — forked from chetan/
Improved YARD cheatsheet