Skip to content

Instantly share code, notes, and snippets.

@peterkeen
peterkeen / query.sql
Created Mar 4, 2012
Complicated ledger query
View query.sql
-- Count the number of months where the 12 month moving average of after-tax expenses excluding travel (basically, normal ordinary expenses) went up, down, or didn't change
select
sum(case when pct_change > 0 then 1 else 0 end) as up,
sum(case when pct_change < 0 then 1 else 0 end) as down,
sum(case when pct_change = 0 then 1 else 0 end) as no_change
from (
select
xtn_month,
((expenses - prev) / prev) * 100 as pct_change
@peterkeen
peterkeen / gist:1548326
Created Jan 1, 2012
python "anonymous" functions
View gist:1548326
def some_anonymous_function(arg1, arg2):
print "%s %s" % (arg1, arg2)
def some_named_function(func, arg1, arg2):
func(arg1, arg2)
some_named_function(some_anonymous_function, arg1, arg2)
View gist:1198431
$ irb
irb
>> a = 1
a = 1
=> 1
>> a[0]
a[0]
=> 1
>> a[1]
a[1]
View gist:1138235
>>> foo = { 'a': 1, 'b': 2 }
>>> foo.update({'b': 444444, 'c': 3});
>>> foo
{'a': 1, 'c': 3, 'b': 444444}
>>> dict(bar='baz', **foo)
{'a': 1, 'c': 3, 'b': 444444, 'bar': 'baz'}
View gist:1090270
2011/07/05 * Eat At Joe's
Expenses:Dinner $50.00
Liabilities:Credit Card
; :reimbursable:
2011/07/06 * Drink At Fred's
Expenses:Drinks $25.00
Liabilities:Credit Card
; :reimbursable:
@peterkeen
peterkeen / gist:1025209
Created Jun 14, 2011
SQLAlchemy Session from DBAPI Connection
View gist:1025209
def session_from_connection(conn):
def passthrough_conn():
return conn
# note that the url here doesn't matter, but it has to parse correctly as a url
engine = create_engine('postgresql://foo@bar/abc', creator=passthrough_conn)
session = Session(bind=engine)
View gist:840678
$ cat run
cat run
#!/bin/sh
nohup bash -c 'while true; do sleep 10; done' </dev/null &> sleeper.log &
echo $! > /tmp/sleeper.pid
;
$ sudo ./run
sudo ./run
[sudo] password for pak:
@peterkeen
peterkeen / gist:808562
Created Feb 2, 2011
Add this to your [aliases] section in ~/.gitconfig
View gist:808562
alias = "!sh -c '[ $# = 2 ] && git config --global alias.\"$1\" \"$2\" && exit 0 || echo \"usage: git alias <new alias> <original command>\" >&2 && exit 1' -"
@peterkeen
peterkeen / balance_sheet.pl
Created Dec 31, 2010
Calculates month-over-month and year-over-year balances using ledger and SQLite
View balance_sheet.pl
#!/usr/bin/env perl
use strict;
use warnings;
use DBI;
my ($year, $month, $day) = get_date();
my @balances = (
View gist:705447
select (
select
date_trunc('day', date_page_requested)
from
ua_user_page_requests
where
page_request_no = x.page_request_no
) as day,