《独唱团》与小锤子

2010年7月10日 11:30 查看评论(3) 分类:随记 Tags:

《肖申克的救赎》是我少数几部看了两三遍的电影,算是很熟悉了,在看到《独唱团》第一页时就觉得,那应该是电影里面Andy藏在圣经里的小铁锤的形状,这真是很巧妙的设计,充满暗喻,写几点想法。

《独唱团》暂时是一本体制内的书,它的愿望是通过小锤年复一年昼夜不舍地凿出一条通往体制外的道路。

一根小锤子怎可能凿出越狱通道,Andy告诉他们是可以的,《独唱团》也希望可以做到。

在监狱这么一个恶劣的体制内,也完全可以靠自己的能力和努力找到自己的价值。Andy为同伴争取到啤酒,十分满足。靠锲而不舍地写信建起了图书馆,惠泽多人。雕刻石头,寻找生活额外的乐趣。

在恶劣的环境下抱怨是没用的,也不必全心投入去开凿那条同往自由的路,如果一心只想着逃离后的自由,会是什么后果?Andy在不放弃自由的希望同时,可以努力地在体制范围内做很多有意义的事。

中国的体制没监狱那么恶劣,外国的体制也没沙滩那么美好。可以向往和努力去改变,但不要只看到自己生活环境那些肮脏的,忽略了美好的,只看到别人生活环境美好的,忽略了肮脏的。

iphone webapp:模拟tweetie

2010年7月3日 0:07 查看评论(1) 分类:作品 Tags:

img_0026

地址:http://webbang.net/lab/tweetie (桌面浏览器只支持safari/chrome)

IPhone Safari不支持position:fixed,这点很麻烦,一般读取内容的app都是头部和尾部固定,中间内容滚动这样的形式,而在web上没有了postion:fixed这个功能就没法这样做了。有人针对这个问题做了hack,iScroll做得很好,效果很平滑,甚至连旁边的滚动黑条都模拟了,还支持android和桌面浏览器,真是好东西。想拿它做个东西试试。

想实现tweetie里拖动刷新推的效果,于是对iScroll进行了小小修改,options里增加了edge参数,即设置哪里是边界。再用自家的iquery开始试着实现。

实现过程发现IPhone Safari性能还是挺差,一不小心就会变得很卡,例如:
1.头部放个会动的loading图片就会让整个滚动变得很卡,不得不去掉换成不动的loading图。
2.头部箭头翻转如果设置了动画转动,就会卡大约半秒才开始转动,不得不去掉这个效果。

结果现在的效果并不好,拖动刷新的过程没有原版tweetie那么流畅,不知还有没有优化的空间。

做这样内容式的webapp相对于原生APP来说,除了性能差点,还有一个缺点,就是webapp无法直接获取远程数据(跨域问题),除非用jsonp,像获取twitter数据这些,得在本地搭个类似代理才行,多了个服务器流量。

没有android可以测试这个应用,不过应该是支持android的~要是tweetie没被twitter收购,这东西可能还有做下去的价值,现在似乎就没啥价值了,就不继续做下去了~只是演示下效果。

另,在IPhone/ITouch上webapp真是二等公民,实在没法跟原生APP相比,不知道在IPad上情况怎样,有机会真想试试~

ThinkPHP数据自动验证中unique的缺陷

2010年6月23日 21:34 查看评论(1) 分类:技术文章 Tags:

ThinkPHP可以为Model添加$_validate属性,使得在使用create方法创建数据对象时能自动对数据进行验证,详细看这里

这其中有个unique的方法,即是验证指定栏的数据在表中是否唯一。向数据表里插入“唯一”字段时可以自动判断并且提示错误,但ThinkPHP这个功能有个缺陷,导致这个unique验证基本上只能在添加数据的时候使用,不能在编辑数据的时候用。

unique验证的源码在ThinkPHP/Lib/Think/Core/model.class.php第944行,对unique验证时就是查找整个数据表这一栏这个值是否存在,这样做在添加数据时没问题,但如果在编辑状态下就有问题了。例如编辑一个用户名和密码,现在不修改用户名只修改密码,因为用户名要进行唯一验证,此时这个用户名没有修改,数据表上是有这个用户名的(就是在编辑的这行数据),于是就提示已存在此数据,无法保存。

我想解决的办法可以是:在验证的时候判断是否传进了此表主键的值,例如判断是否传进了$_POST["admin_id"],如果传进了,对搜索到的数据提取admin_id判断是否相等,相等则不存在unique错误,不相等才出现错误。在这么核心的地方调用$_POST似乎破坏结构,那可以改改$_validate传递的参数。还不熟悉ThinkPHP,就不动手改了。

目前在我的应用中是只在新增数据时检测unique,编辑时不检测,如果编辑时unique的栏有重复了,再在save()时判断是否插入成功和提示,暂时是这样。

jQuery for Iphone: iQuery

2010年6月16日 0:39 查看评论(1) 分类:作品 Tags:

img_0015 img_0017

仿照jquery的API写了专用于iphone的jquery,索性叫iquery。虽然API很多一样,但里面的实现大多不一样,sizzle引擎改成了现代浏览器自带的queryselector,其他API很多实现上是简化了,很多并不常用的方法和功能没加上,增加了iphone特有的touch等事件,详细看文档。因为内部实现是自己写的,又没有经过很多测试,所以还不能像jquery那样随心所欲地用不怕出错,还拿不出手,只能自己用,打算边用边测试,先放上源码和文档。

文档同时也算是iquery的使用演示。建议在iphone/itouch下查看,同时还可以挺好地支持电脑上的chrome和safari,其他浏览器不行~

P.S 目前文档还有很多方法没有加上详细说明

文档:http://tiny.cc/iquery

源码:http://code.google.com/p/bangswork/source/browse/trunk/iquery/iquery.js

目前压缩前17.8K,压缩后9.4K

IPhone Webapp:手尺

2010年6月7日 20:08 查看评论(2) 分类:作品 Tags:

handruler_cover handruler_ctn

简介

测量手指比划距离的工具,两手指放在屏幕上,即会显示出两手指之间的长度,单位为厘米。

需要使用iphone/itouch打开并添加至主屏幕,才能开始使用,因为只有添加到主屏幕才能全屏运行。

应用地址:http://tinyurl.com/handruler

开发

一直很想开发iphone应用,还没试过开发用手指交互的应用,想想比开发一般的应用要爽。可惜想开发iphone应用得花很多本钱,首先买个mac,再买个$99/年的证书,我买个itouch都很费劲了,当然折腾不起。于是,转向webapp。

似乎开发iphone webapp的比较少,网上资料少,我想找iphone浏览器里多出了哪些事件,怎么全屏怎么离线缓存等都找了半天,后来在http://dedy.tv/看里面应用的源码直接偷过来了,但还是费了些周折。浏览器多出的事件也在这里找到了,真费劲。

于是先做了个小小的应用练练手,开发的第一个用手指交互的应用,虽然可能用处不大,但感觉爽,哈哈。

有空再写写开发iphone webapp跟普通网页应用的不同点。

杭州乌镇行

2010年6月5日 9:36 查看评论(11) 分类:生活 Tags:

一个多月前就想要去旅游,但对咱这样的穷学生来说,旅游的具体时间还得由机票价格定,结果便宜的机票只买得到5月底的,于是,5月28号,出发了。

飞机

第一次坐飞机,提前了差不多两个小时到机场,挺兴奋,飞机上升的感觉挺爽,很喜欢起飞和降落阶段从飞机上看下去的景象,建筑密密麻麻,车子像玩具一样跑,很可爱,哈。在飞机上看蓝天也很不错,有时候很漂亮,云一层层的。我们坐的是东方航空,飞机比想象中要小,肥肥的,哈。座位比想象中拥挤,车上提供饮料和点心/饭,都挺不错~~

飞机

西湖

第一天晚上到达时就直接步行去了西湖旁,看了会音乐喷泉,其实,我挺喜欢看喷泉的,不知道是不是那晚刚下完雨天气潮湿的原因,喷上去的水落下来时像雾一样,很漂亮,柔和的感觉。

音乐喷泉

第二天环湖暴走了差不多一圈,从差不多音乐喷泉那里,沿着断桥-苏堤绕回来一直走过去河坊街。似乎跑步和走路用的脚力不一样,我跑那么多次步也不见走路的脚力增强,还是容易脚酸~走到最后到达河坊街时脚酸到已经物极必反,不酸了~一路走过去,西湖十景虽然大部分都经过了,但并没有特别去留意,总感觉游得太急了。那天阴天有雾,景色挺不错的,朦胧朦胧的~

第三天下午又再去了一次西湖,这次是坐船过去三潭印月,轻松缓慢地游玩。而这一天天气又跟第二天不一样,大晴天,可以看到整个西湖了,很喜欢坐船飘荡在湖上的感觉,下次如果再去西湖应该要租船飘荡上一个小时。我忘了游三潭印月时那些景点的名堂了,当时感觉挺不错,悠闲悠闲地游晃。

可惜在西湖拍的照片都没了,实际上西湖没有给我留下很深的印象,我们游西湖的这两天都是周末,人多也为西湖减色不少。我觉得要是住在杭州,有事没事来西湖慢悠悠地晃晃是挺爽的,慢慢感受西湖美景。而作为游客匆匆游过,感觉没那么好~

西湖

(全文…)

第二次腾讯实习生应聘历程

2010年6月3日 21:26 查看评论(15) 分类:生活 Tags:

开始

第二次去腾讯应聘实习生,这次腾讯招人明显跟去年不一样,流程规范了,招的人也多了。

首先筛选简历进入笔试,似乎他们没怎么筛选,应该报名的都去笔试了,那名单那么长,没有细数,应该也有两三千人吧。

笔试

这次笔试比较爽,不是像去年那样所有报开发的都填同一份试卷考计算机几门基础课程和算法,而是各个方向分开了。就开发类的有JAVA/PHP/JS/FLASH,一份试卷四个方向都有,自己挑一个做。我当然选JS。他这试题出得很刁钻,一开始看吃了一惊,感觉很难,考得这么细这么冷门,后来觉得还好。细到什么程度呢?有这一题原题

还真想知道我那笔试试卷能得多少分,不过似乎他们没评分,没见着。早上笔试完当天晚上就通知一面,这么多人的试卷这么少的时间当然不会怎么去评分了,估计只是大概浏览下。

三次面试

技术类一面有700来人。不知道腾讯来了多少员工,面试700人,汗,真够花功夫的~去年估计也就一两百人吧。我本来还以为还是像去年那样在华师附近的腾讯办事处面试,结果估计因为人多,专门在大学城华工中心酒店包了N个房间进行面试。因为这个我一个星期内跑了四次大学城,真累啊~

一面的面试官给人感觉不错,很有礼貌,会对每个人说“不好意思让你久等了”。面试过程大都在问我推特中文圈的事,要我写出页面自动刷新新推的整个过程,问这个项目的难点在哪里,我觉得还真没啥特别难的难点,就说了下排行榜数据抓取和OAUTH。还有问我后面写的一列作品中哪个技术含量最高。就说陆战军旗了。其他的忘了问啥~整个面试过程感觉挺快。

等了两天才等到二面的名单,还剩两百来人,分了三天,我第二天才面试。二面面试官憨厚和蔼,感觉相当好,面试内容好像并没有考我什么,还是在说做过的项目,推特中文圈和陆战军旗,十来分钟就结束了,这也是这个面试官的习惯吧,每个人都是只面十来分钟。

三面面试官是个女的,还第一次碰到女的面试,还是问了挺多推特中文圈的,还有大学期间是怎么过的,有什么收获,家里情况怎样,有没有代沟什么的。问得挺严肃,面试官看起来很累,可能是因为当时是下午4点多,之前面过很多人了吧。答得不怎么好,自我感觉一般。

结果

23号面完HR,等了8天,直到31号我旅游了三天才收到被录取的短信通知,而具体信息还要继续等。今天通知6月10号之前通知完成实习签约手续,挺慢的,等到花儿都谢了~之前在等待各次面试和录取通知时很多时候很不蛋定,有点坐立不安,但最后收到录取通知的短信时并没有与之对应的兴奋和激动,可能等的时间太长了消磨了一些激情吧~还是够高兴的~

这次笔试和三次面试全在大学城进行,结果一个星期跑了四次大学城,累死,这次有小木舟和大头全程赞助陪伴,感谢两位兄弟的支持,最后大头也进了,可惜小木舟没有,不然是相当圆满~

运气

应聘面试这东西,除了技术底子,运气成分还是占挺高的,估计占到3成。另外两个同学二面的时候运气不佳,其中一个碰到个面试方法很怪异的人,问了两道IQ题,比较难的那种,同学答不出来。另一个碰到面试官问你能实习多久,同学说暑假两个月吧,面试官说我们这里规定是三个月的,只有两个月不行,同学说可以跟学校说下看能不能多留点时间,面试那人说开学了有课程就要上课。于是就杯具掉了。还有别的面试官喜欢问算法,还好我没碰到喜欢问算法的~算法这东西我平时慢慢研究下还可以,当面讲可能有点悬,这次我运气算不错了。

其他

对于实习时间这点,似乎很多面试官都会问,很奇怪,实习时间你们安排就是了,没特殊原因肯定你们要求实习多久就实习多久啊,进腾讯也不容易,到时也不会说急着想走人吧。让人感觉腾讯对吸引人才方面没信心。

另外,跟去年一样,无论哪一面,被刷的人是不会收到通知的,笔试和一面通过群发短信通知大家上网站查看名单,但只发给了通过的人,那些没通过的又没有熟人的只能干巴巴等,笔试和一面还好,可以上网站看名单,二面以后就没名单了,只能干等,那焦急的心理我有体会,二面以后剩下的人不多了,发个短信说一下“对不起你没过这次面试”只是举手之劳,却因为对自己没必要而不去做。我知道别的公司一般也都这样,但这一举手之劳会让人对这个公司留有好印象,还能体现公司为用户着想的理念。

浪费粮食的罪恶

2010年5月5日 18:58 查看评论(4) 分类:随记 Tags:

在所有的浪费中,似乎人们对浪费食物看得比较重,食堂里贴着“节约是传统美德”,有些人会一定把所有食物吃干净,还会鄙视(或多或少)浪费食物的人。

“锄禾日当午”“粒粒皆辛苦”这是古代的情况,古代民以食为天,吃饭是生活中最大的问题,也是最大的开支,所以人们对食物看得比其他物品更重,自然浪费食物会比浪费其他物品更遭人谴责。

但现代不一样了,农业技术发达,贸易发达,耕种的成本降得很低,人们对粮食的支出在所有开支中所占比例越来越小,浪费食物也没有像古代那样比浪费其他东西更罪恶了,所有东西的价值都显示在价格上。把浪费粮食跟道德绑在一起也是不合适的,粮食跟其他商品相比并没有多少特别之处,都是投入人力物力自然资源转化而成的,而且有些时候,浪费粮食会比浪费其他同等价格的物品所造成的危害更小。

举个例子,浪费同等价格的食物和汽油,哪个更不好?可能很多人会回答浪费食物比较罪恶,看着那么多可以吃的东西倒掉让人感觉不妥,下面分析一下。

浪费食物的例子通常是,食物不好吃,或者你已经就十成饱了,桌上还剩下1半的食物。那么不浪费粮食的结果是,自己硬塞下不好吃的食物,或者硬撑破肚子。前者还好,只是对精神上造成些不快,后者可能还会对身体造成伤害。那么浪费食物的结果呢,食物不一定会直接倒垃圾桶,可能会回收给猪吃,最差的也会在大自然里分解循环。

看看浪费汽油的例子,很难确定怎样才算浪费,姑且举个不太算浪费的例子,这样对粮食方有利。假设你要去上班,并不很赶,自己有车,可以选择坐公车还是自己开车过去。坐公车的结果是,路途可能没有开车那么舒适,增加自己一些不快。自己开车过去的结果是,增加自己路途的舒适(但其实也有可能并不舒适),但浪费了汽油。石油不是可再生可循环的资源,并且燃烧石油会释放二氧化碳,以及少量其他不太好的气体。于是这次浪费汽油的举动同时造成了环境的危害,石油资源的减少。

按上面的分析看起来,显然浪费同等价格的食物和汽油,浪费汽油更罪恶。

当然我不是在提倡浪费粮食,只是说不要把浪费粮食看得太重了,浪费其他东西造成的危害可能更大。

itouch使用感受&挑刺

2010年5月4日 13:57 查看评论(4) 分类:互联网 Tags:

买了个ipod touch 2体验下,跟之前想象中一样,用起来确实是很爽,爽在四个方面,一是用手指操纵灵敏快捷,二是交互细节设计好,三是速度快动画流畅,四是应用程序多。四者缺一不可,缺了一就跟mac一样,我试用过mac,一点都不觉得爽。缺了二三四就跟其他触屏手机一样,没什么特别了。

苹果产品设计很注重细节,确实很多地方都做得很好,但事物没有完美,产品更没有,还是挑得出刺的。现在说下几点感觉做得不太好的地方。

1.itouch背部极容易刮花,另外也是个指纹收集器。

2.输入方面,输入英文还是挺快的,但里面的中文输入法简直是噩梦,一分钟能输入20个字就不错了。

3.自带的闹钟不会自动调节音量。一般使用touch没人会把声音开到最大吧?我一般是关到静音的。作为闹钟声音应该是越大声越好吧?而touch闹钟不会自动帮你调音量,你一不小心调完闹钟忘记调高音量它就等于失效了。另外还不能使用音乐库里的音乐作为闹钟声音。

4.重力感应翻转屏幕没有开关。这在正常姿势下使用touch没问题,要是躺在床上用就麻烦了,屏幕总是向自己不愿意的方向翻转。为什么不加个开关?

5.safari浏览网页不方便,底部那栏东西没法隐藏,切换页面效果看似很好,但很不方便,要换看一个页面多了两步以上的动作。为什么不像传统那样标签栏放上面,去掉底部那栏按钮,用手势控制网页前进后退?

6.视频播放器,拖动条,必须按住那个控制点拖动才能倒带,无法像电脑上的播放器那样点横条上任意一点就跳转到那个位置。操作困难,也没有快进倒退上五秒下五秒的功能。

7.为什么同步图片无法选择压不压缩?一律压缩到只够屏幕那么大,一放大就模糊,那你放大缩小图片的功能有何用?苹果的传统:霸道

到目前为止有意见的就这几点了。

再说些题外话,我很喜欢iphone/itouch,但我不喜欢苹果公司,其做事方式的霸道让人不爽,像之前几例代理生产苹果产品的公司的员工跳楼的事件,还有上次某网站编辑泄露iphone4G导致被抄家,还有乔布斯前些天发的thought in flash那篇大义凛然的文章等等,都让我对苹果公司没有好感。我非常希望其他公司做出的产品能超过苹果。

桂林阳朔行·杂记

2010年5月1日 10:38 查看评论(3) 分类:生活 Tags:

这次旅游有挺多第一次的,第一次出省,第一次组团旅游,第一次坐夜车等等。

第二天下午进麦当劳厕所的时候,感觉很奇特,之前在一些旅游景区去过厕所,几乎都是很脏的,有的还脏到小虫子乱飞,西街里店面很大的餐馆也是,厕所都并不干净,跟麦当劳的厕所反差太大了。是否可以理解成,这是中西文化差异?

不知道那些管理大榕树竹筏的,还有西街沿路卖明信片的,还有在一些景点卖小东西的人是不是当地人,要是的话,那真是差劲,对他们印象极差,大榕树的管竹筏的态度极其恶劣,这种旅游景区,来了一次不会来第二次的,态度差你拿他没辙,只能回来向人宣传,这个地方真烂,旅游别进这里。那些沿途卖小东西的人是很烦人的,明说了不要,他们还是纠缠不清,就是要粘住你粘到你买为止。第二天下午我们在麦当劳外面休息的时候来了个卖明信片的,神经兮兮,表情诡异,把趴在上面的人一个个拍醒问要不要买明信片,还对人用手戳,靠,我怀疑真的是疯子,反正对这些人印象极差。

西街上虽然很多店面卖的东西都一样,但也不乏有特色的店,有一家好像叫“慢饮慢递”,可以在里面买明信片,写好日期,然后帮你在你指定的日期里寄出去,很简单的思路,操作也容易,很不错。

这次旅游很少买东西,回来后发现可以买的东西其实不少,只是有的我没逛到,有的觉得没用不买。要是老以实用主义的方式买礼物还真是没劲,第一次旅游是这样,以后应该就好点了~同行的同学也有不少买了东西后悔的,旅游区的东西挺诱人购买的,假货也很多,购物不能太冲动啊~

跟旅游团旅游是挺辛苦的,而且有时候他们设计的路线和安排的时间并不靠谱,有时还会让人恼火。但也是有好处,首先便宜,其次不用你动脑全给你安排好~

觉得旅游跟不同的人去是不一样的,有些人会独自背个包走各个地方,我是觉得挺没意思,良辰好景,旁边没人分享,不闷得慌吗。

我以前就发现,我们家乡风景也是挺好的,有山有海有田园,也可以算一个旅游景区的,只是开发不起来~

我对旅游并不感冒,这次旅游也没什么特别的感受,我想像这样去看一看名胜景区,并不会对自身修养造成很大影响,能造成影响的是不同的经历,长时间的积累才能形成。单纯看看风景的旅游是挺无聊的,风景不会比人重要,这次旅游最主要的是跟班上大伙玩乐的经历,山水风景是其次。