随笔- 23  文章- 0  评论- 8 
2008年2月1日

最近在看这本书,推荐一下

posted @ 2008-07-13 18:33 加菲猫 阅读(16) | 评论 (0)编辑

我的笔记本在办公室需要代理上网,而家里不需要,每次都需要更改配置。

于是写了一个脚本:

function FindProxyForURL(url, host)
{
   //if (!isResolvable("xxx.mycomany.com"))
    // return "DIRECT";

   if (isInNet(myIpAddress(),"192.168.1.0", "255.255.255.0"))
      return "DIRECT";

      return "PROXY 172.19.28.42:8080";
}

假如本地ip地址是 192.168.1.XXX 则是在家直连上网,否则使用公司的代理服务器

保存成文件。

image

在Firefox或者IE配置一下就可以了

image

结果发现firefox判断本地ip地址你那里有问题。找了下资料,原来是 myIpAddress() 函数返回了ipv6格式的地址,配置一下firefox , 在地址栏输入 about:config ,修改 network.dns.disableIPv6 为 ture . 问题解决了!

posted @ 2008-07-07 21:44 加菲猫 阅读(18) | 评论 (0)编辑

大家平常都会记笔记,我也用过不少笔记软件了,写一下感觉(并非评测啊)

  • MyBase

以前用的一直是 MyBase ,感觉比较完美。也是我购买的第一个正版软件,不过也有下面的问题:

1. 代码着色有问题,以前还有个代码加亮插件。现在都找不到了

2. 不同机器的同步只能通过拷贝文件来同步,加上办公室的电脑,我有两台台式机和两台笔记本,同步太麻烦(作者提供B/S的版本,不过还得自己有服务器,而且第一感觉不是很好用)

我现在是使用公文包配合 MyBase在用。麻烦

 

  • Google Notebook

软件不错,通过笔记本, 段落,tag来组织笔记,可以全文搜索,很不错。现在用的很多

问题主要是有点慢,有时候莫名其妙的打不开(GFW?) 而且图片插入很麻烦,几乎不能做

代码着色的功能可以通过live writer 着色,拷贝的方法解决

 

  • EverNote

这个软件是国外有名的软件,现在的版本支持中文也没有问题了。准备拿到帐号就正式用它,希望会一直免费

用了还不错,笔记的使用方法和 google notebook 很像,插入图片等都没有问题

代码着色通过些麻烦的方法也可以做到,live writer 着色,拷贝到 EverNote

最出色的是3.0版本其实后端是一个web service , 就是说这个软件相当于带了客户端的 google notebook! 更换机器也没有问题。而且可以方便的插入图片和手绘!

软件很好很强大,但是问题也很难容忍:

1. 中文搜索,有问题

2. 经常 EverNote.exe 进程挂死,特别是操作系统从休眠中醒来的时候。占CPU100%,而且还杀不掉。只能按Reset重启机器。

而且软件也大了点 >50MB

 

  • WikiPad

采用Wiki的方式来组织笔记,很新颖,虽然用Wiki有段日子,但是作为客户机软件还是用不惯

只能插入互联网上已有的图片,而且假如把代码拷贝进去,代码按照wiki解析,有不少麻烦,可能我还不太会用

 

一个不需要web server的wiki程序,整个程序就是一个 html 页面,每次写了拷贝了就可以带走,适合放在U盘。不过缺点也和WikiPad有些像。而且还没有WikiPad好用

 

  • Zoho

一个在线office,试用了一下功能比 Google Office 还多,想尝鲜的筒子可以看看。

网上的介绍:ZOHO是AdventNet公司开发的一个办公室软件套装,它完全可以被认为是市场上最具竞争力且功能最完全的网络办公套件,绝对是这个领域的佼佼者,比起Google文件可谓有过之而无不及。

个人推荐Zoho的个人Wiki功能,还不错。比一些其他的托管Wiki好用。

不过他的笔记和文档都有些用不惯,而且速度不快,我还是继续用Google吧

 
posted @ 2008-06-09 14:35 加菲猫 阅读(73) | 评论 (1)编辑

  经常碰到一些 CHM 格式的帮助文档出现乱码无法阅读的情况,而且 CHM 文档不像浏览器一样,右键可以选择字符编码,非常不便。究其原因,主要就是 CHM 文档在页面中没有指定合适的字符编码所致。
CHM 的实质是 HTML 文件。一般情况下没有指定字符编码的 CHM 是调用 Internet Explorer 浏览器的字符编码设定来显示 CHM 文件的。
  在注册表 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International 下有 AutoDetect 和 Default_CodePage 2个键名,就是 IE 浏览器字符编码的相关设定键。

  因此,我们在简体中文的操作系统上打开简体中文的 CHM 文档出现乱码时,把 AutoDetect 设置为1就能正常显示;在简体中文的操作系统上打开繁体中文的 CHM 文档出现乱码时,先把 AutoDetect 设置为0,然后把 Default_CodePage 设置为 BIG5 的代码页 950 即可。
  简体中文Windows常用 ANSI 代码页936,在注册表二进制值是 A8 03 00 00;
  繁体中文Windows常用 ANSI 代码页950,在注册表二进制值是 B6 03 00 00;
  拉丁语系Windows常用 ANSI 代码页1252,在注册表二进制值是 E4 04 00 00。

 

上文是转贴自 http://hagengoo.blogspot.com/2007/04/chm.html

一个正常的chm源代码常常是这样:

<HTML>
<HEAD><META http-equiv="Content-Type" content="text/html; charset=gb2312">

有些chm没有 charset 字段,所以就出问题了,比如

我安装的是英文系统

Universal Alphabet (UTF-8) utf-8 65001 E9 FD 00 00

 

附带解决问题的注册表脚本

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International]

"Default_CodePage"=hex:a8,03,00,00

posted @ 2008-06-02 00:08 加菲猫 阅读(72) | 评论 (0)编辑

以下笔记参考多篇资料:

MTBF(Mean Time Before Failure,平均失效间隔时间)是指一个可修复系统失效的平均间隔时间,MTBF越大,这个系统就越可靠。

产品故障少的就是可靠性高,产品的故障总数与寿命单位总数之比叫“故障率”(Failure rate),常用λ表示。例如正在运行中的100只硬碟,一年之内出了2次故障,则每个硬碟的故障率为0.02次/年。当产品的寿命服从指数分布时,其故障率的倒数就叫做平均故障间隔时间(Mean Time Between Failures),简称MTBF。即:

MTBF=1/λ

这个数字是怎么得出来的呢?不同厂商有不同厂商的做法。

WD采用的是多台驱动器同时工作的累计方式,如1000台驱动器同时工作1000个小时,若容许故障率(AFR)定于某规定数值(如0.7%),平均无故障工作时间即为100万小时(1000×1000)。具体到WD Caviar RE2的120万小时平均无故障工作时间,则是在1200台驱动器以100%的负载循环(读/写各占50%)同时工作1000小时、7×24开机的情况下,容许故障率低于0.7%而得到的。1000小时相当于1个多月的时间,是完全可行而不会影响产品的正常生产和上市的。

一年8760小时。120万小时约为137年,并不是说该种硬碟每只均能工作137年不出故障。由MTBF=1/λ可知λ=1/MTBF=1/137年,即该硬碟的平均年故障率约为0.7%,一年内,平均1000只硬碟有7只会出故障。

根据业界一些实际的测量,MTBF的数字是完全靠不住的。厂商的MTBF数据都有其特定的测试环境和条件,而且厂商对于disk error的错误和用户也不一致,常常一个硬盘到了厂商那里检测却报告说没有什么问题。

一般来说,年均故障率可以参考以下的数字:

While drive manufacturers often quote yearly failure rates below 2% [2], user studies have seen rates as high as 6% .

posted @ 2008-05-22 00:04 加菲猫 阅读(30) | 评论 (0)编辑

我是搞streaming server的,最近一直在面试别人。不过周日有公司电话面试了我,虽然因为一些原因我应该不会过去(工资高出大截还是可以考虑的吼吼),不过我觉得面试也是一个检验自己的机会,对于工作而言,在特定的时间需要的知识是比较狭窄的。同行业公司的面试,可以看看自己的知识结构是否有需要加强的地方。

首先都是一些基本的问题,首先是linux下的一些操作,我发现自己虽然经常trace现场和sit的问题,但是某些操作还是不是很熟悉,比如和用户权限的操作,因为大部分时候都是用root,这方面的知识可以说很少。说开去,(他们没有问)对于Linux/Unix的用户权限模型也是一知半解,需要系统的看一遍《UNIX环境高级编程》那本书。

然后网络方面的一些基础知识,我自认为在TCP/IP编程方面还是不错的,也解决过很多的性能和环境问题,一些OPTION参数很了解,一些7层协议比如FTP什么的问题我还答得不错,但是这次面试还是发现了一些问题,比如子网段的地址没有算对,我考这个太基本了。对于组播的地址等也不熟悉,以前看《TCP/IP详解》第一卷,光看TCP的实现了,其他的一些更加基础的东西必须可以记得更牢才行。

他们居然还问了RAID方面的一些东西,不过我们的文件系统是自己做的,说句实话RAID理论很清楚,他问了一些硬件RAID设备的知识,回答是否正确我就不知道了。

然后问了RTSP/RTP协议的一些东西,这些是做streaming的基础,我虽然不做这块,但是看来是需要加强的。

MPEG知识的话,我基本为0,其实手上还是有些不错的资料的,得好好看看,虽然streaming server只需要发发包,编解码的不要太管,但是一些系统层的要知道点。居然还问到 RTP vs TS , 呵呵。

他们还问了一些solaris的问题,太过底层了,没有搞过,这个答不上来也就罢了。

觉得需要加强的地方:

1. 毕竟没有系统的学习过linux/unix编程,虽然掌握了不少的高级技巧,但是某些基本的地方还不够扎实

2. 网络而言,TCP/UDP的编程差不多了,但是一些基本的子网的知识需要加强一下,总之第一卷要看仔细

3. MPEG / RTSP / RTP 需要多知道点,弱项啊

4. 一些高级技术,比如32位系统访问超过4G内存的,我只是知道是LVM(不是卷管理的那个),技术细节还不清楚啊!我也奇怪他们的开发怎么搞的这么杂?
-------------------------
后记:隔了很久没有下文,以为我被刷掉了,虽然开始只是应做猎头的朋友之情去面一下,但是被刷还是难免有些打击自尊心。不过前天又再次电话过来,原来只是流程较慢而已:>
可惜,最近的诱惑太多太大,该公司虽然还算不错,还是拒绝吧

posted @ 2008-03-10 23:50 加菲猫 阅读(56) | 评论 (0)编辑

 

读书笔记: 《Content Networking Fundamentals

在生活的各个方面,需求导致新的创造和发明,网络计算也是一样,它的发展伴随着不断增长的用户需求:更加丰富的内容,更多的带宽,更多的可靠性。要完成这些要求,首先你必须解决以下四个方面:

Scalability and Availability

Bandwidth and Response Times

Customization and Prioritization

Security, Auditing, and Monitoring

Scalability and Availability

Scaling the Application

content networking 可以为应用提供未来增长的可扩展空间,而不需要改变应用工作的方式,只需要微小的改变网络架构。包括以下的服务:

  • Content edge delivery Positioning application content away from the origin server, and in closer proximity to clients, scales the application by offloading requests to the content network. 将内容放在更加接近用户的地方。

  • Enhanced content delivery with IP multicast, stream-splitting, and resource reservation IP multicast and stream-splitting scales the network by avoiding replication of identical flows over the same network link, thus minimizing end-to-end bandwidth consumption of content delivered to a large number of users. Resource reservation scales the application by manipulating network parameters to expedite application traffic delivery.通过组播和流分割技术,避免通过同样的网络连接(?)复制同样的内容,这样最小化了大量用户的端到端的带宽消耗。资源预留可以加快应用的通信传输。

  • Content transformation and prioritization Transformation provides conversion of content within the network without further burdening of origin servers. Prioritization enables custom network delivery of application traffic.

  • Flash crowd protection Protection against sudden, but valid, traffic spikes directed toward an application is important to maintaining service levels to customers. 需要在突发的大流量下维持服务水平。

 

Increasing Application Availability

包括以下部分:

  • Content switching Increases availability by replicating origin server content across numerous identical systems, either within the same data center or across globally distributed data centers. 在多个相同系统复制原始服务器的内容,他们可以在同一个数据中心或者是跨全球的数据中心

  • Session redundancy Session redundancy provides failover from one network device, such as a firewall or load balancer, to an identical device without dropping existing TCP connections. 在网络设备(firewall or LB)失效切换的时候不丢失已有的tcp连接。

  • Router redundancy Protocols, such as Hot Standby Router Protocol (HSRP) and Virtual Router Redundancy Protocol (VRRP), provide router gateway redundancy by having two routers or load balancers share a virtual IP (VIP) and MAC address for clients to use as their default gateway. If either fails, the other will take over within seconds.

  • IP routing redundancy Dynamic IP routing protocols, such as OSPF, EIGRP, and IS-IS, provide availability within a routing domain by maintaining multiple paths to each network in the routing table.

  • Layer 2 switching redundancy Spanning tree and Cisco Etherchannel provides Layer 2 redundancy in a switched environment.

posted @ 2008-02-24 22:08 加菲猫 阅读(79) | 评论 (0)编辑

读书笔记: 《Content Networking Fundamentals

从下面的内容里面,我感觉Content Networking总的概念就是,对于传统的基于包交换的网络,传输层是完全内容无关的,内容的感知是内容产生者的责任,Content Networking 就是对于整个网络层次,都是内容感知(content-awareness)的。

内容网络涵盖了网络处理各方面的元素,从下面的图片,我们可以看到3个层次:

Originator:内容生产者(or an origin server)为clients请求提供内容, 内容可以是live video, 文件下载传输还有动态的静态的数据,交互式多媒体内容。应用包括e-learning, corporate communications, e-commerce, hosting services, and enterprise client/server applications, among many others.

Network infrastructure:这层分发content, 包括一些协议和概念,such as TCP/IP and Ethernet, plus the content networking services and intelligent network services discussed in this book.

Recipient:请求content的client,可以是PC桌面软件不如浏览器,视频播放器等,也可以是TV/PDA/IP Phone等。

图片:Relationship Between Recipient, Network, and Originator Content Network Entities

image

传统的网络是基于包交换的,Originator 和 Recipient 之间互相所知的很少,除了一些name service等信息。基本上,过去的网络设备都是和应用无关的,最近几年,认识到网络增值应用中新的和日益增加的需求,不断加入新的网络软件来实现内容网络技术。满满的,现有的网络设备不断的扩展性的应用协议和智能网应用服务。也产生了新的基于内容的设备。

内容的网络化,可以大致的定义为不仅仅是内容的Originator是内容感知(content-awareness)的,而是网络的3个层面都是内容感知的。其实一般来说,Content Networking是一个有些模糊的概念。

posted @ 2008-02-24 16:43 加菲猫 阅读(36) | 评论 (0)编辑

(一)数据丢失的原因:

  1. 有意或者无意的数据删除,除了定期备份,谁都救不了你
  2. 常规的系统破坏,操作系统数据库的bug都能导致这些问题,数据会慢慢退化,数据备份都不能解决这个问题。
  3. 磁盘驱动器完全失效,RAID的冗余可以保护这种问题
  4. 掉电导致数据一致性问题,从而丢失数据。RAID帮不了你,需要使用日志(Journaling)文件系统或者日志数据服务器来防止丢失数据。
  5. 磁盘驱动器坏块。

磁盘驱动器上缓慢但持久的存储块丢失是造成磁盘驱动器失效的常见形式。导致存储块丢失主要有以下几种因素:
◆ 显微镜下可见的尘埃粘在盘片上;
◆ 磁头敲击盘片时留下的沟痕;
◆ 磁介质在制造时做得太薄;
◆ 与磁头长期接触导致盘片老化等。

随着坏块的积累,数据块就会出错。硬盘驱动器检测到错误块后,会自动从磁盘其它地方找一块新的数据块分配,直到有一天硬盘上的坏块查找表被填满,Linux接近停滞状态,同时log里面有“status=0x51 { DriveReady SeekComplete UnrecoverableError }”信息。尽管这可能是最常见的磁盘出错情况,但几乎没有一个解决方案能处理好这一问题,RAID当然也不能。

此外,硬件故障、电缆连接,甚至环境噪声等问题也会引起数据破坏。

(二)LVM


LVM 是 Logical Volume Manager(逻辑卷管理)的简写,它由 Heinz Mauelshagen 在 Linux 2.4 内
核上实现。
与传统的磁盘与分区相比,LVM 为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在 LVM 管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM 也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如“sales”、“development”)代替物理磁盘名(如 “sda”、“sdb”)来标识存储卷。
1. 为什么使用LVM?
LVM 通常用于装备有大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。
4.1.2.1 小系统使用LVM 的益处
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
1、 不同的分区相对独立,无相互联系,各分区空间很容易利用不平衡,空间不能充分利用。
2、 当一个文件系统或分区已满时,无法对其扩充,只能重新分区、建立文件系统;或把分区中的数据移到另一个更大的分区中;或采用符号连接的方式使用其它分区的空间,非常麻烦。
3、 如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。
当采用 LVM 时,情况有所不同:
1、 硬盘的多个分区由 LVM 统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,硬盘空间被充分利用。
2、 文件系统建立在逻辑卷上,而逻辑卷可在卷组容量范围内根据需要改变大小。
3、 文件系统建立在 LVM 上,可以跨分区,方便使用。

下面是结构图:

image

卷组(VG)   :volume group
LVM 中最高抽象层,由一个或多个物理卷所组成的存储器池。
物理卷(PV) :physical volume
典型的物理卷是硬盘分区,也可以是整个硬盘或已创建的软件 RAID 设备。
逻辑卷(LV)  :logical volume
相当于非 LVM 系统中的分区,它在卷组上建立,是一个标准的块设备,可以在其上建立文件系
统。
物理块(PE) :physical extent
物理卷以大小相等的 “块” 为单位存储,块的大小与卷组中逻辑卷块的大小相同。
逻辑块(LE) :logical extent
逻辑卷以 “块” 为单位存储,在同一卷组中的所有逻辑卷的块大小是相同的。

在建立逻辑卷时,可以选择逻辑块与物理块映射的策略:线性映射, 或者交错模式(条带化,相当于RAID0)

(三)EVMS

下表列出了EVMS 中的常用术语。
扇区 块设备寻址的最低级别,它与在其它管理系统中所看到的标准含义一致。
存储对象 EVMS 中的所有存储结构,它能形成块设备,是一系列规则的扇区。
逻辑磁盘 一系列表现为物理设备的规则的相邻扇区。
磁盘段 一系列存在于逻辑磁盘或其它磁盘段的自然相邻的规则扇区。一个段的普通类推应是一个传统的磁盘分区,如 DOS 或 OS/2。
存储区域 一系列逻辑上相邻的规则扇区(没必要自然连续)。基本映射可以成为逻辑磁盘、段或其它区域。Linux LVM 和 AIX LVM LVs,以及 MD 设备,表现为 EVMS 中的区域。
存储容器 存储对象的集合。存储容器提供从这个集合到容器输出的一系列新存储对象的重映射。一个存储容器的适当类推应是卷组,如: AIX LVM和 Linux LVM 中的卷组。但是,EVMS 容器不限制任何重新映射模式,这与在 LVM 或 AIX 中的卷组的情况一样。重映射是完全随意的。
特征对象 通过对 EVMS 本地特征的使用,将一个或多个磁盘、段、区或者其它性能对象创建为一个逻辑上连续的地址空间。
EVMS 逻辑卷 一个可安装的存储对象。EVMS 卷包括基本对象的末尾处的元数据,并且至少有一个静态名称和静态从号。EVMS 中的任何对象都可以转换为一个 EVMS 卷。
兼容性逻辑卷 一个不包括 EVMS 本地元数据的、可安装的存储对象。许多 EVMS 的插件提供对其它卷管理模式兼容性的支持。由于特指为 “兼容性” 的卷不包括任何 EVMS 本地元数据,则它一定是向后兼容至特殊模式。所有磁盘、段或区可以成为一个兼容性卷。但是,性能对象不能成为兼容性卷,只能成为 EVMS 卷。

目前,EVMS 中有三个特征。

第一个特征是驱动器连接。该插件允许任何数量的对象线性的连接到单个对象中。
第二个特征是不良(存储)块重定位(BBR)。BBR 监控其 I/O 路径并探测写入故障(这可能由受损磁盘导致的)。发生这样的故障时,该请求中的数据保存在一个新的位置。BBR 保留重映射的轨迹,并且在此位置保留改变其路径到新位置的所有附加的 I/O。
第三个特征是快照。快照提供了一种机制,不必使卷处于脱机状态就可立即创建一个卷的 “冻结” 副本。这十分有助于完成运行系统中的备份。所有卷都有快照过程(EVMS 或兼容性),并可以利用其它所有可用的对象作为一个辅助存储器。创建快照之后, “原始” 卷的写入导致该位置的原始内容被复制到快照的储存对象中。所以,保存在快照卷中的 I/O 如同来自于快照创建时的原始卷中。

posted @ 2008-02-01 23:34 加菲猫 阅读(112) | 评论 (0)编辑

因为NetApp的WAFL文件系统使用RAID4的关系,坊间流传RAID4的性能相比RAID5更好,特别是大块的写操作。其实 WAFL使用RAID4是因为更加容易扩充磁盘,因为RAID4专门使用一块磁盘作为校验盘。假如是5块磁盘做RAID5,那么扩充的时候只能再扩5块,而不能是1块-4块。

理论上来讲,RAID4的小块写性能和RAID5有差距,因为单独的校验磁盘是瓶颈。大块的写,它们的性能应该差不多。具体产品的性能和产品本身关系很大,A厂商的Raid4和B厂商的Raid5产品的比较难以说明RAID4/5本身之间的差别。

WAFL文件系统在设计的时候就考虑到RAID的因素,尽量将数据一次写入同一个条带,所以有较好的写性能。

posted @ 2008-02-01 22:01 加菲猫 阅读(30) | 评论 (0)编辑
posted @ 2008-02-01 00:37 加菲猫 阅读(34) | 评论 (0)编辑