手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2025年07月的文章

谷鸽鸟看——打造全球最大的山寨信息网

关于“谷鸽鸟看”计划

2009年4月1日, 总部位于美国加州山寨城(Mountain Village)的谷歌公司正式推出“谷鸽鸟看”计划。 该计划旨在利用装备了 CADIE 芯片和软体, 并被赋予了超智能信息处理能力的“谷鸽”, 动态采集、整理和分享山寨信息,打造全球最大的山寨信息网。 简言之,“谷鸽鸟看”计划的使命是:

鸟看全球信息,使人人皆可山寨并从中受益!

什么是“谷鸽鸟看”技术?

谷鸽

谷歌为专门训练的 31415926 只谷鸽装备了以 CADIE 计算技术为支撑的四大高科技系统:

  • 智能导航帽:在鸽子头脑清醒的时候提供 0.01 米精度全球定位导航信息, 并在鸽子头昏脑胀的时候使用绿色纳米微波为鸽子进行泰式头部按摩。
  • 信息处理肚兜:纯棉工艺,不仅仅为了保暖, 同时也是 CADIE 谷鸽版芯片和软体的运行平台。
  • 无线充电脚环:当谷鸽飞临专用太阳能充电站时, 脚环在五分钟内以无线方式为谷鸽充满 16 小时工作电力。
  • 呼叫应答器:支持 2G/3G 网络协议,响应用户召唤, 真正实现“思想有多远,山寨就有多远”的山寨主义理想。

类似谷歌街景(Street View) 采集技术,谷歌倾心打造的超智能谷鸽被赋予外出采集山寨信息的重要使命。 这一方面可以大幅提高谷歌地球(Google Earth)谷歌地图(Google Maps)的图像分辨率, 另一方面也可以弥补网页搜索中山寨信息含量明显偏低的缺憾, 实现搜索山寨化,山寨信息化,信息无废话。

天涯何处不山寨,就看谁的动作快! 利用飞得高、看得远、耳朵灵、眼睛贼等特点, 谷鸽将重点采集以下山寨信息:

  • 最具有震撼力的山寨新闻:例如,湖南某烟花厂最新研制成功无污染、无燃烧、无烟尘, 适于在所有完工或未完工高层建筑安全燃放的绿色版山寨烟花的新闻。
  • 最有潜质的山寨明星:包括,上不了春晚一级的舞台,但有潜力成为网络人气偶像的型男、靓女; 不懂得炒作,但却充满娱乐气质的宅男、宅女;没有出众外表,但有满腹心事的痴男、怨女……
  • 最适合山寨恋人约会的时间地点:例如,2月14日晚,多情谷下、断肠崖边的爱情烧饼屋。
  • 最有创意的山寨发明、创造:例如, 能够从谷鸽音乐搜索中迅速找到可调解家庭矛盾、平息地区争端的“和平音乐编织机”。
  • 最有魅力的山寨流行语:类似2008年出现的“叉腰肌”、“囧”、 “谷鸽”等充满山寨活力的流行网络新词

由“谷鸽鸟看”技术采集的所有山寨信息将被 CADIE 集中处理并发布在谷鸽山寨搜索引擎上。 新一代山寨搜索引擎将能够覆盖全球每个角落、每一时刻、每一种类型的山寨信息。 网友可以使用谷歌地图提供的谷鸽飞行路线图功能查看谷鸽的飞行路线。

谷鸽飞行路线图

返回页首

如何召唤谷鸽?

除谷鸽自动外出寻找山寨信息外,用户也可以主动召唤谷鸽采集身边的山寨信息。召唤方法如下:

  • 走到户外或楼顶超过20平方米的空地
  • 用支持上网功能的手机打开谷歌移动版http://g.cn/
  • 对着手机屏幕上出现的麦克风图标,使用鸽子的方法,“咕——咕——咕——”大叫三声
  • 耐心等待……

不出意外的话,谷鸽会在三十分钟内出现在您的身边。 根据不完全统计,排除软件 Bug 和芯片抽风等影响因素, 谷鸽响应召唤者的平均时间间隔是 21.04 分钟,响应成功率为 99.5865%。

返回页首

如何保护隐私?

谷歌承诺,谷鸽只飞越公共区域,并只能像普通鸽子一样感知鸟类可感知的事物 (想像一下你自己被装上翅膀,在天上飞翔时所能看到和听到的一切)。如果你不想谷鸽打扰你, 可以从以下网址下载“谷鸽别烦我”的折纸挂件图样,自行制作后, 站在窗前,一旦看到谷鸽,就高高挥舞“谷鸽别烦我”的折纸。祝你好运!

“谷鸽别烦我”折纸挂件图样

返回页首

什么是“绿色谷鸽”计划?

谷歌计划在全国范围修建 271828 座由 CADIE 技术提供支持的太阳能充电站。 “谷鸽太阳能充电站”同时支持无线和有线两种充电模式, 不但可以为佩戴“无线充电脚环”的谷鸽提供可持续能源, 还可以为其他可充电电器设备提供服务。 未来,经过谷鸽计划的充分检验后,这批充电站将投入民用, 为手机、电动汽车、油电混合动力汽车、电动自行车等民用设备提供充电服务。

目前,谷歌正在与英国科学家积极合作,研发第二代能源供应设备——“鸽能发电”。 这将是一种完全依靠谷鸽翅膀振动获得电力,并完全自给自足的供电模式。

未来,绿色、清洁、无污染的“鸽能发电”技术, 及其推广版本如“狗能发电”、“马能发电”、 “麻雀能发电”等等,有望部分取代高污染、高能耗的火力发电技术, 成为全球绿色能源体系的重要组成部分。


Only a joke,愚人节,谷歌的玩笑还是挺有创意,详细请看:http://www.google.cn/intl/zh-CN/google_pigeon/index.html

 

Tags: 谷鸽, 谷歌

Xenocode Browser Sandbox

Run any browser from the web

看了这个副标题是不是觉得很HIGH呀,试用了一下确实可以。身为一名WEB开发人员,这样的工具实在是居家旅行之必备工具啊。

看看人家的说明,多嚣张啊:

The Xenocode Browser Sandbox allows all popular Windows browsers to be run simultaneously, directly from the web.  Web designers, system administrators, and other users can now evaluate Internet Explorer 8, 7, and 6, Mozilla Firefox, Apple Safari, Opera, and Google Chrome directly from the web in a risk-free manner.  Unlike traditional software applications, Xenocode WebApps do not require any software to be installed and allow multiple application versions to run side-by-side on any version of Windows.

支持这么多的浏览器,你“建国门建国门(请参考小笑话:见过没)”。

再了解一下这家公司:

Understanding Xenocode Technology

Xenocode is a powerful virtualization technology that separates applications from the underlying operating system.  Unlike traditional hardware virtualization solutions that duplicate an entire host operating system, Xenocode's lightweight application virtualization technology emulates only core operating system features required for application execution.  Xenocode requires no setup, configuration, clients, or device drivers, insulates applications against conflicts, and runs existing applications seamlessly on Windows Vista and locked-down desktops.

Xenocode virtual applications can be deployed on the web, intranets, portable storage devices, and existing desktop management infrastructure, including Active Directory, Microsoft SMS, LANDesk Management Suite, and BMC Configuration Management.  Xenocode technology has been licensed by Novell and is available as part of Novell ZENworks Application Virtualization.

The Xenocode Virtual Application Studio authoring environment allows software developers and systems administrators to easily convert existing applications into virtual machine packages.  The Xenocode WebApp service allows Xenocode applications to be run directly from the web via a simple control that embeds directly into web sites, blogs, and other online content.

介绍了这么多,如果不贴网址,恐怕我会被人砍死吧?

来吧。这里就是:http://www.xenocode.com/browsers/

前提,您的机器上需要安装.net framework,相信大多数人应该都会有安装吧。best regards for you....

PS:有朋友说地址失效了,嗯,确实,其实,是他们换域名啦,到这里看看吧:http://spoon.net/browsers/

Tags: web, browser, sandbox, xenocode

SVN中文手册

最近关于SVN的资料,一直都是粘贴网上的信息到勃客上来。
现在再放上SVN中文资料。可以对照着看看。。。

附件: svn.pdf (1.55 M, 下载次数:8454)

Tags: svn, 手册

SVN提交更新的一个准则

同样,是一篇摘录,笔记。勿怪。。。
原文:http://www.cnblogs.com/chenlong828/archive/2008/09/22/1296193.html
作者:dreamland

查阅了一下网络和博客园,发现还没有一个明确地指导源码管理提交准则的相关文章,因此斗胆整理了一部分自己平时开发管理的心得,加上查阅了部分英文资料写了一个不算很完善的SVN提交准则。

 

负责而谨慎地提交自己的代码

SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交。

如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。

 

保持原子性的提交

每次提交的间歇尽可能地短,以一个小时,两个小时的开发工作为宜。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。

 

不要提交自动生成的文件

Visual Studio在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,这些文件在提交的时候不应该签入,如果不小心签入了,需要使用Delete命令从仓库中删除。

 

不要提交不能通过编译的代码

代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库或者没有放入GAC(针对.Net Framework)中,项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。

 

不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

 

提前宣布自己的工作计划

在自己准备开始进行某项功能的修改之前,先给工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。

 

对提交的信息采用明晰的标注

+) 表示增加了功能

*) 表示对某些功能进行了更改

-) 表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽。

b) 表示修正了具体的某个bug

 

 

Tags: svn, 项目管理

svn常用命令

又是一篇记录,摘要,原文来自:http://cwg.bloghome.cn/posts/75845.html

svn命令 通常都有帮助,可通过如下方式查询:

$ svn help 

知道了子命令,但是不知道子命令的用法,还可以查询:

$ svn help add 

 

开发人员常用命令

(1) 导入项目

$ cd ~/project
$ mkdir -p svntest/{trunk,branches,tags}
$ svn import svntest https://localhost/test/svntest --message "Start project"
...
$ rm -rf svntest

我们新建一个项目svntest,在该项目下新建三个子目录:trunk,开发主干;branches,开发分支;tags,开发阶段性标签。然后导入到版本库test下,然后把svntest拿掉。

(2) 导出项目

$ svn checkout https://localhost/test/svntest/trunk

修订版本号的指定方式是每个开发人员必须了解的,以下是几个参考例子,说明可参考svn推荐书。

$ svn diff --revision PREV:COMMITTED foo.c
# shows the last change committed to foo.c

$ svn log --revision HEAD
# shows log message for the latest repository commit

$ svn diff --revision HEAD
# compares your working file (with local changes) to the latest version
# in the repository

$ svn diff --revision BASE:HEAD foo.c
# compares your “pristine” foo.c (no local changes) with the
# latest version in the repository

$ svn log --revision BASE:HEAD
# shows all commit logs since you last updated

$ svn update --revision PREV foo.c
# rewinds the last change on foo.c
# (foo.c's working revision is decreased)

$ svn checkout --revision 3
# specified with revision number

$ svn checkout --revision {2002-02-17}
$ svn checkout --revision {15:30}
$ svn checkout --revision {15:30:00.200000}
$ svn checkout --revision {"2002-02-17 15:30"}
$ svn checkout --revision {"2002-02-17 15:30 +0230"}
$ svn checkout --revision {2002-02-17T15:30}
$ svn checkout --revision {2002-02-17T15:30Z}
$ svn checkout --revision {2002-02-17T15:30-04:00}
$ svn checkout --revision {20020217T1530}
$ svn checkout --revision {20020217T1530Z}
$ svn checkout --revision {20020217T1530-0500}

(3) 日常指令

$ svn update

$ svn add foo.file
$ svn add foo1.dir
$ svn add foo2.dir --non-recursive
$ svn delete README
$ svn copy foo bar
$ svn move foo1 bar1

$ svn status
$ svn status --verbose
$ svn status --verbose --show-updates
$ svn status stuff/fox.c

$ svn diff
$ svn diff > patchfile

$ svn revert README
$ svn revert

修改冲突发生时,会生成三个文件:.mine, .rOLDREV, .rNEWREV。比如:

$ ls -l
sandwich.txt
sandwich.txt.mine
sandwich.txt.r1
sandwich.txt.r2

解决修改冲突方式之一:修改冲突的文件sandwich.txt,然后运行命令:

$ svn resolved sandwich.txt

方式之二:用库里的新版本覆盖你的修改:

$ cp sandwich.txt.r2 sandwich.txt
$ svn resolved sandwich.txt

方式之三:撤销你的修改,这种方式不需要运行resolved子命令:

$ svn revert sandwich.txt
Reverted 'sandwich.txt'
$ ls sandwich.*
sandwich.txt

确保没问题后,就可以提交了。

$ svn commit --message "Correct some fatal problems"
$ svn commit --file logmsg
$ svn commit

(4) 检验版本历史

$ svn log
$ svn log --revision 5:19
$ svn log foo.c
$ svn log -r 8 -v

$ svn diff
$ svn diff --revision 3 rules.txt
$ svn diff --revision 2:3 rules.txt
$ svn diff --revision 4:5 http://svn.red-bean.com/repos/example/trunk/text/rules.txt

$ svn cat --revision 2 rules.txt
$ svn cat --revision 2 rules.txt > rules.txt.v2

$ svn list http://svn.collab.net/repos/svn
$ svn list --verbose http://svn.collab.net/repos/svn

$ svn checkout --revision 1729 # Checks out a new working copy at r1729

$ svn update --revision 1729 # Updates an existing working copy to r1729

(5) 其他有用的命令

svn cleanup

为失败的事务清场。

(6) 分支和合并

建立分支方法一:先checkout然后做拷贝,最后提交拷贝。

$ svn checkout http://svn.example.com/repos/calc bigwc
A bigwc/trunk/
A bigwc/trunk/Makefile
A bigwc/trunk/integer.c
A bigwc/trunk/button.c
A bigwc/branches/
Checked out revision 340.

$ cd bigwc
$ svn copy trunk branches/my-calc-branch
$ svn status
A + branches/my-calc-branch

$ svn commit -m "Creating a private branch of /calc/trunk."
Adding branches/my-calc-branch
Committed revision 341.

建立分支方法二:直接远程拷贝。

$ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Creating a private branch of /calc/trunk."

Committed revision 341.

建立分支后,你可以把分支checkout并继续你的开发。

$ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch

假设你已经checkout了主干,现在想切换到某个分支开发,可做如下的操作:

$ cd calc
$ svn info | grep URL
URL: http://svn.example.com/repos/calc/trunk
$ svn switch http://svn.example.com/repos/calc/branches/my-calc-branch
U integer.c
U button.c
U Makefile
Updated to revision 341.
$ svn info | grep URL
URL: http://svn.example.com/repos/calc/branches/my-calc-branch

合并文件的命令参考:

$ svn diff -r 343:344 http://svn.example.com/repos/calc/trunk
$ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk
$ svn commit -m "integer.c: ported r344 (spelling fixes) from trunk."
$ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk my-calc-branch
$ svn merge http://svn.example.com/repos/branch1@150 \
http://svn.example.com/repos/branch2@212 \
my-working-copy
$ svn merge -r 100:200 http://svn.example.com/repos/trunk my-working-copy
$ svn merge -r 100:200 http://svn.example.com/repos/trunk
$ svn merge --dry-run -r 343:344 http://svn.example.com/repos/calc/trunk

最后一条命令仅仅做合并测试,并不执行合并操作。

建立标签和建立分支没什么区别,不过是拷贝到不同的目录而已。

$ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/tags/release-1.0 \
-m "Tagging the 1.0 release of the 'calc' project."

$ ls
my-working-copy/
$ svn copy my-working-copy http://svn.example.com/repos/calc/tags/mytag
Committed revision 352.

后一种方式直接把本地的工作拷贝复制为标签。

此外,你还可以删除某个分支。

$ svn delete http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Removing obsolete branch of calc project."

管理人员常用命令

(7) 版本库管理

$ svnadmin help
...
$ svnadmin help create
...
$ svnadmin create --fs-type bdb /usr/local/repository/svn/test
$ chown -R svn.svn /usr/local/repository/svn/test

建立版本库,库类型为bdb(使用Berkeley DB做仓库),库名称为test。
svn版本库有两种存储方式:基于Berkeley DB(bdb)或者基于文件系统(fsfs),通过 --fs-type可指定存储方式。

(8) 查询版本库信息

$ svnlook help
...
$ svnlook help tree
...
$ svnlook tree /usr/local/repository/svn/test --show-ids

Tags: svn, 常用命令