Skip to content
View gist:9863326

Leveraging Technology to Increase Pain of Paying and Improve Personal Savings

As technology advances, people are getting further from the hard concept of money. Without seeing immediate feedback, people repeat undesired behaviors without having any pain. The tendency to repeat previous behaviors without thinking of the original motivation has been observed (Ariely, D. & Norton, M. I., 2008). This behavior may cause repeated purchases without adequate deliberate decision-making.

This problem is exacerbated by the reduction of the pain of paying as the distance from physical currency increases (Ariely and Silva, 2002). We are increasingly moving towards electronic payments and this trend will not reverse (Borzekowski, Kiser, Ahmed, 2006).

The convenience of credit and debit payments directly reduces pain, in combination of self-herding leads people to inadequately consider other aspects of the purchase. With the exception of frugal individuals, people do not automatically think about the opportunity cost o

View gist:9744173
# Activate the gem you are reporting the issue against.
gem 'activerecord', '4.1.0rc1'
require 'active_record'
require 'minitest/autorun'
require 'logger'
# Ensure backward compatibility with Minitest 4
Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test)
View gist:9530304
### Keybase proof
I hereby claim:
* I am jshirley on github.
* I am jshirley ( on keybase.
* I have a public key whose fingerprint is 97AE 5583 48ED EBC0 4545 6CA1 A1E6 4CBB 40B2 552B
To claim this, I am signing this object:
View install_plenv.yml
- name: plenv | update plenv repo
git: repo=git:// dest=$plenv_root
sudo: True
sudo_user: ${plenv_user}
- name: plenv | install perl-build
git: repo=git:// dest=/home/{{ plenv_user }}/.plenv/plugins/perl-build
sudo: True
sudo_user: ${plenv_user}
View gist:6312764
#!env perl
use JSON;
use DateTimeX::Easy;
use Data::Printer;
my $json = JSON::decode_json(<STDIN>);
my $goals = $json->{goals};
View usblamp.js
var HID = require('HID'),
HID.devices().forEach( function(device) {
if ( device.product.match(/Dream Cheeky/) ) {
path = device.path;
YUI.add('paged-model-list', function(Y) {
var NS = Y.namespace('BackOffice.Model'),
Lang = Y.Lang,
isString = Lang.isString,
isArray = Lang.isArray,
isObject = Lang.isObject;
function PagedList() { }
PagedList.prototype = {
View app-short.js
var YUI = require('yui').YUI,
Y = YUI(/* Your YUI Config */),
requireAuth = require('./lib/middlware/auth'),
modelLoader = require('./lib/middlware/loader'),
app = /* create express app */;
Y.namespace('TDP').config = {
webservices : global.config.webservices.path
View app.js
/* Render the login action */
app.get('/login', function(req, res) {
/* Handle posting, if it fails this redirects back to /login, following POST-Redirect-GET */'/login',
function(req, res) {
View handlebar-helpers.js
YUI.add('handlebars-helpers', function(Y) {
var NS = Y.namespace('TDP'),
Handlebars = Y.Handlebars,
Lang = Y.Lang,
isString = Lang.isString,
isArray = Lang.isArray,
isObject = Lang.isObject,
isFunction = Lang.isFunction,
Aeach = Y.Array.each,
Something went wrong with that request. Please try again.