<?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>Here comes the Sun &#187; 自话</title>
	<atom:link href="http://sunng.info/blog/category/%e8%87%aa%e8%af%9d/feed/" rel="self" type="application/rss+xml" />
	<link>http://sunng.info/blog</link>
	<description>47% users on this site use *nix</description>
	<lastBuildDate>Sat, 04 Feb 2012 13:08:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>爬山！</title>
		<link>http://sunng.info/blog/2012/02/%e7%88%ac%e5%b1%b1%ef%bc%81/</link>
		<comments>http://sunng.info/blog/2012/02/%e7%88%ac%e5%b1%b1%ef%bc%81/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 14:36:41 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1151</guid>
		<description><![CDATA[今天是2月1号，本人决定从今天开始到月底的每个工作日中午去爬山锻炼身体，以摆脱目前体重极速增长的困局。口说无凭，立此为据。]]></description>
			<content:encoded><![CDATA[<p>今天是2月1号，本人决定从今天开始到月底的每个工作日中午去爬山锻炼身体，以摆脱目前体重极速增长的困局。口说无凭，立此为据。</p>
<p>CuiPing_Hill<br/><a href="http://sunng.info/blog/wp-content/plugins/leaflet-maps-marker/leaflet-fullscreen.php?marker=2"><img src="http://sunng.info/blog/wp-content/plugins/leaflet-maps-marker/img/map-rss-feed.png"/><br/>Show embedded map in full-screen mode</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2012/02/%e7%88%ac%e5%b1%b1%ef%bc%81/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Finished my machine learning courses</title>
		<link>http://sunng.info/blog/2011/12/finished-my-machine-learning-courses/</link>
		<comments>http://sunng.info/blog/2011/12/finished-my-machine-learning-courses/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 14:05:00 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[course]]></category>
		<category><![CDATA[ml]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1112</guid>
		<description><![CDATA[经过三个月的时间，终于看完了ml-class的所有视频课程，完成了所有review questions，提交了所有programming exercises.感觉不错，之前一直对数据挖掘相关的方面感兴趣，回想一下大学时候一些地统计分析甚至遥感图像数据处理的课都跟机器学习相关，但是毕竟不是这方面的课程，所以介绍的不是很系统。今年秋天斯坦福推出这个在线课程，机器学习作为其中之一真算是弥补了我们民间科学爱好者的遗憾了。 这个课程在有限的篇幅里涵盖了linear regression, logistic regression, ANN, SVM, PCA, K-Means, Anomaly Detection等等知识，基本上算是一个完整实用的导论。Andrew Ng教授的讲解也算是通俗易懂深入浅出，完全感觉不到什么门槛。 对于online course这种形式，今年秋天斯坦福的人工智能、数据库、机器学习也算是首开先河，目前这三门课程都已经结束，网上的反响非常强烈。好消息是明年Q1斯坦福还有更多数量更多方向的课程。今天MIT也宣布了明年的online course计划，他们也将加入提供在线课程的行列。而且，MIT的在线课程还会颁发一个名叫MITx的certification。开放式课程已经成为大势所趋，信息本应自由传播。 对于对机器学习感兴趣的朋友，除了ml-class.org上的资源，你还可以在academic earth上找到ANG教授的授课视频。这套视频涵盖的内容比ml-class上的更详细完整： http://academicearth.org/courses/machine-learning 课程结束，我在ml-class上所有的编程作业都已经放在bitbucket上，如果有兴趣可以参考这些octave程序： https://bitbucket.org/sunng/ml-class 明年一月斯坦福还会开放更多跟机器学习相关的课程，包括： Probabilistic Graphical Models pgm-class.org Natural Language Processing nlp-class.org Thank you, Professor Ng and your team for this &#8230; <a href="http://sunng.info/blog/2011/12/finished-my-machine-learning-courses/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>经过三个月的时间，终于看完了ml-class的所有视频课程，完成了所有review questions，提交了所有programming exercises.感觉不错，之前一直对数据挖掘相关的方面感兴趣，回想一下大学时候一些地统计分析甚至遥感图像数据处理的课都跟机器学习相关，但是毕竟不是这方面的课程，所以介绍的不是很系统。今年秋天斯坦福推出这个在线课程，机器学习作为其中之一真算是弥补了我们民间科学爱好者的遗憾了。</p>
<p>这个课程在有限的篇幅里涵盖了linear regression, logistic regression, ANN, SVM, PCA, K-Means, Anomaly Detection等等知识，基本上算是一个完整实用的导论。Andrew Ng教授的讲解也算是通俗易懂深入浅出，完全感觉不到什么门槛。</p>
<p>对于online course这种形式，今年秋天斯坦福的人工智能、数据库、机器学习也算是首开先河，目前这三门课程都已经结束，网上的反响非常强烈。好消息是明年Q1斯坦福还有更多数量更多方向的课程。今天MIT也宣布了明年的online course计划，他们也将加入提供在线课程的行列。而且，MIT的在线课程还会颁发一个名叫MITx的certification。开放式课程已经成为大势所趋，信息本应自由传播。</p>
<p>对于对机器学习感兴趣的朋友，除了ml-class.org上的资源，你还可以在academic earth上找到ANG教授的授课视频。这套视频涵盖的内容比ml-class上的更详细完整：<br />
<a href="http://academicearth.org/courses/machine-learning" target="_blank">http://academicearth.org/courses/machine-learning</a></p>
<p>课程结束，我在ml-class上所有的编程作业都已经放在bitbucket上，如果有兴趣可以参考这些octave程序：<br />
<a href="https://bitbucket.org/sunng/ml-class" target="_blank">https://bitbucket.org/sunng/ml-class</a></p>
<p>明年一月斯坦福还会开放更多跟机器学习相关的课程，包括：</p>
<ul>
<li>Probabilistic Graphical Models <a href="http://www.pgm-class.org/" target="_blank">pgm-class.org</a></li>
<li>Natural Language Processing <a href="http://www.nlp-class.org" target="_blank">nlp-class.org</a></li>
</ul>
<p>Thank you, Professor Ng and your team for this well-prepared, high-quality online course.</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/12/finished-my-machine-learning-courses/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>普通青年、二逼青年与文艺青年的Java代码缩进</title>
		<link>http://sunng.info/blog/2011/10/%e6%99%ae%e9%80%9a%e9%9d%92%e5%b9%b4%e3%80%81%e4%ba%8c%e9%80%bc%e9%9d%92%e5%b9%b4%e4%b8%8e%e6%96%87%e8%89%ba%e9%9d%92%e5%b9%b4%e7%9a%84java%e4%bb%a3%e7%a0%81%e7%bc%a9%e8%bf%9b/</link>
		<comments>http://sunng.info/blog/2011/10/%e6%99%ae%e9%80%9a%e9%9d%92%e5%b9%b4%e3%80%81%e4%ba%8c%e9%80%bc%e9%9d%92%e5%b9%b4%e4%b8%8e%e6%96%87%e8%89%ba%e9%9d%92%e5%b9%b4%e7%9a%84java%e4%bb%a3%e7%a0%81%e7%bc%a9%e8%bf%9b/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 06:57:19 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1046</guid>
		<description><![CDATA[普通青年 while&#40;true&#41; &#123; &#160; &#160; if &#40;something&#41; &#123; &#160; &#160; &#160; &#160; System.out.println&#40;something&#41;; &#160; &#160; &#160; &#160; break; &#160; &#160; &#125; &#125; 特点： tab与空格混用，无其他特点。 常见于：各类代码仓库。 二逼青年 while&#40;true&#41; &#123; &#160; &#160; if &#40;something&#41; &#160; &#160; &#123; &#160; &#160; &#160; &#160; System.out.println&#40;something&#41;; &#8230; <a href="http://sunng.info/blog/2011/10/%e6%99%ae%e9%80%9a%e9%9d%92%e5%b9%b4%e3%80%81%e4%ba%8c%e9%80%bc%e9%9d%92%e5%b9%b4%e4%b8%8e%e6%96%87%e8%89%ba%e9%9d%92%e5%b9%b4%e7%9a%84java%e4%bb%a3%e7%a0%81%e7%bc%a9%e8%bf%9b/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>普通青年</p>
<div class="codecolorer-container java twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>something<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>something<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>特点： tab与空格混用，无其他特点。<br />
常见于：各类代码仓库。</p>
<p>二逼青年</p>
<div class="codecolorer-container java twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
<br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>something<span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>something<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#125;</span></div></div>
<p>特点：总担心代码不够长<br />
见于：各类劣质技术书籍</p>
<p>文艺青年</p>
<div class="codecolorer-container java twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>something<span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>something<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span></div></div>
<p>特点：普通Java青年永远不会理解的缩进，lisp程序员会心一笑<br />
见于：Clojure源码</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/10/%e6%99%ae%e9%80%9a%e9%9d%92%e5%b9%b4%e3%80%81%e4%ba%8c%e9%80%bc%e9%9d%92%e5%b9%b4%e4%b8%8e%e6%96%87%e8%89%ba%e9%9d%92%e5%b9%b4%e7%9a%84java%e4%bb%a3%e7%a0%81%e7%bc%a9%e8%bf%9b/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>You say goodbye and I say hello.</title>
		<link>http://sunng.info/blog/2011/10/you-say-goodbye-and-i-say-hello/</link>
		<comments>http://sunng.info/blog/2011/10/you-say-goodbye-and-i-say-hello/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 04:31:17 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1034</guid>
		<description><![CDATA[You say yes, I say no You say stop and I say go, go, go Oh, no You say goodbye and I say hello world #include&#60;stdio.h&#62; int main&#40;&#41;&#123; &#160; &#160; printf&#40;&#34;Dennis Ritchie, %d-%d\n&#34;, 1941, 2011&#41;; &#160; &#160; return 0; &#125; &#8230; <a href="http://sunng.info/blog/2011/10/you-say-goodbye-and-i-say-hello/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe width="560" height="315" src="http://www.youtube.com/embed/HBZ8ulc5NTg" frameborder="0" allowfullscreen></iframe></p>
<p>You say yes, I say no<br />
You say stop and I say go, go, go<br />
Oh, no<br />
You say goodbye and I say <strong>hello world</strong></p>
<p><img src="http://www.lysator.liu.se/c/dmr/dmr.gif" alt="Dennis Ritchie" /></p>
<p><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/09/the_c_programming_language.jpg" alt="the C programming language" /></p>
<div class="codecolorer-container c twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">#include&lt;stdio.h&gt;</span><br />
<br />
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Dennis Ritchie, %d-%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1941</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2011</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>RIP.</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/10/you-say-goodbye-and-i-say-hello/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>流水帐</title>
		<link>http://sunng.info/blog/2011/09/%e6%b5%81%e6%b0%b4%e5%b8%90/</link>
		<comments>http://sunng.info/blog/2011/09/%e6%b5%81%e6%b0%b4%e5%b8%90/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 08:35:37 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=997</guid>
		<description><![CDATA[最近没有什么特别值得一提的事情，或者说都还在进行中还没有到值得一提的时候。 中秋节休息之后的第一天清早去驾校考交规理论，这个事没什么可说的，除了在4sq上又拓展了一点疆土，后来我又后悔没把GPS带着错过了一些还没有数据的道路。倒是那天去和回分别坐错了车，想十年前本人对城市交通网络了然于胸，除了视力不好把48路看成46路就没有坐错过车走错过路。结果现在公交线路的数量翻了一番，城市的交通网络也更复杂了。人脑则不具备scalability，活地图的时代一去不复返了。 第二件值得一说的是我在VirtualBox里成功安装了ArchLinux和GNOME Shell桌面。我工作的机器是有点古老的Dell OptiPlex 760，显卡还是ATI的Radeon HD 3420。为了开发的方便，我们装的都是CentOS 5，没错是5！！这周上班后升到了8G内存我就开始琢磨开个虚拟机体会一下现代生活。多余的不说了，几个注意事项： Host要装ATI的fglrx驱动，xorg-x11-drv-ati直接也能用，但是性能非常差 VirtualBox要在4.0.4以上，我看网上说的，具体能个版本也不知道，但是用最新的就可以 3D加速要开，在虚拟机的设置里 最最重要的一点！不要从虚拟机的菜单里安装Guest Addon，那个对Arch不管用。要用pacman安装仓库里，包名我忘了，请自行-Ss 别忘了把rc.vboxadd加入rc.conf的Deamons里 这周最诡异的问题是在配Netty的Pipeline时，我用了： Channels.pipeline&#40;new HttpMessageDecoder&#40;&#41;, new HttpMessageEncoder&#40;&#41;, myhandler&#41;; 结果稍微上一点压力居然出现了很多decoder异常，什么包不全、头不全、空指针什么的。不明真相最后改用例子里的： ChannelPipeline cp = Channels.pipeline&#40;&#41;; cp.addLast&#40;&#34;decoder&#34;, new HttpMessageDecoder&#40;&#41;&#41;; cp.addLast&#40;&#34;encoder&#34;, new HttpMessageEncoder&#40;&#41;&#41;; cp.addLast&#40;&#34;handler&#34;, myhandler&#41;; 就成功了。也许是顺序的原因也许是名字的原因，可如果这个名字真的具有意义的话为什么没有常量可用呢？不去追究具体原因了，记住就好。 此外遇到的bug还包括clojure中transient数据结构的问题，我有一个transient的map，但是persistent之后发现只有前9（依稀好像是）次assoc!的内容保存了，后面却都丢失了。1.2里的transient都被标记了alpha，不过印象1.3的changes里好像也没提transient。 另一件与clojure有关的诡异事件是一个test case的failure report： FAIL &#8230; <a href="http://sunng.info/blog/2011/09/%e6%b5%81%e6%b0%b4%e5%b8%90/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>最近没有什么特别值得一提的事情，或者说都还在进行中还没有到值得一提的时候。</p>
<p>中秋节休息之后的第一天清早去驾校考交规理论，这个事没什么可说的，除了在4sq上又拓展了一点疆土，后来我又后悔没把GPS带着错过了一些还没有数据的道路。倒是那天去和回分别坐错了车，想十年前本人对城市交通网络了然于胸，除了视力不好把48路看成46路就没有坐错过车走错过路。结果现在公交线路的数量翻了一番，城市的交通网络也更复杂了。人脑则不具备scalability，活地图的时代一去不复返了。</p>
<p>第二件值得一说的是我在VirtualBox里成功安装了ArchLinux和GNOME Shell桌面。我工作的机器是有点古老的Dell OptiPlex 760，显卡还是ATI的Radeon HD 3420。为了开发的方便，我们装的都是CentOS 5，没错是5！！这周上班后升到了8G内存我就开始琢磨开个虚拟机体会一下现代生活。多余的不说了，几个注意事项：</p>
<ul>
<li>Host要装ATI的fglrx驱动，xorg-x11-drv-ati直接也能用，但是性能非常差</li>
<li>VirtualBox要在4.0.4以上，我看网上说的，具体能个版本也不知道，但是用最新的就可以</li>
<li>3D加速要开，在虚拟机的设置里</li>
<li>最最重要的一点！不要从虚拟机的菜单里安装Guest Addon，那个对Arch不管用。要用pacman安装仓库里，包名我忘了，请自行-Ss</li>
<li>别忘了把rc.vboxadd加入rc.conf的Deamons里</li>
</ul>
<p>这周最诡异的问题是在配Netty的Pipeline时，我用了：</p>
<div class="codecolorer-container java twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Channels.<span style="color: #006633;">pipeline</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> HttpMessageDecoder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #000000; font-weight: bold;">new</span> HttpMessageEncoder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, myhandler<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>结果稍微上一点压力居然出现了很多decoder异常，什么包不全、头不全、空指针什么的。不明真相最后改用例子里的：</p>
<div class="codecolorer-container java twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ChannelPipeline cp <span style="color: #339933;">=</span> Channels.<span style="color: #006633;">pipeline</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
cp.<span style="color: #006633;">addLast</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;decoder&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> HttpMessageDecoder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
cp.<span style="color: #006633;">addLast</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;encoder&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> HttpMessageEncoder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
cp.<span style="color: #006633;">addLast</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;handler&quot;</span>, myhandler<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>就成功了。也许是顺序的原因也许是名字的原因，可如果这个名字真的具有意义的话为什么没有常量可用呢？不去追究具体原因了，记住就好。</p>
<p>此外遇到的bug还包括clojure中transient数据结构的问题，我有一个transient的map，但是persistent之后发现只有前9（依稀好像是）次assoc!的内容保存了，后面却都丢失了。1.2里的transient都被标记了alpha，不过印象1.3的changes里好像也没提transient。</p>
<p>另一件与clojure有关的诡异事件是一个test case的failure report：</p>
<blockquote><p>FAIL in (test-read-job) (wal.clj:61)<br />
expected: (= (job k) (rjob k))<br />
actual: (not (= &#8220;tomcat&#8221; &#8220;tomcat&#8221;))</p></blockquote>
<p>不过最后好在是冤有头债有主，睁着眼有时也要说下滑。在从stream中读字节流多读了一个byte，后来用这一组byte去new String的时候，就变成了一个不可见字符。结果在命令行里的输出就是这么骇人听闻，还是在IDEA里跑这个测试才发现错误的那个字符串后面跟了一个方块。至于为什么多读了一个byte，copy/paste害死人啊。</p>
<p>以上这些牢骚是关于clojure的，但是这篇就不加clojure的tag了，否则被planet clojure收录去我又给中文世界丢脸了。</p>
<p>周五晚上我又更新了sunng.info的首页，以后也许我会定期的放一些得意的照片（或者照片上有得意的东西）上去做背景，以免被人看到后发现太单调乏味。</p>
<p>最后还要感谢一下twitter网友Kymair这周将Rage Viewer<a href="http://rageviewer.herokuapp.com/index.html">部署到了Heroku</a>上。</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/09/%e6%b5%81%e6%b0%b4%e5%b8%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPS Track of Train K221: Nanjing to Guangzhou</title>
		<link>http://sunng.info/blog/2011/04/gps-track-of-train-k221-nanjing-to-guangzhou/</link>
		<comments>http://sunng.info/blog/2011/04/gps-track-of-train-k221-nanjing-to-guangzhou/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 13:47:58 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[gps]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2011/04/gps-track-of-train-k221-nanjing-to-guangzhou/</guid>
		<description><![CDATA[GPS Logger完成了它有生以来最长的一次旅行，1477分钟，行程1767公里，途径江苏、安徽、江西、湖南、广东，包含了宁芜线、浙赣线、京广线等。有了GPS终端，贴地的旅途就变成一件非常严肃的事情。这周末去西安，这个GPS也是16个小时上铺车程唯一的安慰了。 这个数据分享在OpenStreetMap上，也许你会感兴趣： http://www.openstreetmap.org/user/Sunng/traces/996794]]></description>
			<content:encoded><![CDATA[<p>GPS Logger完成了它有生以来最长的一次旅行，1477分钟，行程1767公里，途径江苏、安徽、江西、湖南、广东，包含了宁芜线、浙赣线、京广线等。有了GPS终端，贴地的旅途就变成一件非常严肃的事情。这周末去西安，这个GPS也是16个小时上铺车程唯一的安慰了。<br />
<a href="http://www.flickr.com/photos/40741608@N08/5657757338/" title="Railway-K221 - Viking by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5305/5657757338_9bbcc6af42.jpg" alt="Railway-K221 - Viking" height="302" width="500" /></a></p>
<p>这个数据分享在OpenStreetMap上，也许你会感兴趣：<br />
<a href="http://www.openstreetmap.org/user/Sunng/traces/996794">http://www.openstreetmap.org/user/Sunng/traces/996794</a></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=e4cdedff-8fec-852d-876b-830e16846036" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/04/gps-track-of-train-k221-nanjing-to-guangzhou/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>南京的第一个周末</title>
		<link>http://sunng.info/blog/2011/04/%e5%8d%97%e4%ba%ac%e7%9a%84%e7%ac%ac%e4%b8%80%e4%b8%aa%e5%91%a8%e6%9c%ab/</link>
		<comments>http://sunng.info/blog/2011/04/%e5%8d%97%e4%ba%ac%e7%9a%84%e7%ac%ac%e4%b8%80%e4%b8%aa%e5%91%a8%e6%9c%ab/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 03:01:48 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[LilyStudio]]></category>
		<category><![CDATA[Nanjing]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=821</guid>
		<description><![CDATA[回了南京，最大的变化就是心里踏实多了，从上大学以后几乎就没有再在家里好好呆过。虽然年纪轻轻就告老还乡有点不太给力，但是这样实在是比在外乡遥遥无期地飘着感觉要好（飘着好，遥遥无期地飘着不好）。 上班的地方在江宁，你可以从sunng.info页面的location标签上找到我。那个园区应该是聚集了一些软件公司，不过规模比显然比不上浦东软件园（还一二三期）。当然啦，规模大有个毛用，稍微晚几分钟食堂还要排队，快算了吧。 交通比想象的要方便，换一次公交车就从家门口到园区门口了。即使是早高峰时间，也只有在市区的一条路上稍微堵一下，大部分时间都是飞驰的专车，夫复何求！！换车的地方在未来的京沪高铁附近，将来南京南站也建在那一带，施工的时候还是尘土飞扬的，这点比张江要差点。（嗯，也就跟张江比比吧） 小公司有小公司的好处，新人去了没有繁文缛节的洗脑。开发岗位的直接用linux桌面，我把它看作一种福利，虽然是个rhel5，但好歹有自己配置的余地。当然即使这样，Windows还是少不了，Office是主要的原因，不过现在虚拟机是它永恒的家了。其他嘛，印象深刻的是公司的OpenDNS规则配得很厉害，好在firefox有个配置项叫做network.proxy.socks_remote_dns，你懂的。 周末在南京就可以随心所欲了。今天是新赛季中超联赛第一轮，下午3点半奥体又要热闹了。去年舜天队不给力，在盛大又特别忙，全年我就看了第一个主场的比赛，结果还输了（十年来第一次在现场输球）！！初中高中的时候要忙学习，大学的时候工作室周六开会，所以这么多年都没有条件保持看球的出勤率。现在时候到了，这是一种怎样的情怀了。 除去安逸的事情以外，我最近在看UEAP，再和@rlove的Linux System Programming对照看比较有感觉，不过我好像动手偏少了。另外还要看一下一个python的wsgi server叫做meinheld它为什么这么快呢。。 最后还要恭喜工作室战友、某著名互联网企业优秀员工、抢了04地理（我几乎忘了我是地理学院的了）第一婚的成功人士tiger新婚愉快！（除了The connection was reset以外就是成功人士的定义了）]]></description>
			<content:encoded><![CDATA[<p>回了南京，最大的变化就是心里踏实多了，从上大学以后几乎就没有再在家里好好呆过。虽然年纪轻轻就告老还乡有点不太给力，但是这样实在是比在外乡遥遥无期地飘着感觉要好（飘着好，遥遥无期地飘着不好）。</p>
<p>上班的地方在江宁，你可以从sunng.info页面的location标签上找到我。那个园区应该是聚集了一些软件公司，不过规模比显然比不上浦东软件园（还一二三期）。当然啦，规模大有个毛用，稍微晚几分钟食堂还要排队，快算了吧。</p>
<p>交通比想象的要方便，换一次公交车就从家门口到园区门口了。即使是早高峰时间，也只有在市区的一条路上稍微堵一下，大部分时间都是飞驰的专车，夫复何求！！换车的地方在未来的京沪高铁附近，将来南京南站也建在那一带，施工的时候还是尘土飞扬的，这点比张江要差点。（嗯，也就跟张江比比吧）</p>
<p>小公司有小公司的好处，新人去了没有繁文缛节的洗脑。开发岗位的直接用linux桌面，我把它看作一种福利，虽然是个rhel5，但好歹有自己配置的余地。当然即使这样，Windows还是少不了，Office是主要的原因，不过现在虚拟机是它永恒的家了。其他嘛，印象深刻的是公司的OpenDNS规则配得很厉害，好在firefox有个配置项叫做network.proxy.socks_remote_dns，你懂的。</p>
<p>周末在南京就可以随心所欲了。今天是新赛季中超联赛第一轮，下午3点半奥体又要热闹了。去年舜天队不给力，在盛大又特别忙，全年我就看了第一个主场的比赛，结果还输了（十年来第一次在现场输球）！！初中高中的时候要忙学习，大学的时候工作室周六开会，所以这么多年都没有条件保持看球的出勤率。现在时候到了，这是一种怎样的情怀了。</p>
<p>除去安逸的事情以外，我最近在看UEAP，再和@rlove的Linux System Programming对照看比较有感觉，不过我好像动手偏少了。另外还要看一下一个python的wsgi server叫做meinheld它为什么这么快呢。。</p>
<p>最后还要恭喜工作室战友、某著名互联网企业优秀员工、抢了04地理（我几乎忘了我是地理学院的了）第一婚的成功人士<a href="http://goodtiger.net">tiger</a>新婚愉快！（除了The connection was reset以外就是成功人士的定义了）</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/04/%e5%8d%97%e4%ba%ac%e7%9a%84%e7%ac%ac%e4%b8%80%e4%b8%aa%e5%91%a8%e6%9c%ab/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>I am Location Aware</title>
		<link>http://sunng.info/blog/2010/12/i-am-location-aware/</link>
		<comments>http://sunng.info/blog/2010/12/i-am-location-aware/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 14:11:54 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[OpenStreetMap]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2010/12/i-am-location-aware/</guid>
		<description><![CDATA[身为一个跟GIS沾过边的人，我直到今年才真正知道我在哪。尽管有了带GPS功能的手机，但是为了能离cartographer更进一步，今天我又买了一个专门的GPS Logger设备Holux M1000C。所谓GPS Logger就是以固定时间间隔采集GPS数据并记录的设备，现在国内的绝大多数GPS设备都是以导航为主，少有这样功能简单价格合理的GPS产品。 这类设备，自带的软件当然都是Windows only的，不过在Linux上也不是没有办法。处理GPS数据最著名的工具叫做BT747，支持多种设备、格式，用Java写的，可以通过jnlp启动，quick and dirty一下还是很不错的。不过如果要找一个长相厮守的命令行工具，还是要用gpsbabel。 以USB连接为例，将M1000C通过USB线连接到电脑，开启设备。可以用dmesg命令查看连接的USB设备，找到该设备（我的机器上设备叫做 /dev/ttyACM0）。M1000C使用的是MTK芯片，gpsbabel的命令为： gpsbabel -t -i m241 -f /dev/ttyACM0 -o gpx -F output.gpx 其中： -t 表示track -i 输入格式，可以带参数如 -i m241,erase=1 表示导入并擦除设备上的数据 -f 输入设备 -o 输出格式，导出gpx格式 -F 输出文件 有了GPS设备，现在可以名正言顺地为OpenStreetMap贡献了，今天揣着设备把下班的路记录了一下，而且还专门走了小区后面没有路灯的一条路上采集了一下数据，没有路灯还真有点&#8230; View Larger Map 来吧，加入到OpenStreetMap的贡献者队伍里吧！ The &#8230; <a href="http://sunng.info/blog/2010/12/i-am-location-aware/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>身为一个跟GIS沾过边的人，我直到今年才真正知道我在哪。尽管有了带GPS功能的手机，但是为了能离cartographer更进一步，今天我又买了一个专门的GPS Logger设备Holux M1000C。所谓GPS Logger就是以固定时间间隔采集GPS数据并记录的设备，现在国内的绝大多数GPS设备都是以导航为主，少有这样功能简单价格合理的GPS产品。<br />
<a href="http://www.flickr.com/photos/40741608@N08/5229058140/" title="DSC_0006 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5249/5229058140_cb0e8e44a2.jpg" width="500" height="335" alt="DSC_0006" /></a></p>
<p>这类设备，自带的软件当然都是Windows only的，不过在Linux上也不是没有办法。处理GPS数据最著名的工具叫做BT747，支持多种设备、格式，用Java写的，可以通过jnlp启动，quick and dirty一下还是很不错的。不过如果要找一个长相厮守的命令行工具，还是要用gpsbabel。</p>
<p>以USB连接为例，将M1000C通过USB线连接到电脑，开启设备。可以用dmesg命令查看连接的USB设备，找到该设备（我的机器上设备叫做 /dev/ttyACM0）。M1000C使用的是MTK芯片，gpsbabel的命令为：<br />
<i>gpsbabel -t -i m241 -f /dev/ttyACM0 -o gpx -F output.gpx</i></p>
<p>其中：</p>
<ul>
<li>-t 表示track</li>
<li>-i 输入格式，可以带参数如 -i m241,erase=1 表示导入并擦除设备上的数据</li>
<li>-f 输入设备</li>
<li>-o 输出格式，导出gpx格式</li>
<li>-F 输出文件</li>
</ul>
<p>有了GPS设备，现在可以名正言顺地为OpenStreetMap贡献了，今天揣着设备把下班的路记录了一下，而且还专门走了小区后面没有路灯的一条路上采集了一下数据，没有路灯还真有点&#8230;<br />
<a href="http://www.flickr.com/photos/40741608@N08/5228648495/" title="merkator by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5043/5228648495_accb4185cc.jpg" width="500" height="313" alt="merkator" /></a></p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openstreetmap.org/export/embed.html?bbox=121.62538,31.19607,121.64143,31.20659&amp;layer=mapnik" style="border: 1px solid black"></iframe><br /><small><a href="http://www.openstreetmap.org/?lat=31.20133&amp;lon=121.633405&amp;zoom=15&amp;layers=M">View Larger Map</a></small></p>
<p>来吧，加入到OpenStreetMap的贡献者队伍里吧！</p>
<p>The post is brought to you by <a href="http://fedorahosted.org/lekhonee">lekhonee</a> v0.7</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2010/12/i-am-location-aware/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>QQ360</title>
		<link>http://sunng.info/blog/2010/11/qq360/</link>
		<comments>http://sunng.info/blog/2010/11/qq360/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 15:29:24 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[cnweb]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2010/11/qq360/</guid>
		<description><![CDATA[作为一个Linux桌面用户，若不是早些时候幡然悔悟投靠了自由软件，今天怕是也难以有隔岸观狗，苟全性命于乱世的心境。其实我是有两个想法的，一个是新浪的UC，一个是360自己。 我是在twitter上看到有同事说怎么UC没有动静。一说UC能想起来的人都应该想起来的。我不幸作为了见证UC历史的那一拨人，不幸就不幸在事隔多年我几乎都忘记自己这个身份了。2004年初，腾讯推出了一个2块钱注册QQ号的业务，从那个时候起的一段时间里，QQ号不再是像后来和先前这样免费注册。于是骂声一片，在深圳就冒出一个叫做朗玛UC的产品，就在那半年里人气飙升，虽然不及QQ，但是在国内也算是对QQ空前绝后的挑战了。那个时候的各种程序功能、营销手段也都是纯拷贝，我印象最深的是一个挂机时间换靓号的。因为这事我参与过，正好有高中同学弄到了学校服务器的权限，于是就替我就用金陵中学的Windows2000服务器，挂满了要求的时长，得到了6位UC号。 后来腾讯意识到问题，放弃了2块钱的业务，这以后UC很快就走了下坡路，最终卖给了新浪，取代了新浪自家那个更烂的IM产品（连名字都想不起来了）。神奇的是，尽管不景气，但是新浪UC这么些年一直尴尬地活着，还在不断更新。 如今机会来了，360跳出来，腾讯又受到了几年都没有过的挑战。不过有趣的是，这次大战一直是1v1，平时那些个心有不甘的六国似乎也没有一个愿意和360趟一滩浑水的。盛大是在糖果上打出来广告说支持360的，不过似乎没有造成太大的影响。其他都统统袖手旁观了，新浪也没有借这个机会忽悠一个自己的UC，我想如果整合新浪的微博、博客、播客，又能和MSN / Gtalk互通，也不是没有一点竞争力的吧。可惜没有准备好，眼看着事情渐渐平息，UC还是没有出头之日。 又说360，360苦于什么，苦于揭竿而起却又无法真正挽救用户于水火。已经宣战了，却没有能力把驻外侨民转移到安全的地方。忠诚的用户也要做出这样的抉择，坚贞不屈还是忍辱负重，抗战到底还是卖国投敌，是从此走上一条孤独的、不再有企鹅联系人的羊肠修道，还是看见了当没看见知道了当不知道退一步海阔天空。苦啊！ 360为什么不搞一个自己的QQ客户端呢？从头开始太难，那何不借点东风。站在我的角度，如果能看到360组织一个团队来维护libpurple的QQ支持，是最好的结果。其实现在Windows上已经有使用libpurple的pidgin(gtk)和instantbird(xul)了，虽然用起来有点麻烦（正是需要专人维护的缘由），但是即使是在最严峻的那几个小时，这些用户用着非腾讯官方的产品也没有太大的问题。这对360来说，难道不是个机会吗？在libpurple的基础上，索性来个GPL的OpenQQ，按照中国用户的需求，想加什么功能随你了。不要托管给什么评测中心，直接放到github，让大家都看看，发动一场人民战争，你怕什么。不过当然了，这样坦荡荡也不是360的风格，踏踏实实做个开源产品更不是他们的风格。 还是开头说了，隔岸观狗，不得不发。都是马后炮，姑且说说而已。]]></description>
			<content:encoded><![CDATA[<p>作为一个Linux桌面用户，若不是早些时候幡然悔悟投靠了自由软件，今天怕是也难以有隔岸观狗，苟全性命于乱世的心境。其实我是有两个想法的，一个是新浪的UC，一个是360自己。</p>
<p>我是在twitter上看到有同事说怎么UC没有动静。一说UC能想起来的人都应该想起来的。我不幸作为了见证UC历史的那一拨人，不幸就不幸在事隔多年我几乎都忘记自己这个身份了。2004年初，腾讯推出了一个2块钱注册QQ号的业务，从那个时候起的一段时间里，QQ号不再是像后来和先前这样免费注册。于是骂声一片，在深圳就冒出一个叫做朗玛UC的产品，就在那半年里人气飙升，虽然不及QQ，但是在国内也算是对QQ空前绝后的挑战了。那个时候的各种程序功能、营销手段也都是纯拷贝，我印象最深的是一个挂机时间换靓号的。因为这事我参与过，正好有高中同学弄到了学校服务器的权限，于是就替我就用金陵中学的Windows2000服务器，挂满了要求的时长，得到了6位UC号。</p>
<p>后来腾讯意识到问题，放弃了2块钱的业务，这以后UC很快就走了下坡路，最终卖给了新浪，取代了新浪自家那个更烂的IM产品（连名字都想不起来了）。神奇的是，尽管不景气，但是新浪UC这么些年一直尴尬地活着，还在不断更新。</p>
<p>如今机会来了，360跳出来，腾讯又受到了几年都没有过的挑战。不过有趣的是，这次大战一直是1v1，平时那些个心有不甘的六国似乎也没有一个愿意和360趟一滩浑水的。盛大是在糖果上打出来广告说支持360的，不过似乎没有造成太大的影响。其他都统统袖手旁观了，新浪也没有借这个机会忽悠一个自己的UC，我想如果整合新浪的微博、博客、播客，又能和MSN / Gtalk互通，也不是没有一点竞争力的吧。可惜没有准备好，眼看着事情渐渐平息，UC还是没有出头之日。</p>
<p>又说360，360苦于什么，苦于揭竿而起却又无法真正挽救用户于水火。已经宣战了，却没有能力把驻外侨民转移到安全的地方。忠诚的用户也要做出这样的抉择，坚贞不屈还是忍辱负重，抗战到底还是卖国投敌，是从此走上一条孤独的、不再有企鹅联系人的羊肠修道，还是看见了当没看见知道了当不知道退一步海阔天空。苦啊！</p>
<p>360为什么不搞一个自己的QQ客户端呢？从头开始太难，那何不借点东风。站在我的角度，如果能看到360组织一个团队来维护libpurple的QQ支持，是最好的结果。其实现在Windows上已经有使用libpurple的pidgin(gtk)和instantbird(xul)了，虽然用起来有点麻烦（正是需要专人维护的缘由），但是即使是在最严峻的那几个小时，这些用户用着非腾讯官方的产品也没有太大的问题。这对360来说，难道不是个机会吗？在libpurple的基础上，索性来个GPL的OpenQQ，按照中国用户的需求，想加什么功能随你了。不要托管给什么评测中心，直接放到github，让大家都看看，发动一场人民战争，你怕什么。不过当然了，这样坦荡荡也不是360的风格，踏踏实实做个开源产品更不是他们的风格。</p>
<p>还是开头说了，隔岸观狗，不得不发。都是马后炮，姑且说说而已。</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2010/11/qq360/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>周记</title>
		<link>http://sunng.info/blog/2010/08/%e5%91%a8%e8%ae%b0/</link>
		<comments>http://sunng.info/blog/2010/08/%e5%91%a8%e8%ae%b0/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 15:22:54 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[自话]]></category>
		<category><![CDATA[bason]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2010/08/%e5%91%a8%e8%ae%b0/</guid>
		<description><![CDATA[先讲个笑话，然后回顾一下这个星期。 这个星期从周四晚上开始，和一位外国朋友一位台湾女士聊天。第一次经历这样的场面，忐忑得很，起初还尝试和大家说英文的，奈何我的口语和听力实在是难以支撑，最后不知不觉间大家都平滑过渡到中文了。后来我想着听力还可以通过看InfoQ上的会议录像什么的练习一下，口语就鲜有机会和场合提升了。进而又想到长期在一个小环境里做重复的事情，有些能力的退化你甚至都感觉不到，更不要说原先不具备的能力了，你甚至都不能觉察到自己缺乏某一方面的训练。 今天下午又和原先在IBM实习的同事聚会，正好在五角场附近转转。比起张江这种近乎边缘的生活环境，五角场实在是强太多了，更难能可贵的是如果你在附近转一转，询问一下房租，那里的生活成本实际上并不比张江高，生活质量实在是没法比。这是为什么呢？不理解。另外今天看到了samson理解不了的沃尔玛，还有传说中那一片Oracle / EMC / eBao / 百度。上海真是大，地铁走几站就是一个完全不同的世界。 从同事那里了解到了团购网站的一些事情，这年头，好像不做个团购网站都不好意思跟人打招呼似的。于是有了这种东西，又是一窝蜂，这就是我们的互联网，你有什么意见呢。 昨天本想写一个对 Continuous Deployment 的理解来着，结果不料电脑过热死机了。什么原因呢，原来是浏览器里开着一个崔永元的网站，一个基于flash的网站，你懂的，CPU一直占满。这么明显的、严重的、高能耗的问题，这么多年了，Adobe一点动作都没有。另外我发现今天禁用了Adobe的Flashplayer居然Firefox的Ctrl+C/Ctrl+T等等几个快捷键突然恢复了，对于这种情况还是不说什么吧。最近听说开源的实现gnash已经可以播放Youtube的视频了（当然严格地说这事跟咱们没什么关系），一会写完blog我决定配置一下试试。 这周另一个重要的事情是Kindle 3上市了，第一次对一个手持设备产生这么强烈的兴趣。而且尤其是发现你没有那么容易的渠道能够买到它的时候，这种兴趣膨胀得更厉害了。半年前电子墨水的电子书都还在2000人民币以上，这次6寸不带3G的Kindle 3只要139美元，折合人民币连950都不到，这个领域很快又要炸开锅了。 最后，我把Bason放到Sonatype的OSS Repository上了。Sonatype提供了一个免费的Maven仓库，你可以把自己的开源项目deploy到这个仓库中方便分发。详情您可以去看sonatype提供的文档。 The post is brought to you by lekhonee v0.7]]></description>
			<content:encoded><![CDATA[<p>先讲个<a href="http://www.douban.com/group/topic/13651452/">笑话</a>，然后回顾一下这个星期。</p>
<p>这个星期从周四晚上开始，和一位外国朋友一位台湾女士聊天。第一次经历这样的场面，忐忑得很，起初还尝试和大家说英文的，奈何我的口语和听力实在是难以支撑，最后不知不觉间大家都平滑过渡到中文了。后来我想着听力还可以通过看InfoQ上的会议录像什么的练习一下，口语就鲜有机会和场合提升了。进而又想到长期在一个小环境里做重复的事情，有些能力的退化你甚至都感觉不到，更不要说原先不具备的能力了，你甚至都不能觉察到自己缺乏某一方面的训练。</p>
<p>今天下午又和原先在IBM实习的同事聚会，正好在五角场附近转转。比起张江这种近乎边缘的生活环境，五角场实在是强太多了，更难能可贵的是如果你在附近转一转，询问一下房租，那里的生活成本实际上并不比张江高，生活质量实在是没法比。这是为什么呢？不理解。另外今天看到了<a href="http://blog.samsonis.me/2010/08/update-41-%E6%9C%89%E4%BA%9B%E4%BA%8B%E6%83%85%E6%88%91%E8%BF%98%E7%9C%9F%E4%B8%8D%E7%90%86%E8%A7%A3/">samson理解不了的沃尔玛</a>，还有传说中那一片Oracle / EMC / eBao / 百度。上海真是大，地铁走几站就是一个完全不同的世界。</p>
<p>从同事那里了解到了团购网站的一些事情，这年头，好像不做个团购网站都不好意思跟人打招呼似的。于是有了<a href="http://www.zuitu.com/">这种东西</a>，又是一窝蜂，这就是我们的互联网，你有什么意见呢。</p>
<p>昨天本想写一个对 Continuous Deployment 的理解来着，结果不料电脑过热死机了。什么原因呢，原来是浏览器里开着一个崔永元的网站，一个基于flash的网站，你懂的，CPU一直占满。这么明显的、严重的、高能耗的问题，这么多年了，Adobe一点动作都没有。另外我发现今天禁用了Adobe的Flashplayer居然Firefox的Ctrl+C/Ctrl+T等等几个快捷键突然恢复了，对于这种情况还是不说什么吧。最近听说开源的实现<a href="http://digitizor.com/2010/08/23/gnash-0-88-released-100-youtube-compatible-now/">gnash已经可以播放Youtube的视频</a>了（当然严格地说这事跟咱们没什么关系），一会写完blog我决定配置一下试试。</p>
<p>这周另一个重要的事情是Kindle 3上市了，第一次对一个手持设备产生这么强烈的兴趣。而且尤其是发现你没有那么容易的渠道能够买到它的时候，这种兴趣膨胀得更厉害了。半年前电子墨水的电子书都还在2000人民币以上，这次6寸不带3G的Kindle 3只要139美元，折合人民币连950都不到，这个领域很快又要炸开锅了。</p>
<p>最后，我把Bason放到Sonatype的<a href="https://oss.sonatype.org/content/repositories/snapshots/info/sunng/bason/"></a>OSS Repository上了。Sonatype提供了一个免费的Maven仓库，你可以把自己的开源项目deploy到这个仓库中方便分发。详情您可以去看<a href="https://docs.sonatype.org/display/repository/sonatype+oss+maven+repository+usage+guide">sonatype提供的文档</a>。</p>
<p>The post is brought to you by <a href="http://fedorahosted.org/lekhonee">lekhonee</a> v0.7</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2010/08/%e5%91%a8%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

