Rainfall’s CodeLife

C/C++/C#/VB/JavaScript/Python/XML

 

(转贴)被珠海的“数字”电视恶心了一回 December 31, 2006

Filed under: Miscellaneous — Rainfall @ 7:37 am

实在太精彩了,忍不住转贴了一下。现在科技发达了,什么东西都越来越复杂,可用户体验越来越差。回想一下,我们可能也做了不少这种东西,汗一个……

昨天我那小区整体进行“数字”电视的转换,强制性的签了3年的合同,有线月租从16元提到了25.5元,免费提供一个机顶盒,办完这个手续,感觉就是被“珠害”电视台强奸了一回,痛不欲生啊~~~

装“珠害”电视台的这个“数字”电视,真的很让人恶心,感觉就象是吃了只苍蝇,想吐还不让你吐出来,恶心在哪里,俺就给你列几条出来:

1、设备质量、电视清晰度:

拿到的机顶盒是深圳同洲、一个不知名的小厂做的,盒子做工本身毫无美感可言,跟我的netgear无线AP、XBOX放一起简直就象是一个土包子,做工也非常差劲(从外观上看的,当然我可不想惹事去拆那个盒子,合同上写明了,弄坏了要赔钱的,可不象我的XBOX,可让我随便拆),接口也极其简单,在小区现场所谓的“技术人员”(不知从哪请的一帮年轻後生)在给我演示使用方法时,提到接“色差线”,我当时感觉还挺好,我问他“如果旧的电视没有色差接口怎麼办?”,他象外星人一样的看著我,嘲笑似的告诉我,所有电视都有色差接口,我当时就愣了,仔细拿起他用来演示的那条所谓“色差线”一看,靠,这根本就是一条AV线,我强忍怒气跟他讲了AV线和色差分量线的差别,那小子就愣在那里了,(让我们来看看AV线和色差分量线的区别吧:AV线-用於传输模拟音视频信号,是最“最苦老”的连接线,就象文字里的“甲骨文”;色差分量线-传输质量最好的模拟视频连接线;两者的信号质量是没得比的),说到这里,各位大概也想到了,这盒子就只能用AV线,或者稍好一点的S端子(S-VIDEO),根本没有色差接口,当时我就挺郁闷的,拿回家接上一看,果不其然,什麼所谓的“数字”电视的高清晰度根本就没体现出来,广告上吹的DVD的效果根本就是瞎扯蛋,对比DVD+色差分量的视频质量,那“数字电视”机顶盒+AV的视频质量简直可以用惨不忍睹来形容。我家那台电视是康佳的数字高清电视(也就是电视台宣称的“假数字高清电视”),看模拟电视的效果绝对是一流啊,加上机顶盒後, TMD,电视清晰度根本就没有提高,有些台的收视效果还下去了,画面明显偏暗,真想揪几个“珠害”电视台的领导过来,煽他几个大嘴巴;

2、内容的“多样性”:我们再来看看多的都是些啥玩意-

在线电台:提供了7、8个广播给你听,家里有带收音头的功放的人家应该不少吧,收到的台绝对比这多了去了,而且那音质,比用电视机喇叭也好了去了,再不得不提的就是听收音机时,画面是静止的,如果你家用的是等离子,听久了那可是会烧屏的,其他液晶电视和普通电视机多多少少也会受到伤害,所以这个收音机,不听也罢;

邮件:刚看到遥控器上的“邮件”按钮,还挺开心噢,心想可以用电视机来收EMAIL了,MD,打开一看,原来是专门用来收电视台的通知的,象那些催费通知什麼的,这个功能,您觉得如何?

资讯:打开“资讯”这一栏,呵呵,里面的小栏目还挺多,可您要是有兴趣一个个打开看,那您又要失望了,我记不太清我昨天都看了哪些了,不是记忆不好,实在是被它气糊涂了,能记得起来的象天气预报,我打开一看,晕死,昨天是19号晚上了,显示的是17\18\19三天的天气情况,靠,什麼天气预报,就是一个天气晚报;还有一个人才市场,打开一看,整个一白板,一条内容也没有…这样的资讯,您用得著吗?

游戏:这一栏很搞笑,说明书上还特意写了“请注意身体,请勿沉迷…”的字句,我想这是啥游戏呢,这麼好玩?打开一看,就一个“俄罗斯方块”,比我的电视带的游戏还少,无语;

其他什麼“政务”什麼的,唉,我想聪明的您都能猜出是些什麼了,还有“视频点播”,全是些新闻,记录片,没啥吸引力;

3、操作性:

以前打开电视就能看到电视内容,现在可不行,每次我都先得打开电视,然後用电视遥控器选到我接的AV3,然後启动机顶盒等个5、6秒才能看到电视,那个机顶盒的接收能力非常之差,带的遥控器也非常的烂,经常按了没反应,另外致命的一点就是音量了,每个台的音量都不一样,你换台之後还得重新调整音量,昨天就因为换了一个台,音量突然变大,就被老婆骂了一回,唉;

4、其他方面:

你的电视柜无端端多了一个垃圾盒和一堆接线,占用了空间,而且其外观直接影响了您的客厅风格;

又多了一个电源接口,使您本不富裕的电源插板接口资源极度紧张;

该机顶盒标明功率15W,一户人家每天看3小时为例,一个月就要多消耗1.3度电(还不算待机时的消耗),这样下来,整个珠海电网的负担又会多出多少?

……

这个所谓的“数字”电视,是肥了电视台,坑了我们老百姓啊!

但我们又能做些什麼呢?啥也做不了,就好好在家享受您的“数字”生活吧!

 
 

网站认证方法 December 22, 2006

Filed under: Miscellaneous — Rainfall @ 6:52 am

参考资料:
http://www.yupoo.com/apidoc/
http://code.google.com/apis/accounts/Authentication.html

网站的登录认证方式从单一网站到认证系统基本可以分为三种形式:

  • 单网站单服务器登录
  • 单网站多服务器登录
  • 以及多网站多服务器认证

传统网站由于其体系相对的封闭特性,通常都只采用前两种登录方式,但随着Web2.0对网站的开发性要求,很久以来本地软件就已经成熟的API体系也逐渐被网站应用采用。

而网站应用最重要解决的问题就是安全认证,在保证网站内部关键数据不外泄的前提下提供信息。认证登陆则是解决这个问题的门锁。

★ 单网站单服务器登录

这是最简单的认证形态,登录信息不存在共享,只被一个应用服务器使用。因此,无论采用何种方式记录登录信息都可以,session数据可以放在服务器内存中,或者服务器数据库。用户在浏览器中输入帐号密码,发送到服务器后,由服务端通过用户数据库进行认证后将用户标识记录在服务器内的SessionData中。而客户端只记录Session的标识。

Account&Password <==|==>Session<==|==>KeyData
         (Client)                         (Server)               (BackDB)

用数据库记录Session数据有两个目的,其一是为了实现永久性登录,需要在Client端利用Cookie记录SessionID,以便服务器恢复登录状态(Session)。所以对于CookieDisable的浏览器是无法实现永久登录的。这就需要在数据库中保留Session数据。Django的Session数据库字段非常简单(SessionID,Data,Expire),通常Session数据都很简单,只记录标识,不记录大数据内容。

数据库维持Session另一个原因就是下面的多服务器登录。

★ 单网站多服务器登录

由于内存数据无法跨进程共享,更不可能做到跨服务器共享。但是现在大部分网站都由多台主机同时提供服务,用户在前后多个页面时,很有可能是有分别不同的主机提供的内容。如果内容和具体用户无关还好,但如果提供的个性化页面情况就不同了,这些服务器必须保存状态数据。

现在的互联网应用基本遵从“无状态服务”架构,这也是现在互联网能够服务海量服务请求的一个重要前提,所以SessionData应该尽量简单,其根本目的就是为了标识,而不是存储。
现在越来越多的网站都不再遵守这个框架原则,这主要是现在互联网对个性化服务的追求带来的变化,因此在设计具体网站时,要认真把握好有无状态的平衡。

状态数据必须利用数据库实现跨服务器访问,通常内容服务器只需要读取Session数据,而需专门的认证服务器来创建(或恢复)登录信息到Session中。

Account@Psw <==|==> LoginServer <==|==> UserDatabase
                        |
                     Session
                        |
    Browser <==|==> ContentServer(s) <==|==> ContentDatabase

由于大型网站对登录的需求多种多样,主要是登录完成后的处理方式的不同:

A)单独登录页面

这种方式需要在登录成功后进行重定向,比如网站首页,登录前的页面。最简单的方式就是通过Url传递返回地址,如:

http://somesite.com/login/?back=http://somesite.com/index

前段时间微软发布了一种“PageFunction”概念,这样就可以把登录页面作为一个函数来调用,这样可以想函数调用一样更方便的解决返回地址问题。

Caller       Page Func
——       ———
Call page =>
             login page
Call page <=

B)嵌入式登录页面

在网站中对于登录需求有两点很强烈:第一就是返回登录前地点,第二就是随时随处登录。嵌入式登录页面可以很好的解决这个问题,甚至可以做到登录时不跳转当前页面。

+————+——————–+
|            | login page(frame)  |
|            +——————–+
|             内容页面             |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|

通过Frame嵌入登录服务器提供的登录页面,登录页面通过对当前用户状态的判断,决定显示登录内容还是注销、用户信息。而内容页面可以通过Session或DOM对登录进行控制。这种方式其实本质就是利用frame解决了前种方案的跳转问题,而且实行方式不需要内容页面做特殊处理,甚至可以通过master page将登录小页面实现到所有内容页面上,解决随时随处登录的问题。

但是随着网络应用的复杂度增加,内容服务器不可能都用同一个平台开发,甚至不可能运行在一个局域网内,更谈不上访问Session数据库。解决这个问题,就必须采用开放式的认证系统。

★ 多网站多服务器认证

对于不能运行在同一个局域网的服务器组,我们可以认为这些服务器是互不信任,甚至真的就是第三方的服务器,比如我要做一个专题图片展览,而应用的图片都来自于Flickr或者Yupoo,这就需要获取Flickr和Yupoo的认证。当然,Flickr不可能公开他的UserDatabase,其实我也不需要,我只要能让Flickr知道我能访问权限即可。

Client     专题展览应用      Flickr
——     ———-      ——
  –图片请求–>    —请求登录—>
  <——————登录页面—
  –输入账户密码—————->
  <–SessionId–  <–认证标识—
  –SessionId–>  —认证标识–>
  <——————图片数据—

从这个交互图,我们可以看出“认证标识”其实可以认为就是Flickr的SessionId,但实际并不是这么简单。原因有几个:

A)账户和密码只能由Client直接在Flickr上输入(不能让专题应用知道用户隐私)

B)flickr的SessionId只能保留在Client中,专题应用是拿不到的

C)不可能应用每做一次flickr调用之前都让用户输入密码

因此上图中的认证标识必然是一个“登录用户标识”和“应用标识”的对应体,而且是稳定存在的。因此登录流程改变成:

Client         应用          Flickr
——         —          ——
   –登录–>     –登录(+key)–>
  <–SessionId-  <–Token—–(根据账户,应用Key创建Token)

key就是一个第三方应用的标识,而Token则对应了唯一的UserAccount+AppKey。Token是一个比session更持久的认证标识,为了使过程更可控,这个过程会优化为:

Client         应用          Flickr
——         —          ——
   –登录–>      –请求frob—>
                 <–frob(一段时间内有效)–
                 –登录(+key+frob)–>
                 <–frob—–(根据账户,应用Key创建临时Token)
                 –获取token—->
<–SessionId-    <–Token—-(将临时Token转化为正式Token)

frob就是一个请求token的临时入场券,token生成后必须在要求的时间内确认获取才会生效。

Token是一个很可怕的东西,他会通过Http的Uri或者Form明文传递,而且始终有效,一旦被别人掌握,这实在太可怕了!解决方法很简单,只需为每个创建的AppKey都同时随机创建一个ShareSecret,这个secret只被“应用”和“flickr”掌握,需要传递Token的时候,只需要把secret和调用参数合在一起,利用md5等不可逆算法计算出“签名”一并发送即可。

 
 

势不可挡的互联网大潮 December 17, 2006

Filed under: Miscellaneous — Rainfall @ 8:49 pm

酷橘在线-FrontPage即将死亡

在服役了9年之后的Office悍将FrontPage,将于今年下半年正式退役。微软是这么说的:

作为一种获奖的 Web 创作工具,FrontPage 已服务客户九年多了,它准备在 2006 年下半年退出市场。

FrontPage,这个互联网洪荒时代便开始拓荒的产品。在经历了9年的风雨之后,不得不承认自己已经不再适应这个时代。譬如博客的兴起,网页的创建变得极为简单,可以说博客在一定程度上加剧了FrontPage的死亡。

互联网终结的第一个Office组件,正如预料的那样,导致这一结果的并不是“功能不能满足用户”,“易用性不好”这些功能,而是互联网改变了用户的生活、习惯,改变了用户的需要,从根本上掐死了FP的生存之路。这就是潮流的力量。

Web2.0对互联网最大的影响莫过于改变了用户的互联网生活方式,更多的人以参与者的身份加入互联网,Digg.com, YouTube.com, Del.icio.us这些都是趋势的标杆。现在一个用户坐在电脑前面做的最多的事情是什么?用什么“服务”(不是软件)做这些事情?还需要什么样的“服务”?这些问题都和我们之前大不一样了。比如我的Del.icio.us今天的收藏数量是498条,可以想想Del.icio.us掌握的这些被整理的互联网资源有多少,而反过来讲,我现在已经形成了看到不错的网页收藏下来,今后我还会去查么?几乎没有。我收藏的动机就是让我的朋友知道我今天又看了什么,这是我价值的体现手段之一,这也是我的互联网生活的一部分。

所以,这种趋势对传统软件带来的冲击是巨大、且不可逆转的。

 
 

事业,还是工作 December 9, 2006

Filed under: Miscellaneous — Rainfall @ 8:12 am

   很多人都在扪心自问:“我是在做一份事业,还是仅仅为糊口?”大多数人做事的确是迫不得已而为之,仅仅为养家,这样的做事方式,无论挣多少钱都不能称之工作。
   在高度发达的经济社会,人们的很多价值观在改变,更多的事情以金钱来衡量,人们日益相信有钱能使鬼推磨,赚钱多少成哼衡量事业成功与否的标志。哪怕他做的是最无聊、不鄙劣的事情,比如卖淫、赌博……..。社会发展到今天,不知道这种观念的进步,还是思想的倒退。
    鲁迅先生说过:“我们从古以来,就有埋头苦干的人,有拼命硬干的人,有为民请命的人,有舍身求法的人……虽是等于为帝王将相作家谱的所谓‘正史’,也往往掩不住他们的光耀,这就是中国的脊梁!”忆往日,岳鹏举“驾长车,踏破贺兰山缺”,拯救黎民于水火;辛弃疾“求田问舍,怕应羞见,刘郎才气”,始终心系国家命运;曹植“闲居非吾志,甘心赴国忧”,这些忧国忧民的铮铮汉子,以一段人生“留取丹心照汗青”。这些先天下忧而忧,后天下乐而乐的汉子所从事的工作才能成为事业。
    事业与钱无关,它仅仅是一种个人的追求和爱好,并在这个过程为人民谋福芷;如果你现在正在从事一份工作,它能给你带来愉悦和自信,且对社会有意义,就是事业。也许回报不高,但凡想作出点明堂的人,必须得忍受住清贫和寂寞…….

 老婆可能是晚上去莲花路溜达了一圈,受了刺激后写了这篇慷慨的文字,一定要我贴出来。不过做事业要忍受的住寂寞这句话好像是说给我听的,呵呵。