Sunday, November 18, 2007

闲来之作,土豆网本地播放器: 土豆泥(TuDouNi)

土豆网是个无数没创意的网站,界面和其他扎堆的视频网彼此抄来抄去,好不容易有点新意出个视频下载工具,不支持Firefox/Safari也罢,还搞个iPhone一样名字,iTudou。不过下载快,内容多(80% D版)是毕竟是硬道理。本着既然反抗不了不如迎合的态度,反正这个周末也闲的无聊,做了个小工具,基本想法是配合官方的iTudou,方便用户下载土豆视频后批量改名,或本地播放,或分类打分... 名字么,既然他们用英文i做前缀, 个么我就用中文ni做后缀。TuDouNi,也就是土豆泥 :)

下面是第一个版本,需要预先安装Adobe AIR Beta 2 代码倒是不多 (不超过200行) 花了我3个小时看视频播放和调整UI

https://share.adobe.com/adc/document.do?docid=998cb5c3-952b-11dc-88f8-9b7d3e789675 


基本功能和原理是
  • 在iTudou默认安装位置找到一个user.xml,里面查出当前的土豆用户ID (放心,密码不在里面)
  • 然后根据那个ID,找到对应的library.xml文件,里面有当前已下载的视频信息和正在下载的视频信息
  • iTudou最恶的地方就是下载的FLV全是数字命名的。我这个小工具会显示一个表格,把各个视频的截图,文件大小等显示出来,最后一列还有一个播放按钮,可以用Flash自带的播放器来播放视频
  • 如果有空 还有心情的话,可以加一些辅助功能,如上次看到哪个文件哪个位置, 或者可以建分类,打分等。甚至做个不依赖iTudou的下载视频和管理视频的程序

 

截图

Monday, October 29, 2007

Sunday, October 21, 2007

隆重放出婚礼录像

时隔10个工作日, 终于从万恶的婚庆JS那里拿到了录像DVD. 听说那个摄影师在王开照相馆和电视台做过, 效果果然不错. 3G多的VOB, 720*576像素, 1小时10分. 用WinAVI转成WMV, 然后再传到viddler.com

大家慢慢看 :)

几点Tips:

  • 我把这段视频设为任何人可下载. 点击右边的Download按钮, 然后选择WMV格式(396MB)或FLV格式(203MB)的下载. FLV是Flash的专用格式(包括YouTube), 可以用MediaPlayerClassic或者Adobe Media Player本地播放
  • Viddler支持时间轴上的标签和评论. 你看到某个画面可以点下方绿色的加号, 再选择'Add Comment'添加评论. 可惜只支持中文
  • 我已经加了一些评论, 点击白色小圆点可以直接跳到那个片段
  • 视频比较大, 如果你没下载完就想跳到后面部分, 默认会失败. 不过有个办法, 先点击左下角的PROGRESSIVE(顺序播放), 改为STREAMING(流媒体). 流媒体模式下, 你可以调到任何片段(约几秒的缓存)

Tuesday, September 18, 2007

长尾理论

所谓闻名不如见面, 常听人说起长尾理论, 今天终于有机会一窥全貌: http://www.yeeyan.com/img/LongTail.pdf

简单的说, 大致意思是非主流市场的总和相当客观, 甚至可以超过主流市场. 而现实生活中的超市等商业实体由于空间库存等各方面的物理限制, 不可能照顾到那么大的非主流市场, 而互联网的虚拟特征是这一可能变为现实. 众多电子商务和web2.0网站的成功不但是因为吸引了主流文化, 也同时因为让用户有机会各抒己见各挑所爱. 所以哪怕全世界只有一个用户会对那种数据或内容感兴趣, 你也应该在网站上提供它, 只要条件允许(数据库够大,硬盘够大,带宽够用). 另两条一是要不价钱定低找到薄利多销最合适的价位, 二是尽量让用户去发觉新的需求, 往长尾上靠. 比较常用的做法是提示看过此内容的用户一般还对什么什么兴趣. 这样虽然主页提供的或许都是主流内容, 经过几次推荐就可以覆盖到很多非主流长尾内容.

颇有启发.

不过正如列宁所说 , 任何比喻都是蹩脚的. 其实任何理论也都是相互矛盾的. 二八理论, 长尾理论, 仁者见仁智者见智,各有侧重.

Sunday, August 12, 2007

YourGmailContacts.findAll{it.usePicasaweb()}

This groovy script checks an exported GMail contact list and find out whom on the list are using the Google Picasaweb to share photos. Download. View source

Why you create this script
Well, because some of my friends recently share photos on picasaweb but I am not aware of that until they send me the links. So far Picasa doesn't allow me to search the public albums among my GMail contacts.

How it works
First the user needs to export the Gmail contacts to a CSV file(HOWTO). Then specify the file path as the first parameter of this script, say C:>groovy picasaCheck C:\temp\gmail.csv . It will check each line and find out those gmail address. By leveraging the Picasa Web Albums Data API, it can easily verify whether those users are sharing public albums on picasa. The final result will be shown as a html file. Under the cover, this script will write a temp file and use groovy XML MarkupBuilder to add HTML code and open it using the system default browser. This blog explains how to launch the default browser in Windows/Linux/Mac.

Possible improvements
  • Get the gmail contacts via GTalk XMPP service. But I am doubt how many of you will type the gmail account in such an untrusted script -____-
  • Automatically add those contacts as picasa favorite. It's likely doable via the Picasa Web Albums Data API
  • Provide GUI. Not everyone likes command line tools, especially Windows users. SWING seems to be the only choice. But I prefer using the Groovy SWT module.
How to run
  1. Install JRE and Groovy if necessary
  2. Download the script and save the groovy file to any location
  3. Export your gmail contacts as CSV file
  4. Open a command line window and run groovy picasaCheck.groovy path.to.the.csv

看看还有谁把照片放在Google Picasaweb




这两年好多同学同事都结婚了, 不少把照片放在Google PicasaWeb上, 好处显而易见, 免费,空间够大,无需登录就可以访问,支持幻灯片放映.. 当然也够快

不论平时主要用MSN还是QQ, 身边还是有不少朋友有Gmail/GTalk帐号, 可惜目前Picasa还不支持查看你的联系人中还有谁在网上放了照片, 一个个试又很麻烦. 于是这个周末我写了下面这个小程序, 帮我检查Gmail通讯录中谁在picasa有公开的照片

做法其实很简单, 第一步自然是要得到整个Gmail通讯录. 目前很多Web2.0应用都有所谓的Invite Import, 输入MSN,GTalk帐号,向所有人发送invite----所谓的Web2.0病毒式传播. 不过网上查了查似乎没有现成的Code. 一个可行的做法应该是利用Google Talk的XMPP服务, 找个能用的Lib登录到talk.google.com, 得到好友列表. 不过目前这个小程序没有这样做, 或许以后可以加上. 一来怕麻烦, 二来也担心用户会有顾虑, 凭什么把Google帐号给你, 万一你把用户名密码偷去怎么办. 所以,目前的做法是, 用户需要自己登录GMail, 然后点Contact,再选择Export, 把联系人列表导出成CSV, 即逗号分割的文件. 详见GMail的帮助

然后就简单了, 遍历每一行,找到xxx@gmail.com, 然后发个请求http://picasaweb.google.com/data/feed/api/user/xxx?kind=album 这个服务是所谓的Picasa Web Albums Data API, 具体内容见这里. 他会返回一个ATOM feed, 包括该用户的Public Album. 我这段程序会去判断有多少个公开的相册, 只要有一个就加入列表. 如果那人从来没用过picasaweb, 会返回"No such user."如果他放了照片但都没有list出来, 那么这段feed中就没有entry

结果最后用一个HTML文件来显示, 列出哪些人被验证在picasaweb放了照片, 并列出有多少个相册. 用程序在系统临时目录写一个文件,然后用rundll32 url.dll,FileProtocolHandler path.to.the.html来让系统默认浏览器打开. 当然这只能在Windows上有效, 要支持Linux/Mac也不难, 参见这里

程序用Groovy完成, 总共才65行, 如果用java写估计得500+行. 没有GUI, 命令行中指定导出的Gmail联系人列表, 然后他会一个个check,最后写个HTML文件,自动打开



下载这个程序 有什么问题给我留言, 或直接Gmail/Gtalk与我联系 jovezhong@gmail.com

Saturday, April 7, 2007

买了一本钱钟书的合集

后天要乘15小时的飞机到美国, 手头有没有合适的书做机上的消遣读物, 正好今天在街上看到有人推车买书, 就找了一下. 最后买了本钱钟书的合集, 包括<写在人生边上><石语>和<围城>.

从小一直有人把我名字叫错, 或许这位老人家太出名了. 也算是一种缘分吧, 但一直没有好好看过他的东西, 围城似乎也只是简单翻过几页. 但莫名的觉得这个老头还是挺可爱的, 清高而不做作, 性格而不张扬.

一个礼拜后再来谈谈对他新的看法.

Saturday, March 24, 2007

我的第一篇公开发表的文章

体验 Lotus Notes 8 Beta2 新功能
  • 2007/3/12 在内部论坛看到IBM刚开放了Notes8 public beta2. 迫不及待地下载安装
  • 2007/3/13 抱着试试看的态度, 花5分钟向developerWorks中文站提交摘要
  • 2007/3/15 上午, 发现IBM的内部beta2也放出了, 略有增强. 痛苦的升级...
  • 2007/3/15 下午收到dw编辑的信,说选题很及时希望我尽快交初稿. 而这时,我的Notes正处于彻底瘫痪中...
  • 2007/3/15 晚, 终于彻底删除public beta2,并装上IBM interal beta2. 开始构思大纲
  • 2007/3/16 周六. 写作任务如鲠在喉(强迫症?) 放弃大好周末时光, 在家写稿子
  • 2007/3/17 周日. 身心疲惫, 略作修改后便提交稿件
  • 2007/3/20 和dw编辑Sametime聊天, 采用的可能比较大
  • 2007/3/22 收到正式采稿信, 签名承诺,传真
  • 2007/3/23 收到通知,已经放到Lotus专区的Top Story

Sunday, March 18, 2007

Fun, Passion, Giving-back

这两年参加了各种级别的roundtable, 已经对其效果不报什么幻想了. 不过上周在金茂开的IBM Academy上, 那个疯疯癫癫的Follew Jonh列了三个他觉得工作与生活最重要的词, 着实让我回味良久

FUN
PASSION
GIVING-BACK