‘小凡原创’栏目的所有文章
2008年愚人节记事
昨天太忙了。。以至于没有在昨天及时完成一篇文字。。拖到了今天凌晨。
2008年的愚人节,也许将会是很值得纪念的特别的一天。
早上,跟一位前辈交流,感觉他说的话很有道理,使我受益匪浅。以下是前辈说的一些话,记录在此吧:
=====================================================================================
前辈
你是个人才,要避免伤仲永的现象
前辈
三四年前,你可能是鹤立鸡群的
前辈
现在,会感觉平淡了一些
前辈
过两年,可能会开始着急
前辈
我给你点看法建议、问题可能在哪
我
嗯
前辈
你可能出现了一个问题,三四年前
前辈
你把你目光能看到的高峰就认为是真正的高峰了
前辈
以你当前的目光
前辈
那个时候,你是出离于传统与水平线之外的
前辈
但是,可能有点遗憾
前辈
我们的大的社会背景和教育背景只能去注意你、议论你,而无能力去开发和引导
前辈
这样,你自己在摸爬探索,在这个过程中磨砺,渐至会失去锋芒
前辈
可能会浪费了你的材质
前辈
你知道你的这几年
前辈
如果你有所得的话,得是什么,如果有所失的话,失是什么吗
前辈
这是你现在需要明白的关键东西
前辈
还有得和失的比较分析
我
得的 知识 金钱
失去的 时间 青春 有可能会失去大学的文凭
前辈
不
前辈
错
前辈
得和失都不准确,失尤其不准确
前辈
你的知识我还不了解
我
嗯 请您指教
前辈
难于做出评判
前辈
我们要知道一点
前辈
人的发展、事物的发展都存在一个路径和节奏问题
前辈
路径是必然的,它之中的各个节点是不可跨越的,可变化的只是某个节点的快慢节奏问题,以及不同节点的快慢的组合
我
嗯
前辈
这点,有很多词语描述的就是这点,比如厚积薄发、十年磨一剑,比如跨越式发展
前辈
路径对于你来说,要深刻了解的方面是,它是必然的。迈过每一个节点
前辈
至于节奏,是这样的,存在一个加速度
前辈
在不同的节点之间的阶段、它的加速度是不一样的,在正确的方向比较直线前行的话,加速度是越来越快的
我
嗯 有道理
前辈
这点,你现在也可能还没有很好理解
前辈
发展是这样的
前辈
首先,最好是走直线
前辈
如果说最佳模型的话
前辈
大方向和中方向都是明确清晰的
前辈
是真正适合自己的方向
前辈
然后,就象爬山,尤其是爬大山
前辈
层兰叠嶂的大山
前辈
你眼前的山蜂只是你的第一个高峰,也同时是你的第二个台阶
前辈
爬上了第一个山峰,就眼前豁然开朗的是第二个山峰,你的第二个高蜂,底二个高峰的落差可能比第一个高峰的更大
前辈
而你爬它却可能需要更短的时间,因为你更好的爬山状态和准备
前辈
爬头一两个山峰,更需要的是积累、塌实、持之以恒,如果你的人生发展有5个山峰的话
前辈
如果你有超常的激情或者才智,最智慧的方式是,自己清晰它,然后一定程度上压制它
前辈
因为你所说的还不是真正的激情,也不是真正的方向 [...]
羊肉泡馍 以及其它吃的
写完上一篇文章,发现该去买菜了。又要吃饭了。那今天就写些关于吃的文字吧。
昨天又到康桥苑去吃了一碗羊肉泡馍,因为学锋不回家吃饭,而且酋长大人答应请客。
我第一次知道“羊肉泡馍”这个名词,就是03年刚来到交大的第一个星期,某日,某西安土著同学和我在康桥二楼吃饭,他要了一碗羊肉泡馍,然后告诉我这是西安最具盛名的食物,还很慷慨地分给了我一块羊肉(那一碗里就两块羊肉,直到现在还是)。最后,他还说了句,“…………,不过这里的泡馍不正宗”。
过几天我自己买了一碗,觉得吃起来还不错。其实这东西就是把面饼切碎了扔到羊肉汤里面泡,煮开。
再后来,到老孙家吃过所谓正宗的羊肉泡馍,觉得味道并不如康桥二楼的令我喜欢。
在西安呆的几年里,每隔一段时间我都要吃一次康桥二楼的羊肉泡馍。
自打03年从广西出来,5年间也到过不少地方,吃过不少东西,让我觉得好吃并且印象深刻的并不多。粗略想来有以下:
北大家园的水煮鱼。05年夏天,第一次到北京,北大的同学请我在家园吃了一餐,其中有一道菜叫水煮鱼,我印象极其深刻。我一般不吃辣,但是那水煮鱼是放了很多辣椒的,盆里能看见的地方都漂满了红色的辣椒油,更有胡椒孜然等一类我不喜欢的调料,但我居然吃得特别起劲。我几乎一个人把一盆水煮鱼给吃完了。那段时间逢人就说,北大的鱼好吃。但是后来,我回到西安在别的地方吃到理论上烹饪更为精良的水煮鱼,却难以下口。再后来,我再到北大,虽然心里很想念05年的水煮鱼,却也不再到家园去吃过——生怕它已经不那么好吃了。
人大小食堂的碗蒸牛肉。也是05年夏天,在人大居住过一段时间,曾有几次到一个小食堂(我不知道它确切的名字,只知道是一个比较精致的小规模的食堂,跟交大的小豆花差不多),吃过一个菜,是一个小碟子,装了几块牛肉,样子跟我们做的扣肉差不多,应该是蒸出来的。很好吃。其实它好吃的原因不仅是烹饪有方,更多的应该是因为它少,你刚刚觉得它好吃,就已经没了。而且价格不菲,一点点牛肉,11块钱一碗。想一次要几碗来过过瘾,在那时来说并不现实。05年之后,我再没有去过人大,虽然路过了很多回。那座本来就很小的校园,对我来说已经是一个空园。
交大东南门对面百姓家园的酱骨头+富贵牛腩。那年我还是一个农村里来的穷小子。一个有钱的女生在那请我吃了一餐饭,那是我第一次知道,两个人在一起吃个饭是能够花费上百元的。有句话说,“我奋斗了十八年才能和你坐在一起喝咖啡”,我想我那时候明白这句话的含义。那里的特色菜就是酱骨头和富贵牛腩,确实很好吃。
东新科贸旁边的小苏塘坝鱼。第一次吃小苏塘坝鱼,是几年前的一天到西安科大去看一个高中同学,他就近请的中午饭。那时这个店比较小,也比较破,位置是在今天百脑汇的地方。当时就觉得,这鱼做得怎么那么好吃,连跟鱼炒的魔芋都那么好吃。这几年里,小苏的店搬迁到了对面一个富丽堂皇的所在,店面扩大了好几倍,塘坝鱼的价钱也从18块涨到了26块,但依然好吃。这应该是我请朋友吃饭去的最多的地方了。
然后就是康桥二楼的羊肉泡馍了。哈哈。很朴实很不正宗的泡馍。说不出4块钱一碗的,只有两片羊肉的泡馍为什么会好吃。我离开西安的日子里,唯一想念的食物。
最后就是我最近特别喜欢做的一道菜,炒鱼排。应该是前一个星期,我整整一个星期每天晚上都吃这个菜。后来给诺日朗、王婧祎还有挑战的孩子们,以及学锋吕园园做过,大家都赞不绝口。。
今天吃什么。。这是个问题。。。。。。。
Happy birthday to Google
刚刚才发现Google的logo换了,还不明白是因为什么,看了一下logo的路径文件名(http://www.google.cn/logos/9th_birthday.gif),才知道是Google在庆祝自己生日。
小凡敬贺Google九年大寿,望多多发钱才是,哈哈。
14-16号,直播青春版《牡丹亭》
14-16号,在宪梓堂有青春版《牡丹亭》的第106场义演,我奉团委之命,和陈平等人一起对其做现场直播,因此可以没有票坐在中间位置观看了整场戏。
第一次真正看戏,看了三个晚上,总共九小时下来,居然能不看字幕听懂不少昆曲。
牡丹亭的故事主要就是讲一个官家小姐私自游园,在石头上打了个瞌睡,居然做了场春梦,醒后思念梦中情郎,竟郁郁而终。临死前画了幅自画像,题了首诗,藏在那石后。
巧的是那梦中情郎也在同时作了个春梦,梦见那小姐,进京赶考途中又在石下拾得那小姐自画像,竟害了花痴。
阴司判官怜惜那小姐,准她遇到情郎后还阳。她魂魄来到世上,与那情郎幽会,上演一场人鬼情未了。随后就是情郎掘墓,让那小姐回魂复生。再后来就高中状元,有情人终成眷属。
故事跟三言二拍里面那些才子佳人类的故事差不多,也算是俗套。但戏曲表演得不错,尤其声音很好听。
用手机随便乱拍了几张照片,效果很差,拍舞台的基本都是一篇灯光白,也有相机拍的,懒得发上来了。
我的电脑拿去做直播了;
直播中…… 旁边是中英文字幕,英文翻译比较扯淡,“九泉之下”可以译作”nine springs”。不过没注意拍下来
开场前,那角落里是复杂的声音发生系统
我们的机器
剧终男女主角谢幕,拍了也看不见
买了个新手机,回归CDMA……
13号去钟楼逛,看见CDMA的预存话费送手机(这个活动常年都有,常年都是特价),又想买个手机重新用一次CDMA。
最后交了1990元话费拿了个三星的手机,感觉不错,130万像素的摄像头,送2G的内存卡。
这是销售给我试拍的一张照片
我回家路上又拍了几张,感觉效果也只是马马虎虎,而且我手总是有点抖
选号的时候我本想用原来的13379223323,联通查了说那号已经不属于我了,只好新开一个
153号段只剩下惟一一个,我就拿了。
回来后拿电脑用蓝牙连手机,通过手机无线上网,感觉很不错,速度挺快的。
iis命令行
Microsoft在安装IIS的时候同时安装了一个工具,叫 iisreset,你可以在winnt\system32 中找到它,他可以和PING一样以命令行方式使用。它有多个参数,下面是几个重要的,也是我们本文切题的参数:
/RESTART 停止后启动IIS
/START 启动IIS (如果停止)
/STOP 停止IIS (如果启动)
/REBOOT 重启电脑
/REBOOTONERROR 如果停止IIS失败重启电脑
/NOFORCE 不用强迫IIS停止
/TIMEOUT:X 在X秒后, IIS被强制停止,除非 /NOFORCE 参数给出.如果 /REBOOTONERROR 给出, 它重启电脑.





浅谈验证码的识别技术
这些天出于一些需要,要求做程序识别某网站的验证码,于是潜心研究了一番,颇有心得,特此分享。
验证码识别这项工作不适合浮躁的人,它需要足够的技术和耐心。由于此技术的特殊性,任何一个被公开识别技术的验证码都会很快地失效,相关网站都会很快地更换验证码。所以本文只介绍最简单的验证码的识别和识别原理。
—————————
首先我选择一个最简单的验证码,找来找去,就选挑战网的评论验证码作为例子吧。随便打开挑战网一篇文章,找到发表评论处的验证码,查看其属性,获得其生成地址“ http://tiaozhan.com/checkcode.php ”。
显然,这是最简单的一类验证码:有固定的背景颜色,字符颜色,字体,连字符的坐标都是固定的。对于这类验证码,我们只需要对每个数字进行采样,建立标准库,然后应用的时候一一对照标准库,就可以轻易做到100%识别。
使用ImageCreateFromPNG函数把图片取回来,然后用imagecolorat函数取得每一个坐标点的色值,并且把第一个点的颜色确定为背景色。然后按照图像大小比例画一个表格,如果该单元对应的坐标颜色与背景色相同,不显示任何内容;反之显示黑色块。于是我们得到这样的分解图:
可以观察到,数字所占区域的y坐标是6-15,四个数字所占区域的x坐标分别为3-10,12-19,21-28,30-37。
于是建立以0-9为样本建立10个二维数组($arr_eg[0] – $arr_eg[9]),该数组每一个元素均对应该数字区域的每一个坐标,如果该坐标色值与背景相同,值为0,反之为1 。这就是我们的标准库。
识别的时候,同样取得四个数组,与标准数组一一对照,就可以精确地把四个数字识别出来。
同时附上此验证码识别程序,供大家研究。(demo.php是程序;arr.php是标准库)
附件: secode.rar (1688 字节)
———————–
以上的例子虽然简单,但是已经把基本原理介绍清楚了,就是 采样->建立标准库->应用->对照标准库->识别。
但是,实际应用中,遇到的往往不是如此简单的情况。比如下面是稍微复杂的一类验证码,它的背景和字符都不是纯色,还有很多干扰点,但其字符的坐标都是固定的。
首先我们对其进行去噪处理。就是首先把每个字符区域分割出来,按照出现的频率确定其主色值(字符的色值),然后去除与其相差大于一定程度的坐标,过滤之后得到目标所在的坐标数组,然后同样与标准库对照。但是这种情况下是不会精确吻合的,我们只能选择吻合度最高的昨作为结果。经过实践,识别率可以达到99%。
再难一点的,就是下面这种:使用了变色、干扰点、干扰线、变位等几种用于干扰手段。
与上一种不同,它的每一个字符所在的位置是不确定的,这就需要我们自己去确定其位置,把字符所占据的大小固定的那一个小块切出来。首先把所有的干扰点和干扰线去掉(去掉之后字符是有所“误伤”的,通常会缺1-3个像素点),得到比较干净的图,然后用一条横向和竖线去扫描它(比较形象的说法,具体如何实现请自己思考),把扫到的没有出现颜色的横竖线全部去掉,把分析范围缩到一个较小区域。然后再用竖线扫描,根据颜色的出现与否,又得到5个小区域,每个小区域再用横线扫,除去空白,得到目标区域。得到的目标区域有时候会比标准区域小想办法补全,然后对照,按吻合率最高的原则得出结果。最后识别率达90%以上。
再难一点。就是目前我研究的最难的一种了。如图,这种验证码除了干扰背景之外,每个字符的位置,大小,甚至字体都是不确定的。还好每个字符之间没有粘连。没有粘连就比较容易切字(当然要比上面那种难),切字之后字块大小不确定,所以很难建立标准库。我能想到的只有这样处理:切字之后对字块用横线或竖线扫描,根据其色块的坐标变化规律确定结果。目前正在实验中,能识别的字符还不完全,识别率也不甚理想。
———————
验证码识别这个问题算是人工智能和计算机视觉领域的一个难题。作为破解者,总是会处于劣势地位,而且此技术带有一定的不正当性,没有太多的研究交流,因此要做得很好,是非常困难的。而且个人对于很多OCR的技术,理解有限得很,不敢在此乱写,只能利用有限的知识,抛砖引玉而已。
KuiGG 2008-10-26
QQ 727136
E-mail i@kuigg.com