<?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>Life - WeiG &#187; Computer Science</title>
	<atom:link href="http://www.weigblog.com/category/computer-science/feed" rel="self" type="application/rss+xml" />
	<link>http://www.weigblog.com</link>
	<description>Yet another Life</description>
	<lastBuildDate>Thu, 05 Jan 2012 03:13:50 +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>Debian Lenny升级到Squeeze后MySQL无法启动的问题</title>
		<link>http://www.weigblog.com/2011/02/06/mysql-start-fail-when-upgrade-from-debian-lenny-to-squeeze.html</link>
		<comments>http://www.weigblog.com/2011/02/06/mysql-start-fail-when-upgrade-from-debian-lenny-to-squeeze.html#comments</comments>
		<pubDate>Sun, 06 Feb 2011 09:22:29 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dpkg]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[squeeze]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=564</guid>
		<description><![CDATA[今天把VPS从Debian Lenny升级到Squeeze了，却发现MySQL无法启动了。而且无法安装mysql-server，Debian在升级的时候，同时升级了mysql-server到5.1。 运行 返回的结果是： 解决方案： 然后重新安装mysql-server即可]]></description>
			<content:encoded><![CDATA[<p>今天把VPS从Debian Lenny升级到Squeeze了，却发现MySQL无法启动了。而且无法安装mysql-server，Debian在升级的时候，同时升级了mysql-server到5.1。</p>
<p>运行</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install mysql-server</pre>
<p>返回的结果是：</p>
<pre class="brush: bash; title: ; notranslate">
...
Unpacking mysql-server-5.1 (from .../mysql-server-5.1_5.1.49-3_amd64.deb) ...
Stopping MySQL database server: mysqld.
Selecting previously deselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.1.49-3_all.deb) ...
Processing triggers for man-db ...
Setting up mysql-client-5.1 (5.1.49-3) ...
Setting up mysql-server-5.1 (5.1.49-3) ...
Installing new version of config file /etc/init.d/mysql ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action &quot;start&quot; failed.
dpkg: error processing mysql-server-5.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.1; however:
  Package mysql-server-5.1 is not configured yet.
dpkg: error processing mysql-server (--configure):
 dependency problems - leaving unconfigured
configured to not write apport reports
                                      Errors were encountered while processing:
 mysql-server-5.1
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
</pre>
<p>解决方案：</p>
<pre class="brush: bash; title: ; notranslate">
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backup
sudo cp /etc/mysql/my.cnf.dpkg-dist /etc/mysql/my.cnf
</pre>
<p>然后重新安装mysql-server即可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2011/02/06/mysql-start-fail-when-upgrade-from-debian-lenny-to-squeeze.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>对于iPhone使用1年的感受</title>
		<link>http://www.weigblog.com/2010/11/03/evaluate-iphone-after-1-year.html</link>
		<comments>http://www.weigblog.com/2010/11/03/evaluate-iphone-after-1-year.html#comments</comments>
		<pubDate>Wed, 03 Nov 2010 13:45:10 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=557</guid>
		<description><![CDATA[iPhone正式使用差不多1年了。近来，越来越的人开始选择iPhone做为手机，尤其是iPhone4（话说iPhone4的屏幕真的相当不错）。当我第一眼看到iPhone4真机的时候，还是被震撼了，看到iPhone4的屏幕后，3GS的屏幕就只能用垃圾形容了。我自然动了再次更换iPhone的心。 在使用1年iPhone以后，还是对他有一些评价的。人们总是更多的注意到优点，而我则在此更多的提到他的缺点： 文件系统过于封闭。在未经过越狱的情况下，应用程序只能在自己的sandbox中运行，也自然只能访问sandbox中的文件。跨应用程序的访问，则只能限制在Camera Roll中的照片。由此则引发了更多的问题 邮件附件：iPhone的mail是没办法添加附件的（虽然可以通过复制的功能添加图片作为附件）。这就有一个很严重的问题，如果某人发了一个带有Word/Excel的邮件，需要我填写后发回去。mail几乎没办法做到的。虽然最新的iOS4已经允许在第三方应用中打开邮件附件，但却没有办法添加回mail中。（对此唯一的解决办法就是通过第三方应用发送邮件，但没办法回复到同一个thread里面）。 文件共享：文件不能在两个设备之间传送（通过蓝牙或者WiFi，除了图片），当然iPhone里压根就没有文件管理器（所谓的文件管理器，只是管理自己sandbox的文件）。 邮件：在回复和转发的时候，邮件头并不像Outlook那样，会显示“From：”，“To：”，“CC：”，“BCC：”，“Subject”等，而是只写着“On &#60;date/time&#62;, &#60;someone&#62; wrote:”或者“Below is the forwarded message:”，紧跟着邮件正文。这种情况下，你是看不到之前的被转发的邮件，哪些人已经看到了邮件。对于同一封邮件，一大堆收件人的情况，非常不方便。 费电，非常费电：由于工作关系，我开启3G、推送邮件，手机基本上坚持24小时都已经是奇迹了。 同步：你只能在特定的某台电脑上同步你的手机，而当你尝试在其他电脑上同步，会看到提示要删除设备上的所有对象。 视频通话：即使是最新的iPhone4，也只能实现在WiFi网络下的的FaceTime；而无论是现在哪款iPhone，都不能实现在3G网络下“标准”的视频通话。 不支持Flash 短信没有发送回执：这年头，短信回执已经是很多手机的标配了。虽然Windows Mobile手机的短信回执很垃圾，但总比没有强。短信回执最好的应该就是Sony Ericsson的手机了。每个发送的消息都被标记上一个图标，当发送成功，收到短信回执以后，图标会变成一个对勾，表示发送成功。 彩信显示没有播放，没有分页：彩信在iPhone上会被展开成每一条独立的消息，类似中国移动的“新闻早晚报”这样的消息，在iPhone上看起来，就会连在一起，阅读体验非常之差。并且，彩信的打开速度很慢。 最后说说优点： 屏幕效果真的非常好 界面效果和用户体验真的非常棒 整体设计真的非常漂亮 注：以上均为在“未越狱”的情况下的评价。如果越狱（Jail Break），以上很多功能都可以实现。]]></description>
			<content:encoded><![CDATA[<p>iPhone正式使用差不多1年了。近来，越来越的人开始选择iPhone做为手机，尤其是iPhone4（话说iPhone4的屏幕真的相当不错）。当我第一眼看到iPhone4真机的时候，还是被震撼了，看到iPhone4的屏幕后，3GS的屏幕就只能用垃圾形容了。我自然动了再次更换iPhone的心。</p>
<p>在使用1年iPhone以后，还是对他有一些评价的。人们总是更多的注意到优点，而我则在此更多的提到他的缺点：</p>
<ol>
<li>文件系统过于封闭。在未经过越狱的情况下，应用程序只能在自己的sandbox中运行，也自然只能访问sandbox中的文件。跨应用程序的访问，则只能限制在Camera Roll中的照片。由此则引发了更多的问题</li>
<li>邮件附件：iPhone的mail是没办法添加附件的（虽然可以通过复制的功能添加图片作为附件）。这就有一个很严重的问题，如果某人发了一个带有Word/Excel的邮件，需要我填写后发回去。mail几乎没办法做到的。虽然最新的iOS4已经允许在第三方应用中打开邮件附件，但却没有办法添加回mail中。（对此唯一的解决办法就是通过第三方应用发送邮件，但没办法回复到同一个thread里面）。</li>
<li>文件共享：文件不能在两个设备之间传送（通过蓝牙或者WiFi，除了图片），当然iPhone里压根就没有文件管理器（所谓的文件管理器，只是管理自己sandbox的文件）。</li>
<li>邮件：在回复和转发的时候，邮件头并不像Outlook那样，会显示“From：”，“To：”，“CC：”，“BCC：”，“Subject”等，而是只写着“On &lt;date/time&gt;, &lt;someone&gt; wrote:”或者“Below is the forwarded message:”，紧跟着邮件正文。这种情况下，你是看不到之前的被转发的邮件，哪些人已经看到了邮件。对于同一封邮件，一大堆收件人的情况，非常不方便。</li>
<li>费电，非常费电：由于工作关系，我开启3G、推送邮件，手机基本上坚持24小时都已经是奇迹了。</li>
<li>同步：你只能在特定的某台电脑上同步你的手机，而当你尝试在其他电脑上同步，会看到提示要删除设备上的所有对象。</li>
<li>视频通话：即使是最新的iPhone4，也只能实现在WiFi网络下的的FaceTime；而无论是现在哪款iPhone，都不能实现在3G网络下“标准”的视频通话。</li>
<li>不支持Flash</li>
<li>短信没有发送回执：这年头，短信回执已经是很多手机的标配了。虽然Windows Mobile手机的短信回执很垃圾，但总比没有强。短信回执最好的应该就是Sony Ericsson的手机了。每个发送的消息都被标记上一个图标，当发送成功，收到短信回执以后，图标会变成一个对勾，表示发送成功。</li>
<li>彩信显示没有播放，没有分页：彩信在iPhone上会被展开成每一条独立的消息，类似中国移动的“新闻早晚报”这样的消息，在iPhone上看起来，就会连在一起，阅读体验非常之差。并且，彩信的打开速度很慢。</li>
</ol>
<p>最后说说优点：</p>
<ol>
<li>屏幕效果真的非常好</li>
<li>界面效果和用户体验真的非常棒</li>
<li>整体设计真的非常漂亮</li>
</ol>
<p>注：以上均为在“未越狱”的情况下的评价。如果越狱（Jail Break），以上很多功能都可以实现。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/11/03/evaluate-iphone-after-1-year.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Debian上安装l2tpd/IPSec VPN服务</title>
		<link>http://www.weigblog.com/2010/06/24/setup-l2tpd-ipsec-vpn-debian.html</link>
		<comments>http://www.weigblog.com/2010/06/24/setup-l2tpd-ipsec-vpn-debian.html#comments</comments>
		<pubDate>Thu, 24 Jun 2010 05:21:31 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[l2tp]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=546</guid>
		<description><![CDATA[本文主要介绍在Debian Lenny下安装l2tpd/IPSec VPN服务。 配置openswan 运行如下命令安装openswan 编辑/etc/ipsec.conf，修改如下行： 并在在文件最后一行，加上： 复制l2tp-psk.conf文件 编辑l2tp-psk.conf文件，修改如下，并将其中的YOUR.IP.ADDRESS.HERE替换为主机的IP地址： 编辑/etc/ipsec.secrets文件，其中YourPSKHere为将来PSK的Secret，YOUR.IP.ADDRESS.HERE为主机IP: 禁用accept_redirects和send_redirects，运行如下的命令（可能需要root用户权限） IPSec的配置就已经结束了。可以运行 来确认配置是否正确。输出的结果如下： 最后一项的DISABLED并不会影响配置。另外，如果在检测Pluto时提示了Command not found。请安装lsof。 重新启动ipsec，使配置生效 配置xl2tpd 运行如下命令安装xl2tpd 编辑/etc/xl2tpd/xl2tpd.conf 复制/etc/ppp/options.l2tpd 编辑/etc/ppp/options.l2tpd，修改其中项目如下： 配置VPN用户，编辑/etc/ppp/chap-secrets文件，添加如下行（替换其中的username为今后登录的用户名，password为密码） 启动xl2tpd 设置iptables转发 设置ipv4转发，修改/etc/sysctl.conf中的如下行： 运行如下命令： l2tp VPN至此就已经配置完了。使用如下参数配置VPN客户端，即可连接： 服务器（Server）：YOUR.IP.ADDRESS.HERE （或对应的域名） 用户名（Username）：username （在/etc/ppp/chap-secrets） 密码（Password):password （在/etc/ppp/chap-secrets） 密钥（PSK/Secret):YourPSKHere （在/etc/ipsec.secret中配置的） 如果客户端连接显示“server did not respond”，通常说明openswan的版本不对，Debian Lenny自带的版本貌似有些问题。在命令行运行如下命令，即可安装openswan-2.6.24：]]></description>
			<content:encoded><![CDATA[<p>本文主要介绍在Debian Lenny下安装l2tpd/IPSec VPN服务。</p>
<p><strong>配置openswan</strong></p>
<p>运行如下命令安装openswan</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install openswan</pre>
<p>编辑/etc/ipsec.conf，修改如下行：</p>
<pre class="brush: bash; title: ; notranslate">
net_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
protostack=netkey
</pre>
<p>并在在文件最后一行，加上：</p>
<pre class="brush: bash; title: ; notranslate">include /etc/ipsec.d/l2tp-psk.conf</pre>
<p>复制l2tp-psk.conf文件</p>
<pre class="brush: bash; title: ; notranslate">cp /etc/ipsec.d/examples/l2tp-psk.conf /etc/ipsec.d/l2tp-psk.conf</pre>
<p>编辑l2tp-psk.conf文件，修改如下，并将其中的YOUR.IP.ADDRESS.HERE替换为主机的IP地址：</p>
<pre class="brush: bash; title: ; notranslate">
conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=YOUR.IP.ADDRESS.HERE
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
</pre>
<p>编辑/etc/ipsec.secrets文件，其中YourPSKHere为将来PSK的Secret，YOUR.IP.ADDRESS.HERE为主机IP:</p>
<pre class="brush: bash; title: ; notranslate">YOUR.IP.ADDRESS.HERE %any: PSK &quot;YourPSKHere&quot;</pre>
<p>禁用accept_redirects和send_redirects，运行如下的命令（可能需要root用户权限）</p>
<pre class="brush: bash; title: ; notranslate">
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 &gt; $each/accept_redirects
    echo 0 &gt; $each/send_redirects
done
</pre>
<p>IPSec的配置就已经结束了。可以运行</p>
<pre class="brush: bash; title: ; notranslate">sudo ipsec verify</pre>
<p>来确认配置是否正确。输出的结果如下：</p>
<pre class="brush: bash; title: ; notranslate">
$ sudo ipsec verify

Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.24/K2.6.18.8-x86_64-linode10 (netkey)
Checking for IPsec support in kernel                            [OK]
NETKEY detected, testing for disabled ICMP send_redirects       [OK]
NETKEY detected, testing for disabled ICMP accept_redirects     [OK]
Checking for RSA private key (/etc/ipsec.secrets)               [OK]
Checking that pluto is running                                  [OK]
Pluto listening for IKE on udp 500                              [OK]
Pluto listening for NAT-T on udp 4500                           [OK]
Two or more interfaces found, checking IP forwarding            [OK]
Checking NAT and MASQUERADEing
Checking for 'ip' command                                       [OK]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]
</pre>
<p>最后一项的DISABLED并不会影响配置。另外，如果在检测Pluto时提示了Command not found。请安装lsof。</p>
<p>重新启动ipsec，使配置生效</p>
<pre class="brush: bash; title: ; notranslate">sudo /etc/init.d/ipsec restart</pre>
<p><strong>配置xl2tpd</strong></p>
<p>运行如下命令安装xl2tpd</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install xl2tpd</pre>
<p>编辑/etc/xl2tpd/xl2tpd.conf</p>
<pre class="brush: bash; title: ; notranslate">
[global]
ipsec saref = yes

[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
length bit = yes
;require chap = yes
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
</pre>
<p>复制/etc/ppp/options.l2tpd</p>
<pre class="brush: bash; title: ; notranslate">cp /etc/ppp/options /etc/ppp/options.l2tpd</pre>
<p>编辑/etc/ppp/options.l2tpd，修改其中项目如下：</p>
<pre class="brush: bash; title: ; notranslate">
require-mschap-v2
ms-dns 208.67.222.222
ms-dns 208.67.220.220
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
</pre>
<p>配置VPN用户，编辑/etc/ppp/chap-secrets文件，添加如下行（替换其中的username为今后登录的用户名，password为密码）</p>
<pre class="brush: bash; title: ; notranslate">username l2tpd password *</pre>
<p>启动xl2tpd</p>
<pre class="brush: bash; title: ; notranslate">sudo /etc/init.d/xl2tpd restart</pre>
<p>设置iptables转发</p>
<pre class="brush: bash; title: ; notranslate">
iptables –table nat –append POSTROUTING –jump MASQUERADE
echo 1 &gt; /proc/sys/net/ipv4/ip_forward
</pre>
<p>设置ipv4转发，修改/etc/sysctl.conf中的如下行：</p>
<pre class="brush: bash; title: ; notranslate">net.ipv4.ip_forward=1</pre>
<p>运行如下命令：</p>
<pre class="brush: bash; title: ; notranslate">sysctl -p</pre>
<p>l2tp VPN至此就已经配置完了。使用如下参数配置VPN客户端，即可连接：<br />
服务器（Server）：YOUR.IP.ADDRESS.HERE （或对应的域名）<br />
用户名（Username）：username （在/etc/ppp/chap-secrets）<br />
密码（Password):password （在/etc/ppp/chap-secrets）<br />
密钥（PSK/Secret):YourPSKHere （在/etc/ipsec.secret中配置的）</p>
<p>如果客户端连接显示“server did not respond”，通常说明openswan的版本不对，Debian Lenny自带的版本貌似有些问题。在命令行运行如下命令，即可安装openswan-2.6.24：</p>
<pre class="brush: bash; title: ; notranslate">
sudo aptitude install libgmp3-dev gawk flex bison
wget http://www.openswan.org/download/openswan-2.6.24.tar.gz
tar xf openswan-2.6.24.tar.gz
cd openswan-2.6.24
make programs
sudo make install
sudo apt-get remove openswan
sudo /etc/init.d/ipsec restart
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/06/24/setup-l2tpd-ipsec-vpn-debian.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>解决在Mac OSX下无法mount AFP的share的问题</title>
		<link>http://www.weigblog.com/2010/05/30/cannot-mount-afp-share-in-osx.html</link>
		<comments>http://www.weigblog.com/2010/05/30/cannot-mount-afp-share-in-osx.html#comments</comments>
		<pubDate>Sun, 30 May 2010 13:31:58 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[afp]]></category>
		<category><![CDATA[connecting]]></category>
		<category><![CDATA[guest]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[registered]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=542</guid>
		<description><![CDATA[最近突然发现，一直以来用的挺好的AFP服务，突然不能访问了。具体的现象如下： 使用Registered User打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，一直显示Connecting，没有反应 使用Guest打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，能够列出部分share的列表 通过Finder的Connect to Server，可以连接任何指定的AFP share 通过Finder的Connect to Server，只指定服务器名称，而不包含AFP share的名字（如：afp://192.168.1.10/），能够列出全部的share，但选择其中一个share并连接，一直显示Connecting，没有反应 一直以为是NAS的AFP服务出了问题，但无论是重新启动AFP服务，还是重新启动Bonjour服务，甚至是重新启动NAS服务器，都无法解决。 之后想到了是OSX的问题，但重新启动OSX后，也没有任何好转。通过日志也没有找到任何相关的信息。 经过一段时间的搜索，终于发现了该问题的原因：是OSX在share的最顶层目录中写入了OSX特有的一些隐藏文件和文件夹。通过Web File Manager或者SSH删除这些文件和文件夹后，问题解决。这些文件包括： .AppleDB .AppleDesktop .AppleDouble .TemporaryItems :2eTemporaryItems Network Trash Folder Temporary Items ._.TemporaryItems .DS_Store :2eDS_Store 另外，还可以禁止OSX在网络设备上创建resource fork的文件。在Terminal中，输入如下命令并重新登录即可：]]></description>
			<content:encoded><![CDATA[<p>最近突然发现，一直以来用的挺好的AFP服务，突然不能访问了。具体的现象如下：</p>
<ol>
<li>使用<span style="color: #ff0000;">Registered User</span>打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，一直显示Connecting，没有反应</li>
<li>使用<span style="color: #ff0000;">Guest</span>打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，能够列出部分share的列表</li>
<li>通过Finder的Connect to Server，可以连接任何指定的AFP share</li>
<li>通过Finder的Connect to Server，只指定服务器名称，而不包含AFP share的名字（如：afp://192.168.1.10/），能够列出全部的share，但选择其中一个share并连接，一直显示Connecting，没有反应</li>
</ol>
<p>一直以为是NAS的AFP服务出了问题，但无论是重新启动AFP服务，还是重新启动Bonjour服务，甚至是重新启动NAS服务器，都无法解决。</p>
<p>之后想到了是OSX的问题，但重新启动OSX后，也没有任何好转。通过日志也没有找到任何相关的信息。</p>
<p>经过一段时间的搜索，终于发现了该问题的原因：是OSX在share的最顶层目录中写入了OSX特有的一些隐藏文件和文件夹。通过Web File Manager或者SSH删除这些文件和文件夹后，问题解决。这些文件包括：</p>
<ul>
<li>.AppleDB</li>
<li>.AppleDesktop</li>
<li>.AppleDouble</li>
<li>.TemporaryItems</li>
<li>:2eTemporaryItems</li>
<li>Network Trash Folder</li>
<li>Temporary Items</li>
<li>._.TemporaryItems</li>
<li>.DS_Store</li>
<li>:2eDS_Store</li>
</ul>
<p>另外，还可以禁止OSX在网络设备上创建resource fork的文件。在Terminal中，输入如下命令并重新登录即可：</p>
<pre class="brush: bash; title: ; notranslate">defaults write com.apple.desktopservices DSDontWriteNetworkStores true</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/05/30/cannot-mount-afp-share-in-osx.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrate Single Disk to RAID5 in QNAP 409 Pro</title>
		<link>http://www.weigblog.com/2010/04/11/migrate-single-disk-to-raid5-in-qnap-409-pro.html</link>
		<comments>http://www.weigblog.com/2010/04/11/migrate-single-disk-to-raid5-in-qnap-409-pro.html#comments</comments>
		<pubDate>Sun, 11 Apr 2010 07:40:12 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ts-409-pro]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=539</guid>
		<description><![CDATA[由于NAS上的硬盘即将告急，又赶上近期硬盘稍有降价。就趁机添置了2块1TB的硬盘，准备添加到NAS上使用。目前的情况是，当硬盘容量超过1TB时，一个好的灾难恢复机制就显得非常重要了。3块硬盘正好组建RAID5，可以容许1块硬盘损坏，但总容量则变为：最小单块容量×（硬盘数－1）。 QNAP 409 Pro号称有Online RAID Migration功能，我的理解就是，所谓Online，就是所有的服务都不需要停止，也不会在此过程中出现中断。然而，QNAP的RAID迁移过程，还是让我受了不少罪的。 Day 1：直接在Web管理界面上选择Single Disk，然后迁移到RAID5。迁移过程开始后，进度基本按照每半小时1%的速度进行着。在将近48小时的时候，未知原因，迁移过程中断。没有错误提示，没有日志，没有数据丢失。 Day 3：经过搜索论坛后，发现有人与我有类似的经历，解决的的方法是关掉所有的后台服务。依此进行，关掉全部AFP、SAMBA、MySQL等服务。仍然是在50%的位置中断。在SSH查看过程时，发现前10%有个mke2fs的进程；从11%到50%，则有一个cp -a的进程。 Day 5：重新启动NAS，确保kill掉所有的无关进程，重新迁移。从11%起，硬盘进入Read Only模式。但在50%时，再次中断。此时却发现_httpd_进程没有了，web管理页面自然也就没有了，重启后仍然没有。 Day 7：准备采取最后的方案，备份数据，然后重新设置服务器。在备份数据的时候，突然想到其他的方案。采用其他的迂回方案。首先remove以前的Single Disk，插入新的2块硬盘。在Web页面（经过换盘重启后不知道什么原因恢复了），创建新的RAID1（镜像）。然后在线插入以前的硬盘，识别后，通过SSH，将全部数据复制到新的Volume里面。接下来重新从Web管理页面将RAID1迁移到RAID5。然而，我却发现，这个迁移过程和之前的过程如出一辙，仍然是将RAID1的一块硬盘，与新硬盘组成一个新的Volume，然后把旧的数据复制进去。再进行迁移。可这次居然再50%之后没有停下来，Web页面能够看到迁移过程，提示剩余600分钟。。在此经过大约8小时，迁移完成，数据也没有丢失。 Single Disk to RAID 5的迁移过程 这个迁移的过程，貌似有些山寨： 新增的两块硬盘，组成新的Volume（degraded RAID5），加载点为/share/mdx_tmp（迁移过程的0%到10%） 通过cp，直接复制旧数据到新的volume，在此过程中，磁盘属于Read Only模式（迁移过程的11%到50%） 将旧的磁盘格式化，合并到新的volume里面 通过RAID5的sync，最终实现RAID5 RAID1迁移到RAID5的过程与之类似，因为RAID1两块硬盘互为镜像，所以迁移的过程中，可以直接断开一块硬盘，并执行上面的过程。 从这里看出来，这个迁移过程并不能算是完全的“online”。首先，需要停止所有的网络服务（包括SAMBA，AFP等）；其次，即使可以不停止这些服务，迁移过程的11%～50%也是Read Only模式的，并不能实现完整的服务。 这里的经验是： 迁移之前，停止所有的服务，并且停止所有有访问硬盘的进程 备份，迁移之前备份还是非常重要的 大约1TB的数据，迁移的时间大约为72小时。其中创建degraded RAID5大约需要2个小时，复制数据需要48小时，剩下的大约24小时为最后的迁移和sync的过程]]></description>
			<content:encoded><![CDATA[<p>由于NAS上的硬盘即将告急，又赶上近期硬盘稍有降价。就趁机添置了2块1TB的硬盘，准备添加到NAS上使用。目前的情况是，当硬盘容量超过1TB时，一个好的灾难恢复机制就显得非常重要了。3块硬盘正好组建RAID5，可以容许1块硬盘损坏，但总容量则变为：最小单块容量×（硬盘数－1）。</p>
<p>QNAP 409 Pro号称有Online RAID Migration功能，我的理解就是，所谓Online，就是所有的服务都不需要停止，也不会在此过程中出现中断。然而，QNAP的RAID迁移过程，还是让我受了不少罪的。</p>
<p>Day 1：直接在Web管理界面上选择Single Disk，然后迁移到RAID5。迁移过程开始后，进度基本按照每半小时1%的速度进行着。在将近48小时的时候，未知原因，迁移过程中断。没有错误提示，没有日志，没有数据丢失。</p>
<p>Day 3：经过搜索论坛后，发现有人与我有类似的经历，解决的的方法是关掉所有的后台服务。依此进行，关掉全部AFP、SAMBA、MySQL等服务。仍然是在50%的位置中断。在SSH查看过程时，发现前10%有个mke2fs的进程；从11%到50%，则有一个cp -a的进程。</p>
<p>Day 5：重新启动NAS，确保kill掉所有的无关进程，重新迁移。从11%起，硬盘进入Read Only模式。但在50%时，再次中断。此时却发现_httpd_进程没有了，web管理页面自然也就没有了，重启后仍然没有。</p>
<p>Day 7：准备采取最后的方案，备份数据，然后重新设置服务器。在备份数据的时候，突然想到其他的方案。采用其他的迂回方案。首先remove以前的Single Disk，插入新的2块硬盘。在Web页面（经过换盘重启后不知道什么原因恢复了），创建新的RAID1（镜像）。然后在线插入以前的硬盘，识别后，通过SSH，将全部数据复制到新的Volume里面。接下来重新从Web管理页面将RAID1迁移到RAID5。然而，我却发现，这个迁移过程和之前的过程如出一辙，仍然是将RAID1的一块硬盘，与新硬盘组成一个新的Volume，然后把旧的数据复制进去。再进行迁移。可这次居然再50%之后没有停下来，Web页面能够看到迁移过程，提示剩余600分钟。。在此经过大约8小时，迁移完成，数据也没有丢失。</p>
<p><strong>Single Disk to RAID 5的迁移过程</strong></p>
<p>这个迁移的过程，貌似有些山寨：</p>
<ol>
<li>新增的两块硬盘，组成新的Volume（degraded RAID5），加载点为/share/mdx_tmp（迁移过程的0%到10%）</li>
<li>通过cp，直接复制旧数据到新的volume，在此过程中，磁盘属于Read Only模式（迁移过程的11%到50%）</li>
<li>将旧的磁盘格式化，合并到新的volume里面</li>
<li>通过RAID5的sync，最终实现RAID5</li>
</ol>
<p>RAID1迁移到RAID5的过程与之类似，因为RAID1两块硬盘互为镜像，所以迁移的过程中，可以直接断开一块硬盘，并执行上面的过程。</p>
<p>从这里看出来，这个迁移过程并不能算是完全的“online”。首先，需要停止所有的网络服务（包括SAMBA，AFP等）；其次，即使可以不停止这些服务，迁移过程的11%～50%也是Read Only模式的，并不能实现完整的服务。</p>
<p>这里的经验是：</p>
<ul>
<li>迁移之前，停止所有的服务，并且停止所有有访问硬盘的进程</li>
<li>备份，迁移之前备份还是非常重要的</li>
<li>大约1TB的数据，迁移的时间大约为72小时。其中创建degraded RAID5大约需要2个小时，复制数据需要48小时，剩下的大约24小时为最后的迁移和sync的过程</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/04/11/migrate-single-disk-to-raid5-in-qnap-409-pro.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linode VPS上安装pptpd VPN服务</title>
		<link>http://www.weigblog.com/2010/02/12/linode-vps-pptpd-vpn.html</link>
		<comments>http://www.weigblog.com/2010/02/12/linode-vps-pptpd-vpn.html#comments</comments>
		<pubDate>Thu, 11 Feb 2010 16:52:47 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[pptpd]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=537</guid>
		<description><![CDATA[从购买了Linode VPS服务之后，就一直考虑弄个VPN。今天终于实现了，该文档讲述了如何在Linode上配置基于pptpd的VPN服务，以及一些troubleshooting的问题。 前提：必须有VPS；必须有SSH。 接下来的步骤将完成pptpd的安装： 安装pptpd服务 修改pptpd服务的配置文件/etc/pptpd.conf（只需要修改最后的localip和remoteip部分）： 修改/etc/ppp/chap-secrets文件 设置pptpd的DNS服务器，修改/etc/ppp/pptpd-options文件： 设置ip4v转发，修改/etc/sysctl.conf文件，去掉如下行的注释： 使ipv4转发生效，运行： 重新启动pptpd服务，运行： 开启ipv4转发，运行如下命令： 需要注意的是，我的VPS不知为什么，FORWARD rule默认的action是DROP（可能是由于我之前配制了防火墙的缘故。这也令我在一段时间内，纠结于为啥VPN无法正常转发。]]></description>
			<content:encoded><![CDATA[<p>从购买了Linode VPS服务之后，就一直考虑弄个VPN。今天终于实现了，该文档讲述了如何在Linode上配置基于pptpd的VPN服务，以及一些troubleshooting的问题。</p>
<p><strong>前提：</strong>必须有VPS；必须有SSH。</p>
<p>接下来的步骤将完成pptpd的安装：</p>
<ol>
<li>安装pptpd服务
<pre class="brush: bash; title: ; notranslate">sudo apt-get install pptpd</pre>
</li>
<li>修改pptpd服务的配置文件/etc/pptpd.conf（只需要修改最后的localip和remoteip部分）：
<pre class="brush: bash; title: ; notranslate">
localip 192.168.10.1
remoteip 192.168.10.100-150
</pre>
</li>
<li>修改/etc/ppp/chap-secrets文件
<pre class="brush: bash; title: ; notranslate">username pptpd password *</pre>
</li>
<li>设置pptpd的DNS服务器，修改/etc/ppp/pptpd-options文件：
<pre class="brush: bash; title: ; notranslate">
ms-dns 208.67.222.222
ms-dns 208.67.220.220
</pre>
</li>
<li>设置ip4v转发，修改/etc/sysctl.conf文件，去掉如下行的注释：
<pre class="brush: bash; title: ; notranslate">net.ipv4.ip_forward=1</pre>
</li>
<li>使ipv4转发生效，运行：
<pre class="brush: bash; title: ; notranslate">sysctl -p</pre>
</li>
<li>重新启动pptpd服务，运行：
<pre class="brush: bash; title: ; notranslate">/etc/init.d/pptpd restart</pre>
</li>
<li>开启ipv4转发，运行如下命令：
<pre class="brush: bash; title: ; notranslate">
/sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
/sbin/iptables -p FORWARD ACCEPT
</pre>
</li>
</ol>
<p>需要注意的是，我的VPS不知为什么，FORWARD rule默认的action是DROP（可能是由于我之前配制了防火墙的缘故。这也令我在一段时间内，纠结于为啥VPN无法正常转发。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/02/12/linode-vps-pptpd-vpn.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iPhone通讯录中文条目在英文环境下的排序问题</title>
		<link>http://www.weigblog.com/2010/01/30/iphone-address-english-sort.html</link>
		<comments>http://www.weigblog.com/2010/01/30/iphone-address-english-sort.html#comments</comments>
		<pubDate>Sat, 30 Jan 2010 15:33:35 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[sort]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=527</guid>
		<description><![CDATA[由于工作的关系，另一方面是iPhone中文翻译的习惯问题，我个人更偏向在英文系统下操作iPhone。iPhone的操作系统可以完美的支持各国语言文字和风格，但是在英文环境下，通讯录的中文条目将无法按照中文的习惯排序，更无法分类在右侧的首字母分类中，如下图所示： 这些联系人被分类到#中，且“兰”、“关”、“冯”、“刘”的排序顺序也是不正确的。实际上这些问题在中文环境中确实没有问题的。在非jailbreak环境下，也无法通过修改系统文件的方法修改排序方式。 使用如下的方法，即可正确的将联系人分类，且排序也是正常的。 首先选择一个联系人，进入编辑状态。点击最下面的add field。再选中Phonetic Last Name。 输入该联系的拼音。用同样的方法添加Phonetic First Name。添加后，在联系人中会显示该联系人的拼音姓名。 回到通讯录列表，即可看到联系人正确的显示在列表中，且无论是在Contact还是Phone中，都可以正确排序和分类。连Search中也可以使用拼音排序。]]></description>
			<content:encoded><![CDATA[<p>由于工作的关系，另一方面是iPhone中文翻译的习惯问题，我个人更偏向在英文系统下操作iPhone。iPhone的操作系统可以完美的支持各国语言文字和风格，但是在英文环境下，通讯录的中文条目将无法按照中文的习惯排序，更无法分类在右侧的首字母分类中，如下图所示：</p>
<p><img class="aligncenter size-full wp-image-528" title="IMG_0046" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_0046.png" alt="" width="320" height="480" />这些联系人被分类到#中，且“兰”、“关”、“冯”、“刘”的排序顺序也是不正确的。实际上这些问题在中文环境中确实没有问题的。在非jailbreak环境下，也无法通过修改系统文件的方法修改排序方式。</p>
<p>使用如下的方法，即可正确的将联系人分类，且排序也是正常的。</p>
<p>首先选择一个联系人，进入编辑状态。点击最下面的add field。再选中Phonetic Last Name。</p>
<p><img class="aligncenter size-full wp-image-529" title="IMG_0048" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_0048.png" alt="" width="320" height="480" />输入该联系的拼音。用同样的方法添加Phonetic First Name。添加后，在联系人中会显示该联系人的拼音姓名。</p>
<p><img class="aligncenter size-full wp-image-530" title="IMG_00491" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_00491.jpg" alt="" width="320" height="480" />回到通讯录列表，即可看到联系人正确的显示在列表中，且无论是在Contact还是Phone中，都可以正确排序和分类。连Search中也可以使用拼音排序。</p>
<p><img class="aligncenter size-full wp-image-534" title="IMG_0051" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_00511.jpg" alt="" width="644" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/01/30/iphone-address-english-sort.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>iPhone 3GS+联通（北京）WCDMA 186 3G网络评测</title>
		<link>http://www.weigblog.com/2009/12/03/iphone-3gs-chn-unicom-wcdma-3g.html</link>
		<comments>http://www.weigblog.com/2009/12/03/iphone-3gs-chn-unicom-wcdma-3g.html#comments</comments>
		<pubDate>Wed, 02 Dec 2009 16:19:00 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[3gs]]></category>
		<category><![CDATA[china-unicom]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[wcdma]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=522</guid>
		<description><![CDATA[最近禁不住诱惑的入手了iPhone 3GS，又再次禁不住诱惑的入网了北京联通186号段的WCDMA网络。 前提 其实一直以来我都用移动的服务，但最近移动的EDGE网络慢的要死，网页都打不开，我公司的座位上信号又非常差。 另一方面，随着电话、网络使用频率的逐渐增加，发现作为大多数Class B的GPRS手机，都不能实现语音和数据的同传，即当有GPRS/EDGE数据活动的时候，语音是完全断开的，也无法接受呼叫。也就是说，当你用GPRS/EDGE打开网页的时候，任何语音电话呼叫都是收不到的。（这完全解释了我的手机信号良好的情况下，来电提醒业务发来的漏接电话的提醒信息）。这对于我这种使用推送邮件服务的人来说，简直就是灭顶之灾。如果在推送和数据传输的时候，恰巧有电话呼入，那呼叫者得到的只能是“您拨叫的用户暂时无法接通”。（如果不信，可以再手机上打开一个网页，在页面载入过程中，用另一部电话拨打手机） 更换 经过和同事（另一个先期更换186的同事）的沟通，发现联通186号段的WCDMA标准的3G网络非常不错。经过一番考察和犹豫，最终选中了186XXXXXXXX这个号码。北京联通网上选号，还免费配送。 选中号码并提交订单后的第二天早上，收到联通客服的电话确认订单，核对信息后告知72小时内送到。第三天，准时盼到了送货人员，在提交身份证复印件后，收到了一张USIM卡和用户协议。 我选择的是96元标准套餐，包括240分钟国内主叫，免费国内接听，300MB数据流量，30分钟可视电话等；另加了5元包60条短信的附加包。超过套餐内容，国内主叫0.15元/分钟；0.0003元/KB（折合0.3元/MB）。 踏上3G之路 iPhone换上3G卡后，迅速搜索到了3G信号。使用Google Map测试了一下网络速度：将地图移动到一个全新的位置，画面从网格到地图完全显示，用了不到2秒；同样测试移动EDGE的速度，则花费了30+秒（最终也没有完全打开，放弃了）。 由于首月是标准资费，1分钱/KB，不敢过于使用网络流量。第二天开始测试3G网络的数据功能。通过iPhone上的测速程序，测得下载速度为431KB/s，上传为36KB/s（本地服务器）。刚刚通过Internet Tethering用IE直接从美国网站上下载软件，速度显示为147KB/s。 一些评价 联通WCDMA网络的速度让我非常满意。但在这样的速度下，网络流量显得非常不够。并且联通并没有为WCDMA提供数据可选套餐。当然，联通数据流量超过套餐时0.3元/MB的价格至少是比移动厚道多了。 iPhone的Internet Tethering功能默认打开了。当时移动的SIM卡之所以没有打开该功能，是因为iPhone手机上没有移动的运营商信息。 通话质量非常清晰，完全没有移动网络中断续和变音的问题 开启联通的呼叫等待（Call Waiting）功能后，iPhone内置的Add Call，Swap Call，Hold，Merge Call功能完全正常。 电话A拨叫iPhone，iPhone接听，电话B拨叫iPhone，Hold+Answer后，切换到线路B，按Merge Call实现合并。 iPhone拨叫电话A，按Add Call拨叫第二个电话，按Merge Call实现合并。 3G信号明显强于移动的信号，至少在我公司的座位上，联通信号满格，接听正常、清晰；而同样位置的移动信号，却很微弱，电话可以拨入，但对方经常听不到声音。 联通的客服人员，不知道是不是因为有考核指标，说话快的像蹦豆一样，并且因为“系统忙”而直接把我要求查询呼叫等待功能的请求拒绝了，直接告诉我代码让我自己开通。 还是联通的客服人员，我在晚上9点提交一个网上咨询，关于呼叫等待功能。2小时后，晚上11点，我收到联通客服的电话回复。这个事儿……我真的不觉得晚上11点给客户回电是明智的选择（虽然我很满意联通本次服务的反馈时间）]]></description>
			<content:encoded><![CDATA[<p>最近禁不住诱惑的入手了iPhone 3GS，又再次禁不住诱惑的入网了北京联通186号段的WCDMA网络。</p>
<p><strong>前提</strong></p>
<p>其实一直以来我都用移动的服务，但最近移动的EDGE网络慢的要死，网页都打不开，我公司的座位上信号又非常差。</p>
<p>另一方面，随着电话、网络使用频率的逐渐增加，发现作为大多数Class B的GPRS手机，都不能实现语音和数据的同传，即当有GPRS/EDGE数据活动的时候，语音是完全断开的，也无法接受呼叫。也就是说，当你用GPRS/EDGE打开网页的时候，任何语音电话呼叫都是收不到的。（这完全解释了我的手机信号良好的情况下，来电提醒业务发来的漏接电话的提醒信息）。这对于我这种使用推送邮件服务的人来说，简直就是灭顶之灾。如果在推送和数据传输的时候，恰巧有电话呼入，那呼叫者得到的只能是“您拨叫的用户暂时无法接通”。（如果不信，可以再手机上打开一个网页，在页面载入过程中，用另一部电话拨打手机）</p>
<p><strong>更换</strong></p>
<p>经过和同事（另一个先期更换186的同事）的沟通，发现联通186号段的WCDMA标准的3G网络非常不错。经过一番考察和犹豫，最终选中了186XXXXXXXX这个号码。北京联通网上选号，还免费配送。</p>
<p>选中号码并提交订单后的第二天早上，收到联通客服的电话确认订单，核对信息后告知72小时内送到。第三天，准时盼到了送货人员，在提交身份证复印件后，收到了一张USIM卡和用户协议。</p>
<p>我选择的是96元标准套餐，包括240分钟国内主叫，免费国内接听，300MB数据流量，30分钟可视电话等；另加了5元包60条短信的附加包。超过套餐内容，国内主叫0.15元/分钟；0.0003元/KB（折合0.3元/MB）。</p>
<p><strong>踏上3G之路</strong></p>
<p>iPhone换上3G卡后，迅速搜索到了3G信号。使用Google Map测试了一下网络速度：将地图移动到一个全新的位置，画面从网格到地图完全显示，用了不到2秒；同样测试移动EDGE的速度，则花费了30+秒（最终也没有完全打开，放弃了）。</p>
<p>由于首月是标准资费，1分钱/KB，不敢过于使用网络流量。第二天开始测试3G网络的数据功能。通过iPhone上的测速程序，测得下载速度为431KB/s，上传为36KB/s（本地服务器）。刚刚通过Internet Tethering用IE直接从美国网站上下载软件，速度显示为147KB/s。</p>
<p><strong>一些评价</strong></p>
<ul>
<li>联通WCDMA网络的速度让我非常满意。但在这样的速度下，网络流量显得非常不够。并且联通并没有为WCDMA提供数据可选套餐。当然，联通数据流量超过套餐时0.3元/MB的价格至少是比移动厚道多了。</li>
<li>iPhone的Internet Tethering功能默认打开了。当时移动的SIM卡之所以没有打开该功能，是因为iPhone手机上没有移动的运营商信息。</li>
<li>通话质量非常清晰，完全没有移动网络中断续和变音的问题</li>
<li>开启联通的呼叫等待（Call Waiting）功能后，iPhone内置的Add Call，Swap Call，Hold，Merge Call功能完全正常。
<ul>
<li>电话A拨叫iPhone，iPhone接听，电话B拨叫iPhone，Hold+Answer后，切换到线路B，按Merge Call实现合并。</li>
<li>iPhone拨叫电话A，按Add Call拨叫第二个电话，按Merge Call实现合并。</li>
</ul>
</li>
<li>3G信号明显强于移动的信号，至少在我公司的座位上，联通信号满格，接听正常、清晰；而同样位置的移动信号，却很微弱，电话可以拨入，但对方经常听不到声音。</li>
<li>联通的客服人员，不知道是不是因为有考核指标，说话快的像蹦豆一样，并且因为“系统忙”而直接把我要求查询呼叫等待功能的请求拒绝了，直接告诉我代码让我自己开通。</li>
<li>还是联通的客服人员，我在晚上9点提交一个网上咨询，关于呼叫等待功能。2小时后，晚上11点，我收到联通客服的电话回复。这个事儿……我真的不觉得晚上11点给客户回电是明智的选择（虽然我很满意联通本次服务的反馈时间）</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2009/12/03/iphone-3gs-chn-unicom-wcdma-3g.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>iPhone 3GS入手及使用评论</title>
		<link>http://www.weigblog.com/2009/11/22/iphone-3gs-evaluation.html</link>
		<comments>http://www.weigblog.com/2009/11/22/iphone-3gs-evaluation.html#comments</comments>
		<pubDate>Sun, 22 Nov 2009 05:56:11 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[3gs]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=520</guid>
		<description><![CDATA[最近一直以来很郁闷Windows Mobile的用户体验，在考虑换手机了。也一直在HTC Hero和iPhone之间徘徊。最近也比较中毒iPhone，就最终决定iPhone 3GS港版行货。 我买的是41周后生产的iPhone 3GS 16GB白色版香港行货，送到我这里的时候，还是未开封的。然而41周以后产品因为使用了新的Baseband，还无法实现完美的jailbreak（截止到2009年11月20日，如果jailbreak，每次重启都需要连接USB）。但如果不jailbreak的话，软件就只能通过iTune安装（当然也不能安装破解软件了）。 iPhone的整体用户体验非常好，电容屏（和WM需要使用指尖点击的电阻屏相比）的指触感觉也非常好。色彩效果也远比WM要强多了，毕竟WM受硬件限制，最大只能达到65K色。 AppStore上的应用非常多，除了设计系统的，绝大多数功能都能有具体的实现。 一些技巧： 输入法中，临时需要标点符号，可以按住符号按钮不松手（这时键盘已经切换为符号），滑向需要输入的符号，松开后，符号已经输入进去，但键盘仍然为字母状态。 输入法中，按住$、.（句号）等符号不松手，会出现与之类似的符号（比如￥和&#8230;）；按住字母键也可以显示拉丁字母 Maps中，点击左下角的定位图标可以定位到当前位置（根据基站和GPS） ，再次点击会切换为“前方为上”的地图状态（之前是“北方位上”）。 截屏：按住电源键同时按下Home键。 铃声： iPhone不支持直接使用MP3作为铃声，但可以通过iTune制作铃声（不超过40秒）。具体方法是：首先进入iTune，将要作为铃声的MP3导入iTune；右键单击文件，选择Create AAC format；再次点击右键选择Get Info，查看文件存储的位置；找到该文件（扩展名为m4a），将扩展名修改为m4r；重新导入iPhone（原mp3文件删除即可），即可看到Library&#8211;&#62;Ringtones里面看到刚刚导入的铃声。 目前iPhone 3GS存在的不足： 短信回执：目前很多手机都已经有短信回执功能（即对方收到短信后，会发送一条delivered消息）了，这点上索尼爱立信的Symbian系统做的很好，回执会以一个图标的形式出现在“已发送短信”中；Windows Mobile很烂，只是一条单独的短信，每次发短信都要单独删除一次；而iPhone压根就没有（当然也省得删除了）。 彩信会把每个Page展开为一条独立的短信，这样在同一个thread中如果有多条彩信，那么他们会被显示成类似于1篇文章（即第二条彩信会紧接着第一条彩信内容显示。 多任务：除了iPod、Phone、Voice Memo、Internet tethering以外，其他应用程序都不支持多任务，按Home键就直接退出了。比如你在通过Safari或者其他应用下载一个文件，当有短信到来，如果选择回复短信，则下载会中断。部分软件可以通过Notification实现类似后台运行的效果，但像Skype这类的软件无法支持Notification的，则没有什么实际意义了。 Voice Memo不支持通话录音，App Store里面也没有类似软件可以实现。 文件系统过于封闭：你不能修改和查看任何系统文件，应用程序之间的文件也不能共享。例如：电子邮件中非图片和音视频的内容，无法保存（如果邮件附件是个Word文档，则无法做到编辑后再回复给发件人）；通过其他软件（例如WoTV）下载的视频，只能在该软件中使用，不能放到Video文件夹中；任何文件（包括铃声等），都只能通过iTune传送；除了视频和Photo Roll文件夹中的内容，其他内容均不可删除； Bluetooth仅支持蓝牙耳机，不支持文件传输（同样是因为文件系统封闭）。 Internet Tethering：3GS的广告和spec中提到了网络共享功能，而我的中国移动SIM卡插进去后却完全没有这个选项。再看iPhone的spec，旁边有行小字：“Tethering is not currently offered in the U.S. and some other countries. See your carrier for availability.”（中国联通的3G业务却可以） Merge Call：这也是iPhone广告中提到的功能。但经过我的实践，中国移动的卡只能在两个call之间切换，却不能将两个call merge。（中国联通3G号码可以实现两个call之间的切换，并且可以实现merge [...]]]></description>
			<content:encoded><![CDATA[<p>最近一直以来很郁闷Windows Mobile的用户体验，在考虑换手机了。也一直在HTC Hero和iPhone之间徘徊。最近也比较中毒iPhone，就最终决定iPhone 3GS港版行货。</p>
<p>我买的是41周后生产的iPhone 3GS 16GB白色版香港行货，送到我这里的时候，还是未开封的。然而41周以后产品因为使用了新的Baseband，还无法实现完美的jailbreak（截止到2009年11月20日，如果jailbreak，每次重启都需要连接USB）。但如果不jailbreak的话，软件就只能通过iTune安装（当然也不能安装破解软件了）。</p>
<p>iPhone的整体用户体验非常好，电容屏（和WM需要使用指尖点击的电阻屏相比）的指触感觉也非常好。色彩效果也远比WM要强多了，毕竟WM受硬件限制，最大只能达到65K色。 AppStore上的应用非常多，除了设计系统的，绝大多数功能都能有具体的实现。</p>
<p><strong>一些技巧：</strong></p>
<ul>
<li>输入法中，临时需要标点符号，可以按住符号按钮不松手（这时键盘已经切换为符号），滑向需要输入的符号，松开后，符号已经输入进去，但键盘仍然为字母状态。</li>
<li>输入法中，按住$、.（句号）等符号不松手，会出现与之类似的符号（比如￥和&#8230;）；按住字母键也可以显示拉丁字母</li>
<li>Maps中，点击左下角的定位图标可以定位到当前位置（根据基站和GPS） ，再次点击会切换为“前方为上”的地图状态（之前是“北方位上”）。</li>
<li>截屏：按住电源键同时按下Home键。</li>
</ul>
<p><strong>铃声：</strong></p>
<p>iPhone不支持直接使用MP3作为铃声，但可以通过iTune制作铃声（不超过40秒）。具体方法是：首先进入iTune，将要作为铃声的MP3导入iTune；右键单击文件，选择Create AAC format；再次点击右键选择Get Info，查看文件存储的位置；找到该文件（扩展名为m4a），将扩展名修改为m4r；重新导入iPhone（原mp3文件删除即可），即可看到Library&#8211;&gt;Ringtones里面看到刚刚导入的铃声。</p>
<p><strong>目前iPhone 3GS存在的不足：</strong></p>
<ul>
<li>短信回执：目前很多手机都已经有短信回执功能（即对方收到短信后，会发送一条delivered消息）了，这点上索尼爱立信的Symbian系统做的很好，回执会以一个图标的形式出现在“已发送短信”中；Windows Mobile很烂，只是一条单独的短信，每次发短信都要单独删除一次；而iPhone压根就没有（当然也省得删除了）。</li>
<li>彩信会把每个Page展开为一条独立的短信，这样在同一个thread中如果有多条彩信，那么他们会被显示成类似于1篇文章（即第二条彩信会紧接着第一条彩信内容显示。</li>
<li>多任务：除了iPod、Phone、Voice Memo、Internet tethering以外，其他应用程序都不支持多任务，按Home键就直接退出了。比如你在通过Safari或者其他应用下载一个文件，当有短信到来，如果选择回复短信，则下载会中断。部分软件可以通过Notification实现类似后台运行的效果，但像Skype这类的软件无法支持Notification的，则没有什么实际意义了。</li>
<li>Voice Memo不支持通话录音，App Store里面也没有类似软件可以实现。</li>
<li>文件系统过于封闭：你不能修改和查看任何系统文件，应用程序之间的文件也不能共享。例如：电子邮件中非图片和音视频的内容，无法保存（如果邮件附件是个Word文档，则无法做到编辑后再回复给发件人）；通过其他软件（例如WoTV）下载的视频，只能在该软件中使用，不能放到Video文件夹中；任何文件（包括铃声等），都只能通过iTune传送；除了视频和Photo Roll文件夹中的内容，其他内容均不可删除；</li>
<li>Bluetooth仅支持蓝牙耳机，不支持文件传输（同样是因为文件系统封闭）。</li>
<li>Internet Tethering：3GS的广告和spec中提到了网络共享功能，而我的中国移动SIM卡插进去后却完全没有这个选项。再看iPhone的spec，旁边有行小字：“<span>Tethering is not currently offered in the U.S. and some other countries. See your carrier for availability.</span>”（中国联通的3G业务却可以）</li>
<li>Merge Call：这也是iPhone广告中提到的功能。但经过我的实践，中国移动的卡只能在两个call之间切换，却不能将两个call merge。（中国联通3G号码可以实现两个call之间的切换，并且可以实现merge call）</li>
<li>Voice Message：这个是AT&amp;T提供的可视化语音信箱（Virtual Voice Message）功能，在国内完全无法使用，却也没有设置语音信箱的问题，导致改功能彻底无法使用。</li>
<li>比较耗电：开启邮件推送以后，正常使用手机（电话、短信等），24小时开机，只能坚持大约1~1.5天。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2009/11/22/iphone-3gs-evaluation.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Outlook 2007提示Could not install the custom actions的解决方法</title>
		<link>http://www.weigblog.com/2009/11/05/outlook-2007-could-not-install-the-custom-actions-solution.html</link>
		<comments>http://www.weigblog.com/2009/11/05/outlook-2007-could-not-install-the-custom-actions-solution.html#comments</comments>
		<pubDate>Thu, 05 Nov 2009 12:15:39 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[Forward]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[popup]]></category>
		<category><![CDATA[reply]]></category>
		<category><![CDATA[slow]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=516</guid>
		<description><![CDATA[近来我的Outlook 2007突然出了一些问题，无论是回复还是转发，甚至是新建邮件，都会出现Could not install the custom actions错误（如图）。而在出现此问题前，Outlook会出现假死情况。 经过搜索和研究，发现问题出现Forms中。解决方法也很简单：删除如下文件夹： 重新启动Outlook即可。]]></description>
			<content:encoded><![CDATA[<p>近来我的Outlook 2007突然出了一些问题，无论是回复还是转发，甚至是新建邮件，都会出现Could not install the custom actions错误（如图）。而在出现此问题前，Outlook会出现假死情况。</p>
<p><a href="http://www.weigblog.com/wp-content/uploads/2009/11/outlook2007.png"><img class="aligncenter size-full wp-image-517" title="Outlook 2007 Could not install the custom actions" src="http://www.weigblog.com/wp-content/uploads/2009/11/outlook2007.png" alt="Outlook 2007 Could not install the custom actions" width="418" height="121" /></a></p>
<p>经过搜索和研究，发现问题出现Forms中。解决方法也很简单：删除如下文件夹：</p>
<pre class="brush: bash; title: ; notranslate">%SystemDrive%\Users\%UserName%\AppData\Local\Microsoft\FORMS</pre>
<p>重新启动Outlook即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2009/11/05/outlook-2007-could-not-install-the-custom-actions-solution.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

