月度归档:2011年07月

专注网络热点的网站

导言

我相信每个人都会有很多有意思的想法。或许某天早上起来,想为什么没有这么一样东西(产品)?于是将自己的需求整理成一个简单的产品创意。再后来就忘了。很多有意义、无意义的创意就这么莫名其妙的来,然后又莫名其妙的消失了。

我试着将这些不成体系的片段记录下来,或许能被同好者看到也不一定。

专注网络热点的网站

正当郭美美风波越演越烈之际,“不管你信不信,反正我是信了”,让郭美美迅速过气。网民就是这样,见异思迁。不管有没有结论,在新热点出现后,老热点就迅速的被人遗忘。然后,李刚依旧是李刚,郭美美依旧住着自己的别墅。可以预见,“不管你信不信”,在下一个网络热点出现后,又将多一个有始无终的故事。

希望有一个关注网络热点的网站。

  • 以时间轴的方式展示网络热点, 每个热点一个专题页面。
    • 大事记
      • 起因
      • 发展。时间处理过程中的一些重要事件
      • 最终处理结果。主要当事人受此事的影响。社会反响等
    • 相关链接
    • 最新动态
    • 热门讨论
    • 引发流行语
  • 每个热点会有一定的评分指标。热度、社会影响、公众对处理结果的满意度等。
  • 定期可出些回顾专题
  • 价值
    • 网络永远不缺乏热点
    • 网民很有才,每个热点都能激发网民的创意,创造很多流行语
    • 网民们需要新鲜感。这个地方可以找到最新的网络热点,也可以以最简单的方式获取到相关资讯(类似于digg或国内的cnbeta,只是这个网站的主题我网络热点)。
  • 难点
    • 内容编辑需要耗费极大的精力
    • 热点通常都不太和谐,所以网站会先被和谐掉。
  • 解决方案
    • 前期用户少的时候,内容主要由网站编辑提供,普通用户只能投稿。
    • 在网站聚集了一定的核心用户后。网站编辑只负责内容模板的编辑,具体内容由网民贡献(类似维基百科)。

二手数码控,论坛二手信息汇聚网站

二手数码控 是一个论坛二手数码信息的聚合网站。目的是想将各大论坛中的二手数码信息汇聚起来。这个网站会有些类似论坛二手信息的搜索引擎。

目前这个网站还非常的简单,只是简单的将一些数码论坛二手区的rss汇聚了起来(使用feedparser做rss解析)。日后会增加搜索功能,并仿造googlereader的做法提供帖子的摘要信息。RSS以及移动终端的支持也是要的。数据源方面会对未提供rss输出的论坛提供支持,初步计划用pyquery做数据分析。

考虑到网站代码非常简单,且比较乱也懒得整理,所以就不开源了。

为博客的评论增加图片验证码

最近一直受到垃圾评论的困恼。让我奇怪的是,明明博客的访问量就非常的低,咋会有这么多的垃圾评论,而且都是老外发的。虽然我安的反垃圾插件Mollom可以应付大多的垃圾评论,但每天还是会有几个漏网之鱼。

为了彻底杜绝垃圾评论,决定使出杀手锏,加上图片验证码。

新启用插件SI CAPTCHA Anti-Spam,先看看效果吧。

语言交换网站

一直都想将日常英语给做些加强,但总是借口很多,一直没什么进展。今天又想起来,然后去语言交换网站,想找个老外做partner进行练习。

考虑到很多人并未听说过语言交换,这里稍微做些解释。假设我母语是汉语想学习英文,另外一个人母语是英语想学汉语,这时候一拍即合,两人互相指导,互相学习。所谓的语言交换就是某种特定的技能交换。

语言交换确实是非常棒的一个主意。虽然网上会有些技能交换的网站,也有需求,但大多的技能交换的可操作性非常的差。如果我想学编程,另外一个人想学英语。因为大家都不是专业的老师,所以教起来可能会很麻烦,时间长了也容易产生倦怠感。而且只要其中一个人不玩,就得拆伙了。而且不同技能间的学习成本是不一样的,这些东西虽然不是大问题,但有时候也会成为问题。

相比而言,语言交换的可行性就要高出不少了。首先,母语这东西就决定了你在技能方面不会有大问题。其次教学会是一个相对愉快的过程,教学的成本低。所谓的教学,其实也就是聊天。相互间写写双语的email,在回email的时候帮助修正email中的语法错误即可。此外找个国外的partner也是了解国外文化的一个绝好途径(如果你对某国家完全不感兴趣,你也不会去学相关的语言吧)。

现有的语言交换网站方面,我找到比较大的有两个。mylanguageexchange  和 sharedtalk 。mylanguageexchange的创建时间非常早,该网站在2000年就已经存在了。sharedtalk按照他们网站提供的信息应当是创建于2006年。网站功能方面,mylanguageexchange的功能方面就比较简单,会员比较多。sharedtalk全站用flash实现(个人感觉用户体验并不是太好),主打在线语音聊天功能。

mylanguageexchange有一个6$升级高级会员的服务。普通用户基本上处于只能看不能说的状况。普通用户只能等人找,并不能向任何人发消息。不过我想如果一个人真想学习外语,6$找一个专职外教,还是非常值的。

注:虽然不看好技能交互网站,但觉得这东西如果作为社交网站的APP存在或许还有些价值。社交网络是通过现实中的关系建立起来的,有了原始的信任和责任,技能交换的成功率应当会高出不少。

历史上的狄仁杰

最近看了86年孙承政版的《狄仁杰断案传奇》。相比目前最火的《神探狄仁杰》系列,这版中的狄仁杰明显要年轻许多,而且文武双全。神探系列中狄仁杰处理的都是些涉及国家利益的大阴谋,断案系列则是一些百姓家发生的案件。

狄仁杰断案传奇中的狄仁杰还是个下放的县令,想必这是狄公年轻(中年)时的故事。加之唐朝本就有习武之风,狄仁杰作为一个世家子弟,会些功夫也是自然。这时的狄仁杰事必躬亲,偶尔露两手与歹人缠斗一番也是可以理解的。

翻看历史,发现我彻底的错了。

狄仁杰生于公元630年,于700年病故。

公元693年正月,狄仁杰遭遇武承嗣与酷吏来俊臣的诬陷,逮捕下狱。其后沉冤得雪,被下放到彭泽任县令。断案系列讲的就是狄仁杰在彭泽任县令期间的故事。此时的狄仁杰已经60好几了,距其后的回京任职啥的也都没几年。这样看来,断案系列和神探系列中的狄仁杰年岁差不了太多。

刘德华饰演的电影《狄仁杰之通天帝国》中武则天建造了一尊类似自由女神象的大佛。本是一个很扯故事,没想到仔细探究下来还真能和历史扯上一点关系。在公元700年,武则天欲造浮屠大像,后在狄仁杰的建议下取消了。

利用mod_rewrite实现域名的切换

最初想将haoluobo.com的域名做其他用途,于是创建了子域名vik.haoluobo.com,并将博客挂在blog目录。最终haoluobo.com的域名一直被空了下来。最近想域名空着也是浪费,干脆将博客和知识库切换到haoluobo.com下。

切换后

博客地址为:http://haoluobo.com

知识库地址:/trac/

这时候问题来了。切换域名后,此前老域名上的所有链接都失效了。为了保证原有地址依然有效,我利用mod_rewrite将老地址的链接都转发到新地址。

博客的老地址:/

http://vik.haoluobo.com/ apache的静态文件目录www下创建目录blog,并在改目录下添加.htaccess文件

RewriteEngine On
RewriteRule (.*) /$1 [R=301]

知识库的处理类似,

知识库的老地址:http://vik.haoluobo.com/trac/

在www目录下创建trac目录,并在改目录下添加.htaccess文件

RewriteEngine On
RewriteRule (.*) /trac/$1 [R=301]

注:在http协议中,状态码301标示永久重定向,这样搜索引擎就知道你的老地址今后就不用了。

东日

有时候喜欢看些技术人员写的非技术方面的博客。看和自己一样的普通人,怀揣着梦想,徘徊与理想与现实之间,慢慢的学会长大。

东日是一个共享软件工作室的名字。与其说是工作室,倒不如说是个小的软件作坊更为贴切。据我所知,这个工作室总共只有两人,一个美工一位开发。

这是一个我比较欣赏的软件工作室,他们的作品都有很高的素质。nicrosoft还出了本《Delphi高手突破》,虽然书名中的“高手”二字很容易让人不齿,但这确实是本好书。

随着互联网的崛起,传统的桌面应用的市场逐渐衰退。所谓形势比人强。如今,当年做Delphi组件的公司基本都已关门。至于Delphi,在久经折腾后Borland终于将这个烫手山芋出手,卖给了一个默默无名的小公司。

不知如今的东日怎么样了。

通过搜索引擎找到nicrosoft的博客。迷茫的2009,2010重新出发。喜欢nicrosoft的生活态度,简单纯粹,亦可与时俱进。

ruby中的block和yield

rails的同学极力鼓吹rails的简洁高效。虽一早就认定rails不太符合我的习惯,还是经不住诱惑再多看了rails两眼。
rails中大量使用了ruby的block语法。由于此前没有系统的看过ruby语法,block还是给我带来了不小的困惑。网上不少介绍block的文章,都说的不是太清楚。在看过《Programming Ruby》后才真正的开始理解block的用法。
代码块(Blocks)是指一块代码,用大括号({})或者do…end来标明起始和结束,代码块只能跟在方法调用后边。
yield语句:在方法内部使用yield语句来占位,当方法执行到yield时,实际执行的是调用方法时跟在后边的的代码块。
|x|:变量用一对’|’包裹,在代码块中使用,用于接受yield传递的参数。yield后跟的参数会传递给代码块中用| |标志的变量。
下面通过例子来更直观的认识block。

def x
  p "=start"
  yield 'a'
  yield 'b'
  p "=end"
end
x do |a|
  p "hello", a
end

程序的运行结果为:

"=start"
"hello"
"a"
"hello"
"b"
"=end"

定义了函数x,其中两次使用yield调用block中的代码块。block代码块支持一个参数。

《卓有成效的管理者》读书笔记

若不是这书在豆瓣上的评分很高,我是不太可能会去看这本书的。有是卓有成效又是管理者的,给我一种很恶俗的感觉,就如《24小时学会XX》之类的编程书一样。

真正看下来还是感觉有些收获,更重要的是这是一本让人读起来挺舒服的书。

书中就对当前知识经济所引发的管理困境进行讨论,很容易引起共鸣。

  • 目标和绩效
    • 问题:工作没有直接输出,需要依靠别人的输出,工作效率难以评估。并不是人多力量到。
    • 解决办法:重视对外界的输出,能给公司创造什么价值。
  • 时间管理
    • 问题:管理者的工作常常会被各类事情打断,时间不被自己支配。计划经常不靠谱。
    • 解决办法
      • 记录下自己的时间怎么花出去的。查看记录你会发现很多时间花在了不产生任何价值的地方。更合理的时间安排,看哪些事情是可以不做的,哪些是可以让别人做的。
      • 零散时间的效率是不高的。尽量安排出整块的时间,期间所有琐事都尽量不管。琐事可以事后统一处理。
  • 一次只做一件事情,并做好。能同时处理好多件事情的人是非常少的。了解当前真正重要的事情是什么,并做好。
  • 全才的困境
    • 管理者所需要的知识非常多,差不多要求这个人是全才。但现代社会中全才几乎找不到。
    • 人无完人,没有全才。看中真正重要的部分,无伤大雅的问题是可以忽略的。
    • 取人之长。取下属之长,领导之长,自己之长。
  • 决策
    • 真正重要的决策并不多。
    • 慎重的决策,尽量避免临时性的决策。
    • 高标准,并适当的妥协,可行的决策才有价值。
    • 决策从想法开始,而不是真相。注:我的理解是:先忽略客观情况,看应该做成怎么样,然后再结合客观情况,看该做成怎么样。

django1.3的staticfiles

django1.3新加入了一个静态资源管理的app,django.contrib.staticfiles。在以往的django版本中,静态资源的管理一向都是个问题。部分app发布的时候会带上静态资源文件,在部署的时候你必须手动从各个app中将这些静态资源文件复制到同一个static目录。在引入staticfiles后,你只需要执行./manage.py collectstatic就可以很方便的将所用到app中的静态资源复制到同一目录。

staticfiles的引入,方便了django静态文件的管理,不过感觉staticfiles的文档写的并不是太清楚,初次使用的时候还是让我有些困惑。

下面简单的介绍一下staticfiles的主要配置:

  • STATIC_ROOT:运行manage.py collectstatic后静态文件将复制到的目录。注意:不要把你项目的静态文件放到这个目录。这个目录只有在运行collectstatic时才会用到。我最开始想当然的以为这个目录和MEDIA_ROOT的作用是相同的,致使在开发环境下一直无法找到静态文件。
  • STATIC_URL:设置的static file的起始url,这个只可以在template里面引用到。这个参数和MEDIA_URL的含义差不多。
  • STATICFILES_DIRS:除了各个app的static目录以外还需要管理的静态文件位置,比如项目公共的静态文件差不多。和TEMPLATE_DIRS的含义差不多。
  • 各个APP下static/目录下的静态文件django的开发服务器会自动找到,这点和以前APP下的templates目录差不多。
  • urls.py中加入静态文件处理的代码
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    # ... the rest of your URLconf goes here ...
    urlpatterns += staticfiles_urlpatterns()