Let it be

Don't leave this world without anything left.

博客备份

这是之前的博客的备份

感想

关于读书

世上几百年旧家无非积德,天下第一件好事还是读书。

人说读书无用,我说读书本身是无用,因为只是读书或者说泛泛的读是不够的,只有精读细读,更重要的是读了之后还要应用在具体的生活中,才能让它有用,所以读书本身有无用之用,无用而大用,无用而无所不用。 而书本身又分很多种,一本书是否有用,对每个人都不一样,我写这篇文章并不 是为了告诉别人什么书好,什么书不好,只是为了记录一下自己的阅读状态,倘 若有人认同,也不枉我码了半天字。

对我来说书分下面几种:

技术类:这一类是为了提升自己的职业技能,吃饭用的家伙,是不得不读的,用到就得学,没什么好说的,学的好坏也没什么好说的,只是为了工作,安身立命,为人之本。现在做的是C++开发,很多知识都是边用边学,碎片化的学习方式,基本都是以google,StackOverflow以及各种技术博客为主,最近用emacs,学了一下elisp,试着看emacs的源码,因为sicp学了些scheme,大学毕业后也只看完过一本《c专家编程》,看了些dicom相关的书籍,其他的技术书籍都是概览,很少看完的。

文学类:这一类包括小说,无论好的,坏的,高雅的,庸俗的,晦涩的,肤浅的,都没多少具体的用处,有的仅是一种体验,体验不同的人生。人能活的时间不长,看书,是一种很好的扩展生命的方式,很多时候你自己不能经历的事情,看到别人的经历,就好像自己也经历过,就好像自己多活了几辈子,好的小说一定是代入感强的小说,能让你体验别样人生的小说,文笔或优美细腻或大气磅礴,以前的我肤浅,看不懂那些名著,一直都喜欢一些网络小说,网络小说唯一的好处是让我有了看书的习惯了,书看的多了才会有分辨能力,大学看了足够的垃圾小说后,大学毕业后当我看了《活着》,《白鹿原》,《在细雨中呼喊》,《围城》这些小说后才发现这才是好的小说,看《活着》羡慕福贵有那样的妻子,始终不离不弃,看《白鹿原》折服于朱先生的高德大才,鹿兆谦戒大烟的毅力;看《在细雨中呼喊》看到国庆被父亲抛弃后的心疼,看孙有元被当做死人抬出时又活了被当做诈尸我会大笑,看《围城》,喜欢其文笔,写景,写人,写事,都那么触动人心,印象比较深的是唐小姐拒绝方鸿渐时对他说的话,以及一路人在去大学任教时在餐馆的几段,特别是他们糟蹋那杯所谓的咖啡的一段会让你笑起来。

国学类:毕业后买了一批国学的书,都是看了一部分,很少有看完的,看的比较多的是孔孟之类的书,包括《传习录》和《近思录》,看的都很少,看了也没什么体会,没什么特别实用的价值,看了概论类的《章太炎国学讲义》《中国哲学简史》看了倒是感觉很好,算是扫盲了吧,鲁迅当年都说要尽量少读甚至别读中国的书,王小波对国学也不怎么感冒,觉得被过度研究了,说实话读国学类的书很难马上有什么实际的用处,就像中国哲学简史里说的,中国的文字精简,很多一直作者都不说尽、说清,老是习惯让读者自己去体会,言外之意比本身表达的意思还要多,不像外国的书很简单的论点都要说的尽量详尽并会列举大量数据,做各种实验,很多虚无飘渺的的东西人家都能具体化,数据化,让我这种笨蛋都能看得懂,而国学的东西,你要做的只是记下来,在生活中的某个时刻会因为某些感触突然就会蹦出那些句子来,读国学还有一个作用就是看得懂别人写的书,或者在别人引用古文的时候不会被吓到。

成功学:这一类型的书籍,我主要归为外文类的心理学相关的书籍,比如《少有人走的路》《正能量》《高效人士的七个习惯》,这类书属于立马见效的实用类书籍,最近也在看幸福公开课,里面有很多东西也是能立马获得效益的,例如其中说到的一个实验指出通过想象自己在在图书馆不断努力学习提高分数比只是想象自己的分数提高了的人更容易提高分数,其中还有说到冥想的种种好处,在《自控力》一书中也说冥想对于自控的作用,虽然我一直做得不好,体味不到个中奇妙,相对来说跑步对我的收益更明显,但我一直努力在做,成功学的书籍在光看不练的情况下往往很容易沦为鸡汤。例如《正能量》是最好理解的,整本书就是在讲一个东西:表现原理,简单地说,就是你的行为影响了你的情绪。直接看这个结论是没有什么感觉的,当作者把这个原理说尽说透,提供大量的实验和理论支持,告诉你为什么会得出这个结论,你才会感受到其实用性,不过真真用到生活中就需要大量的努力和实践了。 其实所有的书都是这样,本来要看完就是极难的,去实践就更加吃力了,但正是因为难所以做得人才少,我们才能体现自己的差异化,才能与众不同,你才有脸和别人说:“我就是我,是怎么点也点不着的烟火“(你也可以说是不一样的烟火),当然只是为了与众不同去做这些事情有点太舍本逐末了,最终的目的对我而言不是伟、光、正的利国利民,仅仅只是为了提升自己的幸福度,让自己过的更快乐,真正的快乐!

关于孤独

我是孤独的,虽然我极不愿意承认,但这是事实. 关于孤独本身,目前我似乎还没有好的解决办法,所以我写这篇文章就不能用于无病呻吟地絮叨一个人如何的寂寞,而是用于解释孤独的必要性,或许这是吃不到葡萄说葡萄酸的心理,或许这是一种自我的欺骗,但我仍觉得有必要写这样的一片文章,让无数孤独的人多一点理论武器,用于武装自己的精神世界,让自己在面对孤独的时候不再那么无助,不再那么迷茫,而是更加的从容,更加的淡定. 喜欢淑本华的一句话:要么庸俗,要么孤独.所以想必孤独之人必有其独到之处,其实世上任何一个人都是唯一的,你总能找出你与其他人不一样的地方,但是人们害怕孤独,这不能怪他们,因为人本就是群居动物,所以人们会尽量的掩藏自己与别人不一样的地方,生怕被人发现,即使这样很累,即使理智告诉我们是不对的,但是出于对孤独的恐惧我们总是选择委屈求全,我们总认为多数人选择的就是对的,害怕被集体抛弃,可是集体意见是怎么来的呢?好一点的集体意见是通过投票取得的,但大多数时候是声音大的那些人被当成了集体意见,我们要意识到人与人之间的不同,每个人都有其价值观,对事情都有其自己抉择,集体只有在少数时候的统一是有益的,大多数时候,为求统一是毫无必要的,只会阻碍的个人的发展,而大多时候的统一甚至是无声无息之间便发生了,因为我们已经习惯了盲从,总想着与别人一样。 但是这并不意味着排斥社交,只是在没有选择的情况下,在不得不承受孤独的情况下,能够更加的坦然,而不是一个人黯然神伤的呻吟着寂寞,时间如此珍贵,可以用来做更重要的事情,不会寂寞,因为没有时间去寂寞,让自己忙起来吧。 所以一个人的时候,别老想着自己的孤独寂寞,趁着自己还自由,无拘无束,没有负 担的时候,多看点书,没事就锻炼身体,培养点爱好,日子可以过的很开心,很滋润 的,两个人的时候,别老想着受束缚,烦心,还怀念一个人的时候的自由,动不动就 分手离婚,各种三年之痒,七年之痛的.珍惜当下,因为你所拥有的是无数孤独凄凉 的单身人日夜向往,梦寐以求的温暖.

关于等待

在知乎上看到一个问题问的是:哪些行为是浪费时间? 看到其中一条回答:

我的愚见,是等。 
等长大,等放假,等老板同意,等对方喜欢自己,等条件成熟,等下一次机会,
等更好的人出现,等公正到来,等待被救援,等某人回心转意,等一个不可能的
奇迹。
不等就是,活在当下。
喜欢这个人,就去聊天吃饭看电影。不用叽叽咕咕想如果XXX怎么办,如果XXX怎
么办。
喜欢这件事情就去做,就算做得不好,也是开始。
想要得到什么,就去试试看。等不到救援,试试去救援别人。
全部不再等,全部今天眼前现在开始做。

回想一下发现自己真的是一直在等待,小的时候等待自己长大,穷的时候等待自己变得有钱,矮的时候等待自己长高,丑的时候想象着以后的自己或许会变帅,读书了急着放假,放假了却对开学望眼欲穿, 单身的时候总希望自己有另一半,看了《围城》说:“婚姻就像一座围城,城外的人想进来,城里的人想出去”,为什么要活得这么痛苦呢?为什么不颠倒一下:一个人的时候享受一个人的闲适与自由, 两个人的时候享受两个人依赖与眷恋。 等,一直在等,等一切不如意的都消失,等一切都变好,希望时间过得快一点,希望明天快一点到来,也许这会让我们的生活多了些许的期待,代价却往往是以荒度当下的时间为代价。 总是在计划,想象着计划实现后的美好,然后就一直在等,仿佛时间到了,计划自己就会实现了,可是结果并不是如此,总是在拖延,想着不去做那些麻烦的事情自己就不会痛苦, 可是那只是在骗自己,痛苦还是会缠着你,逃避只会让自己更加痛苦。 珍惜当下,多么简单的四个字,怎么去做呢,我认为,当想实现什么或者得到什么的时候,应该先做相应的计划,搞清楚自己每一步该做什么,然后忘掉自己的最终目的,将所有的注意力集中在自己当下能做的事情上, 将自己能做的事情做好,这就是活在当下,珍惜当下,这样或许能让自己少一点后悔。

egg

这是在hacker news 看到的链接,排名很高,看了之后觉得很有意思,不知道人活着究竟为了什么的人不妨看看人家的看法: 原文链接:The Egg

下面是我自己的翻译:

你在你回家的路上死去了。
是一场车祸,没有什么特别值得说的,但是你留下了你的妻子和两个孩子,你死的很干脆,没有多大痛苦。急救人员尽了全力也没能挽回你的生命,你的身体撞的粉碎(相信我,这样反而更好)。
这时候你见到了我。
“发生了什么?”你问道,“我在哪?”
“你死了”, 我平淡的说出了事实。
“撞来的是一辆卡车。。。”
“是的,”我说。
“我。。。我死了?”
“是的,别伤心,人都会死的,”我说道。
你向四周看看,周围什么都没有 ,只有你和我。“这是什么地方?”你问道,“这是天国吗?“
“差不多吧,”我说道。
“你是神?”
“是的”,“我是神”
“我的孩子们。。。我的妻子”,“他们会怎样”,“他们会好好的吗?”
“这是我希望看到的”,我说,“你才刚死就一心想着自己的家人,在这里这是好事。”
你呆呆的看着我,对你来说我看起来并不像一个神,而是看起来只是像一个普通男人,或者女人,或者大概像某些权威人物。更像一个初中老师而不是万能的神。
“别担心”,我说,“他们会好好的,你的孩子会一直认为你是一个各方面都完美的人,他们会一直记得你作为一个父亲的伟大形象,而不会再有机会对你产生任何轻视,在公开场合你的妻子会哭泣,但是私下里会感觉到解脱,老实说,你的婚姻已经支离破碎了。值得安慰的是,她会因为感到解脱而愧疚。”
“噢”,你说,“那么现在呢?我是去天堂还是去地狱还是有别的选择?”
“都不是”,我说,“你会去投胎”。
“啊”,你说,“那么印度教的人说的是对的了”,
“所有的宗教和我们都没关系”,我说,“随我来”。
你跟着我一起走向虚空,“我们去哪?”
“哪也不去”,我说,“只是边走边说的感觉很好”
“那这有什么意义呢?”你问道,“当我重生时,我又变成了一张白纸,是吗?一个婴儿,因此我在这一世所经历的、所做的一切事情都没有任何意义了。”
“不是这样的”,我说,“你拥有过去每一世的一切知识和经历,只是现在你不记得了。”
我停了下来,用双手扶在你的双肩上,“你的灵魂比你想象的更加宏伟、美丽、浩瀚。一个人的心智只能拥有你本身灵魂非常小的一部分。就像把手指贴在玻璃杯上去感受水的冷热,你把非常小的一点点灵魂放在你的血脉里,当你收回这一点点的灵魂后,你就会获得它所拥有的一切经历。
“你现在这一世只活了48年,所以你还没有机会展开并认识到你强大的意识,如果我们有足够长的时间呆在这里,你就会慢慢的记起所有的一切,但是每一世都这样做没什么意义。
“那么我投胎过多少次啊”。
“噢,很多次了,各种各样不同的人生”,我说,“这一次,你会变成一个公元540年的中国的村妇。”
“等等,什么意思?”你结巴道,“你能让我投胎到以前的时间段里?”
“好吧,我想在技术上,你所知道的时间只存在你的宇宙里,和我来的世界不一样。”
“你来自哪里?”
“嗯,当然”,我说,“我是来自其他地方,和你的世界不一样的地方,那里有一些像我一样的人,我知道你想知道那是一个什么样的地方,但是坦白说就算我和你说了你也不会理解的。”
“噢”,你说,带着点失望,“但是等等,如果我投胎到其他的时间段里,在某些节点里不同时间段的我可能会和我自己相互影响。”
“当然,这一直在发生着,因为你在你的每个生命周期里都只知道那个生命周期的事情,所以你不知道这些相互影响在发生着。”
“那这一切又有什么意义呢?”
“真想知道?”我问道,“真的真的想知道?你问我关于生命的意义?没觉得这有点老掉牙的感觉吗?”
“但是这是一个合理的问题”,你坚持道。
我看着你的眼睛说道:“生命的意义以及我造出这整个宇宙的原因就是为了让你成熟”。
“你是指整个人类吗?你希望我们变得更加成熟吗?”
“不是,只是你一个人,我造出整个宇宙只是为了你,你在每一世中的生长和成熟都会使你变成一个更加智慧的人。”
“只是我一个人?那其他的人呢?”
“并没有其他人”,我说,“在这个宇宙中只有你和我。”
你茫然的看着我,“但是地球上所有的其他人。。。”
“都是你,都是你的不同的化身”。
“等等,所有人都是我!?”
“现在你懂了,”我说着并拍着你的背鼓励。
“所有曾经活着的人都是我?”
“是的,所有即将出生的人也是”。
“我是亚伯拉罕·林肯(第十六任美国总统)?”
“你也是约翰·威尔克斯·布斯(刺杀林肯总统的凶手)”我说道
“我是希特勒?”你惊骇的问道。
“你也是数百万被他所杀的人”。
“我是耶稣?”
“你也是每个信奉他的人”
你沉默了。
“每一次你祸害他人,”我说,“你都在祸害你自己。你做的每一个善行,都是对你自己做的,人类说经历过的,或即将经历的每一个快乐和忧伤的时刻都是你经历的。”
你沉思了很长的时间。
“为什么?”你问道,“你做这一切是为了什么?”
“因为某天,你会成为像我一样的人,因为那就是你,你是我的同类,你是我的孩子。”
“哇唔”,你惊讶道,“你说我是一个神?”
“不是,至少现在不是,你还是一个胎儿,你还在生长,一旦你经历过了人类所有时间的所有生命后,你才能足够的成熟而重生为我这一类。
“那这整个宇宙,”你说道,“只是。。。”
“一个蛋”,我回答道,“现在是时候让你去经历下一个生命了”。
然后我送你去你该去的地方了。

2013 总结

2013年就要过去了,boss说要我做总结,我讨厌企业的那种功利性的总结,我厌烦了过于具体且抱着侥幸心里的职业规划,但对于我个人来说还是非常有必要做一次总结,只为了这一年的变动。 这一年我离开了学校,离开了老师、同学,离开了自己所熟悉的一切,走到了一个自己完全陌生的地方,开始了自己新的一段生活,得到了什么,失去了什么,又有谁能够算的清。 这一年我理所当然的考研失败了,又没有勇气,也没有能力,开始新的征程,现在的我也开始犹豫是否还会考,这始终还是之后的职业发展才能确定的。 但这一年我至少慢慢的找回了自己方向,我开始更加认真的跑步,开始试着多读一些有深度的书籍,确定了自己生活中最重要的两件事——运动和阅读。 年初的时候一直处于空虚的状态,考研没考上的人生是相当惨淡的,每天只好玩玩游戏,学学吉他,打打网球。之后实在玩不住了,就急于找一份工作,可是那时候不是应聘季,基本没有公司在招人,找了几家公司做了几套试题,专业也不对口,实在提不起兴趣,那时候刚考完研,语言的具体细节都忘了,连double是几个字节都忘了,不过这种东西补起来也快,自己也在边找工作边看书补习,最后就遇到了自己现在工作的这家公司,面试的时候大概是3月份吧,当时公司就3个人,个个似乎都有比我厉害的精力,要做的工作也专业对口,工资还算正常,就答应加入了。

那段时间自己还在做毕业设计,大学的毕业设计一向很水,自己想做的项目老师就是不赞同,本想自己照着Linux1.1的版本实现一个轻量级的操作系统,最后的结果是给老师做了一个应用在开发板上的Linux内核裁剪的教程,做毕设本身也很郁闷,开始给板子连线写入内核的时候发现怎么都不成功,最后试了好几次才发现居然是板子坏了,试了好几块才发现一块可用的,板子的说明书也有错误的地方,耽误了我很长的时间,去实习的前两周我几乎都在实验室,板子连通了,可以写入内核了,就开始裁剪,内核的模块很多,一个个看过去,确定功能,塞选后,选上自己需要的模块,交叉编译,最后把原本5mb的内核缩小到了800多kb,后来面给几个硬件装驱动也花费了很多时间,官网wifi的驱动的不能用最后用了人家树莓派的驱动,开始实习之后就很少管毕业设计,每周去老师那一天,一直到要答辩了,才开始认真写论文,答辩过程也很水,老师问了几个问题,其中一个是:你用什么编辑的配置文件?我说:编辑器。

实习的第一天boss和我们讲了很多,包括企业文化、将来的发展愿景,拿将来公司上市后每个员工能活得很舒坦来诱惑我们,只不过,那天是4月1号。 实习那段时间我就开始在外租房了,1200一个月的房租,而且需要押金,我都用自己的积蓄搞定,实习工资是不够生活的,最后因为租的地方没空调,天气逐渐变热,实在受不了了,住了3个月后我就把房子给退了,暂时搬回家住了,每天要花一个到两个小时的时间从郊区赶到市中心去上班,本来打算过段时间和同学一起租房子的,后来到了七八月份老板说在江苏有注册一个公司,还没人,而且有房子住,于是我就去江苏住了。 实习期间主要干了dicom文件的读写,自定义数据与dicom之间的相互转化,中间遇到了storescp的问题一直到年末才解决掉,那段时间,看了很多dicom相关的东西,基本都是英文的,研究了dcmtk的源码,还发了几封邮件给德国的dcmtk开发者,换用Linux重新编译了一遍dcmtk,最后才发现是一个很白痴的问题,虽然浪费了很多时间,但也懂了很多,至少现在dicom网络传输对我来说已不是问题。 在江苏张家港的那段时间没有什么特别的,只是花了更多时间来跑步,坚持阅读有深度的东西,周末在家看电影或者到处逛逛,一个人生活,一个人上班,上班的效率有点低,但也解决了一些问题,完成了一个简单的超声工作站的程序,研究dicom,数据库,经常回上海来上班,老板不怎么追踪进度,我自己也比较散漫,没人交流,上班效率是很低的,说要招人的也一直没招到,本打算在江苏注册个生产许可证的,后来因为场地问题,条件不达标,就大概打算放弃江苏了,本来希望拿到政府支持的60万,听说同批来这创业的都没拿到,再加上我们的人很少,我又常回上海,公司长时间没人,估计更难拿到钱了,而且我们由于出勤问题也不被允许住那了。说起来就头疼,明年年初又要考虑租房的事情,而且还要花费很多钱在房租上,还有各种头疼的合租问题。

今年我开始试着读些书,大学只会看些技术书籍和网络垃圾小说,那时候自己没什么文化,没什么鉴赏能力,今年开始看一下有点深度,有点水准的书,虽然看的不多,但也比以前好的多了,今年看的书:

小说

  • 活着
  • 在细雨中呼喊
  • 1984
  • 令人战栗的格林童话
  • 十八岁给我一个姑娘
  • 围城
  • 挪威的森林
  • 白鹿原
  • 爸爸,我们去哪儿?
  • 鹿鼎记
  • 一个陌生女人的来信

心理学

  • 正能量 : 坚持正能量,人生不畏惧
  • 少有人走的路 : 心智成熟的旅程黄金时代
  • 高效能人士的七个习惯

技术

  • C专家编程
  • Digital Imaging and Communications in Medicine (DICOM)

其他

  • 别跟我说你懂日本
  • 当我谈跑步时,我谈些什么
  • 坛经

今年跑步变得更加认真了,在苏州的时候基本每天都会花一个小时跑5到10公里,下半年开始用Nike+计步,到现在总计也跑了460公里了,只是后面在上海每天下班都很迟,没办法好好跑步,最多只是上下班走走,以后生活稳定了要认真开始跑步了。

if I die yound

每天我都要坐一辆郊区往市区的车去上班,倘若某天在这车上,这辆不起眼的公交车上,在某个不起眼的地方,出了问题,汽车失控,结果是高速地撞上路旁的防护栏,继而飞下高架,车毁人亡,无论怎样,反正我死了,结果会怎样?

首先就当天而言,老板会怪我又旷工了一天,而家里人会因晚上迟迟等不到我回去而感到奇怪,然后打电话而我,听到的只会是无法接通或已关机,之后或许会打电话到公司去,得到的是我未曾到公司去后转而变得焦急,最后的最后他们会知道我已经死了。

如果我死了,首先感觉对不住的是我的父母,他们养大我不容易,现在好不容易熬到我大学毕业出来工作了,却就这样没了,人生三大辈之一便是晚年丧子,接下来的路怎么办,我也不知道,反正我已经死了。

如果我死了,我会觉得对不住我的老板,公司现在刚起步,就我们4个人,虽然我还算不上什么大牛,但经过大半年的磨合,现在也算是可堪一用,好多我写的代码,那些基本不带注释的代码,会变得很难维护,他们的工作量会变得更大,开发计划会延长,公司也很难招到合适的人,有能力的人更愿意去大公司,公司能不能活下去,我也不知道,反正我已经死了。

如果我死了,我会觉得可惜,因为我还有很多事情没有达成,我还没体验过爱情,我还没做过某个倒霉孩子的父亲,听孩子喊我爸爸,我未曾走出这个国家,到外面的世界去看看,我还不够牛B,还不足以让人敬仰,我还想让这个世界变得有所不同!虽然我的人生并没有多具体的意义,活着只是为了活着,人若是想证明人活着的意义本身就是徒劳的,人不知道自己为什么活着,但人都想好好活着,怎样才算好,每个人都不一样。但这些都没有任何意义了,反正我已经死了。

如果我死了,人们会很快忘了我,除了父母在开始一段时间饱受丧子之痛,慢慢的一切的一切都会随风消逝,慢慢的不再有人记得曾经有这么个人活着过,所有关于我的记录一条条的都会被删去,我来这个世界之前没人知道我,我离开后亦不会有人记得。

如果我真的死了,在我的葬礼上,不要放鞭炮,不能有鼓乐,亲爱的爸爸,你知道我喜欢安静的;别给我买墓地,因为我没有孩子,没有人会祭奠我,把我的骨灰洒在老家后门的小河上就好了 ;不要悲伤,太阳还是会照常升起,日子还得继续,我剩下的东西怎么处置都行,反正我已经死了。

running

关于跑步早觉得该写点什么了,今天是周六,没什么事情就一个人好好的写一篇关于跑步的文章吧

我的跑步经历

高中

现在回想起来我是在高三下学期才开始注意到要好好锻炼自己的身体的,那时候都是在中午放学后一个人到操场的塑胶跑道上跑步,跑完了之后还玩玩单杠,双杠什么的, 那会儿我的身体真的很差,记得班上有五十几个同学在测试跑一千米的时候就我和另外一个同学没通过,后面还补测;那会儿也有挺严重的鼻窦炎,去医院看了几次, 都是吃一些消炎药,吃了之后鼻子就会通气一段时间,药效过了鼻子又会塞起来,异常难受,医生说要做手术才能治好,我去网上搜了一下,发现做手术也会有复发的情况, 而且手术费还挺贵,再说在鼻子上做开刀这风险感觉挺大的,一时就没下定决心做。后来发现自己身体实在太差了,就打算锻炼,跑步之后我惊喜的发现跑完步后鼻子就通了, 相当于我吃一次消炎药,而且没有什么副作用,这可把我给乐坏了,于是后面我就断断续续的开始跑步了。

大学

高中没跑多久我就毕业了,到了大学后,跑步会更加认真了,一般都是晚上去跑,开始的时候在我们学校的南校区跑,南校区因为是新的校区,人挺少, 去跑步的人就更少了,几乎常常晚上就我一个人在刚建起来的塑胶跑到上跑步,上午去跑的时候,偶尔会看到一两个在操场上读书的同学,但人还是很少, 常常被过路的人看,总会觉得一个人这样跑有点不好意思的感觉,可自己想想谁又会在乎我在干嘛呢?也就无所谓了,再后来南校区不知道为什么操场晚上不开了,就只好到北校区去跑, 大学的第一个暑假去必胜客打工, 第一个月的工资我就用来买了飞利浦的spark2,那会儿这玩意还要400大洋呢,对我这种穷人来说还是挺贵的,跑步的时候能听歌就不会那么无聊了,跑的时间也长了很多, 跑完之后也拉拉韧带,做做仰卧起坐、俯卧撑、引体向上什么的。大学跑步也是断断续续的,什么时候想起来了就去跑,长时间没跑了就全身难受,感觉各种不对劲, 刚开始跑步那会鼻炎还是挺严重的,鼻子一直塞着,跑步都用嘴巴呼吸,更可恶的是跑了一段时间后身体就有种像针扎一样的感觉,仿佛是身体的热量散发不出去, 堆积在一点,摧残着那一点的组织,搞得我难受死了,可跑得时间长了,这些问题就慢慢消失了,就和我大学常说的一句话一样:习惯就好! 到后来跑步是一种享受,一天到晚浑浑噩噩的只有在跑步的那近一个小时的时间是属于我自己的,我可以静下心的细细体味一个人的平静,可以什么也不想, 也可以集中注意力思考某些问题,思考自己的生活,思考自己的状态,想想自己到底在干什么,想想自己到底想要什么。无论自己的一天过得多么无聊、多么颓废、多么堕落、 至少在这一个小时的时间我像一个人样。跑步能暂时把我从这个既定的世界中抽离出去,跳出自己连续的生活,跑步是对自己心灵的一次放假, 在跑步的时候我能抛开一切,不再纠结于任何事情。后来我接触过瑜伽,试着做冥想,发现我很难做到心无杂念,可在跑步的时候我就做到了,网上也有朋友会发现跑步的时候会进入一种入定的状态, 类似于坐禅。长时间跑步后会发现很多意想不到的好处,身体的各种小毛病也变好了,上课不容易瞌睡,以前常常长痘痘的我也在一点一点的变好了,可是我的大学不能一直这样永远持续下去, 我的生活常常高低起伏,时好时坏,大学常常因为各种原因导致对跑步产生懈怠,例如天气原因,在夏天天天洗澡,所以晚上跑完步出了一身汗也没问题,在冬天虽然不能天天洗澡,但跑步时控制 好运动量,也不会大量出汗,最可恶的是不冷不热的天气,在学校里的澡堂是有时间限制的,跑完步后大量出汗又不能洗热水澡是很郁闷的,洗冷水澡又太冷了,就在这样的纠结中,我在那样的季节就 会减少跑步的量,可是不管怎样,只要我想跑步了,我就会去跑,整个大学过下来,我发现凡是我减少跑步的时候我的生活就会变糟,凡是我认真跑步的时候,我生活的整体幸福度会提升很多。

毕业后

大学毕业了,在上海工作了三个月后,由于找不到合适的房子,且公司刚好在苏州有注册个分公司,且有房子住,这样我能省下租房的钱,我来到这上班, 偶尔也会回上海的公司, 对于这我是很满意的(唯一郁闷的是这里的pm2.5也挺高),这里很发达,但是人挺少,城市很干净,也挺安静,在这里我可以好好跑步, 安静的看书,听音乐,这些就是我想要的,最近我比以前更加认真的跑步了,考研之后的身体虚弱,现在也在慢慢的恢复,只是现在没有了塑胶跑道,换成水泥地后有些不习惯, 后来换成了用ipod touch5听歌,顺带用计步器来计算运动量,这样就不用在跑步的时候老是在想自己到底跑了几圈了,只是感觉还是没spark2有乐感,白开水的声音还是不习惯啊,再后来因为计步器不怎么准确,而且自己也想换手机了,就买了5s, 只是为了跑步,本以为5s自带的耳机很烂的,听了之后感觉还不错,而且跑步的时候带着居然不会掉,切换歌曲也比较方便,就用它了,毕业后的第二年我又回到了上海,依旧在公司附近租了个小单间,在附近找到一比较近的大学, 上海师范大学,终于又有塑胶跑道可以用了,而且学校里相对安静很多,可以很好的听音乐,不用在马路上等红绿灯,躲避路人,感觉好了很多。

如果说有什么东西时能快速且长久的提升幸福度的那就是跑步了,而且不需要什么苛刻的条件,最最重要的是你一个人也能做到。

跑步背单词

跑步也解决了我背单词的问题。虽然我高中时对于周围的人来说我的英语不算差,可到了大学后,和这里的本土学生还是没法比的,词汇量也少的可怜,就打算好好背单词了,直接一天到晚抱着本书啃是很累的,会让你有种想吐的感觉,我的方法是先过一边一个单元的单词,做到熟悉之后,晚上跑步的时候就听音频,这样背单词不会怎么累,更科学点的可以根据遗忘曲线来听音频复习,我的四六级单词都是这么背下来的,感觉也背的也很扎实。

跑步要注意的问题

任何事情做不适当了都会产生危害,跑步也是,如果你的跑步姿势不正确,会产生各种问题,例如膝盖疼,腰疼(反正我没遇到过)。跑步的强度也要循序渐进,不能太过贪心,多给自己的身体一点耐心,不要急着否定它,也不要报过大的期望,一点一点的慢慢改善,持之以恒,必能得到令你欣喜的回报。

跑步的资源

《跑步圣经》 各种跑步问题里面都有介绍 《当我谈跑步时,我谈些什么》村上春树的书,属于他的跑步自传,看了之后我特别渴望那样的生活,跑步、写作,多么理想的生活啊 豆瓣的跑步小组 在这可以找到各种问题的回答,例如跑步的装备,可以认识各种跑友 nike+,ios和android 都有的免费app,无需额外传感器,可以用机器自带的gps,没有gps的还可以用重力感应器计步,语音提醒很方便,挑战模式也挺好玩。 顺带写下我的nike+帐号,可以加我好友 >lhfcjhyy@gmail.com

poem

时间过得飞快,
快的让我害怕,
我怕一转眼就老了,
却仍旧一事无成;
我怕一转眼就死了,
却还是孤独一生;

why blog

为什么会有这个博客呢?

首先推荐一片博文:为什么要写博客

人生苦短,而互联网最为奇异之处莫过于能让一个人的思想永生,你在互联网上写的任何一段文字,只要其有意义,有人愿意读,那它就会一直被复制、转载、保存、流传下去。 将一切斥诸于文字,是一个人思想的本身的对话,是大脑的产出,我们每天都接触无数的信息,可最终又随时间消亡,了无痕迹,唯有文字能成为永恒的存在,倘若有利于他人,亦不枉此生。

技术

数据库性能测试

最近公司开发的软件遇到效率上的性能瓶颈,所以写了些代码测试一下数据库的读写效率:

测试目的:

测试表项设立主键与否,以及主键类型对检索效率的影响。

测试过程:

建立三个表,列值类型都是 int id和 varchar(100) uid,表一名为not_key_table,无主键,表二名为test_id_key设置int值为主键,表三m名为test_uid_key,设立varchar(100)为主键。分别往三个表插入一万条数据,然后从第5000条数据开始三个表连续查询1000次,统计使用的时间;

代码:

插入数据:

char *st = "INSERT INTO test.not_key_table(`id`, `uid`) VALUES(%d, '%s')";
size_t st_len = strlen(st);

char *query=new char[st_len + 1024+1]; 
char uid[65];
for (int i = 0; i < 10000; i++)
  {
    dcmGenerateUniqueIdentifier(uid);
    int len = sprintf_s(query, st_len + 1024+1, (const char*)st,i+1, uid);
    if (mysql_real_query(mydata_, query, len))
      {
        assert(false);
      }
  }

查询代码 :

以id作为检索条件:

char *st = "select * from no_key_table where id=%d";
size_t st_len = strlen(st);
char *query=new char[st_len + 1024+1];
MYSQL_RES *result = NULL;
std::vector uid_list;
for (int i = 0; i < 1000; i++) { 
  int len = sprintf_s(query, st_len + 1024+1, st,i+5000);
  if ( mysql_query(mydata_, query)) 
    { assert(false); } 
  result = mysql_store_result(mydata_); 
  MYSQL_ROW row = NULL;
  while((row = mysql_fetch_row(result))) {
    uid_list.push_back(row[1]);
  }
 }

以uid作为检索条件:

char *st2 = "select * from not_key_tablewhere uid='%s'";
size_t st_lens = strlen(st2);
char *querys=new char[st_lens + 1024+1];
MYSQL_RES *results = NULL;
for (int i = 0; i < 1000; i++) {
  int len = sprintf_s(querys, st_lens + 1024+1, st2,uid_list[i].c_str());
  if ( mysql_query(mydata_, querys)) 
    {}
  results = mysql_store_result(mydata_);
 }

三个表的的测试代码基本相同,表名改一下就行,测试计时使用的是断点,在关 键代码的开始和结尾设置断点,当代码运行到关键代码的开始初中断后,在 vs2012的监视窗口处添加一个@clk的变量,并将值设为0,然后运行代码到第二 个断点中断后,监视窗口就会显示运行这段代码所花的时钟周期。 测试结果:

test speed of retrieve data from databse with or without primary key. 1. 10000 line data select * from table 1000 times by retrieve id; uid table without primary key 8,230,374 8,550,001

one time 9467 8528

test_id_key with int number as the primary key 184,933 171,449

one time 1085 1014 * retrivev by uid ** uid table without primary key 15,997,671 16,019,505

test_uid_key with varchar(100) as the primary key 115,794 79,089 80,074

million clock id uid  
table uid 8.3 16.0  
test_uid_key   0.08  
test_id_key 0.18    

上面是当时用emacs的org模式记得笔记,记得数字都是测试所花的时间,总的来说有主键和美主键的差别是很大的,理论上来说mysql 用的是B+树,普通查询的时间复杂度是O(n),而有主键的时间复杂度是O(log2(n)),8条数据无主键要8秒,有主键就3秒,但1000条数据有主键就只要10秒,差距是很大的。 这次测试让我意外的是用字符串作为主键时间居然比用int型做主键效率还快,按理来说字符串比较的速度应该会比整型的比较会慢很多,但这里却相反,有点纳闷,有一部分原因或许是代码本身以及计时方式产生的误差,具体原因不清楚(知道原因的一定要和我说啊!),但以后至少可以放心的使用不长的字符串作为主键了。

数据库连接

最近在做数据库开发,使用的是poco C++库,用odbc的方式链接mysql,在传输 大的二进制数据折腾了很长时间,特写个文章给需要的人。

连接数据库

连接数据库本身没什么难度,按着poco c++官网的教程就能连上, 郁闷的是教程有一些错误,而且和代码版本对不上,我开始用1.4.6就发现好些错误,如插入数据时用按官网用 std::string aName("Peter"); ses << "INSERT INTO FORENAME VALUES(:name)", use(aName), now; 后面整了很长时间都不行,看了测试代码才知道应该用下面的方式: std::string aName("Peter"); ses << "INSERT INTO FORENAME VALUES(?)", use(aName), now; 再换到1.5.2版本时,发现use,now的命名空间都变了,由原来的Poco::Data,变成Poco::Data::Keywords, Poco/Data/common.h文件也消失了。 官网的教程与代码是有很多是不同步的,所以:

“RTFSC – Read The F**king Source Code ☺!” ––Linus Benedict Torvalds

使用自定义类型插入时,insert语句中的VALUES(?,?,?),问号个数要与模板中的 数据项目个数一致, 自定义数据类型的数据插入次序也要和数据库中表的列的 次序相对应。 odbc的配置对于新手也是个问题,windows(windows8 64 位)的32 位odbc配置管理器在这里:

C:\Windows\SysWOW64\odbcad32.exe

32位和64位是有区别的,32位只能用32位的驱动,mysql的odbc驱动也要额外安装 连接基本就是这些问题了

二进制数据插入、读取

二进制数据读取会比较麻烦,首先数据的大小要有个明确的范围,因为要设在mysql的缓冲区和poco的缓冲区,mysql的缓冲区设置方法为: mysql> set global max_allowed_packet=1000000000; 或者在mysql的配置文件 里改(安装文件根目录的my.ini,没有的话用bin/mysqlinstanceconfig.exe创建),增加一行:

max_allowed_packet=256M 程序里则为:

Session session("ODBC",DSN); std::size_t maxFldSize=0x0fffffff; //256MB session.setProperty("maxFieldSize",Poco::Any(maxFldSize)); 二进制数据插入、读取方法: BLOB dat_((unsigned char*)buffer,length); std::vector te_bl; session<<"insert into blobtest values(?)" ,use(dat_),now; session<<"select * from blobtest",into(te_bl),now;

Comments

comments powered by Disqus