2005/08/23
Google Hacks
| Poetry in Translation | Poetry in Translation uses Googles Automatic Translation service to translate sentences from English to German, then to French and then back to German again with sometimes funny results. [go there] | |
| Google Talk | Ever wondered what Google would say if it could talk? Wonder no more. Enter three or four words and Google will finish your thoughts by searching for what comes next after these words. [go there] | |
| Visual Poetry | Poetry is supposed to project images in your mind. VisualPoetry translates any text into a series of images by looking up the words on Google image search and projecting the most relevant results as a slide show. [go there] | |
| Word Color | Word Color is a windows program that uses Google Image Search to determine the color of a word or string of words. It goes out there, retrieves the top 9 images and loops through all pixels, calculating the average hue, which is later converted to a color. [go there] | |
| Google News Map | Google News Map shows a map of the World with on top of it projected the latest headlines according to Google News, pointing with their upper left corner to the country where it refers to. [go there] | |
| Google Date | Google Date lets you enter a date and then searches using Google for what happened on that date and shows three results. Since Google isn't very good at sorting documents for relevance when it comes to dates, it usually doesn't give you a list of big events, but of the things happening in the lives of random people. [go there] | |
| Google Random Image | Google Random Image is a little javascript code that scans the html of the page it is on and uses that to find a matching image on Google Image Search, which is then displayed. This way you can always have a fresh image on your site/blog. [go there] | |
| Land Geist | Land Geist is a combination of Googles Zeit Geist, Google Mind Share and Visited Countries. For keywords like 'war', 'poverty', 'party', this project shows which country (names) have the highest relative scores (google shares). I.e. 35% of all pages with the word Iraq on them, also contain the word War, making Iraq leader for war, just after Afghanistan and North-Korea. The axis of evil appear therefore in red. [go there] | |
| Google Share | Implementation of Google Share, as come up with by Steven Berlin Johnson. Type a domain (ie. Beatles), and some Items (John, Paul, Ringo, George) and you get a list of their relative popularity within that domain. [go there] | |
| Google History | Artificial Intelligence with a little help from our friend google. Use Google to find out in what year something happened. Workds for events between 1800 and now. [go there] | |
| Google Battle | Use Google to determine which of two terms is more popular on the Internet. Who is the more popular painter, Van Gogh or Rembrandt? The Beatles or the Stones? [go there] | |
| Google Best Time to Visit | Google Best Time to Visit is a simple application of using Google search results to extract knowledge. Here the question is, what is the best time to visit a place. This way you can learn when to plan your next holliday. [go there] | |
| Google Pos | GooglePos is a small python script that uses the google api to find out what position your website has for a certain keyword (or set of). How do I score for Google Hacks? [go there] | |
| Google Protocol | Google Protocol is a little app that when installed, registers two extra protocols similar to the http: and the ftp: protocols under windows, namely google: and lucky:. Urls starting with the first refer to the corresponding google search. Urls starting with the second refer to the top Google result. [go there] |
老冒 发表于 2005-08-23 22:22 阅读( 8032) 评论( 1) 引用( 31) 技术文摘
2005/08/14
XSLT轻松入门(ZT)
这篇中文XSLT的入门文章写得比较好,装载。 阅读全文...
老冒 发表于 2005-08-14 16:11 阅读( 8688) 评论( 4) 引用( 5) 技术文摘
2005/07/01
如何用正确的方法来写出质量好的软件的75条体会 [转]
好文章,收藏一下。 阅读全文...
老冒 发表于 2005-07-01 19:15 阅读( 5007) 评论( 2) 引用( 0) 技术文摘
2005/05/05
Google Web Accelerator, 浏览加速和穿越防火长城的利器!
|
|
Google Web Accelerator works with your browser to help web pages show up in a snap. Learn more.
| <script></script>
| |||||
| Google Web Accelerator is... | ||||||
| ||||||
老冒 发表于 2005-05-05 19:13 阅读( 5764) 评论( 0) 引用( 0) 技术文摘
2005/04/20
小知识------隐藏在SIM卡后面的小秘密
前面6位(898600):是中国的代号;
第7位:业务接人号,对应于135、136、137、138、139中的5、6、7、8、9;
第8位:SIM卡的功能位,一般为0,现在的储值SIM卡为1;
第9、10位:各省的编码;
第11、12位:年号;
第13位:供应商代码;
第14—19位:用户识别码;
第20位:校验位。
老冒 发表于 2005-04-20 21:30 阅读( 4957) 评论( 1) 引用( 0) 技术文摘
2005/03/26
转载谈eBay架构的一篇好文章
英文来源:http://www.manageability.org/blog/stuff/about-ebays-architecture
杨争 /译
了解一件事情是怎么做的一个正确的方式是看看它在现实中是怎么做的。软件工业一直以来都在为"很多idea仅仅在理论上说说"所困惑。与此同时,软件厂商不断地把这些idea作为最佳实践推销给大家。
很少的软件开发者亲眼目睹过大规模可扩展的架构这一领域。幸运的是,有时我们可以看到和听到关于这方面公开发表的资料。我读过一些好的资料关于google的硬件基础设施的设计以及yahoo的页面渲染专利。现在,另一个互连网的巨人,eBay,给我们提供了其架构的一些资料(译者注:指的是"一天十亿次的访问-采用Core J2EE Pattern架构的J2EE 系统"这篇文章)。
这篇文章提供了很多信息。然而,我们将只对那些独特的和我感兴趣的那部分进行评论。
给我留下深刻印象是eBay站点的99.92%的可用性和380M page的页面数据。除此之外,每周近3万行代码的改动,清楚明白地告诉我们ebay的java代码的高度扩展性。
eBay使用J2EE技术是如何做到这些的。eBay可扩展性的部分如下:
Judicious use of server-side state
No server affinity
Functional server pools
Horizontal and vertical database partitioning
eBay取得数据访问的线性扩展的做法是非常让人感兴趣的。他们提到使用"定制的O-R mapping" 来支持本地Cache和全局Cache、lazy loading, fetch sets (deep and shallow)以及读取和提交更新的子集。 而且,他们只使用bean管理的事务以及使用数据库的自动提交和O-R mapping来route不同的数据源.
有几个事情是非常令人吃惊的。第一,完全不使用Entity Beans,只使用他自己的O-R mapping工具(Hibernate anyone?)。 第二、基于Use-Case的应用服务器划分。第三、数据库的划分也是基于Use-Case。最后是系统的无状态本性以及明显不使用集群技术。
下面是关于服务器状态的引用:
基本上我们没有真正地使用server-side state。我们可能使用它,但现在我们并没有找到使用它的理由。....。如果需要状态化的话,我们把状态放到数据库中;需要的时候我们再从数据库中取。我们不必使用集群。也就不用为集群做任何工作。
总之,你自己不必为架构一台有状态的服务器所困扰,更进一步,忘掉集群,你不需要它。现在看看功能划分:
我们有一组或者一批机器,上面运行的应用是某个具体的use case,比如搜索功能有他们自己的服务器群,我们可以采用不同的调优策略,原因是浏览商品这个基本上是只读的用例和卖一件商品这个读写的用例在执行的时候是不同。在过去四五年我们一直采用水平数据库划分达到我们需要的可用性和线性扩展性。
总之,不要把你的应用和数据库放在一个giant machine,仅仅使用servers pools,每个pools对应一个Use Case. 听起来是否类似Google的策略。
下面是关于水平划分的一些介绍:
基于内容的路由可以实现系统的水平线性扩展。所以,想象一下,如果eBay某天拥有6000万种商品,我们不必把这些数据存储到一台超级Sun服务器上。.....也许我们可以把这些数据库放到许多台Sun服务器,但是我们怎么取到我们需要的数据呢?eBay提出了基于内容路由的方法. 这种方法通过一定的规则,从20台物理服务器中找到我需要的数据。更cool的事情是这里还定义了failover的策略。
最后,下面一句话描述了未来采用更加松散耦合的架构:
使用消息系统来耦合不同的Use Case是我们研究的内容。
是不是觉得很奇怪,最初这篇文章是介绍J2EE设计模式的?关键的线性扩展的思想几乎和Patterns无关。是的,eBay采用设计模式组织他们的代码。然而过分强调设计模式将失去对整体的把握。eBay架构关键的思想是无状态的设计,使用灵活的,高度优化的 OR-mapping 层以及服务器基于use cases划分。设计模式是好的,然而不能期望它使应用具有线性扩展性。
总之,eBay和Google的例子表明以Use-Case为基础组成的服务器pools的架构比几个大型计算机证明是具有更好线性扩展性的和可用性。当然,厂商害怕听到这样的结论。然而,部署这么多服务器的最大麻烦是如何管理好他们。-)
我的总结:
eBay采用设计模式达到eBay架构的分层,各层(表示层、商业逻辑层、数据访问层)之间松散耦合,职责明确,分层提高了代码的扩展性和程序开发的效率。
eBay采用无状态的设计,灵活的、高度优化的 OR-mapping 层以及服务器基于use cases划分,达到应用之间的松散耦合,提高系统的线性扩展性。
为什么要求系统具有可线性扩展,目的就是当网站的访问量上升的时候,我们可以不用改动系统的任何代码,仅仅通过增加服务器就可以提高整个网站的支撑量。
老冒 发表于 2005-03-26 14:01 阅读( 6219) 评论( 0) 引用( 0) 技术文摘
2005/02/25
基础运营商涉足即时通信市场全析 (转)
基础运营商涉足即时通信市场全析
转自:通信企业管理 时间:2005年2月3日9:45
北京邮电大学 余章坤
最近传出消息,中国的几大基础运营商纷纷对即时通信产生了浓厚的兴趣:广东电信公司从2004年10月底到12月20日,在碧海银沙网站上测试其第一项即时通信业务——“全能聊”统一通信业务;中国网通推出了即时通信工具“天天即时通”;中国移动、中国联通也表示要进入即时通信市场,其相关的即时通信软件正在开发过程中。业内人士表示,几大基础运营商一旦挟运营商之优势大举进入即时通信市场,市场将立生变数,腾讯QQ等即时通信服务商将遭遇最强劲的对手。本文围绕中国基础运营商开展即时通信业务这一问题进行探讨,并提出一些观点供商榷。
[img]http://www.uuzone.com/images/upload/18000/mao2005022523363525_big.j
阅读全文...
老冒 发表于 2005-02-25 23:38 阅读( 6930) 评论( 2) 引用( 0) 技术文摘
2005/01/09
精彩文章, 用MM来解释Design Patern
这是我看到的对Design Partern的最有趣的解释,而且作者显然对设计模式还是有比较理解的, 一些说法虽然牵强但基本还是符合的, 转载一下:
来源:http://blog.csdn.net/sunix/archive/2004/11/14/181423.aspx
设计模式的有趣解释-追MM
创建型模式?
1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory?
工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。?
2、BUILDER—MM最爱听的就是“我爱你”这
阅读全文...
老冒 发表于 2005-01-09 05:46 阅读( 5837) 评论( 0) 引用( 0) 技术文摘
2004/12/26
关于Trackback的一些资料
Trackback功能我一直认为是blog最革命价值的功能之一, 通过trackback, 不同的blog之间真正产生了联系, 形成一个错综复杂的网络。
TrackBack为将全世界无数个blog连接起来的功能。例如,当你读了某个网站的文章,想对此写下自己的感想。这个时候利用网站准备的讨论功能进行投稿是很最常见的做法。但这样只是把自己的评论意见写下来向别人的网站投稿,而你自己手里却什么也没留下。 Trackback改变了这种情况, 你的评论完全可以出现在自己的blog中, 不需要寄人篱下。
然而目前的trackback体系是令人费解, 难于使用的, 虽然MT以及很多blog系统都支持了Auto Discovery的trackback功能(讓你寫 blog 時不用理 trackback url 。 blog軟件自動會檢查你 blog 中所有連結有沒有 trackback 連結。
阅读全文...
老冒 发表于 2004-12-26 02:37 阅读( 10174) 评论( 2) 引用( 2416) 技术文摘
2004/12/17
15行的P2P软件!
http://www.freedom-to-tinker.com/tinyp2p.html
为了抗议一些商人对P2P技术的践踏, Ed Felten, 用python写了一个只有15行代码的,并且可用的p2p文件交换软件:
# tinyp2p.py 1.0 (documentation at http://freedom-to-tinker.com/tinyp2p.html)
import sys, os, SimpleXMLRPCServer, xmlrpclib, re, hmac # (C) 2004, E.W. Felten
ar,pw,res = (sys.argv,lambda u:hmac.new(sys.argv[1],u).hexdigest(),re.searc
阅读全文...
老冒 发表于 2004-12-17 00:11 阅读( 5992) 评论( 1) 引用( 5) 技术文摘










