2006-10-12

PixSense

 
 
What is PixSense?
PixSense is a new way of taking, sharing, and managing pictures and videos captured with your camera phone. PixSense makes taking, sharing, and managing pictures with camera phones really easy; it makes it so simple, that all you do is Click, and then you're Done.
 
Upload
Photos and videos captured from your camera phone get automatically uploaded to the PixSense Web Gallery
 
 
 
Share with friends and family
Share your photos and videos with your friends and family directly from your phone or the web via email or SMS.
 
 
 
Publish to everyone
Publish photos and videos from your phone for public viewing. Click here to register and start sharing your photos and videos now! You can also read the FAQ to learn more about PixSense.
 
 
 
 

神奇的MICHELIN® TWEEL™



The MICHELIN® TWEEL™ amazing invention November 2005
Accolades continue to roll in for Michelin innovation
NEW YORK, N.Y. (November 14, 2005) – Time magazine has selected Michelin's Tweel™ innovation as "One of the Most Amazing Inventions of 2005." The honor is reported in the Nov. 21 issue of the magazine, which hit newsstands today.

"Michelin innovation is the fuel that drives our market-leading products and customer satisfaction," said Terry Gettys, president of Michelin Americas Research and Development Corp. "Tweel has certainly captured the imagination of the transportation world with its potential to radically transform mobility. We are honored to have been recognized by the editors of Time magazine for Michelin's success in improving mobility in every form."

November has been a month filled with accolades for Michelin innovation.


  • On Nov. 1, 2005, the inventors of the radial tire, Marius Mignol and Pierre Bourbon, were inducted into the Tire Industry Association (TIA) Hall of Fame for their invention that improved the safety, performance and efficiency of tires.

  • On Nov. 8, Michelin's Tweel innovation was named to Popular Science's "Best of What's New" honor in the Automotive Technology category.

  • On Nov. 9, Michelin received its second InnoVision Hall of Fame Award for its extraordinary Tweel breakthrough.

  • On Nov. 14, Time magazine named Michelin's Tweel Innovation as "One of the Most Amazing Inventions of 2005."


Michelin Tweel, the revolutionary non-pneumatic tire and wheel assembly invented at Michelin's North American research center in Greenville, S.C., is quite simply a tire without air. Michelin is developing a variety of applications for the innovation ranging from the iBOT wheelchair to construction equipment to military vehicles and more.

The world's largest tire maker, Michelin (www.michelin.com) manufactures and sells tires for every type of vehicle, including airplanes, automobiles, bicycles, earthmovers, farm equipment, heavy-duty trucks, motorcycles and the space shuttle. The company also publishes travel guides, maps and atlases covering Europe, Asia, Africa and North America. Headquartered in Greenville, S.C., Michelin North America employs more than 23,000 and operates 20 plants in 16 locations.

Photo:




Video:

2006-10-10

Windows下得到整数分区


大家分区的时侯都会输入数字,比如你想得到一个2G的分区你也许会输入2000M或者2048M其实你输入的这些数字所分出来的区在Windows下面都 不会被认成整数的2G,而是1.9xG,想要得到Windows下的整数G分区,你必须知道一个公式,通过这个公式算出的值就是被Windows认成整数 G的值。

整数G计算公式:(X-1)*4+1024*X=Y

其中X就是你想要得到的整数分区的数值,单位是G,Y是你分区时应该输入的数字,单位是M。
例如我想得到Windows下的3G整数空间,那么我分区时 就应该输入(3-1)*4+1024*3=3080。
同理欲分出10G的空间则应该是(10-1)*4 +1024*10=10276

例: 
(5-1)*4+1024*5=5136    5G
(10-1)*4+1024*10=10276  10G 
(15-1)*4+1024*15=15416  15G 
(20-1)*4+1024*20=20556  20G

寂寞是因为思念你



你知不知道思念一个人的滋味
就像喝了一杯冰冷的水
然后用很长很长的时间
一颗一颗流成热泪
你知不知道寂寞的滋味
寂寞是因为思念谁
你知不知道痛苦的滋味
痛苦是因为想忘记谁
你知不知道忘记一个人的滋味
就像欣赏一种残酷的美
然后用很小很小的声音
告诉自己坚强面对
你知不知道寂寞的滋味
寂寞是因为思念谁
你知不知道痛苦的滋味
痛苦是因为想忘记谁
你知不知道
你知不知道
你知不知道寂寞的滋味
寂寞是因为思念谁
你知不知道思念一个人的滋味
就像喝了一杯冰冷的水
然后用很长很长的时间
一颗一颗流成热泪

神以七日创世,而你是神以其血所铸,不是天使,却拥有羽翼,不是神灵,却拥有是非之心,你是最接近于神的存在。
你就是我的天使,我的神灵,weier.

2006-10-09

有趣的计算



如果令A、B、C、D......X、Y、Z这6个英文字母,分别等于百分之1、2、3、4......24、25、26这26个数值,那么我们就能得出如下有趣的结论:

  HARD WORK(努力工作):H+A+R+D+W+O+R+K=8+1+18+4+23+15+18+11=98%
  KNOWLEDGE(知识):K+N+O+W+L+E+D+G+E=11+14+15+23+12+5+4+7+5=96%
  LOVE(爱情):L+O+V+E=12+15+22+5=54%
  LUCK(好运):L+U+C+K=12+21+3+11=47%

  这些我们通常非常看重的东西都不是最完满的,虽然它们非常重要,那么,究竟什么能使得生活变得圆满?
  是MONEY(金钱)吗?
  不!M+O+N+E+Y=13+15+14+5+25=72%

  是LEANERSHIP(领导能力)吗?
  不!L+E+A+N+E+R+S+H+I+P=12+5+1+4+5+18+19+8+9+16=97%

  是SEX(性)吗?
  更不是!S+E+X=19+5+24=48%

  那么,什么能使生活变得圆满呢?
  是ATTITUDE(心态)。
  A+T+T+I+T+U+D+E=1+20+20+9+20+21+4+5=100%
  正是我们对待工作,生活的态度能够使我们的生活达到100%的圆满!

Picasa2 Teddy Bears

Press "Ctrl+Shift+Y".

Posted by Picasa

支持正版,抵制盗版



我说的是DVD......

 
 
  Posted by Picasa

Daily Tarot Reading



Cool Javascript

 
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin (R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);

2006-10-07

Test



this is a test.

2006-10-06

Perty Doggy



Niuniu's Photo
Jun 22, 2006 - 22 Photos

2006-09-28

Web 2.0 编程思想:16条法则

 

原文:Thinking in Web 2.0: Sixteen Ways
作者:Dion Hinchcliffe

1、在你开始之前,先定一个简单的目标。 无论你是一个Web 2.0应用的创建者还是用户,请清晰的构思你的目标。就像"我需要保存一个书签"或者"我准备帮助人们创建可编辑的、共享的页面"这样的目标,让你保持最 基础的需求。很多Web 2.0应用的最初吸引之处就是它的简单,避免并隐藏了那些多余的复杂性。站在创建者的立场,可以想象Google的几乎没有内容的主页,还有 del.icio.us的简单的线条。从最终用户的角度来看,与之齐名的就是Diggdot.us所提供的初始化页面。你能够并且希望加入更多功能,但是先做好最开始的。在一个时候只做一个特性,完成一个目标。这听起来很太过于单纯化了,但它将使你更加专注,而且你也会明白我的意思。

2、链接是最基础的思想。这就是我们称之为Web的一个理由。链接是把Web中各种实体连接起来的最基本的元素。你的信息、你的关系、你的导航,甚至是能够被写成URL的任何内容。这里有一个链接应该遵循的规则(其实你也不必严格的遵守):

1. Web上的任何东西都是可以被URI或者是URL所连接的。
2. 把所有的链接都保存为他的原始出处,这样可以让你与任何人、在任何地方、任何时候都能分享它。
3. 第二条中任何时候的前提是链接必须是持久的,它不会在没有任何缘由的情况下被改变或者是消失。
4. 链接应该是人类可读的、稳定的、并且能够自我诠释的。

3、数据应该属于创建它的人。是的,你听我的。任何用户创建的、贡献 的或分享的都是他们自己的,除非他们很明显的放弃这个权力来让你自由处置。他们贡献到Web上的任何信息都应该是可编辑的、能被删除的、并且能够取消共 享,无论在任何时候,只要用户愿意。这也包含了那些间接的数据,像他们所关心的记录、日志、浏览历史、网站访问信息,或者是任何可以被跟踪的信息。所有的 网站必须清晰简单的陈诉那些信息是用户创建的,并且提供他们停止创建的方法,甚至是清除的方法。

4、数据优先,体验与功能其次。 无论它是文本、图片、音频还是视频,Web最终还是把这些解析为数据。换句话说,你无法脱离数据去呈现内容。所有这些数据都通过那些易于发现的URL来定 位(参见第2条)。通过另一种形式来看待这些,Web最终是名词优先,动词其次,虽然最近正在向动词偏移。来看看名词的例子:日历的条目、家庭照片、股票 价格。还有一些动词的例子:定一个约会、共享一张图片、买一份股票。

5、做好积极分享一切的准备。 尽可能的分享一切,你所拥有的所有数据,你所提供的所有服务。鼓励不遵循原有意图的使用,提倡贡献,不要那些需要分享的内容坚持设置为私有的。在分享与发 现之后,提供易于使用的浏览方式是显而易见的需求。为什么呢:话说回来,你会从别人的共享之中受益匪浅。注意:这里没有许可让你去侵犯版权保护的法律,你 不能够去分享你刻录的DVD或者是拥有商业版权音乐,因为你已经同意不会去分享这些东西。但是你可以发现并分享那些完全开放的媒体内容。一个小小的建议, 你可以学习一下 Creative Commons license(共创协议).

6、Web是一个平台;要让它成长。 当然,我们还有很多其他的平台(Windows、Linux、Mac),但是那些已经不是重点了。换句话说,Web是无法脱离的平台,不会中断的平台,你 可以通过各种方式去扩展的平台。你在Web上提供的数据与服务将会成为Web一部分,最终你会在Web平台的某一处扮演你的角色。扮演好你的角色并照顾好 后来者。

7、理解与信奉"阶梯性"。现在的Web越来越大,几乎蔓延到了全世界的所有国家,并且 已经拥有了10亿用户。我的观点是Web的各个组成部分存在着细微的区别和不同,就像不同地方的用户那样。例如Web的设计部分:易用性永远优先于速度、 可靠性、重用性与可集成性。你也应该提供同样的体验给你的用户。它已经被一次又一次的被人们在文档中强调,忠诚的用户很快会成为专业的用户,他们期待更快 的速度还有更多。退一步支持他们。同样,也有很多很多的用户会进入这个阶梯的底端,如你所期待的那样。他们可能不会说你的语言,不熟悉你的文化,甚至不知 道是如何到这里的。所以你需要向他们表达清楚。

8、任何东西都是可编辑的。或者是它应该被编织的 更好。要确定的是,只有很少的东西是不能被编辑的,剩下的都可以,这是一个可写的Web。这并不意味着原始内容的丢失,而通常被理解为用户能够很容易的对 内容加以评论,或者评注内容是在那里发现的。如果你对此应用的好,他们能够比你所想象的做的更多(把内容串起来并且给予原始内容来创建自己的,等等)。

9、Web上的身份是神圣的。 不幸的是,这并不意味着你能够得到更多的隐私(这完全是上个世纪的想法)。但对身份的验证是必要的,你应该感谢那些只需一个邮件地址就能确定你身份的服 务。这意味只要你对你的用户承诺了,你就必须保证他们的隐私安全。必要的时候,在这个世界的某处你还得为你的用户挺身而出,向当地的权威挑战。如果你没有 打算那样做,你就得把实际情况告诉你的用户。另一方面,如果身份是必须的,不要试图伪装它,不然在某一天我们将会在Web上放弃我们的最后一点点隐私的权 利。

10、了解流行的标准并且使用他们。从一个消费者或者是创作者的立场来看,数据将会以不同的 格式与任何一个人交换。同时这样的数据也会反过来促进标准的完善与采纳。这通常意味像RSS、 OPML、XHTML、Simple XML、JSON等简单标准的流行,而避免SOAP、XSD,还有RDF、ATOM也一样,使用它们会给我的内心带来痛苦。请你也为你所钟爱的标准投上一 票来支持它们。

11、遵循无意使用的规律。如果你把非常有趣的数据和服务用广泛使用的格式开放和 共享出去,你将会得到你所应得的,其他人也将会基于你的那一块Web平台来构建。或许还会从别人那里得到更多,所以为这个做一下准备比较好。我已记不清有 多少次我看到一个播客(podcasting)服务因为流行过渡而导致服务垮掉,就是因为他们被 Slashdot和del.icio.us给收录了。这一点要知道:网络上的大量化意味着如果一个内容非常有趣,即使是一个很小的角落也会得到惊人的访问 量。鼓励使用这种方式,它还是非常有价值的,前提是你要有所准备。

12、粒化你的数据与服务。我 们应该在很早以前就明白这些,大规模集成的数据仅仅适用于无需管理的下载与批量操作。分解你的数据,让他们独立成可描述的URL地址,对你的服务也一样。 反过来说,你不要创建一些巨大的、复杂的、像圣诞树那样的数据结构和服务。保持简单,要非常的简单。让这些分离的片断能够容易的被重组和发现。

13、提供用户能够单独受益的数据和服务。渐渐依赖于这种社会化参与是存在风险的,你需要让你的用户有一点点动机来贡献时间、热情和信息,除非他们能够直接受益。社会化分享比个体行为的利益大很多,除非你能够激发用户的个人动机,否这你将无法享受这份厚礼。

14、让用户组织并过滤信息。 不一定是必须的,但却是非常重要的。让用户以他们自己的方式来标注和组织数据,因为你自己是永远无法及时的处理他们的。用户会按照他们自己理解的最佳方式 来处理并构建。要保证你的Web服务能够按照用户所需所想的方式来工作。这也是标签(tagging)和通俗分类(folksonomies )的方式如此成功的主要因素。

15、提供丰富的用户体验。Web一直都在和本地的应用程序进行着激烈的竞争。为什么?因为本地程序还是感觉上好一些,速度也快一些。但是这不会长久的(确信在5年或者15年后,这种竞争就不存在了)。是的,我在谈论Rich Internet Applications , Ajax, 还有那些不可思议的交互应用。他们让Web成为了一个真正的"无平台"的平台,如果你知道我是怎么想的。

16、信奉并支持快速改进和反馈。 这个通常意味着加快步伐,但也意味着使用轻量级的工具、技术和不要做出那些适得其反的痛苦决定(例如使用一个被层层环绕的Ajax框架来代替可以通过混合 来实现的,或者用C++来构建所有的东西,其实使用Ruby会更好一些)。这同时也意味着需要一个非常快速的方式来处理错误报告,修复Bug,释放新版 本。从一个用户的角度来看,报告你所发现的任何问题,还有那些你经常抱怨的地方,甚至那些都不是一个Bug。

当然,Web 2.0是一个极其广泛和深奥的话题,没有一个人能够列举出它的所有重点和特征。如果你对此充满了兴趣,请花一点时间来补充我没有提到的地方。我想这就是Web 2.0的参与性吧!

原作者的这个标题借鉴了Bruce Eckel的两本畅销书的名字:《Thinking in C++》和《Thinking in Java》,《C++编程思想》与《Java编程思想》,在此说明一下为什么要这样翻译这个题目:)

2006-09-27

补充一些关于Youtube的有趣数据

 
我们知道YouTube是毫无疑问的视频网站老大,它上面的视频平均每天被观看次数达到了1亿次。然而这些都不是最恐怖的统计数据,computers向我们展示了YouTube另外一些更惊人的。

1.YouTube上面一共有超过600万个视频, 并且每个月增长20%;

2.YouTube上面所有的视频所占的容量大概是45TB(1TB=1024GB);

3.自从YouTube上线以来,上面的视频被观看的时间总计大概为9305年;

4.YouTube每个月花在视频带宽上的费用高达数百万美元;

5.YouTube上面最热门的视频的标题一般包含"love"、"music"或"girl"。

Youtube视频的下载、本地播放及格式转换

 

Youtube有很多有意思的视频,可供娱乐或学习。如果我是英语老师,我觉得有些视频就可以用做听力课或者口语课的材料。但youtube本身不提供视频下载服务,它所使用的是FLV格式,要用FLVplayer播放(据说最新版的暴风影音也可以)。下面我们就研究研究Youtube视频的下载、本地播放及格式转换。

下载youtube视频:

方法1:在线服务
Keepvid.com这个网站非常爽,只要把youtube相应视频的url填入,它就会自动提取出flv文件供下载了,而且速度还很快。keepvid支持大部分流行视频服务的下载,如google video,国内的tudou等。

注意事项:
1、有时候下载的文件名是get_video,没有扩展名.flv,需要手工加上扩展名(先确认"查看--文件夹选项--隐藏已知文件的扩展名,这个选项已经去掉")
2、偶发现有时候用keepid下载的视频尺寸有点问题。不知道是不是rpwt

方法2:YouTubio软件
YouTubio是个绿色软件,界面简单(也比较简陋),操作方法跟keepvid差不多,输入url后F5就开工下载了,但速度居然比keepvid慢。

播放.FLV
下载一个FLV Player或者Riva FLV Player

转换.FLV
Riva FLV encoder可把FLV文件转换为avi、mpeg、wmv等更为常见的格式(more)。RivaFLVencoder同时也包括一个FLV播放器Riva FLV Player,但从功能、界面、资源消耗等方面考虑,还是FLV player强一点。

RivaFLVencoder的简单使用:
1、在input--input video里面打开要转换的FLV文件,或直接把文件拖拽到这里
2、在output--output directory里面选择输出文件的保存目录
3、在output--output video里面修输出文件的文件名和扩展名(如avi、wmv)
4、[可选]在右边栏可设置输出文件的各种设置
5、点击"encode",速度挺慢,需要有点耐心

参考资料:
1、Riva FLV Encoder Help
2、Flash 视频(FLV)编码,转换,录制,播放方案一网打尽
3、How to convert .flv (flash video) to .avi or .mpg
4、Keepvid-Youtube等视频的下载服务
 

网页不需要漂亮

 
终于有了深刻感触为什么Jakob, Norman等人要把网站做他们的样子,原来我看问题还是太复杂,虽然一直在试图简单。

漂亮与质量

记得某论坛曾帖出一份国外某机构评选出的顶尖网站名单,很快大家都跟帖抱怨或者心中怒骂来表达对作品的不屑一顾,这种人往往把视觉打分的权重放的很高,他可能忘了自己看网站的目的是什么,也没去想人家做网站的目的。

有一种观点就认为CSS写的页面都不怎么漂亮,建议你去看看CSS World Awards Winners 2006的作品,某些虽然貌似平庸,但也不至于难看,其中不乏Haveamint这样的经典视觉作品。借用Dave的话:我不认为使用CSS设计出的作品注定都是丑陋的。只不过用好CSS的人现在还没理解到它的妙处而已。

视觉只是一个无关紧要的标准,比如很多人会认同K10k图形上的精致,却只有少数能看懂Stopdesign代码上的巧妙。如果你还认为页面只有漂亮和不漂亮两种标准,那说明你对"网页设计"还很陌生,没有理解她蕴含的深意。

对于网站质量来说,漂亮只可用来加分,但不能打分。

漂亮还是舒服

网站是一个平台,网页只是一个界面,替用户服务的媒介,如果成为纯粹的艺术品,那就失去了本身的意义。所以我更认同界面最高的赞誉是舒服,而不是漂亮。注意你每一次界面视觉的体验,本能的会把舒服和漂亮两个概念分开,肯定是两种不同境界的感受。

漂亮是用户对作品的主观评判,我认为这个作品很漂亮。
舒服是作品对用户的客观影响,这个作品让我感觉很舒服。

相对耳熟能详的禅意花园,我可能更推崇CssPlay,站长是一位60高龄的工程师,我感兴趣的不是他网站全球1w内的排名,而是平均高达9.0的PageViews,这是现在很多高排名商业网站都达不到的高度。曾经跟踪过前四次改版,视觉上一版比一版简单、舒服,内容也更丰富,整体更好用和耐用,看得出站长的观念也在变,需求分析和定位也日趋精准。

对于视觉体验来说,舒服是比漂亮更高层次的艺术。

Expand

舒服是漂亮的更高层艺术http://blog.sina.com.cn/u/469ca01a010005ii
风格,我让谁满意? http://www.ucdchina.com/angela/article.asp?id=11
我们倒底需要多么美丽的网页http://www.chouyu.com.cn/article.asp?id=11

消息来源:http://www.rexsong.com/blog/article.asp?id=463

Google 8th Birthday Logo






2006.09.27

2006-09-19

Windows Server 2003 BlueScreen


单位的计算机,使用Windows Server 2003 Enterprise Editon系统。
莫名其妙的频繁出现蓝屏死机的现象,而且信息提示涵盖了硬件、硬件驱动、虚拟内存、物理内存等各个方面......

一时之间搞不明白到底怎么回事,从操作系统本身来说,如果硬件问题,那么是不会完成安装的,硬件驱动也是如此......
物理内存是名牌大厂的256 M * 2,出问题的可能性极小,但是根据我以往的经验,这种操作系统如果出问题,也只能是硬件问题......

自相矛盾了很长时间,今天终于无法忍受,打开机箱一看,原来如此:

CPU风扇的电源线没有接上,自个儿在那里耷拉着,这真是个天大的玩笑......

IKEA

 
在宜家里面坐着休息的时候,老婆看到邻桌一个人在用一个像摄像机(那种很小巧的立式的,一侧的LCD可以翻出来的)一样的手机,问我是不是诺基亚的,我肯定的说不是。因为按照瑞典芬兰人的思维方式,他们决不会去做这种东西出来,能做出这种东西的肯定是日本人。
宜家体现出来的正是北欧人的这种生活和思维方式,他们做的每一样东西都很实在的去完成一件任务。而日本人则想方设法让一样东西具有尽可能多的功能,就像现在的手机,可以拍照、摄像,现在又可以听音乐,看电影,这些功能都是日韩厂商的发明创造,Nokia自己的理念是去设计手机的style,所以他们会去推72xx系列;而Siemens甚至会去专门做一个Xelibri系列出来。在中国日韩厂商设计手机的思维更吃香一些,而家居方面这个潮流正好想反。
IKEA和其他的家居卖场的最大不同是他卖的东西都是由IKEA自己设计的,而其他卖场仅仅去采购。这就让IKEA的东西有统一的风格,如果你爱上这种风格的话,你会从厨房买到卧室,家里无一处幸免。这种风格就像前面我说的,在IKEA每件商品都只负责一个功能,这句话可以从两个方面来看。
如果你买了一个电脑桌,那么你其实买的是一个桌面,四个桌腿,一个键盘托盘和一个机箱架。你还可以配一个键盘垫,安装一个台灯,充分发挥想象,设计出自己需要的配置,选择自己喜欢的外观。这就是让普通的产品具有差异化和个性。
在IKEA你会发现很多意想不到的商品,比如专门压蒜头的夹子,专门的计时铃,专门安装在桌角防止小孩磕碰的塑料套,等等。这就是为了用户的特定需要甚至是为用户创造需求而设计独特的产品。
不过,IKEA在让你惊奇连连的时候,同时也在限制着各位的想象力。这个变化莫测的世界,IKEA永远无法让所有的潜在需求都变成一个对应的产品,当你沉浸在IKEA给你带来的欢乐和享受的时候,总有一天你突然发觉一件事情用IKEA的东西搞不定,那时你会痛恨自己已经被IKEA宠坏的想象力了。

Windows Live Messenger 8.1 Beta

 
今天收到了Microsoft的邮件,拒绝了我参加Windows Live Messenger 8.1 Beta 测试的申请......
 
原文如下: 

Hello from the Windows Live Beta Team, 

We regret to inform you that we could not accept your participation in the Windows Live Messenger 8.1 Managed Beta at this time.   Space in this beta is limited and we had more applicants than spots available.  We encourage you to regularly check available connections on the Microsoft Connect Web site ( http://connect.microsoft.com) for any new Windows Live beta programs as the become available.  We value your support and look forward to partnering with you in the future.  

Sincerely, 

The Windows Live Messenger Beta Team

2006-09-18

什么是 APN、CMWAP、CMNET

 

在用手机设置 GPRS 上网的过程中,需要配置一下"接入点",即所谓 APN (access point name).

照我的理解,所谓配置 APN 就是选择一个"接入服务器",GPRS 拨号到接入服务器后,它检查一下你的 SIM 卡是否有权限拨入,然后从它管理的 IP Pool 里面分配一个地址给你这个连接,然后就可以上网了。基本上和 ppp 拨号是一致的,包括计费我猜也是各个"接入服务器"把计费信息传递给 radius 去计费。

目前我们可以公开使用的 APN 只有两个,CMWAP、CMNET。很明显,它们所使用的 radius 的计费策略是不一样的,CMWAP 使用的是包月计费(有的地区可能还不是包月),CMNET 用的是流量计费,0.03/k。传说有的同事就是因为不明白这两个 APN 的区别遭到了惨痛损失。

显然 CMWAP 和 CMNET 的服务质量是有本质区别的。CMWAP 拨号分配的 IP 只能访问一个 IP 地址的一个端口(当然理论上拨入的 CMWAP 手机之间可以互相通信),CMWAP 必须通过这个 proxy 才能访问 internet;而 CMNET 接入后就可以访问 Internet 上的任何资源了。
附带说一句:今天刚刚听到一个消息,就是中国移动会为 PushMail 业务单独开一个 CMMAIL 的 APN,我想接入这个 APN 后大概只能访问在中国移动那里登记的邮件服务器的 SMTP/POP3 等很少的端口,但会有单独的计费政策

由于 CMWAP 实在太便宜了,所以中国移动就得防着"不法分子"通过这个 proxy 钻空子。比如这个 Proxy 只能支持 HTTP 协议,再比如这个 Proxy 会检查 HTTP Header,发现 Agent 是 MSIE or Mozilla 就禁止连接。

不过我觉得理论上可以开发出一套服务器和客户端的程序,把所有的 IP 包都封装成一个 HTTP tunnel,加上 image/jpeg 这样类似的 Header 传输,这样移动以为客户在下载彩信,实际上我是在笔记本上用 putty 去连接 SSH..真的会有这样的软件和服务出来么?? 现在的 0.03/k 太贵了,比当年的 CERNET 访问国外还要贵三倍!

好像有的手机上的 QQ java 客户端就是把 QQ 协议封装在 HTTP 上传输,这样动感地带的小年轻们就可以很便宜的随时用 QQ 聊天了。

勿忘国耻

 
九月十八日
 
勿忘国耻

2006-09-16

什么是Web 2.0?

 
本文由Zend创建者Andi Gutmans的一段视频笔录而成(感谢Chris笔录)。
 
Andi Gutmans为我们带来了一段非常精炼的Web 2.0诠释,抓住Web 2.0的几个要点,对Ajax、Blog、Wash-Up等Web2.0标志概念以及之间的关系进行了简明扼要的阐述,足以作为Web 2.0的经典定义。
 
"大家好,我是Zend的Andi Gutmans,今天我们将要讨论的问题是:什么是Web 2.0?
也许你早已听说过Web 2.0的部分特征,例如Blog,Mash-up,Ajax,但是Web 2.0含义究竟是什么?
Flickr、Youtube这些概念网站就可以代表Web 2.0么?
其实不然,Web 2.0的定义更为深入。

Web 2.0由三个部分组成:
第一个部分-RIA,Rich Internet Applications(丰富互联网应用程序)
Flash、Ajax等网络应用技术便归于RIA旗下。例如,改进强化用户浏览器体验,将桌面操作带入浏览器操作的方法(最典型的,在网页中支持超级托拽功能)。

第二个部分SOA,Service-Oriented Architecture(面向服务架构)
这也是Web 2.0的核心部分,相关词汇:Feeds、RSS、Web Services、Mash-Up。
SOA的核心问题:开放、互通,如何让来自不同服务商的网络应用能够协作运行
作为SOA核心词汇之一,Mash-Up其实就在我们身边。例如,Google开放功能模块API接口的行为直接导致一系列以Google Earth为核心的第三方网络服务产生。

第三个部分Social Web(网络社交)
Web 2.0应用大大提高了终端用户的互动性,用户不再仅仅是服务的使用者,同时成为服务的创造参与者。例如,WiKi、Blog、Tag、Podcast等用户交互行为让Web 2.0应用更能"吸引"用户,并且激发用户行为创造资源和内容。

如何才能创建一个成功的Web 2.0网站/产品?

亦有三点需要注意的问题。

首先,你需要规划一个出色的Ajax支持产品,Ajax特指一系列创建Web 2.0服务的关键技术,是创造丰富用户体验的技术基础,当然,在浏览器支持方面要兼容IE以及火狐。

其次,为你的产品选择合适的编程语言,能够完成你需要创立的网络服务--服务产品是Web 2.0关键,选择好合适的语言是产品的技术基础。

最后,拥有一个可迭代(Iterative)的软件架构,可以非常方便地添加、部署、升级功能特性--这对拥有大量用户的情况下进行持续更新十分必要。"

文中关键词(Key Word)总结:

RIA:Ajax、Flash
SOA:RSS、Feeds、Web Services、Mash-Up,API
Social Web:Wiki、Blog、Tagging、Podcast、Iterative


 



下面文字来自Chris:

hi, my name is andi gutmans, the co-founder of ZEND. today we gonna talk about:what is web 2.0.a lot of people aske me about what web 2.0 is. they've heard of things like blogging,they've heard of mash-up,they've heard of ajax,and other bother words.but they don't quit understand what exactly that means. they've used web 2.o applications such as ???,flikcr,a lot of Yahoo! sights,but still there are something missing in the explanations.

the first part of web 2.0 is RIA,the Rich Internet Applications.some bother words that related to that, are flash,and ajax.what Rich Internet Applications really are is how do we bring the experience from the desktop into the browers,where we from a graphical point of view, or from the useability point of view,such as grag and drop,which are always used in the desktop.

the second piece of web2.0 is SOA.SOA ,that is service-oriented architecture,is one of the key pieces of web2.0. that include bowser words such as Feeds,RSS,Web Services,and everyone heards of Mash-up.what SOA is all about is how do web2.0 applications expose their fuctionality so that other applications can ever join into the functionality, provide a much rich set of application,including that from the mash-ups.

the third piece of web2.0 is the social web. web2.0 applications tend to interact much more with the end-user.the end user is not only a user of the application ,but is a participant,wether it's by tagging the content,wether he is contriveing to the WiKi,or doing podcast through blogging. It is the social nature of the these application that the end user is a integer part of the data of appliction , providing feedback,allow the application to learn from the user through the user using it.

there are rarely three things you should looking forward to challenging. the first is to layout a very good ajax support.Ajax is a set of key technology used to build a web2.0 applications.it is used to creat the rich user experience,and it works in any browser wether firefox or Internet Explorer. the second thing you should looking for is a language with very good web Services support.As we metion before,web services is a key part to provide, we know, and you need a language that make it very very easy to layout you sevices.
the third is to have a language,that is Itrative.what that means is that you can very easily add features,deploy your features,and get those applications updated. it is critical when the web applications are being used by so many user after it's constantly updated.

2006-09-15

Blogger Internal Server Error 500



SpoonDrift.Blogspot.com ERROR:

2006-09-14

45个精选奇趣网站



为不影响欣赏效果,请在新窗口中打开各网站。


1、国内外三千张珍贵的图片!

2、这里是有趣糗事的集中地

3、看看自己具有哪个大明星的脸型

4、写一封未来的信给自己

5、本网站只需移动鼠标不需点击就能访问

6、超有意思的Flash网站

7、猜年龄考考你的眼力

8、亲自动手给美女画纹身

9、输入文字就发出声音!

10、大胡子男人的集散地

11、想知道自己的死亡时间吗

12、记录人的一生

13、轻松做个通缉令!

14、居然有统计中国被黑网站数的,汗!

15、来来来,咱也办份报纸!

16、恶搞蒙娜丽莎的微笑N种

17、无奇不有,人的胡子也有日志

18、世界上的旅馆真是奇特啊!

19、飞机失事的照片和视频,巨多!

20、模仿大画家毕加索作画,有趣!

21、制作属于自己的卡通大头像吧

22、在你的照片上添加有趣对话

23、最高的网站

24、最没用的网页

25、神奇!20个问题就能猜测你心中所想

26、只要你输入姓名和博客地址就知道了

27、这个网站提供各种有趣的在线拼图

28、很美的Flash时钟

29、很逼真!模仿XP系统操作的网站

30、一张纸竟如此变化多端

31、想亲手剪一个漂亮的窗花吗

32、全面分析你的博客价值

33、原来制作带阴影的LOGO如此容易

34、教你打领带

35、系鞋带的N种方法

36、测试您的反应速度

37、咱也弄个自己的徽章玩玩

38、勇敢地写出你犯的错误吧

39、列出你讨厌的人的名单

40、无需注册,不必登录的网络即时贴

41、向全世界介绍你出生的小山村

42、制作属于自己的墓碑

43、时空胶囊

44、可以自费出博客书啦

45、在线素描

New Google Search Results page



今天偶然发现Google搜索页的页面样式改变了,可能是在测试新的排版方式......

如图:

2006-09-11

移动 Blogger 测试

 
早就知道Blogger.com支持移动设备,今天测试了一下。
 
按照Blogger.com官方的说法,这项服务仅适用于Sprint、Verizon、T-Mobile 以及 AT&T/Cingular这些运营商,但是我仍然尝试用手机访问了go.blogger.com,但是并没有找到登录所需的"申请令牌",看来真是"只限于美国用户"。
 
但是我不死心,又向我的邮件发布地址发送了一封彩信,结果仍然是,失败。
 
相关联接:
 
 

2006-09-08

GIMP-2.2 使用手记

 
因为我不是专职的美工,对工具的要求并不高,对于一些简单的图像处理工作,完全没必要安装庞大的PhotoShop......
 
厌倦了PhotoShop,打算今后的图像处理全部使用GIMP来完成。
 
GIMP需要GTK的支持,所以需要首先安装GTK+ Runtime Environment
 
然后安装*The GIMP
 
首次运行GIMP的时候,启动进程会在加载字体的时候耗费较长的时间,任务管理器会错误的报告GIMP没有响应。

只要耐心等待字体文件加载完成,GIMP就会启动。
 
GIMP主界面运行前会要求用户做一些简单的设置,个人偏好以及缓存文件位置之类......



相关联接:
GIMP Project
GIMP For Windows
ScreenShot

2006-09-03

来到北京第三天

 
2006-09-03
阴,有风,怀疑会下雨......
 
来到北京第三天了,进入了新的工作环境,有点兴奋。
 

2006-09-02

Top Ten Web 2.0 Games

 
1. Chihuahua

A Boggle type game in which the player has to make as many words as possible out of the given letters. Each game is open for 24 hours. Most activity is seen around midnight (GMT) when new games begin and players frantically try to get to the top of the leaderboard.

2. WeBoggle

WeBoggle is Boggle as you online. The fun is enhanced by seeing how high you can make it on the leaderboard. Each game lasts for 2 and a half minutes.

3. Linez

Linez is an intriguing game in which the player has to place coloured cubes in a line to remove them from the board. The problem is more cubes keep appearing. The game features a high score table and a weekly competition.

4. Sudoku Craving

Sudoku Craving offers a new Sudoku challenge everyday. Players are invited to rate each finished game which gives the site a nice community feel.

5. Alexadex

Alexadex is an on-line trading game in which players buy and sell imaginary shares in web sites. Shares rise and fall based on the site's Alexa rating.

6. Trendio

Similar in concept to Alexadex this is a trading game in which players bet on the popularity of politicians, sporting teams or events, ideas, stars, natural catastrophies, etc. However whereas Alexadex is based on Alexa rankings Trendio rates words according to the number of times they appear in 3000 anglophone media web sites from around the world.

7. TagMan

TagMan is the classic game of hangman but using tags from Web 2.0 sites such as Technorati, del.icio.us and Flickr.

8. Solitaire Craving

Each day a new solitaire card challenge is set for players to solve. Again it is rated by the players and the comment box under the game often includes clues submitted by other players.

9. MorfikChess

MorfikChess is an AJAX chess game. The game features single-player and multi-player options, with a chat utility so that you can attempt to psyche out/distract your opponent.

10. SinkMyShip

SinkMyShip is an AJAX driven battleship game. The game sports a chat room so you can communicate with fellow players as you play.
 

2006-08-28

Picasa Web Alibums支持RSS



今天才发现,原来Picasa Web Alibums是支持RSS的,因为IE7的RSS按钮变亮了。
虽然没有给出地址,但是在页面代码中可以找到如下片断:


<link
rel="alternate"
type="application/rss+xml"
title="RSS Gallery Feed."
href="http://picasaweb.google.com/lh/rssUser?uname=xxx" />

其中uname="你的Google账户名"。

这样,我们就得到了RSS的地址:
“http://picasaweb.google.com/lh/rssUser?uname=xxx”

强加于人的烦人站点

 
您是否注意到一些网站曾强行闯入您的视线?是的,本文要讨论的就是这类站点。当您在页面之间导航时,这类站点会悄悄打开其它浏览器窗口。通常情况下,这些意外的窗口仅显示一些在线广告之类的无用内容。这些窗口通常称为弹出式窗口,一般是通过页面的脚本调用 window.open 方法来实现。(有关详细信息,请参见 open 方法(英文)。)尽管 window.open 方法有时会给人带来一些烦恼,但是如果使用得当,完全可以通过该方法构建功能强大的应用程序。

Internet Explorer 开发小组经常收到有关希望禁止弹出式窗口出现的用户请求。这使他们面临两难的选择:是允许开发人员自由使用这一孕育巨大潜能的工具为客户提供完美的解决方案,还是应该对平台进行限制以使开发人员不致于滥用这一功能?Internet Explorer 小组的最终意见是:除了导致安全隐患的情况之外,应尽可能允许开发人员灵活使用这一工具来构建功能强大的应用程序,而不要强加一些不适当的限制。

下面我想说明一下为什么弹出式窗口功能是必不可少的,还将就站点如何留住访问者(或至少消除他们的不满情绪)提出一些建议。

必不可少的弹出功能

显示其它窗口的功能非常有用,它能使用户在保留上下文的情况下查看相关的内容,这一功能在 Web 的很多地方都得到了利用。用户通常很难意识到自己使用了另一个窗口,他们在执行任务的过程中非常自然地就打开了这个窗口。

MSDN 使用 Internet Explorer 提供的在线参考资料就是成功使用 window.open 功能的一个示例。在浏览器中打开 onblur 事件(英文)网页。如果向下滚动,将会看到一段示例代码和"Show Me"按钮,单击此按钮就可以看到示例代码的效果。单击此按钮后,示例代码的运行结果将显示在一个单独的新窗口中。在这种情况下,弹出功能是必不可少的,因为它为用户保留了上下文,使用户能同时查看示例和引用的页面。

如果浏览器限制 window.open 功能,当前 Web 上的很多站点就无法正常工作。尽管我们不关心那些仅仅创建弹出式广告的站点是否崩溃,但是很多合理使用这一功能的站点也会遭殃。

使用不当的情况

我们来看一下滥用这一功能的情况,我故意提到了"淫秽"一词,因为滥用这一功能通常都与淫秽站点有关。我将以下现象称为"俘获用户":每当您单击到另一页面的链接时,或尝试关闭浏览器窗口时,该页面的一些脚本将俘获这一事件,然后强行打开另一个浏览器窗口。似乎色情站点使用这一技术的频率最高。

这种情况最令人恼火。特别是当您在 Web 上无意之中进行了一次搜索,意外地闯入这类站点时更是如此。设想一下突然发现自己不知不觉打开了五个或六个窗口,每个窗口充斥着淫秽的图像时,您有什么样的感受;更糟的是,当您试图关闭其中一个窗口时,反而弹出了另外两个类似的窗口!这不仅令人恼火,简直是对人的无理侵犯。无辜的用户要想逃离这源源不断的图像流,唯一的方法就是使用计算机上的"重置"按钮。

这类站点之所以这样做,无非是为了引诱用户去浏览从而增加广告收入,因此它们不大可能听取我提出的有关如何合理使用弹出功能的建议。尽管如此,我还是要呼吁这类站点不要玩俘获用户的把戏,重新为自己的内容确定等级(请参见为 Internet 内容划分等级(英文)),以使用户能正确设置浏览器,避开这类站点。

合理使用的情况

以下我总结了合理使用这一技术应注意的几个问题。如何使用这一功能,最后的决定权在您。但是请记住,如果滥用了这一技术,就会激怒访问您站点的用户,他们很可能就再也不会访问它了。

  1. 仔细考虑站点面向的用户群。他们是否真正理解多个窗口的概念?
    本专栏的读者当然了解如何同时运行多个应用程序以及如何在它们之间切换。但是,也要考虑缺乏经验的计算机用户的处境,对他们来说,管理多个窗口可能是一项艰巨的任务。如果希望毫无经验的用户经常访问您的站点,那么在单个窗口中提供站点的整个用户界面可能更合适,这样用户就不会丢失上下文,也不会对窗口切换感到无所适从。

  2. 直接响应用户操作时只打开一个新窗口,并考虑如何使用户明确这一点,即他们的操作将打开一个独立窗口。
    在我看来,最令人恼火的事之一就是:计算机程序在用户没有执行任何操作的情况下就打开一个新窗口。如果您使用 window.open 只是为了直接响应用户操作,则用户就会将该操作与结果联系起来。如果在用户操作与结果之间存在较长的延迟时间,则用户很难会想到这两者之间存在的联系。

  3. 如果只是为了显示一个广告,请不要使用弹出功能。
    如果广告不是用户访问的主站点的一部分,将不可能真正引起用户的关注。

  4. 不要在您的站点上玩俘获用户的把戏。
    当用户离开您的站点时应及时提示用户,询问他们是否希望保存特定状态。用打开另一个窗口来俘获用户是十分无礼的,很难吸引用户再次光临您的站点。

使用动态 HTML 代替弹出式窗口

动态 HTML 的功能非常强大,可以构建出灵活的应用程序。几年以前,整个 Web 都是静态的;每当用户单击某个链接时,服务器都会给他发送全新的页面。随着 Java、插件和 ActiveX 控件的引入,大大提高了用户交互性,但是它们不能与页面的 HTML 内容很好地集成。Microsoft 在 Internet Explorer 4.0 中首次加入动态内容支持功能,这一功能在 5.0、5.5 中不断得到加强。在现在的 6.0 预发布版中,提供了一系列更加丰富的功能。

有了这些功能后,就可以将所有用户界面纳入一个浏览器窗口中,使用户感到自己正在运行一个完整的应用程序。这里举出一个我喜爱的示例,blox.com(英文)。这个公司提供一个在线电子表格和演示软件,该软件在 Internet Explorer 浏览器中运行,不需要安装任何其它组件。该解决方案仅限于使用 Internet Explorer 来访问此站点和运行应用程序。尽管如此,它还是表明借助动态 HTML 完全可以获得丰富的 Web 体验,而不必使用给人带来烦恼的附加窗口。

有一种技术可以将独立内容作为页面的一部分来提供,这就是"内部帧",即通常所说的 IFrame(由于使用了 <IFRAME> 标记)。IFrame 使得独立的 HTML 文档可显示为父文档的一部分。(请参见 IFRAME 元素 | iframe 对象(英文)。)

现在 Netscape 6 已支持该功能,而 Internet Explorer 从版本 3 开始就支持该功能了,因此这一技术在 Web 上的应用将会越来越广泛。使用这一方法后,就能避免与帧集有关的开销和布局限制,更有效地管理站点上的内容。

要避免使用多个浏览器窗口,也可以在用户的浏览器窗口上下文中使用 HTML 对话框与用户交互。请参见"好的对话框的重要性"(英文)一文,这篇文章是我去年写的,其中涉及到这方面的内容。

最后提示

由于本专栏是围绕新窗口展开论述的,因此在本文即将结束之际,我想提醒 Internet Explorer 超级用户对可能被忽略的一个问题加以注意。当您单击以电子邮件方式发送给您的超级链接时,可能会发现引用的页面显示在已打开的浏览器窗口中。这种行为的原因只是为了最有效地使用您计算机的资源。尽管如此,我们也认识到对于超级用户来说,可能并不希望这样做。因此,您可以选择是否希望总打开新的浏览器窗口。

要做到这点,请转到"工具"菜单,选择"Internet 选项..."对话框。在"高级"选项卡下,确保"重新使用启动快捷方式的窗口"选项不被选中。由于我经常要打开多个浏览器窗口并链接到以电子邮件发送给我的超级链接,因此我没有选中该选项。这样我可以对打开的所有浏览器窗口进行更精确的控制。
 
 
David Massy 偶尔会戴上太阳镜扮酷,不过摘下墨镜的他是 Windows 和 Internet Explorer 技术的宣传人,也就是说,他负责向 Microsoft 的客户们介绍如何能够将各种技术发挥至极致。在成为技术宣传人之前,Dave 是 Internet Explorer 小组的项目经理。因为 Dave 来自英国,他总是在不懈地教导美国同事们如何正确地读"tomato"这个词。
 
 
 

2006-08-27

Windows XP Easter Eggs

 
在"纸牌"游戏(sol.exe)中,按下"Shift + Alt + 2",会看到赢得游戏后指派散落的画面。
Solitaire:
Secret - Instant Win
Instructions - Press Alt + Shift + 2 during game play to instantly win.
Secret - Draw single cards in a Draw Three game
Instructions - Hold down CTRL + ALT + SHIFT while drawing a new card. Instead of drawing three cards you will only draw one.
 
新建一个空白的文本文档,输入"Bush hid the facts"(布什隐藏了真相?),保存后重新打开,会发现"Bush hid the facts"变成了乱码(布什隐藏了什么真相?)。
 
在"空当接龙"游戏(freecell.exe)中,开局之后按下"Ctrl + Shift + F10",然后在任意一张纸牌上点击鼠标2次,你会赢得本局游戏。如果在"选局"的时候输入"-1"或者"-2",你会进入隐藏的牌局。
FreeCell:
Secret - Instant Win
Instructions - Hold down Ctrl + Shift + F10 during game play. Then you will be asked if you want to Abort, Retry or Ignore. Choose Abort, then move any card to instantly win.
Secret - Hidden Game Modes
Instructions - In the "Game" menu choose "Select Game". Enter -1 or -2 to activate the hidden game modes.
 
这个"扫雷"的彩蛋,我没有试验成功......
Minesweeper:
Secret - Reveal Mines
Instructions - Minimize or close all running applications. Launch Minesweeper, then type xyzzy. Next hold down either shift key for one second. Now when you move the mouse cursor over a Minesweeper square you will see a tiny white pixel in the top left corner of your desktop screen. This pixel will change to black when your mouse moves over a mine. You may need to change you desktop background to a solid color other then white or black to see the pixel.
 
这个"三维弹球"的彩蛋,我没有试验......
Pinball:
Secret - Extra Balls
Instructions - Type 1max at the start of a new ball to get extra balls.
Secret - Gravity Well
Instructions - Type gmax at the start of a new game to activate the Gravity Well.
Secret - Instant Promotion
Instructions - Type rmax at the start of a new game to go up in ranks.
Secret - Skill Shot
Instructions - Launch the ball partially up the chute past the third yellow light bar so it falls back down to get 75,000 points. There are six yellow light bars that are worth a varying amount of points:

First: 15,000 points
Second: 30,000 points
Third: 75,000 points
Fourth: 30,000 points
Fifth: 15,000 points
Sixth: 7,500 points

Secret - Test Mode
Instructions - Type hidden test at the start of a new ball to activate Test Mode. No notification will be given that this is activated but you can now left-click the mouse button and drag the ball around.
Secret - Unlimited Balls
Instructions - Type bmax at the start of a new ball. No notification will be given that this is activated but when a ball is lost a new ball will appear from the yellow wormhole indefinitely. Once this is activated you will be unable to activate other secrets without restarting the game.


 

Windows Vista the Last of its Kind

 

Vista will be the last version of Windows that exists in its current, monolithic form, according to Gartner. Instead, the research firm predicts, Microsoft will be forced to migrate Windows to a modular architecture tied together through hardware-supported virtualisation. "The current, integrated architecture of Microsoft Windows is unsustainable - for enterprises and for Microsoft," wrote Gartner analysts Brian Gammage, Michael Silver and David Mitchell Smith.

Windows Media DRM遭破解

一个名为FairUse4WM的新软件近日成功破解Windows Media DRM 10/11,能够将原本版权保护的音乐文件和DRM版权保护信息剥离开,直接获得音乐文件。

目前已经测试证明,这款新软件能够迅速将Napster To Go等在线音乐付费服务的音乐文件DRM部分剥离,使用户可以在任何其他播放器中播放获得的新音乐文件。

目前,微软已经强行关闭了FairUse4WM的开发者论坛,并且启动损失补救措施,以防止整个DRM基础的在线音乐业遭受剧烈冲击。

2006-08-26

site feed does not validate



SpoonDrift的Feed始终无法通过W3C的 FEED Validation,每次都提示这样的错误:

This feed uses an obsolete namespace

<feed xmlns="http://purl.org/atom/ns#" version=" 0.3" xml:lang="en-US">

This feed is using an obsolete namespace used by an obsolete snapshot of Atom, which is not supported by this validator.

FEED Validation Service提供了解决这一问题的方法:

Blogger users with access to PHP can use these instructions.

圆珠笔是如何发明的:改变问题本身的艺术

 

Hornbill Literary Essay:在十九世纪三十年代的欧洲大陆,一种方便,价廉的圆珠笔开始在书记员,银行职员甚至是富商中流行起来。制笔工厂开始大量的生产圆珠笔。不久却发现圆珠笔市场严重萎缩。原因是圆珠笔前端的钢珠在长时间的书写后,因摩擦而变小继而脱落导致笔筒内的油泄露出来。弄的满纸油啧,给书写工作带来了极大的不便。人们开始厌烦圆珠笔,从而不在用它了。

一些科学家和工厂的设计师们开始为了改变"笔筒漏油"这种状况进行了大量的工作。其中一个科学家做了大量的实验。他实验了上千种不同的材料来做笔 前端的哪个"圆珠",以求找到寿命最长的"圆珠"。但结果却不很理想。 这时一个叫马塞尔 比希的人却很好的将圆珠笔做了改善,解决了"漏油"的问 题。他的成功是得益于他的一个想法。"既然不能将圆珠笔的寿命很好的延长,那为什么不主动的控制圆珠笔的寿命呢?他所做的工作只是在实验中找到一颗"钢珠"所能完成书写的"最大用油量"。然后每支笔所装的""油"都不超过这个"最大用油量"。 这样,方便,价廉又"卫生"的圆珠笔有成了人们最喜爱的书写工具之一。

2006-08-25

Windows Live Gallery Beta

Free content to personalize your Windows Live sites and software—choose from many useful and fun choices - Try it






What it is
A site where you can download free add-ons and extensions to personalize your Windows Live and PC experiences
What it gives you
• Quick and easy browsing so you can zero in on what interests you • Fast and simple installations
• Ratings and reviews from other users to help you find the best, newest stuff
• A way to share and upload your own content and creations for others to use
• A single place to find all kinds of Gadgets, macros, add-ons, extensions, and other mini-applications for Windows Live and Windows Vista
• Quick and easy browsing so you can zero in on what interests you
• Fast and simple installations
• Ratings and reviews from other users to help you find the best, newest stuff
• A way to share and upload your own content and creations for others to use

Drop Pluto or add Xena as planet


By ALICIA CHANG
THE ASSOCIATED PRESS
LOS ANGELES - Our solar system is suffering an identity crisis.

For decades, it has consisted of nine planets, even as scientists debated whether Pluto really belonged. Then the recent discovery of an object larger and farther away than Pluto threatened cosmic chaos.

Should this newly found icy rock known as "2003 UB313" become the 10th planet? Should Pluto be demoted? And what is a planet, anyway?

Ancient cultures regularly revised their answer to the last question and present-day scientists aren't much better off: There still is no universal definition of "planet."

That all could soon change, and with it science textbooks.

At a 12-day conference beginning today, scientists will conduct a galactic census of sorts. Among the possibilities at the meeting of the International Astronomical Union in the Czech Republic capital of Prague: Subtract Pluto or christen one more planet, and possibly dozens more.

"It's time we have a definition," said Alan Stern, who heads the Colorado-based space science division of the Southwest Research Institute of San Antonio. "It's embarrassing to the public that we as astronomers don't have one."

The debate intensified last summer when astronomer Michael Brown of the California Institute of Technology announced the discovery of a celestial object larger than Pluto. Like Pluto, it is a member of the Kuiper Belt, a mysterious disc-shaped zone beyond Neptune containing thousands of comets and planetary objects. (Brown nicknamed his find Xena after the TV warrior heroine; pending a formal name, it remains 2003 UB313.)

The Hubble Space Telescope measured the bright, rocky object at about 1,490 miles in diameter, roughly 70 miles longer than Pluto. At 9 billion miles from the sun, it is the farthest known object in the solar system.

The discovery stoked the planet debate that had been simmering since Pluto was spotted in 1930.

Some argue that if Pluto kept its crown, Xena should be the 10th planet by default. Purists maintain that there are only eight traditional planets, and they insist that Pluto and Xena are poseurs.

"Life would be simpler if we went back to eight planets," said Brian Marsden, director of the astronomical union's Minor Planet Center in Cambridge, Mass.

Still others suggest a compromise that would divide planets into categories based on composition, similar to the way stars and galaxies are classified. Jupiter could be labeled a "gas giant planet," while Pluto and Xena could be "ice dwarf planets."

"Pluto is not worthy of being called just a plain planet," said Alan Boss, an astrophysicist at the Carnegie Institution in Washington, D.C.

"But it's perfectly fine as an ice dwarf planet or a historical planet."

The number of recognized planets in the solar system has seesawed based on new findings. Ceres was initially classified as a planet in the 1800s, but was demoted to an asteroid when similar objects were found nearby.

Despite the lack of scientific consensus on what makes a planet, the current nine -- and Xena -- share common traits: They orbit the sun. Gravity is responsible for their round shape. And they were not formed by the same process that created stars.

Brown, Xena's discoverer, admits to being "agnostic" about what the international conference decides. He said he could live with eight planets but is against sticking with the status quo and would feel a little guilty if Xena gained planethood because of the controversy surrounding Pluto.

"If UB313 is declared to be the 10th planet, I will always feel like it was a little bit of a fraud," Brown said.

International Astronomical Union, http://www.iau.org/

Internet Explorer 7 RC 1



在发布IE7 beta3版将近两个月后,微软刚刚正式发布了IE7的重大升级版本:RC1(发行候选版)。根据IEBlog的更新,IE7 RC1版相比之前的beta3版有了较大的改进,包括运行性能、稳定性、安全性和兼容性的提高。更明显的改进如下:

1.IE7 RC1版在安装时会自动检测电脑上所安装的IE7旧版本,并且会自动将它删除,省却了用户手动删除的步骤;
2.IE7 RC1版在安装时会像FireFox那样,自动检测之前所安装的Add-on(附件或插件)的兼容性,让用户可以选择升级Add-on或者手动将它关闭;
微软终于开始听取用户意见,并且把这种改变反映在IE7的改进当中,在出乎意料之余,实在也值得一赞。这也是我一直以来在期待IE7正式版的原因之一。

Yahoo!将Flickr图片集成至搜索结果里

 
Flickr自从于2005年3月份被Yahoo!收购后,一直以来基本上都是保持独立运作的方式,以致有些网友误以为它与Yahoo!无关。
在我看来其实除了速度外,Flickr的确是个非常优秀的图片共享网站,上面的图片资源极其丰富。
不过现在根据Yahoo! Search blog上的更新,Yahoo!已经把Flickr上面的图片集成至搜索结果里,这样就能充分利用Flickr的图片资源了。因此如果你玩腻了Yahoo!主页上的彩蛋,现在可以开始玩一下它的搜索。

Non-spam review and verification

前几天在使用Windows Live Writer的时候,这个软件一下子发布了5遍~!

造成Blogspot要对我进行Spam审查,没办法......
提交了申请表单之后,今天终于有了结果:

Non-spam review and verification request: http://spoondrift.blogspot.com
Your blog has been reviewed, verified, and cleared for regular use so that
it will no longer appear as potential spam. If you sign out of Blogger and
sign back in again, you should be able to post as normal. Thanks for your
patience, and we apologize for any inconvenience this has caused.

Sincerely,
The Blogger Team

: )

2006-08-24

电子邮件的故事:令人吃惊的预测

 
在《意林》上看到这个故事,很惊叹。我感觉,只有聪明的人会在互联网上赚到钱。下面是故事的全文。

  有一天,乔治在删除垃圾电子邮件的时候,看到这样一个标题:令人吃惊的足总杯比赛预报。他好奇地点开了它,里边写着:

  亲爱的球迷,我们知道你是个怀疑论者,凡事不会轻易想念,可我们确定已经设计出了绝对准确的预报足球比赛结果的奇妙方法。今天下午,英国足总杯将进行和第三轮比赛,对垒的是考文垂队和谢菲欠德联队,我们预报考文垂队将会取得胜利。

  乔治看过后,轻蔑地一笑,没有当回事。晚上,他收看电视里的比赛结果,考文垂队果然势如破竹地赢了。

  三个星期后,乔治又收到了那个人的一封电子邮件:

  亲爱的球迷,你是否还记得,在上一轮足总杯比赛中,我们曾事先想念准确地预报了考文垂队获胜?今天考文垂队要和密德斯堡队交手了,我们的预测是密德斯堡队获胜。同时我们强烈地奉劝你不要和别人去赌输赢,但请你密切关注比赛结果,看看我们的预测结果是否准确。

  那天下午,双方打成1比1平局。考文垂队本来很强,却完全没有发挥出来。而在下个星期二加赛时,密德斯堡队却以2比0的比分胜出。这回乔治有点惊讶了。

  过了几天,那个人的电子邮件又来了,预测密德斯堡队将在第五轮比赛中失利,特伦密尔队将会打败它,结果果然如此。

  而在四分之一决赛之前,那封电子邮件又告诉乔治:特伦密尔队将老老实实地输给陶顿亨队。事实果然如此。

  四次预报,四次全部都说中了!

  接着,那个人在电子邮件中对乔治说:

  我们买断了一个数学家最新的研究成果。现在你大概相信,我们确实很有把握,能够料事如神。在半决赛中,阿森纳队将会打败伊普斯维奇队。

  乔治是个不服气的人,他通知了许多朋友,下午一起看球赛直播,并且计划在阿森纳输掉后,大肆羞辱那个信口开河的家伙。但是在落后的情况下,阿森纳队奋起直追,最后竟以2比1获得胜利。太不可思议了!

  第二天,那个不可思议的邮件又来了,这回它说:

  亲爱的球迷,你已经体验了我们神奇的足球预报,现在你信服了吧?我们已经做出了五次正确的预报,五发五中,你一定会同意它绝非运气,尤其是所有冷门我们都猜中了。现在我们和你做一笔特殊的交易:在一个月的时间内,我们向你提供比赛预报,你只需支付200英镑的定金。然后,发一封电子邮件,把参赛的两个队告诉我们,我们就会将预报结果通知你。

  我们殷切地盼望收到你的订单。

  200英镑的要价确实不低,但如果事先能知道哪一个队会嬴,就完全可以从彩票商的手中赢来20万英镑。

  当然,乔治也怀疑过,他们是暗地里操控球赛的财团,或者是黑社会,但是这一切都与乔治没关系,只要预报结果准确就行了。于是,他掏出了200英镑。

  事实上,这些人不过是一群骗子。里边或许会有几个数学家。

  一开始,他们向球迷发了8000封邮件,一半是预报甲队获胜,另一半是预报乙队获胜,于是就有4000人得到的预报是准确的,另一半人则会把它当一个笑话忘掉。

  下一次,他们只给得到"正确预报"的4000人发送邮件,一半是预报丙方获胜……以此类推,所谓的预测者总是给得到"正确预报"的一部分人发送新邮件,最后,剩下250人收到的预报便全部是正确的,他们当然会认为这个预报绝对灵验。其中假如有50人掏出200英镑来,对于骗局的策划者来说,就是一笔很可观的收入了。因为他们除了发送电子邮件外,不需要任何本钱。(文/罗勃.伊斯特威)

On Mobile Web

 
Mobile上面的Web应该是什么样子?
应该怎么表现?
 
  1. 界面应该尽可能不要依赖图片和 CSS,一些 plaintext HTML 就足够了。出于下载速度及资费原因,大部分 nerd 使用 portable device 访问 Web 的时候都会禁止这些功能。
  2. 彻底不能使用任何 JavaScript,即使在 Desktop PC 上,JavaScript 也足够折磨人了,而到了 portable device 上,就彻底是地狱。
  3. 单个页面的大小控制在 10K 以内,8~9K 是最佳尺寸,从心理学及技术角度而言都是如此。
  4. 没有太大的必要在 Mobile Web 上提供登录功能,大部分内容 read-only 就足够好了。大部分人没有耐心在 Mobile Web 上登录的。
  5. 应该维护一个足够详尽的能够支持或者测试过的 portable device 的 HCL,这样你就可以知道事情究竟进展到哪一步了。这部分的工作可以使用 Google Spreadsheet 来完成,其协作功能在这种场合尤其有用。
  6. 针对设备的优化的重点是所有的 Nokia 的设备及 Windows Mobile 系统的设备,这些设备是目前访问 Mobile Web 的主力,另外需要注意的是,记得经常在 Opera 的 SSR (Small Screen Rendering)模式下进行尽可能多的测试。
  7. UTF-8,GB18030 及 GB2312 等编码的支持是必要的。
  8. WAP、WML 等协议已经过时了,现在大部分设备都能够支持 XHTML 及 CSS 的一个子集,所以没有必要花费时间在那些古老的协议上了,尤其是在中国这样的一个手机更新换代非常频繁的国家。

De Vinci Code


达芬奇密码的中文译本小说以及电影已经都看过。
今天突然对其中的第一个谜题产生了浓厚的兴趣......

13 - 3 - 2 - 21 - 1 - 1 - 8 - 5
O, Draconian devil!
Oh, Lame Saint!

小说和电影都这样描述:
"由第一行是一个打乱顺序的斐波那契(Fibonacci)数列,推断出第二行以及第三行同样是由错位的单词(或者字母)组成的句子。"
通过这样的结论,主人公重新排列了第二行以及第三行的字母,得到了答案:
 
Leonardo da Vinci!
The Mona Lisa!
 
我的问题是,它是如何(依据什么)进行重新排列的?
 
13 - 3 - 2 - 21 - 1 - 1 - 8 - 5 只有8组数字
  1   2   3    4    5   6   7   8
O, D  r  a  c  o  n  i  a  n    d   e    v    i     l! 有15个字母(","和"!"除外)
1   2  3  4 5  6  7  8 9 10   11 12  13  14  15
 
如何根据正确的斐波那契数列进行移位呢?
1 - 1 - 2 - 3 - 5 - 8 - 13 - 21
 
这个Leonardo da Vinci!是怎么排列得到的呢?
 
在我将小说的前90页,看过第5遍之后,得到这样一个结论:
 
13 - 3 - 2 - 21 - 1 - 1 - 8 - 5,这个错误的斐波那契数列有(且只有)2个作用。
1)用作银行保险箱密码的密文(明文是"1123581321")。
2)提示"O, Draconian devil!" 和"Oh, Lame Saint!"是错误的(被打乱顺序的)字母组合。
也就是说,无论错误的还是正确的数列,都没有提示如何得到正确的字母组合("Leonardo da Vinci!"和"The Mona Lisa!")
 
这样一来,正确的字母组合是什么,就需要我们的主人公去猜想了......
 
出乎意料的是,主人公似乎没用多少时间就找到了正确的答案......

2006-08-22

Microsoft的25位CDKey里有什么

 
从Win98起,Microsoft的产品安装Key从原来的10位数字改为25位字符,这一改动,代表着Microsoft告别了简单的校验和,从此投入了椭圆曲线法的怀抱。从密码学的角度来看,这绝对是一个里程碑,因为当时椭圆曲线法仍在研究论证阶段,Microsoft是第一个将之实用以商业产品的厂家。

  那么在这25个字符里到底有什么呢?

  1.Base24
  这25个字符实际是114bits的数据用Base24进行UUCode后的结果,做为安装Key,这个Base必须绝对避免误认,所以Microsoft选择了以下这24个字符做为UUCode的Base:
  BCDFGHJKMPQRTVWXY2346789
  所以,如果你的安装Key 有这24个字符以外的字符的话,你完全可以把它丢到垃圾筒里去了━━不用试就知道它根本通不过了。

  2.114 bits
  UUDecode后得到的114位按Intel高位在后的格式表示如下:
   [ X XXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXX ] Total 114 Bits
    |   |    |       \ 55 Bits Sign
    |   |    \ 28 Bits Hash
    |   \ 30 Bits Serial \ 31 Bits Data
     \ 1 Bits Flag /
  Flag: 不明标志,目前所见的各类Key中这一位总是为0。
  Serial:用户序列号,转成十进制表示为AAAABBBBBB,对应显示为:
      零售版:xxxxx-AAA-BBBBBBx-xxxxx
      OEM版: xxxxx-OEM-0AAAABx-BBBBB
  以上31bits总称为Data,是CDKey中的基本部分。
  Hash:Data经特定处理得到的结果,见后文。
  Sign:Hash值的椭圆曲线签名,见后文。

  3.椭圆曲线签名算法
  要说明椭圆曲线签名算法可不是一件容易的事,有兴趣的可以自己用"椭圆曲线"或是"elliptic curve"在搜索引擎找相关的资料来看吧,这里只简单介绍Microsoft的用法。
  所谓椭圆曲线是指这样一类曲线方程:
  y^2 + a1*xy + a3*y = x^3 + a2*x^2 + a4*x + a6
  在密码学里用的是它的两个特例,而Microsoft用的更是这两个特例中的特例:
  y^2 = x^3 + a*x + b ( mod p )
  当a、b、p选定后,就可以确定一个椭圆曲线,再选择一个生成点 G(gx,gy),
于是,存在一个最小的整数q使得q*G=O,然后,再任意选择一个整数 k<q,求出点
K(kx,ky)=k*G,这样椭圆曲线签名算法的Key就全生成了:
  公开密钥为:a,b,p,G(gx,gy),K(kx,ky)
  私有密钥为:a,b,p,G(gx,gy),q,k
  要对Data签名时:
  A.先任意选择一个整数r<q,求点R(rx,ry)=r*G;
  B.将Data、rx、ry共100个字节求SHA-1,取结果中的28位得到Hash;
  C.求Sign = r - Hash * k ( mod q );
  D.把Data、Hash、Sign三个数组合后UUCode得到25位CDKey。
  验证CDKey时:
  A.把25位CDKey先UUDecode再拆分后提到Data 、Hash、Sign;
  B.求点R( rx, ry ) = Sing * G + Hash * K ( mod p );
  C.将Data、rx、ry共100个字节求SHA-1,取结果中的28位得到Hash|*|;
  D.如果Hash = Hash|*|,则该CDKey为有效Key。

  4.BINK
  从前面的说明可以看出,为了验证CDKey,Microsoft 必须公开椭圆曲线签名算法中的公开密钥,那么这个公开密钥放在哪里呢?答案是在pidgen.dll里的BINK资源里(其他产品如Office则被包在*.MSI),而且一共有两组,从目前已知的Key组合来看,第一组密钥是用以零售版本的,第二组则用于OEM版本。两个产品的Key能否通用就在于对应的密钥是否相同,比如中文版的Windows 2000的Pro/Srv/AdvSrv的第二组密钥也是相同的,即一个PWindows 2000 Pro的OEM版的Key,可同时供 PWindows 2000 Srv/Adv的OEM版使用。

  5.破解及其难度
  要破解CDKey的生成算法,必须从Microsoft 公开的密钥中求出对应的私有密钥,即只要求出q和k即可。从BINK中公开的密钥来看,p 是一个384 bits的质数,看起来计算量好象至少要O(2^168)才行,但Microsoft设计中一个缺陷(?)使实际工作量降低到只有O(2^28)就可以了。
  为什么相差这么远?
  回头看看3.C中的式子: Sign = r - Hash * k ( mod q )
  通常情况下q可以是很大的值,因此Sign应该也很大,但Microsoft 为了减少用户输入的CDKey的数量,把Sign的值限死在55 bits,因此,自然也限定了q最多也不能超过56 bits。依此类推,由于k<q,所以k也不能超过56 bits,也就是说我们面对的只是两个最多2^56的数据而已,用目前最普通的算法也只有O(2^28)的工作量。
  以目前的电脑运算速度,在一台赛扬II 800的机器上只用6个小时就可以解出某组密钥的q值,最多时在一台雷鸟1G上用了28个小时才算出另一组密钥的k值,其他平均大约都在十个小时左右就可以求出。

Mail Post Test

测试一下使用E-Mail发布Blog.

Tomcat中文乱码的原理和解决方法


网上能找到不少的解决方法,但是你应该看看下面的文章:
转载自:月光博客
URL:http://www.williamlong.info/archives/469.html



一、Java中文问题的由来

  Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。

  首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312编译;对于JSP,在文件头加上<%@ page contentType="text/html;charset=GBK"%>或<%@ page contentType="text/html;charset=gb2312"%>基本上就能解决这类乱码问题。

  本文要重点讨论的是第二类乱码,即Java程序与其他存储媒介交互时产生的乱码。很多存储媒介,如数据库,文件,流等的存储方式都是基于字节流的,Java程序与这些媒介交互时就会发生字符(char)与字节(byte)之间的转换,例如从页面提交表单中提交的数据在Java程序里显示乱码等情况。

  如果在以上转换过程中使用的编码方式与字节原有的编码不一致,很可能就会出现乱码。

  二、解决方法

  对于流行的Tomcat来说,有以下两种解决方法:

  1. 更改 D:\Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”:

  方法是找到 server.xml 中的

    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />

  标记,粗体字是我添加的。

  可以这样验证你的更改是否成功:在更改前,在你出现乱码的页面的IE浏览器,点击菜单“查看|编码”,会发现“西欧(ISO)”处于选中状态。而更改后,点击菜单“查看|编码”,会发现“简体中文(GB2312)”处于选中状态。

  2. 更该 Java 程序,我的程序是这样的:

public class ThreeParams extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
response.setContentType("text/html; charset=GBK");
      ...
  } 
}

  粗体字是必需要有的,它的作用是让浏览器把Unicode字符转换为GBK字符。这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了。

 

2006-08-20

ImageSniffer_Part 3

 

刚刚测试了一下程序,在Yahoo的首页上面(http://www.yahoo.com)仅仅探测到了2个图像文件......
http://us.a1.yimg.com/us.yimg.com/i/ww/beta/y3.gif
http://us.i1.yimg.com/us.yimg.com/i/ww/tbl/allys.gif

这显然不对,什么原因呢?
猛然间想到,可能是RequestHeader里面那个User-Agent的问题......
马上Google来了IE 7的
User-Agent:Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

代码稍作修改
HttpClient.GetMethod.setsetRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)")

再运行一下子,已经可以探测到20个图像文件,这是不是全部呢?我不敢肯定,先进行保存图像部分的代码,然后再验证是否探测到了全部的图像吧。

2006-08-19

Dash's Blog

 

这个Blog出现在Google AdSense里面,



当时真是好奇,某人的Blog可以出现在Google AdSense里面?是商业行为;还是因为其内容被Gogle收录?

点进去一看,第一篇是关于这次DonkeyServer事件,我马上意识到前几天使用eMule无法登陆主要的ED2K服务器,这下可能会找到答案了......

果然,Dash对这一事件作了说明。

唉,看过无语......

相关连接:Dash's Blog

ImageSniffer_Part 2

 

直到昨天,才继续这个小程序。
到目前为止,完成了HTML代码分析部分,已经可以从HttpClient.HttpClient.getResponseBodyAsString()方法中筛选出所有的Image Link,并且算法效率经过改进,有了一定的提高,但仍然不够优雅。

算法的核心使用了org.w3c.dom.Document、org.w3c.dom.Element,以及org.w3c.dom.NodeList

具体的代码,会做另外的相关讨论。
在这里感谢Jaly给我的关于SwingUtilities.invokeLater()方法的提示。

关于UI,感谢给我的一些很好的建议,我会继续改进。

相关连接:ImageSniffer_Part 1

2006-08-17

2006-08-15

慢的几乎什么也干不了


Celeron 1.3M,256 RAM
老婆开了两个MSN,一个QQ,系统运行着Symantec AntiVirnus和Windows Defender,我开一个IE 7(装它就是应为较低的内存占用),再打开Eclipse的话,系统就慢的几乎动不了了,CPU资源到还好(不到3%),内存已经是451260K/755260K,我算知道为什么那些本机都有2G的内存了......

题外话,2G的内存,对于WorkStaton来说,在里面盖楼房都够用了......

再看看我的:
WindowsLiveWriter.exe    38228K    (正在写你看到的这个帖子)
iexplorer.exe                   33540K    (只打开SpoonDrift一个页面)
.
.
.
.
.
.
有这个必要吗?

2006-08-14

今天,你用什么Blog ?

鉴于当前博客风潮的兴旺,考虑到全球诸多博客们的需求,微软为我们带来了这样一款所见即所得(WYSIWYG)博客文章编辑发布工具,微软将它命名为Windows Live Writer。


Windows Live Writer目前支持以下类型的博客系统:
- Windows Live Spaces
- Blogger
- LiveJournal
- TypePad
- Wordpress
- All blogs that support RSD (Really Simple Discoverability)
- Metaweblog API
- Moveable Type API

Download:

http://download.microsoft.com/download/f/9/a/f9a19f2d-cec4-4a25-9b0b-eb9655ea7561/Writer.msi



实际使用中发现,这个工具并不能上传PNG或者JPG格式的图片。

方法的困惑,问题的核心

问题的关键应该是"Swing中使用线程控制界面操作的方法",而不是类和类的关系。
当然,维持程序正常的继承关系除外。

我们尝试一下这样修改代码:

main.java保持不变,将sniffer.java改写为如下

package ImageSniffer;

public class sniffer extends main implements Runnable
{
main mainClass = new main();

Thread snifferThread = new Thread(this);

public void star()
{
snifferThread.start();
}

public void newTest()
{
mainClass.setStusText("New Test......");
}

public void run()
{
newTest();
}
}

这样,当按下"开始"按钮的时候,执行main这个类中的starSniffer()方法,starSniffer()的代码是
public void starSniffer()
{
sniffer theSniffer = new sniffer();
theSniffer.star();
}
这里出现了第一个问题:
这样控制snifferThread启动是否是正确的方法?

通过调试发现,snifferThread确实启动了,并且执行了sniffer类中的newTest()方法
public void newTest()
{
mainClass.setStusText("New Test......");
}

但是程序在这里就停住了,并且在main类的
public void setStusText(String stusText)
{
stusTextLabel.setText(stusText);
}
方法中stusTextLabel.setText(stusText)发现了NullPointerException异常
线程 [Thread-2](已暂挂(异常 NullPointerException))
-->main.setStusText(String) 行: 195
sniffer.newTest() 行: 16
sniffer.run() 行: 21
Thread.run() 行: 595

这就出现了第二个问题:
sniffer类的newTest()方法应该如何重载main类的setStusText(String stusText)方法?

还有一个问题,要在sniffer类中实现对main类中setStusText(String
stusText)方法的覆盖,sniffer类和main类应该是怎样的关系;声明sniffer extends main是否正确?

相关连接:方法的困惑,如何重载怎么覆盖

2006-08-12

Google主页使用弹出式菜单

其实很早以前就遇上了,当时并没有在意。
今天在网上看到了一些讨论,决定把截图放上来。

Over There

中文名称:那个地方-伊拉克




美国FX有线电视片集《Over There》
第一部有关伊拉克战争的电视片集《Over There》将在美国FX有线电视播出,这是美国电视史上首次在还未撤军的同时,播出相关内容的战争剧集。FX有线电视隶属澳洲传媒大亨梅?旗下的霍士电视集团,霍士集团向来公开支持美国总统布殊出兵伊拉克,但FX有线电视否认播出这部剧集是为攻伊宣传及争取支持.

From producer Steven Bochco ("NYPD Blue," "L.A. Law," "Hill Street Blues") comes the first scripted television series set in a current, ongoing war involving the United States. Gritty, intense, evocative and emotional, "Over There" takes you to the front lines of battle and explores the effects of war on a U.S. Army unit sent to Iraq on their first tour of duty, as well as the equally powerful effects felt at home by their families and loved ones.
Unlike any number of movies and TV shows starring middle-age actors portraying American fighting forces in past wars, Over There's combat soldiers look and act like the barely-out-of-high-school young adults (many of whom, in Over There, joined the military out of economic necessity) most of our real-life troops actually are.

Whatever one's feelings about the Iraq war, Bochco and co-writer and director Chris Gerolmo (Citizen X) cut through the politics to get to the individuals whose lives are on the line, who left behind families to find themselves in a most alien environment, fired upon for reasons they may not fully understand. Gerolmo does a superb job of showing us combat conditions in desert sandstorms, with rookie soldiers hanging tough under intense heat while insurgents fire from a distance at anything that moves. This is a new kind of war show, yet in many ways Over There embraces a few sentimental conventions, notably scenes in which the unit's members explain the origins of their nicknames ("Angel," "Dim," "Doublewide," "Mrs. B," and more). In the Bochco tradition, when violence comes, it comes as a grievous surprise.

2006-08-11

方法的困惑,如何重载怎么覆盖

有如下代码:
class A
{
static B bClass = new B();

static String setString(String str)
{
return str;
}
public static void main(String[] args)
{
System.out.println(setString("TEST......"));

System.out.println(bClass.printStr("B TEST......"));
}
}

class B extends A
{
static A classA = new A();

String printStr(String s)
{
return s;
}
}

控制台会这样输出:
TEST......
B TEST......

这是另外一段代码:
public class MainFrame
{
SetLabelTest newLabelText = new SetLabelTest();

public void buildMainFrame()
{
//实现一个JFrame,并且加入一个JLable
}
public void setLabelText(String text)
{
//使用JLabel的setText()方法令JLabel显示字符串
}
}

public class SetLabelTest extends MainFrame
{
MainFrame theFrame = new MainFrame();

public void labelText()
{
theFrame.setLabelText("New Text......");
}
}

当在MainFrame这个类中实现newLabelText.labelText()的时候,程序报告如下错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

这是怎么回事呢?
为什么setText()方法不能被重载?

相关连接:方法的困惑,问题的核心

2006-08-10

Blogspot的Blog居然可以直接访问了

今天突然发现,位于Blogger.com的SpoonDrift居然可以不使用代理而直接访问了!

在这里,Blogger的Blog已经被GFW封锁了好几年了,这次是真的解禁了吗?

这真是一件可笑的事情,让我不禁想起了这么一句经典“人如果没有思想,和咸鱼有什么分别......?”
是的,GFW封锁了太多的东西,它以为可以封锁人们的思想吗?

“游戏引发暴力倾向......”、“中文版的维基百科”、“电视台禁播游戏类节目”,甚至是FreeBSD.org和SourceForge.net,真是可笑,封锁,就看不到吗?不过是自欺欺人罢了。

还是要庆祝一下,思想是不能够被禁锢的。

2006-08-10 22:00

2006-08-07

ImageSniffer_Part 1

老婆问我,如何才能把网页上的图片全部保存下来?呵呵,随便哪个下载工具都可以...... 老婆说,太麻烦,能不能简单一些? 可以吗?不可以吗?研究一下吧...... 需求很明确,网页中的所有图片,各种各式的,并且URL各种各样,但是对于客户端来说,应该都是可以GET到的,先不想那么多,今天正好点有时间,先弄一个UI出来吧! 这其中遇到一个奇怪的问题,显示Debug信息的TextArea在默认情况下不能最大化显示,就好像frame.pack()的效果一样......半天也没弄明白,最后只好new JTextArea(15, 45)硬性规定一下。 看来有必要恶补一下Swing了...... 写到这里的时候,还有一个OptionPanel没有加进去。 UI暂时就这样了,Http的Get方法准备用HttpClient来实现,今天没时间了,明天继续。

相关连接:ImageSniffer_Part 2

2006-07-04

刚刚天津轻微地震

有轻微摇晃的感觉......

杯子里的水也有晃动......

希望震中地方的人们平安无事......

中国 Web 2.0 的责任感 - 大胆假设更要小心求证

中国 Web 2.0 的责任感 - 大胆假设更要小心求证
2006年6月30日 下午 02:28:00

发表者:李开复

前段时间,有记者采访 Google 创始人布林,报道 “Google 创始人承诺将继续在中国努力”。不知怎么的,到了国内的很多论坛上就变成了“Google 创始人考虑退出中国”、“Google 将放弃谷歌”等等。当我的伙伴周韶宁在广州碰到记者辟谣后,一些论坛又吹起一片“Google 澄清对中国的承诺”, “Google 中国必有变动”等新谣言。当时正在南京进行招聘的我,看到这些欠缺逻辑又荒谬的言论,不禁啼笑皆非。

这件事已经过去好几天了,但几天的时间让我有了更多的思考,尤其是对中国 Web 2.0 的发展,所以还是希望在这里把想法跟大家分享一下。在中国,Web 2.0 快速地成长着,尤其是那些有中国特色的论坛与博客每天有数亿次浏览量,令全世界瞩目。我们看到了很多网民乐于在这个新平台上发表自己的意见、传递新的信息、彼此帮助、互相讨论,充分地发挥了互联网平等、实时的特性;我们也看到了各个社区把全国各地的网友拉近,让大家成为志同道合的好友,也增加了社会的和谐。所以,Web 2.0 应该是一个中国互联网领先世界的大好机会。但是,不知什么时候开始,在这个平台上,出现了一些令人担心的现象:


  • 不实信息、虚假信息。借用公共平台在网上发出不实的信息,引人注意。有时,这些信息也会从博客或论坛中被新闻媒体转载。

  • 吸引眼球、故弄玄虚。内容与标题脱节,用引人注目的煽动标题,吸引了眼球,但是也误导了读者。

  • 论证贫乏、攻击平台。缺乏论证但是指向明显攻击竞争对手负面信息散布平台。

  • 没有边界、侵人隐私。公开他人私生活,伤害到别人的隐私、自由、名声。


虽然互联网是一个平等的平台,但当我们拥有这样一个民主、平等的话语公共平台的时候、当我们因此而被赋予更多权利的时候,我们应该更加警醒与自律。权利与义务相伴相生,在大胆假设的同时更要小心求证。否则,一批少数的人发出巨大的声音,淹没了大众的声音,也伤害了公正与真理。

这是我们必须一起努力克服的。我希望作为中国的网民和网站,我们可以一起下决心:

  • 每一个人在论坛上有权力报道事实,也有权力发表意见,甚至有权力做大胆的假设或猜测。但在表达的时候,一定要就事论事。如果我们做一个假设或猜测,我们就要清晰地表达,不可以把未经证实的假设当作事实,更不可以杜撰信息,误导大众。

  • 谣言止于智者。如果一件消息没有根据,不要道听途说。在网上看到的信息,如果不是有权威的(尤其是那些匿名发表的),我们不要轻易听信,更不要去传播。

  • 说话前请多三思,想想是否会对别人造成不必要的困扰。这样尊重别人,也会获得别人的尊重。

  • 听到别人的是是非非,别急着下评论,抱着 “小心求证” 的心态,对于那些被大肆传播的信息,不妨去做一些调查工作,如果发现有可能是有意的误导或造谣,主动地把这个事实公布出来。相信自己的判断力与洞察力,不要不经思想就听信别人的话。

  • 如果我们怀疑一个未经证实的新闻,在各个论坛被灌水式传播,我们要站出来,质询它的公正性,确认它不是经过恶意散播。

  • 举报违反论坛规则的帖子,让论坛管理员处理。

  • 少点击、回复那些明显煽动性的标题,让它们沉下去。多参与那些有意义的讨论,让它们浮上去。这样,我们可以提升整个 Web 2.0 内容的水平。

  • 希望更多的记者和网站不要过分地转载那些未被证实的帖子。


在 Web 2.0 的时代,每一个人的影响力不再局限于他的朋友圈,而都可以因为互联网而扩大。每一个人都可以成为一个记者、作家。记者和作家可以影响、引导大众,所以他们有很大的权力。英文谚语说:“权力愈强,责任愈重”("With great power comes great responsibility”)。

最后,希望每一个 Web 2.0 的用户都能做到:
凡事小心求证;避免故弄玄虚
凡事客观讨论;避免损人利己
凡事就事论事;避免毁谤造谣
凡事传播信息;避免侵人隐私

在我们的努力下,相信中国的 Web 2.0 会走入更美好的明天。

2006-06-22

LED Chaser

Here is a nice simple LED light chaser from the Hacked Gadgets Forum. There is a full schematic provided, I am not sure if the author will be providing the chip code however.

��4 functions triggered by the length of time control button is pressed.
1. Tap once to change patterns.
2. Press and hold for 0.5 seconds until 2 Leds start flashing then release. Unit will power off.
3. Press and hold for 1.0 seconds until 3 Leds start flashing then release. Unit will toggle between Continuous and Cycle mode. Continuous mode is the default and repeats the present pattern in a loop. Cycle mode automatically runs all the programmed patterns. Each pattern repeats 3 times before changing.
4. Press and hold for 1.5 seconds until 4 Leds start flashing then release. Unit will toggle between Bright and Dim mode. Bright mode is the default. Dim mode supplies less power to the Leds to lower their brightness level.��




Geek URL Of Google


妈妈说就算你注册的域名再长Google都能搜索出来.cn

2006-06-18

WEB 2.0 & WEB 1.0


历史可以跨越么?

以他乡为故乡的事儿在学术史、文学史上比比皆是。西方流行什么,国内马上跟着时髦起来,三十年河东,三十年河西,当西方沿着自己文化的脉络在前行的时候,我们却什么都没有留下,只有一颗继续浮躁,不愿意踏足自己土地的心。

互联网上也不例外。只不过把这出肥皂剧的演出速度加快了。西方互联网的发展,伴随着技术、文化、理念上的发展,没有后面这些,特别是没有人的观念的变化,不可能有互联网文化的今天。但是我们的互联网不是这样。不是一个文化催生的东西,而是由技术复制,欲望驱动。

这种机制上的复制,到了后来,变成了服务上的抄袭,概念炒作以及文化上的肤浅。

模式可以抄,UI可以抄,甚至内容也可以抄,抄出一个个明星脸,便自以为是明星来。但是明星的气质你抄不走,明星独特的历程你抄不走,明星会想什么做什么你抄不走。明星会继续走明星的路,而明星脸们,却不知该怎么走路了。

这就是原创和抄袭的不同。

原创的背后,是一套理念、一种哲学等,它们深谙需求所在,它们在达到目前状态所走过的路是这条路以及方向的指南针。

抄袭的人没有理念,没有哲学,甚至没有人生的态度,他们也不知道需求,它们只知道表面是什么样,不知道为什么会走到这一步,也就不知道下一步会怎么走。

这是大陆所谓web2.0服务商/站的现实。

所以,奉劝那些在此轮热潮中涌动的,甚至自我感觉良好的创业者、创业团队,回到历史中补补课,想想从哪里来,到哪里去,学学怎么做人,怎么待人,这些才是成功的基础。

2006-06-02

神秘主义



有篇blog说过,搞win系统的人之间,往往盛行神秘主义。

最近碰上一个事情,一个系统迁移,所有工作都是原来配置的人重新作了一遍,机器比原来好,网络比原来好,但是就是出了各种问题。

两个人都是该领域的一流高手,为什么呢?于是神秘主义盛行了。更有甚者,认为是人的压力不足,要把他们叫来,大家看着他们做。

其实,要我说,这个事情很简单,就是系统太复杂了,经手的人不可能记住所有的细节,忘掉了哪一个很正常,于是就出事了。经常有人说,这个系统没装好。拜托,计算机是门科学,什么叫做没装好?写好的代码,编译出一样的机器码,用一样的方式运行,一样的配置文件,怎么会出问题?计算机的世界是01的,非是即否,没有模糊的所谓“没装好”这么一说。

当然,由于系统复杂度太高,可能用重新来一次的方法解决一次更容易。于是就成就了所谓“没装好”的神秘主义。

微软的朋友讲过一个故事给我:现在我们运行的win系统里面,有部分代码是nt4时代的古董,到现在仍然不能动,没人敢动,也没人知道能不能动。这部分代码就彻底的神秘了。

windows没有强大的脚本机制,没有开放配置文件,有一部分参数只能在图形界面调整,人是会出错的,但脚本不会。所以unix系统的神秘主义比win少。

人会忘记细节,忘记细节的人大部分时候很难过,他们当然不是故意的。谁愿意毁自己一世英明?

这时候,明白文档重要了吧?win系统不好描述,哪怕配上抓图,写清楚点了那个按钮,用什么顺序,写了什么参数,事无巨细,从安装系统就这么做,然后好好存起来,以后照章执行,不得偷懒,我就不信他能神秘了。

计算机是门科学。我看不得不认同这句话的人自称技术高手。

Google.com恢复



在今天15:20左右,Google.com恢复正常访问。

2006-05-31

Google.com Seized



今天大约22:30的时候,想在Google.com上面找东西,突然发现Google.com无法访问了!
而Google.cn很正常......

ping www.google.com:
Pinging www-china.l.google.com [66.249.89.99] with 32 bytes of data:

Reply from 66.249.89.99: bytes=32 time=84ms TTL=245
Reply from 66.249.89.99: bytes=32 time=86ms TTL=245
Reply from 66.249.89.99: bytes=32 time=87ms TTL=245
Reply from 66.249.89.99: bytes=32 time=85ms TTL=245

Ping statistics for 66.249.89.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 84ms, Maximum = 87ms, Average = 85ms

tracert www.google.com:
Tracing route to www-china.l.google.com [66.249.89.99]
over a maximum of 30 hops:

1 * * * Request timed out.
2 29 ms 28 ms 23 ms 218.68.252.125
3 29 ms 49 ms 25 ms 61.181.0.89
4 29 ms 29 ms 29 ms 61.181.0.98
5 29 ms 29 ms 29 ms 61.181.0.101
6 29 ms 29 ms 29 ms 202.99.66.137
7 29 ms 29 ms 29 ms 219.158.7.45
8 29 ms 29 ms 29 ms 219.158.3.14
9 93 ms 119 ms 89 ms 219.158.32.10
10 89 ms 89 ms 89 ms 72.14.236.234
11 89 ms 89 ms 89 ms 66.249.95.197
12 89 ms 89 ms 89 ms 72.14.236.209
13 99 ms 89 ms 99 ms 216.239.47.74
14 89 ms 89 ms 89 ms 66.249.89.99

Trace complete.

在yahoo.com上面以“Google无法访问”为关键词搜索了一下,似乎Google正在“自动识别用户的IP地址,并把一定区域内的用户引向Google.cn......”。

难道Google已经向ZF妥协?还是敏感词汇引发的暂时封锁?
使用Vidalia尝试一下,虽然速度慢,但是可以访问......




我承认,对于我来说,无法使用Google.com是一个很大的障碍!

2006-03-12

Quake 3

http://www.plastk.net/

It's amazing how much more fun games are when you can play them on really large, high-resolution screens. Our HCI lab at Virginia Tech also has a 24 monitor display wall, and as you can see from the pictures below, I got Quake 3 running on it. The system is driven by 12 linux servers (2 monitors per server) using Distributed Multihead X (DMX) and Chromium. Chromium distributes the OpenGL rendering from the head node to all of the servers. The game runs fairly fast, though some lighting effects had to be turned off and Chromium is having some trouble with the mouse. Even so, playing the game is an awesome experience. Feel free to email me (plastk@vt.edu) with what you think.



Quake 3 running at 10240x3072 resolution at 15-30 FPS





A view of our 12-node Linux cluser resting behind the display.



Another view of the cluster/display with our ViCON system in the background.

2006-02-23

P2P的黑暗日:Razorback Servers Seized


Razorback Servers Seized
21 日晨,瑞士警方在其住所逮捕了Razorback 2.0的运管人员并搜查了整栋住宅;同时,比利时警方在其服务器托管地查封了Razorback 2.0服务器??靠近布鲁塞尔的Zaventem。自2004年11月以来,所有位于美国本土的电驴服务器均已被关闭,现在这项行动正转向欧洲。

以前,Razorback 2.0的网页上有个在线人数的计数器,Razorback 2.0的负责人据此自称是世界上最大的P2P站点并以此为傲;现在,任何一个企图连接Razorback 2.0的用户均会收到以下信息:“Razorback 2.0已失去响应……”

好时光不再......

http://www.slyck.com/news.php?story=1102

It appears that one of the largest eDonkey2000 communities is no more. Often occupied by over 1 million eDoney2000 users spread over several servers, Razorback2 is often regarded as the very lifeblood of this network. This morning, users of this server network found their community offline.

At this time, details are extremely scarce. However it is being reported the Federal Belgian Police have raided and seized Razorback2's servers. In addition, it is suspected the administrator of Razorback2 is currently in custody.

Razorback2 was an eDonkey2000 indexing server - very different in nature from an indexing site such as ShareReactor. Unlike indexing sites, Razorback2's index was only available through an eDonkey2000 client such as eMule. While it does not host any actual files or multimedia material, it does index the location of such files on the eDonkey2000 network. The legality of such indexing remains questionable, however this has not deterred copyright enforcement actions.

Giving credence to this report, the Razorback2 home page simply times out upon request. In addition, pinging the IP address of Razorback's home page and eDonkey2000 servers yields the same result. Only "fake" Razorback2 servers are online, communities designed by copyright enforcement entities to mimic yet deter unauthorized file-sharing.

The Belgian Federal Police homepage at this time have no information regarding this raid, however considering the magnitude of the situation this should change. One thing is certain; Razorback2 has been removed from the eDoneky2000 network. Most noticeably, the eDonkey2000 population has shrunk from its usual 3.5 million users to approximately 3 million users - an unusual departure from its average.

Update: Below is the MPA press release provided to Slyck.com:

BELGIAN & SWISS AUTHORITIES BREAK RAZORBACK2

World's Largest P2P Facilitator Put Out of Illegal Business

Brussels, Los Angeles-- In a joint operation today police and prosecuting authorities in Belgium and Switzerland shut down the infamous file-swapping network Razorback2. Razorback2 was the number one eDonkey peer-to-peer server facilitating the illegal file swapping of approximately 1.3 million users simultaneously. Razorback2 was operated as a commercial enterprise indexing over 170 million files including millions of copyrighted movies, software, games, TV programming and music with international and U.S. titles. The site was regularly used by people located all over the world, with the vast majority of users based in Europe.

"This is a major victory in our fight to cut off the supply of illegal materials being circulated on the Internet via peer-to-peer networks," said Motion Picture Association (MPA) Chairman and CEO Dan Glickman. "By shaving the illegal traffic of copyrighted works facilitated by Razorback2, we are depleting other illegal networks of their ability to supply Internet pirates with copyrighted works which is a positive step in our international effort to fight piracy."

Swiss authorities arrested the site's operator at his residence in Switzerland this morning and searched his home. At the same time, on the authority of a local magistrate, Belgian police seized the site's servers located at an Internet hosting center in Zaventem near Brussels. The operation conducted by Swiss and Belgian authorities aimed at cutting off a major supply and facilitator of illegal files to several popular illegal file swapping networks. By shutting down Razorback2, the ease with which pirates can obtain illegal content online will slow dramatically. Since November of 2004, authorities have closed down all of the major eDonkey servers in the United States, and now, Europe.

The operators of Razorback2 had clear financial motives. In addition to collecting "donations" from users, revenue was also generated through the sale of advertising on the site, usually promoting pornographic websites. In addition, the availability of offensive content will be inhibited. The operators of this eDonkey site chose not to exercise control over files being traded by users which including those containing child pornography, bomb-making instructions and terrorist training videos.

"Razorback2 was not just an enormous index for Internet users engaged in illegal file swapping, it was a menace to society," said Executive Vice President and Worldwide Anti-Piracy Director John G. Malcolm. "I applaud the Swiss and Belgian authorities for their actions which are helping thwart Internet piracy around the world."

Razorback2 posted statistics on its site regarding the number of uses online at any one time, reveling in its reputation as the world's largest P2P facilitator. Today, users attempting to connect to Razorback2 read the message "Razorback space 2.0 appears to be dead."

Chris Marcich, Senior Vice President and Managing Director of the MPA's European Office said: "We are very grateful to the Swiss and Belgian authorities for their cooperation and effective action in dealing with this particularly egregious enterprise and the individual profiting from it."

The MPA and its member companies, working with the local film industries, have a multi-pronged approach to fighting piracy, which includes educating people about the consequences of piracy, taking action against Internet thieves, working with law enforcement authorities around the world to root out pirate operations and working to ensure movies are available legally using advanced technology.


You can read more on this here.

2006-02-09

My_Pet_Niuniu

 Posted by Picasa

My_Pet_Dudu

 Posted by Picasa