<?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/%e5%bd%93%e6%97%b6/feed/" rel="self" type="application/rss+xml" />
	<link>http://sunng.info/blog</link>
	<description>Homemade Clojure Geek</description>
	<lastBuildDate>Fri, 11 May 2012 02:24:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>China Clojurians Meetup #2 is calling you</title>
		<link>http://sunng.info/blog/2012/02/chinese-clojurians-meeup-2-is-calling-you/</link>
		<comments>http://sunng.info/blog/2012/02/chinese-clojurians-meeup-2-is-calling-you/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 05:03:16 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[Beijing]]></category>
		<category><![CDATA[clojure]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1164</guid>
		<description><![CDATA[大家期待已久的第二次Clojure中国用户聚会来了，这次聚会将在三月初的北京举行。感兴趣的朋友请猛击这里报名。如果你有任何关于Clojure的心得，都欢迎加入分享，不要害羞～和上次一样本人会继续抛砖继续不害羞，介绍我的RPC框架Slacker。 For English readers: If you are interested in Clojure and also living in Beijing, feel free to join our meetup. Please register here. We will see you there!]]></description>
			<content:encoded><![CDATA[<p>大家期待已久的第二次Clojure中国用户聚会来了，这次聚会将在三月初的北京举行。感兴趣的朋友请猛击<a href="http://www.diaochapai.com/survey/312738f0-cab0-49b0-9f48-18803f79ddf4" target="_blank">这里</a>报名。如果你有任何关于Clojure的心得，都欢迎加入分享，不要害羞～和上次一样本人会继续抛砖继续不害羞，介绍我的RPC框架Slacker。</p>
<p>For English readers:<br />
If you are interested in Clojure and also living in Beijing, feel free to join our meetup. Please register <a href="http://www.diaochapai.com/survey/312738f0-cab0-49b0-9f48-18803f79ddf4" target="_blank">here</a>. We will see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2012/02/chinese-clojurians-meeup-2-is-calling-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code 2011</title>
		<link>http://sunng.info/blog/2011/12/code-2011/</link>
		<comments>http://sunng.info/blog/2011/12/code-2011/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 15:21:29 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1129</guid>
		<description><![CDATA[成功人士是不写总结的，所以我来写个总结。 今年的coding从ABAP开始，这个很多人现在不知道以后也不用知道最好永远也不要知道的语言和他的平台，是一个脱胎于Pascal，在发展过程里又杂糅了SQL和C++的怪物，最后几乎变成了满屏幕关键字。再加上缺乏文档，实在是一段不堪回首的记忆。 3月份开始，我又重新开始了一个python项目叫做jip，他兼容maven，可以与virtualenv和setuptools集成，帮助你解决jython项目的java依赖，简化jython项目的发布，提高工作效率。这个小工具倾注了我不少时间，如果你某一天要和jython打交道的话，可以试试看。 今年还尝试了coffeescript，它恰到好处地消除了javascript里一些ugly的部分，大大提高了编码速度。我用它改写了网站首页的js。 6月份我又重拾起1年前的javascript库heatcanvas，和lbt05协作完善了程序。通过HTML5的Web worker API改善了渲染canvas时的用户体验，增加了对Google Maps，OpenLayers,Baidu Map以及Leaflet的支持。这个项目的介绍被顶到hackernews的首页，这是一种前所未有的感觉。 7月份开始迎来了一个重大的转折。断断续续学习了一年半的clojure，终于开始写第一个库，reddit.clj，用clojure封装reddit网站的API。通过这个入口算是真正走进了clojure的世界，七月底reddit.clj基本完成之后我开始写他的第一个应用，rageviewer。这是个clojure的web项目，借着这个契机又接触了compojure和ring。而且写rageviewer的时候恰逢clojurescript公开，一不做二不休，于是这个项目就成了一个full stack的clojure项目：前后端都是clojure。最后rageviewer部署在当时刚刚开始邀请测试的cloudfoundry上。 8月参加了在上海的cn-clojure列表第一次聚会后，我开始用clojure克隆一个已有的并不复杂的程序，当时选择了beanstalkd，一个轻量级的task queue。这个项目取名为clojalk。最后它成功地支持了beanstalkd协议的所有命令，支持了通过Write-ahead log做持久化和恢复。这个项目用到了aleph，见识了一把clojure思维下的网络编程。 另外我还帮clojure-control写了一个leiningen的插件，现在这个插件已经合并到clojure-control项目里了。clojure能有这么快的发展，leiningen作为构建工具也有很大的帮助。就好比上半年做jip时，感受到jython的小世界里就没有一个好的方案来同时解决java和python的项目管理问题，而且人们也不重视这个问题。 年底还有一个clojure RPC框架的诞生，这个项目叫做slacker。项目还没有到总结的时候，我的org file列表上还有一长串的TODO。 总得来说，我觉得今年学习clojure的这个过程很有借鉴价值。对于一个新语言新平台新生态系统，如何入门并且getting real。你可以从一个功能简单的库开始，比如包装一个网站的API，或者（对于clojure来说），包装一个已有的java的库。在完成之后，利用这个库，写一个web应用，进而去了解这个平台上的web开发。再下一步，可以去克隆一个其他平台上的项目，规模不要太大。如此循序渐进，学习的效果很不错。另外，无论做了什么，只要是有用的，就应该说出来，这不仅是自我鼓励，有时候也能找到志同道合的朋友一起参与。 最后除了clojure之外，今年还接着gnome-shell的发布和更新，接触了gnome-shell的gjs扩展开发。又是一个不堪回首的平台，也许是还没有finalize吧，没有任何文档，而且一个平台上的库连变量拼写的风格都不一样！我是不会再浪费时间了，当然，以后的这个豆瓣电台的control还是会继续跟着gnome-shell的发布一直维护的。 除了上面提到的，今年还尝了一些groovy，common-lisp，甚至octave，不管怎么说都算是一个big year了。但愿明年能把这种状态保持下去，享受这种愉悦。]]></description>
			<content:encoded><![CDATA[<p>成功人士是不写总结的，所以我来写个总结。</p>
<p>今年的coding从ABAP开始，这个很多人现在不知道以后也不用知道最好永远也不要知道的语言和他的平台，是一个脱胎于Pascal，在发展过程里又杂糅了SQL和C++的怪物，最后几乎变成了满屏幕关键字。再加上缺乏文档，实在是一段不堪回首的记忆。</p>
<p>3月份开始，我又重新开始了一个python项目叫做<a href="https://github.com/sunng87/jip" target="_blank">jip</a>，他兼容maven，可以与virtualenv和setuptools集成，帮助你解决jython项目的java依赖，简化jython项目的发布，提高工作效率。这个小工具倾注了我不少时间，如果你某一天要和jython打交道的话，可以试试看。</p>
<p>今年还尝试了coffeescript，它恰到好处地消除了javascript里一些ugly的部分，大大提高了编码速度。我用它改写了网站<a href="http://sunng.info/scripts/action.coffee" target="_blank">首页的js</a>。</p>
<p>6月份我又重拾起1年前的javascript库heatcanvas，和<a href="http://nihuajie.com/" target="_blank">lbt05</a>协作完善了程序。通过HTML5的Web worker API改善了渲染canvas时的用户体验，增加了对Google Maps，OpenLayers,Baidu Map以及Leaflet的支持。这个项目的介绍被顶到hackernews的首页，这是一种前所未有的感觉。</p>
<p>7月份开始迎来了一个重大的转折。断断续续学习了一年半的clojure，终于开始写第一个库，<a href="https://github.com/sunng87/reddit.clj" target="_blank">reddit.clj</a>，用clojure封装reddit网站的API。通过这个入口算是真正走进了clojure的世界，七月底reddit.clj基本完成之后我开始写他的第一个应用，<a href="https://github.com/sunng87/rageviewer" target="_blank">rageviewer</a>。这是个clojure的web项目，借着这个契机又接触了compojure和ring。而且写rageviewer的时候恰逢clojurescript公开，一不做二不休，于是这个项目就成了一个full stack的clojure项目：前后端都是clojure。最后rageviewer部署在当时刚刚开始邀请测试的cloudfoundry上。</p>
<p>8月参加了在上海的cn-clojure列表第一次聚会后，我开始用clojure克隆一个已有的并不复杂的程序，当时选择了beanstalkd，一个轻量级的task queue。这个项目取名为<a href="https://github.com/sunng87/clojalk" target="_blank">clojalk</a>。最后它成功地支持了beanstalkd协议的所有命令，支持了通过Write-ahead log做持久化和恢复。这个项目用到了aleph，见识了一把clojure思维下的网络编程。</p>
<p>另外我还帮clojure-control写了一个leiningen的插件，现在这个插件已经合并到clojure-control项目里了。clojure能有这么快的发展，leiningen作为构建工具也有很大的帮助。就好比上半年做jip时，感受到jython的小世界里就没有一个好的方案来同时解决java和python的项目管理问题，而且人们也不重视这个问题。</p>
<p>年底还有一个clojure RPC框架的诞生，这个项目叫做<a href="https://github.com/sunng87/slacker" target="_blank">slacker</a>。项目还没有到总结的时候，我的org file列表上还有一长串的TODO。</p>
<p>总得来说，我觉得今年学习clojure的这个过程很有借鉴价值。对于一个新语言新平台新生态系统，如何入门并且getting real。你可以从一个功能简单的库开始，比如包装一个网站的API，或者（对于clojure来说），包装一个已有的java的库。在完成之后，利用这个库，写一个web应用，进而去了解这个平台上的web开发。再下一步，可以去克隆一个其他平台上的项目，规模不要太大。如此循序渐进，学习的效果很不错。另外，无论做了什么，只要是有用的，就应该说出来，这不仅是自我鼓励，有时候也能找到志同道合的朋友一起参与。</p>
<p>最后除了clojure之外，今年还接着gnome-shell的发布和更新，接触了gnome-shell的gjs扩展开发。又是一个不堪回首的平台，也许是还没有finalize吧，没有任何文档，而且一个平台上的库连变量拼写的风格都不一样！我是不会再浪费时间了，当然，以后的这个<a href="https://extensions.gnome.org/extension/24/exaile-doubanfm-control/" target="_blank">豆瓣电台的control</a>还是会继续跟着gnome-shell的发布一直维护的。</p>
<p>除了上面提到的，今年还尝了一些groovy，common-lisp，甚至octave，不管怎么说都算是一个big year了。但愿明年能把这种状态保持下去，享受这种愉悦。</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/12/code-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>再见2011赛季</title>
		<link>http://sunng.info/blog/2011/11/%e5%86%8d%e8%a7%812011%e8%b5%9b%e5%ad%a3/</link>
		<comments>http://sunng.info/blog/2011/11/%e5%86%8d%e8%a7%812011%e8%b5%9b%e5%ad%a3/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 14:59:20 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[D60]]></category>
		<category><![CDATA[football]]></category>
		<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=1060</guid>
		<description><![CDATA[虽然还有两个月才能结束这个2011年，但是舜天队的赛季已经结束了。经过大半年的鏖战，大起大落之后，最终球队取得了史无前例的第四名，这让我们看了十多年次级联赛的球迷一时间几乎无法接受。今年赶在联赛开始前我换工作回到南京，去主场的机会也比以前上学或是在外地时多了很多，最终今年一共看了6个主场，是看球16年以来最多的一年。当然不出意外明年还要刷新这个纪录！ 周三下午请假去球场目送了一下球队。距离明年开赛还有5个月，有一些球员可能转会，有的退役，所以每到最后一轮都是伤离别的时候。只是往年，这个时候都是夕阳西下，三三两两的观众看完无关紧要的比赛鸟兽散去；而今年的最后一轮，我们还为了理论上的一个亚冠机会争取。 2009年加入球队，2011年学习回来后，杨晨是舜天队的领队兼助理教练。在比赛开始前，作为助理教练要带领队员作热身活动。 队员训练。 前面两位是去年从降级的长沙金德转投而来的刘建业和任航，刘建业现在也是队里唯一的国脚。两人转会过来以后一直是球队的主力。刘建业负责中场的拦截防守；任航是边后卫，可以胜任左右两边，攻防俱佳。 跟在后面的时候杜文辉和李炽。杜文辉上赛季结束后被国安队清洗，自由转会来到舜天本来希望通过更多的出场机会能获得国家队的席位，结果不料第四轮就重伤缺席了后面的比赛。复出后球队已经更换了教练，不过杜文辉还是舜天队里技术顶尖的球员，经历了一番周折到了赛季末他还是占据了主力的位置。后面李炽是队龄最大的队员之一，2005年从广东来到江苏，伴随球队度过了最艰难的05、06、07年。升级之后，李炽一直在主力和替补之间徘徊，不过最后总能通过努力获得首发的机会。今年李炽合同到期，据说一条微博还让很多球迷以为下赛季他会回到广东，为此，有了这么一条横幅： 中间的9号陆博飞是球队的队长，在球场上的角色有点类似皮尔洛。今年陆队已经32岁了，不过据他昨天在广播里说他的状态还可以再踢两年。20号孙可是队里唯一一个能打上主力的由舜天梯队培养出来的队员，今年孙可也经历了最重要的一个赛季，基本上完成了从替补到主力的转换，在比赛中的作用也越来越重要。 罗马尼亚人达纳拉赫，这位仁兄上半赛季经历了漫长的进球荒，如果不是在场上特别积极，恐怕早就收拾东西走人了。好在从对陕西开和之后，状态越来越好，最终打进13球，在射手榜上排到了第三。 达纳拉赫的诡异爆发得益于身边空降了一名优秀的同伴，塞尔维亚红星队的耶夫迪奇夏季转会来到球队，是球队历史上身价最高的球员（140万美元）。身价在总体上当然还是和能力成正比的，耶夫迪奇半个赛季就打进11个球，是球队在场上最重要的球员。 后防线上，两个外援塔基耶夫（左）和埃雷尔森（右）。前者是乌兹别克国脚，他的哥哥和弟弟都曾经在天津泰达踢球。后者是球队的老面孔，埃雷尔森从09年就加入球队，一直是后防线上的定海神针，今年也是联赛中的最佳后卫。 守门员邓小飞也是09年加入球队，前半赛季一直是替补，后来成为主力之后发挥一直很出色，也是球队后半赛季辉煌的功臣。 替补席上的秘鲁外援略显落寞，因为在球队没有位置明年他将是唯一一名离队的外援，所以也有球迷专门给他感谢 比赛最终没有什么悬念地结束，虽然球队没有获得亚冠的名额，不过今年的成绩已经是18年历史上最佳排名。 球迷聚在场外放完烟火，约定明年再战！]]></description>
			<content:encoded><![CDATA[<p>虽然还有两个月才能结束这个2011年，但是舜天队的赛季已经结束了。经过大半年的鏖战，大起大落之后，最终球队取得了史无前例的第四名，这让我们看了十多年次级联赛的球迷一时间几乎无法接受。今年赶在联赛开始前我换工作回到南京，去主场的机会也比以前上学或是在外地时多了很多，最终今年一共看了6个主场，是看球16年以来最多的一年。当然不出意外明年还要刷新这个纪录！</p>
<p>周三下午请假去球场目送了一下球队。距离明年开赛还有5个月，有一些球员可能转会，有的退役，所以每到最后一轮都是伤离别的时候。只是往年，这个时候都是夕阳西下，三三两两的观众看完无关紧要的比赛鸟兽散去；而今年的最后一轮，我们还为了理论上的一个亚冠机会争取。</p>
<p>2009年加入球队，2011年学习回来后，杨晨是舜天队的领队兼助理教练。在比赛开始前，作为助理教练要带领队员作热身活动。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305940310/" title="resized-DSC_0017 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6059/6305940310_4497b80191.jpg" width="500" height="335" alt="resized-DSC_0017"></a></p>
<p>队员训练。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305939050/" title="resized-DSC_0011 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6102/6305939050_01fa72bf36.jpg" width="500" height="335" alt="resized-DSC_0011"></a><br />
前面两位是去年从降级的长沙金德转投而来的刘建业和任航，刘建业现在也是队里唯一的国脚。两人转会过来以后一直是球队的主力。刘建业负责中场的拦截防守；任航是边后卫，可以胜任左右两边，攻防俱佳。<br />
跟在后面的时候杜文辉和李炽。杜文辉上赛季结束后被国安队清洗，自由转会来到舜天本来希望通过更多的出场机会能获得国家队的席位，结果不料第四轮就重伤缺席了后面的比赛。复出后球队已经更换了教练，不过杜文辉还是舜天队里技术顶尖的球员，经历了一番周折到了赛季末他还是占据了主力的位置。后面李炽是队龄最大的队员之一，2005年从广东来到江苏，伴随球队度过了最艰难的05、06、07年。升级之后，李炽一直在主力和替补之间徘徊，不过最后总能通过努力获得首发的机会。今年李炽合同到期，据说一条微博还让很多球迷以为下赛季他会回到广东，为此，有了这么一条横幅：<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305965870/" title="resized-DSC_0057 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6112/6305965870_54acc94e94.jpg" width="500" height="335" alt="resized-DSC_0057"></a></p>
<p><a href="http://www.flickr.com/photos/40741608@N08/6305417351/" title="resized-DSC_0035 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6119/6305417351_604711e9d3.jpg" width="500" height="335" alt="resized-DSC_0035"></a><br />
中间的9号陆博飞是球队的队长，在球场上的角色有点类似皮尔洛。今年陆队已经32岁了，不过据他昨天在广播里说他的状态还可以再踢两年。20号孙可是队里唯一一个能打上主力的由舜天梯队培养出来的队员，今年孙可也经历了最重要的一个赛季，基本上完成了从替补到主力的转换，在比赛中的作用也越来越重要。</p>
<p>罗马尼亚人达纳拉赫，这位仁兄上半赛季经历了漫长的进球荒，如果不是在场上特别积极，恐怕早就收拾东西走人了。好在从对陕西开和之后，状态越来越好，最终打进13球，在射手榜上排到了第三。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305413781/" title="resized-DSC_0002 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6221/6305413781_52b509b2ff.jpg" width="335" height="500" alt="resized-DSC_0002"></a></p>
<p>达纳拉赫的诡异爆发得益于身边空降了一名优秀的同伴，塞尔维亚红星队的耶夫迪奇夏季转会来到球队，是球队历史上身价最高的球员（140万美元）。身价在总体上当然还是和能力成正比的，耶夫迪奇半个赛季就打进11个球，是球队在场上最重要的球员。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305414451/" title="resized-DSC_0005 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6048/6305414451_091646b612.jpg" width="335" height="500" alt="resized-DSC_0005"></a></p>
<p>后防线上，两个外援塔基耶夫（左）和埃雷尔森（右）。前者是乌兹别克国脚，他的哥哥和弟弟都曾经在天津泰达踢球。后者是球队的老面孔，埃雷尔森从09年就加入球队，一直是后防线上的定海神针，今年也是联赛中的最佳后卫。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305445957/" title="resized-DSC_0097 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6056/6305445957_78408799d4.jpg" width="335" height="500" alt="resized-DSC_0097"></a></p>
<p>守门员邓小飞也是09年加入球队，前半赛季一直是替补，后来成为主力之后发挥一直很出色，也是球队后半赛季辉煌的功臣。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305939562/" title="resized-DSC_0013 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6120/6305939562_29166f6ca4.jpg" width="500" height="335" alt="resized-DSC_0013"></a></p>
<p><a href="http://www.flickr.com/photos/40741608@N08/6305943262/" title="resized-DSC_0050 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6056/6305943262_28b08f9c4e.jpg" width="500" height="335" alt="resized-DSC_0050"></a><br />
替补席上的秘鲁外援略显落寞，因为在球队没有位置明年他将是唯一一名离队的外援，所以也有球迷专门给他感谢<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305440759/" title="resized-DSC_0054 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6045/6305440759_dbc9cdef90.jpg" width="500" height="335" alt="resized-DSC_0054"></a></p>
<p><a href="http://www.flickr.com/photos/40741608@N08/6305441949/" title="resized-DSC_0066 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6220/6305441949_1b27db51ee.jpg" width="500" height="335" alt="resized-DSC_0066"></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/6305967488/" title="resized-DSC_0071 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6038/6305967488_acaf5953e0.jpg" width="500" height="335" alt="resized-DSC_0071"></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/6305966894/" title="resized-DSC_0067 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6054/6305966894_b9c252503e.jpg" width="500" height="335" alt="resized-DSC_0067"></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/6305444653/" title="resized-DSC_0086 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6223/6305444653_dcae78f290.jpg" width="500" height="335" alt="resized-DSC_0086"></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/6305446603/" title="resized-DSC_0099 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6220/6305446603_d947877f41.jpg" width="335" height="500" alt="resized-DSC_0099"></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/6305444149/" title="resized-DSC_0079 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6099/6305444149_d4f47a20f9.jpg" width="500" height="335" alt="resized-DSC_0079"></a><br />
比赛最终没有什么悬念地结束，虽然球队没有获得亚冠的名额，不过今年的成绩已经是18年历史上最佳排名。<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305971668/" title="resized-DSC_0105 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6049/6305971668_046a4e5e6b.jpg" width="500" height="335" alt="resized-DSC_0105"></a><br />
球迷聚在场外放完烟火，约定明年再战！<br />
<a href="http://www.flickr.com/photos/40741608@N08/6305447755/" title="resized-DSC_0127 by 贝小塔, on Flickr"><img src="http://farm7.static.flickr.com/6091/6305447755_90a5a74ebb.jpg" width="500" height="335" alt="resized-DSC_0127"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/11/%e5%86%8d%e8%a7%812011%e8%b5%9b%e5%ad%a3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Clojure Chinese User Group第一次线下聚会</title>
		<link>http://sunng.info/blog/2011/08/clojure-chinese-user-group%e7%ac%ac%e4%b8%80%e6%ac%a1%e7%ba%bf%e4%b8%8b%e8%81%9a%e4%bc%9a/</link>
		<comments>http://sunng.info/blog/2011/08/clojure-chinese-user-group%e7%ac%ac%e4%b8%80%e6%ac%a1%e7%ba%bf%e4%b8%8b%e8%81%9a%e4%bc%9a/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 15:10:46 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[clojure]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2011/08/clojure-chinese-user-group%e7%ac%ac%e4%b8%80%e6%ac%a1%e7%ba%bf%e4%b8%8b%e8%81%9a%e4%bc%9a/</guid>
		<description><![CDATA[今天下午赶到上海参加了clojure中文用户的第一次线下聚会，见到了国内clojure的的主要用户。感谢一直在努力组织这次活动的朋友，还有提供场地的朋友。 这是我关于clojure构建工具、生命周期管理的slides Clojure cnclojure-meetup View more presentations from sunng87 欢迎对clojure感兴趣的朋友加入中文用户邮件列表，希望这样的聚会活动可以长期的办下去。]]></description>
			<content:encoded><![CDATA[<p>今天下午赶到上海参加了clojure中文用户的第一次线下聚会，见到了国内clojure的的主要用户。感谢一直在努力组织这次活动的朋友，还有提供场地的朋友。</p>
<p>这是我关于clojure构建工具、生命周期管理的slides</p>
<div style="width:425px" id="__ss_8785604"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/sunng87/clojure-cnclojuremeetup" title="Clojure cnclojure-meetup" target="_blank">Clojure cnclojure-meetup</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8785604" marginwidth="0" marginheight="0" frameborder="0" height="355" scrolling="no" width="425"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/sunng87" target="_blank">sunng87</a> </div>
</p></div>
<p>欢迎对clojure感兴趣的朋友加入<a href="http://cnlojure.org/" target="_blank">中文用户邮件列表</a>，希望这样的聚会活动可以长期的办下去。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=4f567446-b5a0-8664-be07-796569d5b7c1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/08/clojure-chinese-user-group%e7%ac%ac%e4%b8%80%e6%ac%a1%e7%ba%bf%e4%b8%8b%e8%81%9a%e4%bc%9a/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>工作第二年</title>
		<link>http://sunng.info/blog/2011/07/%e5%b7%a5%e4%bd%9c%e7%ac%ac%e4%ba%8c%e5%b9%b4/</link>
		<comments>http://sunng.info/blog/2011/07/%e5%b7%a5%e4%bd%9c%e7%ac%ac%e4%ba%8c%e5%b9%b4/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 16:10:02 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2011/07/%e5%b7%a5%e4%bd%9c%e7%ac%ac%e4%ba%8c%e5%b9%b4/</guid>
		<description><![CDATA[这个周末就是我正式工作两年的日子了，第二年过得稍微有些起伏，晚上写了一点总结。但是刚才读了一下觉得不太满意，也不太合适发出来。这样，即将跨入三年级的时候，我就改改风格谈谈愿望吧。 1. 把日常工作做好，积累技术，流程，项目管理的经验 2. 业余时间拓展周边领域的知识：数据挖掘，数据分析，可视化方面 3. 希望能主导去做成一点有始有终的事情 4. 希望不久的将来能参与一个志同道合齐心协力（self-motivated）的团队一起做好一个产品]]></description>
			<content:encoded><![CDATA[<p>这个周末就是我正式工作两年的日子了，第二年过得稍微有些起伏，晚上写了一点总结。但是刚才读了一下觉得不太满意，也不太合适发出来。这样，即将跨入三年级的时候，我就改改风格谈谈愿望吧。</p>
<p>1. 把日常工作做好，积累技术，流程，项目管理的经验<br />
2. 业余时间拓展周边领域的知识：数据挖掘，数据分析，可视化方面<br />
3. 希望能主导去做成一点有始有终的事情<br />
4. 希望不久的将来能参与一个志同道合齐心协力（self-motivated）的团队一起做好一个产品</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/07/%e5%b7%a5%e4%bd%9c%e7%ac%ac%e4%ba%8c%e5%b9%b4/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>最近的一些想法</title>
		<link>http://sunng.info/blog/2011/06/%e6%9c%80%e8%bf%91%e7%9a%84%e4%b8%80%e4%ba%9b%e6%83%b3%e6%b3%95/</link>
		<comments>http://sunng.info/blog/2011/06/%e6%9c%80%e8%bf%91%e7%9a%84%e4%b8%80%e4%ba%9b%e6%83%b3%e6%b3%95/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 13:40:17 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2011/06/%e6%9c%80%e8%bf%91%e7%9a%84%e4%b8%80%e4%ba%9b%e6%83%b3%e6%b3%95/</guid>
		<description><![CDATA[最近有机会带着两个弟兄做一个老产品的技术改造。起因是测试发现产品的并发性很差，反馈回开发部门作下一个版本的改进。一查代码发现在网络通信时，原本异步的NIO，发送线程居然被强行加了wait同步等待远程返回。线程不能被释放，前端的请求被排队，吞吐量根本上不去。 这是root cause，其实进了代码里面的问题更多。于是产生了对这种feature driven development的怀疑。我曾经觉得列出 feature，做好代价估计，然后大家各自去实现的方式很理性很可控。如果宏观地看，黑盒地看，这种方式对项目管理很友好。但是最近看这种方式下开发出来的产品，问题还是很多的。当开发人员面对一个feature却缺少对产品整体架构的足够了解，他很容易倾向于用quick and dirty的方式\打补丁的方式解决问题，而忽略新feature对架构整体的挑战。长期下来，软件的功能不断演进，架构却停留在早期，维护成本越来越高，神秘的陷阱越来越多。这时，每次发布都要通过测试部门的蛮力测试，这个过程中除了修bug还要克服无数的invalid的bug。What the hell!!! 另一方面，从开发人员的角度，我认为Don&#8217;t repeat yourself是每个程序员必须牢记在心的编程行为准则。无论技术好坏，经验是否丰富，只要坚持这个原则，程序员总会趋向于做一些抽象做一些设计，我想是不会写出太让人发指的代码的。最近查看遗留代码，里面实在是太多copy/paste了。对新增的功能，甚至通过重载加copy/paste来实现。如果不能怀疑同事能力的话，只好认为这是工作态度问题了。管理者往往是不会看到这么细节的问题（其实是严重的问题）。 面对这样的系统，我最初的想法是通通推倒然后模块化。虽然考虑了工作量，可是尝试了一周还是发现老的基础根本无法剥离开，多年前的设计者根本就没有考虑模块化/解耦合的问题。有句话说得好: if you cannot split it, you cannot scale it. （对数据显而易见，对程序其实也一样）然而放弃这么大规模的久经考验的代码又不现实。这周开始又只好改变策略小步快跑，虽然不治本，但是就这个阶段来说，看到改造的效果对我们这个小组意义更大。这是在内心的洁癖和现实的局面间做的不难的取舍。 尽管困难重重，还是争取抓住这个机会能对自己有个提升。需要驱动弟兄们接受和实现自己的想法，和自个一个人闷头干是完全不同的。]]></description>
			<content:encoded><![CDATA[<p>最近有机会带着两个弟兄做一个老产品的技术改造。起因是测试发现产品的并发性很差，反馈回开发部门作下一个版本的改进。一查代码发现在网络通信时，原本异步的NIO，发送线程居然被强行加了wait同步等待远程返回。线程不能被释放，前端的请求被排队，吞吐量根本上不去。</p>
<p>这是root cause，其实进了代码里面的问题更多。于是产生了对这种feature driven development的怀疑。我曾经觉得列出 feature，做好代价估计，然后大家各自去实现的方式很理性很可控。如果宏观地看，黑盒地看，这种方式对项目管理很友好。但是最近看这种方式下开发出来的产品，问题还是很多的。当开发人员面对一个feature却缺少对产品整体架构的足够了解，他很容易倾向于用quick and dirty的方式\打补丁的方式解决问题，而忽略新feature对架构整体的挑战。长期下来，软件的功能不断演进，架构却停留在早期，维护成本越来越高，神秘的陷阱越来越多。这时，每次发布都要通过测试部门的蛮力测试，这个过程中除了修bug还要克服无数的invalid的bug。What the hell!!!</p>
<p>另一方面，从开发人员的角度，我认为Don&#8217;t repeat yourself是每个程序员必须牢记在心的编程行为准则。无论技术好坏，经验是否丰富，只要坚持这个原则，程序员总会趋向于做一些抽象做一些设计，我想是不会写出太让人发指的代码的。最近查看遗留代码，里面实在是太多copy/paste了。对新增的功能，甚至通过重载加copy/paste来实现。如果不能怀疑同事能力的话，只好认为这是工作态度问题了。管理者往往是不会看到这么细节的问题（其实是严重的问题）。</p>
<p>面对这样的系统，我最初的想法是通通推倒然后模块化。虽然考虑了工作量，可是尝试了一周还是发现老的基础根本无法剥离开，多年前的设计者根本就没有考虑模块化/解耦合的问题。有句话说得好: if you cannot split it, you cannot scale it. （对数据显而易见，对程序其实也一样）然而放弃这么大规模的久经考验的代码又不现实。这周开始又只好改变策略小步快跑，虽然不治本，但是就这个阶段来说，看到改造的效果对我们这个小组意义更大。这是在内心的洁癖和现实的局面间做的不难的取舍。</p>
<p>尽管困难重重，还是争取抓住这个机会能对自己有个提升。需要驱动弟兄们接受和实现自己的想法，和自个一个人闷头干是完全不同的。</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/06/%e6%9c%80%e8%bf%91%e7%9a%84%e4%b8%80%e4%ba%9b%e6%83%b3%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Take my coffee</title>
		<link>http://sunng.info/blog/2011/06/take-my-coffee/</link>
		<comments>http://sunng.info/blog/2011/06/take-my-coffee/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 06:10:03 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[留影]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2011/06/take-my-coffee/</guid>
		<description><![CDATA[是coffee不是Java也不是CoffeeScript。买了两个月的咖啡机，到今天才终于把磨豆机和拉花杯都制备齐了。我上周用搪瓷缸打牛奶场面真是残不忍睹。不过我发现其实设备区别不大，蒸汽的掌握还是很重要的；牛奶的选择也很重要，鉴于家里没有其他牛奶可选，这部分跳过。蒸汽喷嘴与牛奶的举例很重要，我的咖啡机上还有个橡胶嘴我今天把它彻底扔掉了，直接用金属的喷嘴即可。按照某视频介绍，蒸汽嘴距离牛奶表面3毫米。这个距离如果太大就会导致牛奶乱喷，如果直接把喷嘴伸进牛奶我还没有尝试。 打好的牛奶就是这个样子，对不住大家的是，焦点跑了。 加上我们刚喷好的咖啡 就变成了这个样子 （我晕，焦点又跑了） 这个算是cappuccino吗。。。 最后还有一点咖啡，不要浪费了，搞点艺术创作： 焦点你最后终于来了。]]></description>
			<content:encoded><![CDATA[<p>是coffee不是Java也不是CoffeeScript。买了两个月的咖啡机，到今天才终于把磨豆机和拉花杯都制备齐了。我上周用搪瓷缸打牛奶场面真是残不忍睹。不过我发现其实设备区别不大，蒸汽的掌握还是很重要的；牛奶的选择也很重要，鉴于家里没有其他牛奶可选，这部分跳过。蒸汽喷嘴与牛奶的举例很重要，我的咖啡机上还有个橡胶嘴我今天把它彻底扔掉了，直接用金属的喷嘴即可。按照某视频介绍，蒸汽嘴距离牛奶表面3毫米。这个距离如果太大就会导致牛奶乱喷，如果直接把喷嘴伸进牛奶我还没有尝试。</p>
<p>打好的牛奶就是这个样子，对不住大家的是，焦点跑了。<br />
<a href="http://www.flickr.com/photos/40741608@N08/5795245711/" title="IMG_0647 by 贝小塔, on Flickr"><img src="http://farm3.static.flickr.com/2368/5795245711_d40c2afed9.jpg" alt="IMG_0647" height="500" width="375" /></a></p>
<p>加上我们刚喷好的咖啡<br />
<a href="http://www.flickr.com/photos/40741608@N08/5795806680/" title="IMG_0650 by 贝小塔, on Flickr"><img src="http://farm4.static.flickr.com/3622/5795806680_6bcb9c4cab.jpg" alt="IMG_0650" height="375" width="500" /></a></p>
<p>就变成了这个样子<br />
<a href="http://www.flickr.com/photos/40741608@N08/5795248727/" title="IMG_0651 by 贝小塔, on Flickr"><img src="http://farm4.static.flickr.com/3647/5795248727_8d7a99fd7d.jpg" alt="IMG_0651" height="375" width="500" /></a><br />
（我晕，焦点又跑了）</p>
<p>这个算是cappuccino吗。。。</p>
<p>最后还有一点咖啡，不要浪费了，搞点艺术创作：<br />
<a href="http://www.flickr.com/photos/40741608@N08/5795810074/" title="IMG_0652 by 贝小塔, on Flickr"><img src="http://farm4.static.flickr.com/3608/5795810074_a7061ca08e.jpg" alt="IMG_0652" height="375" width="500" /></a><br />
焦点你最后终于来了。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=5c368ad7-7cee-8bbf-a47f-4c2001f11dd1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/06/take-my-coffee/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>去西安</title>
		<link>http://sunng.info/blog/2011/05/%e5%8e%bb%e8%a5%bf%e5%ae%89/</link>
		<comments>http://sunng.info/blog/2011/05/%e5%8e%bb%e8%a5%bf%e5%ae%89/#comments</comments>
		<pubDate>Tue, 03 May 2011 15:05:52 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[留影]]></category>
		<category><![CDATA[vocation]]></category>
		<category><![CDATA[Xi'an]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/2011/05/%e5%8e%bb%e8%a5%bf%e5%ae%89/</guid>
		<description><![CDATA[除了02年在北京打了几天酱油，我还没有因为打着去玩的旗号出过远门（到镇江这里就不算远门了）。今年五一痛下决心，卷入五一滚滚洪流，抱着轻度腹胀不下火线的精神，突破了我所到达的经度下限。 View Larger Map 我坐的K560是一趟开到延安老区的车，老区人民伤不起，一路上尽给到乌鲁木齐到拉萨的车让道了。晚上在上铺作原地翻滚，发现铁皮太厚根本没有信号，为了不虚此行，早晨7点就从上面跳下来，在窗边占个座位打开GPS。抬头一看已经到了开封，不对，才到开封。 http://www.openstreetmap.org/user/Sunng/traces/1001751 到了西安已经是下午三点半，找到老支书，见到身强体壮的新版寇巨头。晚上我们就在曲江新区迷了路，冥冥之中深夜里摸到了我国第一个官二代并富二代，胡亥长眠的地方。最后还好老支书迷途知返，及时拿出诺基亚表明自己身份，与二代们划清界限，我们才又绕道大雁塔回了住处。 第二天是逛城墙。逛城墙之前先说一下出发前吃的腊汁肉揪片，太好吃了，就是油有点大：我当时就指出如果是吃面条吃出高血脂脂肪肝什么的，跟那帮大鱼大肉的比起来实在是有点冤枉。扯回来，西安现存的城墙是明代以后的，保存完好，不过不大，GPS显示周长在15公里左右。从城墙的东西南北四个门上去都可以租到自行车，默认是100分钟，基本上可以很宽裕地把全程骑行下来。 http://www.openstreetmap.org/user/Sunng/traces/1001753 那天天气不太好，本来想拍拍城墙上夕阳斜照点点余辉什么的，结果相机没有被淋雨已经万幸了。况且西安经度比较低，太阳落山的时间要晚不少，执着于点点余辉的话，挑个好天先去吃一顿在上城墙吧。 主题来了，下了城墙我们直奔钟鼓楼后面的回民街。用老支书的话说，这都是硬菜，花样繁多个个顶事，瓶颈不再别处，在你的胃。去了才发现战斗力低下，我们前后去了两次，吃了羊肉馅饼、羊肉串、镜糕、桂花糕、灌汤包、小酥肉。我就不一一描述了，说得再好吃也得真正去了才能体会。去不了就看看吧： 这个是卖桂花糕的大叔，pose很专业，但是遇到不专业的人拍照。大叔我对不起你啊！ 更多照片请移步到flickr。此外您应当理解，在这种环境下，是没有心思好好拍照的。 最后感谢老支书无微不至的接待。]]></description>
			<content:encoded><![CDATA[<p>除了02年在北京打了几天酱油，我还没有因为打着去玩的旗号出过远门（到镇江这里就不算远门了）。今年五一痛下决心，卷入五一滚滚洪流，抱着轻度腹胀不下火线的精神，突破了我所到达的经度下限。<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openstreetmap.org/export/embed.html?bbox=108.378,33.958,109.39,34.539&amp;layer=mapnik" style="border: 1px solid black"></iframe><br /><small><a href="http://www.openstreetmap.org/?lat=34.2485&amp;lon=108.884&amp;zoom=10&amp;layers=M">View Larger Map</a></small></p>
<p>我坐的K560是一趟开到延安老区的车，老区人民伤不起，一路上尽给到乌鲁木齐到拉萨的车让道了。晚上在上铺作原地翻滚，发现铁皮太厚根本没有信号，为了不虚此行，早晨7点就从上面跳下来，在窗边占个座位打开GPS。抬头一看已经到了开封，不对，才到开封。<br />
<a href="http://www.openstreetmap.org/user/Sunng/traces/1001751">http://www.openstreetmap.org/user/Sunng/traces/1001751</a></p>
<p>到了西安已经是下午三点半，找到<a href="http://torrge.me/">老支书</a>，见到身强体壮的新版寇巨头。晚上我们就在曲江新区迷了路，冥冥之中深夜里摸到了我国第一个官二代并富二代，胡亥长眠的地方。最后还好老支书迷途知返，及时拿出诺基亚表明自己身份，与二代们划清界限，我们才又绕道大雁塔回了住处。<br />
<a href="http://www.flickr.com/photos/40741608@N08/5682156883/" title="DSC_0018 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5069/5682156883_de539a9bc6.jpg" alt="DSC_0018" height="335" width="500" /></a></p>
<p>第二天是逛城墙。逛城墙之前先说一下出发前吃的腊汁肉揪片，太好吃了，就是油有点大：我当时就指出如果是吃面条吃出高血脂脂肪肝什么的，跟那帮大鱼大肉的比起来实在是有点冤枉。扯回来，西安现存的城墙是明代以后的，保存完好，不过不大，GPS显示周长在15公里左右。从城墙的东西南北四个门上去都可以租到自行车，默认是100分钟，基本上可以很宽裕地把全程骑行下来。<br />
<a href="http://www.openstreetmap.org/user/Sunng/traces/1001753">http://www.openstreetmap.org/user/Sunng/traces/1001753</a><br />
<a href="http://www.flickr.com/photos/40741608@N08/5682732066/" title="DSC_0025 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5023/5682732066_9d8ea3a532.jpg" alt="DSC_0025" height="500" width="335" /></a></p>
<p>那天天气不太好，本来想拍拍城墙上夕阳斜照点点余辉什么的，结果相机没有被淋雨已经万幸了。况且西安经度比较低，太阳落山的时间要晚不少，执着于点点余辉的话，挑个好天先去吃一顿在上城墙吧。<br />
<a href="http://www.flickr.com/photos/40741608@N08/5682165935/" title="DSC_0035 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5021/5682165935_ea19227047.jpg" alt="DSC_0035" height="335" width="500" /></a></p>
<p>主题来了，下了城墙我们直奔<del datetime="2011-05-04T12:35:03+00:00">钟</del>鼓楼后面的回民街。用老支书的话说，这都是硬菜，花样繁多个个顶事，瓶颈不再别处，在你的胃。去了才发现战斗力低下，我们前后去了两次，吃了羊肉馅饼、羊肉串、镜糕、桂花糕、灌汤包、小酥肉。我就不一一描述了，说得再好吃也得真正去了才能体会。去不了就看看吧：<br />
<a href="http://www.flickr.com/photos/40741608@N08/5683869110/" title="DSC_0056 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5024/5683869110_2fe22459fe.jpg" alt="DSC_0056" height="335" width="500" /></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/5683303271/" title="DSC_0059 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5102/5683303271_4f4490d2b9.jpg" alt="DSC_0059" height="500" width="336" /></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/5683869494/" title="DSC_0058 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5190/5683869494_7ea613f211.jpg" alt="DSC_0058" height="335" width="500" /></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/5683305289/" title="DSC_0067 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5105/5683305289_f0f81393ab.jpg" alt="DSC_0067" height="335" width="500" /></a><br />
<a href="http://www.flickr.com/photos/40741608@N08/5683872666/" title="DSC_0069 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5227/5683872666_fd2a4f9c18.jpg" alt="DSC_0069" height="500" width="336" /></a><br />
这个是卖桂花糕的大叔，pose很专业，但是遇到不专业的人拍照。大叔我对不起你啊！<br />
<a href="http://www.flickr.com/photos/40741608@N08/5683307385/" title="DSC_0077 by 贝小塔, on Flickr"><img src="http://farm6.static.flickr.com/5065/5683307385_615a7883d0.jpg" alt="DSC_0077" height="500" width="336" /></a></p>
<p>更多照片请移步到<a href="http://www.flickr.com/photos/40741608@N08/">flickr</a>。此外您应当理解，在这种环境下，是没有心思好好拍照的。</p>
<p>最后感谢老支书无微不至的接待。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=20f8d469-f3be-8f4a-8906-0f0eccb11b3b" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/05/%e5%8e%bb%e8%a5%bf%e5%ae%89/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>&quot;Update ${new Random().nextInt()}&quot;</title>
		<link>http://sunng.info/blog/2011/03/update-new-random-nextint/</link>
		<comments>http://sunng.info/blog/2011/03/update-new-random-nextint/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 13:06:58 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Shanghai]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=809</guid>
		<description><![CDATA[多少年没写Update体了，看Samson的Update Series都到了53了，咱就只好来这么个标题了。 头等大事，officially announce 一下艰难决定，经过慎重考虑我决定离开上海了。从09年3月第一次到上海到张江，现在整好两年的时间。一方面是获得了大城市的工作机会，另一方面也被在这里边缘的生活闹够了。于是这个悲喜交加的本命年春天决定告老还乡卸甲归田，过没有追求没有房东的土著生活。 雁过留声踏雪留痕，我在晨晖路1001号半年最大的影响就是让这里又多了两个kindle用户，其他嘛，惭愧了。。。 要说在上海有什么舍不得的话，就是这里的朋友了，同学同事真不少。有一起干活的，有一起吃饭的，有一起听歌的，各种都有，回了南京就没有这种条件了。不过其实大家在上海很忙一个月也聚不上一回，这么想的话没什么区别，赶上什么RubyConf之类的就又过来了，给沪宁线作贡献是咱的宿命。（话说今年的这些会什么时候开啊，我夏天的衣服还没有攒够呢） 新赛季中超3号就揭幕了，今年舜天队的比赛可能连电视转播都没有了，你说不回南京能行吗！！能行吗！！从96年开始，今年就是第16年了。 本来想说最近一两个月荒废得厉害，我回家以后要怎么怎么的，在这还是改为此处省去多少多少字吧。。。]]></description>
			<content:encoded><![CDATA[<p>多少年没写Update体了，看Samson的Update Series都到了53了，咱就只好来这么个标题了。</p>
<ol>
<li>头等大事，officially announce 一下艰难决定，经过慎重考虑我决定离开上海了。从09年3月第一次到上海到张江，现在整好两年的时间。一方面是获得了大城市的工作机会，另一方面也被在这里边缘的生活闹够了。于是这个悲喜交加的本命年春天决定告老还乡卸甲归田，过没有追求没有房东的土著生活。</li>
<li>雁过留声踏雪留痕，我在晨晖路1001号半年最大的影响就是让这里又多了两个kindle用户，其他嘛，惭愧了。。。</li>
<li>要说在上海有什么舍不得的话，就是这里的朋友了，同学同事真不少。有一起干活的，有一起吃饭的，有一起听歌的，各种都有，回了南京就没有这种条件了。不过其实大家在上海很忙一个月也聚不上一回，这么想的话没什么区别，赶上什么RubyConf之类的就又过来了，给沪宁线作贡献是咱的宿命。（话说今年的这些会什么时候开啊，我夏天的衣服还没有攒够呢）</li>
<li>新赛季中超3号就揭幕了，今年舜天队的比赛可能连电视转播都没有了，你说不回南京能行吗！！能行吗！！从96年开始，今年就是第16年了。</li>
<li>本来想说最近一两个月荒废得厉害，我回家以后要怎么怎么的，在这还是改为此处省去多少多少字吧。。。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/03/update-new-random-nextint/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Continuous Learning</title>
		<link>http://sunng.info/blog/2011/03/continuous-learning/</link>
		<comments>http://sunng.info/blog/2011/03/continuous-learning/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 14:36:28 +0000</pubDate>
		<dc:creator>sunng</dc:creator>
				<category><![CDATA[当时]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://sunng.info/blog/?p=801</guid>
		<description><![CDATA[一直想总结一下学习的方法，今天看到Programmer的97件事里，作者叫做Clint Shank的Continuous Learning这篇，感觉比较靠谱，跟大伙分享一下。 阅读书籍、杂志、博客、Twitter和各种网站。如果希望深入了解一个主题，可以加入一些邮件列表。这个比较基本，程序员需要有开放的、稳定的、最新的信息渠道。除了上面提的方式，我比较推荐dzone和reddit上的相关频道，这两个书签网站可以帮你过滤排序每天技术圈的热点和新闻。 如果你确实希望沉浸于一种技术，那么你需要着手写一些代码。这个不说了，如果还认为自己是Programmer的话，写一些代码是最最基本的事情。要了解一种技术，写一些代码，跑一个demo是最最基本的。 尽可能和一位导师，或者一个顶尖的家伙一起工作。尽管从任何人身上学到东西，但是你可以从一个更聪明更有经验的人身上学到完整的（a whole lot more）。这个体会比较深，刚搬进工作室的时候坐在@samson959旁边，虽然只有短短几个月，但是跟着入了门，少走了很多很多弯路。再后来在盛大也从老大身上学到不少东西。这样的机会并不是在哪里都有的。 找一位虚拟导师。这是在上一条无法满足的情况下。在Web上找一位自己喜欢的作家，订阅他们的blog。这条比较有意思，你可以拜一位网上的大牛为师，关注他的博客、Twitter以及Github，关注大牛关注的事情、做的事情。这点很有帮助，最早做前端的时候我关注过当时还在雅虎的陈贤安，后来在盛大关注过新浪的杨卫华，以前他们的博客、Twitter质量不错而且经常更新。不过现在前者转行做了苹果开发的Freelancer，后者也许是太忙了，不好找了。其实就是这样，真正牛的人几乎是没有时间做这样的分享的。技术圈毕竟不是娱乐圈，整天在twitter上大放厥词从早说到晚的往往不是你需要关注的，这需要你有一些辨别能力。 去了解你使用的框架和库。了解他们的工作原理可以帮助你更好的使用他们。如果是开源的，你可以用debugger单步跟所有的代码了解内部的工作原理，你可以看到由优秀的程序员编写和审察的代码。这也是很重要的，好在现在有了github让这变得更简单。我自己曾经花过一些时间在redis上，用gdb单步跟踪来浏览程序确实是学习的好方法，尤其是对于向C这样本身程序结构并非非常清晰的项目，通过调试器来了解程序的组织事半功倍，远远高效于单纯的阅读。 无论合适遇到问题或修正了一个bug，尽可能去了解其后真正发生的事情。可以通过Google去了解网上已经存在的相似问题。这又是很重要的一点，现在除了Google，你还可以直接到StackOverflow上去搜索、提问和解答。 分享一些东西本身就是最好的学习方法。当有人将要听你介绍或问你问题时，你会拥有很大的动力去学习。在盛大的时候，每个部门定期会有分享会，在其他很多公司肯定也有这样的活动。我也曾经去做过这样的分享，真要说收获不是这种活动搞的多成功，而是之前准备的阶段。 参加一个学习小组、本地用户组。这个我没有经验，不过各地的LUG都很活跃，一定是很多人乐在其中的。 参加会议，或者看会议录像、slides。这也很有趣，我参加的第一个活动是08年北京的Perl&#038;PostgreSQL会议，后来在上海参加过KongfuRails，RubyConf还有Apache Road Show。不过会议上能获得什么特别有价值的东西也有限，主要还是开阔眼界，了解社区的动态，了解同行的关注点。我们还可以从InfoQ上看到SpringOne, QCon, StrangeLoop等等会议的视频，既可以了解一些技术，又可以锻炼一下听力。能够收录在InfoQ里的Session质量应该都还是不错的，除此以外，还可以通过Slideshare搜索一些特定主题的slides。 收听podcast。 使用静态检查工具提高你的代码质量。 遵循Pragmatic Programmers中的建议，并每年学习一门新的语言。至少是一种新的技术或工具。这种发散可以给你新的想法，运用在你现在的技术栈中。如果你今年还没有什么想法的话，推荐clojure或者nodejs，一个是函数式一个是全异步。（如果你已经都精通了别说我老土啊） 不要局限在技术中，了解一些你工作的领域知识，可以更好地了解需求，解决业务问题。技术的方向很多，SAP在这方面是个典型。SAP的优势不是基础技术，了解行业了解业务是SAP成功的最重要因素。这点在SAP圈子里容易有更深刻的体会，大部分技术人员更希望能够直接面对客户，了解客户的真实业务，并以此为提升自身价值的途径。 回学校返工。不用说了，从工作岗位回到学校的，一般都有明确的目标。系统地深入地学习还是得在心无旁骛的校园里。]]></description>
			<content:encoded><![CDATA[<p>一直想总结一下学习的方法，今天看到Programmer的97件事里，作者叫做Clint Shank的Continuous Learning这篇，感觉比较靠谱，跟大伙分享一下。</p>
<p><strong>阅读书籍、杂志、博客、Twitter和各种网站。如果希望深入了解一个主题，可以加入一些邮件列表。</strong>这个比较基本，程序员需要有开放的、稳定的、最新的信息渠道。除了上面提的方式，我比较推荐dzone和reddit上的相关频道，这两个书签网站可以帮你过滤排序每天技术圈的热点和新闻。</p>
<p><strong>如果你确实希望沉浸于一种技术，那么你需要着手写一些代码。</strong>这个不说了，如果还认为自己是Programmer的话，写一些代码是最最基本的事情。要了解一种技术，写一些代码，跑一个demo是最最基本的。</p>
<p><strong>尽可能和一位导师，或者一个顶尖的家伙一起工作。尽管从任何人身上学到东西，但是你可以从一个更聪明更有经验的人身上学到完整的（a whole lot more）。</strong>这个体会比较深，刚搬进工作室的时候坐在@samson959旁边，虽然只有短短几个月，但是跟着入了门，少走了很多很多弯路。再后来在盛大也从老大身上学到不少东西。这样的机会并不是在哪里都有的。</p>
<p><strong>找一位虚拟导师。这是在上一条无法满足的情况下。在Web上找一位自己喜欢的作家，订阅他们的blog。</strong>这条比较有意思，你可以拜一位网上的大牛为师，关注他的博客、Twitter以及Github，关注大牛关注的事情、做的事情。这点很有帮助，最早做前端的时候我关注过当时还在雅虎的陈贤安，后来在盛大关注过新浪的杨卫华，以前他们的博客、Twitter质量不错而且经常更新。不过现在前者转行做了苹果开发的Freelancer，后者也许是太忙了，不好找了。其实就是这样，真正牛的人几乎是没有时间做这样的分享的。技术圈毕竟不是娱乐圈，整天在twitter上大放厥词从早说到晚的往往不是你需要关注的，这需要你有一些辨别能力。</p>
<p><strong>去了解你使用的框架和库。了解他们的工作原理可以帮助你更好的使用他们。如果是开源的，你可以用debugger单步跟所有的代码了解内部的工作原理，你可以看到由优秀的程序员编写和审察的代码。</strong>这也是很重要的，好在现在有了github让这变得更简单。我自己曾经花过一些时间在redis上，用gdb单步跟踪来浏览程序确实是学习的好方法，尤其是对于向C这样本身程序结构并非非常清晰的项目，通过调试器来了解程序的组织事半功倍，远远高效于单纯的阅读。</p>
<p><strong>无论合适遇到问题或修正了一个bug，尽可能去了解其后真正发生的事情。可以通过Google去了解网上已经存在的相似问题。</strong>这又是很重要的一点，现在除了Google，你还可以直接到StackOverflow上去搜索、提问和解答。</p>
<p><strong>分享一些东西本身就是最好的学习方法。当有人将要听你介绍或问你问题时，你会拥有很大的动力去学习。</strong>在盛大的时候，每个部门定期会有分享会，在其他很多公司肯定也有这样的活动。我也曾经去做过这样的分享，真要说收获不是这种活动搞的多成功，而是之前准备的阶段。</p>
<p><strong>参加一个学习小组、本地用户组。</strong>这个我没有经验，不过各地的LUG都很活跃，一定是很多人乐在其中的。</p>
<p><strong>参加会议，或者看会议录像、slides。</strong>这也很有趣，我参加的第一个活动是08年北京的Perl&#038;PostgreSQL会议，后来在上海参加过KongfuRails，RubyConf还有Apache Road Show。不过会议上能获得什么特别有价值的东西也有限，主要还是开阔眼界，了解社区的动态，了解同行的关注点。我们还可以从InfoQ上看到SpringOne, QCon, StrangeLoop等等会议的视频，既可以了解一些技术，又可以锻炼一下听力。能够收录在InfoQ里的Session质量应该都还是不错的，除此以外，还可以通过Slideshare搜索一些特定主题的slides。</p>
<p><strong>收听podcast。</strong></p>
<p><strong>使用静态检查工具提高你的代码质量。</strong></p>
<p><strong>遵循Pragmatic Programmers中的建议，并每年学习一门新的语言。至少是一种新的技术或工具。这种发散可以给你新的想法，运用在你现在的技术栈中。</strong>如果你今年还没有什么想法的话，推荐clojure或者nodejs，一个是函数式一个是全异步。（如果你已经都精通了别说我老土啊）</p>
<p><strong>不要局限在技术中，了解一些你工作的领域知识，可以更好地了解需求，解决业务问题。</strong>技术的方向很多，SAP在这方面是个典型。SAP的优势不是基础技术，了解行业了解业务是SAP成功的最重要因素。这点在SAP圈子里容易有更深刻的体会，大部分技术人员更希望能够直接面对客户，了解客户的真实业务，并以此为提升自身价值的途径。</p>
<p><strong>回学校返工。</strong>不用说了，从工作岗位回到学校的，一般都有明确的目标。系统地深入地学习还是得在心无旁骛的校园里。</p>
]]></content:encoded>
			<wfw:commentRss>http://sunng.info/blog/2011/03/continuous-learning/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

