最后一个暑假

2009-8-28 评论(17) 分类:生活 Tags:

还没回学校,但有兴致了,就先写写这个暑假吧。

这个暑假95%的时间都待在家里,坐在电脑前,很少找其他同学,打球也仅仅只打了一次,无比宅~

推特中文圈

回家时带了又5本书回来,都是技术书,结果只看了一本半,其他三本都没看,本来是打算继续学javascript的,也有研究了两天jquery源码,但难度还是太大,看不懂~看来我还是在做东西的时候,比较有激情点,在“不知道要做什么”的状态下度过十几天后,开始着手做“推特中文圈”,起初只是想抓取中文用户的数据,形成一个“圈子”,做出个排行榜帮助大家发掘更多热门的中文Twitter,后来一想索性把所有功能都做了,有twitter4j这个java库,做那些功能是挺简单的,只需要加层壳。

疯狂地做了10天上线了,受到的正面评价之多出乎我意料,大家都对类似饭否的界面有好感,这样的界面才符合中国人习惯吧。在twitter特有的快速传播下,使用者也不少~以前做东西,做完了就完事了,没再去更新它,原因之一是因为没多少人用~这次就不一样了,很多人在用,很多人在提意见,于是放上去后还得忙着更新改进,改到现在已经和刚开始的时候差别挺大了,花了大量的时间和精力,不过其实如果这些时间和精力不花在这里,也不知道该花在哪里。因为脚走不了路了,只能彻底地宅在电脑前了~

其实说实话“推特中文圈”这名字不咋地,太长了,因为原本是想做一个真正的“中文圈”而不是twitter网页客户端才起这名字的。twitese倒是还行,既然起了就自然不改了。不过有时候还真不知道叫它twitese好,还是中文名“推特中文圈”好。

关于开源

Twitese上线后,有挺多人问开不开源,起初是想先完善一下再说,后来想,我这程序不咋地,只能放在GAE上,放在自己的java服务器上得经过巨大的修改,没人会这么做。要是开源了肯定GAE上会有很多twitese,但这不像dabr,分布在各个服务器封不了,要是GAE上twitese多了,GFW直接封了GAE就完事了。那我得成罪人了。现在只有一个twitese,树还不大招不了风,就算遭到了估计也不会影响到整片森林。所以开源行不通。事实上这样的非盈利的东西,谁不想开源,然后像dabr遍地开花~扩大影响力~

庸医

暑假另一事,就是碰上庸医了。以下属牢骚文。

脚长了东西,贴了膏药贴不好,但已经贴到皮很薄了,觉得就那么小小一点东西,皮又薄,现在去切除的话,应该很容易也很快恢复。于是就去医院切除了。不幸的是,碰上庸医,就那么小小一点东西,开了一道缝四针的口,主刀的两个人极为年轻,一看就是刚毕业或者去实习的,晕。为那么大一个伤口痛了几天,也郁闷了好几天,要不是这样,我早回学校了。明天该可以拆线了,希望别留下什么难搞的症状才好。倒霉到家了。

那个主治医生是个老混球,举个例子,昨天脚肿了,去医院看,他按了按问痛不痛,答不同,于是说,没发炎。老爸问用不用打吊针,他说,打吊针也好,我说,没发炎要打吊针干嘛?他说,预防一下也好。靠,完全不看病人需要,你要打吊针更好,打完不会有副作用,我又有钱赚,何乐不为。就这么个混蛋。那医院也是很黑,洗个伤口,所用材料棉花 胶布 胶纸 酒精,加起来不过5毛钱的成本,定价20元。前几次由年轻医生洗还多用了些棉花和药水,最后一次那老混球洗,就只用三支棉支沾了些许药水一擦,就封上胶布了,再次靠,抠门到这种地步。这种医院快点倒闭!

觉得碰上庸医实在是件不幸的事,我觉得学医的人,为病人着想是基本素质,如果这点素质都没有,就别当医生祸害人民了。

游戏

另外这个暑假在QQ游戏上应该玩了有近200盘的台球了,没事想放松就玩,想放松的时间又太多了,所以玩得太多了,在电脑里不知道还能玩些什么,对游戏都提不起多大兴趣了~

最后

这个暑假就在推特中文圈,脚伤,和QQ桌球中度过了。。没啥意思~这该算是最后一个暑假了,下一个要实习了。就此永别暑假~

新浪微博试用手记

2009-8-27 评论(3) 分类:互联网 Tags:

一直想试试新浪微博,但没收到邀请,注册也不行,一直进不了,后来@icnwhy给了我账号试用~在此感谢~试用后,想写篇博客文章说说看法。

界面

登陆界面做得很华丽,内页则跟一般微博客大同小异,但侧边栏的文字看起来粗糙,像没排过版,估计是测试版的原因。

http://farm4.static.flickr.com/3518/3860700061_56bbe7061a_o.png

转变

1.twitter上的@回复变成了博客式的评论

跟校内/人人网上的状态一样,只能在某条消息下面评论,不能回复。没有@功能。这样的转变大大降低了交流的灵活性,感觉给框死了。而且“我的评论”栏里只会有“收到的评论”而没有“发出的评论”,也就是说发送出去的评论不值得记录,很容易出现跟博客一样的垃圾评论,像下面这条:

2.twitter上的RT变成了“转发”

转发的内容以不一样的形式出现,跟自己说的话明显区分开来。twitter上的RT让人看起来混乱,也不利于统计数据。但新浪微博这样的转发形式带来的问题是,如果转发一条已经是转发的消息,那么那条消息的非转发部分不会被包含进去。例如转发下面这条消息,“推荐” 二字是不会被包含进去的,只能原封不动地转项立刚写的那些。但如果加上非转发部分,这条转发的消息将会类似网易跟帖里的“盖楼”,巨大无比,所以这样的 “转发”形式也是有很大限制。依旧是,不利交流,框得很死。

3.twitter上的标签#变成了“话题”

话题用两个#包住,例如#话题#。个人觉得相对twitter的一个#,新浪微博的两个#让人更容易分辨标签与普通内容,也不会让真正需要使用#的地方产生错误,多加一个#还是值得的。

4.twitter上的follower变成了“粉丝”

这纯粹只是改革称呼,给人感觉是新浪微博一开始就冲着明星来。这样的词语个人觉得不妥当,不过是想关注一下某个人在微博上说了什么,怎么就成了“粉丝”了?普通朋友之间的互相关注,用“粉丝”这个词让人感觉不太舒服。

审核

在国内,每一个用户产生内容的网站,审核功能是重中之重,关系到网站的存亡,估计饭否现在在恶补审核功能了。新浪微博自然明白要生存就得加大审核力度,除了机器判断关键字外,对有问题的关键字还会进行人工审核,审核通过才能发上来。用户多了后,这得要多大的人力啊,也许以后就直接屏蔽了没得说。也许因为是内测期,对敏感词还不那么敏感,可能是我掌握的敏感词不多,试到现在只有下面俩字会敏感。估计正式开放使用后,对内容的管制会更严,达到国家要求的水平~

细节

新浪微博限制的字数跟Twitter一样是140字,但却有所不同,新浪微博是140个全角字符,即两个英文字母才算一个字,而Twitter是一个英文字母算一字。

顺便看了下新浪微博的HTML,发现它完全可以作为一个反面例子:滥用div,冗余代码多,没细究,不多说。随便找页满消息数的页面,单纯HTML代码就有100K,只能说新浪实力雄厚~硬件设施不是问题~

看法

之前我在twitter上说过,twitter有两个功能,一个记录生活和感想,一个是传播和交流信息。虽然前者是刚开始时的主要功能,但后者才是Twitter大放异彩的原因。传播和交流大多是通过RT和@回复实现的,所以个人觉得twitter在个人页面里,应该把@回复和RT跟普通消息分离开来,这是题外话~

而新浪微博对@和RT的修改,使得交流和传播功能大大减弱,可以说生来就是记录和分享生活的,而不是交流互动传播信息,可以说是阉割版twitter,取其皮去其根,这也是跟天朝国情有关,在这样的环境下还想做一个互动交流方便的公共产所,无疑是找死。

很早之前在饭否上说,国内最适合做微博的就是新浪,凭其强大的明星阵容和新浪博客的用户群,再加大宣传,一下子可以吸引很多人普及大众。但目前来看,明星们也就只是在上面发博客文章的链接,懒得说话,再加上这个微博充满限制,能否吸引大众,持观望态度~

新浪微博可以说是真正的“微博”,微型博客,吃透了字面意思,除了限制字数外发送方便不用标题外,跟新浪博客没太大区别。再加上各种各样的限制,对这样的东西,个人实在是提不起兴趣去真正使用它~

推特中文圈

2009-8-16 评论(64) 分类:作品

twitese

遵从我一个假期一个作品的习惯,这个暑假的作品完成了:推特中文圈 – Twitese http://twitese.appspot.com/

(update:PHP版项目地址:http://tuite.googlecode.com)

介绍

推客中文圈Twitese旨在帮助中国twitter使用者寻找国内优秀twitter用户,同时让大陆用户无需翻墙即可更新状态和浏览好友消息,通过抓取twitter上的中文用户形成”排行榜“以及“随便看看”,让用户有一个类似饭否的界面和功能使用twitter。

原理

twitter 一两个月前开始被和谐,估计以后是不会再恢复了,于是出现了很多翻墙或不翻墙使用twitter的方法。其原理是通过API把获取和发送twitter信息的程序放在国外服务器上,国外的服务器访问twitter没有限制,而国外的这台服务器没有被和谐,所以国内也是可以访问的,等于把这台服务器作为国内用户与twitter连接的中介。这就是twitter不可能被完全封杀的原因,每一台外国服务器都可以把你连接到twitter上。推特中文圈也是这个原理。

功能

此网站搭建在Google AppEngine上,也就是外国服务器。分两部分功能:

功能一:实现使用twitter的所有功能,发推,加好友,看消息。

实际上就是给twitter加个外壳和中介,跟itweet等网站一样。界面模仿饭否,所有用词都遵从饭否,缅怀饭否,同时也是符合国人使用微博客的习惯。

功能二:不断抓取twitter上所有中文用户,形成“随便看看”和“排行榜”

通过Google AppEngine的Cron功能,每隔一定的时间抓取某一用户的好友存进数据库,存之前判断是否为使用中文的用户。只要从任意一个好友数非零的用户开始抓取,循环下去,就差不多能抓取到所有twitter上的中文用户。对已抓取的则只更新最新消息,这样就形成了“随便看看”

困难

做的过程碰到的问题和困难不少,列举主要的:

  1. Google AppEngine的数据库很差,十分差,如下:
    • 数据库建立后不能增加新栏不能减少栏,必须删除重建才可以。
    • Key不能以数字开头,导致我每一个Key前都要增加一个字母。
    • 查询语句没有like也就算了,连or都没有,服了~导致制作排行榜的标签功能变得困难。
    • 一次最多只能查询到1000条数据。导致我不知道我已经抓取了多少条数据,排行榜上能显示的也就1000个用户。
  2. twitter停止source的申请,新应用只有通过OAuth验证才能有“from [myApp]”的字眼,OAuth验证需要经过twitter网站,这对于大陆用户实在不是什么好东西,没有了source,对于宣传和统计很不利。
  3. 本地测试十分慢,是因为本地读取twitter的API十分慢,有时全部传上去在网站上看效果反倒快了,另外Google AppEngine的上传很不方便,就算我只改某一个静态js文件的一个标点,都要整站上传,Eclipse插件也没有提供只更新cron的功能,麻烦。
  4. Eclipse一天无响应十几次-_-! 这不知道是什么原因

过程

暑假刚回来那阵子在想要做什么东西好,起初准备用javascript做一个AIR程序,jquery专用编辑器,后来发现AIR里的WebKit竟然不支持撤销功能,后来再发现Aptana写jquery也有提示的,更没必要做了,作罢。

后来接触下Google AppEngine,发现Cron Job,我在寒假做秘饭里饭否统计的时候就很希望有这么一个功能:每间隔一段时间执行一次程序,因为对web程序来说一个程序不能运行太久,抓取数据一次只能抓一点,所以要能自动间隔时间执行程序就能实现连续抓取。Cron Job正合我意~起初只想抓取所有twitter中文用户把排行榜和随便看看做出来就是了,后来觉得索性做全套,把用twitter需要的功能都加上了。

做的过程还是跟做Q版海底俄罗斯时一样疯狂,可能更疯狂些,我做东西似乎都急着要把它做完,这次做的速度也算挺快的了,5号开始到14号完成,期间还有一天回碣石没做。做的过程中觉得乱,但做完后觉得结构还可以不是很乱,该分出来的分出来了,还算清晰~接下来还要慢慢完善,还有许多功能可以做。

前天晚上放上去后发了一推,很快被传播,twitter的传播速度比想象中要快,那晚忙死了,都在回复和修复大小bug~看到挺多正面评价挺开心的,呵~辛苦没白费~

最后

祈祷别被封~