<?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>江淼的Blog &#187; 闲聊</title>
	<atom:link href="http://www.jiangmiao.org/blog/c/chat/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jiangmiao.org/blog</link>
	<description>简单生活</description>
	<lastBuildDate>Sat, 24 Dec 2011 07:02:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>关于抛硬币的思考</title>
		<link>http://www.jiangmiao.org/blog/2044.html</link>
		<comments>http://www.jiangmiao.org/blog/2044.html#comments</comments>
		<pubDate>Wed, 27 Apr 2011 06:29:00 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=2044</guid>
		<description><![CDATA[关于抛硬币连续抛了3次，均为正面，请问抛第4次正面的概率有多少。我设计了5个场景进行探讨 场景一：问：一枚硬币连续抛了3次，均为正面，请问抛第4次正面的概率有多少。？答案：50%分析：假设硬币抛2次，则有4种情况：正反，正正，反正，反反。当第1次正确立后，则只有2种情况：正反，正正，而两者的机会是相等的。同理，正正正反，正正正正的概率也是相等的，即第4次正面的概率为50%。 场景二：问：小明猜硬币，每次必猜反，已经连错3次，请问第四次猜对的概率是多少？答案：1-(0.5^4) = 93.75% 还是 50% 举棋不定分析：从概率上讲抛正反面相等的硬币连错4次的概率为0.5^4 场景三：问：小刚将抛10次硬币，已经连续抛出了3次正面，请问第4次正面的概率是多少？答：不太好回答，于是设计场景四 场景四：问：小明抛了10次硬币，于是开始逐一检验所抛的硬币，已经连续检验出9个硬币为正面，请问检验第10枚为正面的概率是多少？答：10次硬币，10枚都为正面的概率为1/2^10，第10次正面概率仅为1/2^10。（计算错误，见下文场景五的思考）缩小问题：小明抛了4次硬币，于是开始逐一检验所抛的硬币，已经连续检验出3个硬币为正面，请问第4枚为正面的概率是多少？答：1-(0.5^4) = 93.75%， 通过设计可以认场景一与场景四使从观测者角度看一致：场景五：小刚在一个黑盒子中随机抛了4枚硬币，小明在另一端按下一个开关，黑盒子就按顺序吐出一枚硬币，当所有硬币吐完时，小刚再随机抛4枚使之补满。黑盒子已连续吐出3枚正面，那第4枚正面的概率是多少？是场景四的93.75%还是场景一的50% 如果是50%，那场景四计算错在哪里，场景一和场景五 或 场景四与场景五有何不同？ 另外，如果以电脑生成的随机数举例，实际是伪随机数，给出一个seed，生成序列始终是不变的，是否可看成不停检验的过程。 场景五的继续思考：小刚抛出 9正1反 与 9正1正 的概率是相等的，皆为 1/1024，当小刚完成抛的一瞬间，小明检验时的命运也即定下来，所以检验表面看具有随机性，而实际上命中注定，小明的命运实则由小刚的手气决定。如果小刚抛出了 8正2反，那小明跟本不可能走到判断第10枚的地步。所以判断恒为50%。]]></description>
			<content:encoded><![CDATA[<p>关于抛硬币连续抛了3次，均为正面，请问抛第4次正面的概率有多少。我设计了5个场景进行探讨</p>
<p><b>场景一：</b><br />问：一枚硬币连续抛了3次，均为正面，请问抛第4次正面的概率有多少。？<br />答案：50%<br />分析：<br />假设硬币抛2次，则有4种情况：正反，正正，反正，反反。<br />当第1次正确立后，则只有2种情况：正反，正正，而两者的机会是相等的。<br />同理，正正正反，正正正正的概率也是相等的，即第4次正面的概率为50%。</p>
<p><strong>场景二：</strong><br />问：小明猜硬币，每次必猜反，已经连错3次，请问第四次猜对的概率是多少？<br />答案：1-(0.5^4)  = 93.75% 还是 50% 举棋不定<br />分析：从概率上讲抛正反面相等的硬币连错4次的概率为0.5^4</p>
<p><strong>场景三：</strong><br />问：小刚将抛10次硬币，已经连续抛出了3次正面，请问第4次正面的概率是多少？<br />答：不太好回答，于是设计场景四</p>
<p><strong>场景四：</strong><br />问：小明抛了10次硬币，于是开始逐一检验所抛的硬币，已经连续检验出9个硬币为正面，请问检验第10枚为正面的概率是多少？<br />答：10次硬币，10枚都为正面的概率为1/2^10，第10次正面概率仅为1/2^10。（计算错误，见下文场景五的思考）<br />缩小问题：小明抛了4次硬币，于是开始逐一检验所抛的硬币，已经连续检验出3个硬币为正面，请问第4枚为正面的概率是多少？<br />答：1-(0.5^4)  = 93.75%，</p>
<p>通过设计可以认场景一与场景四使从观测者角度看一致：<br /><strong>场景五：</strong><br />小刚在一个黑盒子中随机抛了4枚硬币，小明在另一端按下一个开关，黑盒子就按顺序吐出一枚硬币，当所有硬币吐完时，小刚再随机抛4枚使之补满。黑盒子已连续吐出3枚正面，那第4枚正面的概率是多少？<br />是场景四的93.75%还是场景一的50%</p>
<p>如果是50%，那场景四计算错在哪里，场景一和场景五 或 场景四与场景五有何不同？</p>
<p>另外，如果以电脑生成的随机数举例，实际是伪随机数，给出一个seed，生成序列始终是不变的，是否可看成不停检验的过程。</p>
<p>场景五的继续思考：<br />小刚抛出 9正1反 与 9正1正 的概率是相等的，皆为 1/1024，当小刚完成抛的一瞬间，小明检验时的命运也即定下来，所以检验表面看具有随机性，而实际上命中注定，小明的命运实则由小刚的手气决定。如果小刚抛出了 8正2反，那小明跟本不可能走到判断第10枚的地步。<br />所以判断恒为50%。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/2044.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>找个好的RSS托管咋这难</title>
		<link>http://www.jiangmiao.org/blog/1877.html</link>
		<comments>http://www.jiangmiao.org/blog/1877.html#comments</comments>
		<pubDate>Mon, 21 Feb 2011 13:10:43 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1877</guid>
		<description><![CDATA[因 Feedburner 被墙，所以一直用 Feedsky 做托管。最近几天很不稳定，可又找到不其他国内的 Feed 托管。 算下制作一个Feed托管网站的带宽成本下行带宽：假设平均每个feed大小为 15k每天抓取 24 次，考虑部份用户有缓存，那么实际抓取12次。平均每feed每天使用流量为 15*12=182k 每千feed所使用的带宽为 182*1000/86400*8 = 16 kbits / s若下行带宽为 2 Mbps，那么可以承受用户数为 2000/16 * 1k = 12.5 W按效率为 80% 计算，那么实际支撑的feed数为 10W 。 以10W feed计，假设平均每feed每天更新 3次，那么每秒需处理的 feed 为 10W * 3 / &#8230; <a href="http://www.jiangmiao.org/blog/1877.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>因 Feedburner 被墙，所以一直用 Feedsky 做托管。最近几天很不稳定，可又找到不其他国内的 Feed 托管。</p>
<p>算下制作一个Feed托管网站的带宽成本<br /><b>下行带宽：</b><br />假设平均每个feed大小为 15k<br />每天抓取 24 次，考虑部份用户有缓存，那么实际抓取12次。<br />平均每feed每天使用流量为 15*12=182k <br />每千feed所使用的带宽为 182*1000/86400*8 = 16 kbits / s<br />若下行带宽为 2 Mbps，那么可以承受用户数为 2000/16 * 1k = 12.5 W<br />按效率为 80% 计算，那么实际支撑的feed数为 10W 。</p>
<p>以10W feed计，<br />假设平均每feed每天更新 3次，那么每秒需处理的 feed 为 10W * 3 / 86400 = 3 个，通过二八法则，高峰期每秒处理的feed数为 3*4 = 12 个。</p>
<p><b>上行带宽：</b> (这个计算的可能偏差较大)<br />不同的阅读器，有的为直接rss订阅，假设高峰期每小时平均每个Feed有10个不同的订阅地点。10W Feed为 100W 请求/小时<br />最高每秒请求数为 100W / 3600 = 277<br />最高需要上行带宽为 1000k * 15 k / 3600 * 8 = 28 Mbps</p>
<p>这样算来，如果没有复杂的统计系统，单台100Mbps带宽的普通服务器支撑 40W 活跃 Feed 应该是没问题的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1877.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>对于普通用户，怎样的操作系统才是真正的好系统</title>
		<link>http://www.jiangmiao.org/blog/1858.html</link>
		<comments>http://www.jiangmiao.org/blog/1858.html#comments</comments>
		<pubDate>Thu, 17 Feb 2011 08:22:51 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1858</guid>
		<description><![CDATA[对于普通用户，这里指的普通用户可以想像成是一个从未接触过电脑的门外汉。怎样的系统才能叫好系统。 普通用户对系统的需求1、稳定性高2、兼容性强：包括 硬件兼容，网银等软件兼容。3、运行流畅4、人机友好：包括 运行程序，音量调节，U盘控制，窗口切换等一切人与电脑互动的行为方便，快捷。5、可塑性强：包括 自定义墙纸，开机画面，字体，按键声音等一切感观上控制6、安全性高 以上6点，除了兼容性需要第三方支持外，其他的均可以通过改善自身得到提升。适想一下若要上手一个操作系统，需要读完数百页的Manual，出现问题又要不停的Google，甚至要在双系统下学习，那么这个系统一定和普通用户有着不小的距离。 我理想中的普通用户系统（可能现在部份已有实现）1、驱动管理傻瓜化：用户甚至可以连硬件型号都不清楚，系统自动识别硬件并在提示下安装。 2、软件管理傻瓜化：现在的软件仓库已提供了基本的功能。 3、软件多个版本可共存并快速切换 4、四层结构1、系统驱动层 － 由安全更新，硬件中心控制2、软件层 － 由软件包管理控制3、个人个性化设置 － 由各类个性化软件控制4、个人文档 － 由用户控制 每层均可独立克隆，快照，切换，恢复，甚至远程同步。高级用户更可根据需要手动配置各层。 5、完善的权限管理完善的概念太模糊，Linux当前的权限模式可以满足大部分需求。 6、完整的日志和系统监控]]></description>
			<content:encoded><![CDATA[<p>对于普通用户，这里指的普通用户可以想像成是一个从未接触过电脑的门外汉。怎样的系统才能叫好系统。</p>
<p><b>普通用户对系统的需求</b><br />1、稳定性高<br />2、兼容性强：包括 硬件兼容，网银等软件兼容。<br />3、运行流畅<br />4、人机友好：包括 运行程序，音量调节，U盘控制，窗口切换等一切人与电脑互动的行为方便，快捷。<br />5、可塑性强：包括 自定义墙纸，开机画面，字体，按键声音等一切感观上控制<br />6、安全性高</p>
<p>以上6点，除了兼容性需要第三方支持外，其他的均可以通过改善自身得到提升。适想一下若要上手一个操作系统，需要读完数百页的Manual，出现问题又要不停的Google，甚至要在双系统下学习，那么这个系统一定和普通用户有着不小的距离。</p>
<p><b>我理想中的普通用户系统</b>（可能现在部份已有实现）<br />1、驱动管理傻瓜化：<br />用户甚至可以连硬件型号都不清楚，系统自动识别硬件并在提示下安装。</p>
<p>2、软件管理傻瓜化：<br />现在的软件仓库已提供了基本的功能。</p>
<p>3、软件多个版本可共存并快速切换</p>
<p>4、四层结构<br />1、系统驱动层 － 由安全更新，硬件中心控制<br />2、软件层 － 由软件包管理控制<br />3、个人个性化设置 － 由各类个性化软件控制<br />4、个人文档 － 由用户控制</p>
<p>每层均可独立克隆，快照，切换，恢复，甚至远程同步。高级用户更可根据需要手动配置各层。</p>
<p>5、完善的权限管理<br />完善的概念太模糊，Linux当前的权限模式可以满足大部分需求。</p>
<p>6、完整的日志和系统监控</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1858.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今天整理发现一张昔日的编程光盘，被深深的雷到了</title>
		<link>http://www.jiangmiao.org/blog/1831.html</link>
		<comments>http://www.jiangmiao.org/blog/1831.html#comments</comments>
		<pubDate>Sun, 30 Jan 2011 07:24:45 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1831</guid>
		<description><![CDATA[Borland 写作 BORCAND, BORLABDMicrosoft 写作 MICAROSFTVisual 写作 VISULPascal 写作 PASCACFortran 被活生生地拆成 FOR TRAN等等，真是数不胜数，基本行行有错。就连最下行的Nelcome，我想应该是Welcome吧。 话说回来，买了这张光盘的我就更弱了，实打实的一盗版受害者。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangmiao.org/blog/wp-content/uploads/2011/01/cd1.jpg" target="_blank"><img src="http://www.jiangmiao.org/blog/wp-content/uploads/2011/01/cd1-300x225.jpg" alt="" title="cd" width="300" height="225" class="alignnone size-medium wp-image-1834" /></a></p>
<p>Borland 写作 BORCAND, BORLABD<br />Microsoft 写作 MICAROSFT<br />Visual 写作 VISUL<br />Pascal 写作 PASCAC<br />Fortran 被活生生地拆成 FOR TRAN<br />等等，真是数不胜数，基本行行有错。<br />就连最下行的Nelcome，我想应该是Welcome吧。</p>
<p>话说回来，买了这张光盘的我就更弱了，实打实的一盗版受害者。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1831.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一种新的网络传输描述</title>
		<link>http://www.jiangmiao.org/blog/1706.html</link>
		<comments>http://www.jiangmiao.org/blog/1706.html#comments</comments>
		<pubDate>Sun, 23 Jan 2011 11:01:22 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1706</guid>
		<description><![CDATA[这两天在思考一种新的简单有效网络传输描述 比如 一个http响应可以写成如下形式 header -&#62; &#34;\r\n\r\n&#34; { !content_length = get_content_length(header) !chunked = is_chunked(header) !closed = is_closed(header) content_length: data(content_length) chunked: @ chunk_size_str -&#62; &#34;\r\n&#34; { !chunk_size = get_chunk_size(chunk_size_str) chunk_size&#62;0: chunk_data(chunk_size) &#34;\r\n&#34; chunk_size=0: break } @ closed: data -&#62; eof } 其中各种标记的含义为 &#8230; <a href="http://www.jiangmiao.org/blog/1706.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>这两天在思考一种新的简单有效网络传输描述</p>
<p>比如 一个http响应可以写成如下形式
<div class="pre">
<pre>
header -&gt; &quot;\r\n\r\n&quot; {
        !content_length = get_content_length(header)
        !chunked = is_chunked(header)
        !closed = is_closed(header)

        content_length: data(content_length)
        chunked: @ chunk_size_str -&gt; &quot;\r\n&quot; {
                        !chunk_size = get_chunk_size(chunk_size_str)

                        chunk_size&gt;0: chunk_data(chunk_size) &quot;\r\n&quot;
                        chunk_size=0: break
                } @
        closed: data -&gt; eof
}
</pre>
</div>
<p>其中各种标记的含义为<br />
<table>
<tr>
<td width="50%">data -> delim</td>
<td width="50%">接数据到data直至delim</td>
</tr>
<tr>
<td width="50%">data(length)</td>
<td width="50%">接收长度length的数据到data</td>
</tr>
<tr>
<td width="50%">!command</td>
<td width="50%">执行命令</td>
</tr>
<tr>
<td width="50%">{&#8230;}</td>
<td width="50%">分支</td>
</tr>
<tr>
<td width="50%">condition: command</td>
<td width="50%">分支中的条件选择</td>
</tr>
<tr>
<td width="50%">default:(关键词)</td>
<td width="50%">缺省动作</td>
</tr>
<tr>
<td width="50%">@&#8230;@</td>
<td width="50%">循环</td>
</tr>
<tr>
<td width="50%">break(关键词)</td>
<td width="50%">跳出循环</td>
</tr>
<tr>
<td width="50%">eof(关键词)</td>
<td width="50%">直至服务器正常断开连接</td>
</tr>
</table>
<p>扩展：任何数据名称可接[...] 表示动作，如<br />
<table>
<tr>
<td width="50%">header[print]</td>
<td width="50%">对header执行命令print</td>
</tr>
<tr>
<td width="50%">data(content_length)[foward]</td>
<td width="50%">对data进行forward</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1706.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>上帝悖论思考，上帝完全全能</title>
		<link>http://www.jiangmiao.org/blog/1623.html</link>
		<comments>http://www.jiangmiao.org/blog/1623.html#comments</comments>
		<pubDate>Thu, 16 Dec 2010 16:04:49 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1623</guid>
		<description><![CDATA[上帝悖论又叫全能悖论，简言之就是，上帝能够创造一块连他自己都搬不动的石头吗？以此来说明完全全能的上帝是不存在的。 而我的观点是：上帝能够创造一块连他自己都搬不动的石头。 理由：上帝可以创造出处于上帝即能般动又不能般动的叠加状态的石头。先举2个两种叠加状态的例子：1、我这句话是假话。上句将永远处于即是真话也是假话在叠加状态。 2、薛定谔的猫这个大家都熟悉，薛定谔的猫在未被观测前处于死与不死的叠加状态。 作为人类都能想像甚至创造出叠加状态的物品，上帝必然能创造出叠加状态的石头。 上帝石头的可能形态1、力量无限增长的上帝与重量无限增长的石头。当上帝去拿石头时，石头瞬间变重大于上帝的力量，当石头大于上帝力量瞬间，上帝力量增大直至大于石头，无限循环。 2、当观测上帝搬石头时会产生平行宇宙当人类观测上帝搬石头时，会产生平行宇宙，在一个宇宙内人类看到上帝搬起了石头，另一个宇宙人类看到上帝未搬起石，当观测结束时，2个宇宙又合二为一，观测者的2个不同的思维即观测结果也合二为一。]]></description>
			<content:encoded><![CDATA[<p>上帝悖论又叫全能悖论，简言之就是，上帝能够创造一块连他自己都搬不动的石头吗？以此来说明完全全能的上帝是不存在的。</p>
<p>而我的观点是：上帝能够创造一块连他自己都搬不动的石头。</p>
<p>理由：上帝可以创造出处于上帝即能般动又不能般动的叠加状态的石头。<br />先举2个两种叠加状态的例子：<br />1、我这句话是假话。<br />上句将永远处于即是真话也是假话在叠加状态。</p>
<p>2、薛定谔的猫<br />这个大家都熟悉，薛定谔的猫在未被观测前处于死与不死的叠加状态。</p>
<p>作为人类都能想像甚至创造出叠加状态的物品，上帝必然能创造出叠加状态的石头。</p>
<p>上帝石头的可能形态<br />1、力量无限增长的上帝与重量无限增长的石头。<br />当上帝去拿石头时，石头瞬间变重大于上帝的力量，当石头大于上帝力量瞬间，上帝力量增大直至大于石头，无限循环。</p>
<p>2、当观测上帝搬石头时会产生平行宇宙<br />当人类观测上帝搬石头时，会产生平行宇宙，在一个宇宙内人类看到上帝搬起了石头，另一个宇宙人类看到上帝未搬起石，当观测结束时，2个宇宙又合二为一，观测者的2个不同的思维即观测结果也合二为一。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1623.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>宇宙起源随想</title>
		<link>http://www.jiangmiao.org/blog/1609.html</link>
		<comments>http://www.jiangmiao.org/blog/1609.html#comments</comments>
		<pubDate>Thu, 16 Dec 2010 11:57:49 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1609</guid>
		<description><![CDATA[宇宙就像操作系统，在未运行前什么都不是，也就是科学上的没有时间，没有空间。突然有一天，有&#8221;人&#8221;按下了宇宙外的开机键，于是宇宙开始了运转。这个&#8221;人&#8221;被称之为上帝，安拉，盘古等等，而运转的法则叫&#8221;道&#8221;。]]></description>
			<content:encoded><![CDATA[<p>宇宙就像操作系统，在未运行前什么都不是，也就是科学上的没有时间，没有空间。<br />突然有一天，有&#8221;人&#8221;按下了宇宙外的开机键，于是宇宙开始了运转。这个&#8221;人&#8221;被称之为上帝，安拉，盘古等等，而运转的法则叫&#8221;道&#8221;。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1609.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>编程风格随笔</title>
		<link>http://www.jiangmiao.org/blog/1496.html</link>
		<comments>http://www.jiangmiao.org/blog/1496.html#comments</comments>
		<pubDate>Sat, 20 Nov 2010 15:26:14 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1496</guid>
		<description><![CDATA[今天读完Google C++ Style Guide很高兴，因为发现条例和我现在的编程习惯基本一致。仅有2点不同，一是常数要以k开头，而我的习惯是全大写即常数。另一个是类成员名以_结尾，而我习惯成员名没有_结尾，但方法内成员不省略this。一直以为自的的编程风格属于小众，没想到却对了Google的味口。主要相同点有： 小写下划线变量名 从c时代延习下来并保留风格，不过Web编程多驼峰，所以对驼峰也能适应，但c的小写风格一直保留至今。 展开空格，2格空格为一个单位 这条一直以为是小众风格，也是学了ruby后渐渐由4空格变为2空格。不过要是Linus看到谁用2空格，诂计连饭都要吃不下了。 大括号放函数之后 c时代大括号另起一行，Web编程多了后渐渐的大括号不换行了。 类型名称的每个单词首字母均大写, 不包含下划线: c和stl都是纯小写，因此也有过纯小写的历史，Web后渐渐大写，学了ruby后，类的首字母就一直大写了。 等等当然，世上没有最权威的风格，也没有最好的风格，比如K&#038;R和Google有些许差别。具体还是看项目，入乡随俗。如果在K&#038;R风格的项目用上述风格，就显得格格不入了。编程风格还和所编写的语言有关，像Win32编程时匈牙利了很长一段时间，直到认识了K&#038;R才把这漏习给改了。但是现在越来越有返璞归真纯C编程的倾向，纯C编程还是用K&#038;R风格似乎更加合适。提到编程风格，就不得不提一下Google Go，大写函数名，每次看到那个大写函数名就立马放弃了学Go的念头，作为Google支持者的我也不得不望而却步了。 相关链接Google Style Guide 官方Google Style Guide 中文版]]></description>
			<content:encoded><![CDATA[<p>今天读完Google C++ Style Guide很高兴，因为发现条例和我现在的编程习惯基本一致。仅有2点不同，一是常数要以k开头，而我的习惯是全大写即常数。另一个是类成员名以_结尾，而我习惯成员名没有_结尾，但方法内成员不省略this。一直以为自的的编程风格属于小众，没想到却对了Google的味口。<br />主要相同点有：
<dl>
<dt>小写下划线变量名</dt>
<dd>从c时代延习下来并保留风格，不过Web编程多驼峰，所以对驼峰也能适应，但c的小写风格一直保留至今。</dd>
<dt>展开空格，2格空格为一个单位</dt>
<dd>这条一直以为是小众风格，也是学了ruby后渐渐由4空格变为2空格。不过要是Linus看到谁用2空格，诂计连饭都要吃不下了。</dd>
<dt>大括号放函数之后</dt>
<dd>c时代大括号另起一行，Web编程多了后渐渐的大括号不换行了。</dd>
<dt>类型名称的每个单词首字母均大写, 不包含下划线:</dt>
<dd>c和stl都是纯小写，因此也有过纯小写的历史，Web后渐渐大写，学了ruby后，类的首字母就一直大写了。</dt>
</dl>
<p>等等<br />当然，世上没有最权威的风格，也没有最好的风格，比如K&#038;R和Google有些许差别。具体还是看项目，入乡随俗。如果在K&#038;R风格的项目用上述风格，就显得格格不入了。编程风格还和所编写的语言有关，像Win32编程时匈牙利了很长一段时间，直到认识了K&#038;R才把这漏习给改了。但是现在越来越有返璞归真纯C编程的倾向，纯C编程还是用K&#038;R风格似乎更加合适。<br />提到编程风格，就不得不提一下Google Go，大写函数名，每次看到那个大写函数名就立马放弃了学Go的念头，作为Google支持者的我也不得不望而却步了。</p>
<p>相关链接<br /><a href="http://code.google.com/p/google-styleguide/" target="_blank">Google Style Guide 官方</a><br /><a href="http://code.google.com/p/zh-google-styleguide/" target="_blank">Google Style Guide 中文版</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1496.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dvorak键盘布局使用总结</title>
		<link>http://www.jiangmiao.org/blog/1144.html</link>
		<comments>http://www.jiangmiao.org/blog/1144.html#comments</comments>
		<pubDate>Fri, 27 Aug 2010 18:23:34 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[dvorak]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=1144</guid>
		<description><![CDATA[一、什么是Dvorak键盘布局 德沃夏克键盘（Dvorak Keyboard）是键盘排列方式，由奥古斯特·德沃夏克和威廉·迪利在1930年代期间设计，是主流的键盘排列快蹄键盘(QWERTY)的对手。德沃夏克和Dealey研究过字母的出现频率和手的生理之后，依以下的宗旨来建立这个排列：以使用英语为设计出发观点能让双手交互输入为了达至最高速度和效率，最常用的字母和二合字母应最易输入——它们应该在中排，食指放在的地方。最少用的字母应在最难碰到的下排右手应打得更多字，因为大部分的人都是右撇子使用连着的手指打二合字母比不相连的更难。输入应由边缘循序渐进地移到中心&#8211; 摘自 wikipedia 二、Dvorak适用性 适用人群 经常打英文 希望打字手感流畅 希望提高打字速度 不适用人群 经常使用公共电脑，或在网吧打电脑大多数电脑的布局为qwert，如果你是dvorak，必然是寸步难行。 经常玩游戏大多数游戏的键盘是针对qwert，如果是dvorak，游戏必需要有键位设置，如果是Programmer Dvorak，在魔兽争霸等游戏中甚至无法进行编队，必需换其它布局，总言之是非常不便的。 三、学习使用经历 Programmer Dvorak 是目前我正在使用的键盘布局。非程序员可以使用普通的Dvorak布局。Programmer Dvorak布局如图： 对于一个新的键盘布局，以我用Dvorak为例最为痛苦的莫过于最初二天，每打一个字母都是考验， (17WPM)三天后可以通过思考键位开始盲打 (26WPM)一周后部份常用字母，特别是中间排开始条件反射。 (39WPM)1个月后告别手指束缚感， (52WPM)1个半月后遗忘qwert，全键位条件反射，正式告别原布局。(65WPM)5个月后达到qwert时代巅峰，(415 CPM 74WPM)6个月后超越过去，进入新纪元。(427 CPM 77WPM) 学新布局最关键的还是持之以衡和毅力，其实学习所有新事物皆是如此。 四、dvorak的安装 ubuntu下，非常方便，在系统 > 首选项 > 布局 设置windows下，为避免中文输入法dvorak键盘布局失效只需把system32/kbddv.dll 改名为kbdus.dll 重启后即能完成全系统的键位dvorak化。]]></description>
			<content:encoded><![CDATA[<h3>一、什么是Dvorak键盘布局</h3>
<p>德沃夏克键盘（Dvorak Keyboard）是键盘排列方式，由奥古斯特·德沃夏克和威廉·迪利在1930年代期间设计，是主流的键盘排列快蹄键盘(QWERTY)的对手。<br />德沃夏克和Dealey研究过字母的出现频率和手的生理之后，依以下的宗旨来建立这个排列：<br />以使用英语为设计出发观点<br />能让双手交互输入<br />为了达至最高速度和效率，最常用的字母和二合字母应最易输入——它们应该在中排，食指放在的地方。<br />最少用的字母应在最难碰到的下排<br />右手应打得更多字，因为大部分的人都是右撇子<br />使用连着的手指打二合字母比不相连的更难。<br />输入应由边缘循序渐进地移到中心<br />&#8211; 摘自 wikipedia<br />
<h3>二、Dvorak适用性</h3>
<p>适用人群
<ol>
<li>经常打英文</li>
<li>希望打字手感流畅</li>
<li>希望提高打字速度</li>
</ol>
<p>不适用人群
<ol>
<li>经常使用公共电脑，或在网吧打电脑<br />大多数电脑的布局为qwert，如果你是dvorak，必然是寸步难行。</li>
<li>经常玩游戏<br />大多数游戏的键盘是针对qwert，如果是dvorak，游戏必需要有键位设置，如果是Programmer Dvorak，在魔兽争霸等游戏中甚至无法进行编队，必需换其它布局，总言之是非常不便的。</li>
</ol>
<h3>三、学习使用经历</h3>
<p><a href="http://www.kaufmann.no/roland/dvorak/" target="_blank">Programmer Dvorak</a> 是目前我正在使用的键盘布局。非程序员可以使用普通的Dvorak布局。Programmer Dvorak布局如图：<br /><a href="http://www.jiangmiao.org/blog/wp-content/uploads/2010/08/400px-KB_Programmer_Dvorak.svg_.png"><img src="http://www.jiangmiao.org/blog/wp-content/uploads/2010/08/400px-KB_Programmer_Dvorak.svg_.png" alt="" title="400px-KB_Programmer_Dvorak.svg" width="400" height="133" class="alignnone size-full wp-image-1156" /></a></p>
<p>对于一个新的键盘布局，以我用Dvorak为例<br />最为痛苦的莫过于最初二天，每打一个字母都是考验， (17WPM)<br />三天后可以通过思考键位开始盲打  (26WPM)<br />一周后部份常用字母，特别是中间排开始条件反射。 (39WPM)<br />1个月后告别手指束缚感， (52WPM)<br />1个半月后遗忘qwert，全键位条件反射，正式告别原布局。(65WPM)<br />5个月后达到qwert时代巅峰，(415 CPM 74WPM)<br />6个月后超越过去，进入新纪元。(427 CPM 77WPM)</p>
<p>学新布局最关键的还是持之以衡和毅力，其实学习所有新事物皆是如此。<br />
<h3>四、dvorak的安装</h3>
<p>ubuntu下，非常方便，在系统 > 首选项 > 布局 设置<br />windows下，为避免中文输入法dvorak键盘布局失效<br />只需把system32/kbddv.dll 改名为kbdus.dll 重启后即能完成全系统的键位dvorak化。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/1144.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>键盘布局 Dvorak 毕业，已完全代替qwerty。</title>
		<link>http://www.jiangmiao.org/blog/845.html</link>
		<comments>http://www.jiangmiao.org/blog/845.html#comments</comments>
		<pubDate>Tue, 13 Apr 2010 13:50:24 +0000</pubDate>
		<dc:creator>JiangMiao</dc:creator>
				<category><![CDATA[dvorak]]></category>
		<category><![CDATA[闲聊]]></category>

		<guid isPermaLink="false">http://www.jiangmiao.org/blog/?p=845</guid>
		<description><![CDATA[布局 Programmer Dvorak 经过7天，休息3周，再7天的使用，英文平均速度已达到50wpm，五笔大约20字左右。vim键位也已适应，一切都顺利。其实只要做到想到字母就想到键位，一切就到了可接受范围，没有压抑的束缚感，人的适应性超过我的想象。从今天起正式和qwerty说Bye Bye~ 附速度历程：http://www.jiangmiao.org/blog/589.html&#8212; 4.21 &#8212;已经忘了qwerty键了，第一反应已是Dvorak]]></description>
			<content:encoded><![CDATA[<p>布局 <a href="http://www.kaufmann.no/roland/dvorak/" target="blank">Programmer Dvorak</a> 经过7天，休息3周，再7天的使用，英文平均速度已达到50wpm，五笔大约20字左右。vim键位也已适应，一切都顺利。其实只要做到想到字母就想到键位，一切就到了可接受范围，没有压抑的束缚感，人的适应性超过我的想象。从今天起正式和qwerty说Bye Bye~</p>
<p>附速度历程：<a href="http://www.jiangmiao.org/blog/589.html">http://www.jiangmiao.org/blog/589.html</a><br />&#8212; 4.21 &#8212;<br />已经忘了qwerty键了，第一反应已是Dvorak</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangmiao.org/blog/845.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

