<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Code Soil &#187; smalldust</title>
	<atom:link href="http://www.codesoil.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codesoil.net</link>
	<description>A Place to Wirte Down Codes...</description>
	<lastBuildDate>Tue, 06 Apr 2010 16:23:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPhone vs Android: My Experience</title>
		<link>http://www.codesoil.net/2010/04/07/iphone-vs-android-my-experience/</link>
		<comments>http://www.codesoil.net/2010/04/07/iphone-vs-android-my-experience/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 15:41:43 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/?p=151</guid>
		<description><![CDATA[我有机会上个月一直在使用HTC Hero这款Android手机，这个月又买了iPhone 3GS作以比较。虽然iPhone 3GS刚刚用了两天，但是已经有了一个大概了解，在此把心得体会归纳一下，以方便为购买iPhone还是Android而犹豫不决的读者。
 
【注意】

本文所述均为享受手机制造商和通讯服务提供商的正规服务为前提的功能、特性。也就是说，以失去Apple公司售后支持为代价的解锁（Unlock）、越狱（Jailbreak）均不在本文讨论范围之内。
本文仅代表个人观点，文中的好坏评判并非绝对，且有可能有错误之处。
“○”意为有此功能/默认附带此软件，“△”代表部分拥有此功能，“×”代表无此功能/默认无此软件。——均为功能之有无，而非好坏。

预装功能模块大比拼




iPhone 3GS (OS 3.1.3)
Android (HTC Hero)
点评


People (Contact)
○
○
作为电话最基本的电话本功能。两者各有千秋，附带了一些features。但是Android的电话本可以设为和Google互通，并且显示Facebook / Flickr资料，因此Google用户用Android方便些。


SMS/MMS
○
○
手机的基本功能，没啥好说的。感觉都差不多。


E-Mail
○
○
两者都支持Gmail，客户端功能各有千秋。也都支持一般的POP3、Exchange。但是Android对Gmail的支持是超过对其他POP3的。iPhone除了支持Gmail之外，还支持Yahoo/AOL等。


Browser
Safari
Chrome
SmartPhone最最重要的应用（个人认为）。虽说各有长短，但是个人感觉iPhone的操作感较好，页面拖拽、放大缩小更加轻快自然。HTC Hero则在很多复杂的页面操作时稍有迟钝。（我尝试了最新的Android手机——索爱的Xperia和HTC Desire，感觉这不是HTC Hero的硬件性能问题，而是Android的通病）


Camera/Video Camera/Album
○
○
个人感觉iPhone的要好一些。虽然象素较低（300万），但是在暗处的拍照效果也不错。HTC Hero的在室内灯光下简直就是无法使用。


Clock
○
○
两者惊人地相似。


Calculator
○
○
没啥好说的。


Calendar
○
○
两者的日历都是只有基本功能的鸡肋。需要复杂一些的日程管理功能的话，最好用第三方软件。


Stocks
○
○
偶不玩股票，一次都没用过……


Weather
○
○
基本功能相同，但是HTC Hero的Widget真是赞，不用访问App就可以从首页获取信息。


Map (with GPS)
○
○
基本功能相同，iPhone操作感更好一些（个人感觉），HTC与Google结合得更好


Compass
○
×
我一直不解，为什么HTC Hero没有预装磁针功能？


Voice Recorder
○
○
不太用得到的功能，大致相同


Music Player
○
○
平心而论，HTC的播放器也不错，但是iPhone的iPod功能实在是太优秀了。无论是操作性还是音质都是一流，即便是扬声器效果也非常棒。相比之下HTC   Hero的扬声器就只能说是个收音机的喇叭了。


YouTube
○
○
两者都有YouTube，可是不知道为什么我感觉iPhone的YouTube播放反而更流畅呢？


PDF Viewer
×
○
对于我个人来说非常重要的功能，很可惜iPhone不预装，需要自己下载。


Peep (Tweeter Client)
×
○
HTC Hero上虽然预装Tweeter客户端，但是并没有和其他功能互动，因此倒也没什么。


Facebook
×
○
HTC Hero不仅预装Facebook客户端，而且电话本中的联系人都可以和他们的Facebook页面挂钩，非常不错。


Quickoffice
×
○
这个也是非常重要的东西。为啥iPhone不预装呢？


Gtalk
×
○
Android的特有聊天工具。反而iPhone即便是App Store也没有Gtalk可下载，只能作罢。


iTunes
○
×
iPhone特有的直接购买音乐的软件。有了这个就不用跑CD店了。和iPod配套使用。



其他功能




iPhone 3GS (OS 3.1.3)
Android (HTC Hero)
点评


Widget
×
○
查了一下，似乎JB后的iPhone也可以有Widget。没有多彩的Widget，是iPhone的致命伤。


多语言支持
○
△
iPhone的多语言支持非常好友，包括界面切换和输入法。而Android内核虽然是支持多语言的，但是HTC   Hero并没有提供切换界面语言的设置选项，需要另外下载软件才可设置。


多任务
×
○
iPhone不支持多任务，也未必不好。HTC Hero虽然支持多任务，却经常因为按下Home按钮而不是返回键而导致程序在后台运行，占用系统资源导致系统变慢。
但是，在看漫画看到途中的时候，因为要看邮件而临时退出，返回时却不得不把漫画从头再看一遍……


外接扩展存储卡（SD等）
×
○
iPhone的32G也应该足够了


PC上的维护管理软件
iTunes
无
iTunes的确是个优秀的软件。可是这也暴露出iPhone无法进行自我管理的问题，例如固件升级等等必须依靠PC/MAC。Android实现的则是自我管理维护。


蓝牙
○
○
平心而论，iPhone的兼容性更好，操作更简洁


无线网
○
○
平心而论，iPhone更优秀。我在用HTC Android时，每隔几个小时无线网就会断掉一次，且无线网的WPA设置画面操作起来很不顺手。iPhone则可以非常简单自然地设置，且使用中没有任何问题


屏幕抓图
○
×
HTC Hero可以通过第三方软件或是PC来截图，不甚方便。


第三方软件
仅已验证软件(App Store)
已验证软件(Android Market)和未验证软件
这就不说了，那么多朋友越狱出来的原因就是这个啦。App Store上的优秀软件大都是收费的，免费的优秀软件较少。相反，Android Market上的优秀软件大都是免费的。



此外，iPhone封闭了其系统内部的文件、进程等等，从外部无法访问也让人觉得受束缚，压抑。相比之下，Android上的文件管理器、进程管理器和 PC一样无所不能，把手机当作迷你PC来使用的人应该很习惯。
总结
符合如下条件的朋友推荐买正品iPhone：

极其重视用户体验，非常在意操作时的一点点不顺手、不顺心、迟缓
酷爱音乐，希望拥有iPod Touch或Nano一样的功能

同时，符合如下条件的朋友推荐买Android：

极其重视自由，不允许自己的手机受到任何人束缚，想在手机上做和PC相同的事情
Google的粉丝用户

]]></description>
			<content:encoded><![CDATA[<p>我有机会上个月一直在使用HTC Hero这款Android手机，这个月又买了iPhone 3GS作以比较。虽然iPhone 3GS刚刚用了两天，但是已经有了一个大概了解，在此把心得体会归纳一下，以方便为购买iPhone还是Android而犹豫不决的读者。</p>
<p style="text-align: center;"><a href="http://www.codesoil.net/wp-content/uploads/2010/04/IMG_0002.png"><img class="alignnone size-full wp-image-164" title="IMG_0002" src="http://www.codesoil.net/wp-content/uploads/2010/04/IMG_0002.png" alt="" width="320" height="480" /></a><a href="http://www.codesoil.net/wp-content/uploads/2010/04/01.png"> <img class="alignnone size-full wp-image-165" title="01" src="http://www.codesoil.net/wp-content/uploads/2010/04/01.png" alt="" width="320" height="480" /></a></p>
<p>【注意】</p>
<ol>
<li>本文所述均为享受手机制造商和通讯服务提供商的正规服务为前提的功能、特性。也就是说，以失去Apple公司售后支持为代价的解锁（Unlock）、越狱（Jailbreak）均不在本文讨论范围之内。</li>
<li>本文仅代表个人观点，文中的好坏评判并非绝对，且有可能有错误之处。</li>
<li>“○”意为有此功能/默认附带此软件，“△”代表部分拥有此功能，“×”代表无此功能/默认无此软件。——均为功能之有无，而非好坏。</li>
</ol>
<h3>预装功能模块大比拼</h3>
<table border="0" cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr>
<th></th>
<th>iPhone 3GS (OS 3.1.3)</th>
<th>Android (HTC Hero)</th>
<th>点评</th>
</tr>
<tr>
<td>People (Contact)</td>
<td>○</td>
<td>○</td>
<td>作为电话最基本的电话本功能。两者各有千秋，附带了一些features。但是Android的电话本可以设为和Google互通，并且显示Facebook / Flickr资料，因此Google用户用Android方便些。</td>
</tr>
<tr>
<td>SMS/MMS</td>
<td>○</td>
<td>○</td>
<td>手机的基本功能，没啥好说的。感觉都差不多。</td>
</tr>
<tr>
<td>E-Mail</td>
<td>○</td>
<td>○</td>
<td>两者都支持Gmail，客户端功能各有千秋。也都支持一般的POP3、Exchange。但是Android对Gmail的支持是超过对其他POP3的。iPhone除了支持Gmail之外，还支持Yahoo/AOL等。</td>
</tr>
<tr>
<td>Browser</td>
<td>Safari</td>
<td>Chrome</td>
<td class="xl65">SmartPhone最最重要的应用（个人认为）。虽说各有长短，但是个人感觉iPhone的操作感较好，页面拖拽、放大缩小更加轻快自然。HTC Hero则在很多复杂的页面操作时稍有迟钝。（我尝试了最新的Android手机——索爱的Xperia和HTC Desire，感觉这不是HTC Hero的硬件性能问题，而是Android的通病）</td>
</tr>
<tr>
<td>Camera/Video Camera/Album</td>
<td>○</td>
<td>○</td>
<td>个人感觉iPhone的要好一些。虽然象素较低（300万），但是在暗处的拍照效果也不错。HTC Hero的在室内灯光下简直就是无法使用。</td>
</tr>
<tr>
<td>Clock</td>
<td>○</td>
<td>○</td>
<td>两者惊人地相似。</td>
</tr>
<tr>
<td>Calculator</td>
<td>○</td>
<td>○</td>
<td>没啥好说的。</td>
</tr>
<tr>
<td>Calendar</td>
<td>○</td>
<td>○</td>
<td>两者的日历都是只有基本功能的鸡肋。需要复杂一些的日程管理功能的话，最好用第三方软件。</td>
</tr>
<tr>
<td>Stocks</td>
<td>○</td>
<td>○</td>
<td>偶不玩股票，一次都没用过……</td>
</tr>
<tr>
<td>Weather</td>
<td>○</td>
<td>○</td>
<td>基本功能相同，但是HTC Hero的Widget真是赞，不用访问App就可以从首页获取信息。</td>
</tr>
<tr>
<td>Map (with GPS)</td>
<td>○</td>
<td>○</td>
<td>基本功能相同，iPhone操作感更好一些（个人感觉），HTC与Google结合得更好</td>
</tr>
<tr>
<td>Compass</td>
<td>○</td>
<td>×</td>
<td>我一直不解，为什么HTC Hero没有预装磁针功能？</td>
</tr>
<tr>
<td>Voice Recorder</td>
<td>○</td>
<td>○</td>
<td>不太用得到的功能，大致相同</td>
</tr>
<tr>
<td>Music Player</td>
<td>○</td>
<td>○</td>
<td>平心而论，HTC的播放器也不错，但是iPhone的iPod功能实在是太优秀了。无论是操作性还是音质都是一流，即便是扬声器效果也非常棒。相比之下HTC   Hero的扬声器就只能说是个收音机的喇叭了。</td>
</tr>
<tr>
<td>YouTube</td>
<td>○</td>
<td>○</td>
<td>两者都有YouTube，可是不知道为什么我感觉iPhone的YouTube播放反而更流畅呢？</td>
</tr>
<tr>
<td>PDF Viewer</td>
<td>×</td>
<td>○</td>
<td>对于我个人来说非常重要的功能，很可惜iPhone不预装，需要自己下载。</td>
</tr>
<tr>
<td>Peep (Tweeter Client)</td>
<td>×</td>
<td>○</td>
<td>HTC Hero上虽然预装Tweeter客户端，但是并没有和其他功能互动，因此倒也没什么。</td>
</tr>
<tr>
<td>Facebook</td>
<td>×</td>
<td>○</td>
<td>HTC Hero不仅预装Facebook客户端，而且电话本中的联系人都可以和他们的Facebook页面挂钩，非常不错。</td>
</tr>
<tr>
<td>Quickoffice</td>
<td>×</td>
<td>○</td>
<td>这个也是非常重要的东西。为啥iPhone不预装呢？</td>
</tr>
<tr>
<td>Gtalk</td>
<td>×</td>
<td>○</td>
<td>Android的特有聊天工具。反而iPhone即便是App Store也没有Gtalk可下载，只能作罢。</td>
</tr>
<tr>
<td>iTunes</td>
<td>○</td>
<td>×</td>
<td>iPhone特有的直接购买音乐的软件。有了这个就不用跑CD店了。和iPod配套使用。</td>
</tr>
</tbody>
</table>
<h3>其他功能</h3>
<table border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<th></th>
<th>iPhone 3GS (OS 3.1.3)</th>
<th>Android (HTC Hero)</th>
<th>点评</th>
</tr>
<tr>
<td>Widget</td>
<td>×</td>
<td>○</td>
<td>查了一下，似乎JB后的iPhone也可以有Widget。没有多彩的Widget，是iPhone的致命伤。</td>
</tr>
<tr>
<td>多语言支持</td>
<td>○</td>
<td>△</td>
<td>iPhone的多语言支持非常好友，包括界面切换和输入法。而Android内核虽然是支持多语言的，但是HTC   Hero并没有提供切换界面语言的设置选项，需要另外下载软件才可设置。</td>
</tr>
<tr>
<td>多任务</td>
<td>×</td>
<td>○</td>
<td>iPhone不支持多任务，也未必不好。HTC Hero虽然支持多任务，却经常因为按下Home按钮而不是返回键而导致程序在后台运行，占用系统资源导致系统变慢。</p>
<p>但是，在看漫画看到途中的时候，因为要看邮件而临时退出，返回时却不得不把漫画从头再看一遍……</td>
</tr>
<tr>
<td>外接扩展存储卡（SD等）</td>
<td>×</td>
<td>○</td>
<td>iPhone的32G也应该足够了</td>
</tr>
<tr>
<td>PC上的维护管理软件</td>
<td>iTunes</td>
<td>无</td>
<td>iTunes的确是个优秀的软件。可是这也暴露出iPhone无法进行自我管理的问题，例如固件升级等等必须依靠PC/MAC。Android实现的则是自我管理维护。</td>
</tr>
<tr>
<td>蓝牙</td>
<td>○</td>
<td>○</td>
<td>平心而论，iPhone的兼容性更好，操作更简洁</td>
</tr>
<tr>
<td>无线网</td>
<td>○</td>
<td>○</td>
<td>平心而论，iPhone更优秀。我在用HTC Android时，每隔几个小时无线网就会断掉一次，且无线网的WPA设置画面操作起来很不顺手。iPhone则可以非常简单自然地设置，且使用中没有任何问题</td>
</tr>
<tr>
<td>屏幕抓图</td>
<td>○</td>
<td>×</td>
<td>HTC Hero可以通过第三方软件或是PC来截图，不甚方便。</td>
</tr>
<tr>
<td>第三方软件</td>
<td>仅已验证软件(App Store)</td>
<td>已验证软件(Android Market)和未验证软件</td>
<td>这就不说了，那么多朋友越狱出来的原因就是这个啦。App Store上的优秀软件大都是收费的，免费的优秀软件较少。相反，Android Market上的优秀软件大都是免费的。</td>
</tr>
</tbody>
</table>
<p>此外，iPhone封闭了其系统内部的文件、进程等等，从外部无法访问也让人觉得受束缚，压抑。相比之下，Android上的文件管理器、进程管理器和 PC一样无所不能，把手机当作迷你PC来使用的人应该很习惯。</p>
<h3>总结</h3>
<p>符合如下条件的朋友推荐买正品iPhone：</p>
<ol>
<li>极其重视用户体验，非常在意操作时的一点点不顺手、不顺心、迟缓</li>
<li>酷爱音乐，希望拥有iPod Touch或Nano一样的功能</li>
</ol>
<p>同时，符合如下条件的朋友推荐买Android：</p>
<ol>
<li>极其重视自由，不允许自己的手机受到任何人束缚，想在手机上做和PC相同的事情</li>
<li>Google的粉丝用户</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2010/04/07/iphone-vs-android-my-experience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>6 Registry Tricks Used in New PC Setup</title>
		<link>http://www.codesoil.net/2010/02/14/6-registry-tricks-used-in-new-pc-setup/</link>
		<comments>http://www.codesoil.net/2010/02/14/6-registry-tricks-used-in-new-pc-setup/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 17:51:14 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/?p=131</guid>
		<description><![CDATA[过年好！今天久しぶりに重新安装了WinXP（原来的系统实在是太慢了）。下面是估计每次都会用到的几个注册表项目，就当是自己的Memo吧。
1，更改使用者的姓名和组织
HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
RegisteredOwner和 RegisteredOrganization分别是使用者姓名和组织。
2，更改桌面文件夹的位置
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Desktop默认指向“%USERPROFILE%\Desktop”，将其改为你希望的文件夹即可。
3，防止Windows Update在安装完更新包之后自动重启
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
将NoAutoRebootWithLoggedOnUsers改成1即可。但是注意，根据MS的说法，此开关应该从Group Policy Editor中设置，而不是直接更改注册表来设置。
4，删除OEM厂商在Start Menu上强制显示的菜单
很多品牌机在开始菜单的Run下面都会有一个指向自己产品主页的菜单。这个菜单真是毫无用处，用上几年估计也不会点击一次，理应删除或者让位给其他经常使用的程序。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}
这个注册表项下面就是有关它的详细信息。注意要删除菜单时不可将这个注册表项全部删除，而是将其还原成如下的初始状态：

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}]
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
  64,00,6f,00,63,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,00,00
&#8220;ThreadingModel&#8221;=&#8221;Apartment&#8221;
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance]
&#8220;CLSID&#8221;=&#8221;{3f454f0e-42ae-4d7c-8ea3-328250d6e272}&#8221;
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag]
&#8220;CLSID&#8221;=&#8221;{13709620-C279-11CE-A49E-444553540000}&#8221;
&#8220;method&#8221;=&#8221;ShellExecute&#8221;
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex]
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}]
@=&#8221;"
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\MayChangeDefaultMenu]
@=&#8221;"
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\ShellFolder]
&#8220;Attributes&#8221;=dword:00000000

5，自动登入
启用自动登入需要将用户名和密码明文保存于注册表中，千万注意！
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
DefaultUserName及DefaultPassword键分别为用户名和密码。详细信息可参考微软KB。
6，禁用Logon Screenshot（不是必须的）
Logon Screensaver就是用户登录前，在输入用户名和密码的屏幕显示的屏幕保护程序。由于该屏保的Bug，屏保执行时无法进行远程关机、程序关机等。因此在需要远程、自动化操作关机的时候，需要禁用这个屏保。
HKEY_USERS\.DEFAULT\Control Panel\Desktop
将ScreenSaveActive改为0即可。
]]></description>
			<content:encoded><![CDATA[<p>过年好！今天久しぶりに重新安装了WinXP（原来的系统实在是太慢了）。下面是估计每次都会用到的几个注册表项目，就当是自己的Memo吧。</p>
<h5>1，更改使用者的姓名和组织</h5>
<div class="ch_code_container">HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion</div>
<p>RegisteredOwner和 RegisteredOrganization分别是使用者姓名和组织。</p>
<h5>2，更改桌面文件夹的位置</h5>
<div class="ch_code_container">HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders</div>
<p>Desktop默认指向“%USERPROFILE%\Desktop”，将其改为你希望的文件夹即可。</p>
<h5>3，防止Windows Update在安装完更新包之后自动重启</h5>
<div class="ch_code_container">HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU</div>
<p>将NoAutoRebootWithLoggedOnUsers改成1即可。但是注意，根据MS的说法，此开关应该从Group Policy Editor中设置，而不是直接更改注册表来设置。</p>
<h5>4，删除OEM厂商在Start Menu上强制显示的菜单</h5>
<p>很多品牌机在开始菜单的Run下面都会有一个指向自己产品主页的菜单。这个菜单真是毫无用处，用上几年估计也不会点击一次，理应删除或者让位给其他经常使用的程序。</p>
<div class="ch_code_container">HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}</div>
<p>这个注册表项下面就是有关它的详细信息。注意要删除菜单时不可将这个注册表项全部删除，而是将其还原成如下的初始状态：</p>
<div class="ch_code_container">
Windows Registry Editor Version 5.00</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}]</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\InProcServer32]<br />
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\<br />
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\<br />
  64,00,6f,00,63,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,00,00<br />
&#8220;ThreadingModel&#8221;=&#8221;Apartment&#8221;</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance]<br />
&#8220;CLSID&#8221;=&#8221;{3f454f0e-42ae-4d7c-8ea3-328250d6e272}&#8221;</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag]<br />
&#8220;CLSID&#8221;=&#8221;{13709620-C279-11CE-A49E-444553540000}&#8221;<br />
&#8220;method&#8221;=&#8221;ShellExecute&#8221;</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex]</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers]</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}]<br />
@=&#8221;"</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\MayChangeDefaultMenu]<br />
@=&#8221;"</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\ShellFolder]<br />
&#8220;Attributes&#8221;=dword:00000000
</p></div>
<h5>5，自动登入</h5>
<p>启用自动登入需要将用户名和密码明文保存于注册表中，千万注意！</p>
<div class="ch_code_container">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon</div>
<p>DefaultUserName及DefaultPassword键分别为用户名和密码。<a href="http://support.microsoft.com/kb/315231">详细信息可参考微软KB</a>。</p>
<h5>6，禁用Logon Screenshot（不是必须的）</h5>
<p>Logon Screensaver就是用户登录前，在输入用户名和密码的屏幕显示的屏幕保护程序。由于该屏保的Bug，屏保执行时无法进行远程关机、程序关机等。因此在需要远程、自动化操作关机的时候，需要禁用这个屏保。</p>
<div class="ch_code_container">HKEY_USERS\.DEFAULT\Control Panel\Desktop</div>
<p>将ScreenSaveActive改为0即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2010/02/14/6-registry-tricks-used-in-new-pc-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2010 New Trends in Intel Atom CPU</title>
		<link>http://www.codesoil.net/2010/02/08/2010-new-trends-in-intel-atom-cpu/</link>
		<comments>http://www.codesoil.net/2010/02/08/2010-new-trends-in-intel-atom-cpu/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 15:25:02 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Atom]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/?p=116</guid>
		<description><![CDATA[转眼间，Atom已经有两年多的历史了。回想起当时被描述成神话一般的初代Atom CPU和当年EeePC带起的上网本/UMPC热潮，时间过得真快啊。
去年年末，Intel对Atom产品家族做了一番添添改改，增加了很多新的成员，个人觉得很不好理解（尤其是近年来Intel的CPU已经不像当年奔腾2，奔腾3，奔腾4那样，世代越新主频越高就越强），于是就把以前的Atom系列和最新Atom系列放在一起加以总结。
首先，根据CPU是面向何种设备的，可将Atom分成三类：

面向PDA、超小型掌上笔记本等掌上型设备。
无需置疑，由于要嵌入在这种超小型设备中，首先CPU的体积必须要很少。只有13mm x 14mm大小的Atom Z500系列就是此类产品。
面向Netbook，即上网本设备。
此类CPU虽然可以做得比上一类大一些，但是为了提高移动性能，减少功耗，和一般的笔记本电脑比较还是要牺牲很多功能和性能。此类CPU包括2008年的Atom N200系列和最新的Atom N400系列。
面向Nettop，即上网用台式机设备。
由于是在台式机上使用，不用考虑电池的待机时间，因此可以融入双核等技术，并且支持更多的内存。此类CPU包括2008年的Atom 200/300系列和最新的Atom D400/D500系列。

那么今年初新发售的Atom N400系列，Atom D400/D500系列究竟有什么新鲜之处呢？

内置内存控制器，使得所需芯片组减少，性能提高，耗电量也减少。
和普通PC及服务器用CPU的QPI体系结构一样，Atom也将内存控制器集成到了CPU当中，省去了北桥芯片。
例如，以前的Atom N270+Intel 945GSE+ICH7M将变成Atom N450+NM10，所需面积仅为前者的1/4左右！这将使更小巧的笔记本电脑成为可能。

此外，内置内存控制器的体系结构按理说对性能也会有所提高。但是具体提高多少就不得而知了。不过，无论如何Atom本事是面向低端设备的，这一点不会改变。
内置图形芯片。
内置的是相当于GMA950的GPU。GMA950并不是Intel最新的GPU芯片组，而是上一代的产品。它最高支持Direct3D 9，而不支持Direct3D 10，也不支持HDMI输出，因此无法满足高清数码视听的需求。当然，一般的基本图形处理的话还是绰绰有余的。这就保证了新Atom极高的性价比。
仍然不支持DDR3内存，不过据小道消息说有可能下一款CPU就支持DDR3？！
不支持DDR3的主要原因不是别的，仅仅是因为在推出新Atom时，DDR3还是要比DDR2贵。当时正如众所周知，DDR3的价格逐步下降，即将或者是已经低于DDR2了。由于Atom的核心是为DDR3做好了准备的，要推出支持DDR3的产品相当容易。估计不久之后的Atom CPU就会全面转向支持DDR3内存的型号。

]]></description>
			<content:encoded><![CDATA[<p>转眼间，Atom已经有两年多的历史了。回想起当时被描述成神话一般的初代Atom CPU和当年EeePC带起的上网本/UMPC热潮，时间过得真快啊。</p>
<p>去年年末，Intel对Atom产品家族做了一番添添改改，增加了很多新的成员，个人觉得很不好理解（尤其是近年来Intel的CPU已经不像当年奔腾2，奔腾3，奔腾4那样，世代越新主频越高就越强），于是就把以前的Atom系列和最新Atom系列放在一起加以总结。</p>
<p>首先，根据CPU是面向何种设备的，可将Atom分成三类：</p>
<ul>
<li>面向PDA、超小型掌上笔记本等掌上型设备。<br />
无需置疑，由于要嵌入在这种超小型设备中，首先CPU的体积必须要很少。只有13mm x 14mm大小的Atom Z500系列就是此类产品。</li>
<li>面向Netbook，即上网本设备。<br />
此类CPU虽然可以做得比上一类大一些，但是为了提高移动性能，减少功耗，和一般的笔记本电脑比较还是要牺牲很多功能和性能。此类CPU包括2008年的Atom N200系列和最新的Atom N400系列。</li>
<li>面向Nettop，即上网用台式机设备。<br />
由于是在台式机上使用，不用考虑电池的待机时间，因此可以融入双核等技术，并且支持更多的内存。此类CPU包括2008年的Atom 200/300系列和最新的Atom D400/D500系列。</li>
</ul>
<p>那么今年初新发售的Atom N400系列，Atom D400/D500系列究竟有什么新鲜之处呢？</p>
<ol>
<li>内置内存控制器，使得所需芯片组减少，性能提高，耗电量也减少。<br />
和普通PC及服务器用CPU的QPI体系结构一样，Atom也将内存控制器集成到了CPU当中，省去了北桥芯片。<br />
例如，以前的Atom N270+Intel 945GSE+ICH7M将变成Atom N450+NM10，所需面积仅为前者的1/4左右！这将使更小巧的笔记本电脑成为可能。</p>
<div style="text-align: center;"><img class="alignnone size-full wp-image-122" title="n200" src="http://www.codesoil.net/wp-content/uploads/2010/02/n200.gif" alt="" width="235" height="325" /><img class="size-full wp-image-121" title="n400" src="http://www.codesoil.net/wp-content/uploads/2010/02/n400.gif" alt="" width="235" height="332" /></div>
<p>此外，内置内存控制器的体系结构按理说对性能也会有所提高。但是具体提高多少就不得而知了。不过，无论如何Atom本事是面向低端设备的，这一点不会改变。</li>
<li>内置图形芯片。<br />
内置的是相当于GMA950的GPU。GMA950并不是Intel最新的GPU芯片组，而是上一代的产品。它最高支持Direct3D 9，而不支持Direct3D 10，也不支持HDMI输出，因此无法满足高清数码视听的需求。当然，一般的基本图形处理的话还是绰绰有余的。这就保证了新Atom极高的性价比。</li>
<li>仍然不支持DDR3内存，不过据小道消息说有可能下一款CPU就支持DDR3？！<br />
不支持DDR3的主要原因不是别的，仅仅是因为在推出新Atom时，DDR3还是要比DDR2贵。当时正如众所周知，DDR3的价格逐步下降，即将或者是已经低于DDR2了。由于Atom的核心是为DDR3做好了准备的，要推出支持DDR3的产品相当容易。估计不久之后的Atom CPU就会全面转向支持DDR3内存的型号。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2010/02/08/2010-new-trends-in-intel-atom-cpu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Private Tracker Information Blog</title>
		<link>http://www.codesoil.net/2009/05/27/private-tracker-information-blog/</link>
		<comments>http://www.codesoil.net/2009/05/27/private-tracker-information-blog/#comments</comments>
		<pubDate>Tue, 26 May 2009 15:07:20 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[private-tracker]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2009/05/27/private-tracker-information-blog/</guid>
		<description><![CDATA[很多难以入手的资料、内容往往可以从pt（Private Tracker）获取；可是关于pt的信息却是少之又少。下面推荐的这两个Blog就是为数不多的，将pt介绍给世人的信息仓库：
http://filenetworks.blogspot.com/ 
不仅包括pt的介绍，还有一个“Invite Giveaways” 栏目，专门免费发放邀请（多是一些不那么隐蔽的pt）。
http://filesharefreak.com/
比较一般性质的bittorrent Blog，但是其内容大部分涉及pt、Seedbox以及专门讨论/交换邀请的论坛，不可忽视。
PS：不要管我要邀请，我也没有……
]]></description>
			<content:encoded><![CDATA[<p>很多难以入手的资料、内容往往可以从pt（Private Tracker）获取；可是关于pt的信息却是少之又少。下面推荐的这两个Blog就是为数不多的，将pt介绍给世人的信息仓库：</p>
<p><a href="http://filenetworks.blogspot.com/">http://filenetworks.blogspot.com/ </a><br />
不仅包括pt的介绍，还有一个“Invite Giveaways” 栏目，专门免费发放邀请（多是一些不那么隐蔽的pt）。</p>
<p><a href="http://filesharefreak.com/">http://filesharefreak.com/</a><br />
比较一般性质的bittorrent Blog，但是其内容大部分涉及pt、Seedbox以及专门讨论/交换邀请的论坛，不可忽视。</p>
<p>PS：不要管我要邀请，我也没有……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2009/05/27/private-tracker-information-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Inexpensive NAS Server for Small Office</title>
		<link>http://www.codesoil.net/2009/05/24/inexpensive-nas-server-for-small-office/</link>
		<comments>http://www.codesoil.net/2009/05/24/inexpensive-nas-server-for-small-office/#comments</comments>
		<pubDate>Sun, 24 May 2009 08:10:46 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[nas]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2009/05/24/inexpensive-nas-server-for-small-office/</guid>
		<description><![CDATA[从技术角度讲，计算机连接磁盘存储设备的形式有三种：DAS、NAS和SAN。
DAS即直接连接的存储设备，是指磁盘直接通过IDE、SCSI之类的数据总线连接到计算机，存储设备是唯一隶属于该计算机的。USB和eSATA连接的外置硬盘，从这个角度讲也属于DAS。NAS则是存储设备和计算机架构于IP网络之上，可以多台计算机共享存储设备。而SAN，包括常见的Fibre Channel SAN和iSCSI SAN，则是构建了一个存储专用的网络，不仅拥有NAS的可以共享的优点，还有着更高的效率。
言归正传，有一类存储设备，说它们是外接移动硬盘吧，是小看了他们的功能；可是说它们是存储服务器吧，又有点言过其辞了。
这种设备，就是以Buffalo公司的Link Station等产品为代表的“网络硬盘”。
乍一看，形状上似乎很象普通的USB移动硬盘，但是看到设备后面的LAN接口，以及从它比USB硬盘稍高的价格，我们就知道它其实是内置了操作系统的（当然，一般是一个嵌入式Linux，主要是提供Samba），这样才能使连在网络上的其他PC访问其文件，作为“网络硬盘”使用。
Link Station产品是已经内置硬盘的；还有一类产品，只是“网络硬盘盒”，你需要另够一般的SATA硬盘才能使用。这方面的代表作即是“玄箱”了。玄箱于几年前推出，推出当时就立刻博得了极高的人气。其原因在于，玄箱不仅允许你定制内置的硬盘，更重要的是它允许你定制它的OS——一款嵌入式的Linux。这样的设计使得需要电脑高手互相比试起玄箱的用法来。有的人用它来开设FTP，更有人自己设计一些程序脚本等等，来实现更复杂的功能。
下面介绍今天的主角（前面废话太多了，汗一个囧）： Corega公司于前天新推出的超级“硬盘盒”——CG-NSC4501GT。
下面我们就来一一列举出这个价值4.3万日元（约3000人民币）的“硬盘盒”到底有什么功能。

最大内置4块SATA硬盘（这一点就让它不同于一般意义上的“硬盘盒”了）
支持RAID 0/1/5/10/5+Spare ——这完全是企业级的标准啊！现在的主板一般都内置SATA的RAID 0/1功能，但是众所周知要实现RAID 5和RAID 10，是要靠专门的RAID控制器才能做到。今天我们的主角正是内置了Promise公司的RAID控制器。
支持dlna。DLNA是一个东芝制定的数码家电间的通信标准。看来这款产品是定位于高端家庭的。下面的介绍图也似乎证实了这一点（一家人如何利用本产品存储、交换数据的示意图）。

支持Active Directory认证——等等，哪个家庭会用Active Directory？这明明就是给办公室用的嘛！同时支持dlna和AD，让我觉得这款产品有点不伦不类——或许是希望在家庭、公司都能卖得出去？
支持连接USB打印机，作为打印服务器使用。这个有点意思。无论是家庭还是办公室（个人觉得主要还是在办公室使用），只需要一台USB打印机，就可以很多人共享了。再也不用总是开着一台电脑来做打印服务器了。

此外还有很多功能，在这里就省略了。
个人认为，这款产品作为小型办公室用（10人左右） 还是非常不错的。可以用来存储员工们的数据，以及各种企业资料。安全方面，它支持基于用户/组的访问权限设置（这样一般员工就无法偷窥老总的文件夹啦）以及配额，另外支持连接UPS，以免突然停电造成数据丢失。另外，定时的备份功能也非常方便。
]]></description>
			<content:encoded><![CDATA[<p>从技术角度讲，计算机连接磁盘存储设备的形式有三种：DAS、NAS和SAN。</p>
<p>DAS即直接连接的存储设备，是指磁盘直接通过IDE、SCSI之类的数据总线连接到计算机，存储设备是唯一隶属于该计算机的。USB和eSATA连接的外置硬盘，从这个角度讲也属于DAS。NAS则是存储设备和计算机架构于IP网络之上，可以多台计算机共享存储设备。而SAN，包括常见的Fibre Channel SAN和iSCSI SAN，则是构建了一个存储专用的网络，不仅拥有NAS的可以共享的优点，还有着更高的效率。<br />
<img style="float: left; padding-right: 5px" src="/wp-content/uploads/2009/05/linkstation.jpg" />言归正传，有一类存储设备，说它们是外接移动硬盘吧，是小看了他们的功能；可是说它们是存储服务器吧，又有点言过其辞了。</p>
<p>这种设备，就是以Buffalo公司的Link Station等产品为代表的“网络硬盘”。</p>
<p>乍一看，形状上似乎很象普通的USB移动硬盘，但是看到设备后面的LAN接口，以及从它比USB硬盘稍高的价格，我们就知道它其实是内置了操作系统的（当然，一般是一个嵌入式Linux，主要是提供Samba），这样才能使连在网络上的其他PC访问其文件，作为“网络硬盘”使用。</p>
<p>Link Station产品是已经内置硬盘的；还有一类产品，只是“网络硬盘盒”，你需要另够一般的SATA硬盘才能使用。这方面的代表作即是“<a href="http://kuroutoshikou.com/modules/display/?iid=118">玄箱</a>”了。玄箱于几年前推出，推出当时就立刻博得了极高的人气。其原因在于，玄箱不仅允许你定制内置的硬盘，更重要的是它允许你定制它的OS——一款嵌入式的Linux。这样的设计使得需要电脑高手互相比试起玄箱的用法来。有的人用它来开设FTP，更有人自己设计一些程序脚本等等，来实现更复杂的功能。</p>
<p>下面介绍今天的主角（前面废话太多了，汗一个囧）： Corega公司于前天新推出的超级“硬盘盒”——<a href="http://corega.jp/prod/nsc4501gt/">CG-NSC4501GT</a>。</p>
<p>下面我们就来一一列举出这个价值4.3万日元（约3000人民币）的“硬盘盒”到底有什么功能。</p>
<ul>
<li>最大内置4块SATA硬盘（这一点就让它不同于一般意义上的“硬盘盒”了）</li>
<li>支持RAID 0/1/5/10/5+Spare ——这完全是企业级的标准啊！现在的主板一般都内置SATA的RAID 0/1功能，但是众所周知要实现RAID 5和RAID 10，是要靠专门的RAID控制器才能做到。今天我们的主角正是内置了Promise公司的RAID控制器。</li>
<li>支持dlna。DLNA是一个东芝制定的数码家电间的通信标准。看来这款产品是定位于高端家庭的。下面的介绍图也似乎证实了这一点（一家人如何利用本产品存储、交换数据的示意图）。<br />
<img src="/wp-content/uploads/2009/05/minnade.gif" /></li>
<li>支持Active Directory认证——等等，哪个家庭会用Active Directory？这明明就是给办公室用的嘛！同时支持dlna和AD，让我觉得这款产品有点不伦不类——或许是希望在家庭、公司都能卖得出去？</li>
<li>支持连接USB打印机，作为打印服务器使用。这个有点意思。无论是家庭还是办公室（个人觉得主要还是在办公室使用），只需要一台USB打印机，就可以很多人共享了。再也不用总是开着一台电脑来做打印服务器了。</li>
</ul>
<p>此外还有很多功能，在这里就省略了。</p>
<p>个人认为，这款产品作为小型办公室用（10人左右） 还是非常不错的。可以用来存储员工们的数据，以及各种企业资料。安全方面，它支持基于用户/组的访问权限设置（这样一般员工就无法偷窥老总的文件夹啦）以及配额，另外支持连接UPS，以免突然停电造成数据丢失。另外，定时的备份功能也非常方便。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2009/05/24/inexpensive-nas-server-for-small-office/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mystery of DIMMs</title>
		<link>http://www.codesoil.net/2009/05/13/mystery-of-dimms/</link>
		<comments>http://www.codesoil.net/2009/05/13/mystery-of-dimms/#comments</comments>
		<pubDate>Wed, 13 May 2009 07:57:01 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[ddr2]]></category>
		<category><![CDATA[dimm]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2009/05/13/mystery-of-memory/</guid>
		<description><![CDATA[前几天，我有一台服务器需要增设4GB内存。现有的内存是2条512MB的，DDR2-3200，于是我就打电话过去，说要DDR2的内存，一共4G即可。
昨天，新内存终于到了，是两条带着散热片的DDR2-5300。大伙兴冲冲地拆开机器，一安装，发现按不进去。几个哥们傻呵呵的就要用蛮劲，我拦住了他们，仔细看了看之后傻了——这内存根本就装不上我们的机器，因为下面针脚的缺口位置不一样！
我知道DDR和DDR2是不兼容的，所以针脚的缺口位置明显不同，以免用户装错。但是现在，这台机器原来的两条512和这两条新的2GB的缺口仅仅相差4，5个针脚的距离，而且标签上明明写着DDR2-5300——难道标签贴错了？


后来查了一下相关资料，才明白这两条内存的区别：
前者（512MB的）的规格为PC2-3200R-333-12。这个3200R即是Registered之意。
后者（2GB的）的规格为PC2-5300F-555-11-E0。这个5300F即是Full Buffered之意。
原来，FB-DIMM（Full Buffered DIMM）和一般服务器用的Registered DIMM是不通用的。为避免插错，开口（key，也称notch）的位置是不同的。R-DIMM的开口在第64和65针之间，而FB-DIMM的开口则在第68和69针之间，中间正好差着4个针脚呢。
]]></description>
			<content:encoded><![CDATA[<p>前几天，我有一台服务器需要增设4GB内存。现有的内存是2条512MB的，DDR2-3200，于是我就打电话过去，说要DDR2的内存，一共4G即可。</p>
<p>昨天，新内存终于到了，是两条带着散热片的DDR2-5300。大伙兴冲冲地拆开机器，一安装，发现按不进去。几个哥们傻呵呵的就要用蛮劲，我拦住了他们，仔细看了看之后傻了——这内存根本就装不上我们的机器，因为下面针脚的缺口位置不一样！</p>
<p>我知道DDR和DDR2是不兼容的，所以针脚的缺口位置明显不同，以免用户装错。但是现在，这台机器原来的两条512和这两条新的2GB的缺口仅仅相差4，5个针脚的距离，而且标签上明明写着DDR2-5300——难道标签贴错了？</p>
<div style="text-align: center"><img src="/wp-content/uploads/2009/05/HYS72T64000HR-5-A.jpg" /></div>
<div style="text-align: center"><img src="/wp-content/uploads/2009/05/M395T5750CZ4.jpg" /></div>
<p>后来查了一下相关资料，才明白这两条内存的区别：</p>
<p>前者（512MB的）的规格为PC2-3200R-333-12。这个3200R即是Registered之意。</p>
<p>后者（2GB的）的规格为PC2-5300F-555-11-E0。这个5300F即是Full Buffered之意。</p>
<p>原来，FB-DIMM（Full Buffered DIMM）和一般服务器用的Registered DIMM是不通用的。为避免插错，开口（key，也称notch）的位置是不同的。R-DIMM的开口在第64和65针之间，而FB-DIMM的开口则在第68和69针之间，中间正好差着4个针脚呢。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2009/05/13/mystery-of-dimms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>docs.torrents.ro Closed</title>
		<link>http://www.codesoil.net/2009/04/17/docstorrentsro-closed/</link>
		<comments>http://www.codesoil.net/2009/04/17/docstorrentsro-closed/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 14:29:19 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2009/04/17/docstorrentsro-closed/</guid>
		<description><![CDATA[docs.torrents.ro是我很喜欢的e-learning资料的Private Tracker。在那里我经常能找到其他站点没有的资料。
可是，今天当我要登录这个网站时，却突然如晴天霹雳般发现，它已经关闭了——我才几天没去，就突然关闭了？！
搜索了一下，发现了一条非官方的说明。
根据其说明，docs.torrents.ro的关闭并不是来自于法律方面的压力，没有任何人收到著作权等方面的法律威吓。其关闭原因的最大可能性是，由于docs.torrents.ro从来不收取捐助，而且是个人兴趣开设的网站，因此很可能站长没有时间，或者没有财力来继续维持这个网站了。
无论如何，看起来docs.torrents.ro的关闭将是永远的——或者至少也是很长一段时间的。非常遗憾Private Tracker又少了一个。
【补充】docs.torrents.ro在关闭前不久（大概就是2，3月的时候），对于上传下载Ratio采取了一个很有趣的方针：当某个资源的种子数低于一定程度（好像是5个）的时候，该资源就会自动变成Free资源（不计下载流量），以促进大家下载、做种。当种子数回复到5个以上时，又会变成普通资源（要计算下载流量）。这个方法对于没什么人气、或者是较老的资源很有效果。
]]></description>
			<content:encoded><![CDATA[<p>docs.torrents.ro是我很喜欢的e-learning资料的Private Tracker。在那里我经常能找到其他站点没有的资料。</p>
<p>可是，今天当我要登录这个网站时，却突然如晴天霹雳般发现，它已经关闭了——我才几天没去，就突然关闭了？！</p>
<p>搜索了一下，发现了<a href="http://filenetworks.blogspot.com/2009/04/docstorrentsro-shuts-down.html">一条非官方的说明</a>。</p>
<p>根据其说明，docs.torrents.ro的关闭并不是来自于法律方面的压力，没有任何人收到著作权等方面的法律威吓。其关闭原因的最大可能性是，由于docs.torrents.ro从来不收取捐助，而且是个人兴趣开设的网站，因此很可能站长没有时间，或者没有财力来继续维持这个网站了。</p>
<p>无论如何，看起来docs.torrents.ro的关闭将是永远的——或者至少也是很长一段时间的。非常遗憾Private Tracker又少了一个。</p>
<p>【补充】docs.torrents.ro在关闭前不久（大概就是2，3月的时候），对于上传下载Ratio采取了一个很有趣的方针：当某个资源的种子数低于一定程度（好像是5个）的时候，该资源就会自动变成Free资源（不计下载流量），以促进大家下载、做种。当种子数回复到5个以上时，又会变成普通资源（要计算下载流量）。这个方法对于没什么人气、或者是较老的资源很有效果。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2009/04/17/docstorrentsro-closed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why cannot 32bit Windows utilize all the 4GB memory?</title>
		<link>http://www.codesoil.net/2008/10/19/why-cannot-32bit-windows-utilize-all-the-4gb-memory/</link>
		<comments>http://www.codesoil.net/2008/10/19/why-cannot-32bit-windows-utilize-all-the-4gb-memory/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 15:43:43 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/10/19/why-cannot-32bit-windows-utilize-all-the-4gb-memory/</guid>
		<description><![CDATA[最近经常被问：明明电脑上安装了4GB的内存，为什么在32bit的Windows下面只能认出3GB多一点？
对此，稍稍Google一下就会发现有很多说明，大多是说“剩下的不到1GB被系统用掉了” “系统的硬件资源”等等。可是这样解释就会产生一个新的问题：那么为什么物理内存是1GB、2GB的时候不被系统“吃掉” ，4GB的时候系统就要吃掉一部分呢？
其实，上面的解释并不正确。其实，并不是剩下那1GB不到的内存空间被系统用掉了，而是这1GB对应的地址被系统占用了。换句话说，这1GB的空间系统无法访问。那么，这地址究竟被谁占用了呢？答案是MMIO（内存映射I/O），也就是把其他系统硬件映射到内存的地址上来进行的I/O。详细说明在下面的官方页面上也有。
http://support.microsoft.com/kb/929605
要解决这个问题，基本上就是换用64bit OS。——可是说起来容易做起来难，64bit环境的话，很多程序都可能无法运行。在32bit时代，咱们还是3GB万岁吧。
]]></description>
			<content:encoded><![CDATA[<p>最近经常被问：明明电脑上安装了4GB的内存，为什么在32bit的Windows下面只能认出3GB多一点？</p>
<p>对此，稍稍Google一下就会发现有很多说明，大多是说“剩下的不到1GB被系统用掉了” “系统的硬件资源”等等。可是这样解释就会产生一个新的问题：那么为什么物理内存是1GB、2GB的时候不被系统“吃掉” ，4GB的时候系统就要吃掉一部分呢？</p>
<p>其实，上面的解释并不正确。其实，并不是剩下那1GB不到的内存空间被系统用掉了，而是这<span style="text-decoration: underline;font-weight:bold">1GB对应的地址</span>被系统占用了。换句话说，这1GB的空间系统无法访问。那么，这地址究竟被谁占用了呢？答案是MMIO（内存映射I/O），也就是把其他系统硬件映射到内存的地址上来进行的I/O。详细说明在下面的官方页面上也有。</p>
<p><a href="http://support.microsoft.com/kb/929605">http://support.microsoft.com/kb/929605</a></p>
<p>要解决这个问题，基本上就是换用64bit OS。——可是说起来容易做起来难，64bit环境的话，很多程序都可能无法运行。在32bit时代，咱们还是3GB万岁吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/10/19/why-cannot-32bit-windows-utilize-all-the-4gb-memory/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Stop Windows from Searching into My Zip Files</title>
		<link>http://www.codesoil.net/2008/06/28/stop-windows-from-searching-into-my-zip-files/</link>
		<comments>http://www.codesoil.net/2008/06/28/stop-windows-from-searching-into-my-zip-files/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 07:26:41 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/06/28/stop-windows-from-searching-into-my-zip-files/</guid>
		<description><![CDATA[Windows XP的文件查找功能简直弱智得要命——这大概是大多数Windows用户的共同感想。
上一次，我已经禁用了默认的狗狗搜索工具，但是还有一个问题一直困扰我，就是Windows文件查找在搜索文件时，会打开我的Zip压缩文件进行查找。
的确，这可能算是一个体贴用户的功能能，可是我的Zip文件当中经常会有成千上万的文件（这也是打包成Zip的原因之一），而且我要搜索一个文件时，通常是知道它不Zip文件当中的。这样深入Zip文件的搜索就会消耗大部分的时间。
那么如何禁止它呢？Windows并没有提供这样的选项，甚至注册表里也没有。那么看来只好斩草除根——关掉Windows对Zip文件的支持。可以通过下面的命令实现（但是注意，这也使Windows无法打开Zip文件，除非你有其他的解压缩软件Like WinRAR）
regsvr32 /u zipfldr.dll
此外，要禁止Windows深入Cab文件搜索，还可以用下面的命令（但是由于通常CAB文件很少，也就无所谓了）
regsvr32 /u cabview.dll
要重新允许Zip文件（或Cab文件） ，只需用上面的command without &#8220;/u&#8221;。
]]></description>
			<content:encoded><![CDATA[<p>Windows XP的文件查找功能简直弱智得要命——这大概是大多数Windows用户的共同感想。</p>
<p>上一次，我已经<a href="http://www.codesoil.net/2008/04/11/disable-search-companion-in-windows-xp/">禁用了默认的狗狗搜索工具</a>，但是还有一个问题一直困扰我，就是Windows文件查找在搜索文件时，会打开我的Zip压缩文件进行查找。</p>
<p>的确，这可能算是一个体贴用户的功能能，可是我的Zip文件当中经常会有成千上万的文件（这也是打包成Zip的原因之一），而且我要搜索一个文件时，通常是知道它不Zip文件当中的。这样深入Zip文件的搜索就会消耗大部分的时间。</p>
<p>那么如何禁止它呢？Windows并没有提供这样的选项，甚至注册表里也没有。那么看来只好斩草除根——关掉Windows对Zip文件的支持。可以通过下面的命令实现（但是注意，这也使Windows无法打开Zip文件，除非你有其他的解压缩软件Like WinRAR）</p>
<p>regsvr32 /u zipfldr.dll</p>
<p>此外，要禁止Windows深入Cab文件搜索，还可以用下面的命令（但是由于通常CAB文件很少，也就无所谓了）</p>
<p>regsvr32 /u cabview.dll</p>
<p>要重新允许Zip文件（或Cab文件） ，只需用上面的command without &#8220;/u&#8221;。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/06/28/stop-windows-from-searching-into-my-zip-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Japanese Version EeePC</title>
		<link>http://www.codesoil.net/2008/04/28/japanese-version-eeepc/</link>
		<comments>http://www.codesoil.net/2008/04/28/japanese-version-eeepc/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 09:55:43 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Netbook]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/04/28/japanese-version-eeepc/</guid>
		<description><![CDATA[华硕在西方国家以及中国虽然已经推出了多款EeePC，相信人们早已经耳熟能详，但是在日本推出的这一款还是有许多不同的地方。这个周末逛了一下商场，又查了一下资料，这里就做一总结。
一、黑色外装
对于日本版EeePC，我最开始不太感兴趣的原因之一就是，当我从网站上看到它黑乎乎的身躯时，我感觉到的是以前那种方方正正IBM黑盒子的气息——要对不起IBM Fans了，我对于IBM的板砖机身设计实在是不感兴趣；我比较喜欢有光泽的，靓丽的流线型的设计。
但是，当我看到了真正的EeePC黑色版机身时，我发现它比照片上要漂亮多了。当然，据说珍珠白的型号也有，只是我没有见到过。

二、预装Windows XP Home SP2
和在中国发售的产品的不同点是，日本版EeePC预装Windows。尽管如此，其价格还是做到了45K日元左右（约合3千人民币），约为市面上其他低价笔记本的三分之一。
中国版EeePC预装Linux，而日本版EeePC预装Windows XP的原因，大概不是因为中国人爱用Linux，而是因为在日本人们不用盗版（也买不到盗版）的缘故。
并且，日文版的EeePC只支持预装的Windows XP——也就是说，即便想升级为Windows XP Professional或者是想更换系统OS为Linux，都只能“责任自负”。
三、其他
4GB SSD——相比日本其他厂商推出的内置64GB SSD的笔记本，EeePC的确有点“捉襟见肘”；但是其价格也的确在64GB SSD笔记本的八分之一左右。而且可以用SDHC卡作为第二块硬盘使用，4GB对于Windows XP来说也算是凑合够用了。
分辨率——800 x 480的分辨率实在是有点差强人意，和同样大小的工人舍产品（1024 x 600）比起来差一截（当然价钱上也差一截），对于想用EeePC当作高清晰视频播放器的人，可能会有些遗憾。
此外，电池工作时间3.2小时也稍短，摄像头也落后一代（现在都是130万像素，EeePC则为30万），但是对于一个如此便宜的笔记本（或是UMPC?）已经是物超所值了。
]]></description>
			<content:encoded><![CDATA[<p>华硕在西方国家以及中国虽然已经推出了多款EeePC，相信人们早已经耳熟能详，但是在日本推出的这一款还是有许多不同的地方。这个周末逛了一下商场，又查了一下资料，这里就做一总结。</p>
<p>一、黑色外装</p>
<p>对于日本版EeePC，我最开始不太感兴趣的原因之一就是，当我从网站上看到它黑乎乎的身躯时，我感觉到的是以前那种方方正正IBM黑盒子的气息——要对不起IBM Fans了，我对于IBM的板砖机身设计实在是不感兴趣；我比较喜欢有光泽的，靓丽的流线型的设计。</p>
<p>但是，当我看到了真正的EeePC黑色版机身时，我发现它比照片上要漂亮多了。当然，据说珍珠白的型号也有，只是我没有见到过。</p>
<p><img alt="EeePC" id="image86" src="http://www.codesoil.net/wp-content/uploads/2008/04/ph2.jpg" /></p>
<p>二、预装Windows XP Home SP2</p>
<p>和在中国发售的产品的不同点是，日本版EeePC预装Windows。尽管如此，其价格还是做到了45K日元左右（约合3千人民币），约为市面上其他低价笔记本的三分之一。</p>
<p>中国版EeePC预装Linux，而日本版EeePC预装Windows XP的原因，大概不是因为中国人爱用Linux，而是因为在日本人们不用盗版（也买不到盗版）的缘故。</p>
<p>并且，日文版的EeePC只支持预装的Windows XP——也就是说，即便想升级为Windows XP Professional或者是想更换系统OS为Linux，都只能“责任自负”。</p>
<p>三、其他</p>
<p>4GB SSD——相比日本其他厂商推出的内置64GB SSD的笔记本，EeePC的确有点“捉襟见肘”；但是其价格也的确在64GB SSD笔记本的八分之一左右。而且可以用SDHC卡作为第二块硬盘使用，4GB对于Windows XP来说也算是凑合够用了。</p>
<p>分辨率——800 x 480的分辨率实在是有点差强人意，和同样大小的工人舍产品（1024 x 600）比起来差一截（当然价钱上也差一截），对于想用EeePC当作高清晰视频播放器的人，可能会有些遗憾。</p>
<p>此外，电池工作时间3.2小时也稍短，摄像头也落后一代（现在都是130万像素，EeePC则为30万），但是对于一个如此便宜的笔记本（或是UMPC?）已经是物超所值了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/04/28/japanese-version-eeepc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome back, Demonoid.com</title>
		<link>http://www.codesoil.net/2008/04/13/welcome-back-demonoidcom/</link>
		<comments>http://www.codesoil.net/2008/04/13/welcome-back-demonoidcom/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 17:24:20 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/04/13/welcome-back-demonoidcom/</guid>
		<description><![CDATA[After 5 months of closing due to the threaten of CRIA &#8211; an association of record industry in Canada, Demonoid.com, one of the most popular bittorrent tracker and forum, reopened yesterday. The screenshot below shows the blank between April 11, 2008 and November 7, 2007 during which the site was closed.

On the days without Demonoid.com, [...]]]></description>
			<content:encoded><![CDATA[<p>After 5 months of closing due to the threaten of CRIA &#8211; an association of record industry in Canada, Demonoid.com, one of the most popular bittorrent tracker and forum, reopened yesterday. The screenshot below shows the blank between April 11, 2008 and November 7, 2007 during which the site was closed.</p>
<p><img id="image84" style="float: left; padding-right: 5px" alt="Demonoid" src="http://www.codesoil.net/wp-content/uploads/2008/04/demonoid.png" /></p>
<p>On the days without Demonoid.com, I tried thepiratebay.org, mininova.org and some private trackers. However, ebooks, the part which I most interested in is not emphasised on these sites. That was the reason why I always kept visiting the site every time I was connected to the internet.</p>
<p>The registrations are still closed. If you want to get an invitation, please email me. My email address is on the top page.</p>
<p>如果你需要demonoid.com的邀请，请email我。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/04/13/welcome-back-demonoidcom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Product from the King of Pirate?</title>
		<link>http://www.codesoil.net/2008/04/13/new-product-from-the-king-of-pirate/</link>
		<comments>http://www.codesoil.net/2008/04/13/new-product-from-the-king-of-pirate/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 16:08:02 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/04/13/new-product-from-the-king-of-pirate/</guid>
		<description><![CDATA[几个小时前，门户级的IT业界资讯站cnBeta上发布了这样一条消息：小霸王出掌机，高清掌机开始接受预订！
小霸王？一听说这个词汇，我相信很多同龄人都会和我一样心里涌起一种怀旧的情绪。在那个年代，小霸王简直成了任天堂Famicon的代称，甚至可以说比Famicon远远有名。那个时代的中国经济还相对闭锁，对软件的知识产权也完全没有概念，小霸王正是利用了这个契机，从事现在看来违法的行当起了家。
到如今，Famicon的热潮已过多时，在我想来小霸王应该已经借用当年的东风成功起家，然后借用其品牌优势转型开发数码产品——如早期的学习机，现在的电子词典、MP3/4甚至手机……可是好像最近几年的确没怎么听说过小霸王的牌子。现在突然又冒出这么一则新闻，难道是小霸王卧薪尝胆十年，终于决定推出中国独自产权的游戏机了？！
但是，看到了新闻的最后我就一下子心凉了：“支持上千款8位，16位游戏卡” ……原来，只是把当年盗版Famicon的小霸王游戏机做成小型掌机而已！
小霸王，你还要继续吃多久盗版的老底呢？！
网上商城卖的小霸王Z9、Z10掌机，附送220合一的FC游戏卡，连机器带卡才卖180元——的确，这盘游戏卡都是“淘金者”“冒险岛”“魂斗罗”“小蜜蜂”这样的，在国人看起来是“小游戏”的玩意，可是您是否知道在正版市场，这220个游戏中每个游戏都售价200元人民币以上？即便在今天的日本，这些卡带依然售价如此（因为厂商早在十年前就停止了销售，都是二手渠道，多少会有折扣）。
这样算起来，光是这一盘220合一的卡带，如果是正版就要4万元人民币以上。在21世纪的现在，小霸王你抗得住任天堂的官司吗？ 就算任天堂放任不管，吃这Famicon的老底也是没有前景的。就算要盗版，你难道弄不出一个盗版的NDS，一个盗版的PSP吗？
猛然间我发现，其实这正说明了小霸王吃老本的原因所在：在这十几年二十来年中，小霸王不求进取，已经沦落得和中山市那些其他电子小厂一样的无名小卒了。
看看今天的许多IT风险资本，许多&#8221;Web 2.0”如雨后春笋般地崛起，在欣喜的同时也为他们担心：二十年后，他们的名字是会和现在一样显耀，还是只留在人们二十年前的回忆中呢？

]]></description>
			<content:encoded><![CDATA[<p>几个小时前，门户级的IT业界资讯站cnBeta上发布了这样一条消息：<a href="http://www.cnbeta.com/articles/53385.htm">小霸王出掌机，高清掌机开始接受预订</a>！</p>
<p>小霸王？一听说这个词汇，我相信很多同龄人都会和我一样心里涌起一种怀旧的情绪。在那个年代，小霸王简直成了任天堂Famicon的代称，甚至可以说比Famicon远远有名。那个时代的中国经济还相对闭锁，对软件的知识产权也完全没有概念，小霸王正是利用了这个契机，从事现在看来违法的行当起了家。</p>
<p>到如今，Famicon的热潮已过多时，在我想来小霸王应该已经借用当年的东风成功起家，然后借用其品牌优势转型开发数码产品——如早期的学习机，现在的电子词典、MP3/4甚至手机……可是好像最近几年的确没怎么听说过小霸王的牌子。现在突然又冒出这么一则新闻，难道是小霸王卧薪尝胆十年，终于决定推出中国独自产权的游戏机了？！</p>
<p>但是，看到了新闻的最后我就一下子心凉了：“支持上千款8位，16位游戏卡” ……原来，只是把当年盗版Famicon的小霸王游戏机做成小型掌机而已！</p>
<p>小霸王，你还要继续吃多久盗版的老底呢？！</p>
<p>网上商城卖的小霸王Z9、Z10掌机，附送220合一的FC游戏卡，连机器带卡才卖180元——的确，这盘游戏卡都是“淘金者”“冒险岛”“魂斗罗”“小蜜蜂”这样的，在国人看起来是“小游戏”的玩意，可是您是否知道在正版市场，这220个游戏中每个游戏都售价200元人民币以上？即便在今天的日本，这些卡带依然售价如此（因为厂商早在十年前就停止了销售，都是二手渠道，多少会有折扣）。</p>
<p>这样算起来，光是这一盘220合一的卡带，如果是正版就要4万元人民币以上。在21世纪的现在，小霸王你抗得住任天堂的官司吗？ 就算任天堂放任不管，吃这Famicon的老底也是没有前景的。就算要盗版，你难道弄不出一个盗版的NDS，一个盗版的PSP吗？</p>
<p>猛然间我发现，其实这正说明了小霸王吃老本的原因所在：在这十几年二十来年中，小霸王不求进取，已经沦落得和中山市那些其他电子小厂一样的无名小卒了。</p>
<p>看看今天的许多IT风险资本，许多&#8221;Web 2.0”如雨后春笋般地崛起，在欣喜的同时也为他们担心：二十年后，他们的名字是会和现在一样显耀，还是只留在人们二十年前的回忆中呢？</p>
<p align="center"><img alt="小霸王Z9/Z10" id="image83" src="http://www.codesoil.net/wp-content/uploads/2008/04/xiaobawang.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/04/13/new-product-from-the-king-of-pirate/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Glance at New VirtualPCCenter 2.0 of NEC</title>
		<link>http://www.codesoil.net/2008/04/12/a-glance-at-new-virtualpccenter-20-of-nec/</link>
		<comments>http://www.codesoil.net/2008/04/12/a-glance-at-new-virtualpccenter-20-of-nec/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 12:41:32 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[thin-client]]></category>
		<category><![CDATA[vpcc]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/04/12/a-glance-at-new-virtualpccenter-20-of-nec/</guid>
		<description><![CDATA[4月7日，NEC发布了虚拟PC型瘦客户系统VPCC的最新版本——VPCC 2.0。目前该产品只在日本国内出售，预计将来将会向全世界推广。
这次的VPCC 2.0系统中的新产品如下：

虚拟PC服务器采用最新的Express5800/120Rj-2
120Rj-2虚拟PC服务器是安装VMware ESX Server 3.5，并负责管理和执行VM的服务器，自然是采用了极为强悍的系统配置。
CPU为四核Xeon E5405，内存标配18GB，最大可扩展至48GB，本地存储由5块146.5GB的SAS硬盘构成。这样一台服务器，默认搭载10台Windows XP或Vista的虚拟PC，最大可扩展至50台虚拟PC。
入门级瘦客户机US110E
US110E是去年的US110的精简版，价格低廉适合于入门用户。其CPU为ARM926EJ 400MHz，OS为Windows CE 5.0，重量仅为350克
支持双显示器的瘦客户机US300
US300比起US110E要大得多也重得多（1.3Kg），价格也高出一截。其CPU为VIA C7 1GHz，单从主频上看要远远高于US110/US110E，不知道性能会更强劲？此外其OS是Windows XP Embedded SP2 + Feature Pack 2007，应该比Windows CE有着更好的设备兼容性和性能，此外RDP客户端也被升级到了6.0，全面支持Vista的各种效果。
SigmaSystemCenter Software Thinterminal 2.1
这个产品的名字有点长，不过用途倒是很广。这个软件存储于CD-ROM或者USB-ROM中，将其直接连接在一般的PC上启动，就可以使PC成为瘦客户机，而不需要任何其他的操作系统。
由于它的系统需求很低（只需奔腾2 CPU，96MB内存的PC即可），需要已经近乎废弃的旧电脑可以被再次利用，作为瘦客户机发挥余热。

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nec.co.jp/press/ja/0804/0701.html">4月7日</a>，NEC发布了虚拟PC型瘦客户系统VPCC的最新版本——VPCC 2.0。目前该产品只在日本国内出售，预计将来将会向全世界推广。</p>
<p>这次的VPCC 2.0系统中的新产品如下：</p>
<ol>
<li>虚拟PC服务器采用最新的<a href="http://www.nec.co.jp/press/ja/0804/0701-01.html">Express5800/120Rj-2</a><br />
120Rj-2虚拟PC服务器是安装VMware ESX Server 3.5，并负责管理和执行VM的服务器，自然是采用了极为强悍的系统配置。<br />
CPU为四核Xeon E5405，内存标配18GB，最大可扩展至48GB，本地存储由5块146.5GB的SAS硬盘构成。这样一台服务器，默认搭载10台Windows XP或Vista的虚拟PC，最大可扩展至50台虚拟PC。</li>
<li>入门级瘦客户机<a href="http://www.nec.co.jp/press/ja/0804/0701-02.html">US110E</a><br />
US110E是去年的US110的精简版，价格低廉适合于入门用户。其CPU为ARM926EJ 400MHz，OS为Windows CE 5.0，重量仅为350克</li>
<li>支持双显示器的瘦客户机<a href="http://www.nec.co.jp/press/ja/0804/0701-03.html">US300</a><br />
US300比起US110E要大得多也重得多（1.3Kg），价格也高出一截。其CPU为VIA C7 1GHz，单从主频上看要远远高于US110/US110E，不知道性能会更强劲？此外其OS是Windows XP Embedded SP2 + Feature Pack 2007，应该比Windows CE有着更好的设备兼容性和性能，此外RDP客户端也被升级到了6.0，全面支持Vista的各种效果。</li>
<li><a href="http://www.nec.co.jp/pfsoft/sigmasystemcenter/thinterminal/">SigmaSystemCenter Software Thinterminal 2.1</a><br />
这个产品的名字有点长，不过用途倒是很广。这个软件存储于CD-ROM或者USB-ROM中，将其直接连接在一般的PC上启动，就可以使PC成为瘦客户机，而不需要任何其他的操作系统。<br />
由于它的系统需求很低（只需奔腾2 CPU，96MB内存的PC即可），需要已经近乎废弃的旧电脑可以被再次利用，作为瘦客户机发挥余热。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/04/12/a-glance-at-new-virtualpccenter-20-of-nec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Search Companion in Windows XP</title>
		<link>http://www.codesoil.net/2008/04/11/disable-search-companion-in-windows-xp/</link>
		<comments>http://www.codesoil.net/2008/04/11/disable-search-companion-in-windows-xp/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 13:05:13 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/04/11/disable-search-companion-in-windows-xp/</guid>
		<description><![CDATA[Windows XP默认的搜索工具，据说是为了表示亲切友好弄成了一只狗的形象。但是实际上由于其过于傻瓜化的操作，使得高级用户在进行查找时反倒觉得难用。而User Interface上又没有提供简单的傻瓜用户-高级用户切换方式（像控制面向那样），就只能靠更改下面的注册表来达到目的：
HKEY_CURRENT_USER → Software → Microsoft → Windows → CurrentVersion → Explorer → CabinetState
在这里新建如下注册表值：
名字：Use Search Asst
类型：String（字符串）
值：no
之后重新打开一个搜索界面，就会发现搜索界面已经换成了清爽方便的高级搜索模式。
 
]]></description>
			<content:encoded><![CDATA[<p>Windows XP默认的搜索工具，据说是为了表示亲切友好弄成了一只狗的形象。但是实际上由于其过于傻瓜化的操作，使得高级用户在进行查找时反倒觉得难用。而User Interface上又没有提供简单的傻瓜用户-高级用户切换方式（像控制面向那样），就只能靠更改下面的注册表来达到目的：</p>
<p>HKEY_CURRENT_USER → Software → Microsoft → Windows → CurrentVersion → Explorer → CabinetState</p>
<p>在这里新建如下注册表值：</p>
<blockquote><p>名字：Use Search Asst<br />
类型：String（字符串）<br />
值：no</p></blockquote>
<p>之后重新打开一个搜索界面，就会发现搜索界面已经换成了清爽方便的高级搜索模式。</p>
<p align="center"><img alt="Search Companion" id="image80" src="http://www.codesoil.net/wp-content/uploads/2008/04/001.png" /> <img alt="Advanced Search" id="image78" src="http://www.codesoil.net/wp-content/uploads/2008/04/002.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/04/11/disable-search-companion-in-windows-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Run Windows Vista on Your Mobile Phone</title>
		<link>http://www.codesoil.net/2008/04/04/run-windows-vista-on-your-mobile-phone/</link>
		<comments>http://www.codesoil.net/2008/04/04/run-windows-vista-on-your-mobile-phone/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 03:43:45 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Atom]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/04/04/run-windows-vista-on-your-mobile-phone/</guid>
		<description><![CDATA[可曾想过，在你的手机上运行Windows Vista呢？现在这已经不是一个梦想，而是活生生的现实了。
Willcom公司于3月3日宣布，他们正在与Intel，Microsoft和Sharp共同开发一款新的手机。这款新的手机将于6月正式发布，操作系统为Windows Vista。
既然操作系统是Windows Vista，而不是一向用在掌上电脑和手机上的Windows CE，那么说明硬件就是一个完整的x86平台了。这么小的x86平台，是如何实现的呢？
其实，这要完全得益于Intel于今年3月初发布的Intel Centrino Atom Processor Technology，也就是开发代号为“Menlow”的低功耗超微型x86平台。
Atom是一个大小只有25平方毫米的45纳米技术CPU芯片，完全取代了它的前一代Intel A100/A110（90纳米工艺）。其频率为800MHz到1.87GHz，FSB为533MT/s。
不仅是手机，很多UMPC(Ultra Mobile PC)估计也会采用Atom。目前市面的UMPC多采用Intel A100/A110，AMD Geode或者是VIA C7系列。要买UMPC的人估计又要观望一下了。
]]></description>
			<content:encoded><![CDATA[<p><img id="image76" alt="Intel Atom" style="float: left; padding-right: 5px" src="http://www.codesoil.net/wp-content/uploads/2008/04/intel_atom.png" />可曾想过，在你的手机上运行Windows Vista呢？现在这已经不是一个梦想，而是活生生的现实了。</p>
<p><a title="Willcom Vista Mobile Phone" href="http://pc.watch.impress.co.jp/docs/2008/0303/willcom.htm">Willcom公司于3月3日宣布</a>，他们正在与Intel，Microsoft和Sharp共同开发一款新的手机。这款新的手机将于6月正式发布，操作系统为Windows Vista。</p>
<p>既然操作系统是Windows Vista，而不是一向用在掌上电脑和手机上的Windows CE，那么说明硬件就是一个完整的x86平台了。这么小的x86平台，是如何实现的呢？</p>
<p>其实，这要完全得益于Intel于今年3月初发布的<a title="Intel Atom" href="http://en.wikipedia.org/wiki/Intel_Atom">Intel Centrino Atom Processor Technology</a>，也就是开发代号为“Menlow”的低功耗超微型x86平台。</p>
<p>Atom是一个大小只有25平方毫米的45纳米技术CPU芯片，完全取代了它的前一代Intel A100/A110（90纳米工艺）。其频率为800MHz到1.87GHz，FSB为533MT/s。</p>
<p>不仅是手机，很多UMPC(Ultra Mobile PC)估计也会采用Atom。目前市面的UMPC多采用Intel A100/A110，AMD Geode或者是VIA C7系列。要买UMPC的人估计又要观望一下了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/04/04/run-windows-vista-on-your-mobile-phone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Cool Utility &#8211; MSN Messenger History Merger</title>
		<link>http://www.codesoil.net/2008/03/07/a-cool-utility-msn-messenger-history-merger/</link>
		<comments>http://www.codesoil.net/2008/03/07/a-cool-utility-msn-messenger-history-merger/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 05:35:34 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/03/07/a-cool-utility-msn-messenger-history-merger/</guid>
		<description><![CDATA[对于在同时在公司和家里使用MSN Messenger/Windows Live Messenger的人来说，聊天记录的管理就成了一个问题——尤其是聊天记录里面的信息比较重要的时候。
Messenger的聊天记录是以XML形式保存，每条消息使用一个标签记录。理论上讲，只要合并这些标签，再更改一些参数（例如表明会话数的FirstSessionID和LastSessionID属性），就可以将多个聊天记录合并为一个。
但是，这些操作如果一个一个手动来做，是非常耗费时间的。有没有一个工具，能够傻瓜式操作，自动将两个Messenger的聊天记录文件夹合并为一个呢？
微软的开源项目网站CodePlex上就有这么一个开源工具：MSN Messenger History Merger
http://www.codeplex.com/MsnHistoryMerger
该工具就是专用的MSN Messenger的XML聊天记录合并工具。目前的最新版的1.5版。需要注意的是，该工具需要.NET Framework 2.0才能运行。
]]></description>
			<content:encoded><![CDATA[<p>对于在同时在公司和家里使用MSN Messenger/Windows Live Messenger的人来说，聊天记录的管理就成了一个问题——尤其是聊天记录里面的信息比较重要的时候。</p>
<p>Messenger的聊天记录是以XML形式保存，每条消息使用一个标签记录。理论上讲，只要合并这些标签，再更改一些参数（例如表明会话数的FirstSessionID和LastSessionID属性），就可以将多个聊天记录合并为一个。</p>
<p>但是，这些操作如果一个一个手动来做，是非常耗费时间的。有没有一个工具，能够傻瓜式操作，自动将两个Messenger的聊天记录文件夹合并为一个呢？</p>
<p>微软的开源项目网站CodePlex上就有这么一个开源工具：MSN Messenger History Merger</p>
<p><a title="MSN Messenger History Merger" href="http://www.codeplex.com/MsnHistoryMerger">http://www.codeplex.com/MsnHistoryMerger</a></p>
<p>该工具就是专用的MSN Messenger的XML聊天记录合并工具。目前的最新版的1.5版。需要注意的是，该工具需要.NET Framework 2.0才能运行。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/03/07/a-cool-utility-msn-messenger-history-merger/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Install ESX Server 3.5/3i onto ESX Server</title>
		<link>http://www.codesoil.net/2008/01/21/install-esx-server-353i-onto-esx-server/</link>
		<comments>http://www.codesoil.net/2008/01/21/install-esx-server-353i-onto-esx-server/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 03:30:50 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[esx3i]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/01/21/install-esx-server-353i-onto-esx-server/</guid>
		<description><![CDATA[已经有许多文章介绍如何在VMware Workstation上安装ESX Server，而在一台ESX Server上安装ESX Server其实也是大同小异。这里就把安装时的关键步骤记录一下。
# 下面的文章中，将直接安装在硬件的ESX Server称为【Host ESX Server】，将安装在Host ESX Server上的ESX Server称为【Guest ESX Server】
1. 做好Guest ESX Server的设置
就如同安装其他Guest OS一样，通过VI Client或者VirtualCenter连接到Host ESX Server，并创建一台VM。 创建时，OS类型选择“其他”，vCPU为2个，内存为1GB或更多即可。
2. 将网卡类型改为e1000
在创建好VM之后，不要急着安装。
在安装Guest ESX Server时，由于ESX Server无法识别默认的AMD网卡，需要手动编辑.vmx文件，将网卡类型改为ESX Server能够识别的“e1000” 。
登录到Host ESX Server的Service Console，在/vmfs/volumes/下找到创建好的VM的.vmx文件，用vi编辑器在其中加入如下行：
ethernet0.virtualDev = &#8220;e1000&#8243;
这里，ethernet0是第一个虚拟网卡，如果创建VM时设置了多块网卡，需要分别设置。设置好之后，可通过启动VM时的Boot Menu来确认。

默认的网卡类型：AMD Am79C970A

更改后的网卡类型：Intel E1000
3. Host ESX Server硬件的CPU必须支持VT (Virtualization Technology) (如果是AMD CPU，则是AMD-V)
Intel的VT或AMD的AMD-V是在CPU级别提供对虚拟化支持的技术。在ESX Server上安装32位的操作系统，如Windows XP时，打开或关闭VT功能对性能不会造成多大影响，但是在ESX Server上再安装ESX Server时，不使用VT却能让ESX Server虚拟机的启动时间变慢到10倍以上。
（我在不开启VT的情况下，在一台双Xeon CPU，12GB内存的ESX Server 3上安装ESX Server 3i，经过4小时的100%CPU占用率之后我放弃了）
4. 打开VMware的后门
要让ESX 3.5/3i顺利地运行在Host [...]]]></description>
			<content:encoded><![CDATA[<p>已经有许多文章介绍如何在VMware Workstation上安装ESX Server，而在一台ESX Server上安装ESX Server其实也是大同小异。这里就把安装时的关键步骤记录一下。</p>
<p># 下面的文章中，将直接安装在硬件的ESX Server称为【Host ESX Server】，将安装在Host ESX Server上的ESX Server称为【Guest ESX Server】</p>
<p><strong>1. 做好Guest ESX Server的设置</strong></p>
<p>就如同安装其他Guest OS一样，通过VI Client或者VirtualCenter连接到Host ESX Server，并创建一台VM。 创建时，OS类型选择“其他”，vCPU为2个，内存为1GB或更多即可。</p>
<p><strong>2. 将网卡类型改为e1000</strong></p>
<p>在创建好VM之后，不要急着安装。<br />
在安装Guest ESX Server时，由于ESX Server无法识别默认的AMD网卡，需要手动编辑.vmx文件，将网卡类型改为ESX Server能够识别的“e1000” 。</p>
<p>登录到Host ESX Server的Service Console，在/vmfs/volumes/下找到创建好的VM的.vmx文件，用vi编辑器在其中加入如下行：</p>
<div class="ch_code_container" style="font-family: Courier New,monospace">ethernet0.virtualDev = &#8220;e1000&#8243;</div>
<p>这里，ethernet0是第一个虚拟网卡，如果创建VM时设置了多块网卡，需要分别设置。设置好之后，可通过启动VM时的Boot Menu来确认。</p>
<div align="center"><img id="image67" alt="Ethernet" src="http://www.codesoil.net/wp-content/uploads/2008/01/ethernet.png" /><br />
默认的网卡类型：AMD Am79C970A</div>
<p align="center"><img id="image68" alt="e1000" src="http://www.codesoil.net/wp-content/uploads/2008/01/e1000.png" /><br />
更改后的网卡类型：Intel E1000</p>
<p><strong>3. Host ESX Server硬件的CPU必须支持VT (Virtualization Technology) (如果是AMD CPU，则是AMD-V)</strong></p>
<p>Intel的VT或AMD的AMD-V是在CPU级别提供对虚拟化支持的技术。在ESX Server上安装32位的操作系统，如Windows XP时，打开或关闭VT功能对性能不会造成多大影响，但是在ESX Server上再安装ESX Server时，不使用VT却能让ESX Server虚拟机的启动时间变慢到10倍以上。</p>
<p>（我在不开启VT的情况下，在一台双Xeon CPU，12GB内存的ESX Server 3上安装ESX Server 3i，经过4小时的100%CPU占用率之后我放弃了）</p>
<p><strong>4. 打开VMware的后门</strong></p>
<p>要让ESX 3.5/3i顺利地运行在Host ESX Server上，还需要打开VMware的“后门”，否则很有可能会见到VMware中的“紫屏”（可以和Windows中的“蓝屏”媲美）。</p>
<p>要打开这个后门，允许在虚拟机上安装ESX Server，需要在.vmx文件中增加如下两行：</p>
<div class="ch_code_container" style="font-family: Courier New,monospace">monitor_control.vt32 = &#8220;true&#8221;<br />
monitor_control.restrict_backdoor = &#8220;true&#8221;</div>
<p>这个后门不仅避免了“紫屏”等死机、不稳定等问题，更是将启动速度再提高10倍。我在打开VT的情况下启动Guest ESX Server花费了30分钟，在即打开VT，又打开这些后门选项之后，只花费了2分钟。</p>
<p><strong>5. 在Host ESX Server上允许Promiscuous Mode</strong></p>
<p>做好上面的一切之后，你应该就可以顺利安装Guest ESX Server了。可是安装完成启动之后，却发现无法通过VirtualCenter来管理它——甚至连ping Guest ESX Server的Service Console都ping不通！这是为什么呢？</p>
<p>原因在于Host ESX Server上，连接着Guest ESX Server的vSwitch的设置。vSwitch默认是不允许promiscuous mode（允许网卡监听发往其他MAC地址的包的模式）的。但是在Guest ESX Server中，网卡只是一个桥接（bridge）作用，并不直接绑定MAC地址。因此，必须在Host ESX Server中允许promiscuous mode，Host ESX Server才能正确地将包传递给Guest ESX Server的Service Console（3i则是管理用IP）。</p>
<p align="center"><img alt="Promiscuous Mode" id="image69" src="http://www.codesoil.net/wp-content/uploads/2008/01/promiscuous.png" /></p>
<p>到这里，就可以体验ESX 3.5/3i的神奇世界了。</p>
<div align="center"><a class="imagelink" title="ESX Server 3i" href="http://www.codesoil.net/wp-content/uploads/2008/01/009.png"><img id="image70" alt="ESX Server 3i" src="http://www.codesoil.net/wp-content/uploads/2008/01/009.thumbnail.png" /></a> <a title="ESX Server 3i Configuration" class="imagelink" href="http://www.codesoil.net/wp-content/uploads/2008/01/010.png"><img alt="ESX Server 3i Configuration" id="image71" src="http://www.codesoil.net/wp-content/uploads/2008/01/010.thumbnail.png" /> </a><a class="imagelink" title="ESX Server 3.5" href="http://www.codesoil.net/wp-content/uploads/2008/01/n001.png"><img id="image72" alt="ESX Server 3.5" src="http://www.codesoil.net/wp-content/uploads/2008/01/n001.thumbnail.png" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/01/21/install-esx-server-353i-onto-esx-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Determine the Availability of Intel VT from ESX Server</title>
		<link>http://www.codesoil.net/2008/01/10/how-to-determine-the-availability-of-intel-vt-from-esx-server/</link>
		<comments>http://www.codesoil.net/2008/01/10/how-to-determine-the-availability-of-intel-vt-from-esx-server/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 05:10:09 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[vt]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2008/01/10/how-to-determine-the-availability-of-intel-vt-from-esx-server/</guid>
		<description><![CDATA[Intel VT (Virtualization Technology) is a set of processor enhancements, which enables virtualization platforms to offload workloads to system hardware, thus run virtual machines at &#8220;near native&#8221; performance.
Especially when you want to install virtualization software onto another virtualization platform, Intel VT can greatly improve the performance. For example, you may want to install VMware ESX [...]]]></description>
			<content:encoded><![CDATA[<p>Intel VT (Virtualization Technology) is a set of processor enhancements, which enables virtualization platforms to offload workloads to system hardware, thus run virtual machines at &ldquo;near native&rdquo; performance.</p>
<p>Especially when you want to install virtualization software onto another virtualization platform, Intel VT can greatly improve the performance. For example, you may want to install VMware ESX Server 3i onto VMware ESX Server 3 or VMware Workstation 6.</p>
<p>On an ESX Server, to determine whether Intel VT is enabled, you can use the esxcfg-info command. Although you can reboot the machine and go to BIOS setting to confirm it, this command should be the most convenient way.</p>
<p>Logon to the Service Console, and type:</p>
<p class="green-emp" style="FONT-FAMILY: Courier New">esxcfg-info -w | grep VT</p>
<p>you will get the following output if VT is enabled:</p>
<p class="blue-emp" style="FONT-FAMILY: Courier New">|&#8212;-VT Support&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;3</p>
<p>(Values other than 3, such as 0, 2 should mean &ldquo;no VT available&rdquo; and &ldquo;VT disabled&rdquo; respectively, although I am not very sure)</p>
<p>NOTE: The above flag is only for ESX Server 3.0.x. In ESX Server 3.5.x, it is called &ldquo;HV Support&rdquo;, not &ldquo;VT Support&rdquo;. Therefore you have to change the command as following in ESX 3.5:</p>
<p class="green-emp" style="FONT-FAMILY: Courier New">esxcfg-info -w | grep HV</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2008/01/10/how-to-determine-the-availability-of-intel-vt-from-esx-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MAC Address for Virtual Machines</title>
		<link>http://www.codesoil.net/2007/11/28/mac-address-for-virtual-machines/</link>
		<comments>http://www.codesoil.net/2007/11/28/mac-address-for-virtual-machines/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 05:13:10 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[mac-address]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/11/28/mac-address-for-virtual-machines/</guid>
		<description><![CDATA[虚拟世界的MAC地址
先看一下真实世界的MAC地址是如何分配，如何保证没有重复的。
每块网卡都有一个MAC地址，MAC地址是一个6字节、也即48bit的数据。前3字节称为OUI，是由IEEE组织注册给网络设备生产商的；每个厂商拥有一个或多个OUI，彼此不同。后三字节则是由网络设备生产商分配给自己生产的每一个拥有MAC地址的设备，互不重复。
在VM的世界中，每一台拥有虚拟NIC（网卡）的设备当然也拥有MAC地址。这虚拟网卡的MAC地址，当然也是按照规定，前三字节为OUI，后三字节逐一分配给每个设备。
由于虚拟网卡的&#8221;制造商&#8220;是VMware，XenSource，微软等虚拟平台软件的生产商，OUI当然就分配给了他们。 
&#160;
VMware VM所使用的OUI
按照VMware ESX 3的[Server Configuration Guide]的说法，VMware的使用下面的三个OUI作为VM的MAC地址：

00:0C:29 &#8211; 用于自动生成的MAC地址
00:50:56 &#8211; 用于手动设置的MAC地址
00:05:69 &#8211; 曾经用于旧版本的VM（大约是在ESX 1.5的时代），在ESX 3中已经不再使用

但是在实际应用上，我发现00:50:56这一MAC地址段并不是完全用于手动设置的MAC地址：

00:50:56:00:00:00 &#8211; 00:50:56:3F:FF:FF
    这一段MAC地址可以用于手动设置的MAC地址
00:50:56:40:00:00 &#8211; 00:50:56:FF:FF:FF
    这一段（我的推测，不一定准确），则是用于ESX 3上的自动生成的MAC地址（包括VM和Service Console）

&#160;
MAC地址的生成
OUI有了，后三字节如何生成呢？要知道虚拟机是经常被创建和销毁的，这一点不像实体PC。网卡生产商可以计算每年生产多少块网卡，从而为每块网卡分配不同的MAC地址； VMware却不可能计算出每年有多少台VM、有多少块虚拟网卡被创建。
VMware ESX Server的算法是，使用散列算法，通过VM的UUID来生成MAC地址。VM的UUID是每一台VM特有的、128bit的ID，是由ESX Server硬件SMBIOS的UUID、加上VM的路径生成的。因此，一台虚拟机的虚拟网卡的MAC地址就与下面四个因素有关：

VMware的OUI
Host (ESX Server)的SMBIOS中的UUID
VM在服务器上的路径
网卡的实体名 (Entity Name)，用来确保同一VM上的不同网卡有不同的MAC地址

&#160;
MAC地址冲突的检测与解决
MAC地址一旦生成，就不会再有变化，除非上面所述的四项因素发生改变（最可能发生的就是第三项，VM在服务器上的路径改变）。
尽管如此，由于散列算法本身的特征，还是有万一发生MAC地址冲突的可能（可能性极小，和年末ジャンボ中头彩的几率差不多）。ESX Server会不断跟踪和检测运行中和挂起(Suspend)的VM，以保证没有MAC地址冲突。但是已经关闭电源的VM是不在检查对象之内的。

因此，万一一台VM启动时ESX检测到MAC地址冲突，它会分配给VM的虚拟网卡一个新的MAC地址。所以从这个意义上说，VM的MAC地址是可能发生变化的&#8212;&#8212;只是这个概率实在太小。 
&#160;
手动指定MAC地址
手动指定MAC地址仅用于一些极其特殊的情况，通常是进行P2V的时候。例如，某物理服务器上的软件，其License已经与该服务器的MAC地址绑定，如果MAC地址改变则软件无法运行；再如，某些底层网络软件以MAC地址来鉴别机器时，为了不做更改能够继续使用，在P2V的时候也要手动指定MAC地址。
打开一个VM的.vmx文件，可以看到如下设置：（如果有多块NIC的话，那么就会有ethernet0、ethernet1、ethernet2&#8230;&#8230;）
ethernet0.addressType = &#34;generated&#34;
ethernet0.generatedAddress = &#34;00:0c:29:9b:fb:18&#34;
这说明该NIC是自动生成的MAC地址。只需如下更改即可变为手动分配的MAC地址：
ethernet0.addressType = &#34;static&#34;
ethernet0.address = &#34;00:50:56:00:00:01&#34;
其中的00:50:56:00:00:01就是手动指定的MAC地址。
]]></description>
			<content:encoded><![CDATA[<h3>虚拟世界的MAC地址</h3>
<p>先看一下真实世界的MAC地址是如何分配，如何保证没有重复的。</p>
<p>每块网卡都有一个MAC地址，MAC地址是一个6字节、也即48bit的数据。前3字节称为<a href="http://en.wikipedia.org/wiki/Organizationally_Unique_Identifier">OUI</a>，是由IEEE组织注册给网络设备生产商的；每个厂商拥有一个或多个OUI，彼此不同。后三字节则是由网络设备生产商分配给自己生产的每一个拥有MAC地址的设备，互不重复。</p>
<p>在VM的世界中，每一台拥有虚拟NIC（网卡）的设备当然也拥有MAC地址。这虚拟网卡的MAC地址，当然也是按照规定，前三字节为OUI，后三字节逐一分配给每个设备。</p>
<p>由于虚拟网卡的&rdquo;制造商&ldquo;是VMware，XenSource，微软等虚拟平台软件的生产商，OUI当然就分配给了他们。 </p>
<p>&nbsp;</p>
<h3>VMware VM所使用的OUI</h3>
<p>按照VMware ESX 3的[<a href="http://www.vmware.com/support/pubs/vi_pubs.html">Server Configuration Guide</a>]的说法，VMware的使用下面的三个OUI作为VM的MAC地址：</p>
<ul class="red-emp">
<li>00:0C:29 &#8211; 用于自动生成的MAC地址</li>
<li>00:50:56 &#8211; 用于手动设置的MAC地址</li>
<li>00:05:69 &#8211; 曾经用于旧版本的VM（大约是在ESX 1.5的时代），在ESX 3中已经不再使用</li>
</ul>
<p>但是在实际应用上，我发现00:50:56这一MAC地址段并不是完全用于手动设置的MAC地址：</p>
<ul>
<li>00:50:56:00:00:00 &#8211; 00:50:56:3F:FF:FF<br />
    这一段MAC地址可以用于手动设置的MAC地址</li>
<li>00:50:56:40:00:00 &#8211; 00:50:56:FF:FF:FF<br />
    这一段（我的推测，不一定准确），则是用于ESX 3上的自动生成的MAC地址（包括VM和Service Console）</li>
</ul>
<p>&nbsp;</p>
<h3>MAC地址的生成</h3>
<p>OUI有了，后三字节如何生成呢？要知道虚拟机是经常被创建和销毁的，这一点不像实体PC。网卡生产商可以计算每年生产多少块网卡，从而为每块网卡分配不同的MAC地址； VMware却不可能计算出每年有多少台VM、有多少块虚拟网卡被创建。</p>
<p>VMware ESX Server的算法是，使用散列算法，通过VM的UUID来生成MAC地址。VM的UUID是每一台VM特有的、128bit的ID，是由ESX Server硬件SMBIOS的UUID、加上VM的路径生成的。因此，一台虚拟机的虚拟网卡的MAC地址就与下面四个因素有关：</p>
<ul class="green-emp">
<li>VMware的OUI</li>
<li>Host (ESX Server)的SMBIOS中的UUID</li>
<li>VM在服务器上的路径</li>
<li>网卡的实体名 (Entity Name)，用来确保同一VM上的不同网卡有不同的MAC地址</li>
</ul>
<p>&nbsp;</p>
<h3>MAC地址冲突的检测与解决</h3>
<p>MAC地址一旦生成，就不会再有变化，除非上面所述的四项因素发生改变（最可能发生的就是第三项，VM在服务器上的路径改变）。</p>
<p>尽管如此，由于散列算法本身的特征，还是有万一发生MAC地址冲突的可能（可能性极小，和年末ジャンボ中头彩的几率差不多）。ESX Server会不断跟踪和检测运行中和挂起(Suspend)的VM，以保证没有MAC地址冲突。但是已经关闭电源的VM是不在检查对象之内的。</p>
<p></p>
<p>因此，万一一台VM启动时ESX检测到MAC地址冲突，它会分配给VM的虚拟网卡一个新的MAC地址。所以从这个意义上说，VM的MAC地址是可能发生变化的&mdash;&mdash;只是这个概率实在太小。 </p>
<p>&nbsp;</p>
<h3>手动指定MAC地址</h3>
<p>手动指定MAC地址仅用于一些极其特殊的情况，通常是进行P2V的时候。例如，某物理服务器上的软件，其License已经与该服务器的MAC地址绑定，如果MAC地址改变则软件无法运行；再如，某些底层网络软件以MAC地址来鉴别机器时，为了不做更改能够继续使用，在P2V的时候也要手动指定MAC地址。</p>
<p>打开一个VM的.vmx文件，可以看到如下设置：（如果有多块NIC的话，那么就会有ethernet0、ethernet1、ethernet2&hellip;&hellip;）</p>
<div style="font-family: monospace;" class="blue-emp">ethernet0.addressType = &quot;generated&quot;<br />
ethernet0.generatedAddress = &quot;00:0c:29:9b:fb:18&quot;</div>
<p>这说明该NIC是自动生成的MAC地址。只需如下更改即可变为手动分配的MAC地址：</p>
<div style="font-family: monospace;" class="blue-emp">ethernet0.addressType = &quot;static&quot;<br />
ethernet0.address = &quot;00:50:56:00:00:01&quot;</div>
<p>其中的00:50:56:00:00:01就是手动指定的MAC地址。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/11/28/mac-address-for-virtual-machines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Settings for CETSC &#8211; RDP Client on Windows CE</title>
		<link>http://www.codesoil.net/2007/11/24/settings-for-cetsc-rdp-client-on-windows-ce/</link>
		<comments>http://www.codesoil.net/2007/11/24/settings-for-cetsc-rdp-client-on-windows-ce/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 13:01:25 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[thin-client]]></category>
		<category><![CDATA[wince]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/11/24/settings-for-cetsc-rdp-client-on-windows-ce/</guid>
		<description><![CDATA[Windows CE被很多Thin Client采用，作为嵌入式的操作系统。在WinCE based Thin Client上，通常使用RDP协议与远程桌面进行连接，对Windows CE Terminal Services Client (cetsc.exe)的配置也就非常重要。
启动CETSC后，CETSC读取.rdp文件中的设置，或是根据注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client下的设置连接远程主机。下面就是一个可以设置的选项列表（对.rdp文件和注册表均适用）。注意此处以在Thin Client上广泛使用的Windows CE 5.0为例；Windows CE 6的设置有所不同。此外这些设置不适用于Windows Mobile。



Value
Type
Description


AlternateShell
String
如果指定了该值，则RDP连接后登录到指定的shell程序，或执行指定的应用程序，而不是登录到通常的shell (explorer.exe)。


AudioRedirectionMode
DWORD
指定声音在哪里播放，默认值为0：
            0 &#8211; 在远程主机播放
            1 &#8211; 在本地 (Thin Client)播放
      [...]]]></description>
			<content:encoded><![CDATA[<p>Windows CE被很多Thin Client采用，作为嵌入式的操作系统。在WinCE based Thin Client上，通常使用RDP协议与远程桌面进行连接，对Windows CE Terminal Services Client (cetsc.exe)的配置也就非常重要。</p>
<p>启动CETSC后，CETSC读取.rdp文件中的设置，或是根据注册表<strong>HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client</strong>下的设置连接远程主机。下面就是一个可以设置的选项列表（对.rdp文件和注册表均适用）。注意此处以在Thin Client上广泛使用的Windows CE 5.0为例；<a href="http://msdn2.microsoft.com/en-us/library/aa934226.aspx">Windows CE 6的设置</a>有所不同。此外这些设置不适用于Windows Mobile。</p>
<table class="dtTABLE">
<tbody>
<tr>
<th>Value</th>
<th>Type</th>
<th>Description</th>
</tr>
<tr>
<td><strong>AlternateShell</strong></td>
<td>String</td>
<td>如果指定了该值，则RDP连接后登录到指定的shell程序，或执行指定的应用程序，而不是登录到通常的shell (explorer.exe)。</td>
</tr>
<tr>
<td><strong>AudioRedirectionMode</strong></td>
<td>DWORD</td>
<td>指定声音在哪里播放，默认值为0：<br />
            0 &#8211; 在远程主机播放<br />
            1 &#8211; 在本地 (Thin Client)播放<br />
            2 &#8211; 不播放声音 </td>
</tr>
<tr>
<td><strong><strong><strong>AutoReconnectEnabled</strong> </strong></strong></td>
<td>DWORD</td>
<td>当连接异常中断时，是否允许自动重新连接，默认值为1：<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许 </td>
</tr>
<tr>
<td><strong><strong>BBarEnabled</strong></strong></td>
<td>DWORD</td>
<td>是否显示屏幕顶部的连接栏 (Connection Bar)，默认值为1<br />
            0 &#8211; 不显示<br />
            1 &#8211; 显示 </td>
</tr>
<tr>
<td><strong><strong>BBarShowMinimizeBtn</strong></strong></td>
<td>DWORD</td>
<td>是否显示连接栏上的最小化按钮，默认值为1<br />
            0 &#8211; 不显示<br />
            1 &#8211; 显示 </td>
</tr>
<tr>
<td><strong><strong>BBarShowPinBtn</strong></strong></td>
<td>DWORD</td>
<td>是否显示连接栏上的固定按钮 (Pin Button)，默认值为0<br />
            0 &#8211; 不显示<br />
            1 &#8211; 显示 </td>
</tr>
<tr>
<td><strong><strong>BBarShowRestoreBtn</strong></strong></td>
<td>DWORD</td>
<td>是否显示连接栏上的还原窗口大小按钮 (Restore Button)，默认值为1<br />
            0 &#8211; 不显示<br />
            1 &#8211; 显示 </td>
</tr>
<tr>
<td><strong><strong>BBarPinned</strong></strong></td>
<td>DWORD</td>
<td>是否自动隐藏连接栏，默认值为1<br />
            0 &#8211; 自动隐藏连接栏<br />
            1 &#8211; 一直显示连接栏 </td>
</tr>
<tr>
<td><strong><strong>BitmapCacheSize</strong></strong></td>
<td>DWORD</td>
<td>以KB为单位指定内存里的位图缓冲区大小，默认值为1500，最大值为32000 </td>
</tr>
<tr>
<td><strong><strong>BitmapPersistCacheLocation</strong></strong></td>
<td>String</td>
<td>指定位图缓冲区的位于何处，默认值为\Temp </td>
</tr>
<tr>
<td><strong><strong>BitmapPersistenceEnabled</strong></strong></td>
<td>DWORD</td>
<td>指定是否允许位图缓冲。默认值为0<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许 </td>
</tr>
<tr>
<td><strong><strong>ColorDepthID</strong></strong></td>
<td>DWORD</td>
<td>颜色深度，以bpp (bits per pixel)为单位。默认值为4<br />
            0 &#8211; 4 bpp<br />
            1 &#8211; 8 bpp<br />
            2 &#8211; 15 bpp<br />
            3 &#8211; 16 bpp<br />
            4 &#8211; 24 bpp </td>
</tr>
<tr>
<td><strong><strong>Compress</strong></strong></td>
<td>DWORD</td>
<td>是否启用文件和目录压缩，默认值为1<br />
            0 &#8211; 不启用<br />
            1 &#8211; 启用 </td>
</tr>
<tr>
<td><strong><strong>ConnectToServerConsole</strong></strong></td>
<td>DWORD</td>
<td>指定是否连接到远程主机的Console session。对于Windows x68和Windows CE来说，可以用 mstsc /console 或 cetsc /console命令连接到Console session，不需要该选项。该选项只用于不使用Windows作为OS的Thin Client。默认值为0<br />
            0 &#8211; 不连接到Console session (连接到Terminal Services session)。<br />
            1 &#8211; 连接到Console session<br />
            由于Windows XP无Console session和Terminal Services session之分，该参数对XP无效。 </td>
</tr>
<tr>
<td><strong>DesktopHeight</strong></td>
<td>DWORD</td>
<td>以像素为单位指定屏幕高度，默认为1024 </td>
</tr>
<tr>
<td><strong>DesktopWidth</strong></td>
<td>DWORD</td>
<td>以像素为单位指定屏幕宽度，默认为1280 </td>
</tr>
<tr>
<td><strong>Disable Full Window Drag</strong></td>
<td>DWORD</td>
<td>指定拖动窗口时是否显示窗口内容。默认值为1<br />
            0 &#8211; 不显示<br />
            1 &#8211; 显示 </td>
</tr>
<tr>
<td><strong>Disable Menu Anims</strong></td>
<td>DWORD</td>
<td>是否允许菜单动画显示。默认值为1<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许 </td>
</tr>
<tr>
<td><strong>Disable Themes</strong></td>
<td>DWORD</td>
<td>是否允许显示主题。默认值为0<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许 </td>
</tr>
<tr>
<td><strong>Disable Wallpaper</strong></td>
<td>DWORD</td>
<td>是否允许壁纸。默认值为1<br />
            0&nbsp;- 禁止壁纸<br />
            1 &#8211; 允许壁纸 </td>
</tr>
<tr>
<td><strong><strong>DisableFileAccess</strong></strong></td>
<td>DWORD</td>
<td>指定用户是否有权访问本地（Thin Client上面的）文件系统。默认值为1<br />
            0 &#8211; 允许用户访问本地文件系统<br />
            1 &#8211; 禁止用户访问本地文件系统 </td>
</tr>
<tr>
<td><strong>Domain</strong></td>
<td>String</td>
<td>要连接的远程主机所在的域</td>
</tr>
<tr>
<td><strong><strong>EnableDriveRedirection</strong></strong></td>
<td>DWORD</td>
<td>是否允许重定向驱动器。默认值为1<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许</td>
</tr>
<tr>
<td><strong><strong>EnablePortRedirection</strong></strong></td>
<td>DWORD</td>
<td>是否允许重定向串口 (COM口)。默认值为1<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许</td>
</tr>
<tr>
<td><strong><strong>EnablePrinterRedirection</strong></strong></td>
<td>DWORD</td>
<td>是否允许重定向打印机。默认值为1<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许</td>
</tr>
<tr>
<td><strong><strong>EnableSCardRedirection</strong></strong></td>
<td>DWORD</td>
<td>是否允许重定向智能卡 (Smart Card)。默认值为1<br />
            0 &#8211; 不允许<br />
            1 &#8211; 允许</td>
</tr>
<tr>
<td><strong><strong>KeyboardHookMode</strong></strong></td>
<td>DWORD</td>
<td>设置Alt &#8211; TAB键的作用。默认值为2<br />
            0 &#8211; 显示本地 (Thin Client)的项目<br />
            1 &#8211; 显示远程 (Server)的项目<br />
            2 &#8211; 全屏时显示远程项目，窗口时显示本地项目</td>
</tr>
<tr>
<td><strong><strong>MaxReconnectAttempts</strong></strong></td>
<td>DWORD</td>
<td>设置连接丢失时重新尝试的次数。默认值为20</td>
</tr>
<tr>
<td><strong><strong>MCSPort</strong></strong></td>
<td>DWORD</td>
<td>设置RDP服务的端口。仅用于非Windows-based的Thin Client。</td>
</tr>
<tr>
<td><strong>MRUx (x=0,1,2..)</strong></td>
<td>String</td>
<td>MRU = Most Recently Used，最近访问过的主机列表</td>
</tr>
<tr>
<td><strong><strong>Password</strong></strong></td>
<td>Binary</td>
<td>登陆远程主机用的密码</td>
</tr>
<tr>
<td><strong><strong>ServerName</strong></strong></td>
<td>String</td>
<td>远程主机名或IP地址</td>
</tr>
<tr>
<td><strong><strong>StartFullScreen </strong></strong></td>
<td>DWORD</td>
<td>是否以全屏模式开始远程连接，默认值为1<br />
            0 &#8211; 不以全屏模式<br />
            1 &#8211; 以全屏模式</td>
</tr>
<tr>
<td><strong><strong>UserName</strong></strong></td>
<td>String</td>
<td>登陆远程主机用的用户名</td>
</tr>
<tr>
<td><strong><strong>WorkingDir</strong></strong></td>
<td>String</td>
<td>工作目录</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/11/24/settings-for-cetsc-rdp-client-on-windows-ce/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduction to NEC&#8217;s Thin Client</title>
		<link>http://www.codesoil.net/2007/11/23/introduction-to-nec-thin-client/</link>
		<comments>http://www.codesoil.net/2007/11/23/introduction-to-nec-thin-client/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 07:03:45 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[NEC]]></category>
		<category><![CDATA[thin-client]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/11/23/introduction-to-necs-thin-client/</guid>
		<description><![CDATA[一直想找个机会贴一下NEC的Thin Client Device，今天就拿出来秀一秀吧。

TC-Station（上图左）是2005年4月25日正式发表的大概是NEC最初的专用瘦客户机产品（在这之前就已经推出过将普通PC硬盘去掉的瘦客户机产品）。
标售价格：5.5万日元
操作系统：基于UNIX的专用OS
本体重量：0.85kg
消费电力：8W
TC-Station High-end Model（上图右）是2005年11月21日正式发表的升级产品。和普通版的最大区别在于它内置了一个IC卡读卡器。 
标售价格：7.8万日元
操作系统：Windows XPe
本体重量：1.92kg
消费电力：Max 24W

US100是2006年11月6日正式发表的，NEC的第一款面向全球发售的瘦客户机产品。在这一款产品中，NEC以两项特有技术领先于其他厂商的产品：高速视频播放&#8212;&#8212;部分解决了瘦客户机上的视频性能问题；VoIP语音电话，解决了RDP不支持语音输入，无法进行电话会议的问题。US是U-Station的缩写。
标售价格：5.2万日元
操作系统：基于UNIX的专用OS
本体重量：0.42kg
消费电力：Max 13W

US110是2007年10月15日正式发表的下一代产品。它不仅继承和发扬了US100的高速视频播放和点到点VoIP语音电话的特有功能，更是以其极高的性价比对其他厂商构成了极大的威胁。
标售价格：4.9万日元
操作系统：Windows CE
本体重量：0.35kg
消费电力：11W（平均），25W（最大）
]]></description>
			<content:encoded><![CDATA[<p>一直想找个机会贴一下NEC的Thin Client Device，今天就拿出来秀一秀吧。</p>
<p><img id="image60" alt="TC-Station" src="http://www.codesoil.net/wp-content/uploads/2007/11/tc-station.jpg" /></p>
<p>TC-Station（上图左）是<a href="http://www.nec.co.jp/press/ja/0504/2502.html">2005年4月25日正式发表</a>的大概是NEC最初的<u><strong>专用</strong></u>瘦客户机产品（在这之前就已经推出过将普通PC硬盘去掉的瘦客户机产品）。</p>
<p>标售价格：5.5万日元<br />
操作系统：基于UNIX的专用OS<br />
本体重量：0.85kg<br />
消费电力：8W</p>
<p>TC-Station High-end Model（上图右）是<a href="http://www.nec.co.jp/press/ja/0511/2101.html">2005年11月21日正式发表</a>的升级产品。和普通版的最大区别在于它内置了一个IC卡读卡器。 </p>
<p>标售价格：7.8万日元<br />
操作系统：Windows XPe<br />
本体重量：1.92kg<br />
消费电力：Max 24W</p>
<p><img id="image58" alt="US100" src="http://www.codesoil.net/wp-content/uploads/2007/11/us100.jpg" /></p>
<p>US100是<a href="http://www.nec.co.jp/press/ja/0611/0605.html">2006年11月6日正式发表</a>的，NEC的第一款面向全球发售的瘦客户机产品。在这一款产品中，NEC以两项特有技术领先于其他厂商的产品：高速视频播放&mdash;&mdash;部分解决了瘦客户机上的视频性能问题；VoIP语音电话，解决了RDP不支持语音输入，无法进行电话会议的问题。US是U-Station的缩写。</p>
<p>标售价格：5.2万日元<br />
操作系统：基于UNIX的专用OS<br />
本体重量：0.42kg<br />
消费电力：Max 13W</p>
<p><img id="image59" alt="US110" src="http://www.codesoil.net/wp-content/uploads/2007/11/us110.jpg" /></p>
<p>US110是<a href="http://www.nec.co.jp/press/ja/0710/1503.html">2007年10月15日正式发表</a>的下一代产品。它不仅继承和发扬了US100的高速视频播放和点到点VoIP语音电话的特有功能，更是以其极高的性价比对其他厂商构成了极大的威胁。</p>
<p>标售价格：4.9万日元<br />
操作系统：Windows CE<br />
本体重量：0.35kg<br />
消费电力：11W（平均），25W（最大）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/11/23/introduction-to-nec-thin-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Infrastructure New Features</title>
		<link>http://www.codesoil.net/2007/11/13/virtual-infrastructure-new-features/</link>
		<comments>http://www.codesoil.net/2007/11/13/virtual-infrastructure-new-features/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 15:47:51 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[esx3i]]></category>
		<category><![CDATA[vdm]]></category>
		<category><![CDATA[vi3.5]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/11/13/virtual-infrastructure-new-features/</guid>
		<description><![CDATA[VMware在VM World 2007上公布了许多新产品的新特性，这里就把旗舰产品Virtual Infrastructure (ESX Server, VirtualCenter)的最新动向、特性做一总结（这里的资料都不是&#8220;新闻&#8221;，相信大家都已经从大小道消息早就知道了，只是做一归纳）。


Virtual&#160;Infrastructure 3.5
Plug-and-Play Datacenter: ESX 3i
VMware ESX Server 3i 是基于VMware ESX Server 3发展而来的下一代Hypervisor体系结构。简单来说，ESX 3i就是ESX 3去掉了COS (Service Console)之后的部分。
根据VMware统计，传统的ESX Server 3中，基于REHL3的COS占用了约2GB的硬盘资源，并且需要打针对REHL3的补丁&#8212;&#8212;针对ESX Server3的补丁中，有一半左右是针对COS的。与之相反，Hypervisor部分（VMKernel）只占用32MB的硬盘。在ESX 3i中，就是去掉了这臃肿的、占原来ESX Server 3的98%的COS，留下一个轻便的，甚至可以嵌入服务器固件的内核。

当然，COS也不是说扔掉就能直接扔掉的&#8212;&#8212;COS作为一个SHELL，一个命令行的操作界面，还是提供了很多功能的。那么这些功能在没有了COS的ESX 3i中是如何实现的呢？
■ 使用命令和脚本管理ESX的功能&#8212;&#8212;在ESX 3i中，由于ESX服务器本身上已经没有命令行界面，因此提供了一个远程的命令行界面（类似SSH的感觉），叫做Remote CLI (Remote Command Line Interface)。通过这一&#8220;新SSH&#8221;，可以像在本地一样执行命令。
■ 服务器性能和健康状态的监控&#8212;&#8212;在传统的ESX 3中，只需要安装软件 (例如NEC的ESMPRO) 即可监控服务器的各项状况，如温度，风扇转速等等。在ESX 3i中，则通过标准的监控协议CIM来进行服务器状况的监控。

■ 3rd Party Agent&#8212;&#8212;在传统的ESX 3中，有时候会需要在COS安装一些第三方的软件的Agent，例如用于备份的软件。在ESX 3i中则只能通过其提供的界面，API等进行通信；对于备份则可使用VCB (VMware Consolidated Backup)进行。
Storage VMotion
在很久前的VCP会议中就听说过Storage VMotion。基本描述起来就是：现有的VMotion并不移动VM的存储节点（也即image文件所在的位置），而是移动VM隶属的计算节点（从一台Host移动到另一台Host）。而Storage VMotion则可以同时移动VM的存储节点，也即把VM从一个Datastore移动到另一个Datastore。
但是，VMware却同时告诉我们，Storage VMotion并不像VMotion那样可以轻松地执行。因为Storage VMotion耗费资源尤其是I/O资源，并且有部分功能不完善（例如目前还没有GUI，只能通过svmotion，svmotion.pl脚本操作），因此不应该像VMotion那样在业务中日常应用，而是作为一个能让系统不间断运作的维护工具。VMware建议的应用场景包括：Storage Array [...]]]></description>
			<content:encoded><![CDATA[<p>VMware在VM World 2007上公布了许多新产品的新特性，这里就把旗舰产品Virtual Infrastructure (ESX Server, VirtualCenter)的最新动向、特性做一总结（这里的资料都不是&ldquo;新闻&rdquo;，相信大家都已经从大小道消息早就知道了，只是做一归纳）。</p>
<p>
</p>
<p><strong><u><font size="4" color="#333399">Virtual&nbsp;Infrastructure 3.5</font></u></strong></p>
<p><strong><font size="3">Plug-and-Play Datacenter: ESX 3i</font></strong></p>
<p>VMware ESX Server 3i 是基于VMware ESX Server 3发展而来的下一代Hypervisor体系结构。简单来说，ESX 3i就是ESX 3去掉了COS (Service Console)之后的部分。</p>
<p>根据VMware统计，传统的ESX Server 3中，基于REHL3的COS占用了约2GB的硬盘资源，并且需要打针对REHL3的补丁&mdash;&mdash;针对ESX Server3的补丁中，有一半左右是针对COS的。与之相反，Hypervisor部分（VMKernel）只占用32MB的硬盘。在ESX 3i中，就是去掉了这臃肿的、占原来ESX Server 3的98%的COS，留下一个轻便的，甚至可以嵌入服务器固件的内核。</p>
<p align="center"><img id="image54" alt="ESX Server 3i" src="http://www.codesoil.net/wp-content/uploads/2007/11/esx3i.png" /></p>
<p>当然，COS也不是说扔掉就能直接扔掉的&mdash;&mdash;COS作为一个SHELL，一个命令行的操作界面，还是提供了很多功能的。那么这些功能在没有了COS的ESX 3i中是如何实现的呢？</p>
<p>■ 使用命令和脚本管理ESX的功能&mdash;&mdash;在ESX 3i中，由于ESX服务器本身上已经没有命令行界面，因此提供了一个远程的命令行界面（类似SSH的感觉），叫做Remote CLI (Remote Command Line Interface)。通过这一&ldquo;新SSH&rdquo;，可以像在本地一样执行命令。</p>
<p>■ 服务器性能和健康状态的监控&mdash;&mdash;在传统的ESX 3中，只需要安装软件 (例如NEC的ESMPRO) 即可监控服务器的各项状况，如温度，风扇转速等等。在ESX 3i中，则通过标准的监控协议CIM来进行服务器状况的监控。</p>
<p align="center"><img id="image56" alt="Hardware Monitoring via CIM" src="http://www.codesoil.net/wp-content/uploads/2007/11/hw-info.png" /></p>
<p>■ 3rd Party Agent&mdash;&mdash;在传统的ESX 3中，有时候会需要在COS安装一些第三方的软件的Agent，例如用于备份的软件。在ESX 3i中则只能通过其提供的界面，API等进行通信；对于备份则可使用VCB (VMware Consolidated Backup)进行。</p>
<p><strong><font size="3">Storage VMotion</font></strong></p>
<p>在很久前的VCP会议中就听说过Storage VMotion。基本描述起来就是：现有的VMotion并不移动VM的存储节点（也即image文件所在的位置），而是移动VM隶属的计算节点（从一台Host移动到另一台Host）。而Storage VMotion则可以同时移动VM的存储节点，也即把VM从一个Datastore移动到另一个Datastore。</p>
<p>但是，VMware却同时告诉我们，Storage VMotion并不像VMotion那样可以轻松地执行。因为Storage VMotion耗费资源尤其是I/O资源，并且有部分功能不完善（例如目前还没有GUI，只能通过svmotion，svmotion.pl脚本操作），因此不应该像VMotion那样在业务中日常应用，而是作为一个能让系统不间断运作的维护工具。VMware建议的应用场景包括：Storage Array Migration（比如说买了新的FC SAN，要把整个系统从旧SAN移动到新SAN，又不想中断业务时），I/O Optimization（比如说LUN之间的负载不平衡，有的LUN上VM很多，有的LUN上VM却很少时）。</p>
<p>据称Storage VMotion将在ESX Server 3.5（当然也包括ESX Server 3i 3.5）中提供，并逐步在以后的版本中补完功能。</p>
<p><strong><font size="3">Site Recovery Manager</font></strong></p>
<p>这也是3.5当中（VirtualCenter 2.5）提供的一个功能。如果说VMware HA (High Availability)是面向服务器、VM的灾难恢复方案，那么Site Recovery Manager就是面向Site的灾难恢复方案。只要预先定义好备用的一套Site（包括Host，存储，VM，网络拓扑结构等），Site Recovery Manager就可以按照计划或在发生万一的故障时进行fail over。</p>
<p><strong><font size="3">Distributed Power Management (DPM)</font></strong></p>
<p>上次TSX的时候听说DPM，还以为是什么UPS的虚拟化工具&mdash;&mdash;电源管理嘛。其实，所谓的&ldquo;分布式电源管理&rdquo;，是一个环保节能（也即最近提倡的Green Datacenter）的工具。可以把DPM与DRS进行比较：DRS是Load Balance的解决方案，可以自动平衡各Host间的负载，将VM平均移动到各个Host上；而DPM则是节约电能的解决方案，当VM数量较少时，DPM将VM集中移动到几台Host上，然后将其他没有VM运行的Host关闭电源。</p>
<p><strong><font size="3">Update Manager</font></strong></p>
<p>Update Manager也是VC2.5中的新功能，其功能其实很简单&mdash;&mdash;利用DRS将某一台ESX上的所有VM移动到其他Host上，然后对这台ESX进行打补丁等升级维护工作。难得的是这些全是全自动的。</p>
<p>顺便说一句，ESX 3i中，虽然只有32MB但是一样是要升级的。只不过3i不再（也无法）靠安装补丁文件的方式，而是靠更换整个3i的Image的方式（有点像固件、BIOS更新）进行升级。</p>
<p><strong><font size="3">Guided Consolidation</font></strong></p>
<p>这个功能更不是什么出奇的东西了。Guided Consolidation = Capacity Planner + Converter + 集成在一起的图形界面。具体来说，就是通过VC，自动发现网络中的物理服务器（只限于Win2003等），通过Capacity Planner分析该服务器，给出移植到虚拟平台的方案，然后通过Converter执行P2V，转移到虚拟化世界来。</p>
<p><strong><font size="3">Para-Virtualization (exp.), Vista Guest OS, enhanced HA, enhanced VCB, NPIV and more<br />
</font></strong></p>
<p>在3.5中，也会试验性地支持Para-Virtualization，当然这也需要OS的支持（如RHEL5等）。此外，Windows Vista也终于结束了漫长的评测过程，正式被纳为虚拟OS家族的成员。</p>
<p>还有许多其他的功能，这里就不一一说明，有兴趣的话请Google相关资料。
</p>
<p>
</p>
<p><font size="4" color="#333399"><strong><u>Beyond&nbsp;3.5 &hellip;</u></strong></font></p>
<p><strong><font size="3">Enhanced&nbsp;VMotion</font></strong></p>
<p>众所周知，执行VMotion的要求近于苛刻&mdash;&mdash;这也不能怪VMware，因为不同CPU之间，即使是微小的指令集的差异，也会导致对于企业应用来说噩梦一般的&ldquo;蓝屏&rdquo;。此外更令人郁闷的是，两台Host只见究竟能否做VMotion，只有在实际做之前才知道（当然，熟悉VMotion的VCP可以轻易的事先判断）。</p>
<p>VMware将会逐渐打破这一壁垒。首先是通过AMD的&ldquo;AMD-V Extended Migration Technology&rdquo;以及Intel的&ldquo;Flex Migration&rdquo;，使得同一厂商的不同CPU家族之间可以Hot Migration；并且会逐渐依靠其夹在VM和硬件中间的身份进行协调，使得在不久的将来不同厂商的CPU只见的VMotion也成为可能。</p>
<p><strong><font size="3">Software FT (Fault-tolerant Virtual Machines)</font></strong></p>
<p>这一新特性的正式名称还不清楚，但是光看名字已经让人振奋不已。容错（fault tolerance，ft）服务器通常指一台服务器中包含两套相通的模块，通过lockstep processing互为备份，即便其中一组模块当机也能无停止地切换到另一组模块。它能提供99.999%，也即年当机时间不超过5分钟的连续可用性 (Continuous Availability, CA)。而相比之下，MSCS等集群只能提供99.9%，也即年当机时间8小时45分钟左右的高可用性（High Availability, HA）。</p>
<p>在VMware即将提供的软件FT（或虚拟FT？）功能中，可以将两台位于不同物理Host上的VM捆绑为一台fault tolerant VM，同步操作。从某种角度来说，用户不必再去购买昂贵的硬件容错服务器，而是通过使用Virtual Infrastructure就能拥有数台可靠的&ldquo;软&rdquo;容错虚拟服务器了。当然，究竟&ldquo;软&rdquo;容错能否从&ldquo;硬&rdquo;容错手中抢到市场，还要看&ldquo;软&rdquo;容错是否稳定，是否能像&ldquo;硬&rdquo;容错一样提供99.999%的可用性了。</p>
<p>Software FT虽然很可能不会在3.5中提供，但是预计将在明年中提供（4.0?）。</p>
<p>
</p>
<p><strong><u><font size="4" color="#333399">Related Products</font></u></strong></p>
<p><strong><font size="3">Virtual Desktop Manager (VDM) 2.0</font></strong></p>
<p>其实VDM并不是Virtual Infrastructure产品的一部分；它属于VMware的VDI产品族。它和著名的Leostream Connection Broker一样，是一个VDI Broker产品，是客户端设备连接虚拟桌面时的&ldquo;管家&rdquo;。有关VDM的详细信息，我将专文介绍。</p>
<div style="text-align: center;"><img id="image55" alt="Virtual Desktop Manager (VDM)" src="http://www.codesoil.net/wp-content/uploads/2007/11/vdm.png" /></div>
<p>&nbsp;根据目前的消息，VDM2.0将在明年2008年2月份推出。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/11/13/virtual-infrastructure-new-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big Problem : Access Denied when Using Qwinsta.exe or WTSOpenServer API</title>
		<link>http://www.codesoil.net/2007/08/16/big-problem-access-denied-when-using-qwinstaexe-or-wtsopenserver-api/</link>
		<comments>http://www.codesoil.net/2007/08/16/big-problem-access-denied-when-using-qwinstaexe-or-wtsopenserver-api/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 13:30:48 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[terminal-service]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/08/16/big-problem-access-denied-when-using-qwinstaexe-or-wtsopenserver-api/</guid>
		<description><![CDATA[This article describes the solution for the &#8220;access denied&#8221; error occurs when using qwinsta.exe/rwinsta.exe or WTSOpenServer Windows API function to access to a Windows XP SP2 PC.
The same thing happens when you are trying to connect to a Windows XP SP2&#160;using Terminal Services Manager from a Windows 2003 Server.&#160;
- Because essentially qwinsta.exe command calls WTS [...]]]></description>
			<content:encoded><![CDATA[<p>This article describes the solution for the <font color="#ff0000">&ldquo;access denied&rdquo;</font> error occurs when using qwinsta.exe/rwinsta.exe or WTSOpenServer Windows API function to access to a Windows XP SP2 PC.</p>
<p>The same thing happens when you are trying to connect to a Windows XP SP2&nbsp;using Terminal Services Manager from a Windows 2003 Server.&nbsp;</p>
<p>- Because essentially qwinsta.exe command calls WTS functions (WTSOpenServer, WTSEnumerateSessions, &hellip;), you will encounter the same error when using either the command or the API.</p>
<p>As a quick answer, check the following points.<br />
<strong>1. Ensure you have the correct credential<br />
</strong>Although you do not need to provide a username and a password when executing qwinsta.exe or WTSOpenServer, Windows use its stored credentials automatically, just like accessing a shared folder.</p>
<p>The easiest way to confirm the credential is to use Explorer to access remote server&rsquo;s C$ share. Also, you can use &ldquo;net use&rdquo; command.</p>
<p>For those who want to connect to a remote server programmatically using WTSOpenServer API, WNetAddConnection2 function should be enough to make sure you got a piece of credential before calling WTSOpenServer function.</p>
<p>Of course the user in the credential should be a use on the remote server who has enough privilege to carry out the operation.</p>
<p><strong>2. Open RPC ports on firewall<br />
</strong>An API call involves connecting to a remote machine use RPC. In most cases the RPC service is running and you can confirm that from the service management interface. To open RPC ports, simply enable &ldquo;File and Printer Sharing&rdquo; in the Windows Firewall setting.</p>
<p>(Generally, if the RPC is blocked by the firewall on remote machine, the error should be &quot;1722 RPC server is unavailable&quot; rather then &quot;5 Access denied&quot;)</p>
<p><strong>3. Disable &quot;Force Guest&quot; log on</strong></p>
<p>You can change this option from either local security policy or registery.</p>
<p>Local security policy : run secpol.msc &gt; Secuirty Settings &gt; Local Policies &gt; Security Options &gt; Network access : Sharing and security model for local accounts, and set to &quot;Classic&quot;.</p>
<p>Registry : find &quot;forceguest&quot; item in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa, and set it to 0.</p>
<p>The two ways are equivalent. If this option is set to 1, remote logged in user will be impersonated as Guest account (and if Guest account is disabled, login fails). Set it to 0 enables user logging in as themselves.</p>
<p><strong>4. If you still receive &ldquo;access denied&rdquo; and it only happens when the remote OS is Windows XP SP2, it is very probably the following case.</strong></p>
<p>To confirm, you need a packet sniffer such as Wireshark (a great freeware).<br />
When you use a sniffer to capture the SMB packets, you can see the authentication is OK (NTLM if workstation, Kerberos if Windows 2003 domain), but the RPC get nca_s_fault_access_denied (0&#215;00000005) as error code.</p>
<p>This means the remote RPC component failed to execute the requested operation. It is because in Windows XP SP2, it is not allowed to operate on terminal service (Remote Desktop) through RPC by default. To modify this setting to enable Remote Desktop API through RPC, you need to find the following registry key:</p>
<p><font face="Courier New">HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server</font></p>
<p>Then add a DWORD value named &ldquo;AllowRemoteRPC&rdquo; and change its value to 1.</p>
<p>I googled it and it seems there is no official document on it. (I don&#8217;t know why)</p>
<p>Access denied error often misleads us into thinking it must be&nbsp;because of the insufficient privilege, or because that the qwinsta.exe command / WTSOpenServer failed to utilized the credential. It wasted me about 5 hours in researching how to attach a credential to a RPC call, and I even got caught deeply into the complicated SSPI/LSA authentication architecture.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/08/16/big-problem-access-denied-when-using-qwinstaexe-or-wtsopenserver-api/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Free is not everything</title>
		<link>http://www.codesoil.net/2007/06/30/free-is-not-everything/</link>
		<comments>http://www.codesoil.net/2007/06/30/free-is-not-everything/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 10:57:22 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[ft]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/06/30/free-is-not-everything/</guid>
		<description><![CDATA[一个来月没写东西了，原因很简单，先是大病一场断断续续修养了两个星期；接着是新加坡出差；明天还要去北京&#8230;&#8230;日子就这么在疲倦和麻痹中流逝而去了。
今天说一说&#8220;免费&#8221;。人们都喜欢免费的东西&#8212;&#8212;从商场门口的免费品尝到网上的免费软件。只要是免费，就算品质不太好，服务不周到也就不大计较了。&#8220;要饭吃还嫌馊？&#8221;&#8212;&#8212;我头脑中映出的就是这句歇后语。
那么，在企业应用中事情又是如何呢？我身边最近发生了这样的一个真实的事例。
【都是免费惹的祸】
我们组的技术人员H君三年来一直在做VMware GSX Server的技术支持工作。
如大家所知道的那样，VMware GSX Server是VMware稍早期的产品，运行在Windows或Linux的Host OS之上。2006年2月，VMware公司宣布将最低售价为$1400美元的VMware GSX Server作为免费软件提供。7月，这款已经成为免费软件的VMware GSX Server以另一个名字推出&#8212;&#8212;VMware Server。
将收费软件变成免费软件，厂商、用户皆大欢喜，何乐而不为呢？
可是问题偏偏就出在这里。GSX变成免费软件之后，对于免费软件自然不会提供技术支持。对于已经购买GSX的客户，在售后服务合同到期后不会在续签。于是，H君就陆续收到了许多客户的抱怨。
&#8220;我们的GSX需要升级，可是新版本的GSX，也就是VMware Server是免费软件！这怎么可以？你们要想办法继续提供售后支持。&#8221;
&#8220;当初你们说GSX虚拟技术多么好多么好，和你们公司的服务器捆绑推销给了我们，现在GSX你们不支持了？！那要我们怎么办？服务器也要退货！&#8221;
&#8230;&#8230;
最近几个月，H君都在头疼这些事情&#8212;&#8212;都是免费惹的祸啊。
【我们的服务器贵在哪里】
NEC最值得骄傲的计算机技术是什么？是超级计算机。NEC的超级计算机世界闻名，远销欧美科研机关，目前法国气象局的气象预报系统就是使用了NEC的超级计算机。
那么NEC最值得骄傲的计算机产品是什么？是ft服务器，也就是容错(fault-tolerant)服务器。台湾不是架设了和日本新干线媲美的高速铁路么，里面的核心控制服务器全都是用的NEC的ft服务器。ft服务器里面，所有的硬件&#8212;&#8212;CPU，内存，主板，硬盘，网卡等等全都是两套；服务器由4个模块构成：CPU Module #1, #2, PCI Module #1, #2。这四个模块以双工方式(duplex)同时运行，任何一个模块出了问题都可以零时延地fail over到另一个模块上。这样就保证了即便在万一的情况下（硬件的硬性损坏），也能365天 x 24小时无停止地运作。
看看 ft的主页就知道，ft的价格不菲。最最便宜的也要138万日元，按照今天的汇率（1人民币比16.18日元）相当于8万5千多人民币。在两三年前的汇率下相当于10万人民币（可见人民币上涨的速度真快呀~~~这是题外话）。而这仅仅是最便宜的ft。台湾高铁使用的ft，由于配置非常高，售价要在这个价格的十几倍以上，也就是一台服务器100万人民币以上。具体价格这里就不便介绍了。
不仅ft，NEC的其它服务器其实也都不便宜。这些昂贵的服务器，到底比那些杂牌的服务器强多少呢？
其实，从技术角度上讲，未必比那些杂牌服务器强很多，毕竟这个IT时代每个IT企业都必须掌握最新的技术才能生存。但是，包括NEC在内，这些大企业的产品的价值不仅在于产品本身。
前几个月某国某地ft服务器出现问题，更换了模块之后还是陆续出现问题。这里且不说问题的原因（其实很多都是人为造成的），单说出现问题后，由于频繁更换模块，已经没有备用的模块了。于是NEC就直接从日本空运过去十几个CPU Module和PCI Module，并直接派技术人员去更换、调查。这些就仿佛在说：&#8220;服务器出现问题了不怕，我们立刻免费给你换新的！又出问题了？那我们再给你免费换新的！&#8221;
这些更换用的模块、以及技师的海外出差费用都极其昂贵。用户花大价钱购买服务器，在某种程度上来说，购买的就是这种安心的售后服务。
【结语】
对于企业来说，采购时不仅要考虑当时的费用，而且要考虑到维护和持续使用时产生的费用&#8212;&#8212;也即TCO的概念。对于没有售后保障的免费产品，在TCO上没有任何优势而言，除了小规模、实验性的应用之外，对于企业来说是不大适合的。
]]></description>
			<content:encoded><![CDATA[<p>一个来月没写东西了，原因很简单，先是大病一场断断续续修养了两个星期；接着是新加坡出差；明天还要去北京&hellip;&hellip;日子就这么在疲倦和麻痹中流逝而去了。</p>
<p>今天说一说&ldquo;免费&rdquo;。人们都喜欢免费的东西&mdash;&mdash;从商场门口的免费品尝到网上的免费软件。只要是免费，就算品质不太好，服务不周到也就不大计较了。&ldquo;要饭吃还嫌馊？&rdquo;&mdash;&mdash;我头脑中映出的就是这句歇后语。</p>
<p>那么，在企业应用中事情又是如何呢？我身边最近发生了这样的一个真实的事例。</p>
<p>【都是免费惹的祸】</p>
<p>我们组的技术人员H君三年来一直在做VMware GSX Server的技术支持工作。</p>
<p>如大家所知道的那样，VMware GSX Server是VMware稍早期的产品，运行在Windows或Linux的Host OS之上。2006年2月，VMware公司宣布将最低售价为$1400美元的VMware GSX Server作为免费软件提供。7月，这款已经成为免费软件的VMware GSX Server以另一个名字推出&mdash;&mdash;VMware Server。</p>
<p>将收费软件变成免费软件，厂商、用户皆大欢喜，何乐而不为呢？</p>
<p>可是问题偏偏就出在这里。GSX变成免费软件之后，对于免费软件自然不会提供技术支持。对于已经购买GSX的客户，在售后服务合同到期后不会在续签。于是，H君就陆续收到了许多客户的抱怨。</p>
<p>&ldquo;我们的GSX需要升级，可是新版本的GSX，也就是VMware Server是免费软件！这怎么可以？你们要想办法继续提供售后支持。&rdquo;<br />
&ldquo;当初你们说GSX虚拟技术多么好多么好，和你们公司的服务器捆绑推销给了我们，现在GSX你们不支持了？！那要我们怎么办？服务器也要退货！&rdquo;<br />
&hellip;&hellip;</p>
<p>最近几个月，H君都在头疼这些事情&mdash;&mdash;都是免费惹的祸啊。</p>
<p>【我们的服务器贵在哪里】</p>
<p>NEC最值得骄傲的计算机技术是什么？是超级计算机。NEC的超级计算机世界闻名，远销欧美科研机关，目前法国气象局的气象预报系统就是使用了NEC的超级计算机。</p>
<p>那么NEC最值得骄傲的计算机产品是什么？是ft服务器，也就是容错(fault-tolerant)服务器。台湾不是架设了和日本新干线媲美的高速铁路么，里面的核心控制服务器全都是用的NEC的ft服务器。ft服务器里面，所有的硬件&mdash;&mdash;CPU，内存，主板，硬盘，网卡等等全都是两套；服务器由4个模块构成：CPU Module #1, #2, PCI Module #1, #2。这四个模块以双工方式(duplex)同时运行，任何一个模块出了问题都可以零时延地fail over到另一个模块上。这样就保证了即便在万一的情况下（硬件的硬性损坏），也能365天 x 24小时无停止地运作。</p>
<p>看看 ft的主页就知道，ft的价格不菲。最最便宜的也要138万日元，按照今天的汇率（1人民币比16.18日元）相当于8万5千多人民币。在两三年前的汇率下相当于10万人民币（可见人民币上涨的速度真快呀~~~这是题外话）。而这仅仅是最便宜的ft。台湾高铁使用的ft，由于配置非常高，售价要在这个价格的十几倍以上，也就是一台服务器100万人民币以上。具体价格这里就不便介绍了。</p>
<p>不仅ft，NEC的其它服务器其实也都不便宜。这些昂贵的服务器，到底比那些杂牌的服务器强多少呢？</p>
<p>其实，从技术角度上讲，未必比那些杂牌服务器强很多，毕竟这个IT时代每个IT企业都必须掌握最新的技术才能生存。但是，包括NEC在内，这些大企业的产品的价值不仅在于产品本身。</p>
<p>前几个月某国某地ft服务器出现问题，更换了模块之后还是陆续出现问题。这里且不说问题的原因（其实很多都是人为造成的），单说出现问题后，由于频繁更换模块，已经没有备用的模块了。于是NEC就直接从日本空运过去十几个CPU Module和PCI Module，并直接派技术人员去更换、调查。这些就仿佛在说：&ldquo;服务器出现问题了不怕，我们立刻免费给你换新的！又出问题了？那我们再给你免费换新的！&rdquo;</p>
<p>这些更换用的模块、以及技师的海外出差费用都极其昂贵。用户花大价钱购买服务器，在某种程度上来说，购买的就是这种安心的售后服务。</p>
<p>【结语】</p>
<p>对于企业来说，采购时不仅要考虑当时的费用，而且要考虑到维护和持续使用时产生的费用&mdash;&mdash;也即TCO的概念。对于没有售后保障的免费产品，在TCO上没有任何优势而言，除了小规模、实验性的应用之外，对于企业来说是不大适合的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/06/30/free-is-not-everything/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress 2.0.x bug: wpautop Generates needless br Tag for colgroup</title>
		<link>http://www.codesoil.net/2007/05/27/wordpress-20x-bug-wpautop-generates-needless-br-tag-for-colgroup/</link>
		<comments>http://www.codesoil.net/2007/05/27/wordpress-20x-bug-wpautop-generates-needless-br-tag-for-colgroup/#comments</comments>
		<pubDate>Sat, 26 May 2007 18:28:28 +0000</pubDate>
		<dc:creator>smalldust</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.codesoil.net/2007/05/27/wordpress-20x-bug-wpautop-generates-needless-for-colgroup/</guid>
		<description><![CDATA[在最近的一篇blog中，使用了colgroup HTML标签。没想到，使用了colgroup的帖子经过XHTML Validator的检查，发现居然不符合XHTML规范。究其原因，说是发现了如下错误：
Error Line 78 column 139: document type does not allow element &#34;br&#34; here. 
...ALIGN: center&#34;&#62;&#60;/col&#62;&#60;/colgroup&#62;&#60;br /&#62;
但是奇怪的是，我的源代码中，&#60;/colgroup&#62;后并没有&#60;br /&#62;。我们可以用W3Shool给出的最简单的例子进行实验：
&#60;table border=&#34;1&#34;&#62;
&#160; &#60;colgroup span=&#34;3&#34; style=&#34;color:#FF0000;&#34;&#62;&#60;/colgroup&#62;
&#160; &#60;tr&#62;
&#160;&#160;&#160; &#60;td&#62;1&#60;/td&#62;&#60;td&#62;2&#60;/td&#62;&#60;td&#62;3&#60;/td&#62;&#60;td&#62;4&#60;/td&#62;
&#160; &#60;/tr&#62;
&#60;/table&#62;
试着在Wordpress (2.0.x，包括最新的2.0.10。在2.2上则没有这个bug) 中编辑一个新帖子，在代码画面敲入上面这段代码，发布，再去看生成的HTML时就会发现变成了这个样子：
&#60;table border=&#34;1&#34;&#62;
&#160; &#60;colgroup span=&#34;3&#34; style=&#34;color:#FF0000;&#34;&#62;&#60;/colgroup&#62;&#60;br /&#62;
&#160; &#60;tr&#62;
&#160;&#160;&#160; &#60;td&#62;1&#60;/td&#62;&#60;td&#62;2&#60;/td&#62;&#60;td&#62;3&#60;/td&#62;&#60;td&#62;4&#60;/td&#62;
&#160; &#60;/tr&#62;
&#60;/table&#62;
由于&#60;/colgroup&#62;和&#60;tr&#62;之间是不允许有&#60;br/&#62;的，所以导致XHTML验证错误。
那么追根到底是在什么时候这个&#60;br/&#62;被添加到输出的HTML中的呢？调查了一下数据库，发现在数据库里面的内容还是没有&#60;br/&#62;的，这说明它是在读取post的内容时，由相关的Filter添加的。一个post的内容在被从数据库读出来，到被显示在网页上之间使用的是叫做the_content的Filter Tag。在Wordpress中，默认有如下Filter被添加到the_content的处理中：
add_filter('the_content', 'wptexturize');
add_filter('the_content', 'convert_smilies');
add_filter('the_content', 'convert_chars');
add_filter('the_content', 'wpautop');
经过检查，发现位于/wp-includes/functions-formatting.php中的wpautop函数中有如下代码：
function wpautop($pee, $br = 1) {
&#160;// &#8230;
&#160;if ($br) $pee = preg_replace(&#8216;&#124;(?&#60;!&#60;br /&#62;)\s*\n&#124;&#8217;, &#34;&#60;br /&#62;\n&#34;, $pee); [...]]]></description>
			<content:encoded><![CDATA[<p>在最近的一篇blog中，使用了<a href="http://www.w3schools.com/tags/tag_colgroup.asp">colgroup</a> HTML标签。没想到，使用了colgroup的帖子经过XHTML Validator的检查，发现居然不符合XHTML规范。究其原因，说是发现了如下错误：</p>
<blockquote class="reference" style="COLOR: rgb(0,0,0); FONT-FAMILY: Arial"><p>Error <em>Line 78 column 139</em>: <strong>document type does not allow element &quot;br&quot; here</strong>. <br />
<code style="BACKGROUND-COLOR: rgb(238,238,238)">...ALIGN: center&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;<span style="COLOR: rgb(255,0,0)"><strong>&lt;br /&gt;</strong></span></code></p></blockquote>
<p>但是奇怪的是，我的源代码中，&lt;/colgroup&gt;后并没有&lt;br /&gt;。我们可以用W3Shool给出的最简单的例子进行实验：</p>
<div class="ch_code_container">&lt;<span style="color:#0000ff">table</span> <span style="color:#ff0000">border</span>=&quot;1&quot;&gt;<br />
&nbsp; &lt;<span style="color:#0000ff">colgroup</span> <span style="color:#ff0000">span</span>=&quot;3&quot; <span style="color:#ff0000">style</span>=&quot;color:#FF0000;&quot;&gt;&lt;/<span style="color:#0000ff">colgroup</span>&gt;<br />
&nbsp; &lt;<span style="color:#0000ff">tr</span>&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;<span style="color:#0000ff">td</span>&gt;1&lt;/<span style="color:#0000ff">td</span>&gt;&lt;<span style="color:#0000ff">td</span>&gt;2&lt;/<span style="color:#0000ff">td</span>&gt;&lt;<span style="color:#0000ff">td</span>&gt;3&lt;/<span style="color:#0000ff">td</span>&gt;&lt;<span style="color:#0000ff">td</span>&gt;4&lt;/<span style="color:#0000ff">td</span>&gt;<br />
&nbsp; &lt;/<span style="color:#0000ff">tr</span>&gt;<br />
&lt;/<span style="color:#0000ff">table</span>&gt;</div>
<p>试着在Wordpress (2.0.x，包括最新的2.0.10。在2.2上则没有这个bug) 中编辑一个新帖子，在代码画面敲入上面这段代码，发布，再去看生成的HTML时就会发现变成了这个样子：</p>
<div class="ch_code_container">&lt;<span style="color:#0000ff">table</span> <span style="color:#ff0000">border</span>=&quot;1&quot;&gt;<br />
&nbsp; &lt;<span style="color:#0000ff">colgroup</span> <span style="color:#ff0000">span</span>=&quot;3&quot; <span style="color:#ff0000">style</span>=&quot;color:#FF0000;&quot;&gt;&lt;/<span style="color:#0000ff">colgroup</span>&gt;<strong>&lt;<span style="color:#0000ff">br</span> /&gt;</strong><br />
&nbsp; &lt;<span style="color:#0000ff">tr</span>&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;<span style="color:#0000ff">td</span>&gt;1&lt;/<span style="color:#0000ff">td</span>&gt;&lt;<span style="color:#0000ff">td</span>&gt;2&lt;/<span style="color:#0000ff">td</span>&gt;&lt;<span style="color:#0000ff">td</span>&gt;3&lt;/<span style="color:#0000ff">td</span>&gt;&lt;<span style="color:#0000ff">td</span>&gt;4&lt;/<span style="color:#0000ff">td</span>&gt;<br />
&nbsp; &lt;/<span style="color:#0000ff">tr</span>&gt;<br />
&lt;/<span style="color:#0000ff">table</span>&gt;</div>
<p>由于&lt;/colgroup&gt;和&lt;tr&gt;之间是不允许有&lt;br/&gt;的，所以导致XHTML验证错误。</p>
<p>那么追根到底是在什么时候这个&lt;br/&gt;被添加到输出的HTML中的呢？调查了一下数据库，发现在数据库里面的内容还是没有&lt;br/&gt;的，这说明它是在读取post的内容时，由相关的Filter添加的。一个post的内容在被从数据库读出来，到被显示在网页上之间使用的是叫做the_content的Filter Tag。在Wordpress中，默认有如下Filter被添加到the_content的处理中：</p>
<p><code>add_filter('the_content', 'wptexturize');<br />
add_filter('the_content', 'convert_smilies');<br />
add_filter('the_content', 'convert_chars');<br />
add_filter('the_content', 'wpautop');</code></p>
<p>经过检查，发现位于/wp-includes/functions-formatting.php中的wpautop函数中有如下代码：</p>
<div style="word-wrap: break-word" class="ch_code_container"><span style="FONT-WEIGHT: bold; COLOR: rgb(0,0,0)">function</span> wpautop<span style="COLOR: rgb(102,204,102)">(</span><span style="COLOR: rgb(0,0,255)">$pee</span>, <span style="COLOR: rgb(0,0,255)">$br</span> = <span style="COLOR: rgb(204,102,204)">1</span><span style="COLOR: rgb(102,204,102)">)</span> <span style="COLOR: rgb(102,204,102)">{</span><br />
&nbsp;<span style="COLOR: rgb(128,128,128); FONT-STYLE: italic">// &hellip;</span><br />
&nbsp;<span style="COLOR: rgb(177,177,0)">if</span> <span style="COLOR: rgb(102,204,102)">(</span><span style="COLOR: rgb(0,0,255)">$br</span><span style="COLOR: rgb(102,204,102)">)</span> <span style="COLOR: rgb(0,0,255)">$pee</span> = <a href="http://www.php.net/preg_replace"><span style="COLOR: rgb(0,0,102)">preg_replace</span></a><span style="COLOR: rgb(102,204,102)">(</span><span style="COLOR: rgb(255,0,0)">&lsquo;|(?&lt;!&lt;br /&gt;)<span style="FONT-WEIGHT: bold; COLOR: rgb(0,0,153)">\s</span>*<span style="FONT-WEIGHT: bold; COLOR: rgb(0,0,153)">\n</span>|&rsquo;</span>, <span style="COLOR: rgb(255,0,0)">&quot;&lt;br /&gt;<span style="FONT-WEIGHT: bold; COLOR: rgb(0,0,153)">\n</span>&quot;</span>, <span style="COLOR: rgb(0,0,255)">$pee</span><span style="COLOR: rgb(102,204,102)">)</span>; <span style="COLOR: rgb(128,128,128); FONT-STYLE: italic">// optionally make line breaks</span><br />
&nbsp;<span style="COLOR: rgb(0,0,255)">$pee</span> = <a href="http://www.php.net/preg_replace"><span style="COLOR: rgb(0,0,102)">preg_replace</span></a><span style="COLOR: rgb(102,204,102)">(</span><span style="COLOR: rgb(255,0,0)">&lsquo;!(&lt;/?(?:table|thead|tfoot|caption|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^&gt;]*&gt;)<span style="FONT-WEIGHT: bold; COLOR: rgb(0,0,153)">\s</span>*&lt;br /&gt;!&rsquo;</span>, <span style="COLOR: rgb(255,0,0)">&quot;$1&quot;</span>, <span style="COLOR: rgb(0,0,255)">$pee</span><span style="COLOR: rgb(102,204,102)">)</span>;<br />
&nbsp;<span style="COLOR: rgb(128,128,128); FONT-STYLE: italic">// &hellip;</span><br />
&nbsp;<span style="COLOR: rgb(177,177,0)">return</span> <span style="COLOR: rgb(0,0,255)">$pee</span>; <br />
<span style="COLOR: rgb(102,204,102)">}</span></div>
<p>可见，该函数中用preg_replace函数通过正则表达式删除掉了添加在table，thead，tfoot等后面的&lt;br /&gt;，却没有删除colgroup后面的&lt;br/&gt;。因此，只要在这一行添加colgroup即可修正这个bug。将修改后的functions-formatting.php重新上传到服务器后，在此进行XHTML验证，正常通过。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codesoil.net/2007/05/27/wordpress-20x-bug-wpautop-generates-needless-br-tag-for-colgroup/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
