IP数据报首部checksum的计算


一、首先区别下面两个概念:
(1)one's complement:正数=原码,负数=反码
(2)two's complement:就是通常所指的补码

二、计算ip首部校验和
1.发送IP数据报计算checksum
(1)将校验和字段置为0;
(2)对首部中(一般为20B)每个16位字进行二进制反码求和;
(3)将(2)中得到的和再取反码,即得checksum,写入校验和字段中。

抓个IP数据包,取IP数据报报头部分(20B),数据如下:
 45 00 00 30 80 4c 40 00 80 06 b5 2e d3 43 11 7b cb 51 15 3d
下面我来计算一下校验和:
(1)将校验和字段置为0:
将b5 2e置为00 00,即变成:
45 00 00 30 80 4c 40 00 80 06 00 00 d3 43 11 7b cb 51 15 3d
(2)反码求和
 4500+0030+804c+4000+8006+0000+d343+117b+cb51+153d=34ace
 将将进位(3)加到低16位(4ace)上:0003+4ace=4ad1
(3)取反码
 将4ad1取反得:checksum=b52e

2.接收IP数据报检验IP校验和
(1)对首部中每个16 bit进行二进制反码求和;
(2)将(1)中得到的和再取反码 ,看是否为0.
接收到的IP数据报首部:
45 00 00 30 80 4c 40 00 80 06 b5 2e d3 43 11 7b cb 51 15 3d

下面来验证下:
(1)反码求和
4500+0030+804c+4000+8006+b52e+d343+117b+cb51+153d=3fffc
0003+fffc=ffff
(2)取反码:~ffff=0 正确
   

三、求IP数据报首部校验码代码
已将IP首部校验和0xb52e置为0x0000

#include<stdio.h>   
void main()   
{   
 int buff[10]={0x4500,0x0030,0x804c,0x4000,0x8006,0x0000,0xd343,0x117b,0xcb51,0x153d};   
    int checksum=0,i=0;   
 for(i=0;i<10;i++)   
 {   
  checksum+=buff[i];   
 }   
 printf("checksum=%x/n",checksum);   
 checksum=(checksum>>16)+(checksum & 0xffff);   
 checksum+=(checksum>>16);   
    checksum=0xffff-checksum;   
 printf("checksum=%04x/n",checksum);   
} 

源文档 <http://blog.csdn.net/zhangyang0402/article/details/3924108>

Ingress文章收集

1.如果看英文不头疼,官方英文文档是最详细的,并且一定时间会更新。
2.英文文档for +Ingress new player (Google Docs)
3.+Cherysun Zhang 博客中整理的Ingress Scanner技术


4.果壳网有一妹子自爆向G+大神卖萌获取邀请码的文章

1初步介绍 2基本训练 3势力选择 4游戏术语

【1初步介绍】

*这个游戏的主要目标是防止人类被一种未知的“塑造者”接管。或者,取决于你的远见,通过与塑造者建立联盟去帮助人类“启示军”。这要通过与“启示军”或“抵抗军”中的一方结盟和在地理区域上创立“控制场”实现。游戏的进行是靠每一方Faction控制的心灵单位的数量衡量的(可以在情报地图上看到)。
*外来物质控制场是被建立在掠夺接口然后连结接口在一起来组成的区域上。更强大的接口可在更远的距离(达数百公里)之间建立链接。接口链接的范围取决于附加在其上的谐振器的强度。建立链接需要接口的密匙。
*当三个接口被连结成为一个三角形时,一个控制场就在这个地区建立了。在这个地方,它会作为一个雾蓝色或绿色的区域被扫描仪显示出来。被占据的心灵单位的数量与这片地方的人口密度有关。城市比农村有更多的心灵单位。
*你的终极目标是与在你的Faction的其他玩家合作去保护或解放整个世界。


【2基本训练】

1.通过Hacking取得物品
Hack Portals来获得游戏物品. 你可以hack任何Portal,但是得到物品的可能性取决于那个 Portal是中立的还是被Factions中的某一方控制的.
怎样HACK一个Portal:
走近一个Portal直到你的 “行动范围圈”(在你的Scanner视图里,玩家图标周围的一个圆圈) 包含了这个Portal。
轻触Portal图标然后在Portal的细节视图里选择HACK,以试图从那个Portal中得到物品。
在你可以再次hack同一个Portal之前有一个冷却周期(译者注:俗称CD,玩游戏的都知道)。

不翻译专有词表:
Hack/Hacking 原意是指“黑客的入侵”。这个游戏里指的是一种可以让你从Portal中获得物品的机制。
Portal/Portals 原意是“接口”。这里指的是一个类似于“塔”的东西,它的存在应该和XM有关系。
Scanner 原意是“扫描仪”。其实就是指你的手机,因为你的手机可以“扫描出”你在现实世界看不到的东西。

2.夺取一个Portal
你通过deploying(部署) Resonators进这个Portal里面来夺取Portals。Resonators协调和增强在Portal站点自然出现的XM, 造成Portal储蓄能量。

首先选择在你行动范围圈内的Portal
然后选择DEPLOY resonator
更高级别的Resonators (它们的级别从L1到L8) 会使Portal变得更加具有能量。 更高级别的Portals当它被hacked的时候会产生更高级别的物品 (Resonators, XMPs, Shields) 。 更高级别的Portals也能被link 到在更大范围中的Portals。

一个玩家一次只能DEPLOY有限数量的每一个等级的Resonators进同一个Portal 。要使Portal达到它自身的最高能量等级,你会需要和其他玩家一起合作。 

玩家能添加任意数量的L1 resonators到Portal中(能填满全部8个插槽)。
玩家能同时添加【四个】L2 resonators 到同一个Portal。
玩家能同时添加【四个】L3 resonators 到同一个Portal。
玩家能同时添加【四个】L4 resonators 到同一个Portal。
玩家能同时添加【两个】L5 resonators 到同一个Portal。
玩家能同时添加【两个】L6 resonators 到同一个Portal。
玩家只能同时添加【一个】L7 resonators 到同一个Portal。
玩家只能同时添加【一个】L8 resonators 到同一个Portal。
招募一些朋友来一起建造更有能量的Portals吧!

不翻译专有词表:
Deploying/Deploy 原意是“使…展开”。这里的意思是把resonators部署进Portal提供的槽位里。
Resonators/resonator 原意是“谐振器”。这里是指某样像电池一样的东西,提供能量给Portal,让其能正常运转。
XM “Exotic Matter”(外来物质),游戏的基本作用单位。即是地图中随机出现的小蓝点,它是其他行动的基础物质。
XMP/XMPs “Non-polarized energy field weapon”(无极性能量场和谐),一种用于破坏Portal的和谐。
Shields/shield 原意是“盾”。这里是一种用于保护Portal能量护甲。
link 原意是“连结”。这里指的是两个或以上的Portal连线,使其发挥更大的作用。

3.Portal Decay
XM提供能量给Resonators. Resonators在一开始是完全充能的, 但是XM的储量大概每天消耗百分之十。XMPs对Resonators的攻击也会减少它的XM能量值。当XM能量值归零时Resonators会自毁。如果全部被deployed进Portal的Resonators能量值都归零, 那个Portal会重新回到中立状态。

使用Resonators的RECHARGE功能能使Resonators重新充能:
1. 当Portal在“行动范围圈”时选择它
2.然后选择RECHARGE resonator
不翻译专有词表:
Decay 原意是“使…腐败”,在这里的意思是Resonators因缺少能量而自我毁灭导致Portal回到中立状态,我建议理解为崩坏。
RECHARGE 原意是“充电”,这里可以理解为意思差不多的充能。

4.Upgrade Portal 
更强大的Resonators会提升Portal的能量和等级。你可以通过使用UPGRADE动作来使Resonators upgrade成为更强大的一个。

从绕转的Resonator中选择你想upgrade的那个 选择Upgrade用你存货中更强大(更高级)的那个来取代它 通过选择一个 Resonator和选择Recharge,你也可以选择性地对Resonators 充能。
你也可以从Upgrade面板deploy Shields。 Shields可以通过Hacking Portals获取, 就像Resonators一样。 Shields在XMP的攻击中充当Resonators的一个防御屏障。Shield有三个等级, 最多可以deployed四个Shields进一个Portal里。 Shields在Scanner的视图里是一个罩在Portal上的半透明的穹顶。每个增加的Shields提供更少的防御效果。 
不翻译专有词表: 
Upgrade 原意是“使…升级”,这里用其本意。 
Shields/shield 原意是“盾”,这里用其本意,或者科幻点说成是防护罩。

5.创建一个Link
在Portals之间创建Links是建立控制场以得到Mind Units和AP的关键一步。要在两个Portals 之间创建链接,以下是必须的条件:

链接中的原Portal和目标Portal都必须deployed有全部八个Resonators。
八个Resonators中的任何一个都必须超过XM健康等级的临界值。
特工(译者注:也就是你啦)的存货中必须要有目标Portal的密匙。
目标Portal必须在原Portal的距离范围之内, 这取决于原Portal的等级。

怎样创建Link:
站在原Portal的附近。
在Scanner视图里选择原Portal。 
在Portal的详情视图里选择LINK按钮。
或者:
在Scanner里选择高亮的Portal 
在Scanner 视图里打开绕转的Portal密匙, 然后选择一个特定的Portal 密匙给目标 Portal.
选择CONFIRM来创建Link.

6.摧毁一个Link
通过攻击处于Link中的Portals中的Resonators来摧毁敌军的控制链接。例如,你可以通过XMP的火力来减少Resonator的XM健康值。当全部八个Resonators的健康值低于临界状态,Link就会失效。

注意:快速行动菜单(通过长按地图调用)的通常会使用你存货中最高级的火力。如果你去到ITEMS视图,你可以选择指定的XMP。(译者注:用高级武器来攻击低级塔会造成大量的浪费!)

7.创建一个Control Field
Links三个portals在一起来组成一个场, 一个“Control Field"给你的Faction夺取了基础的人口。

8.新的Portal 提交
通过定位、照相和提交适合的Portals帮助我们(译者注:指的是开发组)充实可玩的地方。
提交适合的Portal的步骤:
确定你的GPS在相机应用中被打开了(打开相机应用> 设置> 保存位置 > 打开)。
用你的安卓手机的标准相机应用照一张相。
选择相片的分享选项。
分享到NIA Super Ops (有Ingress标志的那个)。
给Portal起一个好名字然后点OK。
以上操作会准备好一封带着被摄物照片和位置信息的电子邮件给我们的Niantic Ops team。
发送电子邮件
我们的操作小组会复查这张照片和被摄物的位置信息,如果它达到了我们对Portals的一般标准,它将会被添加到游戏的数据库中。

Portal的一般标准如下:
应该是安全的并且向公众开放的
(译者注:当然啦,如果给你在山旮旯里弄一个,谁抢得了你的。)

例如以下这类地方:
雕像、独特的建筑、户外壁画、历史建筑、特殊的室外建筑物、独特的当地企业
关于这个Portal是否会被接受的讨论会需要两到三周的时间。预期一个Portal在接受之后的两到三周才能启动。

【3势力选择】

Faction的选择

这里有两个主要的Faction,或者说是全球性的队伍,为了控制权而战斗:抵抗军和启示军。
结束训练后,你将会被问及选择你的Faction,请明智地选择:
加入启示军
这个Faction企图帮助塑造者渗透地球。追随者相信塑造者所带来的强有力的启示将会提升人类。 

加入抵抗军
这个Faction从塑造者的入侵中保护地球。 他们中的一些人其实是害怕改变和进步,但是抵抗军坚信这是为了保护人性。
如果你没有完成训练,但是被提前问到选择faction,那么你可以退出游戏然后“force stop”,当你回到游戏时,你可以有机会继续完成你的训练。

如果你要选择“force stop”:
选择“menu”按钮退出游戏
进入你手机的“设置”菜单
找到“应用”(有时叫“应用管理”)来找到应用列表
选择“Ingress”
点击“Force Stop”(译者注:这里说的其实就是强行停止Ingress)

【4游戏术语】

游戏术语(这里保留了英文原文作为参考)
Vocabulary Briefing (Glossary)

访问级别Access Level
访问级别限定了你的特工的等级和你允许使用的物品的等级。当你赚取了行动点数,你的访问级别就会提升。
The Access Level defines your agent level and the level of objects that you are allowed to use. Your Access Level increased in the game as your earn Action Points (AP).

行动点数AP (Action Points)
当你完成任务,如掠夺Portals、创建Links、和建立Fields,你就会得到它。
Points earned as you accomplish tasks such as claiming Portals, creating Links, and forming Fields.

COMM
用于与其它特工通讯的通讯面板。
The communication panel for communicating with other agents.
冷却周期Cool Down Period
Hacking一个Portal之后到你可以重新hack同一Portal来得到物品之间的一个强制的等待周期。如果你反复地Hacks,那么这个周期就会变得越来越长。
A mandatory waiting period after hacking a Portal before you can hack the same Portal again in an attempt to acquire items. This period gets progressively longer if you are performing repeated Hacks.
控制场Control Field
Link三个Portals来建立一个控制场。建立一个控制场来给你的faction提升Mind Unit的得分,这基于场中所包含的人口密度。
Link three Portals to form a Control Field. Establishing a Control Field increases the Mind Unit score for your faction based upon the human population density encompassed by the field.
崩坏Decay
如果Resonators 不充能的话,随着时间流逝,它们会自然地崩坏和失去它们的XM健康值。
Resonators will naturally decay and lose their XM health over time if they are not recharged.

部署Deploy
安装物品的一种行动。Resonators被部署进Portals来控制Portal。
The act of installing an object. Resonators are deployed on Portals to control the Portal.

设备设置DEVICE Settings
设置视图在OPS面板里面,游戏的选项和设置可以在那里被控制。
Settings view in the OPS panel where game options and settings are controlled.

启示军(开明军)Enlightened
这个Faction企图帮助塑造者渗透地球。追随者相信塑造者所带来的强有力的启示将会提升人类。 
Faction attempting to help the Shapers infiltrate Earth. Followers believe that the Shapers bring a powerful Enlightenment that will lead to an evolution of humankind.

军团(派系)Faction
这里有两个主要的Faction,或者说是全球性的队伍,为了控制权而战斗:抵抗军和启示军。
There are two main factions, or global teams, battling for control: The Resistance and the Enlightened.

入侵Hacking
一种可以从Portal得到物品的机制。不是所有的入侵都能成功。
A mechanism for acquiring items from a Portal. Not every hack will be successful. 

统分板INTEL
展示目前得分的一个视图。展示了抵抗军和启示军双方的Mind Unit得分。
A view showing the current scores. Displays the Mind Unit scores for both the Resistance and the Enlightened.

情报地图Intel Map
一个允许特工浏览目前全球冲突的状态和联系其他特工的网站。
A web site that allows agents to view the current global state of the conflict and communicate with other agents.


研究板Investigation Board
一个真理探求者发布关于他们的发现的网站。网址是:和谐。
A site where truth seekers post their discoveries about their findings. 

物品ITEMS
特工所携带的游戏物品的存货清单。ITEMS视图可以通过OPS面板访问。
An inventory of the game objects held by an agent. The ITEMS view is accessible via the OPS panel.

心灵单位Mind Units
A measure of the human population that lives under a Control fields. The global score of Mind Units is shown on the INTEL view and on the Intelligence Map.

任务MISSIONS
在OPS面板里有一个任务清单。这里包括了第一次接触时特工得到训练任务。
A list of Missions available in the OPS panel. This includes the training missions that agents receive when they are first contacted.

模组MOD
一类可以被安装进其他物体以提升能量或性能的物体。例如,安装一个Shield MOD进一个Portal会提升它的防御力。
An object that can be installed to increase the power or capability of another object. For example, installing a Shield MOD on a Portal will increase the defensive power of the Portal.

NIA
国家情报特工机构:一个隐藏预算的情报特工机构。它表面上看起是一个协调国际间的情报的普通单位。实际上,该机构已被分配去调查“低概率/高风险”的威胁——就像跨维度活动和超自然的威胁。
National Intelligence Agency: A black budget intelligence agency which appears to be a mundane administrative unit that coordinates International Intelligence. It is, in fact, the Agency that has been assigned to investigate ‘low probability/high risk’ threats -- like transdimensional activity or paranormal threats.

安奈蒂克计划NIANTIC Project
这个秘密实验在法国,它开启了我们的故事。它原本的目的是研究奇怪的能量异常。它由BOGDANOVITCH博士运作和由其它13名调查员组成。在某种程度上它已经误入歧途了,因为一个秘密的并行工程已经运行了。研究者在CALVIN测试塑造者带来的影响(NIA是这样称呼的)。
This is the secret experiment in France that starts our story. The original purpose is to study strange energy anomalies. It is run by DR. BOGDANOVITCH, and consists of 13 INVESTIGATORS. It goes horribly awry, in part, because a secret parallel project has been going on inside of it in which CALVIN is testing the effects of Shaper Infection (the NIA term for it) on the researchers.

OPS
选项面板被集成到Scanner的应用中。OPS面板包括了 ITEMS, INTEL, MISSIONS, RESEARCH, and DEVICE信息分页。
The “Operations” panel that is integrated into the Scanner application. The OPS panel includes the ITEMS, INTEL, MISSIONS, RESEARCH, and DEVICE information tabs.

接口密匙Portal Key
一个允许链接创建于Portal的物品。它也允许对附于Potal上的Resonators远程recharging 。一个Portal密匙可以通过Hacking Portal获得。
An object that allows for the creation of a Link to the Portal. It can also allow for remote recharging of the Resonators attached to the Portal. A Portal Key can be obtained by Hacking the Portal.

接口级别Portal Level
一个基于不同的Resonator被deployed 在一个接口的总级别。当一个更高级别的接口被Hacked时,通常会得到更高级别的道具。

A summary level based on the various Resonator levels deployed on a specific Portal. Higher level ITEMS are usually received when higher level Portals are Hacked. 

充能Recharging
Resonators必须被定期充能来维持它们的能量和对Portal的控制。如果Resonators失去了太多的XM,它们会处于容易被敌军攻击破坏的风险之中。如果在一个Portal中的所有Resonators的XM健康值都低于临界水平,Portal的Link就会失效。对Resonators充能涉及到把玩家得到的XM转移到在Portal里的Resonators上。
Resonators must be periodically Recharged to maintain their power and control a Portal. If Resonators lose too much XM, then they will be at risk of easy destruction during enemy attacks. If all the Resonators on a Portal drop in XM health to the Critical level, then Links from the Resonators’ Portal will fail. Recharging a Resonator involves transferring XM from your Player reserve to the Resonator(s) on a Portal. 

抵抗军Resistance
这个Faction从塑造者的入侵中保护地球。 他们中的一些人其实是害怕改变和进步,但是抵抗军坚信这是为了保护人性。
Faction defending the Earth from the Shaper ingression. They are seen by some as being fearful of change or progress, but the Resistance is firm in its belief that it is protecting humanity.

谐振器Resonator
一种用来控制Portals放出的XM能量的高能粒子加速器。Deploying一个Resonator到一个Portal里会允许你为你的Faction夺取到这个Portal。
A high energy particle accelerator that is used to control the XM energy emitted by Portals. Deploying a Resonator on a Portal allows you to claim the Portal for your Faction.

扫描仪Scanner
你手机中的核心科技,扫描仪可以侦测到Portals和与XM以及XM构造物,例如Resonators和XMPs互动。
The core technology for your phone, the Scanner can detect Portals and interact with Exotic Matter (XM) and XM constructs such as Resonators and XMPs.

塑造者Shaper
ADA或者NIA提出的一个或许可以通过XM Portals渗透我们的维度的跨维度智能的代号。目前,我们没有塑造者的影像。当他们以人类身份显露出来时,我们似乎看到他们。(也就是,我们看到科学家,不是在里面的思想病毒(译者注:这句话不理解,无法翻译!))
A code name assigned by ADA or the NIA for the transdimensional intelligence that may be infiltrating our dimension through XM Portals. At present, we have no visualization for Shapers. We only seem to see them when manifested in their human identities (i.e., we see the scientist, not the idea virus inside).

盾防模组Shield MOD
一类可以被安装进一个Portal以提升它对攻击的防御的模组。
A type of MOD that can be installed on a Portal to increase its defense against attacks.

瞄准Target
一个会引导特工到目标位点或物体的行动。
An action that will direct the agent to the targeted location or object.

升级Upgrade
一种可以用更高科技水平的物品取代原物品的能力。例如,Resonators、Mods,就像Shields,可以被升级来提升它给Portal的防御强度。
The ability to replace objects with items with a more powerful tech level. For example, Resonators and Mods, such as Shields, can be upgraded to increase the defensive strength of a Portal.

外来物质XM (Exotic Matter)
一种罕见的强大的三极能量形式从另外一个维度泄露到我们的宇宙中来。这种能量形式全部基于塑造者的科技。你的Scanner需要外来物质提供能量。如果外来物质降低到临界水平,你的Scanner将会失效。你可以通过移动经过那些地方来收集外来物质(在地图上的发光球体就是代表着它们)。外来物质将会被你的Scanner自动收获。
A rare and powerful form of tri-polar energy leaking into our universe from another dimension. This energy forms the basis for all Shaper technology. XM is needed to power your Scanner. If XM falls below critical levels, your Scanner will be disabled. You can collect XM (represented by glowing orbs on the Scanner Map) by moving through those areas. The XM will be automatically harvested by your Scanner.

XMP
非极性能量场和谐。提供三百六十度移动波的火力。当它被upgrade时,能量波的力量和有效半径都会变大。
Non-polarized energy field weapon. Fires off in moving wave of 360 radius. As the weapon is upgraded, the energy wave’s power and radius of effect grow larger.
以上内容来自贴吧zdg1234

计算机网络试题猜测

计算机网络期末考试试题及答案(仅供参考--不是原题)

填空题(每空 1 分,共 30 分)
1 、在计算机网络 的定义中,一个计算机网络包含多台具有 ______ 功能的计算机;把众多计算机有机连接起来要遵循规定的约定和规则,即 _______ ;计算机网络的最基本特征是 _________ 。

2 、常见的计算机网络拓扑结构有: __________ 、 __________ 、                   、和 ___________ 。

3 、常用的传输介质有两类:有线和无线。有线介质有 ________ 、 __________ 、 __________ 。

4 、网络按覆盖的范围可分为广域网、 _______ 、 _______ 。

5 、 TCP/IP 协议参考模型共分了 ___ 层,其中 3 、 4 层是 _______ 、 _______ 。

6 、电子邮件系统提供的是一种 __________ 服务, WWW 服务模式为 ______________ 。

7 、 B 类 IP 地址的范围是 _______________________ 。

8 、目前无线局域网采用的拓扑结构主要有 ________ 、 ________ 、 ___________ 。

9 、计算机网络的基本分类方法主要有:根据网络所覆盖的范围、根据网络上主机的组网方式,另一种是根据 __________________ 。  

10 、数据传输的同步技术有两种: ____________ 和异步传输。

11 、用双绞线连接两台交换机,采用 _______ 线。 586B 的标准线序是 _________________________________________ 。

12 、多路复用技术是使多路信号共同使用一条线路进行传输,或者将多路信号组合在一条物理信道上传输,以充分利用信道的容量。多路复用分为: ________________ 、 ________________ 、 ________________ 和码分多路复用 。

13 、 VLAN (虚拟局域网)是一种将局域网从 ______ 上划分网段,而不是从 ______ 上划分网段,从而实现虚拟工作组的新兴数据交换技术。

二、选择题(每题 2 分,共 30 分)

14 、计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络中各实体间的 _________ 。

A 、联机关系 B 、结构关系 C 、主次关系 D 、层次关系

15 、双绞线由两根相互绝缘的、绞合成均匀的螺纹状的导线组成,下列关于双绞线的叙述,不正确的是 _____ 。

A 、它的传输速率达 10Mbit/s~100Mbit/s ,甚至更高,传输距离可达几十公里甚至更远

B 、它既可以传输模拟信号,也可以传输数字信号

C 、与同轴电缆相比,双绞线易受外部电磁波的干扰,线路本身也产生噪声,误码率较高

D 、通常只用作局域网通信介质

16 、 ATM 网络采用固定长度的信元传送数据,信元长度为 _____ 。

A 、 1024B   B 、 53B   C 、 128B   D 、 64B

17 、 127.0.0.1 属于哪一类特殊地址(   )。

A 、广播地址 B 、回环地址 C 、本地链路地址 D 、网络地址

18 、 HTTP 的会话有四个过程,请选出不是的一个。(   )

A 、建立连接 B 、发出请求信息 C 、发出响应信息 D 、传输数据

19 、在 ISO/OSI 参考模型中,网络层的主要功能是 ______ 。

A 、提供可靠的端—端服务,透明地传送报文

B 、路由选择、拥塞控制与网络互连

C 、在通信实体之间传送以帧为单位的数据

D 、数据格式变换、数据加密与解密、数据压缩与恢复

20 、下列哪个任务不是网络操作系统的基本任务? ____

A 、明确本地资源与网络资源之间的差异

B 、为用户提供基本的网络服务功能

C 、管理网络系统的共享资源      

D 、提供网络系统的安全服务

21 、以下选项不属于以太网的“543”原则是指? ____

A 、5个网段 B 、4个中继器 C 、3个网段可挂接设备   D 、5个网段可挂接

22 、既可应用于局域网又可应用于广域网的以太网技术是

A 、以太网                             B 、快速以太网

C 、千兆以太网                       D 、万兆以太网

23 、交换机端口可以分为半双工与全双工两类。对于 100Mbps 的全双工端口,端口带宽为 _____ 。

A 、 100Mpbs  B 、 200Mbps  C 、 400Mpbs  D 、 800Mpbs

24 、要把学校里行政楼和实验楼的局域网互连 , 可以通过(       )实现。

A 、交换机   B 、 MODEM  C 、中继器   D 、网卡

25 、以下哪一类 IP 地址标识的主机数量最多?(   )

A 、 D 类   B 、 C 类   C 、 B 类   D 、 A 类

26 、子网掩码中“ 1 ”代表(   )。

A 、主机部分 B 、网络部分 C 、主机个数 D 、无任何意义

27 、给出 B 类地址 190.168.0.0 及其子网掩码 255.255.224.0 ,请确定它可以划分几个子网?(   )

A 、 8  B 、 6  C 、 4  D 、 2

28 、 TCP/IP 体系结构中与 ISO-OSI 参考模型的 1 、 2 层对应的是哪一层(   )

A 、网络接口层   B 、传输层   C 、互联网层   D 、应用层

三、名词解释题(每题 2 分,共 10 分)

29 、 UTP

30 、 DNS

31 、 FTP

32 、 SMTP

33 、 ADSL

三、简答题(共 30 分)

34 、简述 IPv4 到 IPv6 的过渡技术( 6 分)

35 、试论述 OSI 参考模型和 TCP/IP 模型的异同和特点。( 8 分)

36. 网络安全面临的威胁主要有哪些。( 6 分)

37 、某 A 类网络 10.0.0 .0 的子网掩码 255.224.0.0 ,请确定可以划分的子网个数,写出每个子网的子网号及每个子网的主机范围。( 10 分)



答案:

一、填空(每空 1 分,总计 30 分)

1 、自主,通信协议,资源共享 2. 总线型、星型、网状    3 、双绞线、同轴电缆、光纤     4 、局域网、城域网

5 、 4 ,传输层、应用层   6. 存储转发式、 B/S 7. 128.0.0.0 — 191.255.255.255 8. 点对点方式,多点方式,中继方式 9 、信息交换方式   10 、同步传输

11 、交叉线,白橙、橙、白绿、蓝、白蓝、绿、白棕、棕   12 、频分多路复用、波分多路复用、时分多路复用     13 、逻辑,物理

二、选择(每题 2 分,总计 30 分)

14-28 : B  A B   B  D B   A  D  D   B    A  D  B  B    A

三、名词解释

29 、非屏蔽双绞线    30 、域名系统    31 、文件传输

32 、简单邮件传输协议    33 、非对称数字用户线

四、简答(总计 30 分)

34 、 1 双协议栈技术 2 隧道技术 3 网络地址转换技术。( 6 分)

35 、相同点:两个协议都分层; OSI 参考模型的网络层与 TCP/IP 互联网层的功能几乎相同;以传输层为界,其上层都依赖传输层提供端到端的与网络环境无关的传输服务。

不同点: TCP/IP 没有对网络接口层进行细分; OSI 先有分层模型,后有协议规范; OSI 对服务和协议做了明确的区别,而 TCP/IP 没有充分明确区分服务和协议。

36.1 系统漏洞 2 黑客攻击 3 病毒入侵 4 网络配置管理不当( 6 分)

37. 、由子网掩码可以判断出主机地址部分被划分出 2 个二进制作为子网地址位,所以可以划分出 2*2-2=2 个子网。( 5 分)

每个子网的网络号和主机范围如下:

①子网号为 192.168.0.64 ,主机号范围为 192.168.0.65 ~ 192.168.0.126 ( 5 分)

②子网号为 192.168.0.128 ,主机号范围为 192.168.0.129 ~ 192.168.0.190 ( 5 分)

计算机网络期末考试试卷本站从网上搜集整理 . http://www.wusiwei.com/?post=13

修复打开方式

我刚才更改了一个应用程序的打开方式现在电脑上所有的应用程序都用那个打开。刚才更改了一个应用程序的打开方式用QQ2010,现在电脑上所有的应用程序都用那个打开QQ2010打开(手痒的祸啊),那么怎么还原打开方式呢?经过我的一番摸索后找打了个很简单的解决办法:新建一个记事本文件即可。
我的是Win7系统,但同样适用于打开方式不对的Windows XP和Visat系统。下图就是我遇到的问题:
Win7怎么还原打开方式
Win7怎么还原打开方式
还原打开方式的方法
下面代码字体就是INF文件的内容,复制此段代码,粘贴到记事本里面,保存为任意文件名,后缀名为INF的文件即可,比如:1.inf
[Version]
Signature="$Chicago$"
[DefaultInstall]
DelReg=DeleteMe
[DeleteMe]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk"
好了!当你选择鼠标右键菜单“安装”图标就还原了出现在了Windows7的桌面上了,而且都还原打开方式可以打开了。简单的保存为一个INF文件,鼠标右键选“安装”就可以恢复还原了。
引用:mtoou.info

Perl产生随机数


Perl利用函数rand()和srand()为随机数(更确切的说是“伪随机数”)字符串的生成提供了基本的工具。这些函数不是利用加密来提供安 全性的,所以不要利用它们为你金融信息的加密。但是,如果你需要为你的下一个游戏或者动态Web网站的新特性设计一个简单的随机数生成器,那么 rand()和srand()可能就是你所需要的。
函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数 值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。
要注意,使用同种子相同的数调用srand()会导致相同的随机数序列被生成。这在有的时候很方便,尤其在游戏编程里,你可能想要重复让随机事件按照精确的相同序列出现。
像下面这样使用rand():
print "Your lucky number for today is: " . int(rand(100) + 1) . " ";

指令:rand
语法:rand($interger)
说明:常和函数srand搭配来取得一随机数,如果没有先宣告stand函数的话,则取出的常数值是一个固定值。这个语法会返回一个介于0和$interger之间的数值,如果$interger省略的话,则会返回一个介于0和1 的数值。

示例:
srand; #要先宣告srand函数,才能产生随机数的效果
$int=rand(10); #$int的值会大于0而且小于10如果希望产生的乱数是整数的话,就要再加上int #这个函数
$int=int(rand(10)); #$int的值是一个整数,且值在0和9之间
--------------------------
$int=rand(10);
$int=int(rand(10));
print "int is $int\n";
运行:
int is 9
再次运行:
int is 7
#可见rand取的是随机数字

实例:我有一个7000行的文本数据,想每次从中随机提取1280行,提取100次,最后生成100个1280行的文本,该如何做?各位请指点。
#!/usr/bin/perl
use strict;
use warnings;
my $data_file = "file1";
print " Generating ...\n";
open FH, "$data_file" or die "Can not open the required file $data_file !";
my @data = <FH>;
close FH;
for (1..100) {
        my %hash;
        while ((keys %hash) < 1280) {
                 $hash{int(rand($#data))} = 1;
        }
        open OUT, ">random$_.txt" or die "Can not open the required file random$_.txt !";
        foreach (keys %hash) {
                 print OUT "$data[$_]";
        }
        close OUT;
}
print " Complete!\7";
参考资料:http://www.builder.com.cn/2004/0108/105066.shtml
                  http://blog.appleandroid.com/post/202/
                  http://bbs3.chinaunix.net/thread-1709378-1-5.html

源文档 <http://blog.sina.com.cn/s/blog_4af3f0d20100izou.html>

SQL server实验二


实验2

实验名称:SQL Server2005 用户管理和权限管理
实验内容:在SQL Server 中完成数据库的用户管理、角色管理和操作权限管理。
实验目的:理解和体会数据库安全的内容,加强对数据库管理系统的安全管理功能的认识。
实验方法:在SQL Server 环境下,分别以系统管理员、数据库管理员、对象拥有者的身份完成所要求的各项操作。
实验步骤及要求:
一.以系统管理员身份完成如下实验
1. 建立三个不同名称的登录用户(SQLServer身份)。(一个用户用你的名字命名,例如张三建立的登录名为zhangsan;另两个用户为zhang,wang),每个用户的默认数据库均为master
2. 尝试使用ALTER LOGIN命令对注册用户作不同的修改。(改变内容随意)
3. 将你名字的登录用户加入成为sysadmin服务器角色成员。

二.以数据库管理员身份完成如下实验(用你的名字登录)
1.将已有的注册用户zhang,wang变成当前数据库的用户(数据库可以自己定义一个,或使用我们一直用的bookdb)。
2.使用ALTER USER命令修改部分用户设置。
3.使Zhang、wang成为数据库管理预定义角色db_datareader的成员。
4.授权zhang用户具有update某表(假设为A)的权限(带WITH GRANT OPTION)。

三.以数据库用户身份完成以下实验
1.以zhang的身份登录,zhang可以对A表进行select、update操作,但无法进行insert、delete等操作;以wang的身份登录,wang只能对A表进行select操作,体会权限的作用。
2.以zhang的身份为wang的A表update操作授权,体会GRANT命令中WITH GRANT OPTION 短语的作用
3.分情况收回权限,并体会REVOKE命令中GRANT OPTION FOR 和CASCADE短语的作用

四.(选做)角色、架构管理
1.建立一个数据库角色leader,为其加入一些成员(如zhang、wang等)。
2.用grant命令为leader授权(如表A的DELETE权限等);以其成员的身份(如wang)进入系统,就可以进行leader权限能做的事(如表A的DELETE操作)。
3.创建架构(schema),修改某用户的默认架构为该架构。以该用户身份创建表,观察结果。

实验报告内容:
1.完成上述任务一、二的操作过程(SQL语句),如用图形界面,可将操作生成相应的SQL语句。
2.任务三请用拷屏实现。

相关命令:(以下为简化版命令,更全面的命令,可以通过“帮助”查看)
建立注册用户的命令:
CREATE LOGIN login_name { WITH PASSWORD=’password’ [MUST CHANGE][,DEFAULT_DATABASE=database] [,CHECK_EXPIRATION={ON|OFF}]}

修改注册用户的命令:
ALTER LOGIN login_name
    { WITH PASSWORD = 'password'
    [,OLD_PASSWORD = 'oldpassword' ]
    [,DEFAULT_DATABASE = database]
    [,NAME = login_name]}

建立数据库用户的命令:
CREATE USER user_name[LOGIN login_name]
[WITH DEFAULT_SCHEMA=schema_name ]

修改数据库用户的命令:
ALTER USER user_name  WITH[NAME=new_user_name| DEFAULT_SCHEMA=schema_name ]

建立角色命令:
CREATE ROLE role_name [AUTHORIZATION owner_name]

为角色指定成员的系统过程:
Sp_addrolemember [@rolename=] ‘role’,[@rolemember=]’user’

创建对象的授权命令:
GRANT { ALL | permission [ ,...n ] } ] TO principal [ ,...n ]
      [ WITH GRANT OPTION ] [ AS principal ]

对象操作的授权命令:
GRANT { ALL | permission [ ( column [ ,...n ] ) ] [ ,...n ]
      [ ON securable ] TO principal [ ,...n ]
      [ WITH GRANT OPTION ] [ AS principal ]

收回授权的命令:
REVOKE [ GRANT OPTION FOR ]
      {  ALL |permission [( column [ ,...n ] ) ] [ ,...n ]}
      [ ON securable ]
      {  FROM principal [ ,...n ]
      [ CASCADE] [ AS principal ]

禁止权限的命令:
DENY {  ALL |permission [( column [ ,...n ] ) ] [ ,...n ]}
      [ ON securable ]
      {  TO principal [ ,...n ]
      [ CASCADE] [ AS principal ]

数据库上机试验报告1


数据库上机试验报告1
练习一
SQL语句语法
sp_configure [ [ @configname = ] 'option_name'
    [ , [ @configvalue = ] 'value' ] ]
sp_configure 可以显示或更改服务器级别的设置。更改数据库级别设置使用 ALTER DATABASE。更改仅影响当前用户会话的设置使用 SET 语句。
管理员运行RECONFIGURE RECONFIGURE WITH OVERRIDE 更新配置值。
show advanced options 选项用来显示 sp_configure 系统存储过程高级选项。当 show advanced options 设置为 1 时,可以使用 sp_configure 列出高级选项。默认值为 0
two digit year cutoff 选项为了将 2 位数字的年份解释为 4 位数字的年份,从 1753 9999 之间选出一个整数来表示世纪截止年份。
一个比截止年份的后两位数字小或者与其相等的两位数年份与该截止年份处于同一个世纪。而一个比截止年份的后两位数字大的两位数年份所处的世纪比与该截止年份所处的世纪要早。比如,如果 two digit year cutoff 2049(默认值),那么两位数年份 49 被解释为 2049 年,而两位数年份 50 被解释为 1950

该设置将立即生效,无需重新启动服务器。
查看设置生效方法
通过右击数据库服务器,查看属性
运行下面两个SQL语句
EXEC sys.sp_configure 'show advanced options'
EXEC sys.sp_configure 'two digit year cutoff'

事务
BEGIN TRANSACTION
UPDATE account SET money = money - 100
where Name = 'zhangsan'
update account set money = money + 100
where Name = 'lisi'
declare @m int
select @m = money from account where Name = 'zhangsan'
if(@m > 100)
commit
else
rollback


select Name,money,
case
when money>1000 then 'VIP'
when money<1000 then 'Custom'
else N'No money'
end as type
from account



3.
declare @dt datetime = getdate()
declare @date datetime = CONVERT(char(5),@dt,120) + '10-1'
print @date
select DATEPART(WEEKDAY,@date-1)

SQL server实验一


实验1

实验名称: SQL Server2005 服务器配置和Transact-SQL的使用
实验内容:1. 在Microsoft SQL Server Management Studio中熟悉服务器的各种配置方法。
          2. 练习SQLServer中Transact-SQL语法。
             a) 通过事务管理语言,练习事务的写法。
             b) 通过“帮助”及其他资料,学会case函数及日期函数的使用方法。
实验目的:1. 了解服务器配置方法和数据库创建的过程。配置服务器选项的过程就是为了充分利用系统资源、设置服务器行为的过程。合理配置服务器选项,可以加快服务器回应请求的速度、充分利用系统资源、提高工作效率。
2. 学会通过资料查找,掌握函数及T-SQL的语法规则。
实验方法:使用SQL Server Management Studio 工具 和sp_ configure存储过程进行配置。
实验步骤及要求:
一.服务器配置
1. 启动SQL Server Management Studio,输入连接信息,进入工具主窗口。
2. 右击数据库服务器名称,在快捷菜单中选择[属性],则出现服务器配置选项卡。
3. 分别查看常规、内存、处理器、安全性、连接、数据库设置、高级、权限选项卡,看看里面包含的内容。
4. 在[高级]选项中,修改[两位数年份截至]选项。
5. 在新建查询中执行
EXEC sys.sp_configure 'show advanced options', '1'
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure 'two digit year cutoff', '2050'
GO
RECONFIGURE WITH OVERRIDE
GO
回到步骤4中的[高级]选项中,可以得到同样的修改效果。通过SQL语句体会设置的作用。
(你用什么方法证明你的设置生效了?)
练习一:
将上述步骤5中核心语句进行解释,写入实验报告。(通过“帮助”实现)

二.T-SQL语法练习
1.新建一张表account(可以自己定义一个新数据库,也可用示例数据库advantureworks,但不要在master中),只包含两个字段即可:姓名、余额。
2.使用account表,写一个简单事务:从张三账户转帐100元到李四账户,如果张三账户余额不够100,则该事务不执行。为体现事务执行的特点,请按如下逻辑编写:
事务开始
转帐
检查余额
如果满足条件
提交事务
否则
回滚
编写好后,测试,体会上学期所讲的事务的特点。
3.往account表中多输入一些数据,余额中包含空值、1000以下的,其他值的.写一条SQL语句,练习CASE函数的用法。
  SQL 语句要求:列出account的信息,余额不写具体值,余额写法如下:空值填写“不清”,0-1000之间,填写“较少”,剩余填写“其他”
4.时间函数练习:
  用T-SQL写出今年的十月一日是星期几
注意:不能直接使用2012-10-01,可以使用函数:得到当前日期 getdate()、取日期的年部分 ,得到今年是多少……
查找教材、帮助或互联网得到所需信息
练习二:
实现上述4个问题。将2-4写入实验报告,第3小题拷屏即可(因为涉及显示结果)

SQL server 函数和存储过程


本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。

函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少
  1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
  2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
  3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。
  4. 当存储过程和函数被执行的时候,SQL Manager会到procedure cache中去取相应的查询语句,如果在procedure cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。
  Procedure cache中保存的是执行计划 (execution plan) ,当编译好之后就执行procedure cache中的execution plan,之后SQL SERVER会根据每个execution plan的实际情况来考虑是否要在cache中保存这个plan,评判的标准一个是这个execution plan可能被使用的频率;其次是生成这个plan的代价,也就是编译的耗时。保存在cache中的plan在下次执行时就不用再编译了。

源文档 <http://database.ctocio.com.cn/304/9355304.shtml>

存储过程:
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
1、可以在单个存储过程中执行一系列 SQL 语句。
2、可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
3、存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

用户定义函数:
Microsoft SQL Server 2000 允许创建用户定义函数。与任何函数一样,用户定义函数是可返回值的例程。根据所返回值的类型,每个用户定义函数可分成以下三个类别:
1、返回可更新数据表的函数
如果用户定义函数包含单个 SELECT 语句且该语句可更新,则该函数返回的表格格式结果也可以更新。
2、返回不可更新数据表的函数
如果用户定义函数包含不止一个 SELECT 语句,或包含一个不可更新的 SELECT 语句,则该函数返回的表格格式结果也不可更新。
3、返回标量值的函数
用户定义函数可以返回标量值。

源文档 <http://bbs.csdn.net/topics/80237453>

C语言文件读写练习

文件读写内容前面已经讲过了,这里有道题,随便贴出来。

#include 

struct student
{
  long studentNumber;
  char *firstName;
  char *lastName;
};

/* the function returns the address of an array of student-typed objects */
struct student *readStudentRecordFile(char *fileName, int *numOfStudents)
{

    /* fill in here */

}


/* the function writes an array of student-typed objects into a file */
void writeStudentRecordFile(char *fileName, struct student *AllStudents, int *numOfStudents)
{

    /* fill in here */

}


/* the function sorts an array of student-typed objects according to studentNumber
and returns a sorted array of such objects */
struct student *sortStudents(struct student *AllStudents, int numOfStudents)
{
    /* fill in here */
}

/* the function capitaizes the letters in the student namess for an array of
student-type objects
*/
void capitalizeNames(struct student *AllStudents, int numOfStudents)
{

    /* fill in here */

}

int main(void)
{

    int nStudents;
    struct student *readArray;
    struct student *sortedArray;

    readArray=readStudentRecordFile("homework8.dat", &nStudents);
    capitalizeNames(readArray, nStudents);
    sortedArray=sortStudents(readArray, nStudents);
    writeStudentRecordFile("homework8_out.dat", sortedArray, &nStudents);

    return 0;

} 

不完整的答案吧
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct student
{
   long studentNumber;
   char * firstName;
   char * lastName;
};

/* the function returns the address of an array of student-typed objects */
struct student *readStudentRecordFile(char *fileName, int *numOfStudents)
{

    /* fill in here */
 int i=0;
 struct student *p=(struct student*)malloc(sizeof(struct student));
 static struct student AllStudents[10];
 char * firstName;
 char * lastName;
 long num;


    FILE *fp;
    fp=fopen(fileName,"r");
 if (fp == NULL)
 {
  printf("open file error!\n");
  exit(1);
 }

    fscanf(fp,"%d\n",numOfStudents);   //read total num;   loss a & 
// printf("%d\n",numOfStudents);
 

//     for(i=0;i<10;i++){
//         fscanf(fp,"%s\t%s\t%l\n",&AllStudents[i].firstName,&AllStudents[i].lastName,&AllStudents[i].studentNumber);
//  }

 for ( p= AllStudents;p<AllStudents+10;p++)
 {
  firstName = (char *)(malloc(10));
  lastName = (char *)(malloc(10));
  fscanf(fp,"%s\t%s\t%ld\n",firstName,lastName,&num);
  p->firstName = (char *)(malloc(10));
  strcpy(p->firstName,firstName);
  p->lastName = (char *)(malloc(10));
  p->lastName = lastName;
  p->studentNumber = num;
  //printf("%s %s %ld\n",firstName,lastName,num);
  //printf("%s %s %ld\n",p->firstName,p->lastName,p->studentNumber);
 }
 
//  for(p=AllStudents;p<AllStudents+10;p++){
//         printf("%s %s %ld\n",p->firstName,p->lastName,p->studentNumber);
//  }
 fclose(fp);

 p=AllStudents;
 return p;
}


/* the function writes an array of student-typed objects into a file */
void writeStudentRecordFile(char *fileName, struct student *AllStudents, int *numOfStudents)
{

    /* fill in here */

    int i;

    FILE *fp;
    fp=fopen(fileName,"w");

    fprintf(fp,"%d\n",*numOfStudents);
    for(i=0;i<10;i++){
        fprintf(fp,"%s\t%s\t%ld\n",((AllStudents+i)->firstName),((AllStudents+i)->lastName),((AllStudents+i)->studentNumber));
 }
    fclose(fp);


}


/* the function sorts an array of student-typed objects according to studentNumber
and returns a sorted array of such objects */
struct student *sortStudents(struct student *AllStudents, int numOfStudents)
{
    /* fill in here */
    struct student tmp;
    int i;
    int j;
//    int n;

    for (i=0;i<10;i++)
    {
        //n=0;
        for(j=0;j<10;j++)
        {
            if(AllStudents[i].studentNumber<AllStudents[j].studentNumber){

    tmp=AllStudents[j];
    AllStudents[j]=AllStudents[i];
    AllStudents[i]=tmp;
   }
                //n++;
        }
    }

    return AllStudents;
}

/* the function capitaizes the letters in the student namess for an array of
student-type objects
*/
void capitalizeNames(struct student *AllStudents, int numOfStudents)
{
    /* fill in here */
    int i;
    int j;
    for(i=0;i<numOfStudents;i++)
    {
        j=0;
        do
        {
            AllStudents[i].firstName[j]=toupper(AllStudents[i].firstName[j]);
            j++;
        }while(AllStudents[i].firstName[j]!='\0');
  //printf("%s\n",AllStudents[i].firstName);
        j=0;
        do
        {
            AllStudents[i].lastName[j]=toupper(AllStudents[i].lastName[j]);
            j++;
        }while(AllStudents[i].lastName[j]!='\0');
  //printf("%s\n",AllStudents[i].lastName);
    }
}

int main(void)
{

    int nStudents;
    struct student *readArray;
 int i;
    struct student *sortedArray;
 struct student *tmp;
    readArray=readStudentRecordFile("homework8.txt", &nStudents);
 tmp = readArray;
 printf("%d\n",nStudents);
 for (i =0;i<10;i++,tmp++)
 {
  printf("%s\t%s\t%ld\n",tmp->firstName,tmp->lastName,tmp->studentNumber);
 }
 printf("\n\n");
  capitalizeNames(readArray, nStudents);
 tmp = readArray;
 for (i =0;i<10;i++,tmp++)
 {
  printf("%s\t%s\t%ld\n",tmp->firstName,tmp->lastName,tmp->studentNumber);
 }
 printf("\n\n");
 sortedArray=sortStudents(readArray, nStudents);
 tmp = sortedArray;
 for (i =0;i<10;i++,tmp++)
 {
  printf("%s\t%s\t%ld\n",tmp->firstName,tmp->lastName,tmp->studentNumber);
 }
    writeStudentRecordFile("homework8_out.txt", sortedArray, &nStudents);
    return 0;
}

源代码Extra.rar

CC协议

知识共享 维基 http://goo.gl/Pr2Rh

CC协议 互动百科 http://goo.gl/VDNtj


获取CC协议许可ICON http://creativecommons.org/choose/

創用 CC 授權條款
本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 2.5 中國大陸 授權條款授權.

谷歌Google.cn中国历程2000-2010

中国google的退出事件,最近整理了一下google自2000年进入中国后的一些事件,都是通过网络整理出来的,有些摘自新浪网
2000年9月12日:谷歌宣布在Google.com增加简体及繁体两种中文版本,开始为全球中文用户提供搜索服务
2002年8月31日:谷歌在中国大陆首次遭到封锁
2004年9月10日:Google.com推出简体中文版谷歌新闻
2005年7月19日:李开复加盟谷歌,正式出任谷歌中国区总裁,同时谷歌宣布将在中国设立研发中心。
2006年1月:简体中文版谷歌新闻改名为“资讯”
2006年1月26日:谷歌启用“Google.cn”。Google.cn主要提供经过政府审查的信息,这在不支持信息过滤的谷歌总部引起强烈争论,但李开复用各种方式说服google.
2006年3月2日:腾讯SOSO正式推出,采用谷歌的搜索技术合作提供网页搜索服务。到2009年9月,腾讯表示SOSO正在采用自有搜索引擎技术进行试运营,但与谷歌的合作仍会继续
2006年4月12日:谷歌全球CEO施密特在北京宣布Google的中文名字为“谷歌”。谷歌正式进入中国。施密特亲自来华,将刻有中文“谷歌”的印章交给大中华区负责人李开复和周韶宁。谷歌以最中国的形式,来表态对中国本土化的决心
2006年6月7日:谷歌国际版在中国大陆再次受到封锁,但谷歌中国仍然正常
2006年6月24日:Google.cn和MSN.com.cn均被域名挟持到“买麦网”
2006年9月4日:谷歌正式启用位于北京市中关村清华科技园里面总建筑面积1.4万平米的科建大厦,作为谷歌中国的总部
2006年12月08日:亚太区市场总监王怀南与大中华区联合总裁周韶宁几乎同一时间离职。这是谷歌少数几次来自内部的重大挫折,外界并不了解二人辞职的原因,但“谷歌退出中国”的传言迅速散播开来
2007年1月4日:得到中国最大电信运营商中移动认可的谷歌,宣布与之合作推出移动搜索,进入比PC更大的移动终端市场。谷歌宣称,此次合作是由施密特与王建宙“巧遇”达成的
2007年1月5日:谷歌与迅雷达成合作,希望依靠迅雷带来流量
2007年3月起:中国大陆用户在使用未修改cookies的简体中文版浏览器里输入Google.com会被自动转向到Google.cn
2007年3月上旬:谷歌中国在Google.cn推出谷歌网站导航产品
2007年3月16日:谷歌中国在Google.cn推出谷歌热榜产品
2007年4月4日:谷歌中国推出谷歌拼音输入法,但随后被搜狐指责抄袭
2007年5月:谷歌收购265.com,并和网吧进行全方位的推广合作,以积极姿态接触草根用户
2007年5月20日:谷歌中国在Google.cn上发布新产品谷歌生活搜索
2007年6月11日:谷歌与新浪在搜索、资讯、广告等方面达成合作
2007年8月20日:谷歌中国与天涯合作推出“天涯问答”和“天涯来吧”,这是谷歌中国第一次为合作伙伴提供技术支持的产品问世
2007年9月19日:Google.cn取得由信息产业部颁发的新ICP牌照。通过与本土公司合资的方式,Google.cn曲线绕过在中国开展业务最大的法律障碍,这让其后在中小型互联网整顿中有惊无险。此时的谷歌初步完成对中国市场的熟悉,此后的一年多也是谷歌在中国最幸福的时光
2007年10月18日:Google.com、Windows Live Search和雅虎搜索引擎再次遭到域名挟持,本次是被挟持到百度
2007年10月30日:谷歌中国正式宣布Google.cn正式启用简短域名:g.cn。而此域名原由上网导航网站265.com总裁蔡文胜所有。当时有传闻指谷歌中国将会收购265.com,而当中原因就是要得到此域名
2007年11月1日:Google.cn被加入网页快照功能,但此功能并不能充分使用
2008年1月7日:刘允出任谷歌全球副总裁,负责大中华区销售和渠道业务。作为有中国大陆背景的经理人,刘具有丰富外资电信行业背景。但相比李开复的经历,人们显然很难看懂谷歌总部为何从一家韩国公司挖来刘允。但恰恰是这个出任意料的选择,让刘日后成为影响谷歌中国命运的关键人物之一
2008年1月30日:推出“春运交通图”。在遭受暴风雪袭击的“春运”中,此举被网民誉为雪中送炭,更被视为谷歌贴近本土市场的表现
2008年3月26日:谷歌向康盛创想投资100万美元
2008年4月24日:由纽约和上海的谷歌工程师共同合作开发的谷歌财经中国版正式发布,同时宣布推出重新设计的谷歌财经主页
2008年5月8日:谷歌中国与金山软件公司发布金山词霸的免费互联网版本《谷歌金山词霸合作版》
2008年5月23日:谷歌宣布已透过关联公司Google爱尔兰购入265.com的域名,但双方都没有透露交易的具体金额。对于有消息指谷歌开价2000万美元用于收购265的传闻,遭双方否认
2008年8月5日:谷歌中国与巨鲸音乐网联合宣布,在Google.cn推出谷歌音乐产品,所有可供免费下载的歌曲均得到正版音乐授权。但有消息称,谷歌音乐并未获得滚石唱片的授权就擅自大量提供该唱片公司旗下歌手的音乐文件。亦有人发现其实谷歌音乐提供的音乐文件内嵌了版权信息,并非真正意义上的免费音乐,下载使用这些文件仍然有版权纠纷的隐忧
2008年8月19日:谷歌推出中国版公交搜索
2008年11月10日:谷歌中国在Google.cn推出中国版iGoogle。中国版iGoogle是以Cookies技术记录用户的个性化定制,且并不能像国际简体版iGoogle那样支持用户帐户登录,故用户在更换电脑后需要重新设置页面
2009年1月:北京市海淀法院审结北京谷歌科技有限公司侵犯商标权及不正当竞争纠纷一案。法院判令“北京谷歌“停止使用企业名称、变更企业名称,并赔偿谷歌中国经济损失及诉讼合理支出共计10万元
2009年6月18日:相关部门及CCTV指责谷歌中国涉黄。尽管没有证据表明此事与眼下的“退出风波”有关,熟悉中国市场的人都知道,此事的爆发对任何一家公司都是一场巨大灾难。李开复随后的辞职,也多被认为受此事影响
2009年6月24日:在中国大陆,除谷歌中国之外的所有中国境外搜索页面均无法访问,包括Google文档在内的多项服务均无法使用,疑似遭遇DNS劫持。25日下午7时左右访问正常
2009年9月4日:谷歌中国宣布,李开复正式辞职创业,谷歌上海工程研究院院长杨文洛接替其研发职责,主管销售的谷歌副总裁刘允接替其运营方面的职责
2009年11月4日:版权局等部委下发通知,要求不得擅自通过网络复制版权作品。此举被认为是针对谷歌数字图书馆业务
2009年12月24日:谷歌与顺网科技进行合作,希望可以通过合作方增加网吧用户
2010年1月13日:谷歌突然在官方博客发布消息,指将重新评估在中国业务的可行性
以上来自http://www.iewb.net/index.php/qg/120.html

2012年9月,Google中国宣布关闭Google音乐(Google 黑板报)(谷奥
2012年12月,Google宣布关闭中国版购物搜索(谷奥)(Google 黑板报

Gtalk详解

从Google+粘贴过来的,以免忘记
最近身边好多朋友开始转战Gtalk,我那申请了几年都没说过几句话的Gtalk终于迎来了春天。松松哥在评论中说,GTalk不是所有人都会用。现在我就把给他们整理的一些小资料分享给大家,咱也见证下Gtalk的强大,希望对你们也能有所帮助。(也默默地祈祷,Google能更新下官方客户端)
首先还是推荐大家下载英文版,抛开安全性不讲,如果你看了下面的区别,觉得自己并不需要那么完全可以用中文版。
Gtalk中文版 Gtalk English
即时消息 两个都支持
PC间语音呼叫 两个都支持
Gmail通知 两个都支持
显示正在收听的音乐 Gtalk English支持
文件传送 Gtalk English支持
发送语音Email Gtalk English支持

Google 2012 时代精神

时代精神(德语:Zeitgeist)时作“时代思潮”,德文意为“时间”(zeit,对应英文“tide”和“time”),“精神”(geist,对应英文“ghost”),意指在一个国家或者一个群体内在一定的时代环境中的文化,学术,道德,精神,和政治方面的总趋势以及一个时代的氛围,道德,社会环境方向以及思潮。(Wikipedia
Google每年都会在12月份发布一年中的热门关键字同时发布一个视频来展示一年之中发生过的事情,无论大小,每一个瞬间都会让人感动。Google在他的官方博客上面发布了Zeitgeist 2012网页版,和Google Zeitgeist Andorid App

以下Google 2012 Zeitgeist详细清单由zhihu阿鲁卡多整理

(0:00 -- 0:06) Here's to the curious
(0:06) Felix Baumgartner由太空跳落地面的镜头 [1]
(0:13) Oscar Pistorius,「刀锋战士」,双腿截肢、参加奥运会。[2]
(0:20) 美国总统竞选辩论第二场 [3]
(0:23) 鸟叔PSY,Summer Stand Live Concert [4]
(0:27) 卡梅隆驾驶单人深潜器“深海挑战者”号成功下潜至世界海洋的最深处
(0:29) 首艘私人飞船SpaceX CRS-1发射到国际空间站成功 [5]

(0:33 -- 0:34)We searched for firsts
(0:35) 欧洲核子研究中心发现疑似希格斯玻色子的相关Paper
(0:36) 第一个被治愈的艾滋病患者Timothy Ray Brown
(0:38)中国首位女航天员刘洋

(0:40 -- 0:41) For relif
(0:41)Google Crisis Response,纽约市和新泽西部分地区的地图
(0:42)飓风“桑迪”席卷美国东岸
(0:44)菲律宾马尼拉被洪水淹没
(0:45)以色列对加沙军事行动

(0:46 -- 0:48)For a choice
(0:49)埃及总统大选
(0:52)弗朗索瓦·奥朗德竞选法国总统成功
(0:53)奥巴马连任美国总统
(0:55)Voices of the Arab spring

(0:58 -- 1:00)For change
(1:00)叙利亚反政府抗议活动
(1:04)希腊民众抗议活动
(1:08)埃及伊斯兰主义者和世俗反对派的抗议活动
(0:10)暴动小猫乐队 [6]
(1:11)Kony 2012活动 [7]

(1:13 -- 1:14)For something special
(1:15 -- 1:19)2012年伦敦奥运会
(1:20 -- 1:22)“奋进号”航天飞机穿行洛杉矶街头
(1:23 -- 1:25)6岁的脑瘫小孩走向他当兵的爸爸 [8]
(1:26 -- 1:28)NASA好奇号成功登陆火星

(1:29 -- 1:30)And for inspiration
(1:31 -- 1:34)美国体操运动员Gabrielle Douglas,2012伦敦奥运会金牌得主
(1:34 -- 1:37)美国游泳运动员Michael Phelps,2012伦敦奥运会金牌得主
(1:38 -- 1:41)西班牙足球队夺得欧洲杯冠军
(1:42 -- 1:45)Google Earth上显示的人类第一次登上月球 ---- 阿波罗号登陆月球的地点
(1:46)已逝美国航天员阿姆斯特朗登陆月球的视频

(1:47 -- 1:48)People also search
(1:49)Sally Ride,已逝美国女航天员,也是美国第一个进入太空的女性航天员。
(1:50)Gore Vidal,已逝美国作家
(1:51)Michael Clarke Duncan,已逝美国黑人演员
(1:51)Andy Griffith,已逝美国演员、电视制作人、格莱美获奖歌手
(1:52)已逝柬埔寨前国王 ---- 西哈努克
(1:53 -- 1:55)Whitney Houston,已逝美国歌手
(1:56)Ray Bradbury,已逝美国作家
(1:56 -- 1:57)Maurice Sendak,已逝美国画家、作家
(1:58)Dick Clark,已逝美国主持人
(1:58)Donna Summer,已逝美国格莱美获奖歌手
(1:58)Mike Wallace,已逝著名美国记者,谈笑风生的主角

(1:59 -- 2:01)Never stop searching
(2:02)马克多香港光剑分部 [9]
(2:02)Berlin 2011 - 2012 Silvester Party [10]
(2:03)Epic Times Square Ball Drop 2012 [11]
(2:04)马克多香港光剑分部 [9]
(2:05)联合国秘书长潘基文在Google+ Hangout上和大家见面 [12]
(2:06)澳大利亚总理Julia Gillard在Google+ Hangout上和大家见面 [13]
(2:07)球王Pelé在Google+ Hangout上和大家见面 [14]
(2:08)昂山素季当选议员 [15]
(2:09)Aki "Hangs" From Kibo [16]
(2:10)来自大堡礁的Google+ Hangout [17]
(2:10)The City of Samba [18]
(2:11)The Hajj [19]
(2:12)切尔西队战胜拜仁慕尼黑队夺得欧洲冠军杯
(2:12)#这里真看不清了,貌似是个什么100米以上的短跑比赛,因为计时是两位的秒数#
(2:12)旧金山巨人队夺得MLB世界大赛冠军 [20]
(2:13)巴西籍残疾人Daniel Dias,参加了2012伦敦奥运会的游泳项目(感谢知友@大空 的补充!)
(2:13)#唉,又一个无名氏。。下次骑自行车,记得给自己打个广告在背上啊!#
(2:14)奥古斯塔国家高尔夫俱乐部首次加入了两名女性高尔夫运动员,Condoleezza Rice和Darla Moore
(2:14)#喂喂,你们玩自行车花样的敢不敢敬业一点啊喂?对,说的就是你!#
(2:15)2012年伦敦奥运会73KG柔道冠军,俄罗斯选手Mansur Isaev
(2:15)NBA球星Jeremy Lin,林书豪
(2:16)Oscar Pistorius,「刀锋战士」在比赛中的场景
(2:17)美国科罗拉多州森林大火
(2:17)美国士兵在执行任务时被塔利班恐怖份子击中 [21]
(2:18)叙利亚反政府武装占领一个战略重地 [22]
(2:19)以色列轰炸哈马斯总部 [23]
(2:19)#大哥,能跑慢点让我看清你的脸吗?#
(2:20)蝙蝠侠的扮演者Christian Bale慰问美国科罗拉多州在枪击事件中受伤的人们 [24]
(2:20)改变巴基斯坦的女孩儿Malala Yousafzai,马拉拉 [25]
(2:21)在Youtube上宣布自杀的澳大利亚小孩 [26]
(2:21)美国WKBT的女主持人在节目中回复说她胖的观众 [27]
(2:21)美国德克萨斯州密苏里城议会中讨论关于性别歧视的法案 [28]
(2:22)Jefferson Bethke [29]
(2:23)残疾人Dergin Tokmak跳舞 [30]
(2:23)#又一个跑步的#
(2:24)世界上唯一一个能摸北极熊和北极熊一起游泳的人 [31]
(2:24)Martyn Ashton - Road Bike Party [32]
(2:25)Taylor Morris,一名在阿富汗战争中受伤被截肢的美国人 [33]
(2:25)The Piano Guys 弹奏One Direction的《What Makes You Beautiful》[34]
(2:25)新西兰军人缅怀在阿富汗阵亡的战友 [35]
(2:25)美国8岁小女孩儿Zoe Thomson弹奏吉他 [36]
(2:26)The Muppets Rock Out in a Google Hangout [37]
(2:26)Justin Bieber, Selena, Ashley Tisdale和一帮人唱《Call Me Maybe》[38]
(2:26)试图跳进冰水里却失败的二逼男青年 [39]
(2:26)2岁的可爱小女孩儿Emma装上3D打印出的假肢 [40]
(2:27)6岁的美丽萝莉装女王 [41]
(2:27)挑战吃肉桂记录的胖子 [42]
(2:27)#这是一坨什么。。。棉花糖?#
(2:28)墨尔本Metro的宣传动画,Dumb Ways to Die [43]
(2:28)Walk Off The Earth 翻唱的《Somebody That I Used to Know》(五个人弹一把吉他) [44]
(2:28)Google Glass [45]
(2:28)想当JB女朋友的脑残粉 [46]
(2:29)2012年11月13日的日全食 [47]
(2:29)Dragon Baby [48]
(2:29)TNT电视台的创意活动 [49]
(2:30)一个从无法正常行走到能正常奔跑的励志男人 [50]
(2:30)看狮子的小萝莉 [51]
(2:30)翻唱歌手Noah Guthrie [52]
(2:30)Minecraft版Gangnam Style [53]
(2:31)Dope Zebra [54]
(2:31)发生在意大利海岸的Costa Concordia号触礁沉没事件 [55]
(2:31)一个犯2的老太太毁了一幅画的故事 [56]
(2:31)Rich Ferguson表演魔术「脑袋搬家」 [57]
(2:31)刺客信条真人版 [58]
(2:31)Ray William Johnson [59]
(2:31)惊恐的喵星人 [60]
(2:31)Gangnam Style的MV [61]
(2:32)Felix Baumgartner由太空跳落地面的镜头 [1]
---------------------------------------
相关信息和链接:
[1] http://www.youtube.com/watch?v=FHtvDA0W34I
[2] http://www.zhihu.com/question/20400121
http://www.zhihu.com/question/20400631/answer/15023723
[3] http://www.youtube.com/watch?v=QEpCrcMF5Ps
[4] http://www.youtube.com/watch?v=rX372ZwXOEM
[5] http://www.youtube.com/watch?v=-Vk3hiV_zXU
[6] http://www.youtube.com/watch?v=grEBLskpDWQ; 2012年2月21日,乐队的5个成员在莫斯科的救世主大教堂的祭坛举行了一场反对普京和俄罗斯正教会的名为“朋克祈祷”("Punk Prayer - Mother of God, Chase Putin Away!")的非法演出。表演被教堂安保人员制止。
[7] http://www.youtube.com/watch?v=Y4MnpzG5Sqc
[8] http://www.youtube.com/watch?v=LqPlBy2-abA
[9]  http://www.youtube.com/watch?v=WyiHIsUTpec
[10] http://www.youtube.com/watch?v=i_Z_3OPzq-A
[11] http://www.youtube.com/watch?v=GNkZhX8EuE4
[12] http://www.youtube.com/watch?v=wRhq-qBsfkY
[13] http://www.youtube.com/watch?v=NhUOmfVT0SU
[14] http://www.youtube.com/watch?v=g0bpxZAnsuw
[15] http://www.youtube.com/watch?v=Dr__altXCGc
[16] http://www.youtube.com/watch?v=z22vOjOAQt0
[17] http://www.youtube.com/watch?v=baQ6q6pwIik
[18] http://www.youtube.com/watch?v=XboAeIjcs2E
[19] http://www.youtube.com/watch?v=BOzgcau6y7c
[20] http://www.youtube.com/watch?v=4QemTcq02ek
[21] http://www.youtube.com/watch?v=rLHU-_OhT8g
[22] http://www.youtube.com/watch?v=Zz4nUafXUIo
[23] http://www.youtube.com/watch?v=tzroc0VekTs
[24] http://www.youtube.com/watch?v=zyB9rjIRx4k http://v.youku.com/v_show/id_XNDMxODI4NTI0.html
[25] http://www.youtube.com/watch?v=myDpPEcw8L8
http://article.yeeyan.org/view/247448/330653
[26] http://www.youtube.com/watch?v=UAaEw_EB7Ws http://v.youku.com/v_show/id_XMzkwODI2MTc2.html
[27] http://www.youtube.com/watch?v=rUOpqd0rQSo
[28] http://www.youtube.com/watch?v=OtN9JSxsmzE
[29] http://www.youtube.com/watch?v=I4OK9DmLpCY
http://v.youku.com/v_show/id_XMzQ4MTU2NjY0.html
22岁的贝思克说希望通过他的新作“性,婚姻和童话”(Sex, Marriage & Fairytales)突出当今毁坏婚姻的最普遍和最棘手的问题,强调耶稣是“每一个婚姻的医治者、救赎者和修复者”。
[30] http://www.youtube.com/watch?v=OasVtpPcjWg http://v.youku.com/v_show/id_XMzU2MDk1MTEy.html
[31] http://www.youtube.com/watch?v=g7rZTZBOrqQ http://v.youku.com/v_show/id_XMzkxMDIzNTQ4.html
[32] http://www.youtube.com/watch?v=7ZmJtYaUTa0 http://v.youku.com/v_show/id_XNDYwMjYyNjEy.html
[33] http://www.youtube.com/user/TaylorMorrisRecovery
[34] http://www.youtube.com/watch?v=0VqTwnAuHws http://v.youku.com/v_show/id_XNDI5ODQ3MjQ0.html
[35] http://www.youtube.com/watch?v=cVSJK1jMxPI
[36] http://www.youtube.com/watch?v=kJmCKY1SR-E http://v.youku.com/v_show/id_XMzQ0MDU0NDUy.html
[37] http://www.youtube.com/watch?v=JrM0qzRA6Vw http://v.youku.com/v_show/id_XMzM1ODYyMzgw.html
[38] http://www.youtube.com/watch?v=AsBsBU3vn6M http://v.youku.com/v_show/id_XMzU0NDQ0MDc2.html
[39] http://www.youtube.com/watch?v=anf2qEjec3U
[40] http://www.youtube.com/watch?v=WoZ2BgPVtA0 http://v.youku.com/v_show/id_XNDM1Nzc5OTcy.html
[41] http://www.youtube.com/watch?v=l9nbhzKaqvA
[42] http://www.youtube.com/watch?v=Cyk7utV_D2I http://v.youku.com/v_show/id_XMzcxOTYwMzM2.html
[43] http://www.youtube.com/watch?v=IJNR2EpS0jw http://v.youku.com/v_show/id_XNDc1OTIxMzI0.html
[44] http://www.youtube.com/watch?v=MsoRSI7ei4E http://v.youku.com/v_show/id_XMzQzMDE5OTY0.html
[45] http://www.bbc.com/future/story/20120703-outsourcing-our-memories
[46] http://www.youtube.com/watch?v=Yh0AhrY9GjA http://v.youku.com/v_show/id_XNDE2OTI1NDMy.html
[47] http://www.zeibiz.com/2012/11/total-solar-eclipse-2012-darkens-australia-delights-spectators/
[48] http://www.youtube.com/watch?v=1oHWvFrpocY http://v.youku.com/v_show/id_XNDcxNDkwMDc2.html
[49] http://www.youtube.com/watch?v=316AzLYfAzw http://v.youku.com/v_show/id_XMzg0MDMyNzYw.html
[50] http://www.youtube.com/watch?v=qX9FSZJu448 http://v.youku.com/v_show/id_XNDAwMDgwOTY0.html
[51] http://www.youtube.com/watch?v=JjK9jYgijnc
[52] http://www.youtube.com/user/only1noah?feature=watch
[53] http://www.youtube.com/watch?v=CldeLN28SOo http://v.youku.com/v_show/id_XNDY1NDEwMTI4.html
[54] http://cheezburger.com/5716539392
[55] http://en.wikipedia.org/wiki/Costa_Concordia_disaster
[56] http://www.theblaze.com/stories/80-year-old-grandma-explains-how-she-ruined-a-rare-jesus-painting-by-restoring-it/
[57] http://www.youtube.com/watch?v=tsL_JDtVbww http://v.youku.com/v_show/id_XNDcwMDgyOTE2.html
[58] http://www.youtube.com/watch?v=aAhPaiajwDY http://v.youku.com/v_show/id_XNDQ2OTc0MjUy.html
[59] http://www.youtube.com/user/raywilliamjohnson
[60] http://www.youtube.com/watch?v=TQBMPDbqlvc
[61] http://www.youtube.com/watch?v=9bZkp7q19f0
---------------------------------------

更新竟然在Google Zeitgeist网页端还有彩蛋

SQL Server阻止保存要求重新创建表的更改” 解决方法[转]


MS SQL Server 2008或者2012 在建完表后,如果要插入 修改任意列,则提示:
当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。

如果要去掉此提示,打开SQL 2008或2012 在最上面
工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去重新启动2008即可

Blogger版权时间自动更新方法

如果你不知道版权信息是什么?
请看Blogger官方帮助文档

或者很简单,把网页拉到最先下面,那行
©2012 Verne in Blogger, All Rights Reserved 由 Blogger 技術提供.
就是版权声明

或者LuckerMe上面提到Google式简略版声明(PS:LuckerMe上的文章讲解了自动更新WordPress版权信息)
©2012 Google
另外版权信息的小技巧

最后重点 自动更改那个讨厌的时间,就不会发生像铁道部那样直接2015了。
观察我的代码

<div class="footer" style="text-align: center;">
©<script type='text/javascript'>var creditsyear = new Date();document.write(creditsyear.getFullYear());</script> <a expr:href='data:blog.homepageUrl'><data:blog.title/></data:blog.title></a><a href="http://www.einverne.tk">Verne in Blogger</a>, All Rights Reserved 由 <a href="http://www.blogger.com" target="_blank">Blogger</a> 技術提供.
</div>

其中©之后
<script type='text/javascript'>var creditsyear = new Date();document.write(creditsyear.getFullYear());</script> <a expr:href='data:blog.homepageUrl'><data:blog.title/></data:blog.title></a>
这个就是实现获取年份的Javascript


Google百度和谷歌的那些事(转)

转自:http://blog.devep.net/virushuo/2010/01/14/blog56google_blogtinyfool_1_go.html

我也在前面写过 为什么我热爱Google的原因,只是这篇文章更让我热血澎湃,更让我感动。


很久不在这个blog上写和技术无关的东西了,尤其不想写跟业界有关的东西,觉得太空,太忽悠,对别人没价值。但这次,我想写写这5,6年对google和百度的一些观察心得。这里面,这里面存在大量的个人推论,我并不能担保完全正确,请只当作是一次思想的碰撞。

这篇blog主要由我完成,Tinyfool提出了大量修改意见,亦有重要贡献。

1 google,不作恶,信息流动

众所周知,google的目标是"整合全球信息"。从另外一个角度看来,这可以看作加快信息流动。信息流动变快是有巨大的经济价值的。加速,始终是人类经济活动的主线,快即是价值。从蒸汽时代到现在,每一次让移动速度加快的方式都造成了人类巨大的变化,只不过,在蒸汽和机械的时代,加快的是人和货物的移动,信息时代加快的是信息的流动。

仔细观察,可以发现,很多事情不再需要实体物质的流动。比如,我们不再需要人去送一封信,而只需传递一封电子邮件。我们也不那么需要去订阅一份报纸送上家门,而只需要浏览门户网站。这是信息时代带来的改变。而Google所做的,是继续加快这种信息流动的速度,让人们需要的东西更快的呈现在眼前。

Google始终坚持Pagerank排名,除了惩罚作弊者,并未干预过任何排名。这是因为,信息的正常流动才会加速,加速信息是Google的价值,也带来巨大的经济价值。Google绝对不允许把广告插入到搜索结果中。否则搜索结果质量会下降->用户不满意->搜索量降低->广告点击降低,最终仍然造成收入下降。(后面我们会讲到百度完全不同的做法)

投放过Adwords的同学会发现,并非价格越高越好,就算单价非常高,如果匹配度很低,广告点击率就会很低。这样Google仍然会降低这种匹配的出现频率。这样就避免了在A在B的搜索结果中投放"我是B"的广告来误导用户。

在这个体系下,有用的东西就是有用的,信息流动会变快,Google会推动这种信息变的更快,没用的东西就是垃圾,会阻碍信息流动,Google就让他变的更慢,直到被放弃。

Don't be evil 这句口号,可以理解为东欧出生的布林对人生的追求,也可以理解为Google商业利益的准则。因为,越是不作恶,越是让信息有序,正常的流动,给Google带来的实际利益也就越大。很多人认为这只是一句作秀的口号,事实上这是商业和个人追求的双重准则。

2 baidu,竞价排名,Google

百度显然看到了搜索的巨大价值,于是挤进了这个市场。我们且不论搜索质量,先看百度的利润来源。

百度同样有右侧广告(类似Adwords)和左侧排名。左侧排名就是所谓的竞价排名,这是百度的"创新"。竞价排名是百度收入的主要来源(注1)。

前面说过,竞价排名会干扰用户搜索体验,这大家都深有体验,某些热门关键词,百度前几页的结果都是竞价结果。那么为什么Google不敢这样做,而百度这样做就赚翻了呢?

昨天我在twitter上说过一句话:"adsense是促使信息有序流动并盈利,竞价排名是破坏信息流动并盈利。也难怪两个公司的人看问题截然不同。"

很多人有体验,如果你的搜索结果比较靠前,百度会有销售来找你做竞价排名,如果不做的话,很快你的搜索结果就骤减。这种"巧合"正好说明了阻碍信息流动也是可以盈利的。换言之,帮助别人照看孩子可以赚钱,威胁别人家孩子来收保护费也可以赚钱。

那么,按照前面的说法,阻碍信息流动的应该会被用户抛弃,在百度这边为什么情况相反呢?

搜索引擎的结果好坏实际很难评价,通常来说,"好10%"是完全没有意义的。这在这个市场上反复被证实,仅仅让搜索结果比对方好10%,或差10%,不会对用户体验影响太大。第二梯队中的搜狗,有道,搜索结果未必真的比百度差多少,但无论如何也无法翻身。同样的竞争也发生在了Google,Bing,Yahoo之间。换言之,搜索引擎产品是一种先入为主的产品。

在百度起家的年代,Google遭遇了最严重的屏蔽。大家应该都有体验,在大公司内基本无法正常访问Google。我们且不去讨论这种屏蔽的始作俑者是否是百度(无论百度是否加快了这种行为,最终的结果也必然发生)。那几年,又正好是中国互联网用户增长最快的年代(注2)。大量的新互联网用户直接成为了百度的用户。

搜索引擎市场上,"获得第一批用户"是至关重要的。

比较百度和Google的产品和收购策略,百度通常收购能带来巨大流量的产品,包括hao123,天空软件站等等。而Google收购的通常是具有独特的技术,可产生独特数据的产品,比如Analytics,blogger。

百度的主要企业运营行为是围绕"获得第一批用户"的。这些方法包括:工具条,hao123,和软件下载站合作等等。Google被屏蔽看作这种行为的反向手法,无论是否百度造就的,至少这个结果导致了百度获得了更多的第一批用户。

在一个基本没有竞争对手的市场上,百度可以"挟流量以令诸侯",这时候,他破坏一部分信息正常流动也不会造成太严重的后果。因为用户毫无比较。

Google的铁杆用户分为两类。一类是早期用户,这部分用户用过Google,也用过百度。有明确的比较和鉴别能力。他们最终选择了Google。另外一类是专业用户,他们真的发现百度找不到他们需要的东西。这时候Google对比百度的优势大大增加,到达了用户满意程度的临界点,于是这部分用户也选择了Google。

在中国互联网上,大部分用户偏重娱乐。这些用户很难分辨Google和百度的区别。甚至他们会觉得百度更好一些,因为百度提供了方便无比的MP3搜索。他们一旦先尝试了百度,那么就会留下,继续成为百度的用户。这就是我们今天看到的样子。


3 谷歌做了什么


2006年,Google决定开设中国办公室,并命名为谷歌。这是Google创始以来,最大胆,也是最小心的尝试。他们从来没有过试图进入一个需要过滤某些内容的国家(如前所述,这是阻碍信息流动,同时也背叛了Google的价值观)。

我们可以从一些细节看到Google的小心翼翼。比如,Google.cn是没有Google Account的。用户不能注册,也就没有密码,因此也就没有泄密之忧。后来有人嘲笑谷歌音乐可以用各种帐号登录,但就是不能用Google Account登录。所有需要登录的Google服务都没有进入中国。包括Gmail,Gtalk,Blogger等等等。

Google从进入中国那一天,就给自己设置好了底限。这种底限,就是李开复所说的"总部压力"。

李开复的谷歌,是谷歌,绝不是Google。是一个像百度的外企。

3个字可以来概括谷歌几年的工作:"倒流量"。倒流量的工作由一系列的合作(迅雷,sina,天涯,265)完成。这和Google的传统做法完全不同,Google几乎不去主动谋求流量,产品质量会解决所有问题。但谷歌必须谋求流量,一个急进,喜欢去大学讲座和写书的职业经理人,不会有创始人那样的耐心慢慢的守着一个市场。这让谷歌越来越像百度。

众所周知,用和对手一样的手段不可能打倒对手。

谷歌推出的最重量级产品,是谷歌音乐。这显然是看到了百度在MP3搜索上获得的好处,意图获得以娱乐为主的用户。当然,鉴于Google全球的品牌,这些音乐需要有版权。我不评价这个产品的好坏,但这显然和Google总部习惯格格不入。难道Google不知道去做一个音乐下载产品吗?难道Google不能去做一个下载站吗?总部不去做,只不过是因为这和价值观不符。

同样的价值观不符,还包括和天涯合作的来吧。之前说过,除了独特的数据,Google不会主动创造内容。以Google的胸怀,可以去索引百度贴吧和知道,并放在结果的显著位置,但没必要自己去模仿一个贴吧出来。这种竞争的水平太低了。

甚至,谷歌把中国访问Google.com的流量"劫持"到了Google.cn,以便提高自己的"占有率"。这件事让很多Google老用户恼火,Zola曾经在某个李开复参与的活动中举手提问,如何才能在中国正常的访问Google.com。

"倒流量"之后,谷歌的市场占有率有所上升。这是应该的。不过,新上升的占有率中,有多少是真正的搜索流量就不得而知了。正如百度搜索和贴吧等产品的比值是个秘密一样。

百度跟在Google后面,而谷歌跟在百度后面。

除了倒流量,谷歌也在"抓收入"。

投放过Adsense的朋友,大概会记得,Adsense的匹配质量越来越差,医疗方面的内容也越来越多。之前经常有人因为作弊被封掉帐号,后来再也没人说过自己的帐号被封。

我07年的两篇blog提到了这件事:
对不起,这是谷歌,不是google
去掉了blog上的google adsense

这两个特点都不是Google Adsense应有的特性。Google Adsense应该是匹配准,不干扰用户,且提供有用信息。时常读英文内容的人会时常看到Adsense广告的匹配相当精确,时而有点击的必要。

离开了这两个特点,可以把谷歌的广告看作一个大的广告联盟。这和拿了很多小网站的Banner的流量去找广告主谈价本质是一样的。在这种广告销售策略下,不需要匹配,不需要杜绝点击欺诈。最舍得花钱投这种广告的,无非是医疗,美容几类。

这几类是最赚钱的部分。不仅对于谷歌,对于百度,甚至对电视台都是一样的。

关于Adsense的故事,可以看看Tiny这篇文章 :我和Google Adsense那点故事

在这5年中,最常被记者们提起的"谷歌困境"就是"总部压力"。在我列出的这些部分,都已经触及到了Google价值观,所以Google必然不满。

有兴趣的同学可以对比一下2005~2010这5年,Google做了什么,谷歌做了什么。你会看到截然不同的项目。虽然结果看起来似乎都是:"市场份额增加,收入增加",Google在这几年,砸实了搜索的基础,扩大了搜索的内容来源和范围,把索引伸向了非数字内容,完成了地图/卫星图/Earth/街景等一系列重要产品,完成了在移动和3G方面的布局。谷歌做了什么呢?音乐,热榜,还有一个抄袭的输入法。

从谷歌存在的那天,我就写过一篇文章,核心意思是:要么把中国当作研发基地,投资,研发,但不运营,要么就干脆去印度开分公司。不幸言中。

4 孙云丰的观点


从商业价值和经济利益方面考量,都可以看出Google的不作恶,并不是作秀的口号。对于一个靠信息有序化赚钱的公司,必须要不作恶才行。百度正好相反,必须要作恶才行。

Google是幸福的,可以把商业价值建立在一个正确的价值观之上。这确实是可遇不可求的机会。很不幸,百度不行。

孙云丰的言论是无法自圆其说的。一方面,他认为Google不是人权斗士,只是个为了利润的市侩分子。另一方面,他又高举社会公平的大旗,宣称百度的道德感。这两者之间有明确的冲突。如果Google只为了利润,那么百度同样不应该有道德可言。

一方面,他宣称自己观点毫无错误,另一方面,他又删掉了自己的文章。有人说删贴未必是他自己的意愿。那么,作为宣称"有道德感"的百度员工,他不应该屈从别人的意见删掉自己认为正确的东西。作为百度高管,不应该允许百度公关去打电话要求别人删贴。

今天有一些百度员工为孙云丰辩护,这些说法同样无法自圆其说。试图证明百度是一家很好的公司,并不能证明孙云丰说的正确。正如纳粹德国有一支很有战斗力的军队,并不能证明希特勒是正义的。他们甚至自相矛盾,认为孙云丰对竞争对手恶言相对是正确的,其他人骂孙云丰是错。如果孙云丰代表自己骂了一家公司,该公司的用户有权回击。如果孙云丰代表百度,那他严重的缺乏职业道德。从任何角度,我也得不出百度员工和前员工的那些结论。

当然,我从来也没认为过百度是一家很糟糕的公司,甚至很多次认为百度正在逐渐变成一家有责任感的公司。遗憾的是,从高管到员工,似乎都没和这家公司一样完成这种转变。

不要以为这次事件打击了Google在中国的份额就幸灾乐祸,事实上,中国的互联网市场消失了。这和市场份额无关,和宏观形势有关。这个国家温情脉脉的互联网时代就此结束,就好比IT精英们看不起的那些传统生意人一样,慢慢被兼并,重组,消亡,剩下的那一点,会被扫倒利润微薄的边边角角。就好比,你家楼下菜市场那个可怜的菜农,守着那一点点收入,还要担心城管。这是这个行业中每个人的悲剧。

Tinyfool说:百度的矛盾在于,Google的成功是他在全世界资本市场受宠的原因,但他们可能无时无刻不想google死掉会更好。在全世界范围内,这是不可能出现的,现在在中国出现了,他们真的会高兴吗?

Google给我们的最大价值,除了信息流动加速,就是信息永存。当我写完这篇blog,发布在我的blog上,按下"发布"之后的几分钟,各种蜘蛛就会蜂拥而至,把这篇文章复制若干次,存在这世界的各个角落。这文章即永存。无法被某个组织控制或删除,也无法阻止其流动。公关公司不行,某个国家政府也不行。孙云丰的言论,和百度其他员工的言论,也将和这篇文章一样,被永存,成为历史的一部分。这是我们热爱Google的原因。

现在,我要按下发布按钮了。

Google地图偏移的真正原因(转)

谷歌地图网页版的三种版本

孔乙己说,茴字有四种写法,真是十足的腐儒呀。

可是呢,谷歌地图(Google Maps)却竟然也要有三种不同的版本,你没想到吧?谷歌这是闹那样呢?

一) 哪三种版本?

我平时是经常使用在线地图的,而且基本上就是谷歌地图。其他如百度地图什么的,那就差太多了,不用。至于那个昙花一现的天地图,更是渣到不行,纯粹搞笑的。

可谷歌地图为啥要有三个版本呢?原来这完全是因为中国相关部门的逼迫出来的。

因为,兲朝官员们要面对各种各样的、形形色色的、境内境外的、大量的敌对分子,所以,对地图的发行十分严格,而且是从传统纸质地图拓展到了如今很流行的数字化、在线地图。比如,不允许地图使用真实的经纬度信息,所有国内的地图,都要有一定的人为偏差!有了偏差,敌人就不知道重要目标的精确地址了,米帝啥的导蛋就打不准了,是吧?我说的肯定没错。

其他比如,不允许在线地图具有社会化信息集散交流能力。说具体点,就是不允许网友在地图上标注、分享地标、照片、评论等信息。

于是乎,在国际上一直广受好评的谷歌地图 maps.google.com(第一种!),在我朝就遭受了各种各样的磨难。几乎每年,都会说,谷歌地图运行牌照到期,有可能不能续期,有可能要关闭。虽然实际上到现在还没有关闭,但随时可能被关闭的传言,一直如一把剑悬着,随时可能斩下。

当然,谷歌地图的主要服务器、数据等,都是在美国等兲朝境外的,我朝官员们虽然对谷歌地图很不满,但还没牛叉到去关了美国的服务器。但至少,阻止其网站从国内访问,还是做得到的。咱不是有GFW么?

其实也正是如此,如果你不用羽番土啬工具,那么现在访问maps.google.com已经很不顺利了,常常是刷不出来,或只刷出来一部分地图。

为了照顾墙内中国网民也能继续顺利地使用谷歌地图,Google公司不得不推出了墙内版谷歌地图 ditu.google.cn(第二种!)。光看这个网址,就很中国化。不是么?ditu,不就是“地图”的拼音么?.cn的域名,也表明这是中国的网站。这个版本的地图,其服务器据说就是放置在中国境内(墙内)的,所以不会受到GFW的影响。所以,当然也是从法律上符合我朝规定的。地图都按规定做了偏差处理,所有社会化信息交流功能全都欠奉。
但与此同时,我们还可以发现另一针对中国的谷歌地图ditu.google.com(第三种!)。这个网址,是不是有点奇怪?前面部分ditu,是个汉语拼音,按理还是针对中国网民的。但后面的google.com,又仿佛告诉我们这是属于google.com系列的,面向全球的网站。我的猜测是这样的,Google毕竟不放心也不甘心自己的地图网站完全放在兲朝境内。虽然有了墙内完全“和谐版”的地图,但因为其关系与中国政府已经早就闹僵了,所以墙内网站随时有被咔嚓掉、拔网线的可能。所以,不如将这个和谐版的地图在墙外再做一遍。将来即使墙内版完全被干掉,其墙外和谐版还是可以继续使用的。我想这就是这个网址的由来吧。而且,因为是在墙外的,所以,与墙内版毕竟还是有点不同。最大的不同,下面会谈到!

二) 有哪些区别?

以上谈到了三种谷歌地图的不同网址,那么他们在功能上到底有什么区别呢?下面详细探讨一下。

1,地图偏差

首先要说的,就是地图偏差问题。前面说到了,中国政府要求所有国内地图都必须加入人工偏差,不能反映真实的经纬度位置。美国虽然是外国公司,但人家还是守法的嘛。所以,其涉及到的中国大陆的数字化地图,都是按要求加了偏差的。但是不知道为什么,在maps.google.com上,其卫星视图(就是通过卫星、飞机等实际拍摄的照片)是没有加偏差的。你想想,数字地图有偏差的,而卫星视图是没有偏差的,这样就导致,两者是不吻合的。

这一点很容易验证,如图,打开maps.google.com, 普通地图模式,我在上海外滩外白渡桥那里加了个标记。然后切换到卫星视图,可以看到,原来的那个标记,已经向东南偏了几百米,到黄浦江中去了。而其实,卫星视图的位置才是准确的,那个地方,就应该是黄浦江,而不是外白渡桥!

看看截图,对比很明显吧?

我们将相同的操作在ditu.google.cnditu.google.com上重复一遍,就没有问题了。地图和卫星视图是完全一致的,吻合的。这不是因为这两者没有偏差了。恰恰相反,这是因为,这两个版本的地图中,其卫星视图也做了完全一致的偏差处理。这样,负负得正,与普通地图就吻合了。


2,社会化网络功能

说了地图偏差,我们再来看看地图的“社会化”网络功能。我这里用“社会化”网络,不知道翻译是否准确。在英文原文中,一般是称为Social Network,就是指那些网民积极参与,大家都来贡献内容的网络。比如Twitter、Facebook、LinkedIn等等,都是非常有名的Socail Network。但因为显然的原因,这种全民参与、不经老大哥审查的网站,显然在兲朝境内是不和谐行为,所以国内网民是没法直接登录的。

而现在谷歌地图也引入了社会化网络的特性。比如,可以利用自己的帐号登录谷歌地图,在地图上标注地点,添加评论、说明,添加照片甚至视频,进而将这些内容分享给大家。这些功能,在我朝自然是具备严重威胁性的,颠覆性的,所以成了眼中钉,毕欲除之而后快。所以,和谐版的谷歌地图,当然是要把社会化网络功能全部斩掉的。对比这三张截图,大家可以看到,只有maps.google.com上才有照片、网络视频、电影、维基百科等功能。


3,登录和“我的地图”

虽然都是和谐版,但ditu.google.comditu.google.cn还是有点不一样的。最重要的是,因为服务器在墙外,不用担心随时被要求交出帐号密码了,所以,ditu.google.com是可以用自己的Google帐号登录的!这一点就非常有用,因为,登录之后,我们就可以创建、维护自己的内容了。谷歌地图的“我的地图”功能是非常强大、好用的。我们可以创建很多不同的地图,在里面组织各种地理标注信息,地标、区域、路径等等。如果好好利用,那是非常大的便利。

至于ditu.google.cn,因为服务器在墙内,所以,登录功能必然是没有的。有一点是肯定的,凡是服务器在中国境内的Google产品,都是不会有Google帐号登录功能的,谷歌退出中国之前就一直是这样。墙内不靠谱呀,随时可能被“有关部门”勒令交出用户名、密码、各种用户资料等,这Google哪敢奉陪呀?!Google对兲朝政府的不放心,可见一斑。

我上面的后3张截图也可以看出来,在maps.google.comditu.google.com上,我已经用我的Google帐号登录了,上面还有我的G+活动的活动通知。但ditu.goog.cn上相应位置则是一片空白,连个登录入口都没有。

另外,谷歌地图还有个很有用的小工具:测距。而这个功能在ditu.google.cn上是没有的,另两个版本上有。


4,小结

最后,将上面说到的三种谷歌地图网站的差别,简单总结如下。

maps.google.com

ditu.google.com

ditu.google.cn

地图偏差







社会化网络(照片、视频、维基百科等)







Google帐号登录







“我的地图”







测距功能







(绿色背景代表有用的、正面的特性,粉色背景则相反)


最后我给你的建议是这样的:

首选是ditu.google.com。国内访问一般没问题,还可以用自己的帐号登录,维护自己的地图。而且地图和卫星视图没有偏差。

如果国内访问有难度,那么就ditu.google.cn吧,毕竟在境内,访问没问题。但就是阉割版的,缺了不少功能。

如果你羽番土啬方便,又需要社会化功能,那么只能是maps.google.com了,可惜这个版本是有偏差的。

拉里·佩奇(Larry Page)密歇根大学毕业典礼演讲

Lawrence "Larry" Page is an American computer scientist and Internet entrepreneur who, with Sergey Brin, is best known as the co-founder of Google. On April 4, 2011, he took on the role of chief executive officer of Google, replacing Eric Schmidt.(Wikipedia

09级的同学,首先我希望大家站起来,向支持你们的亲朋好友挥手致意!展示你们的爱!
今天来到这里我很荣幸。
请等一下。我知道,刚才那句陈词滥调,大家可能在想:每一位毕业典礼的演讲人都会说——很荣幸,但就我而言,的确字真意深,因为我来到这里,要比你们所知的大多数人都更为特别而亲切。我想告诉大家个中缘由。
很久以前,1962年9月,这座校园里有一家名为史蒂文的消费合作社。该合作社有一间厨房,学生志愿者每十年左右来打扫厨房顶。当年有位名叫格 洛莉亚的女大学生,爬上了高高的梯子,努力打扫肮脏的天花板,地板上站着一位名叫卡尔的寄宿生,他钦佩地看着这位姑娘,这就是他俩的第一次见面。他俩就是 我的父母亲。我想你们会想,我就是厨房“化学实验”的直接成果,就在这里,密歇根大学。我的母亲今天和我们在一起,我们应该去找到他们的相遇之处,并且在 天花板上镶嵌一块铭牌,上刻“感谢爸爸、妈妈!”
今天我们全家都来到了密歇根大学:我、我哥、我父母亲。我父亲在密歇根大学获得了三个半学位,他的博士学位是通信科学,因为他们认为计算机只是 一时热门,他是44年前获得的。他与我母亲为之作出了巨大牺牲。在抚养我刚出生的哥哥时,他俩经常一分钱掰成两半使。母亲用手敲出了父亲的论文,我戴的这 顶天鹅绒帽是我父亲的。这张文凭,和你们即将拿到的一样,是我父亲的。
我的祖父在密歇根弗林特的雪佛兰工厂工作,他是装配线上的一名工人。他曾开车带着他的两个孩子来到这里,并告诉他们:这是你们今后要上的大学。 他的两个孩子都是从密歇根大学毕业的,这就是“美国梦”。他的女儿,贝芙丽,今天也和我们在一起。我的祖母经常扛着一个大铁锤,那时工人们静坐罢工用以保 护自己。当我小的时候的时候,我就用那个大铁锤在地上砸树桩什么的。现在人们不再需要扛着个笨重的大家伙保护自己了,这很好。但今天万一出了状况,反正我 带着它来了。
我父亲后来成为密歇根州立大学的教授,我也是个非常有运气的孩子。教授的生活是非常有弹性的,他有大量的时间培养我,哪里有比在学校培养孩子更好的地方呢?
我想告诉大家的是,我来这里不仅仅是回家看看。我难以表达我来这里的自豪感,与我母亲、我哥哥、我的妻子露西,还有你们大家。我为你们感到骄傲,为你的亲朋好友骄傲,我们都加入了伟大的、大密歇根家庭,我感觉它是我生命的一部分。
我想告诉大家的是,我很清楚你们坐在座椅上,听着一个老家伙废话连篇地做毕业典礼演讲的感受,不要急,我会简短地说。
我有个关于追寻梦想的故事,更准确地说是一个发现梦想成真之路的故事。
你们知道,午夜甜梦中醒来是什么感觉吗?如果床边没有纸笔把梦记下,而第二天一早忘个精光又会怎样吗?
当我23岁的时候,我就做过这么一个梦。我猛地醒来,我想:如果我能把整个互联网下载下来,仅保存着链接......,我抓起一支笔开始写,有 时候从梦中醒来是非常重要的。我花了一个午夜的时间描绘了细节,并确信它将所有作为。不久后,我就告诉我的导师,特里·温诺格拉德(Terry Winograd),要花两周时间下载整个网络,当时他点了点头,其实他完全知道要花更长的时间,但他很睿智,并没有告诉我。年轻人的乐观主义通常不可低 估!令人吃惊的是,我没有想过要打造一个搜索引擎。这一概念甚至没有进入我脑海。但后来,我突然想到了更好的给网页排序的方式,以形成真正的搜索引擎,谷歌就这样诞生了。当有伟大的梦想出现时,抓住它。
我在密歇根大学上学时,老师教导我如何梦想成真。我知道这听起来有些滑稽可笑,但我是从一次名为领导力成长的培训项目中得到了启发。该项目的口 号就是“漠视不可能”。这个项目激励着我追寻一个疯狂的想法:我想在校园内建造一套个人快速运输系统以代替公交。这是这种解决我们交通问题的未来方式。我 直到现在还想着很多有关交通的问题,你不要放任梦想,而要把它当作一种习惯去培育。现在人们花大力气干的很多事情,如做饭、保洁、开车,今后只会占用很少 的时间。也就是说,如果我们“漠视不可能”,就能找到解决方案。
我认为,实现雄心勃勃的梦想更为容易,我知道这听起来是一派胡言。既然没有人能疯狂到做这件事情,你也不可能完成。但最优秀的人就希望挑战。这 就是谷歌所面临的。我们的使命就是组织全球的信息,并且让它到处能接受,并发挥作用。这难道不会让大家兴奋吗?但是我们真的不想启动谷歌,因为谢林和我都 太担心拿不到博士学位。不过我们后来刷爆了三张信用卡,从一辆敞篷货车中买了硬盘,这也是谷歌最早的硬件。如果用一句话总结,如何改变世界,那就是在某种 极度兴奋的事业上发奋努力。
当我做博士的时候,我像做三个方面的项目。感谢我的导师,他对我说,“为什么你不做做网络呢?”他给了我一些非常好的建议,因为即使在1995 年,网络正随着人们和活动的增长而增长。技术和网络能使你变懒。变懒?我的意思是三人组合写的软件就可以让数以百计的人使用并受益,但三个人可以一天接上 百万次电话吗?找到撬起地球的杠杆,你就能变得更懒。
总而言之,我知道这个世界看起来已支离破碎,但这是一个伟大的时代,在你的一生中可以疯狂些,跟随你的好奇心,积极进取。不要放弃你的梦想。世界需要你们。
如果我的父亲能活到今天,我想他最开心的莫过于看到我、露西和我们的孩子在一起。我向他会因为我没能拿到博士学位而恼怒。我的父亲是一位对新事物充满洞悉力和激情的人,如果他活到今天,他一定会有新的想法,如果他今天也能来到这里,将是他一生中最为荣耀的一天之一。
感谢妈妈,感谢露西,感谢你们大家。
English version:
Class of 2009! First I’d like you to stand up, and wave and cheer your supportive family and friends! I’m sure you can find them out there. Show your love!
A long time ago, in this cold September of 1962, there was a Steven’s co-op at this very university. That co-op had a kitchen with a ceiling that had been cleaned by student volunteers probably every decade or so. Picture a college girl named Gloria, climbing up high on a ladder, struggling to clean that filthy ceiling. Standing on the floor, a young boarder named Carl was admiring the view. And that’s how they met. They were my parents, so I suppose you could say I’m a direct result of that kitchen chemistry experiment, right here at Michigan.
Everyone in my family went here to Michigan: my brother, my Mom, my Dad—all of us. My father’s father worked in the Chevy plant in Flint, Michigan. He was an assembly line worker. He drove his two children here to Ann Arbor, and told them: That is where you’re going to college. I know it sounds funny now. Both of his kids actually did graduate from Michigan. That was the American dream.
What I’m trying to tell you, this is WAY more than a homecoming for me. I have a story about following dreams. Or maybe more accurately, it’s a story about finding a path to make those dreams real.
You know what it’s like to wake up in the middle of the night with a vivid dream? And you know how, if you don’t have a pencil and pad by the bed, it will be completely gone by the next morning?
Well, I had one of those dreams when I was 23. When I suddenly woke up, I was thinking: What if we could download the whole web, and just keep the links? And I grabbed a pen and started writing! Sometimes it’s important to wake up and stop dreaming. I spent the middle of that night scribbling out the details and convincing myself it would work. Soon after, I told my advisor, Terry Winograd, it would take a couple of weeks for me to download the web—he nodded knowingly, fully aware it would take much longer but wise enough not to tell me. The optimism of youth is often underrated! Amazingly, at that time, I have no thoughts building a search engine. The idea wasn’t even on the radar. But, much later we happened upon a better way of ranking and we made a really great search engine, and Google was born. When a really great dream shows up, grab it!
When I was here at Michigan, I had actually been taught how to make dreams real! I know it sounds funny, but that is what I learned in a summer camp converted into a training program called Leadershape. Their slogan is to have a “healthy disregard for the impossible”. That program encouraged me to pursue a crazy idea at the time: I wanted to build a personal rapid transit system on campus to replace the buses. I still think a lot about transportation—you never loose a dream, it just incubates as a hobby. Many things people labor hard to do now, like cooking, cleaning, and driving will require much less human time in the future. That is, if we “have a healthy disregard for the impossible” and actually build the solutions.
I think it is often easier to make progress on mega-ambitious dreams. I know that sounds completely nuts. But, since no one else is crazy enough to do it, you’ll have little competition. The best people want to work on the big challenges. That is what happened with Google. Our mission is to organize the world’s information and make it universally accessible and useful. How can that not get you excited? But we almost didn’t start Google, actually, because my co-founder Sergey and I were too worried about dropping out of the Ph.D. program. You are probably on the right track if you feel like a sidewalk worm during a rainstorm! That is about how we felt after we maxed out three credit cards buying hard disks off the back of a truck. That was actually the first hardware for Google. Parents and friends: more credit cards always help. What is the one sentence summary of how you change the world? Always work hard on something uncomfortably exciting!
As a Ph.D. student, I actually had three projects I wanted to work on. Thank goodness my advisor said, “Why don’t you work on the web for a while?” Technology and especially the Internet can really help you be lazy. Lazy? What I mean is a group of three people can write software that then millions can use and enjoy. Can three people answer the phone a million times? Find the leverage in the world, so you can be truly lazy!
Overall, I know it seems like the world is crumbling out there, but it is actually a great time in your life to get a little crazy, follow your curiosity, and be ambitious about it. Don’t give up on your dream. The world needs you all!
So here’s my final story:
On a day like today, you might feel exhilarated—like you’ve just been shot out of a cannon at the circus—and even invincible. Don’t ever forget that incredible feeling. But also: always remember that the moments we have with friends and family, the chances we have to do things that might make a big difference in the world, or even to make a small difference to the ones we love—all those wonderful chances that life gives us, life also takes away. It can happen fast, and a whole lot sooner than you think.
In late March 1996, soon after I had moved to Stanford for grad school, my Dad had difficulty breathing and drove to the hospital. Two months later, he died. I was completely devastated. Many years later, after a startup, after falling in love, and after so many of life’s adventures, I found myself thinking about my Dad.
If my Dad were alive today, the thing I think he would be most happy about is that Lucy and I have a baby 14)in the hopper. If he were here today, well, it would be one of the best days of his life.
Many of us are fortunate enough to be here with family. Some of us have dear friends and family to go home to. Please keep them close and remember: They are what really matters in life.
Thanks, Mom; Thanks, Lucy.

And thank you, all, very much.

Quote Of The Day