美国之旅

忙了好长一段时间,终于可以坐下来喘口气了,打开wordpress登录,确发现https的登录界面已经被墙,看来wordpress好景不长了~~~还好,通过www.wordpress.com网站还是可以登录的,因为没有使用https.

一直以来都很想去美国看看,机会也倒是有,可是由于这样那样的原因,没能实现。前段时间正好有个机会,再加上那边的朋友一再邀请,于是跑了趟。这次比较匆忙,跑了旧金山的Petaluma朋友家,跑了硅谷Santa Clara, Mountain View,又去了Oregon的Hillsbora,一直在赶路~~~

美国给我好的感觉是环境很自然很美,车轮上的国家,人少冷清但安静,人们都很礼貌。也给我留下了一起奇怪的感觉,比如难道美国有很多残疾人吗?到处是残疾人车位,还有美国的GPS实在太老土了,竟然不是手写输入~~~

美国确实是一个自由的国家,自由到什么都需要DIY,比如自己要休整自家的院子(不知道有没有物业一说),汽车加油都要自己动手(我差点把油喷出来)。

下面看图说话~~~

硅谷的街道真是冷清,除了车就没有人,但是环境真的很美,难怪我和美国同事说起周末去公园玩的时候,美国同事都很惊讶,因为在美国到处都是公园~~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

美国开车和中国大部分规则一样,但是有些区别,比如美国的街道上有很多stop的标志,而不是红绿灯,这个时候要求司机停下来,观察四周没人了再走。这个我很不习惯,总有种做贼的感觉。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

车轮上的国家,没办法,我也只好租了车,反正公司报销哈~~~这其实已经是我到了Portland的Hillsboro了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

美国的导航仪实在太土了。。。不支持手写输入,不支持语音输入,只能选择字母,还好美国的所有单词由26个字母组成。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

美国著名的黄颜色校车,红红的stop标志让人感觉到美国人对小孩的权益是如何的重视。相比中国的校车都是小小的面包车,电视经常报道某某校车出事~~

久违的KFC藏在树丛中,西餐中我唯一喜欢的就是KFC,本以为来了美国可以好好吃吃KFC,吃了才发现真的好难吃,面包特别的僵硬,害的我足足饿了好几天。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

位于硅谷MountainView的Computer History Museum, 这也是我们这次做demo的地方~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

辛苦了几天的demo,还算成功,最后临走前,匆匆留了个纪念~~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Intel的Amberglen office,位于乡村一角,景色十分美丽。

 

Intel Jone Farm的会议中心大门~

Android on my beagleboard-xm

Ha, I get android boot on my beagleboard-xm and output to 24 ich screen in 1920 * 1080.

Seems the startup frame buffer is not correct:

It does a big android….too large screen…..

Seems it cost about 5 minutes booting from welcome screen to android desktop. I think it is caused by too slow for booting from MMC directly, I need try put rootfs in usb disk but it requires enable usb hub early.

android_calc

android_setting_menu

google docs 的访问

一、为什么不加密反而能访问?

1、Google Docs经常用来传播非法信息

Google Docs一直是不和谐信息的传播工具,因为它提供了https的访问方式,信息加密传输,第三者无法简单地窃听。Twitter上经常流传着一些使用Google Docs来传播的非法文档。

前段时间网上流传着一份上海某大学的硕士论文,该论文揭示了非法软件FreeGate如何获取最新的代理列表,其中最为重要的一个渠道就是Google Docs,由于GDocs在中国大陆能被正常访问,FreeGate能实时更新DNS和代理列表,从而逃过封锁。FreeGate获取Google Docs里的文件信息同样使用https方式来访问。

2、新型的拦截手段

类似于Google Docs这样的,https无法访问、http方式却可以访问的屏蔽方式以往很少见。之所以采用这样的方式,原因有3:

(1)Google Docs是一个常用的服务,不能完全屏蔽

(2)Google有众多的IP,几乎不能完全屏蔽,如果完全屏蔽,则会影响Google的正常使用

(3)必须要屏蔽Google Docs里的非法信息

这3个原因推动了新的拦截手段的发展。根据猜测,这种手段是这样进行的:当客户端发出加密的DNS解析请求时,DNS监视端一旦发现这个请求是Google Docs的,立即发出一个重置信号。而对于一般的非加密DNS请求,DNS监视端则不工作,剩下的监视工作交由正常的审查系统来进行。

3、新型拦截手段的好处

(1)有效地阻止了Google Docs上非法信息的传播,又能让Google Docs正常使用

(2)较为根本地封杀了FreeGate等非法软件

(3)当用户放弃使用https方式而改用http方式来访问时,信息都是以明文传输,所有内容全部都进入到审查系统审查,非法信息又不能传播。

二、解决方法一:OpenDNS

既然https访问被重置是发生在向DNS发出请求的时候,一个能很容易就想到的解决方案是换一个不会审查DNS请求的DNS。OpenDNS是较为普遍的选择。使用方法很简单,将电脑的DNS设置为:

208.67.222.222

208.67.220.220



如果你需要经常切换不同的DNS,可以使用“8个提高windows效率的免费软件”里介绍的NetSetman来进行DNS切换。

但是,OpenDNS是位于国外的DNS,连接速度有点慢,我们不妨考虑另一种解决方案。

三、解决方法二:自定义hosts

在hosts里添加Google Docs的解析IP直接绕过DNS查询,就能正常使用https的Google Docs了。

hosts文件的位置:

1、windows:C:\Windows\System32\drivers\etc\hosts

2、Linux:/etc/hosts

用记事本打开hosts文件,下面这些内容添加到hosts文件的顶部:

209.85.225.101 docs.google.com

74.125.127.100 writely.google.com

74.125.127.139 spreadsheets.google.com

保存hosts,重启浏览器后,https方式的Google Docs就能正常访问了。

万一Gmail也遭遇到Google Docs的情况怎么办?用同样的方法,在hosts文件里加入Gmail的IP即可,为方便使用,我将提供有https方式的Google服务及其的IP列表如下:

209.85.147.109 pop.gmail.com

209.85.147.109 smtp.gmail.com

66.102.7.19 mail.google.com

209.85.225.101 docs.google.com

209.85.225.102 groups.google.com

74.125.127.139 spreadsheets.google.com

74.125.127.100 services.google.com

74.125.127.100 writely.google.com

74.125.127.100 sites.google.com

209.85.225.104 reader.google.com

74.125.127.101 calendar.google.com 

Core SIP Documents

Core SIP Documents

RFC
Document Title

RFC 2543
SIP: Session Initiation Protocol (obsolete)

RFC 3261
SIP: Session Initiation Protocol

RFC 3262
Reliability of Provisional Responses

RFC 3263
Locating SIP Servers

RFC 3264
An Offer/Answer Model with the Session Description Protocol (SDP)

RFC 3265
SIP-Specific Event Notification

SDP-Related Documents

RFC
Document Title

RFC 2327
Session Description Protocol (SDP) (obsolete: see RFC 4566)

RFC 3266
Support of IPv6 in SDP

RFC 3388
Grouping Media Lines in SDP

RFC 3407
Session Description Protocol (SDP) Simple Capability Declaration

RFC 3556
SDP Bandwidth Modifiers for RTCP Bandwidth

RFC 3605
Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)

RFC 3890
A Transport Independent Bandwidth Modifier

RFC 4091
An Alternative NAT Semantics for SDP

RFC 4145
TCP-Based Media Transport in the SDP

RFC 4566
Session Description Protocol (SDP)

RFC 4567
Key Management Extensions for SDP and RTSP

RFC 4568
SDP Security Descriptions for Media Streams

RFC 4570
SDP Source Filters

RFC 4572
Connection-Oriented Media Transport over TLS in SDP

RFC 4574
SDP Label Attribute

RFC 4756
FEC Grouping Semantics in SDP

RFC 5027
Security Preconditions for SDP

RFC 5432
QoS Mechanism Selection in SDP

RFC 5547
SDP Offer/Answer Mechanism to Enable File Transfer

RFC 5576
Source-Specific Media Attributes in SDP

RTP-Related Documents

RFC
Document Title

RFC 1889
RTP: Transport Protocol for Real-Time Applications (obsolete: see RFC 3550)

RFC 1890
RTP Profile for Audio and Video Conferences with Minimal Control (obsolete: see RFC 3551)

RFC 2198
RTP Payload for Redundant Audio Data

RFC 2733
An RTP Payload Format for Generic Forward Error Correction (obsolete: see RFC 5109)

RFC 2793
RTP Payload for Text Conversation (obsolete: see RFC 4103)

RFC 2833
RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals (obsolete: see RFC 4733)

RFC 2959
Real-Time Transport Protocol Management Information Base

RFC 3389
RTP Payload for Comfort Noise

RFC 3611
RTP Control Protocol Extended Reports (RTCP XR)

RFC 3711
The Secure Real-time Transport Protocol (SRTP)

RFC 4103
RTP Payload for Text Conversation

RFC 4571
Framing RTP and RTCP Packets over Connection-Oriented Transport

RFC 4585
Extended RTP Profile for RTCP-Based Feedback (RTP/AVPF)

RFC 4586
RTP/AVPF: Results of the Timing Rule Simulations

RFC 4588
RTP Retransmission Payload Format

RFC 4771
Integrity Transform Carrying Roll-Over for SRTP

RFC 4733
RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals

RFC 4961
Symmetric RTP / RTP Control Protocol

RFC 3550
RTP: Transport Protocol for Real-Time Applications

RFC 3551
RTP Profile for Audio and Video Conferences with Minimal Control

RFC 5109
RTP Payload Format for Generic Forward Error Correction

RFC 5117
RTP Topologies

RFC 5450
Transmission Time Offsets in RTP Streams

RFC 5506
Support for Reduced-Size RTCP: Opportunities and Consequences

HTTP-Related Documents

RFC
Document Title

RFC 2616
Hypertext Transfer Protocol — HTTP/1.1

RFC 2617
HTTP Authentication: Basic and Digest Access Authentication

RFC 3310
HTTP Digest Authentication Using Authentication and Key Agreement (AKA)

MIME-Related Documents

RFC
Document Title

RFC 1847
Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted

RFC 2045
MIME Part One: Format of Internet Message Bodies

RFC 2046
MIME Part Two: Media Types

RFC 2047
MIME Part Three: Message Header Extensions for Non-ASCII Text

RFC 2048
MIME Part Four: Registration Procedures (obsolete: see RFC 4288 and RFC 4289)

RFC 2633
S/MIME Version 3 Message Specification

RFC 3204
MIME media types for ISUP and QSIG Objects

RFC 3420
Internet Media Type message/sipfrag

RFC 3555
MIME Type Registration of RTP Payload Formats

RFC 4288
Media Type Specifications and Registration Procedures

RFC 4289
Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures

SIP Standards Track Documents (Options, Extensions, etc.)

RFC
Document Title

RFC 2976
The SIP INFO Method

RFC 2848
Extensions for IP Access to Telephone Call Services

RFC 3050
CGI for SIP

RFC 3311
UPDATE Method

RFC 3312
Integration of Resource Management and SIP

RFC 3313
Private SIP Extensions for Media Authorization

RFC 3319
DHCPv6 Options for SIP Servers

RFC 3323
A Privacy Mechanism for SIP

RFC 3324
Short Term Requirements for Network Asserted Identity

RFC 3325
Private Extensions to SIP for Asserted Identity within Trusted Networks

RFC 3326
The Reason Header Field

RFC 3327
Extension Header Field for Registering Non-Adjacent Contacts

RFC 3329
Security Mechanism Agreement

RFC 3361
DHCP-for-IPv4 Option for SIP Servers

RFC 3372
SIP for Telephones (SIP-T): Context and Architectures

RFC 3398
ISUP to SIP Mapping

RFC 3428
SIP Extension for Instant Messaging

RFC 3455
Private Header Extensions for 3GPP

RFC 3515
The Session Initiation Protocol (SIP) Refer Method

RFC 3578
Mapping ISUP Overlapped Signalling to SIP

RFC 3581
Extension to SIP for Symmetric Response Routing

RFC 3608
Extension Header Field for Service Route Discovery During Registration

RFC 3680
SIP Event Package for Registrations

RFC 3840
Indicating User Agent Capabilities in SIP

RFC 3841
Caller Preferences for SIP

RFC 3842
Message Summary and Message Waiting Indication Event Package

RFC 3856
Presence Event Package

RFC 3857
A Watcher Information Event Template-Package

RFC 3891
"Replaces" Header

RFC 3892
Referred-By Mechanism

RFC 3893
SIP Authenticated Identity Body (AIB)

RFC 3911
SIP "Join" Header

RFC 3903
Event State Publication

RFC 3959
Early Session Disposition Type

RFC 3960
Early Media and Ringing Tone Generation

RFC 4028
Session Timers in the Session Initiation Protocol (SIP)

RFC 4235
An INVITE-Initiated Dialog Event Package for SIP

RFC 4244
Extension for Request History Information

RFC 4320
Actions Addressing Identified Issues with the SIP Non-INVITE Transaction

RFC 4411
Extending the SIP Reason Header for Preemption Events

RFC 4412
Communications Resource Priority for SIP

RFC 4474
Enhancements for Authenticated Identity Management in SIP

RFC 4483
A Mechanism for Content Indirection in SIP

RFC 4488
Suppression of SIP REFER Method Implicit Subscription

RFC 4575
SIP Event Package for Conference State

RFC 4662
SIP Event Notification Extension for Resource Lists

RFC 4730
Event Package for KPML

RFC 4780
MIB for SIP

RFC 4904
Representing Trunk Groups in tel/sip URIs

RFC 4916
Connected Identity in SIP

RFC 4967
Dial String Parameter for the SIP URI

RFC 4975
Message Session Relay Protocol (MSRP)

RFC 4976
Relay Extension for MSRP

RFC 5079
Rejecting Anonymous Requests in SIP

RFC 5196
SIP User Agent Capability Extension to Presence Information Data Format (PIDF)

RFC 5263
SIP Extension for Partial Notification of Presence Information

RFC 5264
Publication of Partial Presence Information

RFC 5373
Requesting Answering Modes for SIP

RFC 5478
IANA Registration of new SIP Resource-Priority Namespaces

RFC 5509
IANA Registration Instant Messaging and Presence DNS SRV RRs for SIP

RFC 5552
SIP Interface to VoiceXML Media Services

RFC 5589
SIP Call Control – Transfer

RFC 5627
Obtaining and Using Globally Routable User Agent URIs (GRUUs) in SIP

RFC 5628
Registration Event Package Extension for SIP GRUUs

RFC 5629
A Framework for Application Interaction in SIP

RFC 5630
The Use of the SIPS URI Scheme in SIP

RFC 5631
SIP Session Mobility

RFC 5658
Addressing Record-Route Issues in SIP

SIP Informational RFCs and BCP Documents

RFC
Document Title

RFC 3087
Control of Service Context using SIP Request-URI

RFC 3351
User Requirements for SIP in Support of Speech/Hearing Impaired

RFC 3603
Private SIP Proxy-to-Proxy Extensions for PacketCable Distributed Call Signaling

RFC 3665
SIP Basic Call Flow Examples

RFC 3702
Authentication, Authorization, and Accounting Requirements for SIP

RFC 3824
Using E.164 numbers with SIP

RFC 3968
IANA Registry for SIP Header Field

RFC 3969
IANA Registry for SIP URI

RFC 3976
Interworking SIP and IN Applications

RFC 4117
Transcoding Services Invocation using 3PCC

RFC 4123
SIP-H.323 Interworking Requirements

RFC 4168
SCTP as a transport for SIP

RFC 4189
Requirements for End-to-Middle Security for SIP

RFC 4240
Basic Network Media Services with SIP

RFC 4245
High-Level Requirements for Tightly Coupled SIP Conferencing

RFC 4317
SDP Offer/Answer Examples

RFC 4321
Problems Identified Associated with the SIP Non-INVITE Transaction

RFC 4353
A Framework for Conferencing with SIP

RFC 4354
SIP Event Package and Data Format for Push-to-Talk over Cellular (PoC) Service

RFC 4453
Requirements for Consent-Based Communications in the SIP

RFC 4457
SIP P-User-Database Private-Header (P-Header)

RFC 4458
SIP URIs for Applications such as Voicemail and Interactive Voice Response (IVR)

RFC 4475
SIP Torture Test Messages

RFC 4484
Trait-Based Authorization Requirements for SIP

RFC 4504
SIP Telephony Device Requirements and Configuration

RFC 4538
Request Authorization through Dialog Identification in SIP

RFC 4596
Guidelines for Usage of the SIP Caller Preferences Extension

RFC 4579
SIP Call Control – Conferencing for User Agents

RFC 4964
The P-Answer-State Header Extension to SIP

RFC 5002
SIP P-Profile-Key Private Header (P-Header)

RFC 5009
Private Header (P-Header) Extension to SIP for Authorization of Early Media

RFC 5039
SIP and Spam

RFC 5057
Multiple Dialog Usages in SIP

RFC 5118
SIP Torture Test Messages for IPv6

RFC 5194
Framework for Real-Time Text using SIP

RFC 5411
A Hitchhiker’s Guide to SIP

RFC 5479
Requirements and Analysis of Media Security Management Protocols

RFC 5502
SIP P-Served-User Private-Header (P-Header) for the 3GPP Core Network

SIP-Related Documents

RFC
Document Title

RFC 3219
Telephony Routing over IP (TRIP) (tutorial)

RFC 3320
Signalling Compression

RFC 3321
Signalling Compression – Extended Operations

RFC 3322
Signalling Compression – Requirements and Assumptions

RFC 3486
Compressing the Session Initiation Protocol (SIP)

RFC 3485
SIP and SDP Static Dictionary for Signaling Compression

RFC 5503
Private SIP Proxy-to-Proxy Extensions for Supporting the PacketCable Distributed Call Signaling Architecture (obsolete, see RFC 5503)

RFC 3725
Best Current Practices for 3PCC in SIP

RFC 3764
enumservice registration for SIP Addresses-of-Record

RFC 4077
A Negative Acknowledgement Mechanism for Signaling Compression

RFC 4083
3GPP Release 5 Requirements on SIP

RFC 4092
Using SDP Alternative NAT Semantics in SIP

RFC 4465
Signaling Compression (SigComp) Torture Tests

RFC 4497
Interworking between the SIP and QSIG

RFC 4740
Diameter SIP Application

RFC 5049
Applying Signaling Compression to SIP

RFC 5112
The Presence-Specific Static Dictionary for Signaling Compression

RFC 5115
TRIP attribute for Resource Priority

RFC 5503
Private SIP Proxy-to-Proxy Extensions for Supporting the PacketCable Distributed Call Signaling Architecture

Directory Services Documents

Standard
Document Title

H.350
Directory Services Architecture for Multimedia Conferencing

H.350.4
Directory Services Architecture for SIP

GPL/ BSD/ Apache Licence 2.0/MIT/license 区别『转』

转自:http://www.lffly.com/576.html

GPL()

我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商 业软件公司开发的免费软件了。

GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题, 还可以享受免费的优势。

由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

GPL 的重点在于 OpenSource ,也就是开放原始程序代码。GPL不适用于复制、发布与修改以外的行为;这些行为不在本授权范围内。执行本程序的行为并不受限制,而本程序的输出只有在其 內容构成基于本程序所生的著作(而非只是因为执行本程序所造成)时,始受本授权拘束。至于程序的输出內容是否构成本程序的衍生著作,体用途。因此使用 GPL下的Linux,MySQL并没有任何问题。

其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。

BSD开源协议(original BSD license、、)

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对 商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 BSDLicense 相较于 GPL 的严格,BSD License 就宽松许多了,一样是需要附上 license的宣告文件,却不需要提供原始程序代码,可以只以执行文件或二进制文件(binary form)提供给别人,感觉有点像前面提到的 freeware一样,只是多了个 license,不过比较有趣的是,它还要求将所有程序发展者的版权资料放上去,所以拿到以 BSD License发行的软件可能会遇到一个小状况 -license
占的空间比程序还大- :p 所以,有改变过的 BSD License ,如 FreeBSD 所用的 FreeBSD License ,跟 BSD License 一样,只是少了那些广告条约。

//其他协议———————————————————————————————–

Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:

需要给代码的用户一份Apache Licence
如果你修改了代码,需要再被修改的文件中说明。
在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

MIT(MIT)

MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.

更详细的内容参考:各种许可协议探讨

http://zh.wikibooks.org/wiki/%E5%90%84%E7%A7%8D%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE%E6%8E%A2%E8%AE%A8

轉: Apache License 2.0 (English, 中文)

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,

and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by

the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all

other entities that control, are controlled by, or are under common

control with that entity. For the purposes of this definition,

"control" means (i) the power, direct or indirect, to cause the

direction or management of such entity, whether by contract or

otherwise, or (ii) ownership of fifty percent (50%) or more of the

outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity

exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,

including but not limited to software source code, documentation

source, and configuration files.

"Object" form shall mean any form resulting from mechanical

transformation or translation of a Source form, including but

not limited to compiled object code, generated documentation,

and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or

Object form, made available under the License, as indicated by a

copyright notice that is included in or attached to the work

(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object

form, that is based on (or derived from) the Work and for which the

editorial revisions, annotations, elaborations, or other modifications

represent, as a whole, an original work of authorship. For the purposes

of this License, Derivative Works shall not include works that remain

separable from, or merely link (or bind by name) to the interfaces of,

the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including

the original version of the Work and any modifications or additions

to that Work or Derivative Works thereof, that is intentionally

submitted to Licensor for inclusion in the Work by the copyright owner

or by an individual or Legal Entity authorized to submit on behalf of

the copyright owner. For the purposes of this definition, "submitted"

means any form of electronic, verbal, or written communication sent

to the Licensor or its representatives, including but not limited to

communication on electronic mailing lists, source code control systems,

and issue tracking systems that are managed by, or on behalf of, the

Licensor for the purpose of discussing and improving the Work, but

excluding communication that is conspicuously marked or otherwise

designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity

on behalf of whom a Contribution has been received by Licensor and

subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of

this License, each Contributor hereby grants to You a perpetual,

worldwide, non-exclusive, no-charge, royalty-free, irrevocable

copyright license to reproduce, prepare Derivative Works of,

publicly display, publicly perform, sublicense, and distribute the

Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of

this License, each Contributor hereby grants to You a perpetual,

worldwide, non-exclusive, no-charge, royalty-free, irrevocable

(except as stated in this section) patent license to make, have made,

use, offer to sell, sell, import, and otherwise transfer the Work,

where such license applies only to those patent claims licensable

by such Contributor that are necessarily infringed by their

Contribution(s) alone or by combination of their Contribution(s)

with the Work to which such Contribution(s) was submitted. If You

institute patent litigation against any entity (including a

cross-claim or counterclaim in a lawsuit) alleging that the Work

or a Contribution incorporated within the Work constitutes direct

or contributory patent infringement, then any patent licenses

granted to You under this License for that Work shall terminate

as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the

Work or Derivative Works thereof in any medium, with or without

modifications, and in Source or Object form, provided that You

meet the following conditions:

(a) You must give any other recipients of the Work or

Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices

stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works

that You distribute, all copyright, patent, trademark, and

attribution notices from the Source form of the Work,

excluding those notices that do not pertain to any part of

the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its

distribution, then any Derivative Works that You distribute must

include a readable copy of the attribution notices contained

within such NOTICE file, excluding those notices that do not

pertain to any part of the Derivative Works, in at least one

of the following places: within a NOTICE text file distributed

as part of the Derivative Works; within the Source form or

documentation, if provided along with the Derivative Works; or,

within a display generated by the Derivative Works, if and

wherever such third-party notices normally appear. The contents

of the NOTICE file are for informational purposes only and

do not modify the License. You may add Your own attribution

notices within Derivative Works that You distribute, alongside

or as an addendum to the NOTICE text from the Work, provided

that such additional attribution notices cannot be construed

as modifying the License.

You may add Your own copyright statement to Your modifications and

may provide additional or different license terms and conditions

for use, reproduction, or distribution of Your modifications, or

for any such Derivative Works as a whole, provided Your use,

reproduction, and distribution of the Work otherwise complies with

the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,

any Contribution intentionally submitted for inclusion in the Work

by You to the Licensor shall be under the terms and conditions of

this License, without any additional terms or conditions.

Notwithstanding the above, nothing herein shall supersede or modify

the terms of any separate license agreement you may have executed

with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade

names, trademarks, service marks, or product names of the Licensor,

except as required for reasonable and customary use in describing the

origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or

agreed to in writing, Licensor provides the Work (and each

Contributor provides its Contributions) on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

implied, including, without limitation, any warranties or conditions

of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

PARTICULAR PURPOSE. You are solely responsible for determining the

appropriateness of using or redistributing the Work and assume any

risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,

whether in tort (including negligence), contract, or otherwise,

unless required by applicable law (such as deliberate and grossly

negligent acts) or agreed to in writing, shall any Contributor be

liable to You for damages, including any direct, indirect, special,

incidental, or consequential damages of any character arising as a

result of this License or out of the use or inability to use the

Work (including but not limited to damages for loss of goodwill,

work stoppage, computer failure or malfunction, or any and all

other commercial damages or losses), even if such Contributor

has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing

the Work or Derivative Works thereof, You may choose to offer,

and charge a fee for, acceptance of support, warranty, indemnity,

or other liability obligations and/or rights consistent with this

License. However, in accepting such obligations, You may act only

on Your own behalf and on Your sole responsibility, not on behalf

of any other Contributor, and only if You agree to indemnify,

defend, and hold each Contributor harmless for any liability

incurred by, or claims asserted against, such Contributor by reason

of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following

boilerplate notice, with the fields enclosed by brackets "[]"

replaced with your own identifying information. (Don’t include

the brackets!) The text should be enclosed in the appropriate

comment syntax for the file format. We also recommend that a

file or class name and description of purpose be included on the

same "printed page" as the copyright notice for easier

identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

Apache许可证

2.0版,2004年1月

http://www.apache.org/licenses/

译者:Joe 改动:hbW

使用、重生成及分发的术语和条件:

1.定义

"许可证"是指根据本文档第1到第9部分关于使用、重生成和分发的术语和条件。

"许可证颁发者"是指版权所有者或者由版权所有者批准的授权许可证的实体。

"法律实体"是指实施实体和进行控制的所有其它实体受该实体控制,或者受该实体集中控制。根据此定义,"控制"是指(i)让无论是否签订协议的上述实体,进行指导或管理的直接权利或间接权利,或者(ii)拥有百分之五十(50%)或以上已发行股票的所有者,或者(iii)上述实体的实权所有者。

"用户"(或"用户的")是指行使本许可证所授予权限的个人或法律实体。

"源程序"形式是指对包含但不限制软件源代码、文档源程序和配置文件进行修改的首选形式。

"目标"形式是指对源程序形式进行机械转换或翻译的任何形式,包括但不限于对编译的目标代码,生成的文件以及转换为其它媒体类型。

"作品"是指根据本许可证所制作的源程序形式或目标形式的著作,在著作中包含的或附加的版权通知(在下面附录中提供了一个示例)。

"衍生作品"是指基于作品(或从作品衍生而来)的源程序形式或目标形式的任何作品,以及编辑修订、注释、详细描述或其它修订等构成原创著作作品的整体。根据本许可证,衍生作品不得包括与作品及其衍生作品分离之作品,或仅与作品及其衍生作品的接口相链接(或按名称结合)之作品。

"贡献"是指任何著作作品,包括作品的原始版本和对该作品或衍生作品所做的任何修订或补充,意在提交给许可证颁发者以让版权所有者或代表版权所有者的授权个人或法律实体包含在其作品中。根据此定义,"提交"一词表示发送给许可证颁发者或其代表人,任何电子的、口头的或书面的交流信息形式,包括但不限于在由许可证颁发者或者代表其管理的电子邮件清单、源代码控制系统、以及发布跟踪系统上为讨论和提高作品的交流,但不包括由版权所有者以书面形式明显标注或指定为"非贡献"的交流活动。

"贡献者"是指许可证颁发者和代表从许可证颁发者接受之贡献的并随后包含在作品之贡献中的任何个人或法律实体。

2.版权许可证的授予

根据本许可证的条款,每个贡献者授予用户永久性的、全球性的、非专有性的、免费的、无版权费的、不可撤销的版权许可证以源程序形式或目标形式复制、准备衍生作品、公开显示、公开执行、授予分许可证、以及分发作品和这样的衍生作品。

3.专利许可证的授予

根据本许可证的条款,每个贡献者授予用户永久性的、全球性的、非专有性的、免费的、无版权费的、不可撤销的(除在本部分进行说明)专利许可证对作品进行制作、让人制作、使用、提供销售、销售、进口和其它转让,且这样的许可证仅适用于在所递交作品的贡献中因可由单一的或多个这样的贡献者授予而必须侵犯的申请专利。如果用户对任何实体针对作品或作品中所涉及贡献提出因直接性或贡献性专利侵权而提起专利法律诉讼(包括交互诉讼请求或反索赔),那么根据本许可证,授予用户针对作品的任何专利许可证将在提起上述诉讼之日起终止。

4.重新分发

用户可在任何媒介中复制和分发作品或衍生作品之副本,无论是否修订,还是以源程序形式或目标形式,条件是用户需满足下列条款:

用户必须为作品或衍生作品的任何其他接收者提供本许可证的副本;并且

用户必须让任何修改过的文件附带明显的通知,声明用户已更改文件;并且

用户必须从作品的源程序形式中保留衍生作品源程序形式的用户所分发的所有版权、专利、商标和属性通知,但不包括不属于衍生作品任何部分的类似通知;并且

如果作品将"通知"文本文件包括为其分发作品的一部分,那么用户分发的任何衍生作品中须至少在下列地方之一包括,在这样的通知文件中所包含的属性通知的可读副本,但不包括那些不属于衍生作品任何部分的通知:在作为衍生作品一部分而分发的通知文本文件中;如果与衍生作品一起提供则在源程序形式或文件中;或者通常作为第三方通知出现的时候和地方,在衍生作品中产生的画面中。通知文件的内容仅供信息提供,并未对许可证进行修改。用户可在其分发的衍生作品中在作品的通知文本后或作为附录添加自己的属性通知,条件是附加的属性通知不得构成修改本许可证。

用户可以为自身所做出的修订添加自己的版权声明并可对自身所做出修订内容或为这样的衍生作品作为整体的使用、复制或分发提供附加或不同的条款,条件是用户对作品的使用、复制和分发必须符合本许可证中声明的条款。

5.贡献的提交。

除非用户明确声明,在作品中由用户向许可证颁发者的提交若要包含在贡献中,必须在无任何附加条款下符合本许可证的条款。尽管上面如此规定,执行许可证颁发者有关贡献的条款时,任何情况下均不得替代或修改任何单独许可证协议的条款。

6.商标。本许可证并未授予用户使用许可证颁发者的商号、商标、服务标记或产品名称,除非将这些名称用于合理性和惯例性描述作品起源和复制通知文件的内容时。

7.保证否认条款。除非因适用法律需要或书面同意,许可证颁发者以"按原样"基础提供作品(并且每个贡献者提供其贡献),无任何明示的或暗示的保证或条件,包括但不限于关于所有权、不侵权、商品适销性、或适用性的保证或条件。用户仅对使用或重新分发作品的正确性负责,并需承担根据本许可证行使权限时的任何风险。

8.责任限制条款。在任何情况下并根据任何法律,无论是因侵权(包括过失)或根据合同,还是其它原因,除非根据适用法律需要(例如故意行为和重大过失行为)或经书面同意,即使贡献者事先已被告知发生损害的可能性,任何贡献者不就用户因使用本许可证或不能使用或无法使用作品(包括但不限于商誉损失、停工、计算机失效或故障,或任何商业损坏或损失)而造成的损失,包括直接的、非直接的、特殊的、意外的或间接的字符损坏而负责。

9.接受保证或附加责任。重新分发作品或及其衍生作品时,用户可选择提供或为符合本许可证承担之支持、担保、赔偿或其它职责义务和/或权利而收取费用。但是,在承担上述义务时,用户只可代表用户本身和用户本身责任来执行,无需代表任何其它贡献者,并且用户仅可保证、防护并保持每个贡献者不受任何因此而产生的责任或对因用户自身承担这样的保证或附加责任而对这样的贡献者所提出的索赔。

条款结束

附录:如何向用户作品中应用Apache许可证。

若要向用户作品应用Apache许可证,请附加下列样本通知,将括号"[]"中的字段以用户自身的区分信息来替换(但不包括括号)。文本必须以文件格式适当的注释句法包含在其中。另外建议将文件名或类别名以及目的说明包含在相同的"打印页"上作为版权通知,以更加容易的区分出第三方档案。

版权所有[yyyy][版权所有者的名称]根据2.0版本Apache许可证("许可证")授权;根据本许可证,用户可以不使用此文件。用户可从下列网址获得许可证副本:http://www.apache.org/licenses/LICENSE-2.0除非因适用法律需要或书面同意,根据许可证分发的软件是基于"按原样"基础提供,无任何明示的或暗示的保证或条件。详见根据许可证许可下,特定语言的管辖权限和限制。

注:翻译版本来自hbW的博客

http://blog.myspace.cn/1304477870/Archive/2008/03/08/400490912.aspx

windows 2008 server 远程登录 audio 问题

在我的window2008 server,如果我使用TSclient 进行remote desktop 连接,登录进去发现无声卡设备,真是faint,这个和win7,传统的winxp还真是不一样,于是google.com上搜索半天没什么关联的文章,看来只有自己动手了,最后终于找到祸根,步骤如下:

1,运行-> gpedkt.msc

2,选择计算机配置->管理模板->远程桌面服务->设备和资源重定向->允许音频设备重定向

3,缺省是“未配置”,改成启用。

4,重新remote desktop连接进入windows2008 server,ok了,声卡有了,声音也放出来了,

当然别忘记了,在配置 tsclient客户端的时候也要把音频变成“播放在本地”

网络升级啦~~

– 带宽: 终于下狠心把带宽 从2M ADSL升级到4MADSL,感受了下,下载速度峰值能达到400KB/s,爽啊

– 拓扑结构:

原来的拓扑结构如下:

一共三个路由器:Main router(192.168.1.x), 1st floor’s router(192.168.2.x), 2st floor’s router(192.168.3.x)

我的服务器放在 192.168.1x网段作为DMZ虚拟主机expose给公共网络,机器名是 bluewish.dyndns.org

 

因为2个wireless router用的是NAT而不是静态路由表,所以之间机器不能互相访问很是讨厌,所以改造拓扑将 wireless router 变成了AP如下

 

这下好了,大家都在一个子网了。。。

记得上次和miaobo讨论到,Qos来控制流量,我看了下我的 Main router好像只能直接生硬控制hard code的流量数值,而没有基于优先级的流量控制,很是不爽。都有股想用Ken Server作为路由在window 2008来设置基于策略的流量控制了。。。等改天有心情在搞~~

My Dream 2010: from EFI to Cloud

在我初中的时候,第一次接触计算机是appleII,basic编程曾经让我着迷的几天睡不着觉,当然也让父母很是焦心,那个时候没什么“网瘾”概念,但是有“电脑瘾“或者”小霸王瘾“,我父亲就给我定性这个~~~当然我也由此着迷起电脑游戏,可能这才是主要的,hoho~

由于贪玩,最终进入了东南大学的“制冷与低温”专业,当时接到通知书的时候心都凉了。不过因为曾经的半油篓子的计算机知识,着实让班上的女生崇仰了一把,那种感觉不错。多么天真的年轻时代~~最终如愿在读研究生时进入计算机科学与工程系,当然现在有点后悔~~~要是再给我一次机会我宁可进入金融系,党校啊,当官才是王道~~~不过既然投错胎穿错鞋,就从了吧。

在几年工作中,乱七八糟的学习了很多从底层的BIOS, embedded OS, embedded GUI system, window/linux driver到上层应用比如基于wxPython IDE,J2EE。可谓是面面俱到,虽然有些不是很深入,但作为一个诸多新技术和Google,Intel,Microsoft的旁观者,心里颇有感慨~~~

在过去的五年主要作为一个BIOS工程师研究着EFI技术,在新技术硝烟战火的今天,intel却忙里偷闲的利用EFI一统firmware,于是phonix悄悄的从firmware界消失了~~

在我看来,EFI并不是什么很有创新的“技术”而更多的是一种“商业模式”,如果非要用技术来描述他,那么我想是OO在firmware开发中的运用,使得firmware的kernel和driver也是基于类component的方式,而这些component接口就是EFI的PPI/Protocol.

现在EFI已经被Apple,Microsoft和众多IBV认可并且在win7以后版本和新主板上得到支持了,而我也既然离开了5年的EFI研发,说实话心里真的很舍不得。

下一个目标很明显~~~凑热闹–Cloud,如何走?连我自己都想搬个板凳围观~~

微软果然发飙了,开始抄袭google了

微软提供的这一套基于live的writer, mail, 照相和google的webapp的构思非常相像,但是显得更加的professional. 看来微软是不出手则以,一出手还是很霸气啊