蓝天,小湖,湖水中一方小筑

桃园仙谷——黑龙潭(一)

上班了,但是入职没几天就是五一,和一帮人一合计,出去转转。最后定了黑龙潭。 先说路线,东直门坐980到密云鼓楼,找辆车先到桃园仙谷,6个人,最后讲价到50(应该是五一涨了点吧,平时可能会少一点)。然后下午去逛的桃园仙谷,晚上住农家, 早上起床后吃了早饭找车去黑龙潭,买票进门,然后逛。回来先步行了一段,然后找了辆车截987,上车后一路到东直门,然后走人,嗯。费用嘛,没学生证,门票有点小贵, 加一块140,差不多了。 现在开始具体的东西吧。先说早上到980车站,本来说是7点半到学校,然后从那边出发到东直门坐车走人。临睡前明明设好了闹钟,但手机不知道咋回事居然莫名其妙的关机 了,于是乎闹钟没响。睁眼时,已然7点50了,赶紧电话联系,于是直接城铁到东直门。 本来以为到那上车直接走就行了,可惜到了那边刚知道,磨难才刚刚开始。先是从城铁出来,在走到车站的过程中,那叫一个人山人海,摩肩接踵啊,终于知道人是那么的多。好 不容易挪过拥挤的人群,挤到了那个长途大厅,还没走到那呢,就已经看到那一颗颗的人头,基本上是看不到人。找到同学,费了N大力气挤进去,过了好久那队还是不动。话说 再一次发现咱中国人排队排的太有才了,各种人各种挤,然后那队排的是各种形状。在那排了好久,郁闷的不行了,几个人合计了一会,决定挤出来在外面坐车,站着就站着吧, 站着总比在那等着几个小时上不了车好。过了好久,才来了一辆980,可惜站位不行,没挤上。于是总结经验,在第二辆车来之前站好站位,在神勇的wiwi的带领下,最后 终于挤上了980。 然后,就是漫长的1个多小时的车程,比较佩服djj,居然可以站着就睡着了。坐车到密云鼓楼下车,先不理一堆纠缠的黑车,直接冲向某小饭馆,解决肚子问题是大事。在那 家饭馆的盖饭还是满好玩的,首先就是啥饭都是一个价,7块,不管是带肉的还是不带肉的;其次就是那盖饭上来的巨快,刚叫没一会就出来了;最后就是,第一次看到饭盖在菜 上的盖饭,嗯。 吃完饭,找辆小车,问了问司机,说黑龙潭下午不行,就先去了桃源仙谷。说是10块每人,就是60,小讲了一下,讲到50。于是上车,在山上绕来绕去,倒是路过了传说中 的密云水库,虽然那天雾蒙蒙的,还是可以隐约看到那一大片的水的。8过最近由于有些事情,所以不让进去了,只能远观了。下车前司机吓我们说,找不到地方住了,就他的熟 人那还有间房,然后一问,一间通铺160,7张床,真TNND贵。于是不理他,让他把我们送到门口那,买好票,把丫甩了。说件孙子的事情,学生证没借,让人去买两次, 那司机居然去告密,真TMD孙子。买好票,甩掉司机,自己下去随便找了家院子,还有床,住10块一个人,再次BS那个司机一次。 进去了,开始爬吧。看着介绍很好,结果进去一看虽然不能用大失所望来形容,但确实没太多出彩的。满有意思的就是那个青龙天梯,建在一个瀑布旁边,一个那种铁的梯子,慢 慢爬吧。别的,没啥了,最后的时候时间不够了,没有上到顶峰,比较汗的是最后冲顶的时候,居然体力不支了,诶。 先写一半,广告之后,爱回不回吧,嘿嘿。

上来看看

租的房子开了宽带还没给装,郁闷了。今天为了回入职的邮件,只有到网吧来上网了。顺便发篇吧,嗯。动手做饭的感觉满好玩的,呵呵。

在宿舍的最后一晚

终于到了要走的时候,倒计时的时间也已经从两位数变成了一位数最后变到了今天的1,确切的说是变成了0,因为已经过了12点,呵呵。不知道想说些啥,只知道想在这个地 方继续好好坐着发一篇文章。 就像上一篇文章说的,没有伤感,不知道是不是因为自己已经麻木于此,但是还是有些怀旧,怀念自己在这个地方度过的点点滴滴的时间。熬夜看电影,调程序;早上的懒觉;在 宿舍喝酒吹牛;晚上的卧谈;对着电视中的情景评头论足;还有在生活中必不可少的掐与被掐;还有太多太多的回忆。这一切。为我平淡的生活添加上了浓重的色彩。 不知不觉就已经到了要走的时候,脑中还是研一甚至大一刚来时的那份记忆,搬家时收拾东西,不经意间翻到了大一刚来时的新生手册,翻看时不禁又是一阵唏嘘。看着那些不少 已经成为历史的名词,脑海中还是可以隐隐约约浮现出那时的样子。眼看就要走出宿舍了,突然很怀念起上下铺的生活,那首睡在我上铺的兄弟曾经是宿舍K歌时的必唱曲目,以 后,应该是没有可能再住上下铺了(其实上研后就不应该算了,因为,下面不是床了),也许还会有些许怀念。 由于住的这幢楼不是研究生聚居地,所以在楼道中找不到些许的毕业气息。没有以前老宿舍楼走人时堆积如山的垃圾,也没有晚上几个宿舍的人在楼道中边喝酒边指点江山,同样 也没有宿舍用大音箱放着离别的歌曲。这里有的只有静静收拾东西的几个宿舍,还有一帮生活依旧的师弟们。楼道,水房,电梯,这一切熟悉的东西,还是和过去一样,但是明天 以后,它们将同样只存在于我的回忆之中。 楼下的面包车仿佛永远是一辆接着一辆,拉着一车车的行李,让本在一起的我们,散居在北京甚至全国各地。曾经幻想过一个场景,毕业后,大家买房子的时候又买在了一起,于 是继续像宿舍一样串门,喝酒,吹牛。呵呵,幻想总归是幻想,虽然美好,但终究不会成为现实。 不知道想写些啥,只知道这是我在宿舍的最后一晚,一个人的宿舍,空旷而无聊,在屋子中说话居然能隐隐约约听到回声,也许是因为东西已经清理的差不多了,反正看着空空荡 荡的宿舍,总觉得怪怪的,找不到以前的那种熟悉的感觉,仿佛自己不是其中的一员,而只是一个简单的过客,根本找不到那种窝的感觉。无所谓了,也就是这最后一晚了,明晚 之后,我将不再属于这里。 以后,会想念这种生活吗?我也说不清楚,也许这就是围城吧,外面的人想进来,而里面的人想出去。不过,不管将来如何,我会永远记住这段时光,因为这里有我的青春(表拍 砖哈,有闲砖给我盖幢房子去,嗯)。 2点半了,离被赶走还有14个半小时,呵呵。

离别,在如雪的杨絮中

天气一如既往的热了起来,于是杨絮也一如即往的飘了起来。一样的挺拔的杨树,一样如雪的杨絮,一样忙碌的校园,所不同的只是我们,因为,在这一刻,我们选择了离开。 不知是否还能记起大一刚来时的青葱,也不知现在的我们,是否已经有了那份可以走入社会的成熟,唯一知道的,就是已经到了说再见的时候,和朝夕相处的伙伴说再见,和宁静慵懒的校园说再见,和无忧无虑的学生生涯说再见。 没有了本科毕业时的依依不舍,所以也就没有了太多的伤别离。在本科毕业时,虽然时常安慰自己,大家都在北京,想聚还是能聚的,但是这几年来,真正聚在一起的时间,真的很少很少,有些人虽然也在北京,但是在毕业以后,一次见面的机会都没有。这次研究生的毕业,虽然也试着用同样美丽的谎言来欺骗自己,但是在自己的心中,有个声音在偷偷的说,以后,呵呵,随缘吧。 不知道想写些啥,也不知道能写些啥,随便飘吧。细数几年来走过的路,越过的坎,大大小小的,也该有不少了吧。但是,成熟了吗?我不知道。有时在想,成熟真的是件好事吗?至少在我的眼中,成熟在某种意义上代表着麻木,麻木的对待着本该千变万化的世界,只生活在自己的小圈子中,有时候觉得这是一种可怕的事情,十分的可怕;但是,谁知道几年后是什么样子呢,残酷的现实总会把自己所谓美好的设想击的粉碎,然后撒向太空,变成绚丽的星空,然后告诉你,看,你的未来多美好…………也许几年后的自己,就会适应这样的日子,麻木的面对身边的人,身边的事,甚至是自己。时常会羡慕那些玩的很高兴的儿童们,羡慕他们那像白纸一样没有任何污点的童心。童心未泯难,一世童心更难,不知道,我有没有可能达到那份境界。 来点老套的吧,感谢朋友。说实话,我的朋友不多,虽然可以一起灌水的人有不少,但是真正愿意听我诉苦的没几个,呵呵,也许是我不想说吧,有些事情,自己一个人郁闷就行了,没必要把这种情绪传染给大家吧。不过还是要感谢大家,感谢身边的每一个人,谢谢你们给我带来的欢笑,最主要的是要谢谢你们能够忍受我经常性的无礼取闹,谢谢你们不计较我说话时刻薄的语气,还要感谢你们在我困难时伸出的援助之手。相遇是种缘,而相识相知更是几世的修为,不知道是我前几世的修行感动了上天,还是你们前几世的作为惹怒了某老大,反正结果就是我们在这一世成为了朋友。因为有了你们,我的学生生涯才变的这么多姿多彩。这些话,也许在别人看来是套话,但是在我这,是我发自内心的谢意。 聚散终有时,相聚是种缘,谁又能说分开不是呢。茫茫尘世中,有一刻的相聚,便是一刻的欢喜,至于以后,至少会相互记住,或者那已足够。 行走在校园中,看着漫天的飞絮,心中不知道是啥滋味。本来每年都对它很反感,但是今年,在反感之中,掺和了一些别的味道。不知道明年的时候,会不会对它有些怀念呢,怀念空中那像雪花一样的飘着的絮,那满眼的棉花团,棉花球,棉花垫子,棉花糖………… 又到一年飘絮时,但是在这个飘絮的季节,我们选择了离开。希望我们大家,都会有一个灿烂的未来。

GAE上的blog

折腾了两天发现后来发现没有用的东西,还是比较郁闷的事情。不过还好,没有被打击,又开了个新的东西。有了前面的一个经验,还是满快的,嗯。 做了一个十分简单的blog系统,说说里面有用的东西吧,由于blog很简单,所以只用了两张表,一张放文章,一张放Tags。其实本来懒到只想用一张表的,但是想想只有文章,那和留言板也没什么区别了,所以,加了个tag。文章中的taglist是用ListProperty建的,list的类型本来想用db.Key,但是查询那段代码写着太麻烦了,所以最后用了简单的字符串,没办法,我比较懒,呵呵。 还用到的一个模块就是认证,也是很简单的,传到服务器上后直接用google帐户的认证,满不错的,也满方便的,于是我就直接用了。在get时判断是否登录,如果登录了就显示表单,否则给个要登录的链接。两个用的是一个页面,用到了模板中的判断{% if %},也很方便。从表单取数据直接用self.request.get(<name>)就行了,没啥好说的。 还有个地方就是URL的正则匹配,在app.yaml中有,在webapp的main()函数中也有,我是在app.yaml中把所有的URL映射到了一个地址下,然后在webapp中细分。它的正则匹配就是在函数中按顺序匹配()中的内容,变量名随便起,然后可以直接在函数中用。 别的,没有啥了,嗯。

火炬·某独·某投

首先,我承认,把火炬和那两放一起实在太抬高那俩玩意了,真的。 这几天,看了不少这方面的报导,感动于金晶保护火炬的那个瞬间,同时也感动于留学生们的团结。至于那些无良的新闻媒体,不管你们是不是在某首脑的授意下这么做的,能把 事情扭曲成这样,真的很不容易啊。看看那些照片,某独的一个中国人没有,都是一帮闲着无聊的老外在那找抽,顺便赚点外快,对着一帮中国人的解释不听,不过也难怪,留学 生有解释没钱,某独的SB们没有解释但是有钱,所以嘛。今天看到那个free Japan的笑话笑的不行了,虽然基本上清楚他们是什么玩意,但是真的没想到还能玩出这 么有创意的节目。哥们台词没记住好歹也弄个提词的在旁边撒,啥都不懂就表在那装撒,诶。 别的,没啥想说的了,惊异于天朝这次媒体报道的迅速,消息开放了,也和像CNN那种东西对着干起来了,感觉这次天朝的态度比较强硬啊,很好很强大。其实这件事情,也许 是塞翁失马呢,感觉国人开始拧成一起和那帮SB干上了,呵呵。 有段话大家都引,那我也引吧,毛爷爷说过的:“如若敌人起劲地反对我们,把我们说得一塌糊涂,一无是处,那就更好了,那就证明我们不但同敌人划清了界线,而且证明我们 的工作是很有成绩的了。“其实觉得更应该说的一句话是这样的:“明犯强汉者,虽远必诛!“是甘延寿、陈汤在西汉末年给汉元帝的奏折中的,同时给上去的还郅支单于的人头 。呵呵,有点愤青了,打住打住。 最后,bless火炬,bless中国,更重要的,是bless我们大家能团结。

被GAE打击......

本来测试已经没啥问题了,但是,居然,它的那个urlfetch居然功能不全,或者是说那几个提供feed的网站有点啥,不管怎么样,结果就是,我用它的urlfet ch.fetch()抓不到我想到的数据,真郁闷。话说,更郁闷的是昨天拿来试这个功能的那个地址可以,要是昨天那个就不行了,我就不做了撒,诶。看来又要想东西做了 ,还是看看它和G家自己的东西能不能很好的结合吧…… 希望这两天的时间没有白费……

App Engine中后台任务的实现

灌水灌上瘾了,没办法,呵呵,就再来一篇吧。 写的那个RSS聚合应用,想在后台运行一个单独的线程,用以从那些地址更新RSS信息,一开始很傻很天真的用thread来写,写了一半想起来了,去查查支持不支持。 去开发者论坛上一找background,还真有人在讨论。扫了一眼,就是现在还不支持,然后一帮人在Google Code的某个Issue上灌水,话说我也去加了一瓢,嘿嘿。 目前不支持,但我还是要用啊,继续转,果然找到了个折衷的方法,其实也很简单,就是把那个本来要写成thread的类映射到某个URL上,然后过一段时间访问一下,这 个可以在别的任何机器上用计划任务实现。刚试了一下,效果不错,暂时先这么用着吧,呵呵。

在App Engine中访问外部网站

下午做RSS聚合网站时,需要从外部的地址抓feed,用的是feedparse的库。但是怎么弄都出错,所以很郁闷,想从RSS的字符串解析一次,看看有没有错。想 当然的使用了urllib,结果它也出错。由于有了昨天模板的经验,所以直接去找google的文档。果不其然,它不支持直接从外网获取内容,如果有此需求,则需要使 用它封装好的一个urlfetch库中的fecth方法。没办法啊,那就用吧,谁让人家的地盘人家做主呢。 抓取内容,判定返回值是否为200,取结果,到这一切顺利,于是就开始用feedparse解析。解析也没问题,但是郁闷的是,这样解析出来的东西没有时间信息了,就 是它得不到这个RSS的最后更新时间,去urlfetch的文档里面转了一圈,也没见有相关的内容,只好自己另想办法了。最后的解决办法是在FeedInfo中加入了 一个字段用以存放最后更新的时间,然后拿feed中的每个文章的updated_parse时间与这个时间比较,如果文章的时间较新则插入库中,否则不处理。在写时候 漏掉一条语句,调了好长时间,真郁闷。 PS:logging真的很好用,直接在服务器的终端窗口输出信息。其实我本来是想用printf的,结果伊居然不支持,FT。 PS2:如果loggin的消息调成debug,则在开服务器的时候需要加上- d选项,否则DEBUG的信息不输出,我为这折腾了10分钟,那几条logging语句一会加上一会删除,心里还直嘀咕,难道又被我找到个BUG…….

在App Engine中使用数据库

下午想了好久,才想到做一个类似Planet的Blog聚合的东西,也算是给自己玩玩吧。看了一下文档,它不支持往主机中写文件,如果需要存放数据的话,需要使用它的 Datastore,其实就是后台给提供个数据库,这样也好,也算方便管理吧。 动手写了写,大概需要两张表,一张表维护feed的信息,另一张表存放文章的信息,反正目前是这样的,以后有什么再加吧,呵呵。和Django中类似,直接用一个cl ass表示一张表,而且也是分多种字段值,无外乎就是那些啥个文本啊,数字啊,链接啥的,与Django不同的是它需要根据字段值的不同构建一个db下某个模块的实例 。还有一个reference字段类型用来表示关联表,它存放的另一张表中的某个字段值的key。大概是因为还算比较熟悉Django的数据库模块,所以没感觉到有啥 困难。有DB就需要有查询,App Engine的查询使用的是像Django中的模块,或者使用GQL语言,和SQL类似,不过它的文档中只有SELECT,而没有 其它的诸如INSERT,UPDATE啥,不过如果需要更改数据的值可以先查询,然后直接对结果进行赋值操作后调用put操作即可。用起来还是满简单的,呵呵,反正大 概能满足我的要求了。