style:defaultalt 1alt 2

Tue, 02 Jan 2007 @ 19:18:10

budgeting in Emacs

With the start of the new fiscal year, I have been devising a new personal budget—hopefully one more suited to paying off college and expense tracking. The ideal scenario would be an efficient method for budgeting on the computer; something that takes as little time as pen and paper, but computes balances, statistics, and graphs quickly.

Sadly, I believe that most personal finance software is as deserving of my faith (in its reliability) as the old copy of Windows 98 hiding somewhere in the closet. A quick look at a friend's current version of Quicken is enough to remind me that conventional consumer software—once considering bugs, backups, and presentation—can often feel more cumbersome than performing the same task with pen, paper, and mental concentration…

About the same time I was trying to settle between using GNU Cash and just creating a checkbook-like spread sheet in Emacs `ses-mode', I happened upon a command-line finance application that could actually meet the requirements of speed, simplicity, data integrity, and statistical power. Appropriately named `ledger', this seemingly modest application performs everything from checkbook balancing and stocks to forecasting and detailed graphs; all with plain text and the command-line, regular expressions included. Thank you John Wiegley for providing the world with a first quality, well designed, accounting program!

Now using `ledger' regularly, my only regret was losing the spread sheet-like “feel” of rapidly entering data into columns. So I created ledger-indent.el, a small Emacs library that supplements the current CVS version of ledger.el by providing some forced indentation, including a right-justified unitary amount column. Using this code, writing tidy ledger entries is further expedited by simple use of the TAB key.

The following files demonstrate some additional setup of `ledger' with Emacs, including prevention for a tiny cache bug I found in `ledger': …/ledgerrc, …/ledger.sh, …/set-ledger.el.


Posted by timotheus | Permanent link | Filed under: software | (add a comment)
 
© Copyright Timothy Stotts 2002-2009. All rights reserved. ^ top of page
validate:  xhtml  css  rss  atomcontact:  email  gtalk <<< index of blog