﻿<?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>Timothy&#039;s Space</title>
	<atom:link href="http://www.xiaozhou.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xiaozhou.net</link>
	<description>君看一叶舟，出没风波里</description>
	<lastBuildDate>Sun, 22 Apr 2012 14:05:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>那些年，哥用过的鼠标们</title>
		<link>http://www.xiaozhou.net/ittech/hardware/the_mouses_i_used-2012-04-22.htm</link>
		<comments>http://www.xiaozhou.net/ittech/hardware/the_mouses_i_used-2012-04-22.htm#comments</comments>
		<pubDate>Sun, 22 Apr 2012 14:02:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[电脑硬件]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[mogo]]></category>
		<category><![CDATA[optical]]></category>
		<category><![CDATA[razer]]></category>
		<category><![CDATA[wireless]]></category>
		<category><![CDATA[光电]]></category>
		<category><![CDATA[罗技]]></category>
		<category><![CDATA[蓝牙]]></category>
		<category><![CDATA[金甲虫2]]></category>
		<category><![CDATA[铜斑蛇]]></category>
		<category><![CDATA[魔蝎]]></category>
		<category><![CDATA[鼠标]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1410</guid>
		<description><![CDATA[这个标题，还真是与时俱进啊&#8230;&#8230; 周末整理书房，翻出了很多个鼠标来，原来，哥还真是个不折不扣的键鼠控&#8230;&#8230; 遂为它们一一拭去上面的灰尘，让这些鼠标们出来晒晒太阳。 先来个集体合照吧： 参加此次合影的有（从上到下，从左到右，排名不分先后）： 微软的Desktop Elite无线键鼠套装中的鼠标，罗技V470，Microsoft BlueTooth 5000，魔蝎-金甲虫2，MoGo Mouse BlueTooth，Microsot Wireless Optical Mouse，最后一个：Razer铜斑蛇&#8230;&#8230; 很不幸，还有个罗技的M525，由于放在公司，没能参加这次的合影&#8230;&#8230; 下面一一介绍一下这些鼠标： 首先，是2.4G类的无线鼠标 第一个鼠标，是微软的Wireless Optical Mouse，是当时MVP的礼品。 入手时间：2005年左右 目前状态：珍藏中 这个鼠标，需要两节5号电池驱动。不过由于当时的技术不是很先进，接收器很大，是个椭圆形的无线接收器。鼠标本身也没有设计的有开关。由于是光电鼠标，所以下面那个LED灯会一直亮着。这样，直接导致一对电池的续航能力不是很长，估计还不到一个月&#8230;&#8230; 第二个鼠标，是微软的Desktop Elite键鼠套装套装中的鼠标，键盘也还健在。这个是当时用MVP的150刀礼品券，从微软的员工在线商店购入，微软负责从美帝发货回来的， 入手时间：2005年左右 目前状态：退役，进灰中 也是需要一对5号电池驱动，光电鼠标，鼠标本身无开关，电池续航能力也不长。 其实2.4G类的鼠标，最近俺还入手了一个，罗技的M525。 入手时间：2012年2月 目前状态：服役中 由于硬件技术的不断进步，这个罗技的鼠标，比起前两款，算是强很多了。电池续航能力也长，官方号称，一对五号电池能续航三年，天啊&#8230;&#8230; 接收器也很小，几乎可以忽略。 有关详细介绍，可以查看偶的另外一篇文章：《新年新鼠标》 接下来出场的，是蓝牙系列： 第一个，是Microsoft BlueTooth 5000，很小巧，一对7号电池即可驱动，能续航一个月左右。也是用150刀的MVP礼品券，购于微软的在线商店。 入手时间：应该是07年或者08年 目前状态：服役中 第二个，是罗技的V470蓝牙激光鼠标。这款鼠标，算是陪伴哥时间很长的一个鼠标了，在换上罗技的M525之前，每天上班都使用，一直用了大概有4年。这款鼠标，一直陪伴着哥，从Microsoft，到Moto&#8230;&#8230; 算得上是功不可没了，哈哈。 入手时间：08年初 目前状态：退役中 一对五号电池，大概能续航一个月左右。在我的小黑T61没坏掉之前，感觉这款鼠标和小黑很配。唯一的缺点，就是由于使用蓝牙，会感觉鼠标指针有点漂移，不过习惯了也觉得没啥。 第三个，也是MVP的礼品，其实这款鼠标是MoGO生产的，只不过贴上了MVP的标签，这款鼠标，是当时号称世界上最轻薄的鼠标，感觉挺适合出差使用。 入手时间：08年左右 目前状态：珍藏中 这款鼠标，设计得比较巧妙的一个地方，是内置了电池，可以在你不使用的时候，随时把鼠标插入笔记本的PCMCIA插槽进行充电。 鼠标底部有一个支架，只要把支架架起来，就可以使用了，如图： 至于手感，说不上有多好，但是确实很小巧，算得上出差旅行必备佳品啊，呵呵&#8230;&#8230; 最后出场的，是游戏鼠标类： 游戏鼠标，和普通鼠标不同的地方，是可以自己根据自己的喜好，设置DPI，适合不同的游戏。 左边的那款，是Razer的铜斑蛇，购于淘宝 入手时间：09年左右 [...]]]></description>
			<content:encoded><![CDATA[<p>这个标题，还真是与时俱进啊&hellip;&hellip;</p>
<p>周末整理书房，翻出了很多个鼠标来，原来，哥还真是个不折不扣的键鼠控&hellip;&hellip; 遂为它们一一拭去上面的灰尘，让这些鼠标们出来晒晒太阳。</p>
<p>先来个集体合照吧：</p>
<p><a href="http://www.xiaozhou.net/pics/7849154018c5_12294/all.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="all" src="http://www.xiaozhou.net/pics/7849154018c5_12294/all_thumb.jpg" border="0" alt="all" width="644" height="431" /><span id="more-1410"></span></a></p>
<p>参加此次合影的有（从上到下，从左到右，排名不分先后）： 微软的Desktop Elite无线键鼠套装中的鼠标，罗技V470，Microsoft BlueTooth 5000，魔蝎-金甲虫2，MoGo Mouse BlueTooth，Microsot Wireless Optical Mouse，最后一个：Razer铜斑蛇&hellip;&hellip;</p>
<p>很不幸，还有个罗技的M525，由于放在公司，没能参加这次的合影&hellip;&hellip;</p>
<p>下面一一介绍一下这些鼠标：</p>
<p>首先，是2.4G类的无线鼠标</p>
<p><a href="http://www.xiaozhou.net/pics/7849154018c5_12294/24G.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="24G" src="http://www.xiaozhou.net/pics/7849154018c5_12294/24G_thumb.jpg" border="0" alt="24G" width="644" height="429" /></a></p>
<p>第一个鼠标，是微软的Wireless Optical Mouse，是当时MVP的礼品。</p>
<p>入手时间：2005年左右</p>
<p>目前状态：珍藏中</p>
<p>这个鼠标，需要两节5号电池驱动。不过由于当时的技术不是很先进，接收器很大，是个椭圆形的无线接收器。鼠标本身也没有设计的有开关。由于是光电鼠标，所以下面那个LED灯会一直亮着。这样，直接导致一对电池的续航能力不是很长，估计还不到一个月&hellip;&hellip;</p>
<p>第二个鼠标，是微软的Desktop Elite键鼠套装套装中的鼠标，键盘也还健在。这个是当时用MVP的150刀礼品券，从微软的员工在线商店购入，微软负责从美帝发货回来的，</p>
<p>入手时间：2005年左右</p>
<p>目前状态：退役，进灰中</p>
<p>也是需要一对5号电池驱动，光电鼠标，鼠标本身无开关，电池续航能力也不长。</p>
<p>其实2.4G类的鼠标，最近俺还入手了一个，罗技的M525。</p>
<p>入手时间：2012年2月</p>
<p>目前状态：服役中</p>
<p>由于硬件技术的不断进步，这个罗技的鼠标，比起前两款，算是强很多了。电池续航能力也长，官方号称，一对五号电池能续航三年，天啊&hellip;&hellip; 接收器也很小，几乎可以忽略。</p>
<p>有关详细介绍，可以查看偶的另外一篇文章：<a href="http://www.xiaozhou.net/ittech/hardware/new_mouse_for_new_year-2012-02-02.htm" target="_blank">《新年新鼠标》</a></p>
<p>接下来出场的，是蓝牙系列：</p>
<p><a href="http://www.xiaozhou.net/pics/7849154018c5_12294/bluetooth.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="bluetooth" src="http://www.xiaozhou.net/pics/7849154018c5_12294/bluetooth_thumb.jpg" border="0" alt="bluetooth" width="644" height="429" /></a></p>
<p>第一个，是Microsoft BlueTooth 5000，很小巧，一对7号电池即可驱动，能续航一个月左右。也是用150刀的MVP礼品券，购于微软的在线商店。</p>
<p>入手时间：应该是07年或者08年</p>
<p>目前状态：服役中</p>
<p>第二个，是罗技的V470蓝牙激光鼠标。这款鼠标，算是陪伴哥时间很长的一个鼠标了，在换上罗技的M525之前，每天上班都使用，一直用了大概有4年。这款鼠标，一直陪伴着哥，从Microsoft，到Moto&hellip;&hellip; 算得上是功不可没了，哈哈。</p>
<p>入手时间：08年初</p>
<p>目前状态：退役中</p>
<p>一对五号电池，大概能续航一个月左右。在我的小黑T61没坏掉之前，感觉这款鼠标和小黑很配。唯一的缺点，就是由于使用蓝牙，会感觉鼠标指针有点漂移，不过习惯了也觉得没啥。</p>
<p>第三个，也是MVP的礼品，其实这款鼠标是MoGO生产的，只不过贴上了MVP的标签，这款鼠标，是当时号称世界上最轻薄的鼠标，感觉挺适合出差使用。</p>
<p>入手时间：08年左右</p>
<p>目前状态：珍藏中</p>
<p>这款鼠标，设计得比较巧妙的一个地方，是内置了电池，可以在你不使用的时候，随时把鼠标插入笔记本的PCMCIA插槽进行充电。</p>
<p>鼠标底部有一个支架，只要把支架架起来，就可以使用了，如图：</p>
<p><a href="http://www.xiaozhou.net/pics/7849154018c5_12294/bluetooth2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="bluetooth2" src="http://www.xiaozhou.net/pics/7849154018c5_12294/bluetooth2_thumb.jpg" border="0" alt="bluetooth2" width="644" height="428" /></a></p>
<p>至于手感，说不上有多好，但是确实很小巧，算得上出差旅行必备佳品啊，呵呵&hellip;&hellip;</p>
<p>最后出场的，是游戏鼠标类：</p>
<p><a href="http://www.xiaozhou.net/pics/7849154018c5_12294/game.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="game" src="http://www.xiaozhou.net/pics/7849154018c5_12294/game_thumb.jpg" border="0" alt="game" width="644" height="431" /></a></p>
<p>游戏鼠标，和普通鼠标不同的地方，是可以自己根据自己的喜好，设置DPI，适合不同的游戏。</p>
<p>左边的那款，是Razer的铜斑蛇，购于淘宝</p>
<p>入手时间：09年左右</p>
<p>目前状态：服役中</p>
<p>Razer的鼠标，总是比它的键盘要出名。这是一款绿色的铜斑蛇，晚上接上电脑，感觉呼吸灯很有意思。手感方面，由于Razer的鼠标，大都做得稍微长一些，不知道是不是为了迎合老外们的手形，初次使用，有些不习惯，久了感觉还行。</p>
<p>右边那款，是最近入的，魔蝎-金甲虫2，外观比较酷，其实这还是一款国货游戏鼠标。</p>
<p>入手时间：2012年</p>
<p>目前状态：服役中</p>
<p>感觉了一下金甲虫2，外形更适合国人的手形，鼠标下面有调整DPI和反馈率的开关，也是有呼吸灯，并且，当你设置不同DPI的时候，呼吸灯的颜色会变成不同的颜色。这款鼠标，感觉做工都很不错，谁说咱国货就不能有精品呢？</p>
<p>最后来一张晚上的呼吸灯效果，准备收工&hellip;&hellip;</p>
<p><a href="http://www.xiaozhou.net/pics/7849154018c5_12294/game2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="game2" src="http://www.xiaozhou.net/pics/7849154018c5_12294/game2_thumb.jpg" border="0" alt="game2" width="364" height="484" /></a></p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/hardware/the_mouses_i_used-2012-04-22.htm/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>ArchLinux配置Samba服务与Windows共享文件</title>
		<link>http://www.xiaozhou.net/ittech/linux-ittech/share_movie_between_archlinux_and_win7_via_samba-2012-04-21.htm</link>
		<comments>http://www.xiaozhou.net/ittech/linux-ittech/share_movie_between_archlinux_and_win7_via_samba-2012-04-21.htm#comments</comments>
		<pubDate>Fri, 20 Apr 2012 16:42:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[PT]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[共享]]></category>
		<category><![CDATA[电影]]></category>
		<category><![CDATA[高清]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1409</guid>
		<description><![CDATA[由于最近加班，俺的高清下载机中，已经累积了200G+的高清电影了，嘿嘿，看来平时的带宽没浪费，充分利用了。在这之前，由于懒于配置Samba，我都是偷懒，用的SFTP，通过Linux帐号来登录下载机，然后把要看的电影，一个一个的用SFTP的方式，给拖到我的电脑上，再欣赏。其实这样的效率挺低的，而且又浪费硬盘，又浪费时间。 Linux的Samba，为Linux与Linux之间，还有Linux与Windows之间，提供了一种很好的文件共享的方式。周末了，抽了点时间，把Samba给配置好了。这样，就可以直接在我的电脑上，通过共享目录的方式，来访问高清下载机中的高清电影了，还可以直接播放，方便多了&#8230;&#8230; 下面记录一下ArchLinux中配置Samba的过程，留作备份。 首先，是安装Samba，ArchLinux可以直接从源中获取并安装Samba： ?View Code BASH1 pacman -S samba 等待数秒，安装成功后，你会在/etc中找到一个叫samba的目录，进入这个目录，有一个默认的配置文件样本，叫做smb.conf.default。这是官方的范本配置文件，里面有详细的注释，和每一个配置项的解释。不过这文件挺长，建议你有空的时候，可以详细看看每个参数的含义。这里俺就不累述了，还是来个简洁点的配置吧： 在/etc/samba目录中，直接建立一个空的smb.conf，然后将如下内容粘贴过去： ?View Code BASH1 2 3 4 5 6 7 8 9 10 11 &#91;global&#93; workgroup = WORKGROUP security = user &#160; &#91;Movies&#93; path = /home/transmission/Downloads valid users = samba public = no writable = yes printable = no create mask = 0644 这个够简洁了吧？简单说明一下，global配置节，是一个全局配置节，里面配置了两项： [...]]]></description>
			<content:encoded><![CDATA[<p>由于最近加班，俺的高清下载机中，已经累积了200G+的高清电影了，嘿嘿，看来平时的带宽没浪费，充分利用了。在这之前，由于懒于配置Samba，我都是偷懒，用的SFTP，通过Linux帐号来登录下载机，然后把要看的电影，一个一个的用SFTP的方式，给拖到我的电脑上，再欣赏。其实这样的效率挺低的，而且又浪费硬盘，又浪费时间。</p>
<p>Linux的Samba，为Linux与Linux之间，还有Linux与Windows之间，提供了一种很好的文件共享的方式。周末了，抽了点时间，把Samba给配置好了。这样，就可以直接在我的电脑上，通过共享目录的方式，来访问高清下载机中的高清电影了，还可以直接播放，方便多了&hellip;&hellip;<span id="more-1409"></span></p>
<p>下面记录一下ArchLinux中配置Samba的过程，留作备份。</p>
<p>首先，是安装Samba，ArchLinux可以直接从源中获取并安装Samba：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1409code3'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p14093"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1409code3"><pre class="bash" style="font-family:monospace;">pacman <span style="color: #660033;">-S</span> samba</pre></td></tr></table></div>

<p>等待数秒，安装成功后，你会在/etc中找到一个叫samba的目录，进入这个目录，有一个默认的配置文件样本，叫做smb.conf.default。这是官方的范本配置文件，里面有详细的注释，和每一个配置项的解释。不过这文件挺长，建议你有空的时候，可以详细看看每个参数的含义。这里俺就不累述了，还是来个简洁点的配置吧：</p>
<p>在/etc/samba目录中，直接建立一个空的smb.conf，然后将如下内容粘贴过去：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1409code4'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p14094"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p1409code4"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>global<span style="color: #7a0874; font-weight: bold;">&#93;</span>
workgroup = WORKGROUP
security = user
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>Movies<span style="color: #7a0874; font-weight: bold;">&#93;</span>
path = <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>transmission<span style="color: #000000; font-weight: bold;">/</span>Downloads
valid <span style="color: #c20cb9; font-weight: bold;">users</span> = samba
public = no
writable = <span style="color: #c20cb9; font-weight: bold;">yes</span>
printable = no
create mask = 0644</pre></td></tr></table></div>

<p>这个够简洁了吧？简单说明一下，global配置节，是一个全局配置节，里面配置了两项：</p>
<p>workgroup，这个顾名思义，计算机的工作组名称，比如我是和我的Win7来共享文件，最好把工作组和我的Win7设成通一个工作组，这样方便Win7通过网络发现来找到我的下载机。这里，我的win7工作组名字，就叫做：WORKGROUP了</p>
<p>security，这是指共享目录的安全认证形式，security的值，有两种可以设置：</p>
<p>第一种，是设成上面例子中的user，意思是在访问共享目录的时候，需要通过用户名和密码的方式来认证，可以给共享目录提供一定的安全性保护。</p>
<p>第二种，是设成share，这样的话，网络中的任何人都可以通过共享目录的方式来访问你共享的内容了。</p>
<p>在这里，我选择了用户名与密码认证的方式，所以设成了user</p>
<p>下面的Movies节点，可以有多个(如果你想设置多个共享目录的话)</p>
<p>[Movies] 这里设置的名字，就是能够在Windows中看到的名字，可以随意更改</p>
<p>下面的path，就是你想共享的Linux目录了，我设成了我的Transmission的下载目录。</p>
<p>后面的valid users，是一个用户帐号，也即通过用户名和密码来访问共享目录的那个帐号，如果你把security设成share，这一项可以去掉。</p>
<p>下面是一些权限的设置，以及是否允许访问者有写入共享目录的权限，各个参数可以查看Samba文档，就不一一介绍了。</p>
<p>最后，说一下security设成user后，帐号的设置问题。</p>
<p>首先，你可以添加一个新的Linux帐号，专门用来访问共享目录用。比如，我就添加了一个帐号，叫做Samba</p>
<p>然后就是给帐号设置访问共享目录的密码，这里需要注意，密码不是通过Linux命令passwd来设置的。这里的密码，是指Samba的密码，而不是Linux密码。</p>
<p>所以，得用命令 pdbedit &ndash;a &ndash;u  (username)来修改Samba密码。</p>
<p>设置好后，就可以启动Samba服务了，如果需要开机自动启动Samba，记得把Samba加入到/etc/rc.conf中。</p>
<p>最后一步，直接访问Win7的网络，如果你的设置没问题，就能一次性成功了&hellip;&hellip; 启用了Samba服务的高清下载机，能被Win7立马发现：</p>
<p><a href="http://www.xiaozhou.net/pics/ArchLinuxSamba_2E1/samba1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="samba1" src="http://www.xiaozhou.net/pics/ArchLinuxSamba_2E1/samba1_thumb.jpg" border="0" alt="samba1" width="477" height="281" /></a></p>
<p>双击进入，需要输入Samba用户名与密码验证，最后，高清电影就出现在眼前了：</p>
<p><a href="http://www.xiaozhou.net/pics/ArchLinuxSamba_2E1/samba2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="samba2" src="http://www.xiaozhou.net/pics/ArchLinuxSamba_2E1/samba2_thumb.jpg" border="0" alt="samba2" width="489" height="254" /></a></p>
<p>双击电影，即可通过家里的局域网在线播放了&hellip;&hellip; 打完收工，看电影去！</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/linux-ittech/share_movie_between_archlinux_and_win7_via_samba-2012-04-21.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>VS2010中添加WCF引用的问题</title>
		<link>http://www.xiaozhou.net/dotnetdevelopment/problem_when_adding_wcf_service_reference-2012-04-15.htm</link>
		<comments>http://www.xiaozhou.net/dotnetdevelopment/problem_when_adding_wcf_service_reference-2012-04-15.htm#comments</comments>
		<pubDate>Sun, 15 Apr 2012 12:43:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[.NET开发]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[wcf]]></category>
		<category><![CDATA[引用]]></category>
		<category><![CDATA[服务]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1408</guid>
		<description><![CDATA[最近在公司的项目中，遇到WCF相关的各种问题，不得不说，WCF这东东虽好，不过还是有很多不足的地方，希望微软能够持续改进。前一段时间遇到的问题，就是其中的一个，问题具体情况如下： 当你在使用Add service reference欲添加一个WCF服务的时候，在Add service reference窗口会遇到如下的错误： The maximum nametable character count quota (16384) has been exceeded while reading XML data. The nametable is a data structure used to store strings encountered during XML processing &#8211; long XML documents with non-repeating element names, attribute names and attribute values may trigger this quota. This quota may be [...]]]></description>
			<content:encoded><![CDATA[<p>最近在公司的项目中，遇到WCF相关的各种问题，不得不说，WCF这东东虽好，不过还是有很多不足的地方，希望微软能够持续改进。前一段时间遇到的问题，就是其中的一个，问题具体情况如下：</p>
<p>当你在使用Add service reference欲添加一个WCF服务的时候，在Add service reference窗口会遇到如下的错误：</p>
<p><span style="color: #ff0000;">The maximum nametable character count quota (16384) has been exceeded while reading XML data. The nametable is a data structure used to store strings encountered during XML processing &#8211; long XML documents with non-repeating element names, attribute names and attribute values may trigger this quota. This quota may be increased by changing the MaxNameTableCharCount property on the XmlDictionaryReaderQuotas object used when creating the XML reader.<span id="more-1408"></span></span></p>
<p><span style="color: #000000;"><a href="http://www.xiaozhou.net/pics/f80b318aa730_11D42/wcf-img.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="wcf-img" src="http://www.xiaozhou.net/pics/f80b318aa730_11D42/wcf-img_thumb.jpg" border="0" alt="wcf-img" width="534" height="437" /></a></span></p>
<p><span style="color: #000000;">从这个错误的描述，可以看出，显然在添加服务时，获取到的元数据信息超出了这个添加引用工具的最大值，从图中可以看出，VS2010提示我们，MaxNameTableCharCount这个属性的默认值为16384，其实已经无法满足我们生成这个接口所获取的元数据大小的需要。只要我们手动去修改这个值，即可让VS2010成功获取元数据，并生成service reference。</span></p>
<p><span style="color: #000000;">不过，要到哪里去修改这个值呢？检视了一下我们工程中的app.config，发现工程中的值已经设定为比16384更大了，应该不是这个地方。原来，获取元数据这个步骤，是VS2010本身来获取的，因此，我们得修改VS2010本身的app config文件。</span></p>
<p><span style="color: #000000;">定位到VS2010在你电脑上安装的地址，比如，我把VS2010安装在电脑的D盘上，因此，我的地址是：D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE</span></p>
<p><span style="color: #000000;">接下来，需要修改文件：devenv.exe.config</span></p>
<p><span style="color: #000000;">在文件中加入如下的配置节（<span style="color: #ff0000;">注意，这个配置节一定不要放在configSections的前面，否则会出错</span>）</span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1408code6'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p14086"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p1408code6"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;system.serviceModel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;bindings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;netTcpBinding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;binding</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;MexBinding&quot;</span> <span style="color: #000066;">maxBufferPoolSize</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span>            <span style="color: #000066;">maxBufferSize</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span> <span style="color: #000066;">maxReceivedMessageSize</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;readerQuotas</span> <span style="color: #000066;">maxDepth</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span> <span style="color: #000066;">maxStringContentLength</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span>              <span style="color: #000066;">maxArrayLength</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span> <span style="color: #000066;">maxBytesPerRead</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span> <span style="color: #000066;">maxNameTableCharCount</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;security</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;None&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/binding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/netTcpBinding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/bindings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;client<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;endpoint</span> <span style="color: #000066;">binding</span>=<span style="color: #ff0000;">&quot;netTcpBinding&quot;</span> <span style="color: #000066;">bindingConfiguration</span>=<span style="color: #ff0000;">&quot;MexBinding&quot;</span>                        <span style="color: #000066;">contract</span>=<span style="color: #ff0000;">&quot;IMetadataExchange&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;net.tcp&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/client<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/system.serviceModel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>添加完毕后，退出并重启VS2010，然后重新添加服务引用，问题解决！</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/dotnetdevelopment/problem_when_adding_wcf_service_reference-2012-04-15.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>利用DNSPod与脚本实现属于自己的DDNS</title>
		<link>http://www.xiaozhou.net/ittech/software/setup_your_own_ddns_via_dnspod_and_script-2012-04-07.htm</link>
		<comments>http://www.xiaozhou.net/ittech/software/setup_your_own_ddns_via_dnspod_and_script-2012-04-07.htm#comments</comments>
		<pubDate>Sat, 07 Apr 2012 12:58:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[软件使用]]></category>
		<category><![CDATA[ddns]]></category>
		<category><![CDATA[DNSPod]]></category>
		<category><![CDATA[动态解析]]></category>
		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1406</guid>
		<description><![CDATA[这篇文章也是PT下载机折腾系列博文的续篇，呵呵。有了PT下载机，也装好了Transmission，其实还有个最大的需求，就是希望能在地球上的任何一处地方访问和管理PT下载。关于俺朝的ADSL，大家都懂的，由于IP资源的缺乏，大多ADSL都用的不固定IP。也即，当你的ADSL断掉后重拨的话，你的公网IP是会变化的。基于这样的情况，配置一个动态DNS就是必不可少的了。 所谓动态DNS，一般是以一个普通的免费二级域名为基础，在客户端获取到公网IP后，动态去更新二级域名的解析记录，从而可以通过屏蔽IP变化的方式，实现通过域名来进行访问的技术。现在的DDNS，一般分为两种实现方式：第一种，是路由器内置了这样的功能和软件，只要你在路由器进行正确的配置，路由器会把获取到的IP自动给你更新到DDNS服务商那里。第二种，是桌面客户端的方式，比如一个运行在windows下面的程序，获取到公网IP后，也去动态更新你的域名解析记录。 如果能用路由器，那是最方便的，国产的大多数路由器都提供DDNS的功能。不过我那个刚买的路由器就悲催了，官方固件里面只提供一家DDNS服务商，叫啥DynDNS.org，上去官方网站看了看，他们提供的服务还是收费的，在免费使用一定时间后，就需要收费了，相当的杯具啊&#8230;&#8230; 虽然一年20到的价格不算很贵，不过我觉得实在是没有这个必要。 通过强大的Google，哥终于找到了另外一种解决办法，就是通过DNSPod来实现自己的DDNS。 DNSPod是国内比较知名的DNS解析服务提供商，他们不但提供免费的域名解析，其实你去官网看看，就会发现，他们的系统还提供API调用的方式来实现更多自动化的功能。偶下载了一份他家的API文档，大致一看，功能非常的丰富和详尽。 正好，我的域名也放在DNSPod解析，这样也为实现DDNS提供了前提条件。 如果你想用DNSPod来实现DDNS，你得满足一下的两个条件： 首先，你得有一个属于自己的域名，不管是.net还是.com还是.org等等，反正是一个属于自己的域名。 其次，你得把你的域名的name server改到DNSPod去。不管你的域名托管在哪家服务商，name server的地址是可以自己修改的。你可以在DNSPod注册一个帐号，然后获取到name server地址，填到你的域名设置里面，等待生效。 待生效后，你就可以在DNSPod来添加和维护你的域名解析记录了。 如果你满足了上面的条件，那你就可以通过这里的方式来实现DDNS了： https://www.dnspod.cn/Support/Api DNSPod提供的API，也有很多网上的童鞋，做出了很多的第三方项目，实现DDNS的功能。由于我的PT机器用的Linux，所以，我选择了那个SSH的项目。作者的Blog有具体的说明，只要下载好脚本，填好你用来作为DDNS的二级域名，运行即可。这里，还得注意一下，这个二级域名要事先在DNSPod的系统里面添加好。 到此，利用DNSPod就可以实现属于自己的DDNS了，这样，通过路由器映射端口，哥可以在世界上任何一个有互联网的地方访问俺运行在家里的PT下载机了&#8230;&#8230; PS：最近俺在学习Ruby，在研究了DNSPod的API之后，打算也用Ruby来做一个DDNS的第三方项目。目前已经完成接近50%，大家期待着吧，哈哈哈哈&#8230;&#8230; 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>这篇文章也是PT下载机折腾系列博文的续篇，呵呵。有了PT下载机，也装好了Transmission，其实还有个最大的需求，就是希望能在地球上的任何一处地方访问和管理PT下载。关于俺朝的ADSL，大家都懂的，由于IP资源的缺乏，大多ADSL都用的不固定IP。也即，当你的ADSL断掉后重拨的话，你的公网IP是会变化的。基于这样的情况，配置一个动态DNS就是必不可少的了。<span id="more-1406"></span></p>
<p>所谓动态DNS，一般是以一个普通的免费二级域名为基础，在客户端获取到公网IP后，动态去更新二级域名的解析记录，从而可以通过屏蔽IP变化的方式，实现通过域名来进行访问的技术。现在的DDNS，一般分为两种实现方式：第一种，是路由器内置了这样的功能和软件，只要你在路由器进行正确的配置，路由器会把获取到的IP自动给你更新到DDNS服务商那里。第二种，是桌面客户端的方式，比如一个运行在windows下面的程序，获取到公网IP后，也去动态更新你的域名解析记录。</p>
<p>如果能用路由器，那是最方便的，国产的大多数路由器都提供DDNS的功能。不过我那个刚买的路由器就悲催了，官方固件里面只提供一家DDNS服务商，叫啥DynDNS.org，上去官方网站看了看，他们提供的服务还是收费的，在免费使用一定时间后，就需要收费了，相当的杯具啊&hellip;&hellip; 虽然一年20到的价格不算很贵，不过我觉得实在是没有这个必要。</p>
<p>通过强大的Google，哥终于找到了另外一种解决办法，就是通过DNSPod来实现自己的DDNS。</p>
<p>DNSPod是国内比较知名的DNS解析服务提供商，他们不但提供免费的域名解析，其实你去官网看看，就会发现，他们的系统还提供API调用的方式来实现更多自动化的功能。偶下载了一份他家的API文档，大致一看，功能非常的丰富和详尽。</p>
<p>正好，我的域名也放在DNSPod解析，这样也为实现DDNS提供了前提条件。</p>
<p>如果你想用DNSPod来实现DDNS，你得满足一下的两个条件：</p>
<p>首先，你得有一个属于自己的域名，不管是.net还是.com还是.org等等，反正是一个属于自己的域名。</p>
<p>其次，你得把你的域名的name server改到DNSPod去。不管你的域名托管在哪家服务商，name server的地址是可以自己修改的。你可以在DNSPod注册一个帐号，然后获取到name server地址，填到你的域名设置里面，等待生效。</p>
<p>待生效后，你就可以在DNSPod来添加和维护你的域名解析记录了。</p>
<p>如果你满足了上面的条件，那你就可以通过这里的方式来实现DDNS了： <a href="https://www.dnspod.cn/Support/Api">https://www.dnspod.cn/Support/Api</a></p>
<p>DNSPod提供的API，也有很多网上的童鞋，做出了很多的第三方项目，实现DDNS的功能。由于我的PT机器用的Linux，所以，我选择了那个SSH的项目。作者的Blog有具体的说明，只要下载好脚本，填好你用来作为DDNS的二级域名，运行即可。这里，还得注意一下，这个二级域名要事先在DNSPod的系统里面添加好。</p>
<p>到此，利用DNSPod就可以实现属于自己的DDNS了，这样，通过路由器映射端口，哥可以在世界上任何一个有互联网的地方访问俺运行在家里的PT下载机了&hellip;&hellip;</p>
<p>PS：最近俺在学习Ruby，在研究了DNSPod的API之后，打算也用Ruby来做一个DDNS的第三方项目。目前已经完成接近50%，大家期待着吧，哈哈哈哈&hellip;&hellip;</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/software/setup_your_own_ddns_via_dnspod_and_script-2012-04-07.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ArchLinux安装中遇到的一系列问题与解决办法</title>
		<link>http://www.xiaozhou.net/ittech/linux-ittech/problems_resolutions_of_archlinux_setup-2012-04-02.htm</link>
		<comments>http://www.xiaozhou.net/ittech/linux-ittech/problems_resolutions_of_archlinux_setup-2012-04-02.htm#comments</comments>
		<pubDate>Mon, 02 Apr 2012 15:47:41 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[pacman]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[解决]]></category>
		<category><![CDATA[问题]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1405</guid>
		<description><![CDATA[最近折腾的PT下载机，选择了ArchLinux作为操作系统。ArchLinux的具体情况，就不介绍了，它拥有比较强大的包管理系统，另外，ArchLinux致力于简洁的设计理念，安装后，只提供一个最基本的系统，没有默认安装图形界面，并且，专为 i686/x86-64 构架编译优化，能获得非常不错的运行效率。 基于这些优点，选择ArchLinux作为PT机的系统，是明智之举 由于之前用CentOS和Debian比较多，ArchLinux用的时候不是很多，所以在安装过程中，也遇到了一些问题，都通过Google解决。下面把遇到的几个问题记录一下，备忘，也为以后作为参考。 问题一：使用pacman -Syu更新和升级系统包的时候，出现如下的错误提示： ?View Code BASH1 2 3 error: could not determine filesystem mount points error: not enough free disk space error: failed to commit transaction 问题的原因：在系统更新filesystem会跟系统自带的mtab有冲突,所以得先强制升级filesystem，然后再去pacman -Syu 解决办法：先执行&#8220;pacman -S filesystem &#8211;force&#8220;，待filesystem更新好了之后，再去执行&#8221;pacman -Syu&#8220; 问题二：使用pacman -Syu更新和升级系统包的时候，出现如下的错误提示： ?View Code BASH1 2 3 error: failed to update core &#40;no servers configured for repository&#41; error: [...]]]></description>
			<content:encoded><![CDATA[<p>最近折腾的PT下载机，选择了ArchLinux作为操作系统。ArchLinux的具体情况，就不介绍了，它拥有比较强大的包管理系统，另外，ArchLinux致力于简洁的设计理念，安装后，只提供一个最基本的系统，没有默认安装图形界面，并且，专为 i686/x86-64 构架编译优化，能获得非常不错的运行效率。</p>
<p>基于这些优点，选择ArchLinux作为PT机的系统，是明智之举 <img src='http://www.xiaozhou.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>由于之前用CentOS和Debian比较多，ArchLinux用的时候不是很多，所以在安装过程中，也遇到了一些问题，都通过Google解决。下面把遇到的几个问题记录一下，备忘，也为以后作为参考。<span id="more-1405"></span></p>
<p><strong>问题一：使用pacman -Syu更新和升级系统包的时候，出现如下的错误提示：</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1405code9'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p14059"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p1405code9"><pre class="bash" style="font-family:monospace;">error: could not determine filesystem <span style="color: #c20cb9; font-weight: bold;">mount</span> points
error: not enough <span style="color: #c20cb9; font-weight: bold;">free</span> disk space
error: failed to commit transaction</pre></td></tr></table></div>

<p>问题的原因：在系统更新filesystem会跟系统自带的mtab有冲突,所以得先强制升级filesystem，然后再去pacman -Syu</p>
<p>解决办法：先执行&ldquo;pacman -S filesystem &#8211;force&ldquo;，待filesystem更新好了之后，再去执行&rdquo;pacman -Syu&ldquo;</p>
<p><strong>问题二：使用pacman -Syu更新和升级系统包的时候，出现如下的错误提示：</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1405code10'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p140510"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p1405code10"><pre class="bash" style="font-family:monospace;">error: failed to update core <span style="color: #7a0874; font-weight: bold;">&#40;</span>no servers configured <span style="color: #000000; font-weight: bold;">for</span> repository<span style="color: #7a0874; font-weight: bold;">&#41;</span>
error: failed to update extra <span style="color: #7a0874; font-weight: bold;">&#40;</span>no servers configured <span style="color: #000000; font-weight: bold;">for</span> repository<span style="color: #7a0874; font-weight: bold;">&#41;</span>
error: failed to update community <span style="color: #7a0874; font-weight: bold;">&#40;</span>no servers configured <span style="color: #000000; font-weight: bold;">for</span> repository<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<p>问题原因：配置文件中，没有制定更新源的服务器地址</p>
<p>解决办法：编辑文件&nbsp;/etc/pacman.d/mirrorlist 找到对应的国内服务器地址，一般是163网易的，把前面的井号去掉，取消注释。保存并关闭文件，再次执行命令即可。</p>
<p><strong>问题三：在安装一些软件的时候，需要编译安装，错误提示为找不到make命令：</strong></p>
<p>问题的原因：出现这样的错误，是因为默认系统并没有安装编译程序源码所需的环境和相关软件包。</p>
<p>解决办法：就像debian一类的系统，我们可以通过 apt-get install build-essential，安装编译相关的包来解决此问题。后来我又试了一试，企图用pacman来安装此包，不过，貌似在ArchLinux下，没有软件包叫做build-essential的。后来google一下得知，包的名字叫做：base-devel。因此，使用命令：pacman -S base-devel 即可搞定！</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/linux-ittech/problems_resolutions_of_archlinux_setup-2012-04-02.htm/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>环保低功耗PT下载机打造攻略</title>
		<link>http://www.xiaozhou.net/ittech/hardware/setup_your_own_pt_downloader-2012-04-01.htm</link>
		<comments>http://www.xiaozhou.net/ittech/hardware/setup_your_own_pt_downloader-2012-04-01.htm#comments</comments>
		<pubDate>Sun, 01 Apr 2012 13:47:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[电脑硬件]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PT]]></category>
		<category><![CDATA[transmission]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[凌动]]></category>
		<category><![CDATA[高清]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1404</guid>
		<description><![CDATA[呃，俺故意用了一个比较扯眼球的标题&#8230;&#8230; 话说那是一个上午，俺正和Roy童鞋Gtalk聊天，聊着聊着，话题便转移到了PT下载。Roy童鞋最近刚加入PT高清社区，为了让分享率尽快上去，不被K掉帐号，果断组装了一个PT下载机，利用平时上班家里宽带的空闲，来挂PT下载。其实这是一个挺不错的主意，俺立刻来了兴趣。 了解了具体的配置后，Roy童鞋发来了他购买那家的淘宝链接。上去看了看，有一款采用Atom芯片的Intel原厂主板，这款主板那是相当的不错，主板型号为：Intel D525MWV，接口与集成的功能一应俱全，集成的有：显卡，声卡，网卡，还有CPU。CPU的芯片型号为：Atom D525 1.8G 双核芯片，CPU本身的发热量很小，所以这款主板没有采用主动式散热，CPU上没有安装风扇，而是采用被动式散热，也即CPU上有一块大大的散热片&#8230;&#8230; Intel的官方资料显示，这款主板的功耗仅13W左右，已经相当的低了，加上内存和硬盘的功耗，估计也不会超过20W。看来，这款主板非常适合做PT下载机&#8230;&#8230; 看完这主板，哥折腾的小宇宙又再次爆发了，随即决定，也要组装一台PT下载机，不然还真对不起咱&#8220;不折腾不舒服斯基&#8221;的称号！于是，选定了这款主板，又选定了ITX的迷你机箱，折腾之路由此开始了&#8230;&#8230; 首先，我的目标非常明确，这台机器主要就是用来挂PT下载，所以，功耗要低，发热量要小，另外，噪音也要小。由于CPU没了风扇，声音应该会小很多了，除CPU的风扇噪音外，另外还会带来噪音的就是硬盘。想到前年公司年会的时候，哥有幸抽中三等奖，奖励了一个移动硬盘。平时这移动硬盘也没装啥重要的东西，正好拿来做下载机的硬盘。虽然容量只有320G，不过在这个硬盘普遍涨价的时期，入手新硬盘实在是性价比比较低，还是先凑合着用吧&#8230;&#8230; 另外，内存也可以尽量的小，因为我打算安装Linux系统。想起我用来挂PT的VPS，内存也就512MB而已，其实给这个下载机配1G的内存都足矣。不过貌似现在1G的内存比较少，还是来个2G的吧。 整个PT下载机的系统，打算就用ArchLinux作为操作系统，外加Transmission作为BT下载软件。另外，除了挂PT下载外，还可以把这台机器当成我的Git代码仓库，用来管理俺平时的一些代码。 卖家在深圳，快递还是比较给力，第三天上午到达。回家后，拆开机箱，看到主板的大致布局： 传说中公司年会抽奖抽中的那款移动硬盘，其实是个笔记本硬盘，拆开一看，发现竟然还是西部数据的。这款硬盘发热量还比较小，声音也比较小，就是容量只有320G，等以后硬盘降价再考虑升级吧： 组装过程也非常简单，硬盘接上电源和串口数据线，固定在金属板上即可。内存插入内存槽中。最后，再整理一下走线，把金属板固定在机箱上，盖好盖子，接好电源和显示器，如果能够成功点亮，表明一切正常。 机箱选择了一个黑色的Mini ITX机箱，外形还比较酷似Mac Mini，只不过是个黑色的，不过这颜色和俺黑色的路由器颜色还比较搭。说到这里，哥突然有点怀念我曾经的Mac Mini了&#8230;&#8230; 组装好后，这机器算是正式上线了。幽蓝的LED灯看起来还比较酷： 接下来，就是各种体力活，U盘装Linux，然后配置网卡，在线升级系统和内核，安装各种软件，包括Transmission。如果你想看看如何在Linux下安装和配置Transmission，还可以参考参考这篇博文。 系统从昨晚就开始挂机下载，今天已经顺利运行了一天。下班回家后，俺故意去查看了一下机器的运行情况，摸了一下机器的外壳，感觉微热，另外，声音也很小，这次折腾结果，非常令人满意！ 接下来还需要继续折腾的，就是Samba，DDNS动态解析(便于远程管理PT下载机)，等等&#8230;&#8230; 后续博文会继续介绍，呵呵！ 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>呃，俺故意用了一个比较扯眼球的标题&hellip;&hellip;</p>
<p>话说那是一个上午，俺正和<a href="http://weibo.com/chengbo1983" target="_blank">Roy</a>童鞋Gtalk聊天，聊着聊着，话题便转移到了PT下载。Roy童鞋最近刚加入PT高清社区，为了让分享率尽快上去，不被K掉帐号，果断组装了一个PT下载机，利用平时上班家里宽带的空闲，来挂PT下载。其实这是一个挺不错的主意，俺立刻来了兴趣。</p>
<p>了解了具体的配置后，<a href="http://weibo.com/chengbo1983" target="_blank">Roy</a>童鞋发来了他购买那家的淘宝链接。上去看了看，有一款采用Atom芯片的Intel原厂主板，这款主板那是相当的不错，主板型号为：Intel D525MWV，接口与集成的功能一应俱全，集成的有：显卡，声卡，网卡，还有CPU。CPU的芯片型号为：Atom D525 1.8G 双核芯片，CPU本身的发热量很小，所以这款主板没有采用主动式散热，CPU上没有安装风扇，而是采用被动式散热，也即CPU上有一块大大的散热片&hellip;&hellip; Intel的官方资料显示，这款主板的功耗仅13W左右，已经相当的低了，加上内存和硬盘的功耗，估计也不会超过20W。看来，这款主板非常适合做PT下载机&hellip;&hellip;</p>
<p>看完这主板，哥折腾的小宇宙又再次爆发了，随即决定，也要组装一台PT下载机，不然还真对不起咱&ldquo;不折腾不舒服斯基&rdquo;的称号！于是，选定了这款主板，又选定了ITX的迷你机箱，折腾之路由此开始了&hellip;&hellip;<span id="more-1404"></span></p>
<p>首先，我的目标非常明确，这台机器主要就是用来挂PT下载，所以，功耗要低，发热量要小，另外，噪音也要小。由于CPU没了风扇，声音应该会小很多了，除CPU的风扇噪音外，另外还会带来噪音的就是硬盘。想到前年公司年会的时候，哥有幸抽中三等奖，奖励了一个移动硬盘。平时这移动硬盘也没装啥重要的东西，正好拿来做下载机的硬盘。虽然容量只有320G，不过在这个硬盘普遍涨价的时期，入手新硬盘实在是性价比比较低，还是先凑合着用吧&hellip;&hellip;</p>
<p>另外，内存也可以尽量的小，因为我打算安装Linux系统。想起我用来挂PT的VPS，内存也就512MB而已，其实给这个下载机配1G的内存都足矣。不过貌似现在1G的内存比较少，还是来个2G的吧。</p>
<p>整个PT下载机的系统，打算就用ArchLinux作为操作系统，外加Transmission作为BT下载软件。另外，除了挂PT下载外，还可以把这台机器当成我的Git代码仓库，用来管理俺平时的一些代码。</p>
<p>卖家在深圳，快递还是比较给力，第三天上午到达。回家后，拆开机箱，看到主板的大致布局：</p>
<p><a href="http://www.xiaozhou.net/pics/PT_12859/transmission1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="transmission1" src="http://www.xiaozhou.net/pics/PT_12859/transmission1_thumb.jpg" border="0" alt="transmission1" width="544" height="365" /></a></p>
<p>传说中公司年会抽奖抽中的那款移动硬盘，其实是个笔记本硬盘，拆开一看，发现竟然还是西部数据的。这款硬盘发热量还比较小，声音也比较小，就是容量只有320G，等以后硬盘降价再考虑升级吧：</p>
<p><a href="http://www.xiaozhou.net/pics/PT_12859/transmission2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="transmission2" src="http://www.xiaozhou.net/pics/PT_12859/transmission2_thumb.jpg" border="0" alt="transmission2" width="544" height="362" /></a></p>
<p>组装过程也非常简单，硬盘接上电源和串口数据线，固定在金属板上即可。内存插入内存槽中。最后，再整理一下走线，把金属板固定在机箱上，盖好盖子，接好电源和显示器，如果能够成功点亮，表明一切正常。</p>
<p>机箱选择了一个黑色的Mini ITX机箱，外形还比较酷似Mac Mini，只不过是个黑色的，不过这颜色和俺黑色的路由器颜色还比较搭。说到这里，哥突然有点怀念我曾经的Mac Mini了&hellip;&hellip;</p>
<p>组装好后，这机器算是正式上线了。幽蓝的LED灯看起来还比较酷：</p>
<p><a href="http://www.xiaozhou.net/pics/PT_12859/transmission3.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="transmission3" src="http://www.xiaozhou.net/pics/PT_12859/transmission3_thumb.jpg" border="0" alt="transmission3" width="544" height="364" /></a></p>
<p>接下来，就是各种体力活，U盘装Linux，然后配置网卡，在线升级系统和内核，安装各种软件，包括Transmission。如果你想看看如何在Linux下安装和配置Transmission，还可以参考参考<a href="http://www.xiaozhou.net/ittech/vps-ittech/turn_your_vps_to_seedbox-2010-10-14.htm" target="_blank">这篇博文</a>。</p>
<p><a href="http://www.xiaozhou.net/pics/PT_12859/transmission4.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="transmission4" src="http://www.xiaozhou.net/pics/PT_12859/transmission4_thumb.jpg" border="0" alt="transmission4" width="544" height="364" /></a></p>
<p>系统从昨晚就开始挂机下载，今天已经顺利运行了一天。下班回家后，俺故意去查看了一下机器的运行情况，摸了一下机器的外壳，感觉微热，另外，声音也很小，这次折腾结果，非常令人满意！</p>
<p>接下来还需要继续折腾的，就是Samba，DDNS动态解析(便于远程管理PT下载机)，等等&hellip;&hellip; 后续博文会继续介绍，呵呵！</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/hardware/setup_your_own_pt_downloader-2012-04-01.htm/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>放一个BuyVM库存量监控的Ruby脚本</title>
		<link>http://www.xiaozhou.net/ruby/a_ruby_script_for_monitoring_buyvm_stock-2012-03-29.htm</link>
		<comments>http://www.xiaozhou.net/ruby/a_ruby_script_for_monitoring_buyvm_stock-2012-03-29.htm#comments</comments>
		<pubDate>Thu, 29 Mar 2012 13:33:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[buyvm]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[stock]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[库存]]></category>
		<category><![CDATA[脚本]]></category>
		<category><![CDATA[邮件]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1401</guid>
		<description><![CDATA[最近神马VPS最火呢？还用问？当然是BuyVM&#8230;&#8230; 不了解真相的童鞋，建议看看俺的上篇博文 在上篇博文的评论中，看到有不少童鞋利用脚本自动监控BuyVM的库存量，借此脚本，利用短信或者邮件来通知自己抢货，相当不错的办法！好办法值得借鉴和发扬，加之自己最近又在学习Ruby，所以，俺也用Ruby写了这么个脚本&#8230;&#8230; 现在共享出来，给广大童鞋借鉴。 脚本主要实现的功能：从BuyVM官网通过API接口获取各种产品库存量信息，如果有某个产品库存量不为0，就通过事先设定好的邮箱地址，发送邮件通知。其实逻辑很简单的，就不多介绍了。程序调用的是官网的JSON API接口，所以也用到了JSON库来进行数据的解析。 脚本运行的环境：需要装有Ruby，需要装有SendMail组件，另外，需要安装Ruby的JSON库。 运行此脚本前，可以先测试你的主机是否有Ruby，可以用ruby -v命令，如果提示命令无效，需要先安装Ruby。安装Ruby的方法，仅以Debian系统为例： ?View Code BASH1 apt-get install ruby irb ri 如果你的主机或者VPS中，没有JSON库，程序运行出错，可以用下面的方法安装，仅以Debian系统为例： ?View Code BASH1 apt-get install libjson-ruby 关于如何安装Sendmail组件，可以参考这篇文章哈。 嗯，环境准备好之后，就可以运行脚本了，来看看我们的脚本： ?View Code RUBY1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [...]]]></description>
			<content:encoded><![CDATA[<p>最近神马VPS最火呢？还用问？当然是BuyVM&hellip;&hellip; 不了解真相的童鞋，建议看看俺的<a href="http://www.xiaozhou.net/ittech/vps-ittech/buyvm_vps_restock-2012-03-24.htm" target="_blank">上篇博文</a></p>
<p>在上篇博文的评论中，看到有不少童鞋利用脚本自动监控BuyVM的库存量，借此脚本，利用短信或者邮件来通知自己抢货，相当不错的办法！好办法值得借鉴和发扬，加之自己最近又在学习Ruby，所以，俺也用Ruby写了这么个脚本&hellip;&hellip; 现在共享出来，给广大童鞋借鉴。<span id="more-1401"></span></p>
<p>脚本主要实现的功能：从BuyVM官网通过API接口获取各种产品库存量信息，如果有某个产品库存量不为0，就通过事先设定好的邮箱地址，发送邮件通知。其实逻辑很简单的，就不多介绍了。程序调用的是官网的JSON API接口，所以也用到了JSON库来进行数据的解析。</p>
<p>脚本运行的环境：需要装有Ruby，需要装有SendMail组件，另外，需要安装Ruby的JSON库。</p>
<p>运行此脚本前，可以先测试你的主机是否有Ruby，可以用ruby -v命令，如果提示命令无效，需要先安装Ruby。安装Ruby的方法，仅以Debian系统为例：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1401code14'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p140114"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1401code14"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ruby irb ri</pre></td></tr></table></div>

<p>如果你的主机或者VPS中，没有JSON库，程序运行出错，可以用下面的方法安装，仅以Debian系统为例：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1401code15'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p140115"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1401code15"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libjson-ruby</pre></td></tr></table></div>

<p>关于如何安装Sendmail组件，可以<a href="http://www.xiaozhou.net/ittech/vps-ittech/setup_sendmail_in_your_vps-2010-10-31.htm" target="_blank">参考这篇文章</a>哈。</p>
<p>嗯，环境准备好之后，就可以运行脚本了，来看看我们的脚本：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1401code16'); return false;">View Code</a> RUBY</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p140116"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code" id="p1401code16"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#BuyVMStock.rb</span>
<span style="color:#008000; font-style:italic;">#Written by Timothy 2012.03.29</span>
<span style="color:#008000; font-style:italic;">#Run it with: ruby BuyVMStock.rb</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'open-uri'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'json'</span>
&nbsp;
MailTo = <span style="color:#996600;">&quot;YourMailAddress@gmail.com&quot;</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> SendMailNotify<span style="color:#006600; font-weight:bold;">&#40;</span>content<span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
pipe = <span style="color:#CC00FF; font-weight:bold;">IO</span>.<span style="color:#9900CC;">popen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;/usr/sbin/sendmail -t -v&quot;</span>, <span style="color:#996600;">&quot;w&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
pipe.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;To:&quot;</span> <span style="color:#006600; font-weight:bold;">+</span> MailTo <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#996600;">&quot;<span style="color:#000099;">\n</span>&quot;</span>
pipe.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;From:BuyVM<span style="color:#000099;">\n</span>&quot;</span>
pipe.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Subject: BuyVM has stock now!&quot;</span>
pipe.<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;BuyVM has stock now! <span style="color:#000099;">\n</span>&quot;</span> <span style="color:#006600; font-weight:bold;">+</span> content
&nbsp;
pipe.<span style="color:#9900CC;">close_write</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
content = JSON.<span style="color:#9900CC;">parse</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;http://www.doesbuyvmhavestock.com/automation.json&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">read</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
emailContent = <span style="color:#996600;">''</span>
&nbsp;
content.<span style="color:#9900CC;">each</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006600; font-weight:bold;">|</span>obj<span style="color:#006600; font-weight:bold;">|</span>
        <span style="color:#9966CC; font-weight:bold;">if</span> obj<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'qty'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&gt;</span> <span style="color:#006666;">0</span>
                emailContent.<span style="color:#9900CC;">concat</span><span style="color:#006600; font-weight:bold;">&#40;</span>obj<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'name'</span><span style="color:#006600; font-weight:bold;">&#93;</span>  <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#996600;">&quot; has &quot;</span> <span style="color:#006600; font-weight:bold;">&#41;</span>
                emailContent.<span style="color:#9900CC;">concat</span><span style="color:#006600; font-weight:bold;">&#40;</span>obj<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'qty'</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">to_s</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#996600;">&quot; <span style="color:#000099;">\n</span>&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
        <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
SendMailNotify<span style="color:#006600; font-weight:bold;">&#40;</span>emailContent<span style="color:#006600; font-weight:bold;">&#41;</span></pre></td></tr></table></div>

<p>代码很简洁，将里面的变量MailTo，替换为你的邮箱地址即可。运行后，如果官网有剩余库存，你会收到一封邮件。下面是运行结果：</p>
<p><a href="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="buyvmstock2" src="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock2_thumb.jpg" border="0" alt="buyvmstock2" width="343" height="214" /></a></p>
<p>对比官网上的真实数据进行检查，确认无误，嘿嘿&hellip;&hellip;</p>
<p><a href="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="buyvmstock" src="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock_thumb.jpg" border="0" alt="buyvmstock" width="597" height="483" /></a></p>
<p>聪明的站长一定想到了，把这个脚本加入Linux的计划任务里面去，设定一个时间间隔，比如一分钟执行一次，或者五分钟，十分钟，看你的个人喜好了&hellip;&hellip; 如果你还有个手机神马的，就更方便了，这样可以随时随地知晓BuyVM的库存了：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock3.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="buyvmstock3" src="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock3_thumb.jpg" border="0" alt="buyvmstock3" width="292" height="411" /></a><a href="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock4.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="buyvmstock4" src="http://www.xiaozhou.net/pics/ff3f95211ea8_126D8/buyvmstock4_thumb.jpg" border="0" alt="buyvmstock4" width="309" height="411" /></a></p>
<p>嗯，就是这样，完了&hellip;&hellip; 预祝各位抢购愉快&hellip;&hellip;</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ruby/a_ruby_script_for_monitoring_buyvm_stock-2012-03-29.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>BuyVM VPS 半夜抢货记</title>
		<link>http://www.xiaozhou.net/ittech/vps-ittech/buyvm_vps_restock-2012-03-24.htm</link>
		<comments>http://www.xiaozhou.net/ittech/vps-ittech/buyvm_vps_restock-2012-03-24.htm#comments</comments>
		<pubDate>Sat, 24 Mar 2012 05:42:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[vps]]></category>
		<category><![CDATA[buyvm]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1400</guid>
		<description><![CDATA[前天BuyVM官方在Twitter上放出的消息，将于中国时间昨晚22:00放出一部分VPS库存供选购，包含OpenVZ以及KVM各种套餐，15刀年付的OpenVZ，还有25刀年付的KVM均在放货之列。 此消息一出，各个国内站长都伺机而动，个个摩拳擦掌，准备投入到一场血雨腥风的抢购战斗中。其实BuyVM的VPS，我已经有两个了，一个OpenVZ，一个BuyVM。俺的一好友：@BenjaminZhong 自从用上了俺BuyVM的KVM上开的&#8220;XXX&#8221;后，一直对San Jose机房的速度情有独钟，从此一发不可收拾的想要入一台BuyVM的KVM作为私人珍藏。可惜的是，BuyVM也学小米手机，搞饥饿营销，官网的库存从去年8、9月开始，就一直是Out of stock&#8230; 半年过去了，坚持不懈的 @BenjaminZhong 童鞋，终于等来了BuyVM补货的契机&#8230;&#8230; 无奈BuyVM对帐号的认证比较严格，新开的帐号需要发Ticket申请通过审核，否则会被删号，由于时差，发Ticket估计是来不及了。于是乎，昨天晚上，我决定用我的帐号帮忙去抢一个VPS。到了9:30，哥上线，访问BuyVM的官网，结果Chrome毫不留情的返回一个出错页面，网站无法正常访问。后来在Twitter得知的消息，BuyVM被攻击了&#8230;&#8230; 囧rz 不知道BuyVM是不是树大招风，这还没到放货时间，结果自己的主站却被攻击，hold不住了&#8230;&#8230; 悲了个催，从官网的Twitter消息证实，BuyVM确实遭到SYN flood攻击，导致网站下线维护。此外，HostLoc论坛，各大站长们也心急如焚，不知如何是好。 后来俺还专门跑去BuyVM的IRC频道询问，里面除了部分国外站长外，几乎一半以上都是国人站长，要不要这么火啊？&#8230;&#8230; 再后来的后来，一直到了晚上12点，BuyVM的官方也没说啥时候上货，算了，洗洗睡了。 今天上BuyVM看了看，主站开始还是无法打开，后来能打开了，一看库存，又全部Out of stock了&#8230;&#8230; 不知道是还没上货，还是又被一抢而光&#8230;&#8230; 谨以此文，纪念悲催的抢货经历，纪念悲催的BuyVM，太高调了，容易被围攻啊~~！ 可怜的 @BenjaminZhong 童鞋，又得等下一次补货了&#8230;&#8230; 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>前天BuyVM官方在Twitter上放出的消息，将于中国时间昨晚22:00放出一部分VPS库存供选购，包含OpenVZ以及KVM各种套餐，15刀年付的OpenVZ，还有25刀年付的KVM均在放货之列。</p>
<p>此消息一出，各个国内站长都伺机而动，个个摩拳擦掌，准备投入到一场血雨腥风的抢购战斗中。其实BuyVM的VPS，我已经有两个了，一个OpenVZ，一个BuyVM。俺的一好友：<a href="http://weibo.com/benjaminx" target="_blank">@BenjaminZhong</a> 自从用上了俺BuyVM的KVM上开的&ldquo;XXX&rdquo;后，一直对San Jose机房的速度情有独钟，从此一发不可收拾的想要入一台BuyVM的KVM作为私人珍藏。可惜的是，BuyVM也学小米手机，搞饥饿营销，官网的库存从去年8、9月开始，就一直是Out of stock&#8230; 半年过去了，坚持不懈的 <a href="http://weibo.com/benjaminx" target="_blank">@BenjaminZhong</a> 童鞋，终于等来了BuyVM补货的契机&hellip;&hellip;<span id="more-1400"></span></p>
<p>无奈BuyVM对帐号的认证比较严格，新开的帐号需要发Ticket申请通过审核，否则会被删号，由于时差，发Ticket估计是来不及了。于是乎，昨天晚上，我决定用我的帐号帮忙去抢一个VPS。到了9:30，哥上线，访问BuyVM的官网，结果Chrome毫不留情的返回一个出错页面，网站无法正常访问。后来在Twitter得知的消息，BuyVM被攻击了&hellip;&hellip; 囧rz</p>
<p>不知道BuyVM是不是树大招风，这还没到放货时间，结果自己的主站却被攻击，hold不住了&hellip;&hellip;</p>
<p><a href="http://www.xiaozhou.net/pics/cfef36209e05_C004/buyvm.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="buyvm" src="http://www.xiaozhou.net/pics/cfef36209e05_C004/buyvm_thumb.jpg" border="0" alt="buyvm" width="556" height="249" /></a></p>
<p>悲了个催，从官网的Twitter消息证实，BuyVM确实遭到SYN flood攻击，导致网站下线维护。此外，HostLoc论坛，各大站长们也心急如焚，不知如何是好。</p>
<p>后来俺还专门跑去BuyVM的IRC频道询问，里面除了部分国外站长外，几乎一半以上都是国人站长，要不要这么火啊？&hellip;&hellip;</p>
<p>再后来的后来，一直到了晚上12点，BuyVM的官方也没说啥时候上货，算了，洗洗睡了。</p>
<p>今天上BuyVM看了看，主站开始还是无法打开，后来能打开了，一看库存，又全部Out of stock了&hellip;&hellip; 不知道是还没上货，还是又被一抢而光&hellip;&hellip;</p>
<p>谨以此文，纪念悲催的抢货经历，纪念悲催的BuyVM，太高调了，容易被围攻啊~~！</p>
<p>可怜的 <a href="http://weibo.com/benjaminx" target="_blank">@BenjaminZhong</a> 童鞋，又得等下一次补货了&hellip;&hellip;</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/vps-ittech/buyvm_vps_restock-2012-03-24.htm/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>为Blog更换新的mobile主题插件：WPtouch</title>
		<link>http://www.xiaozhou.net/aboutsite/new_mobile_theme_for_my_blog-2012-03-20.htm</link>
		<comments>http://www.xiaozhou.net/aboutsite/new_mobile_theme_for_my_blog-2012-03-20.htm#comments</comments>
		<pubDate>Tue, 20 Mar 2012 14:24:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[站点相关]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[WPTouch]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1399</guid>
		<description><![CDATA[在2G时代，受手机网速和流量的限制，大多网站和博客，都会针对移动手机用户，制作简洁的适合手机浏览的主题。并且加上特别的二级域名，比如m.abc.com，wap.abc.com，等等&#8230;&#8230; 鉴于俺的Blog历史也比较悠久，也经历过2G时代，所以当时为了节省流量，加快blog加载速度，俺也加上了适合手机用户访问的blog皮肤插件，并加上了一个二级域名： m.xiaozhou.net，在2G时代，这可谓方便多了。当时我用的那个WordPress插件，叫做MobilePress，如果你曾经用手机访问我过的blog，你会看到如下的页面： 这个插件，我一用就是好几年，直到今天&#8230;&#8230; 随着3G时代的到来，现在3G手机和各种3G套餐已经漫天飞了。如果你有幸用上了3G网络，你才知道GPRS和EDGE的那速度真的只能用坑爹来形容。相比于2G时代那弥足珍贵的流量，3G流量也要便宜得多。 为响应3G时代的号召，也为了方便广大机友，俺决定给blog换上另外一款适合3G时代，适合广大触摸屏手机访问者的移动版皮肤，它的名字，也许很多WPer(注意，这里的WPer不是指Windows Phoner，而是指WordPresser，嘿嘿&#8230;&#8230;)都听过了：WPtouch。 WPtouch，顾名思义，更为各种触摸屏手机而精心设计，图标和标题栏的尺寸都适合触摸屏浏览，如果你现在通过www.xiaozhou.net和m.xiaozhou.net来访问俺的blog，你会看见下面的页面： 是不是给人耳目一新的感觉呢？整个UI相当的有iOS的范儿&#8230;&#8230; 我承认，当我第一眼看到整个插件，我就决定把之前的MobilePress插件替换掉，哈哈~！ WPtouch是款免费主题，另外，还有WPtouch Pro，是款付费的主题。差别是Pro拥有更多的功能，并且支持iPad访问。插件的后台，功能也挺完善的，你还可以进行各种自定义设置：比如，添加Google Adsense的广告，允许你设置各种图标的样式。这个主题带有很多iOS上的图标，还允许你上传自定义图标。你还可以通过设置，把不同的图标应用到不同的页面上。总之，功能多多，值得你去慢慢研究了&#8230;&#8230; 如果你是有米的童鞋，还可以购买Pro版的主题&#8230;&#8230; 不过不便宜哦&#8230;&#8230; 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>在2G时代，受手机网速和流量的限制，大多网站和博客，都会针对移动手机用户，制作简洁的适合手机浏览的主题。并且加上特别的二级域名，比如m.abc.com，wap.abc.com，等等&hellip;&hellip;</p>
<p>鉴于俺的Blog历史也比较悠久，也经历过2G时代，所以当时为了节省流量，加快blog加载速度，俺也加上了适合手机用户访问的blog皮肤插件，并加上了一个二级域名： <a href="http://m.xiaozhou.net" target="_blank">m.xiaozhou.net</a>，在2G时代，这可谓方便多了。当时我用的那个WordPress插件，叫做MobilePress，如果你曾经用手机访问我过的blog，你会看到如下的页面<span id="more-1399"></span>：</p>
<p><a href="http://www.xiaozhou.net/pics/Blogmobile_13AEB/mobile1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="mobile1" src="http://www.xiaozhou.net/pics/Blogmobile_13AEB/mobile1_thumb.jpg" border="0" alt="mobile1" width="298" height="441" /></a></p>
<p>这个插件，我一用就是好几年，直到今天&hellip;&hellip;</p>
<p>随着3G时代的到来，现在3G手机和各种3G套餐已经漫天飞了。如果你有幸用上了3G网络，你才知道GPRS和EDGE的那速度真的只能用坑爹来形容。相比于2G时代那弥足珍贵的流量，3G流量也要便宜得多。</p>
<p>为响应3G时代的号召，也为了方便广大机友，俺决定给blog换上另外一款适合3G时代，适合广大触摸屏手机访问者的移动版皮肤，它的名字，也许很多WPer(注意，这里的WPer不是指Windows Phoner，而是指WordPresser，嘿嘿&hellip;&hellip;)都听过了：WPtouch。</p>
<p>WPtouch，顾名思义，更为各种触摸屏手机而精心设计，图标和标题栏的尺寸都适合触摸屏浏览，如果你现在通过<a href="http://www.xiaozhou.net">www.xiaozhou.net</a>和<a href="http://m.xiaozhou.net" target="_blank">m.xiaozhou.net</a>来访问俺的blog，你会看见下面的页面：</p>
<p><a href="http://www.xiaozhou.net/pics/Blogmobile_13AEB/mobile2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="mobile2" src="http://www.xiaozhou.net/pics/Blogmobile_13AEB/mobile2_thumb.jpg" border="0" alt="mobile2" width="319" height="472" /></a><a href="http://www.xiaozhou.net/pics/Blogmobile_13AEB/mobile3.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="mobile3" src="http://www.xiaozhou.net/pics/Blogmobile_13AEB/mobile3_thumb.jpg" border="0" alt="mobile3" width="319" height="474" /></a></p>
<p>是不是给人耳目一新的感觉呢？整个UI相当的有iOS的范儿&hellip;&hellip;</p>
<p>我承认，当我第一眼看到整个插件，我就决定把之前的MobilePress插件替换掉，哈哈~！</p>
<p>WPtouch是款免费主题，另外，还有WPtouch Pro，是款付费的主题。差别是Pro拥有更多的功能，并且支持iPad访问。插件的后台，功能也挺完善的，你还可以进行各种自定义设置：比如，添加Google Adsense的广告，允许你设置各种图标的样式。这个主题带有很多iOS上的图标，还允许你上传自定义图标。你还可以通过设置，把不同的图标应用到不同的页面上。总之，功能多多，值得你去慢慢研究了&hellip;&hellip;</p>
<p>如果你是有米的童鞋，还可以购买Pro版的主题&hellip;&hellip; 不过不便宜哦&hellip;&hellip;</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/aboutsite/new_mobile_theme_for_my_blog-2012-03-20.htm/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>新入手Netgear WNR2000 300M无线路由器</title>
		<link>http://www.xiaozhou.net/ittech/hardware/new_router_netgear_wnr2000-2012-03-16.htm</link>
		<comments>http://www.xiaozhou.net/ittech/hardware/new_router_netgear_wnr2000-2012-03-16.htm#comments</comments>
		<pubDate>Fri, 16 Mar 2012 14:22:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[电脑硬件]]></category>
		<category><![CDATA[netgear]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[wireless]]></category>
		<category><![CDATA[WNR2000]]></category>
		<category><![CDATA[无线]]></category>
		<category><![CDATA[网件]]></category>
		<category><![CDATA[路由器]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1397</guid>
		<description><![CDATA[最近比较喜欢玩LOL，不过悲剧的是，路由器开始时不时的抽风和断线。虽然LOL有断线自动重连的功能，不过还是挺悲催的。老婆在家上网也遇到过几次，路由器开始抽风时，无线信号消失，这时，不得不重启路由器，或者等待抽风结束。 话说现在一直用的这款路由器，也已经快3年了，当时为了刷DD-WRT，去淘宝买的翻新的LinkSys的机器(因为特定的哪一款型号，当时已经停产)。当时买来还挺稳定，用的这两三年来，表现很好，只是偶尔抽风。估计是因为硬件的老化，现在开始频繁抽风。在老婆的批准下，俺决定换一个路由器。 选路由器的过程，也颇为有趣，因为已经N年不怎么了解硬件了，所以只得向Google老师请教，看各种品牌路由器的评测教程。对于喜欢折腾的人来说，这是很有意思的事，因为很多时候当你要去买一样东西，最让你享受的时候，往往是在你不断收集资料，对比、选择的那种过程。 一番选择后，初次入围的品牌，有华硕，Buffallo，还有就是Netgear(中文名叫网件)。 后来去京东和新蛋看了看，看中的那款Buffallo WHR-HP-G300N竟然缺货，后来果断选择了Netgear WNR2000 300M这款。(其实在写这篇博文的时候，Buffallo那款又有货了，汗……) 再次赞一下京东的物流，确实挺强大，而且你还能在后台看到配送路线图： 入手后，开箱前，先来个照片： 其实这款路由器，是针对SOHO一族的，因此家庭和商务都比较适合，天线也是内置的，看起来样子比较酷。看了看说明书，是V3版本的硬件。开箱图忽略了，网上可以找到很多的照片…… 总的来说，整个路由器作工还真是不错，并且有很多常用的按钮：电源开关，WIFI开关，一键加密功能…… 用的官方的ROM，后台支持直接下载升级，非常方便，设置也比较直观： 从使用三天后的情况来看，路由器比较稳定，信号也还不错。路由器放在卧室书房里，穿了两道墙，在寝室里仍然信号良好。 这下又可以畅游LOL了…… 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>最近比较喜欢玩LOL，不过悲剧的是，路由器开始时不时的抽风和断线。虽然LOL有断线自动重连的功能，不过还是挺悲催的。老婆在家上网也遇到过几次，路由器开始抽风时，无线信号消失，这时，不得不重启路由器，或者等待抽风结束。</p>
<p>话说现在一直用的这款路由器，也已经快3年了，当时为了刷DD-WRT，去淘宝买的翻新的LinkSys的机器(因为特定的哪一款型号，当时已经停产)。当时买来还挺稳定，用的这两三年来，表现很好，只是偶尔抽风。估计是因为硬件的老化，现在开始频繁抽风。在老婆的批准下，俺决定换一个路由器。<span id="more-1397"></span></p>
<p>选路由器的过程，也颇为有趣，因为已经N年不怎么了解硬件了，所以只得向Google老师请教，看各种品牌路由器的评测教程。对于喜欢折腾的人来说，这是很有意思的事，因为很多时候当你要去买一样东西，最让你享受的时候，往往是在你不断收集资料，对比、选择的那种过程。</p>
<p>一番选择后，初次入围的品牌，有华硕，Buffallo，还有就是Netgear(中文名叫网件)。</p>
<p>后来去京东和新蛋看了看，看中的那款Buffallo WHR-HP-G300N竟然缺货，后来果断选择了Netgear WNR2000 300M这款。(其实在写这篇博文的时候，Buffallo那款又有货了，汗……)</p>
<p>再次赞一下京东的物流，确实挺强大，而且你还能在后台看到配送路线图：</p>
<p><a href="http://www.xiaozhou.net/pics/f5ef55f44159_139C4/netgear1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="netgear1" src="http://www.xiaozhou.net/pics/f5ef55f44159_139C4/netgear1_thumb.jpg" alt="netgear1" width="444" height="391" border="0" /></a></p>
<p>入手后，开箱前，先来个照片：</p>
<p><a href="http://www.xiaozhou.net/pics/f5ef55f44159_139C4/netgear2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="netgear2" src="http://www.xiaozhou.net/pics/f5ef55f44159_139C4/netgear2_thumb.jpg" alt="netgear2" width="372" height="494" border="0" /></a></p>
<p>其实这款路由器，是针对SOHO一族的，因此家庭和商务都比较适合，天线也是内置的，看起来样子比较酷。看了看说明书，是V3版本的硬件。开箱图忽略了，网上可以找到很多的照片…… 总的来说，整个路由器作工还真是不错，并且有很多常用的按钮：电源开关，WIFI开关，一键加密功能……</p>
<p>用的官方的ROM，后台支持直接下载升级，非常方便，设置也比较直观：</p>
<p><a href="http://www.xiaozhou.net/pics/f5ef55f44159_139C4/netgear3.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="netgear3" src="http://www.xiaozhou.net/pics/f5ef55f44159_139C4/netgear3_thumb.jpg" alt="netgear3" width="661" height="454" border="0" /></a></p>
<p>从使用三天后的情况来看，路由器比较稳定，信号也还不错。路由器放在<span style="color: #ff0000;"><del>卧室</del></span>书房里，穿了两道墙，在寝室里仍然信号良好。</p>
<p>这下又可以畅游LOL了……</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/hardware/new_router_netgear_wnr2000-2012-03-16.htm/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>谈谈WordPress的垃圾评论</title>
		<link>http://www.xiaozhou.net/aboutsite/talking_about_the_spam_of_wordpress-2012-03-07.htm</link>
		<comments>http://www.xiaozhou.net/aboutsite/talking_about_the_spam_of_wordpress-2012-03-07.htm#comments</comments>
		<pubDate>Wed, 07 Mar 2012 12:46:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[站点相关]]></category>
		<category><![CDATA[akismet]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[垃圾评论]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1395</guid>
		<description><![CDATA[自从有了各种网络营销手段，貌似垃圾评论也随之而生了。不管是我以前用的PJ-Blog，还是现在的WordPress，各种博客，各种网站，各个站长，都无不为垃圾评论而头疼。 在现在的WordPress版本中，已经默认集成了Akismet这个阻挡垃圾评论的插件，由此可见，垃圾评论实在是已经到了泛滥的地步。而我每天登陆我的博客，第一件事情，也就是去后台清理被阻挡下来的各种垃圾评论。少的时候，一天有几十条，多的时候，一天几百条甚至上千条。 自从博客转用WordPress后，Akismet算是功不可没了，这近两年多来，阻挡了两万多条的垃圾评论。 下面是一些统计信息： 每月的统计记录，看来这两年多来，有相当迅猛的上升趋势： 造成垃圾评论泛滥的原因，大致有两个： 1. WordPress是个世界范围内广泛应用的博客程序，因此自然逃不过网络营销的魔掌，网上有很多群发垃圾评论的工具。 2. WordPress的各种模板，默认并没有加入一些预防垃圾评论的手段(比如用验证码一类的手段&#8230;&#8230;) 因此，如果想要阻挡垃圾评论，你应该激活并使用一些相关的插件，比如Akismet或者其他的一些插件。或者修改皮肤，加入图片验证码。不过，这些都是只能防范一些程序恶意POST的情况，若是人工发垃圾评论，还是没有行之有效的办法&#8230;&#8230; 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>自从有了各种网络营销手段，貌似垃圾评论也随之而生了。不管是我以前用的PJ-Blog，还是现在的WordPress，各种博客，各种网站，各个站长，都无不为垃圾评论而头疼。</p>
<p>在现在的WordPress版本中，已经默认集成了Akismet这个阻挡垃圾评论的插件，由此可见，垃圾评论实在是已经到了泛滥的地步。而我每天登陆我的博客，第一件事情，也就是去后台清理被阻挡下来的各种垃圾评论。少的时候，一天有几十条，多的时候，一天几百条甚至上千条。</p>
<p>自从博客转用WordPress后，Akismet算是功不可没了，这近两年多来，阻挡了两万多条的垃圾评论。<span id="more-1395"></span></p>
<p>下面是一些统计信息：</p>
<p><a href="http://www.xiaozhou.net/pics/8f78b8a8044d_12034/akismet1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="akismet1" src="http://www.xiaozhou.net/pics/8f78b8a8044d_12034/akismet1_thumb.jpg" border="0" alt="akismet1" width="449" height="145" /></a></p>
<p>每月的统计记录，看来这两年多来，有相当迅猛的上升趋势：</p>
<p><a href="http://www.xiaozhou.net/pics/8f78b8a8044d_12034/akismet2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="akismet2" src="http://www.xiaozhou.net/pics/8f78b8a8044d_12034/akismet2_thumb.jpg" border="0" alt="akismet2" width="632" height="542" /></a></p>
<p>造成垃圾评论泛滥的原因，大致有两个：</p>
<p>1. WordPress是个世界范围内广泛应用的博客程序，因此自然逃不过网络营销的魔掌，网上有很多群发垃圾评论的工具。</p>
<p>2. WordPress的各种模板，默认并没有加入一些预防垃圾评论的手段(比如用验证码一类的手段&hellip;&hellip;)</p>
<p>因此，如果想要阻挡垃圾评论，你应该激活并使用一些相关的插件，比如Akismet或者其他的一些插件。或者修改皮肤，加入图片验证码。不过，这些都是只能防范一些程序恶意POST的情况，若是人工发垃圾评论，还是没有行之有效的办法&hellip;&hellip;</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/aboutsite/talking_about_the_spam_of_wordpress-2012-03-07.htm/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Keycool 凯酷87彩虹键帽折腾手记</title>
		<link>http://www.xiaozhou.net/ittech/hardware/keycool_87_with_new_rainbow_keys-2012-02-25.htm</link>
		<comments>http://www.xiaozhou.net/ittech/hardware/keycool_87_with_new_rainbow_keys-2012-02-25.htm#comments</comments>
		<pubDate>Fri, 24 Feb 2012 16:40:00 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[电脑硬件]]></category>
		<category><![CDATA[87]]></category>
		<category><![CDATA[keycool]]></category>
		<category><![CDATA[凯酷]]></category>
		<category><![CDATA[凯酷87]]></category>
		<category><![CDATA[彩虹]]></category>
		<category><![CDATA[键帽]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1393</guid>
		<description><![CDATA[作为程序员大叔的我，有着一颗年轻而又喜欢折腾的心，所以，但凡我喜欢上的东东，必须是可定制性比较高，适合DIY的。因此，从VPS，到机械键盘，都属于我折腾的范畴，虽然这两者之间没太多的联系，但是它们都有较高的可定制性和自由度，适合折腾，嘿嘿&#8230;&#8230; 话不多说，自从上次入手Keycool 87机械键盘后，每天工作都离不开它，用它敲代码，发邮件，浏览网页找资料&#8230;&#8230; 由于习惯了机械键盘的手感，偶尔用用笔记本上的薄膜键盘，还真感觉有点不习惯 &#8211;_-# 机械键盘的好处在于，每个键帽都是独立的，并且可替换，可定制性极强，这也给折腾留下了空间。换上黑色无刻键帽一段时间后，终究还是有点审美疲劳了，恰巧又看到论坛里面各位折腾人士都开始换上了彩虹键帽，那颜色，真是太吸引人眼球了，很容易让人中毒。于是，也就有了这一次的折腾&#8230;&#8230; 开始施工之前，先给&#8220;黑白配&#8221;的键帽留影纪念一下： 然后,拔键器上场，开始干活&#8230;&#8230; 鉴于上次换黑色无刻的经验，现在俺拔起键来，手法那是相当的娴熟&#8230;&#8230; 一眨眼的功夫，37个键已经被全部移掉，露出一排排整齐的茶轴来&#8230;&#8230; 在拔键的同时，其实彩虹键帽们以及在一旁整齐的排着队伍，静候着等待入场了&#8230;&#8230; 接下来，工地上的施工改造正紧张有序的进行着 ^_^ 施工完毕，这是改造后的最终效果，效果非常令人满意，程序员大叔表示，这色彩太让人喜欢了，拥有此键盘，每天不用它写上几百来行代码，心里还真是不爽！嘿嘿&#8230;&#8230; 来两张近距离特写： 最后，来一张俺的办公桌特写： 各位看官，本文到此结束&#8230;&#8230; 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>作为程序员大叔的我，有着一颗年轻而又喜欢折腾的心，所以，但凡我喜欢上的东东，必须是可定制性比较高，适合DIY的。因此，从VPS，到机械键盘，都属于我折腾的范畴，虽然这两者之间没太多的联系，但是它们都有较高的可定制性和自由度，适合折腾，嘿嘿&hellip;&hellip;</p>
<p>话不多说，自从上次<a href="http://www.xiaozhou.net/ittech/hardware/experience_of_keycool_87-2012-02-06.htm" target="_blank">入手Keycool 87机械键盘</a>后，每天工作都离不开它，用它敲代码，发邮件，浏览网页找资料&hellip;&hellip; 由于习惯了机械键盘的手感，偶尔用用笔记本上的薄膜键盘，还真感觉有点不习惯 &ndash;_-#</p>
<p>机械键盘的好处在于，每个键帽都是独立的，并且可替换，可定制性极强，这也给折腾留下了空间。换上黑色无刻键帽一段时间后，终究还是有点审美疲劳了，恰巧又看到论坛里面各位折腾人士都开始换上了彩虹键帽，那颜色，真是太吸引人眼球了，很容易让人中毒。于是，也就有了这一次的折腾&hellip;&hellip;<span id="more-1393"></span></p>
<p>开始施工之前，先给&ldquo;黑白配&rdquo;的键帽留影纪念一下：</p>
<p><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="rainbow1" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow1_thumb.jpg" border="0" alt="rainbow1" width="556" height="412" /></a></p>
<p>然后,拔键器上场，开始干活&hellip;&hellip; 鉴于上次换黑色无刻的经验，现在俺拔起键来，手法那是相当的娴熟&hellip;&hellip;</p>
<p>一眨眼的功夫，37个键已经被全部移掉，露出一排排整齐的茶轴来&hellip;&hellip;</p>
<p><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="rainbow2" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow2_thumb.jpg" border="0" alt="rainbow2" width="324" height="243" /></a><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow3.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="rainbow3" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow3_thumb.jpg" border="0" alt="rainbow3" width="326" height="243" /></a></p>
<p>在拔键的同时，其实彩虹键帽们以及在一旁整齐的排着队伍，静候着等待入场了&hellip;&hellip;</p>
<p><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow3-1.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="rainbow3-1" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow3-1_thumb.jpg" border="0" alt="rainbow3-1" width="538" height="401" /></a></p>
<p>接下来，工地上的施工改造正紧张有序的进行着 ^_^</p>
<p><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow4.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="rainbow4" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow4_thumb.jpg" border="0" alt="rainbow4" width="536" height="401" /></a></p>
<p>施工完毕，这是改造后的最终效果，效果非常令人满意，程序员大叔表示，这色彩太让人喜欢了，拥有此键盘，每天不用它写上几百来行代码，心里还真是不爽！嘿嘿&hellip;&hellip; 来两张近距离特写：</p>
<p><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow7.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="rainbow7" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow7_thumb.jpg" border="0" alt="rainbow7" width="246" height="327" /></a><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow5.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="rainbow5" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow5_thumb.jpg" border="0" alt="rainbow5" width="364" height="272" /></a></p>
<p>最后，来一张俺的办公桌特写：</p>
<p><a href="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow6.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="rainbow6" src="http://www.xiaozhou.net/pics/Keycool-87_14D70/rainbow6_thumb.jpg" border="0" alt="rainbow6" width="536" height="399" /></a></p>
<p>各位看官，本文到此结束&hellip;&hellip;</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/hardware/keycool_87_with_new_rainbow_keys-2012-02-25.htm/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>VPS持续稳定运行中</title>
		<link>http://www.xiaozhou.net/ittech/vps-ittech/vps_runs_well-2012-02-22.htm</link>
		<comments>http://www.xiaozhou.net/ittech/vps-ittech/vps_runs_well-2012-02-22.htm#comments</comments>
		<pubDate>Wed, 22 Feb 2012 14:53:05 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[vps]]></category>
		<category><![CDATA[directadmin]]></category>
		<category><![CDATA[稳定]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1392</guid>
		<description><![CDATA[手中的两台VPS，如今已经稳定运行半年了左右了，这两台VPS都是我比较看好的，服务商都是品牌口碑不错，并且久经考验的。除了偶尔的线路抽风，和来历不明的CC攻击外，服务器本身运行很稳定，以至于近半年都没有重启过，上次有一台VPS重启，也不是因为系统不稳定，而是因为服务器内存升级，必须重启才能使用。如今，这两天VPS都装上了DirectAdmin面板，和广大WordPress爱好者和博主一起合租中。其中很多博主都对主机比较满意，表示愿意继续合租下去⋯⋯ 特此发图两张，留个纪念： VPS稳定固然好，可这也太稳定了，以至于喜欢折腾的我，无可折腾⋯⋯ 于是，最近开始转移目标，折腾起了机械键盘⋯⋯ 囧rz 声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权，除非注明，本站文章均为原创，转载请注明转自 Timothy&#039;s Space 并应以链接形式标明本文地址!]]></description>
			<content:encoded><![CDATA[<p>手中的两台VPS，如今已经稳定运行半年了左右了，这两台VPS都是我比较看好的，服务商都是品牌口碑不错，并且久经考验的。除了偶尔的线路抽风，和来历不明的CC攻击外，服务器本身运行很稳定，以至于近半年都没有重启过，上次有一台VPS重启，也不是因为系统不稳定，而是因为服务器内存升级，必须重启才能使用。如今，这两天VPS都装上了DirectAdmin面板，和广大WordPress爱好者和博主一起合租中。其中很多博主都对主机比较满意，表示愿意继续合租下去⋯⋯<span id="more-1392"></span></p>
<p>特此发图两张，留个纪念：</p>
<p><img style="border-image: initial; display: block; margin-left: auto; margin-right: auto; border: 1px solid black;" src="http://www.xiaozhou.net/pics/VPS_T61/vps1.png" alt="VPS1" width="600" height="344" /></p>
<p><img style="border-image: initial; display: block; margin-left: auto; margin-right: auto; border: 1px solid black;" src="http://www.xiaozhou.net/pics/VPS_T61/vps2.png" alt="" width="600" height="224" /></p>
<p>VPS稳定固然好，可这也太稳定了，以至于喜欢折腾的我，无可折腾⋯⋯ 于是，最近开始转移目标，折腾起了机械键盘⋯⋯ 囧rz</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/ittech/vps-ittech/vps_runs_well-2012-02-22.htm/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>.NET程序与FIPS兼容性问题</title>
		<link>http://www.xiaozhou.net/dotnetdevelopment/let_your_dotnet_program_compatible_with_fips-2012-02-17.htm</link>
		<comments>http://www.xiaozhou.net/dotnetdevelopment/let_your_dotnet_program_compatible_with_fips-2012-02-17.htm#comments</comments>
		<pubDate>Fri, 17 Feb 2012 13:13:14 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[.NET开发]]></category>
		<category><![CDATA[compatible]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[federal]]></category>
		<category><![CDATA[FIPS]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[standard]]></category>
		<category><![CDATA[兼容性]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1391</guid>
		<description><![CDATA[开始之前，先介绍一下术语： FIPS，全称是Federal Information Processing Standard，中文名叫联邦信息处理标准，FIPS 是由两个政府主体开发的标准。一个是美国国家标准和在美国境内的技术。另一种是通信安全机构，在加拿大。FIPS 是建议或要求使用 （美国或加拿大） 的联邦政府操作 IT 系统中的标准。 FIPS 140-2，主要用来定义安全级别，整个FIPS 140-2分为四个安全级别，它主要定义了一些和安全相关的策略，包括指定哪些加密算法和可使用的哈希算法和加密密钥的生成和管理的方式。 故事从这里开始，最近在做公司项目的时候，遇到一个很怪异的问题。我们的一个模块在普通的操作系统上，能正常运行，但是在启用了FIPS策略的机器上，就挂了。刚开始，还以为是其他原因，后来终于真相大白，这个bug和FIPS的安全策略有关。后来才知道，这个bug和US gov定义的这个安全策略那是相当的有基情！ 前面已经提到，FIPS中有对加密算法的严格要求，总的来说，有些算法是FIPS允许的，有些是不允许的。而我的一个模块，恰恰用到了一个不兼容FIPS的加密算法，刚刚撞在了枪口上。悲剧啊⋯⋯ 不过还是要感谢google老师，在搜索了一上午后，终于找到了解决办法： 第一种，是在.NET的配置文件的runtime节点中，加入如下节点： ?View Code XML1 2 3 &#60;runtime&#62; &#60;enforceFIPSPolicy enabled=&#34;false&#34; /&#62; &#60;/runtime&#62; 通过把enforceFIPSPolicy强行设置为false，从而避过FIPS的策略检查 第二种方法，当然是顺从FIPS的策略，选择一种FIPS兼容的加密算法。下面是FIPS对各种加密算法的兼容性测试结果： FIPS Compliant in mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Name                               Compliant [...]]]></description>
			<content:encoded><![CDATA[<p>开始之前，先介绍一下术语：</p>
<p><strong>FIPS</strong>，全称是Federal Information Processing Standard，中文名叫联邦信息处理标准，FIPS 是由两个政府主体开发的标准。一个是美国国家标准和在美国境内的技术。另一种是通信安全机构，在加拿大。FIPS 是建议或要求使用 （美国或加拿大） 的联邦政府操作 IT 系统中的标准。</p>
<p><strong>FIPS 140-2</strong>，主要用来定义安全级别，整个FIPS 140-2分为四个安全级别，它主要定义了一些和安全相关的策略，包括指定哪些加密算法和可使用的哈希算法和加密密钥的生成和管理的方式。</p>
<p>故事从这里开始，最近在做公司项目的时候，遇到一个很怪异的问题。我们的一个模块在普通的操作系统上，能正常运行，但是在启用了FIPS策略的机器上，就挂了。刚开始，还以为是其他原因，后来终于真相大白，这个bug和FIPS的安全策略有关。后来才知道，这个bug和US gov定义的这个安全策略那是相当的有基情！<span id="more-1391"></span></p>
<p>前面已经提到，FIPS中有对加密算法的严格要求，总的来说，有些算法是FIPS允许的，有些是不允许的。而我的一个模块，恰恰用到了一个不兼容FIPS的加密算法，刚刚撞在了枪口上。悲剧啊⋯⋯</p>
<p>不过还是要感谢google老师，在搜索了一上午后，终于找到了解决办法：</p>
<p>第一种，是在.NET的配置文件的runtime节点中，加入如下节点：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1391code18'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p139118"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p1391code18"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;runtime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;enforceFIPSPolicy</span> <span style="color: #000066;">enabled</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/runtime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>通过把enforceFIPSPolicy强行设置为false，从而避过FIPS的策略检查</p>
<p>第二种方法，当然是顺从FIPS的策略，选择一种FIPS兼容的加密算法。下面是FIPS对各种加密算法的兼容性测试结果：</p>
<p>FIPS Compliant in mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</p>
<p>Name                               Compliant      Subclass</p>
<p>DESCryptoServiceProvider           Y              SymmetricAlgorithm</p>
<p>DSACryptoServiceProvider           Y              AsymmetricAlgorithm</p>
<p>HMACMD5                                    N              HashAlgorithm</p>
<p>HMACRIPEMD160                        N              HashAlgorithm</p>
<p>HMACSHA1                                  Y              HashAlgorithm</p>
<p>HMACSHA256                              N              HashAlgorithm</p>
<p>HMACSHA384                              N              HashAlgorithm</p>
<p>HMACSHA512                              N              HashAlgorithm</p>
<p>MACTripleDES                              Y              HashAlgorithm</p>
<p>MD5CryptoServiceProvider           N              HashAlgorithm</p>
<p>RC2CryptoServiceProvider           N              SymmetricAlgorithm</p>
<p>RIPEMD160Managed                   N              HashAlgorithm</p>
<p>RSACryptoServiceProvider           Y              AsymmetricAlgorithm</p>
<p>RijndaelManaged                          N              SymmetricAlgorithm</p>
<p>SHA1CryptoServiceProvider         Y              HashAlgorithm</p>
<p>SHA1Managed                             N              HashAlgorithm</p>
<p>SHA256Managed                         N              HashAlgorithm</p>
<p>SHA384Managed                         N              HashAlgorithm</p>
<p>SHA512Managed                         N              HashAlgorithm</p>
<p>TripleDESCryptoServiceProvider   Y              SymmetricAlgorithm</p>
<p>&nbsp;</p>
<p>FIPS Compliant in System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</p>
<p>Name                               Compliant      Subclass</p>
<p>AesCryptoServiceProvider           Y              SymmetricAlgorithm</p>
<p>AesManaged                               N              SymmetricAlgorithm</p>
<p>ECDiffieHellmanCng                    Y              AsymmetricAlgorithm</p>
<p>ECDsaCng                                   Y              AsymmetricAlgorithm</p>
<p>MD5Cng                                      N              HashAlgorithm</p>
<p>SHA1Cng                                    Y              HashAlgorithm</p>
<p>SHA256Cng                                 Y              HashAlgorithm</p>
<p>SHA256CryptoServiceProvider        Y              HashAlgorithm</p>
<p>SHA384Cng                                     Y              HashAlgorithm</p>
<p>SHA384CryptoServiceProvider        Y              HashAlgorithm</p>
<p>SHA512Cng                                     Y              HashAlgorithm</p>
<p>SHA512CryptoServiceProvider        Y              HashAlgorithm</p>
<p>&nbsp;</p>
<p>有了这个结果，就目标很明确了，选择一种与FIPS兼容的算法，即可一劳永逸，解决你的程序与FIPS不兼容的问题。</p>
<p>或许，你还可以参考这两篇文章：</p>
<p><a href="http://adf.ly/5Ywti" target="_blank">FIPS definition from wikipedia</a></p>
<p><a href="http://adf.ly/5Yx6S" target="_blank">Working with FIPS in .NET C#</a></p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/dotnetdevelopment/let_your_dotnet_program_compatible_with_fips-2012-02-17.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解决Ado.NET Entity Framework错误: DefiningQuery and no InsertFunction Error</title>
		<link>http://www.xiaozhou.net/dotnetdevelopment/fix_the_bug_of_updateexception_definingquery_and_no_insertfunction_error-2012-02-16.htm</link>
		<comments>http://www.xiaozhou.net/dotnetdevelopment/fix_the_bug_of_updateexception_definingquery_and_no_insertfunction_error-2012-02-16.htm#comments</comments>
		<pubDate>Thu, 16 Feb 2012 12:55:38 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
				<category><![CDATA[.NET开发]]></category>
		<category><![CDATA[ado.net]]></category>
		<category><![CDATA[DefiningQuery]]></category>
		<category><![CDATA[Entity]]></category>
		<category><![CDATA[EntitySet]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://www.xiaozhou.net/?p=1389</guid>
		<description><![CDATA[最近用Ado.NET Entity Framework做项目，采用了POCO的模式来访问与存取数据库。所谓POCO，是Ado.NET Enity Framework (简称Ado.NET EF) 推出的一种新的模式，即Plain Old CLR Object。Ado.NET EF通过对POCO的支持，允许用户定义自己的Entity对象，比通过Ado.NET EF自动生成的对象更为简洁。 在程序的运行中，你也许会发现如下的错误： “Unable to update the EntitySet XXXXXX because it has a DefiningQuery and no element exists in the element to support the current operation.” 这错误有点让人摸不着头脑，在Google上搜了半天，终于发现了原因。原来，如果你的数据库中的表，如果没有定义Primary Key，在Ado.NET EF中会被认为这是个View，而不是个Table。如果你用XML编辑器，打开生成的EDMX文件，就会发现，store type不是Table。除此之外，你还会发现如下的警告信息： ”Warning 6002: The table/view ‘TABLENAME’ does not have a primary key defined. The key [...]]]></description>
			<content:encoded><![CDATA[<p>最近用Ado.NET Entity Framework做项目，采用了POCO的模式来访问与存取数据库。所谓POCO，是Ado.NET Enity Framework (简称Ado.NET EF) 推出的一种新的模式，即Plain Old CLR Object。Ado.NET EF通过对POCO的支持，允许用户定义自己的Entity对象，比通过Ado.NET EF自动生成的对象更为简洁。</p>
<p>在程序的运行中，你也许会发现如下的错误：</p>
<p><span style="color: #222222; font-family: arial, sans-serif; font-size: 13px; background-color: rgba(255, 255, 255, 0.917969);">“</span><em style="color: #222222; font-family: arial, sans-serif; font-size: 13px; background-color: rgba(255, 255, 255, 0.917969);">Unable to update the EntitySet XXXXXX because it has a DefiningQuery and no element exists in the element to support the current operation.</em><span style="color: #222222; font-family: arial, sans-serif; font-size: 13px; background-color: rgba(255, 255, 255, 0.917969);">”</span></p>
<p>这错误有点让人摸不着头脑，在Google上搜了半天，终于发现了原因。原来，如果你的数据库中的表，如果没有定义Primary Key，在Ado.NET EF中会被认为这是个View，而不是个Table。如果你用XML编辑器，打开生成的EDMX文件，就会发现，store type不是Table。除此之外，你还会发现如下的警告信息：</p>
<p><span style="color: #222222; font-family: arial, sans-serif; font-size: 13px; background-color: rgba(255, 255, 255, 0.917969);">”Warning 6002: The table/view ‘TABLENAME’ does not have a primary key defined. The key has been inferred and the definition was created as a read-only table/view.“</span></p>
<p>解决方法很简单，去数据库里面，给你的表加上主键，然后更新整个EDMX就可以了。</p>
<p class="announce"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论，对其完全的正确不做任何担保或假设 <br /> 本站文章均采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">知识共享署名-相同方式共享3.0</a> 协议进行授权，除非注明，本站文章均为原创，转载请注明转自  <a href="http://www.xiaozhou.net">Timothy&#039;s Space</a> 并应以链接形式标明本文地址!</p>]]></content:encoded>
			<wfw:commentRss>http://www.xiaozhou.net/dotnetdevelopment/fix_the_bug_of_updateexception_definingquery_and_no_insertfunction_error-2012-02-16.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

