2006年04月19日

问题: 如何创造一个远程站点的本地镜像?

答案:
wget –mirror -A.shtml http://news.sina.com.cn/


  • wget: cygwin的一个命令。
  • –mirror: 在当前目录创建指定网站的镜像
  • -A.shtml: 只下载shtml的文件

类似这样简单而威力强大的工具,在cygwin下有很多,如果是windows下的程序员,有机会的情况下,应该认真学习一下这些东西,可以在很短时间内“拼出”功能很强大的应用程序来。

例如我现在正在做的一个小项目,原来3个人的小组用6周,我一个人用5天完成,而且不是全部的工作内容。常用的工具有这些:

  • shell: bash, pipe
  • grep, find
  • sed, awk
  • python语言

下一个问题:如果要你在当前目录下找出所有的shtml文件,然后将文件扩展名改为html,应该怎么做?
答案:
find . -name "*.shtml" -exec mv {} {}.html \;

  • find: cygwin下的另一个命令,也是所有unix/linux最常用的内容
  • . : 当前目录
  • -name "*.shtml": 指定递归搜索所有shtml文件
  • -exec: 对于找到的每个文件,执行后面的命令
  • mv {}.shtml {}.html: {}是展位符,会被find找到的文件名代替。例如:找到文件2006.shtml, 这个命令就会被转成 mv 2006.shtml 2006.html.
  • \; 标志-exec的结束。 为了与shell里面的;区别开来,用\转意。

最后一个问题:如果要将所有的shtml里面的<title>内容提取出来,统一输出到title文件中,应该怎样做?
find . -name "*.shtml" -exec cat {} | grep "<title>(?<title>.*)</title>" >> title \;

  • 加入了管道
  • 用cat, 类似DOS中的type, 将文件内容打印
  • 用grep找出<title>中间的内容
  • >> 表示在已有的文件末尾添加


优雅吗?

如果你感兴趣的话,非常推荐购买这本书:Unix Power Tools,绝对的经典。http://www.douban.com/subject/1105697/

后记:
上面最后一个问题的答案在文件很多的情况下会出问题,因为grep这个操作要等到全部完成以后才能进行。 下面这个解法更加干净一些。
$ find ./data/news.sina.com.cn/ -name "*.shtml" | xargs cat | grep "<title>.*</title" >> sina &

2006年04月04日

  1. 我设计了一套基于统计学和人工智能的算法,可以根据每一个人的阅读历史记录,训练一个机器人,然后由这个机器人来对没有阅读过的文章进行推荐。你可以在系统推荐里看到每一个链接都有一个针对每个人的推荐指数。 我希望随着提交链接的增多,这个功能能够更好的显示出它的作用。
  2. 我设计的算法除了推荐文章以外,还会根据阅读历史找出"兴趣相投"的人。我个人并不觉得现在的SNS工作的很好。我总觉得基于6度的原则找出来的人太多,价值并不大。我觉得最关键的是应该根据实实在在的指标找出相近的人,并且当每个人的习惯发生改变的时候,他有足够的灵活度或者自由去做自己想做的事情,而不用在意影响他自己的"朋友圈"。因此,与推荐指数类似的,你能看到对于每一个人与你的距离,还能查看到一个人的提交记录,喜好等。

今天看到关于Blogger Rank的两篇文章,把这个虚拟ID的想法扩展一下,我有下面几个想法,快速摘录于此:

  • 只有在现实世界中有名的人在虚拟世界中才天生有“信用”,否则每个人都面临重建的问题。
  • 虽然一个人可以拥有很多ID虚拟身份,但是在一个固定空间内,例如无废话阅读内,他阅读的行为就想指纹一样显著,独特。
  • 互联网信用机制开始于一个不以这个信誉体制为赢利目标的网站,
  • 发扬光大于对信誉苛求的商业站点,
  • 而拐点,。。。,在中国,往往是“衰极必反”。


好文章。 我有一点小小的补充。

"当我们使用feed时,我们都是被一个个仰着脖子要内容制作者喂的对象。" 说的很形象,但是我觉得除了单向的feed以外,更重要的是对feed的重新组合和筛选。这里面有一个cycle的观念。

举个例子,在我的无废话阅读(http://wufeihua.com/)里面,就是不同的人把feed提交,然后根据所有人的点击率和每一个人的阅读习惯,最后为每一个人生成他个人的feed。内容虽然一样,但是相互顺序不同了,排列完全个性化了。

这种“重新洗牌然后个性化”的方式,是对每一个信息消费者的最大尊重,为信息提供方和消费方提供最优解。 这样的解决方案在feed出现以前是无法实现的。

所以,我更希望把feed看成一盒缩略版世界地图,每个人可以对同样的信息按照自己喜欢的方式进行处理、归类。而背后的世界,只有一个。

我想博客作为一种媒体形式,除了作为更个人化,更直接的信息来源以外,还帮助传统媒体实现了真正的双向沟通。 

对于传统媒体来说,自己报纸上印的东西有没有人关心,都有哪些人在关心,这些问题都只能靠编辑和记者单方面的查询和猜测。而博客的出现改变了这个从上而下的模式,让更多人可以把个人的声音发出来。 从另一个角度来说,也就帮助传统媒体做出更切合实际的判断。

所以博客对于传媒的贡献在于把一个单向的互联网变成双向。至于对于作者的千字50的回报,可能倒在其次了。

当然,现在的博客还相当的初级,由于天生的分布性,并没有一个准确的方法去评估一篇文章,一个事件在博客圈中的反映。还需要有一种技术的机制来完成“信息整合”的问题。博客搜索也许是一个方向,但是力度不够。 我自己做的“无废话阅读”也是一个方向,希望能通过每个人的历史阅读记录更加全面的呈现一个人,或者读者,阅读的痕迹,喜好,关注。但是究竟会怎样发展,还真说不清。

2006年03月29日

全文的讨论可以在这里看到

2.0不能改变配送行业的现状
---------------
我在北京有朋友开了配送公司,从根本上来说还是“成本为王”,绝大多数人并不关心“服务”。比如DHL从北京寄东西到美国要250元的话,我的朋友能够给我90元! 因此我觉得2.0的时代只是距离中国走的越来越远了,谁会在乎页面不用postback就能刷新呢?谁会在乎tagging呢?价格至上。 

国外的配送已经高度自动化
---------------
说到国外,因为我在美国很多城市呆过,那里的物流做的相当好。大部分的仓库,尤其是distribution center,全部是机器手定位或者取货的。例如Dell Reno DC,Amazon DC in Oregon。传统的DVD出租商Blockbuster就是被一个全机器人的在线出租DVD的公司在13个月里面给挤兑黄的。高度的机械化,计算机化,国内的差距不是缩小,而是拉大。

这是一个商业模式错误的问题,与web 2.0或者长尾理论恐怕没有直接关系:

e国销售的是commodity product,也就是profit margin很低的,同时单位价格很低的产品。国内外的大卖场的兴起已经很好的证明了,在这个细分市场,分散性零售无法控制成本。这归根到底是个完全错误的商业模式。

ebay则不同,那里销售的虽然也是commodity product,但是有两个起到“enabler“作用的元素起到了作用:
1)拍卖物品的profit margin很高,因此利润有了出处;
2)作为一个公司,ebay并不参与物流和库存管理这一片“头疼”而且成本控制极为严格的领域。相反,ebay提供一个平台让卖主自行交易。 

2006年03月24日

我非常同意你的这个说法:“[一个网站长大的过程]更是一个培养Typical User(典型用户)的使用习惯,参与和分享的过程。”

但是,具体来讲,应该怎样去从零开始积累起来呢?除了坚持不懈的提高质量,可用性以外,还有什么必不可少的因素?“口碑营销“真的能起作用吗?

我的网站无废话(http://www.wufeihua.com)已经运行了两个月了,用过的人都说很好,甚至有不少人告诉我他们现在每天只去无废话上看东西了。但是,口碑营销仿佛并没有发生作用,每天独立IP数量总是以非常缓慢速度增长。我又忽视了什么呢?

2006年03月14日

群众智慧,也就是大众的智慧,不仅重要,而且是衡量一个时代的唯一标准。英美法系中,依赖由普通老百姓组成的陪审团,而不是法官或者死板的法典,做出最后判决就是基于这样的道理:相信普通人的基本判断力。



在互联网时代,这样的做法为网站的开发人员提供了一个与有大量职业编辑的传统网站进行竞争的杠杆,这样做不但极大降低了运营网站所需的成本,更重要的是提供了更快的沟通反馈渠道。事实上,在今天谁能更好的这么做,谁就是真正的“社区的胜利”。Dan Bricklin有一篇非常精辟的文章讨论过如何在群众智慧和暴民破坏之间平衡的问题。



当然,这并不说大众智慧没有延迟,或者大众智慧永远正确。100年以前只有妓女才用口红和穿高跟鞋,在今天这两项确都已经成为职业规范。别忘了希特勒政府是德国人民一人一票选出来的合法的政府,而文化大革命是在绝大多数中国人的狂热和沉默中真实的发生的。

在无废话中我设计的机制是这样的:

  • 通过投票和点击,在阅读的过程中依赖群众智慧帮助所有人找出“值得关注”的新闻。
  • 通过我设计的人工智能的算法,根据每个人的不同进行“推荐”,从而使“个性化”得到保证,防止个人的声音在大众的呼喊中被淹没。
2006年03月13日

在软件业,一直以来都存在两个类型的软件产品:面向水平市场的通用解决方案和面向垂直市场的行业解决方案。在国内的众多Web 2.0的创业公司中,绝大多数都是瞄准了通用市场来的,大家都雄心勃勃的希望成为下一个微软或下一个Google,而忽略了这些大公司崛起当初的那么多损兵折将、关门停业的创业公司。

统计上来说,面向垂直市场的软件创业公司生存概率要比面向水平市场的大10倍。那么为什么大家都还一门心思的杀进水平市场呢?

原因很简单,因为进入大多数人视野的是面向通用市场的公司,比如Google,
微软。所以人们很容易将这类公司和“成功”之间划上等号。这些公司的成功,在大众媒体上的频频亮相,这并不说明它们所处的市场竞争不激烈,或者利润率一定比垂直市场非常高。相反,这些公司不得不这么做。因为要想在通用市场取得胜利,唯一的方法是让所有人记得你。而在普通大
众脑海里面留下印象最好的方法是铺天盖地的广告和公关文章。这恐怕是今天国内很多创业的同志们忽略的残酷事实,这些品牌是钱堆出来的

如果创业的话,最好选择一个自己熟悉的垂直市场入手,这样的胜率要高很多。今天看到一个很好的例子,可以给大家说说:

Google是一个面向所有人提供结果的搜索引擎,只要输入的搜索关键字相同,每次返回的结果就完全相同。但是在很多情况下,Google却忽略了一个明显的事实,提高搜索准确度的一个好方法是把类似的人聚在一个小团体,从而依靠团体内部的搜索结果来快速优化搜索结果。今天看到一个网站,叫做swicki,就是这样的一个基于小团体的搜索引擎。

对于“商业意识还是投机意识”的讨论,我没有很好的答案。但是比起一门心思想成为下一个Google,也许找一个适合自己的垂直市场用心做下去,倒是有可能更有效一些。

后记

  • 文章中提到的The business of Software这本书,我手头上有一本,在北京的同志如果感兴趣可以跟我联系。
  • onstartups.com也正在讨论这个话题,他从公司的运营角度来论述niche market的好处,可以参考。