1. 今天又是我生日….

我妈说了,阳历的不算,咱老家按照阴历来,于是在家又请了一回客,叔叔舅舅的全找个理由聚一把。然后我就把skype一开,就现场直播了。好,现在我们进入科学研究时间,其实我关心的问题是,能不能找到一些历法体系,使得每天都是我的生日? 恩,告诉大家,理论上是可以滴~

举例说明:

在我们学数学/计算机的人来看呢,历法就是时序系统,是一个时间(或者潮汐,地球自转等等触发的)触发器和一个计数器。假如我们要定义一个历法,最关键的有两条:

第一,历法要定义一个天,这个单位呢,一般肯定是按照恒星(地球自转)定义的,我也没法改,姑且按照太阳吧。(这个天是一个比较好识别的小单位)

第二,要定义一个月,相当于引入进位,就可以免得单一计数器记到几百溢出了(关键是人的计数器对这么大数字容易溢出)。这个月的定义很随便了(名义上叫月 我可以不跟月亮走,月亮不代表我的心)。比如说吧,我强行定义30天叫一个月,然后每六年润一次,然后无限逼近一个太阳年(此处逼近算法可自行推导),这个是一种方法。

由数论知识可知,只要选取不同的”元旦”(年的第一天)和月周期作为不同的历法,我就可以在不同的历法下每天都过生日(具体推导略). 当然了,什么时候选什么历法过完全取决于本人什么时候想吃蛋糕:)  不过鉴于目前数据不全,我的水星历法生日土星历法生日等没法计算了。当然,要是按照彗星或者那个从行星降级的冥王星的历法来看呢,俺们也就几十年上百年过一次生日,唉,要是不幸遇上那年撞木星的彗星历法,这辈子也就只过一次生日了 :)

  1. 删除代码的快感

One of my most productive days was throwing away 1000 lines of code. –Ken Thompson (UNIX co-creator)

这几天代码出了问题,老是调试不对,而且为了调试,把代码改的千疮百孔,重复的代码和printf这样的语句到处都是,注释也是满天飞,写了一重又一重。真的比意大利面条还缠绕。今天看到众多代码文件都勇超一千行,终于下定决心,把代码清理干净。今天大约扔掉1000行代码,附带写了几百行,居然一次测试通过。 删除代码真是一种快感,尤其是觉得这些垃圾代码不能工作的时候。

eclipse的CDT没有java环境好,但是重构也非常方便,今天是有史以来第二次不用vim写代码(第一次破例是用Emacs),终于知道为什么那么多人用eclipse, 因为重构,测试,断点,及时查错等功能太好用了。 看来以后也要逐渐熟悉在eclipse下写非java代码了.