GnuCash现金流柱状图

Ken Thompson在老婆带孩子回娘家的一个月里写了一个操作系统。咱比不了大牛,但利用这个空档,给GnuCash写了一个现金流柱状图报表。

GnuCash提供现金流报表,可以总结一段时间内(比如一个月或者一年)的现金流进出情况,但是没有柱状图,无法看出逐月或者逐年的趋势。开始想把数据抄到电子表格里,然后利用电子表格的图表功能做分析。但是懒惰的程序员太懒了,不想搬数据。利用独立日假期长周末,照着GnuCash里面两个现成的报表,综合了一下,弄出一个现金流柱状图报表,部分截图效果如下:

想看具体数据的话可以选中下图里的show table选项,表格就会出现在柱状图下面。

 

由于RMS老爷爷的执拗,GNU项目一律使用Guile作为扩展主程序的方式,幸好有点LISP的底子,照猫画虎写了这个报表,至此,Scheme, Common Lisp和Emacs Lisp三大LISP方言全用过啦!

下载链接:cash-flow-barchart.scm (GPL)

 

冲浪待何时

坐在窗边写程序,看到邻居一家收拾冲浪板,大人拿着大的,小孩拿着小的,兴冲冲地出去了。等再次抬头的时候,发现他们已经回来了,一看时间,已经过了四个小时。如果不是他们回来时的喧闹,恐怕我还不知道世上已千年了⋯⋯

温馨的画面竟没有在我心里激起一丝涟漪。既没有想到往日自己也会带着儿子出去玩儿,也没有想起冲浪是自从来到圣迭戈后最想玩的玩意。短暂的中断没有带来任何干扰,毫不费力地,我重新把全部精力投入到面前的程序上,直到做出了一个原型。

收回注意力之后,才有些感伤。我也想跟儿子出去玩儿啊!我也想去冲浪啊!

儿子回国半月有余,虽然晚上都会视频,每天仍然摆脱不了怅然若失的感觉。有一天实在受不了了,通过skype,从地球的这一端,给地球那一端的儿子讲了一个故事。讲到一半,我把笔记本电脑转过去,摄像头对着书,让儿子可以看到书上的插画。然而摄像头视野有限,儿子于是发出指令,向左,向右,向上,我就这样一边配合着一边讲,一本《轱辘轱辘转》就这样讲完了。

我不会游泳,可看人家冲浪,一下子就喜欢上了,想着等咱退休了,也去学游泳,冲浪。其实心里明白,现在就可以,不必等将来。但就是觉得没时间,也没有钱。难得有点时间,不是写程序生成现金流报表分析自己的财务数据,就是看The Upside of Stress这样的书。偶尔看个片,都跟打仗似的,已经不记得上一次痛痛快快玩一场是什么时候了。

想想以前的日子,真是过得没心没肺。没担心过钱不够花,没思考过养老的问题,投资更是玩票性质,没上过心。出国是个转折点,自从到美国后就觉得自己穷,报税、养老、投资,每一样都努力做到极致,那股狠劲儿就像资本家一样,只不过压榨的是自己。从使用电子表格收集消费数据,到全套使用GnuCash,甚至用Scheme写程序定制报表,就是想弄清楚,钱到底花到哪里去了,自己是不是已经到了破产边缘。

偏偏这时读了一些“黑魔法”书籍,如your money or your life, the 4-hour workweek, work less live more, the $100 startup。以前从来没问过自己上大学是为了什么,上班是为了什么,不就是当一天和尚撞一天钟嘛,到了年纪就退休,退休了就去帮儿子带孩子。日子过得惬意的时候,懒得去想未来,又有什么好想的呢,大家不都是这么过的吗?!

原来,退休不用等到六十岁;原来,不需要每天工作8小时也能挣到钱;原来,靠钱生钱养活自己的日子,不是那么遥不可及。