<?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>FOODISH CODER</title>
	<atom:link href="http://samnew.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://samnew.net/blog</link>
	<description>NETWORK , COMPUTERS &#38; SOMETIMES FOOD.THE WEBLOG OF SAMNEW.</description>
	<lastBuildDate>Tue, 24 Apr 2012 15:43:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>ZET Blade 升级Gen1到Gen2</title>
		<link>http://samnew.net/blog/2012/02/29/upgrade-from-gen1-to-gen2.html</link>
		<comments>http://samnew.net/blog/2012/02/29/upgrade-from-gen1-to-gen2.html#comments</comments>
		<pubDate>Wed, 29 Feb 2012 15:06:35 +0000</pubDate>
		<dc:creator>samnew</dc:creator>
				<category><![CDATA[Go with Linux]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[blade]]></category>
		<category><![CDATA[zet]]></category>

		<guid isPermaLink="false">http://samnew.net/blog/?p=634</guid>
		<description><![CDATA[手中的第一部Android机子，ZET 中兴 V880 Orange Blade版本，买来以后就刷了CM ROM7.0.0，因为是非官方ROM，所以还是有部分不能兼容，比如收音机功能一直不能使用，WiFi在待机后，开机后不能自动连接，要使用补丁。后来厂家进行了软件升级，所以就有了Gen1版本和Gen2版本。不同版本号（GEN1、GEN2）的ZTE Blade机型的系统内核引导内存（System RAM）方式不同： GEN1版本的ZTE Blade机型系统内核引导内存到0x02a00000 GEN2版本的ZTE Blade机型系统内核引导内存到0×02600000 所以GEN1与GEN2版本相关机型的系统ROM固件、ClockworkMod Recovery恢复模式等一些涉及系统内核的内容不能共用。如果强行刷机，将会造成不可挽救的错误。如何查看是Gen1还是Gen2版本，可以下载Ask Mr Pigfish或者在Google Play Store(Android Market)搜索Ask Mr Pigfish下载安装。 由于更新了Radio、基带、内核等版本，Gen2版本相比Gen1版本在性能上有所提高，这篇文章有详细的评测，CM ROM从7.1.0 开始就不再支持Gen1版本，并且给出了Gen1迁移到Gen2版本的方案。由于Android 2.3.7新增的一些功能和ROM的完善，使得我下定决心将Gen1升级到Gen2版本。 如果你也想将Gen1升级到Gen2，提升下性能，请继续往下看，如果你只想打打电话，发发短信，以下内容可能并不适合你。 再次提醒，刷机有风险，操作须谨慎。请保证自己了解我所叙述的每一步，否则出现问题我不负责。 首先备份你所要备份的软件\短信＼通讯记录等。 升级Gen1到Gen2并安装ClockworkMod Recovery。 下载Gen1-to-Gen2-TPT包到SD卡根目录。 关机并取出电池。 重新安装上电池，按住Volume Up, Menu 和 Power 键不放开机。 等待程序自己运行后，等待几分钟，程序自动重启到Recovery界面。 到此升级完成，然后可以在Recovery刷新的Gen2可用ROM，可以刷稳定版本，如果想尝试新东西，也可以刷night &#8230; <a href="http://samnew.net/blog/2012/02/29/upgrade-from-gen1-to-gen2.html">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>手中的第一部Android机子，ZET 中兴 V880 Orange Blade版本，买来以后就刷了CM ROM7.0.0，因为是非官方ROM，所以还是有部分不能兼容，比如收音机功能一直不能使用，WiFi在待机后，开机后不能自动连接，要使用补丁。后来厂家进行了软件升级，所以就有了Gen1版本和Gen2版本。不同版本号（GEN1、GEN2）的ZTE Blade机型的系统内核引导内存（System RAM）方式不同：</p>
<ul>
<li>GEN1版本的ZTE Blade机型系统内核引导内存到0x02a00000</li>
<li>GEN2版本的ZTE Blade机型系统内核引导内存到0×02600000</li>
</ul>
<p>所以GEN1与GEN2版本相关机型的系统ROM固件、ClockworkMod Recovery恢复模式等一些涉及系统内核的内容不能共用。如果强行刷机，将会造成不可挽救的错误。如何查看是Gen1还是Gen2版本，可以下载<a href="http://market.android.com/details?id=com.apedroid.pigfish">Ask Mr Pigfish</a>或者在Google Play Store(Android Market)搜索Ask Mr Pigfish下载安装。<br />
<span id="more-634"></span></p>
<p>由于更新了Radio、基带、内核等版本，Gen2版本相比Gen1版本在性能上有所提高，<a href="http://android.modaco.com/topic/338723-gen1-vs-gen2-fight/">这篇文章</a>有详细的评测，CM ROM从7.1.0 开始就不再支持Gen1版本，并且给出了Gen1迁移到Gen2版本的方案。由于Android 2.3.7新增的一些功能和ROM的完善，使得我下定决心将Gen1升级到Gen2版本。</p>
<p>如果你也想将Gen1升级到Gen2，提升下性能，请继续往下看，如果你只想打打电话，发发短信，以下内容可能并不适合你。</p>
<p><strong>再次提醒，刷机有风险，操作须谨慎。请保证自己了解我所叙述的每一步，否则出现问题我不负责。<br />
</strong></p>
<ul>
<li>首先备份你所要备份的软件\短信＼通讯记录等。</li>
<li>升级Gen1到Gen2并安装ClockworkMod Recovery。</li>
<ol>
<li>下载<a href="http://cmw.22aaf3.com/venus/root/Gen1-to-Gen2-TPT-v7.zip">Gen1-to-Gen2-TPT</a>包到SD卡根目录。</li>
<li>关机并取出电池。</li>
<li>重新安装上电池，按住Volume Up, Menu 和 Power 键不放开机。</li>
<li>等待程序自己运行后，等待几分钟，程序自动重启到Recovery界面。</li>
</ol>
</ul>
<p>到此升级完成，然后可以在Recovery刷新的Gen2可用ROM，可以刷稳定版本，如果想尝试新东西，也可以刷night build版本。刷好机后进入界面后，用Ask Mr Pigfish查看，可以发现，已经是Gen2版本了．现在TPT迁移的技术很稳定了，只要不出错，基本上都会成功，但是确保在升级的途中电池有充足的电，不要随便按其他按键和拔掉电池．</p>
<p>我升级后安装的是CM7.1.0版本，内存的占有量减少，ROM的体积减少，在这之前没有安装软件，ROM就只剩下100Ｍ左右，而现在起码在130M，运行速度有所提高，收音机功能正常，WiFi功能正常。听说CM在开发基于4.0的CM9，虽然Blade运行4.0可能性能不足，希望通过优化能够用的上。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://samnew.net/blog/2012/02/29/upgrade-from-gen1-to-gen2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>常用的Android软件</title>
		<link>http://samnew.net/blog/2012/02/29/mybest-android-apps.html</link>
		<comments>http://samnew.net/blog/2012/02/29/mybest-android-apps.html#comments</comments>
		<pubDate>Wed, 29 Feb 2012 14:47:00 +0000</pubDate>
		<dc:creator>samnew</dc:creator>
				<category><![CDATA[Do it Yourself]]></category>
		<category><![CDATA[Something in My Mind]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://samnew.net/blog/?p=590</guid>
		<description><![CDATA[即上次手机被偷后已经有一年多了，去年淘宝代购了中兴V880 Orange Blade版本，1480元。芯片是高通MSM7227，和国内的比是内存和ROM都是512M，摄像头的像素为320万。英国邮寄，国产的绕了一圈又回来了，这真是个神奇的国度。这是我第一个Android手机。拿回来后刷了CM的ROM。这个ROM做的还是比较好的，界面很整洁。只是一开始的时候收音机功能不能使用，不过现在已经解决。一开始也不知道哪些软件好用，看着别人的推荐，摸索着往前走，使用了一段时间后，形成了自己的偏好软件，主要如下： Advanced TaskManager: Task工具 开机启动 死机帮手 AirDroid：通过网络可以直接访问修改手机中的文件 Alarm Clock Xtreme：足够响 Aldiko Reader：Android下PDF阅读器，界面很清新。 Alipay：偶尔网上付钱失败会用到 Android Market Enabler：不解释 Barcode Scanner：简洁的二维码和条形码扫描器 BOC Currency Widget：中国银行外汇牌价 DopoolTV：没事的时候看看电视 DoubanFM：豆瓣电台 eTraning：sportal 的新版本 记录行车GPS路线 Evernote: 笔记 InstaFetch Lite：Android下最好的Instapaper客户端 Mini Fetion：比官方飞信好用 NetEase News：网易新闻 QC 归属地插件：来电显示地名 Qiyi Video：奇艺影视 &#8230; <a href="http://samnew.net/blog/2012/02/29/mybest-android-apps.html">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>即上次手机被偷后已经有一年多了，去年淘宝代购了中兴V880 Orange Blade版本，1480元。芯片是高通MSM7227，和国内的比是内存和ROM都是512M，摄像头的像素为320万。英国邮寄，国产的绕了一圈又回来了，这真是个神奇的国度。这是我第一个Android手机。拿回来后刷了CM的ROM。这个ROM做的还是比较好的，界面很整洁。只是一开始的时候收音机功能不能使用，不过现在已经解决。一开始也不知道哪些软件好用，看着别人的推荐，摸索着往前走，使用了一段时间后，形成了自己的偏好软件，主要如下：</p>
<ul>
<li>Advanced TaskManager: Task工具 开机启动 死机帮手</li>
<li>AirDroid：通过网络可以直接访问修改手机中的文件</li>
<li>Alarm Clock Xtreme：足够响</li>
<li>Aldiko Reader：Android下PDF阅读器，界面很清新。</li>
<li>Alipay：偶尔网上付钱失败会用到</li>
<li>Android Market Enabler：不解释</li>
<li>Barcode Scanner：简洁的二维码和条形码扫描器</li>
<li>BOC Currency Widget：中国银行外汇牌价</li>
<li>DopoolTV：没事的时候看看电视</li>
<li>DoubanFM：豆瓣电台</li>
<li>eTraning：sportal 的新版本 记录行车GPS路线</li>
<li>Evernote: 笔记</li>
<li>InstaFetch Lite：Android下最好的Instapaper客户端</li>
<li>Mini Fetion：比官方飞信好用</li>
<li>NetEase News：网易新闻</li>
<li>QC 归属地插件：来电显示地名</li>
<li>Qiyi Video：奇艺影视</li>
<li>RockPlayer lite：Android上最好用的全能播放器</li>
<li>SMS Buckup@Restore ：短信备份</li>
<li>SouhuTV：搜狐视频，聊甚于无</li>
<li>Talking Tom 2：小孩子的好玩具</li>
<li>TouchPal Input：触宝输入法</li>
<li>Traffic Monitor：Android上流量管理软件</li>
<li>TuneinRadio：非常好用的广播聚合</li>
<li>Weibo: 新浪微博客户端</li>
<li>Weixin：现在很少用了和手机QQ功能模糊</li>
<li>手机QQ：不解释</li>
<li>下厨房：好男人的特征</li>
<li>全国影讯：查看电影播放很有用</li>
<li>墨迹天气：天气插件</li>
<li>挖财：最近才开始用 好男人的特征</li>
<li>金山词霸：手机版，很多人用有道</li>
<li>拓词：手机上背单词</li>
<li>美团：抽奖网站</li>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://samnew.net/blog/2012/02/29/mybest-android-apps.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell脚本实现自动备份VPS数据到Dropbox</title>
		<link>http://samnew.net/blog/2012/02/01/backup-your-vps-to-dropbox.html</link>
		<comments>http://samnew.net/blog/2012/02/01/backup-your-vps-to-dropbox.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 13:06:22 +0000</pubDate>
		<dc:creator>samnew</dc:creator>
				<category><![CDATA[Go with Linux]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://samnew.net/blog/?p=581</guid>
		<description><![CDATA[由于买的是廉价的VPS，所以备份是十分重要的，不然辛辛苦苦写的东西，一下子就没有了，是十分痛心的。一说到备份，Dropbox是一个好的选择，这篇文章则讲了在VPS安装Dropbox Cli客户端来实现VPS的自动备份。但是Dropbox会占用一部分的内存，对于“惜内存如金”的小内存VPS，显然是不合适的。而且从文章来看配置也非常的麻烦。幸好有人写出了利用Dropbox API和CURL的脚本DropboxUploader，轻轻松松的解决了问题，基本不占什么内存。以下脚本就是参考了Dropbox Uploader的脚本，该脚本来自这儿，我稍微改动了一下，将数据库也一并打包入备份的包，使得本地也只有一个包，便于操作。 #!/bin/bash DROPBOX_USER=&#34;your_dropbox_user_name&#34; DROPBOX_PASS=&#34;your_dropbox-password&#34; DROPBOX_DIR=&#34;/backups&#34; BACKUP_SRC=&#34;/srv/www/samnew.net /etc/nginx &#34; BACKUP_DST=&#34;/root/backup&#34; MYSQL_SERVER=&#34;127.0.0.1&#34; MYSQL_USER=&#34;your_mysql_user_name&#34; MYSQL_PASS=&#34;your_mysql_password&#34; # # Stop editing here. NOW=$&#40;date +&#34;%Y.%m.%d&#34;&#41; DESTFILE=&#34;$BACKUP_DST/$NOW.tgz&#34; &#160; # # Upload a file to Dropbox. # $1 = Source file # $2 = Destination &#8230; <a href="http://samnew.net/blog/2012/02/01/backup-your-vps-to-dropbox.html">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://samnew.net/blog/2010/07/20/ssh-tunneling-proxychains.html' rel='bookmark' title='SSH socks5的一些小工具解决Dropbox问题'>SSH socks5的一些小工具解决Dropbox问题</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>由于买的是廉价的VPS，所以备份是十分重要的，不然辛辛苦苦写的东西，一下子就没有了，是十分痛心的。一说到备份，Dropbox是一个好的选择，<a href="http://www.vpser.net/manage/dropbox-backup-in-vps.html">这篇文章</a>则讲了在VPS安装Dropbox Cli客户端来实现VPS的自动备份。但是Dropbox会占用一部分的内存，对于“惜内存如金”的小内存VPS，显然是不合适的。而且从文章来看配置也非常的麻烦。幸好有人写出了利用Dropbox API和CURL的脚本<a href="http://www.andreafabrizi.it/?dropbox_uploader">DropboxUploader</a>，轻轻松松的解决了问题，基本不占什么内存。以下脚本就是参考了Dropbox Uploader的脚本，该脚本来自<a href="http://heylinux.com/archives/1452.html">这儿</a>，我稍微改动了一下，将数据库也一并打包入备份的包，使得本地也只有一个包，便于操作。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">DROPBOX_USER</span>=<span style="color: #ff0000;">&quot;your_dropbox_user_name&quot;</span>
<span style="color: #007800;">DROPBOX_PASS</span>=<span style="color: #ff0000;">&quot;your_dropbox-password&quot;</span> 
<span style="color: #007800;">DROPBOX_DIR</span>=<span style="color: #ff0000;">&quot;/backups&quot;</span> 
<span style="color: #007800;">BACKUP_SRC</span>=<span style="color: #ff0000;">&quot;/srv/www/samnew.net /etc/nginx &quot;</span>
<span style="color: #007800;">BACKUP_DST</span>=<span style="color: #ff0000;">&quot;/root/backup&quot;</span> 
<span style="color: #007800;">MYSQL_SERVER</span>=<span style="color: #ff0000;">&quot;127.0.0.1&quot;</span>
<span style="color: #007800;">MYSQL_USER</span>=<span style="color: #ff0000;">&quot;your_mysql_user_name&quot;</span> 
<span style="color: #007800;">MYSQL_PASS</span>=<span style="color: #ff0000;">&quot;your_mysql_password&quot;</span> 
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Stop editing here.</span>
<span style="color: #007800;">NOW</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #ff0000;">&quot;%Y.%m.%d&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">DESTFILE</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$BACKUP_DST</span>/<span style="color: #007800;">$NOW</span>.tgz&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Upload a file to Dropbox.</span>
<span style="color: #666666; font-style: italic;"># $1 = Source file</span>
<span style="color: #666666; font-style: italic;"># $2 = Destination file.</span>
<span style="color: #000000; font-weight: bold;">function</span> dropboxUpload
  <span style="color: #7a0874; font-weight: bold;">&#123;</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Code based on DropBox Uploader 0.6 from http://www.andreafabrizi.it/?dropbox_uploader</span>
	<span style="color: #007800;">LOGIN_URL</span>=<span style="color: #ff0000;">&quot;https://www.dropbox.com/login&quot;</span>
	<span style="color: #007800;">HOME_URL</span>=<span style="color: #ff0000;">&quot;https://www.dropbox.com/home&quot;</span>
	<span style="color: #007800;">UPLOAD_URL</span>=<span style="color: #ff0000;">&quot;https://dl-web.dropbox.com/upload&quot;</span>
	<span style="color: #007800;">COOKIE_FILE</span>=<span style="color: #ff0000;">&quot;/tmp/du_cookie_<span style="color: #007800;">$RANDOM</span>&quot;</span>
	<span style="color: #007800;">RESPONSE_FILE</span>=<span style="color: #ff0000;">&quot;/tmp/du_resp_<span style="color: #007800;">$RANDOM</span>&quot;</span>
&nbsp;
	<span style="color: #007800;">UPLOAD_FILE</span>=<span style="color: #007800;">$1</span>
	<span style="color: #007800;">DEST_FOLDER</span>=<span style="color: #007800;">$2</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Login</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">&quot; &gt; Logging in...&quot;</span>
	curl <span style="color: #660033;">-s</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$COOKIE_FILE</span> <span style="color: #660033;">-o</span> <span style="color: #007800;">$RESPONSE_FILE</span> <span style="color: #660033;">--data</span> <span style="color: #ff0000;">&quot;login_email=<span style="color: #007800;">$DROPBOX_USER</span>&amp;login_password=<span style="color: #007800;">$DROPBOX_PASS</span>&amp;t=<span style="color: #007800;">$TOKEN</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGIN_URL</span>&quot;</span>
    <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">&quot;location: /home&quot;</span> <span style="color: #007800;">$RESPONSE_FILE</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
			<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot; Failed!&quot;</span>
				<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$COOKIE_FILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span>
				<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
		<span style="color: #000000; font-weight: bold;">else</span>
				<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot; OK&quot;</span>
		<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #666666; font-style: italic;"># Load home page</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">&quot; &gt; Loading Home...&quot;</span>
	curl <span style="color: #660033;">-s</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-b</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$COOKIE_FILE</span>&quot;</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOME_URL</span>&quot;</span> 
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
			<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot; Failed!&quot;</span>
				<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$COOKIE_FILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span>
				<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
		<span style="color: #000000; font-weight: bold;">else</span>
            <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot; OK&quot;</span>
		<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
        <span style="color: #666666; font-style: italic;"># Get token</span>
        <span style="color: #007800;">TOKEN</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'\n'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/.*&lt;form action=&quot;https:\/\/dl-web.dropbox.com\/upload&quot;[^&gt;]*&gt;\s*&lt;input type=&quot;hidden&quot; name=&quot;t&quot; value=&quot;\([a-z 0-9]*\)&quot;.*/\1/'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
       <span style="color: #666666; font-style: italic;"># Upload file</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">&quot; &gt; Uploading '<span style="color: #007800;">$UPLOAD_FILE</span>' to 'DROPBOX<span style="color: #007800;">$DEST_FOLDER</span>/'...&quot;</span>
		curl <span style="color: #660033;">-s</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-b</span> <span style="color: #007800;">$COOKIE_FILE</span> <span style="color: #660033;">-o</span> <span style="color: #007800;">$RESPONSE_FILE</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">&quot;plain=yes&quot;</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">&quot;dest=<span style="color: #007800;">$DEST_FOLDER</span>&quot;</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">&quot;t=<span style="color: #007800;">$TOKEN</span>&quot;</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">&quot;file=@<span style="color: #007800;">$UPLOAD_FILE</span>&quot;</span>  <span style="color: #ff0000;">&quot;<span style="color: #007800;">$UPLOAD_URL</span>&quot;</span>
	    <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">&quot;HTTP/1.1 302 FOUND&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
&nbsp;
	    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
	        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot; Failed!&quot;</span>
	                <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$COOKIE_FILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span>
	        <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
	    <span style="color: #000000; font-weight: bold;">else</span>
	        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot; OK&quot;</span>
	                <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$COOKIE_FILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RESPONSE_FILE</span>&quot;</span>
	    <span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Backup files.</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Dumping databases...&quot;</span>
<span style="color: #007800;">DATABASE_BAK</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$BACKUP_DST</span>/<span style="color: #007800;">$NOW</span>-Databases.sql&quot;</span>
mysqldump <span style="color: #660033;">-u</span> <span style="color: #007800;">$MYSQL_USER</span> <span style="color: #660033;">-h</span> <span style="color: #007800;">$MYSQL_SERVER</span> <span style="color: #660033;">-p</span> <span style="color: #007800;">$MYSQL_PASS</span> <span style="color: #660033;">--all-databases</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DATABASE_BAK</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Packing files...&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> czf <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DESTFILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DATABASE_BAK</span>&quot;</span> <span style="color: #007800;">$BACKUP_SRC</span>
dropboxUpload <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DESTFILE</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DROPBOX_DIR</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Cleaning the backups...&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DATABASE_BAK</span>&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #007800;">$BACKUP_DST</span> <span style="color: #660033;">-mtime</span> +<span style="color: #000000;">7</span> <span style="color: #660033;">-delete</span></pre></div></div>

<p>将脚本用SCP传送到VPS，并且设定为cron任务，让其自动备份．用crontab -e来编辑，crontab -l来显示所建立的计划任务．如添加为每周日早上５点钟备份则为0 5 * * 0 /bin/bash /root/DropboxBackup.sh，该脚本已经运行2个月，基本正常。</p>
<p>可以改进之处：可以通过RSYNC来实现增量备份。</p>
<p>参考资料：<br />
[1]: <a href="http://www.vpser.net/manage/dropbox-backup-in-vps.html">在VPS中安装Dropbox实现网站的实时备份[转]</a><br />
[2]: <a href="http://heylinux.com/archives/1452.html">利用Shell脚本实现自动备份VPS数据到Dropbox</a></p>
<p>Related posts:<ol>
<li><a href='http://samnew.net/blog/2010/07/20/ssh-tunneling-proxychains.html' rel='bookmark' title='SSH socks5的一些小工具解决Dropbox问题'>SSH socks5的一些小工具解决Dropbox问题</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://samnew.net/blog/2012/02/01/backup-your-vps-to-dropbox.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VPS架设之Nginx-PHP-fpm</title>
		<link>http://samnew.net/blog/2012/01/28/vps-building-nginx-php-fpm.html</link>
		<comments>http://samnew.net/blog/2012/01/28/vps-building-nginx-php-fpm.html#comments</comments>
		<pubDate>Sat, 28 Jan 2012 13:06:28 +0000</pubDate>
		<dc:creator>samnew</dc:creator>
				<category><![CDATA[Go with Linux]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php-fpm]]></category>

		<guid isPermaLink="false">http://samnew.net/blog/?p=583</guid>
		<description><![CDATA[原来的Bluehost.com空间到期了，虽然空间挺好，用的挺顺，但是对于光光做个自己的Blog，记录记录自己的心沥路程并且一天也没几个PV的小站来说，续费有点小贵，已经超过了我对性价比的要求。再则，2011年的计划之一就是有一个自己的VPS，于是成功购买VPS并迁移到新主机。 出于我的价值观，我选择了最基础的VPS，分别购买了: Alienvps.com的Xen VPS:1CPU,192MB,9G:$29.00 USD/yr CheapVPS的OpenVZ VPS:1CPU,192MB:$15.00 USD/yr BuyVM的OpenVZ VPS:1CPU,128MB/256MB,15GB:$15.00 USD/yr 从理论上来说Xen VPS不易Oversell(超售)，而且可以做Swap 性能应该相对于OpenVZ的VPS应该会好点，并且支持VPN中的PPTP，而后者只支持OpenVPN（有的通过技术也支持PPTP，如上文的BuyVM VPS），PPTP对于Windoze用户来说设置上比较方便。但是经过我这么用下来之后，由于OpenVZ VPS可用内存虽然都标称只有192MB或者更小，但是他有BrustRAM，所以实际可用内存通常会更大一点达到256MB或者512MB，而Xen VPS虽然可以设置文件Swap，但是利用率不高，通常先榨干了物理内存，然后才用到Swap，即使设置过后也差不多，无论做多少性能优化，内存太小什么活也干不成，所以至少在小内存的比较上，我觉得Xen VPS是发挥不出他的优势的。三者VPS，最后我选择了BuyVM VPS，三者之中磁盘的读写速度是最快的，这估计也是BuyVM有这么多的粉丝，一上线就被抢光常年Out of Stock的原因吧。 好了，言归正传，虽然上文讲到OpenVZ VPS有个峰值RAM，但是192MB和256MB的内存还是不怎么够的，一般的安装了VPS提供商的初始OS占内存都是比较小的，因为做了优化和精简，但是机子不可能不更新，有的人习惯一上来就Update一下，结果等Update 完后，内存一下子占到一半以上，所以还想要安装Apache，Mysql，PHP等，那就是卡机了，是万万不能的，所以都选择了轻量级的软件来替换，比如用Dropbear来代替Openssh,用Nginx来代替Apache(相对)等等，来减少内存的消耗，关于性能优化不在本文的范围内，可以参考Lowendbox.com中的一篇文章[1]中的脚本，既然选择了Nginx,那么Nginx-FastCGI组合是小内存VPS首选组合。 而FastCGI也有PHP-FPM，Spawn-FCGI，PHP-FastCGI等几种，到底哪个比较有优势，这篇文章做了详细的评测，这篇文章对比了Apache + mod_php和Nginx + PHP-fpm的性能，PHP-fpm占用内存小，速度快，作为PHP FastCGI进程管理器的后起之秀具有相当的潜力的。下面就重点讲讲PHP-fpm具体设置方法。其他FastCGi的方法请参考其他一些资料，如PHP-FastCGI with Nginx 安装Nginx，以Ubuntu Server 11.04 为例，sudo apt-get install nginx 安装PHP和PHP-fpm &#8230; <a href="http://samnew.net/blog/2012/01/28/vps-building-nginx-php-fpm.html">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>原来的Bluehost.com空间到期了，虽然空间挺好，用的挺顺，但是对于光光做个自己的Blog，记录记录自己的心沥路程并且一天也没几个PV的小站来说，续费有点小贵，已经超过了我对性价比的要求。再则，2011年的计划之一就是有一个自己的VPS，于是成功购买VPS并迁移到新主机。</p>
<p>出于我的价值观，我选择了最基础的VPS，分别购买了:<br />
<a href="http://alienvps.com/xen-vps-hosting/">Alienvps.com</a>的Xen VPS:1CPU,192MB,9G:$29.00 USD/yr<br />
<a href="https://123systems.net">CheapVPS</a>的OpenVZ VPS:1CPU,192MB:$15.00 USD/yr<br />
<a href="http://buyvm.net">BuyVM</a>的OpenVZ VPS:1CPU,128MB/256MB,15GB:$15.00 USD/yr</p>
<p>从理论上来说Xen VPS不易Oversell(超售)，而且可以做Swap 性能应该相对于OpenVZ的VPS应该会好点，并且支持VPN中的PPTP，而后者只支持OpenVPN（有的通过技术也支持PPTP，如上文的BuyVM VPS），PPTP对于Windoze用户来说设置上比较方便。但是经过我这么用下来之后，由于OpenVZ VPS可用内存虽然都标称只有192MB或者更小，但是他有BrustRAM，所以实际可用内存通常会更大一点达到256MB或者512MB，而Xen VPS虽然可以设置文件Swap，但是利用率不高，通常先榨干了物理内存，然后才用到Swap，即使设置过后也差不多，无论做多少性能优化，内存太小什么活也干不成，所以至少在小内存的比较上，我觉得Xen VPS是发挥不出他的优势的。三者VPS，最后我选择了BuyVM VPS，三者之中磁盘的读写速度是最快的，这估计也是BuyVM有这么多的粉丝，一上线就被抢光常年Out of Stock的原因吧。<br />
<span id="more-583"></span><br />
好了，言归正传，虽然上文讲到OpenVZ VPS有个峰值RAM，但是192MB和256MB的内存还是不怎么够的，一般的安装了VPS提供商的初始OS占内存都是比较小的，因为做了优化和精简，但是机子不可能不更新，有的人习惯一上来就Update一下，结果等Update 完后，内存一下子占到一半以上，所以还想要安装Apache，Mysql，PHP等，那就是卡机了，是万万不能的，所以都选择了轻量级的软件来替换，比如用Dropbear来代替Openssh,用Nginx来代替Apache(相对)等等，来减少内存的消耗，关于性能优化不在本文的范围内，可以参考Lowendbox.com中的一篇文章[1]中的<a href="https://github.com/lowendbox/lowendscript/blob/master/setup-debian.sh">脚本</a>，既然选择了Nginx,那么Nginx-FastCGI组合是小内存VPS首选组合。</p>
<p>而FastCGI也有PHP-FPM，Spawn-FCGI，PHP-FastCGI等几种，到底哪个比较有优势，<a href="http://vpsbible.com/php/php-benchmarking-phpfpm-fastcgi-spawnfcgi/">这篇文章</a>做了详细的评测，<a href="http://blog.a2o.si/2009/06/24/apache-mod_php-compared-to-nginx-php-fpm/">这篇文章</a>对比了Apache + mod_php和Nginx + PHP-fpm的性能，PHP-fpm占用内存小，速度快，作为PHP FastCGI进程管理器的后起之秀具有相当的潜力的。下面就重点讲讲PHP-fpm具体设置方法。其他FastCGi的方法请参考其他一些资料，如<a href="http://library.linode.com/web-servers/nginx/php-fastcgi">PHP-FastCGI with Nginx</a></p>
<ol>
<li>安装Nginx，以Ubuntu Server 11.04 为例，<code>sudo apt-get install nginx</code></li>
<li>安装PHP和PHP-fpm<br />
<code>sudo apt-get install php5-cgi php5-mysql php5-fpm php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl</code>(可以根据你自己的情况选择安装，前提是你知道他们代表什么)</li>
<li>配置PHP-fpm<br />
1)<code>sudo vim /etc/php5/fpm/php.ini</code>把其中的cgi.fix_pathinfo=1改为cgi.fix_pathinfo=0<br />
2)修改/etc/nginx/sites-available目录下的文件，<code><br />
location ~ \.php$ {<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fastcgi_params;<br />
}</code><br />
3)修改/etc/nginx/fastcgi_params在最后加上<code><br />
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br />
fastcgi_param PATH_INFO $fastcgi_script_name;<br />
fastcgi_connect_timeout 60;<br />
fastcgi_send_timeout 180;<br />
fastcgi_read_timeout 180;<br />
fastcgi_buffer_size 128k;<br />
fastcgi_buffers 4 256k;<br />
fastcgi_busy_buffers_size 256k;<br />
fastcgi_temp_file_write_size 256k;<br />
fastcgi_intercept_errors on;</code><br />
4)重新启动Nginx和PHP-fpm<code><br />
sudo /etc/init.d/nginx restart<br />
sudo /etc/init.d/php-fpm reload</code></code></li>
</ol>
<p>到此Nginx PHP-fpm已经设置完成，虽然通过优化可以使小内存主机很好的运行网站，初步达到了建站的要求，后期还可以通过伪静态加速等技术来减轻服务器的压力。但是内存小始终是个瓶颈，并发连接数大的时候很容易占满并导致服务器当机，还会出现很多莫名其妙的事，如果你的网站经常动不动就当机，而内存不大的话，这时候任何优化都是空谈，你首先应该考虑的是增加物理内存，VPS需要一定的技术才能掌控，灵活的同时也会折腾你，如果你不喜欢或者没空折腾，好的虚拟空间可能更是你所需要的。</p>
<p>参考资料：<br />
[1]<a href="http://www.lowendbox.com/blog/wordpress-cheap-vps-lowendscript/">Bootstraping WordPress/Nginx/PHP/MySQL on a Cheap VPS with lowendscript</a><br />
[2]<a href="http://vpsbible.com/php/php-benchmarking-phpfpm-fastcgi-spawnfcgi/">PHP BENCHMARKED: PHP-FPM vs Spawn-FCGI vs FastCGI </a><br />
[3]<a href="http://blog.a2o.si/2009/06/24/apache-mod_php-compared-to-nginx-php-fpm/">Apache + mod_php compared to Nginx + php-fpm</a><br />
[4]<a href="http://library.linode.com/web-servers/nginx/php-fastcgi">PHP-FastCGI with Nginx</a><br />
[5]<a href="http://www.itlearner.com/article/4772">小内存VPS之Nginx+PHP-fpm高负载优化及压力测试方法</a></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://samnew.net/blog/2012/01/28/vps-building-nginx-php-fpm.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>回顾2011展望2012</title>
		<link>http://samnew.net/blog/2011/12/31/2011-review-2012-outlook.html</link>
		<comments>http://samnew.net/blog/2011/12/31/2011-review-2012-outlook.html#comments</comments>
		<pubDate>Sat, 31 Dec 2011 13:24:37 +0000</pubDate>
		<dc:creator>samnew</dc:creator>
				<category><![CDATA[Something in My Mind]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://samnew.net/blog/?p=564</guid>
		<description><![CDATA[现在是公元2011年12月31日，是2011年的最后一天，明天即将迎来的是2012年，科幻的一年。 根据以往的习惯，做一个回顾，来提醒自己不要虚度光阴。 下面列出来的是我2011年所要做的事（在2010年的总结里有计划过）： 首先完成对博客的搬迁工作，空间已经到期，要搬到bluehost上，以后可以尝试VPS。 继续保持博客的写作，每月要发表有质量的技术短文2篇以上。 继续学习PHP，做到多实践，起码要读懂一个框架。 尝试开发一个PHP网站，如进存销系统。 学习手机编程，今后的技术方向也可以向手机开发上靠。 继续不断地完善wiki 无论怎么样都要把blog的theme的做一个出来 继续保持阅读，一年起码要24本以上，包括技术书籍。 买一部Andriod手机。 买一辆山地车，上下班骑。 上面被划线的是已经做到的，如果算上继续不断地完善wiki，完成率也只有50%。首先完成对blog的迁移，现在blog是部署在buyvm.net,128M VPS上面，采用的系统是Ubuntu 11.10, Ngnix 1.0.5 PHP5.3.6, PHP-fpm, Mysql 5.1.58， 因为内存太小做了下优化。 2011年，blog写的文章一共只有13篇，主要都是自己的所想所感，以及一些折腾的记录。没有达到目标，其实手头确实有几个选题要记录，期间由于懒惰没有及时更新。你可以看到多篇的文章开始的第一句话都是“好久没有写文章了，好久没有更新了”。忙不是借口，全都是拖延症惹得祸。 关于中间的三个技术要求，在学习的时候，偏离了轨道，不是一点都没有学习，而是去学习了Web设计，Javascript（仍在学习中）。 关于Wiki，仍然是那句话，拖延症。 Blog的theme，终于是做了一个，不过是根据wordpress默认的theme修改而来的，也就是现在这个样子。慢慢的对CSS也有了一些了解。 保持阅读，这个应该是本年度最有收获的了，2011年我一共看了41本书，其中与IT有关是3本。下文再详细述说。 买一部手机，买了一部中兴blade，Orange版本。刷了CM ROM。 由于预算没买山地车，因为年终电动车被盗了，现在索性用起了老旧的自行车。 关于生活： 2011年，有几本书给我的感受还是挺深的，其中有Paul Graham大牛的黑客与画家，这本书掀起了Lisp热，创业热，但是我映像最深的是作者的一些思想，很多观点都能引起共鸣，很多问题都能豁然开朗。彼得·海斯勒的寻路中国，一个外国的记者关于中国农村，城镇的所看所听所想所思。关于这本书我也写了篇读后感寻路中国—一个外国记者的独特视角。可惜另外两部著作江城和甲骨文并没有简体中文版。有消息称江城可能在1月份上架，如果这是真的话，那将是2012的开年大礼。今年是辛亥百年，张铭老师的辛亥：摇晃的中国，告诉我们一个你所不知道了辛亥，让我也对一些问题有了更深的思考。他的北洋裂变：军阀和五四同样也值得一读。伟大的怪异心理学家理查德·怀斯曼的怪诞心理学2也发布了，相比第一本，研究的更加劲爆，触及人类的灵魂，大脑是一个奇特的东西，我们有时被欺骗的其实是自己的大脑。薄三郎博士的健康流言终结者讲解了现在人们最关心的问题，关于健康关于生活。也让人了解了科学证伪并不是一件容易的事，有时候浪费大量的人力物力，并且还会随时受到“戒备原则”的影响，进行有罪推定。由于有时候人办事会根据经验来，并不能准确地去判断一件事情，所以常常以讹传讹，随大流。影响力一书上用磁带来形容这一现象。咔嗒——哗。关于旅行的两本书，小鹏的背包十年和孙东纯迟到的间隔年，让人有背起背包行走的冲动。我们通常都会因为这样那样的事情而取消旅行计划，其实最简单的只是迈出你的第一步。 2011年我电影不少看，豆瓣电影统计有99部之多。下面是豆瓣生成的电影封面图。 2012年计划： 坚持博客的写作，每月要发表有质量的技术短文2篇以上。 学习PHP，做到多实践，起码要读懂一个框架。尝试开发一个PHP网站，如进存销系统。 及时查看邮件列表和GoogleReader，对有用的要做好笔记。 继续不断地完善wiki &#8230; <a href="http://samnew.net/blog/2011/12/31/2011-review-2012-outlook.html">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://samnew.net/blog/2011/01/02/lazzy-hardworking.html' rel='bookmark' title='惰并努力着'>惰并努力着</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>现在是公元2011年12月31日，是2011年的最后一天，明天即将迎来的是2012年，科幻的一年。</p>
<p>根据以往的习惯，做一个回顾，来提醒自己不要虚度光阴。</p>
<p>下面列出来的是我2011年所要做的事（在2010年的总结里有计划过）：</p>
<ol>
<li><del datetime="2011-12-31T12:34:44+00:00">首先完成对博客的搬迁工作，空间已经到期，要搬到bluehost上，以后可以尝试VPS。</del></li>
<li>继续保持博客的写作，每月要发表有质量的技术短文2篇以上。</li>
<li>继续学习PHP，做到多实践，起码要读懂一个框架。</li>
<li>尝试开发一个PHP网站，如进存销系统。</li>
<li>学习手机编程，今后的技术方向也可以向手机开发上靠。</li>
<li>继续不断地完善wiki</li>
<li><del datetime="2011-12-31T12:34:44+00:00">无论怎么样都要把blog的theme的做一个出来</del></li>
<li><del datetime="2011-12-31T12:34:44+00:00">继续保持阅读，一年起码要24本以上，包括技术书籍。</del></li>
<li><del datetime="2011-12-31T12:34:44+00:00">买一部Andriod手机。</del></li>
<li>买一辆山地车，上下班骑。</li>
</ol>
<p><span id="more-564"></span>上面被划线的是已经做到的，如果算上继续不断地完善wiki，完成率也只有50%。首先完成对blog的迁移，现在blog是部署在buyvm.net,128M VPS上面，采用的系统是Ubuntu 11.10, Ngnix 1.0.5 PHP5.3.6, PHP-fpm, Mysql 5.1.58， 因为内存太小做了下优化。</p>
<p>2011年，blog写的文章一共只有13篇，主要都是自己的所想所感，以及一些折腾的记录。没有达到目标，其实手头确实有几个选题要记录，期间由于懒惰没有及时更新。你可以看到多篇的文章开始的第一句话都是“好久没有写文章了，好久没有更新了”。忙不是借口，全都是拖延症惹得祸。</p>
<p>关于中间的三个技术要求，在学习的时候，偏离了轨道，不是一点都没有学习，而是去学习了Web设计，Javascript（仍在学习中）。<br />
关于Wiki，仍然是那句话，拖延症。</p>
<p>Blog的theme，终于是做了一个，不过是根据wordpress默认的theme修改而来的，也就是现在这个样子。慢慢的对CSS也有了一些了解。<br />
保持阅读，这个应该是本年度最有收获的了，2011年我一共看了41本书，其中与IT有关是3本。下文再详细述说。</p>
<p>买一部手机，买了一部中兴blade，Orange版本。刷了CM ROM。<br />
由于预算没买山地车，因为年终电动车被盗了，现在索性用起了老旧的自行车。</p>
<p><strong>关于生活：</strong></p>
<p>2011年，有几本书给我的感受还是挺深的，其中有Paul Graham大牛的<a href="http://book.douban.com/subject/6021440/">黑客与画家</a>，这本书掀起了Lisp热，创业热，但是我映像最深的是作者的一些思想，很多观点都能引起共鸣，很多问题都能豁然开朗。彼得·海斯勒的<a href="http://book.douban.com/subject/5414391/">寻路中国</a>，一个外国的记者关于中国农村，城镇的所看所听所想所思。关于这本书我也写了篇读后感<a href="http://samnew.net/blog/2011/08/10/reading-country-driving.html">寻路中国—一个外国记者的独特视角</a>。可惜另外两部著作江城和甲骨文并没有简体中文版。有消息称江城可能在1月份上架，如果这是真的话，那将是2012的开年大礼。今年是辛亥百年，张铭老师的<a href="http://book.douban.com/subject/5416832/">辛亥：摇晃的中国</a>，告诉我们一个<a href="http://samnew.net/blog/2011/10/10/something-about-revolution-of-1911-you-should-know.html">你所不知道了辛亥</a>，让我也对一些问题有了更深的思考。他的<a href="http://book.douban.com/subject/4745305/">北洋裂变：军阀和五四</a>同样也值得一读。伟大的怪异心理学家理查德·怀斯曼的<a href="http://book.douban.com/subject/6712304/">怪诞心理学2</a>也发布了，相比第一本，研究的更加劲爆，触及人类的灵魂，大脑是一个奇特的东西，我们有时被欺骗的其实是自己的大脑。薄三郎博士的<a href="http://book.douban.com/subject/6729866/">健康流言终结者</a>讲解了现在人们最关心的问题，关于健康关于生活。也让人了解了科学证伪并不是一件容易的事，有时候浪费大量的人力物力，并且还会随时受到“戒备原则”的影响，进行有罪推定。由于有时候人办事会根据经验来，并不能准确地去判断一件事情，所以常常以讹传讹，随大流。<a href="http://book.douban.com/subject/1005576/">影响力</a>一书上用磁带来形容这一现象。咔嗒——哗。关于旅行的两本书，小鹏的<a href="http://book.douban.com/subject/5264779/">背包十年</a>和孙东纯<a href="http://book.douban.com/subject/3905366/">迟到的间隔年</a>，让人有背起背包行走的冲动。我们通常都会因为这样那样的事情而取消旅行计划，其实最简单的只是迈出你的第一步。</p>
<p>2011年我电影不少看，豆瓣电影统计有99部之多。下面是豆瓣生成的电影封面图。<br />
<a href="http://samnew.net/blog/wp-content/uploads/2011/12/Selection_004.jpeg" rel="lightbox[564]"><img class="aligncenter size-full wp-image-568" title="Selection_004" src="http://samnew.net/blog/wp-content/uploads/2011/12/Selection_004.jpeg" alt="" width="829" height="522" /></a></p>
<p><strong>2012年计划：</strong></p>
<ol>
<li>坚持博客的写作，每月要发表有质量的技术短文2篇以上。</li>
<li>学习PHP，做到多实践，起码要读懂一个框架。尝试开发一个PHP网站，如进存销系统。</li>
<li>及时查看邮件列表和GoogleReader，对有用的要做好笔记。</li>
<li>继续不断地完善wiki</li>
<li>继续保持阅读，但要注重质量，一年起码要24本以上，其中包括10本技术书籍。及时做好读书笔记。</li>
<li>坚持学英语，每个月用英文写篇短文。</li>
<li>编译一个自己的Android ROM。</li>
<li>及时回顾总结，每6个月总结一次，提醒自己拖延症。</li>
<li>学习关于服务器管理的一些知识</li>
<li>买一个平板电脑。</li>
</ol>
<p>不管是普通的2012，还是科幻的2012，生活都要继续，祝大家新年快乐！梦想成真！</p>
<p>Related posts:<ol>
<li><a href='http://samnew.net/blog/2011/01/02/lazzy-hardworking.html' rel='bookmark' title='惰并努力着'>惰并努力着</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://samnew.net/blog/2011/12/31/2011-review-2012-outlook.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

