2008年7月30日星期三

给自频道找找茬

个人观点:到目前为止,"自频道"比较成功,最成功之处在于,就这么个破玩意发布至今已经引来无数关注,叫好的叫骂的声音此起彼伏,单从这一点看,在注意力决定成败的互联网上,自频道做得不错。

keso 很生气,因为“自频道版权问题”,北城更关注对“博客热情”的影响,还有讨论自频道成为“超级网络媒体代理商”可能性的,还有加问号的“新媒体自掘坟墓的 又一力作”,讨论的角度很多,我看多数是因为魏武挥介绍自频道的blog写的挺张扬。咱草根没资格也没兴趣参糊大佬们的口水仗,不过既然惹得咱花时间去体 验了,不挑挑毛病找找茬心里难受。

1. 不管定位多玄乎,说到天,自频道不过就是一个带编辑功能的rss聚合而已。

2. 既然首先是个rss阅读器,就得经得起比较和推敲,不要以为加个编辑功能再放上广告就是“新媒体商业”了,还是先别太看得起自己,至少基本功能和用户体验 上先和流行的rss reader看齐吧。反正我的使用体验是,不论从哪一点来看(内容输出、feed的组织和管理、阅读体验、收藏、标识、推荐等等)都比不上任何一个主流的 rss阅读器(google reader, 鲜果,抓虾)。

3. 列举几点感觉不好的体验:
* 所谓内容就是item的正文摘要,基本上没有能全文阅读的(除了那些原本就是输出几十字摘要的feed),就这样还放个“展开阅读”和“缩进文章”的开关,挺搞笑。
* 对item的编辑,居然也是“所见即所得”的,也就是只能编辑刚刚看到的摘要(还带着省略号的),我试来试去,最后发现真要编辑就只能回到原文处copy全文再paste过来,貌似很高级的操作哦。
* 看得出来为了显示摘要,程序做过一些处理,因为“摘要”居然不只是正文的开始的百八十字,不过显然处理得不到位,凡是经过处理的原文的格式信息全丢了,乱糟糟一大片,没人会有耐心去分辨。
* 像feedburner这种被墙封了的源,通通都是验证失败。拜托,你是做数据采集的,稍微有点专业手段好不好。鲜果抓虾从来没有这样的问题。
* 还是源的抓取,太慢了,慢也不要紧,我等你去抓的时候至少给我个提示吧,害得我傻了吧唧的以为输入有误,折腾了半天,不知道自己做错了什么,这种用户体验也太业余了。还是先向别人学习一下再说吧。
* 所谓“版权问题”根本是没法保证的,原始feed里一些重要信息很多没有显示出来,我可不是瞎说,专门拿rss文件对照的,比如digg的rss,作者、 分类、评论计数等信息都有,显示出来都没了,可能是因为digg的rss输出有自定义标签吧,不过这不是不显示原文作者的理由。
* 几乎每个原始feed都有pubDate的,不过在自频道里,所有的输出都是按"分享时间"来排序的,还大喇喇的在每个feed上方标识出时间和日期,我今天导入的feed,所有item的时间都是今天,而且没有地方能修改排序,看着真难受啊。
* 基本上这是我用过的最差的rss阅读器之一。如果算上编辑和分享功能,就是我用过的最差的带编辑功能的rss阅读器了。
* 我看到“自频道”旁边的“beta”字样了,可gmail也一直是beta。这种beta做个startup不会有人说什么,不过blogbus好歹也算 有点口碑的BSP了,何况“自频道”还炒得这么凶,这种水平的产品拿出来宣传实在有点脸红。你让我来做我可能做得还不如你好,可我是草根,我也没吹牛。

4. blogbus是BSP,作为provider,它应该是内容的生产者,优势在于已有的blog平台、用户和口碑。而“自频道”基于rss聚合,本质上,它是rss的消费者。虽然都是针对rss,但并不是一码事。就好像你是一个汽车生产商,但并不意味着你一定就是一个好的车手。

5. 如果真的要做一个自媒体,现有的主流的在线rss reader更有优势,比如鲜果和抓虾,几乎用不着大动干戈,给每个item提供一个edit功能就完全可以了,可以借shared items功能输出经过用户编辑过的rss,阅读就在现有的reader或任何其他地方(只要不是现在的自频道)。或者,假想一下,给热文之类提供 wiki功能,用户共同编辑热文(如果有必要的话)再输出,这样既避免内容重复,又保证原文质量,如果再加上一些人工分类编辑的功能,那才叫真正的新媒体 自频道。

6. rss(包括众多衍生者)被发明出来的本意是提供一种开放的数据结构,将信息结构化的,便于在internent上传递,便于信息“忠实”地在生产者(如 blog)和消费者(如rss reader)之间传递。我觉得“忠实”很重要,就像正规的电子文档都用pdf,因为pdf的内容一般来说是不容易被修改的。当然这是一种防君子不妨小人 的约定俗成的办法,如果有人改动了原始pdf公文的内容并再次分发,就叫“篡改”。我理解rss也是同样的意思,原样传播是正常的,你当然可以去编辑和修 改然后重新发布,不过在我看来,这就是篡改,是没有公信力的。别人没这么做并不是别人不能,大概是不屑吧。

7. 假设如其所愿,“自频道”各方面都就绪了,结果可能就像很多人预料的那样,“突破了自动抄袭的技术壁垒”,“成为垃圾站的温床”,可以预料到的是:大量重复的、雷同的内容层出不穷,有价值的信息被埋没在更多的垃圾里,这是对用户耐心的考验,而且几乎注定要失败的。

8. 按“自频道”宣传的本意,不过是要给人们提供一种批量的自动导入和编辑内容的方法,如果人们愿意花点时间(比如去适应“自频道”糟糕的用户体验的时间),利用现有的互联网工具,谁都可以创造出更方便的“自频道”。比如:
* 使用yahoo pipes(或ms的popfly或google mashup等mashup工具)去处理rss源,都是很cool的东西,不必被流程图模样的block吓到,它做成那样就是为了给不懂编程的人来用的, 只要习惯了他们的用法,获取rss源的途径几乎是没有限制的,处理rss源的方法也几乎是无限制的,有限制的只是想象力。
* 使用任何一个online rss reader订阅自己制作的rss源,或者在igoogle,netvibes上展示你的源。定制的源可随时根据需要去修改,或者根据不同需要制作任意数量的源。
* 如果真的需要编辑rss内容(为什么?),如果恰好懂一点编程,去google app engine上申请一个app,做个导入rss的接口,做个list和form,或发挥想象力做更多的事情。
* 这些都是随便提提,可选择的方法远比这些多。对于自频道的假想用户,上述都是可以自己做到的,不需要花一分钱,需要的可能只是花点时间去了解和学习一下,DIY的感觉比被人忽悠好得多。

2008年7月17日星期四

Deploy Ruby On Rails App on Heroku - A Simple Guide for Windows User

Heroku is an amazing online deploy/development environment for ruby on rails.

Ruby on rails is popular due to its practical methodology, framework and tools, rather than an extensive acceptance by web hostings(like php). If you've tried to deploy a ror application on one of most of popular web hostings (those promised to provide 1500+G space, 3000+G/mo file transfer), you may agree with me, because they always limit you so much. Of course you can buy a dedicated server, but how about just publish a toy project before pay anything? Heroku is a good choice.

As an online service, heroku did some wonderful things, for example, an irb, an ror editor, an rails console, a gem manager, and so on. The point is, they are all run in browser, even without any rich client support (I believe it will be practically used if is implemented in a rich client). You can check these features at http://heroku.com/features.

An important feature is about "work locally". For linux user, all the necessary tools are native. For Windows user, a few additional resource are required. Here's a simple guide for Windows user.

Heroku supports two ways to transfer source code between local and server,

* A simple way is "import/export", "import" means upload a compressed source code package in .tar.gz, it's easy on linux. For Windows user, a convenient approach is to use 7z. For example, your app folder is "myapp", compress it into "myapp.tar" using 7z, then compress "myapp.tar" into "myapp.tar.gz" using 7z. Upload "myapp.tar.7z" to an existed app on heroku, done! "export" means download a .tar.gz package from heroku, uncompress it, work locally.

* The other approach is more practical. using Git and a "heroku" gem for source control.

** Git is yet another source control tool, a substitute for SVN in ror world.

** GitHub is a Git repository, Rails itself and many other ror source are currently hosted there.

** "heroku" gem is a tool which helps to manage source code hosted in github, including source control and publish source code on heroku.

** Git is native in linux, for Windows user, there are two options: Cygwin and msysGit, the former is a comphensive linux simulator on Windows. The latter is an unofficial Git implementation on Windows.

** Download either of them (they are similar if you just need Git), and install. For Cygwin, remember to select git manually.

** msysGit provide a GUI interface for Windows user, Actually, I don't think it is better than its bash shell interface. So, even as a Windows user, you'd better to know a little about bash shell.

** Open msysGit bash shell from start menu, like this:

msysGit Bash
** Register an account at github.com, the "Free" one is ok, remember the email you used (e.g. name@example.com).

** Generate a ssh-key. In the opened msysGit bash shell, input following command:

ssh-keygen -C name@example.com -t rsa

In the following steps, it will ask to provide path and passphrase, use default by pressing enter (or change them if you know what you are doing).

** Get your SSH Public Key. Input following command in shell:

cat .ssh/id_rsa.pub

The SSH Public Key (lines of strange charactors) will display in the shell, copy them (how? just like what you did in a Windows cmd shell), and paste into Github account (go to https://github.com/account, login if necessary, there's a textbox titled with "SSH Public Key"), then click "Update Keys".

** The last thing is to get "heroku" gem: "gem install heroku"

** Everything is prepared, go to see heroku's demo, or follow the next simple steps to start to develop and deploy a ror app on heroku:

- Open msysGit shell, input "heroku list". which lists all your existed rails apps on heroku;

- Input "heroku create myapp", it helps to create skeleton of a ror app named "myapp" (I guess it run "rails myapp" for you on heroku server), you can access http://myapp.heroku.com directly (of course you should make sure "myapp" is not an existed app name on heroku), a ror welcome page is waiting for you.

- input "heroku clone myapp", make a clone of "myapp" for local development. First time, it will ask your email and password which you've used to register in Github. (BTW, in msysGit shell, change directory to the location you want to put your local app. It looks like "cd /d/apps/", which equals to "cd d:/apps" in windows cmd shell. Interesting to both linux or windows user:) )

- if everything ok, you could edit your rails app with your favorite editor or IDE. (I tried Netbeans and e-texteditor, both ok.)

- Make some changes to your local app, (for example, generate a scoffold, or modify routes mapping in config/routes.rb, these will take effect after you push them to heroku), run server and test it locally. If everything ok, check in (and publish) your local source code to heroku (Github) by following commands:

- 'git add .', adds the current content of new or modified files to the index, note you should in your rails app folder;

- 'git commit -m "comments about this checkin" ' , stores the current contents of the index in a new commit along with a log message from the user describing the changes;

- 'git push', updates remote refs using local refs, while sending objects necessary to complete the given refs;

- ok, now try to access your rails app on heroku by accessing http://myapp.heroku.com,all the local changes work. 'git push' does some great things: check in source code, publish updated source code on heroku, rake db:migrate (if there's migration), restart rails server (let the changes to routes.rb takes effect), maybe include other necessary work. Great!

- Git is similar to SVN,except above options, you can do checkout, diff, merge, mv, rm and so on. Check helps as you need.

- In fact, all the above command can be used in Windows cmd shell if you setup msysGit as need. And all these commands can be used in Cygwin either.

As a ruby on rails fan, you really should take a tour through heroku, there are so many interesting features except "work locally". After deployment environment getting done as above, you are ready to publish your toy project to the world.

2008年7月13日星期日

How many things to learn?

I was/am a MS tech fan due to my job and intrerest. For a long time, I was eager to learn everything about .net. For examples:

* There are more than 200 tech books on my bookshelf, Wrox, O’Reilly and others. My wife named Wrox area as “red-light district”, and O’Reilly area as “Zoo”;

* I collected webcasts and ebooks as possible as I can find. and burn them into DVD;

* There are hundreds of feeds in my rss reader, I subscribed all the popular blogs about .net, from MSDN to Scottgu, from Codeplex to Rob Conery;

* I browse Codeplex “tag by tag”, download all the pop projects;

Unfortunately, my interest was not just about this. I was interesting in OO/P/AD, design pattern, TDD, refectoring, UML/RUP, project management, agile project, enterprise framework, networking, web design, database,java, c++, python, javascript, even ERP for a while. Recently, the terrible interest spreads to ruby, ruby on rails, then linux server when I decide to deploy my toy project, then virtualization when I decide to setup my own vps of linux…

Sounds great, right? The truth is…

* half of books on my bookshelf were not touched,

* webcasts were reviewed when they were just downloaded, but never be opened after burned,

* there are always 5000+ unread feeds in my rss reader, sometime I will mark them as “read”, but the number came back soon;

* reading source code is good, but the projects which were really carefully researched are not much.

As everyone can guess, I may be an expert on “how many things do you know?”, but not an expert of each of the listed parts, although my interest has taken most of my free time :( . Sound despressed.

Write this because I read a blog “Do you have the time to learn everything“. I agree with some of its points. It’s definitely impossible to learn everything, people should has a limited learning list with prioritization, people should learn to make choice first. I know this from beginning, but when I start to be interesting in something, I feel this is the most important. what a fool!

Life is limited, knowledge is not. But if learning is as fun as playing game or watching TV, just do it.

That’s the words to comfort myself.

2008年7月10日星期四

wubi...

As a layman in linux world, it’s glad to know there is such a greate tool for linux installation from Windows, i mean Wubi.

Wubi is not the Chinese input method.

Wubi is an officially supported Ubuntu installer for Windows users that can bring you to the Linux world with a single click. Wubi allows you to install and uninstall Ubuntu as any other Windows application, in a simple and safe way. Are you curious about Linux and Ubuntu? Trying them out has never been easier!

I tried to use PC without Windows for a few weeks at home. Frankly, it’s not a good experience for me. Ubuntu is actually better to use than other linux distribution. But in my experience, “better to use” means it is similar to Windows than others. if it’s true, why not use Windows (we have paid for OEM).

Linux should do more to contest PC desktop. When I use linux at home, I am not a software developer, and not a linux fan, I am just a computer user who likes to try different things. In most time, I read, watch, listen, write. I don’t care if it can run on different hardware platforms, I don’t like install software from source(even by apt/rpm/yum), I don’t like that I have to learn much and try more to make a BT client work, I don’t like to take half an hour to search, download, make, install and reboot to just watch an “amazing” desktop 3D effect, and so on… At last, I believe most of people in most of time could agree with me. Of course, I like linux as a server, free and powerful, but not on my desktop at home.

Linux need to be modest. do something like wubi (it’s said fedora 10 will add a similar feature), attract more people to like to try. For linux desktop, there is a huge space to improve.

说...


急事,慢慢的說;

大事,清楚的說;

小事,幽默的說;

沒把握的事,謹慎的說;

沒發生的事,不要胡說;

做不到的事,別亂說;

傷害人的事,不能說;

討厭的事,對事不對人的說;

開心的事,看埸合說;

傷心的事,不要見人就說;

別人的事,小心的說;

自己的事,聽聽自己的心怎麼說;

現在的事,做了再說;未來的事,未來再說