2010-05-30

两个周未更新了

我的blog两个周没有更新了,原因是我这两个周里每天的博客时间被别的事儿占用了,而这个别的事儿就是我在上一篇博客里给自己挖的坑(真够罗嗦),头脑发热买了几本五线谱来挑战自己,现在已经深陷此坑,练了十几天没啥进展,看着谱子上的小蝌蚪还是发懵,真是隔行如隔山呐。

不过也再次验证了一个道理,欲速则不达,真是放之四海皆准的真理啊,21天无法精通C++,同样三个月也不可能学会吉他,两个礼拜想把钢琴弹好更是没戏。

不过我这次倒是想坚持一下,至少现在卡农的前两个练习我是练熟了,手指也没那么僵硬了,总之吧,我要告别《两只老虎》的阶段!

2010-05-14

以后要多锻炼

昨天又去打了一场篮球,体力比上次好多了,连续打了2个小时直到天黑。手感也差不多恢复了,只不过很长时间不打,会出现意识到但动作不到的情况,甚至眼睁睁的看着篮板球而"身不能至,心向往之"。

打完之后,筋疲力竭,回家连写博客的劲儿都没有了,倒是睡眠很香,一觉睡到闹钟响,起来之后精神百倍,看来以后要多出去运动运动了。

2010-05-11

郁闷的时候干点儿啥

我会弹弹吉他,这样可以压压我的手指,从中医学的角度来说,十指连心,是若干经络的起点,活泛活泛手指可以舒肝解郁。

或者在房间里唱唱歌,先唱青藏高原再唱回到拉萨,两首歌下来,胃就舒坦多了。

或者打开CS,把机器人的智商调到100,然后疯狂地用mp5与匪徒们对战,要是屡被爆头请尝试降低机器人智商。

2010-05-09

他们为什么会喜欢复杂的东西

不折腾就不舒服,有个小巧的linux发行版叫做puppy(虽然没有slitaz那么变态的小,但也绝对值得推荐),我前两天忙里偷闲,把它装在笔记本的sd卡上了,经过一番折腾,一切配置妥当,甚至可以编译helloworld.c了,这个时候我发现一个严重的问题-----puppy没有提供可用的vim,本来我给笔记本安装puppy就是让它轻快地起来,然后我躺在床上,敲一两行代码,用以验证某些书上的内容,结果没有vim,计划眼看要泡汤了。

比较讽刺的是,比vim庞大好几倍的编辑器emacs却躺在puppy的软件库中,抱着试试看的态度把emacs给装上了。虽然vim我用的不熟但至少还是可以拿起来干活儿的,而emacs这个据说是vim的唯一对手(当然,在口水战里,着两个编辑器总是扯不清)我却用得极其蹩脚,而且还不能抱怨,抱怨只能得到一大堆耻笑:"瞧你,连这个都用不好,你只需要这样然后再同时按下那个,最后,来吧再试试这段配置文件",然后丢过来一大段充满括号的配置代码。

如果说没有人会喜欢复杂的东西,我绝对不赞成,那么多的高手拎着成串的配置文件手脚并用地用着emacs,甜蜜地记忆着C-x C c ,M-x fu××之类的长串命令。竟然还有人宣称完美地解决了代码补全的问题,真不知道他是否用过真正的代码补全。也许是我用的太蹩脚了,他们为什么会喜欢这么复杂的东西?

2010-05-07

痛痛快快打了场篮球

今天要打篮球,开始时我还担心今天会下雨,因为按照以往的惯例,只要我们想打球,天气往往是立即下雨。

不过还好,今天天气很不错,非常配合,没有刮风也没有下雨,一切照常进行,还没下班我就迫不及待地把我的装备找了出来,n年前(n<4)的队服,上书醒目的11号外加公司logo,穿上球鞋,给篮球使劲儿打满气。

其实至少有1年没碰篮球了,而且也没有其他的运动,不出所料,刚上场不一会儿,我就气喘吁吁,汗流浃背,两股战战几欲先走。不过等慢慢活动一阵儿之后,开始恢复手感,投进几球后渐入佳境,4v4淘汰赛也把别的队给虐下去了几盘,恍惚之间我又仿佛回到了18+的年纪。

不过毕竟是28+了,蹦了不到一个钟头就再也没力气了,如果没有意外的话,明天肯定是浑身腰疼,现在只想再按照惯例喝杯冰镇啤酒,可惜我答应老爸不再喝啤酒了,还是白酒算了。

痛痛快快打了场篮球

今天要打篮球,开始时我还担心今天会下雨,因为按照以往的惯例,天气往往是这样的

不过还好,今天天气很不错,非常配合,没有刮风也没有下雨,一切照常进行,还没下班我就迫不及待地把我的装备找了出来,n年前(n<4)的队服,上书醒目的11号外加公司logo,穿上球鞋,给篮球使劲儿打满气。

其实至少有1年没碰篮球了,而且也没有其他的运动,不出所料,刚上场不一会儿,我就气喘吁吁,汗流浃背,两股战战几欲先走。不过等慢慢活动一阵儿之后,开始恢复手感,投进几球后渐入佳境,4v4淘汰赛也把别的队给虐下去了几盘,恍惚之间我又仿佛回到了18+的年纪。

不过毕竟是28+了,蹦了不到一个钟头就再也没力气了,如果没有意外的话,明天肯定是浑身腰疼,现在只想再按照惯例喝杯冰镇啤酒,可惜我答应老爸不再喝啤酒了,还是白酒算了。

2010-05-04

跟着扯扯淡

最近霍金霍大爷又放话出来说,大家小心一些,最好不要惹了外星人,不然人类文明可能会完蛋。这边唱那边就有出来和的,一帮专家又跳出来分析说,大家也不要太担心外星人会跟我们动武。我看也是,确实不用担心,因为担心也没用。

古时候有一说法,叫"天上一天,地上一年",乍一听觉得不可思议,可是现在的物理学越研究就越发现古人说的有道理,当宇宙飞船在天上的飞行速度接近或者超过光速时,那确实是天上一天地上一年。

做一个很俗的假设,其实神话中的天神下凡,就是外星人来地球逛街,至于七仙女什么的估计就是女外星人了。外星人能来地球得瑟,就说明他们拥有比我们先进的多的文明程度,要灭我们也是轻而易举,但是为什么还不动手呢?我想是因为宇宙中也有保护濒危物种的法律吧,猪再蠢,要是地球上的猪快死绝了,也得修好猪圈养起来。

2010-05-03

五一小总结

基本忘记了五一节的真实含义,对我来说,其实就是有机会多睡两个懒觉,而生物钟被打乱的难受则让我已经开始怀念早起的日子,还好,明天就开工了。

基本没有出去玩,因为终于有时间呆在家里,坐坐我的沙发,看看闲书,听听闲歌,真他妈闲啊。不过昨晚上还是和同事出去喝了小酒,而我们也充分发挥工作狂的精神,居然在饭桌上讨论工作内容,让随桌陪同的家属掩鼻而去。

基本没有写程序,不过还是没有忍住,写了个小程序来处理我的照片。

2010-05-01

写了个脚本整理我的照片

上次整理硬盘的时候把我的照片一股脑儿的放在了一个目录下,这次又有闲功夫了,写了个python脚本来处理我的照片。基本思路是使用PIL库读取照片的exif信息,取出拍摄的日期时间,根据日期建立新的文件夹,然后照片文件以日期时间格式命名。批量处理,比较简单。

#!/usr/bin/env python
# -*- coding:gbk -*-
""" 
复制指定目录的照片到目标目录,并且根据照片的拍摄时间进行重命名
比如某张照片拍摄于2008年3月15日12:00:00,则目标目录为2008\\03\\15\\120000.jpg
"""
from PIL import Image
import os, sys

def getdistpath(str, distdir):
    date = str.split(' ')[0].split(':')
    dirs = distdir + os.sep + os.sep.join(date)
    if not os.path.exists(dirs):
        os.makedirs(dirs)
    dirs = dirs + os.sep + ''.join(str.split(' ')[1].split(':')) + '.jpg'
    return dirs

def copyimage(srcdir, distdir):
    for path in [srcdir+os.sep+i for i in os.listdir(srcdir)]:
        if os.path.isdir(path):
            copyimage(path, distdir)
        else:
            writelog(path)
            try:
                image = Image.open(path)
            except:
                logstr = 'file open error:' + path
                writelog(logstr)
            try:
                distpath = getdistpath(image._getexif()[306], distdir)
                logstr = 'distpath:' + distpath
                writelog(logstr)
            except:
                logstr = 'getextif error:' + path
                writelog(logstr)
            try:
                if not os.path.exists(distpath):
                    image.save(distpath)
            except:
                logstr = 'file copy error:' + path
                writelog(logstr)

def writelog(str):
    global logfile
    logfile.write(str+'\n')
    print str

def main():
    if len(sys.argv) == 3:
        global logfile
        logfile = open('cilog.txt', 'w')
        copyimage(sys.argv[1], sys.argv[2])
        logfile.close()
    else:
        print '需要给出两个参数,第一个是照片目录,第二个是目标目录'
        print '例如:', sys.argv[0],'e:\\photo f:\\goodphoto'


if __name__ == '__main__':
    main()