﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Read Sean-随笔分类-The Other Side</title><link>http://www.blogjava.net/sean/category/39.html</link><description>Read me, read Sean.</description><language>zh-cn</language><lastBuildDate>Sun, 02 Jan 2011 15:03:01 GMT</lastBuildDate><pubDate>Sun, 02 Jan 2011 15:03:01 GMT</pubDate><ttl>60</ttl><item><title>2011年要做的事</title><link>http://www.blogjava.net/sean/archive/2011/01/02/342169.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 02 Jan 2011 12:08:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2011/01/02/342169.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/342169.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2011/01/02/342169.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/342169.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/342169.html</trackback:ping><description><![CDATA[<br/ /><p>为克服拖延症，在此列出2011年要做的事，给未来的自己监督：</p><p>1- 继续去年未完成的产品改造，换一种更稳妥的方式推进；<br/ />2- 积极参与社区交流活动，不论线上还是线下；<br/ />3- 深入学习Scala，辅以Clojure和Haskell；<br/ />4- 系统学习PostgreSQL；<br/ />5- 全面使用Emacs；<br/ />6- 开始读Linux源码；<br/ />7- 重读《红楼梦》；<br/ />8- 至少读两本英文原著；<br/ />9- 带儿子回一趟老家。<br/ /></p><p>就这样。</p><img src ="http://www.blogjava.net/sean/aggbug/342169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2011-01-02 20:08 <a href="http://www.blogjava.net/sean/archive/2011/01/02/342169.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从阅读英文小说原著谈突破</title><link>http://www.blogjava.net/sean/archive/2011/01/01/342128.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sat, 01 Jan 2011 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2011/01/01/342128.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/342128.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2011/01/01/342128.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/342128.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/342128.html</trackback:ping><description><![CDATA[<br /><p>回想大学时代，我第一本从头到尾读完的英文小说是Arthur Hailey的《Airport》，是在大学门口的外研书店买的。当时的想法很单纯：要证明自己的英文阅读水准不差，光靠新闻、应用文和专业文献是不够的，小说占到native speaker们日常阅读相当大的比重。如果能够啃下一本真正原汁原味的长篇小说，至少说明他们读什么，我也能读、能欣赏。最终花了一个礼拜，利用课余时间读完了。</p><p>这个看似不起眼的"成就"，对我自信心的建立至关重要。没有这个打底，后面恐怕也不会在知识"原始积累"的时候能有心有力去大量地阅读原版或影印版的书籍，并且往往能比别人更准确地把握原著要表达的意思。这个阅读小说原著的习惯一直延续到今天，量虽然不大，一直都有意识地在进行，比如前几年的《The Da Vinci Code》，这几年的《Animal Farm》、《1984》、《Twilight》等等。</p><p>就个人成长而言，光靠别人给你压力，给你找突破点是不够的。经验告诉我，影响自己最深远的，通常是那些自己给自己找的突破点。你能走多远，成为什么样的人，很大程度上取决于你自己。</p><img src ="http://www.blogjava.net/sean/aggbug/342128.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2011-01-01 21:09 <a href="http://www.blogjava.net/sean/archive/2011/01/01/342128.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2010年12月22日 晴 命中注定的架构师</title><link>http://www.blogjava.net/sean/archive/2010/12/22/341353.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 22 Dec 2010 15:22:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2010/12/22/341353.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/341353.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2010/12/22/341353.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/341353.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/341353.html</trackback:ping><description><![CDATA[<p>2010年即将过去，在这一年里，我做了什么？找到自我了吗？我问自己。</p>
<p>整个2010年，我大概有这么几件事值得一提：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;首先，我去年向公司争取的产品改造计划，执行到中段，可耻地失败了；<br />
&nbsp;&nbsp;&nbsp;&nbsp;其次，我有幸参与翻译了两本外版IT书：<a href="http://book.douban.com/subject/5377415/" target="_blank">《Scala编程》</a>和<a href="http://book.douban.com/subject/5386171/" target="_blank">《开源SOA》</a>，目前两本书均已上架；<br />
&nbsp;&nbsp;&nbsp;&nbsp;再次，我下了很大的决心转行做出版，最终也可耻地失败了。</p>
<p>不过，我找到自我了吗？我想是的：命中注定做架构师。</p>
<p>这两天在读周国平的《人生哲思录》：</p>
<p>&#8220;古希腊哲人赫拉克利特说：&#8216;一个人的性格就是他的命运。&#8217;这句话包含两层意思：一，对于每个人来说，性格是与生俱来、伴随终身的，永远不可摆脱，如同不可摆脱命运一样；二，性格决定了一个人在此生此世的命运&#8230;&#8230;赫拉克利特的名言的真正含义是：一个人应该认清自己的天性，过最适合于他的天性的生活，而对他而言这就是最好的生活&#8230;&#8230;为别人对你的好感、承认、报偿做的事，如果别人不承认，便等于零。为自己的良心、才能、生命做的事，即使没有一个人承认，也丝毫无损。&#8221;</p>
<p>我想，这就是为什么人在抉择时要追随自己的内心和天性，因为这才是对自己最合理的安排。</p>
<img src ="http://www.blogjava.net/sean/aggbug/341353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2010-12-22 23:22 <a href="http://www.blogjava.net/sean/archive/2010/12/22/341353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2010年1月31日 阵雨</title><link>http://www.blogjava.net/sean/archive/2010/01/31/311418.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 31 Jan 2010 13:25:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2010/01/31/311418.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/311418.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2010/01/31/311418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/311418.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/311418.html</trackback:ping><description><![CDATA[<br /><em>这篇日记写给自己，发散式+意识流，赶时间的朋友请放心略过。</em><br /><br />进入2010年，头1个月，到今天是最后1天，家里的事暂不去提，这个月是我参加工作以来感觉最累的1个月。<br /><br />加入现在的这支创业团队4年，我们的产品，从无到有(1.0)，到现在的2.x，倾注了很多人的心血，我们的团队，在后面的这2年多，也经历和见证了很多伤感的离别，"元老"级的人物，已经屈指可数。万事不能尽如人意，能有今天的结果，也许应该庆幸而不是哀伤，至少产品还在，至少团队还在运转。但未来会如何，谁也无法预知，我也不敢多想，我只知道，工作带给我的幸福感，正在不停的创造新低。<br /><br />创业型团队的一大特点，就是一个人要同时承担多个角色的职能，而且比其他团队更容易受到外部环境的冲击。为了生存，有时不得不做一些不相关的项目、不相关的事，活下来比什么都重要，你东西再好，技术再牛逼，没人要就是没人要，没资源就是没资源，哭爹喊娘，没人理你。<br /><br />去年年底，我们的老板带着我们一起，并入了现在这家集团公司，一个比我们大得多的团队。按说这应该是好事，我们也不必像原来那样担惊受怕，但事实证明这个想法非常天真，外部环境的冲击比以前更加真实的发生在我们身边，无时无刻不在提醒我们它的存在。以前我们卖力做事，一狠心一咬牙一跺脚，创业嘛，为整个团队付出，咱认了；现在我们卖力做事，不知道是在为谁付出：累的是你自己，收获的是别人。从创业的角度来说，我们失败了，我们为创业比别人多付出的那些汗水，除了回忆，现在看，也只有回忆了。对我们这个小团队来说，情形依然是：为了生存，有时不得不做一些不相关的项目、不相关的事，活下来比什么都重要，你东西再好，技术再牛逼，没人要就是没人要，没资源就是没资源，哭爹喊娘，没人理你。<br /><br />有人说，其实哪里都一样。这样想可能会让人更快乐，不那么痛苦，但我很清楚，这是精神毒药，如果事实果真如此，那就不仅仅是令人伤感苦闷，而是彻彻底底的让人绝望了。<br /><br />物以类聚，人以群分。我的群在哪儿？<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/311418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2010-01-31 21:25 <a href="http://www.blogjava.net/sean/archive/2010/01/31/311418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>青花瓷</title><link>http://www.blogjava.net/sean/archive/2009/10/18/298739.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 18 Oct 2009 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/10/18/298739.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/298739.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/10/18/298739.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/298739.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/298739.html</trackback:ping><description><![CDATA[<br />
前两天看到网友关于铁观音泡法的留言，接受建议，收了只手绘青花瓷盖碗，和一只公杯：<br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/sean/DSC_3349cs.JPG" width="640" height="320" alt="" /><br />
<br />
家里还有些去年的秋茶存货，开始练习用盖碗，右手的拇指、食指和中指被烫到不行，据说烫出一层老茧就好了，我觉得应该不至于那么夸张，慢慢来，挺好玩的。<br />
<br />

<img src ="http://www.blogjava.net/sean/aggbug/298739.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-10-18 11:57 <a href="http://www.blogjava.net/sean/archive/2009/10/18/298739.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[全家福] 四只紫砂 一字排开</title><link>http://www.blogjava.net/sean/archive/2009/08/30/293169.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 30 Aug 2009 03:58:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/08/30/293169.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/293169.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/08/30/293169.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/293169.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/293169.html</trackback:ping><description><![CDATA[<br />
<p>这个周末又去收了一只紫砂，这下除了龙井，我平常喝的所有品种的茶，都有了各自专用的壶。贴个"全家福"：</p>
<p><img src="http://www.blogjava.net/images/blogjava_net/sean/DSC_3158csp.JPG" border="0" alt="" /><br />
</p>
<p>从左到右依次为铁观音、高山乌龙、熟普洱和生普洱。目前只有第一只养成了，其余的三只还得多花些时间和心思呢。</p>
<p><br />
</p>
<img src ="http://www.blogjava.net/sean/aggbug/293169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-08-30 11:58 <a href="http://www.blogjava.net/sean/archive/2009/08/30/293169.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>当热脸遇上冷屁股</title><link>http://www.blogjava.net/sean/archive/2009/07/06/285706.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Mon, 06 Jul 2009 13:15:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/07/06/285706.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/285706.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/07/06/285706.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/285706.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/285706.html</trackback:ping><description><![CDATA[<br />
我曾经一度是Twitter重度用户，直到上周五，@laogao这个账号，被Twitter无端禁言了。被禁时，我follow 133人，被241人follow，共2260历史推。<br />
<br />
Follow我的推友们，以及我经常@的兄弟姐妹，抱歉了，尤其那些被我"忽悠"上Twitter的朋友。当你访问<a title="http://twitter.com/laogao" target="_blank" href="http://twitter.com/laogao">http://twitter.com/laogao</a>时，暂时只能看到"该用户被suspend"的信息。这并非是因为我是一个spammer，或者有什么所谓的"strange behaviour"，至于被封的具体原因，直到今天，Twitter仍没有给予正面答复。<br />
<br />
作为一个喜欢Twitter的简单、直接的人，我从来都很认真的对待我的每一推，尊重他人的意见，善待每个@我的朋友，也在现实世界的朋友圈中推荐大家使用这个服务。但从今天开始，我将不再向人推荐Twitter，也无法确定什么时候@laogao这个账号能够被reinstate或者再次被suspend，各位关注我的朋友，请移步<a target="_blank" title="https://friendfeed.com/laogao" href="https://friendfeed.com/laogao">https://friendfeed.com/laogao</a>。<br />
<br />
对那些仍然天真的以为Twitter封号肯定是用户自己的问题的朋友，我很理解你们的想法，当初我看到别人被封时，也是这么想的。<br />
<br />
各位推友保重！<br />
<br />
<br />
<img src ="http://www.blogjava.net/sean/aggbug/285706.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-07-06 21:15 <a href="http://www.blogjava.net/sean/archive/2009/07/06/285706.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的第二只紫砂</title><link>http://www.blogjava.net/sean/archive/2009/06/08/280755.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Mon, 08 Jun 2009 14:07:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/06/08/280755.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/280755.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/06/08/280755.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/280755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/280755.html</trackback:ping><description><![CDATA[<br />
周末去败了只全新的紫砂回来，宜兴红泥的，专门用来泡台湾高山乌龙。用之前，当然少不了开壶的过程，虽然比较耗时，但也挺有趣，在这里做个记录。<br />
<br />
首先将新买的紫砂壶用清水洗净，浸泡一整天，其间换水2~3次，去除掉残余的泥土、灰尘等。然后放入锅内，加入清水煮上1个小时，继续消毒。<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/sean/oolong_001.jpg" height="360" width="480" /><br />
<br />
接下来，放置一边，冷却后，取老豆腐半块，放入清水中，再煮1小时，去火气。<br />
<img src="http://www.blogjava.net/images/blogjava_net/sean/oolong_002.jpg" alt="" border="0" /><br />
<br />
第三步，用清水洗净，根据今后用这个紫砂壶泡什么类型的茶，选用单次用量的2~4倍茶叶，加清水，煮沸后，待茶汁完全浸出，捞起茶叶残渣，继续用茶汤煮上1个小时。<br />
<img src="http://www.blogjava.net/images/blogjava_net/sean/oolong_003.jpg" alt="" border="0" /><br />
<br />
出锅。<br />
<img src="http://www.blogjava.net/images/blogjava_net/sean/oolong_004.jpg" alt="" border="0" /><br />
<br />
这是成品，可以正式开始享用了：<br />
<img src="http://www.blogjava.net/images/blogjava_net/sean/oolong_005.jpg" alt="" border="0" /><br />
<br />
现在开始，从头养我的第二只紫砂，细细体味那份安静和从容，让每日忙碌和疲惫的身心，有一个休息和平复的空间。<br />
<br />
<img src ="http://www.blogjava.net/sean/aggbug/280755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-06-08 22:07 <a href="http://www.blogjava.net/sean/archive/2009/06/08/280755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>"已"是如何变成"å·²"的？小记UTF-8编码</title><link>http://www.blogjava.net/sean/archive/2009/05/05/269045.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 05 May 2009 11:24:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/05/05/269045.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/269045.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/05/05/269045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/269045.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/269045.html</trackback:ping><description><![CDATA[
		<br />本来是手写的一张草稿，清理台面的时候，正要扔，发现内容还有点意思，干脆吧，开个随笔记录一下，备忘，说不定还能帮到别人。<br /><br />在我们日常生活和工作中，尤其浏览含有中文的网站，时常会为乱码问题犯愁，一些天生Unicode支持不到位的编程语言和软件更是加重了这个现象。虽说已经是2009年了，我们时不时还是能碰到一些明显脑残的code，吐出一堆乱码，不论你用选什么字符集，似乎都无法还原最初的中文。比如"å·²"，或者同一个页面，无法用同一个字符集显示，任何一种字符都至少有一部分显示不正确，不是这儿就是那儿。<br /><br />首先科普一下UTF-8。UTF-8是Unicode所有字符编码实现中，应用范围最广的一个，最大的特点是兼容ASCII码，在此基础上，通过1..4个byte来表示每一个Unicode字符。它是怎么做到的？其实很简单，看首个byte：<br />00000000 ~ 01111111 : 0~127 (ASCII, 单个byte) 表示Unicode范围\u0000 ~ \u007F<br />11000000 ~ 11011111 : (2个1打头，所以2个byte) 表示Unicode范围\u0080 ~ \u07FF<br />11100000 ~ 11101111 : (3个1打头，所以3个byte) 表示Unicode范围\u0800 ~ \uFFFF<br />11110000 ~ 11110111 : (4个1打头，所以4个byte) 表示Unicode范围\u10000 ~ \u10FFFF<br /><br />除了单个byte这个case，其他情况下，后续的byte均以10打头。这些打头的bit：10、110、1110、11110，都不作为具体编码的一部分参与真正Unicode编码的计算。所以1..4个byte，其有效位数分别为：7、11、16、21，因此才有了\u007F、\u07FF、\uFFFF这样的临界值，且4个byte的空间还有富余。<br /><br />有了这个基础知识，我们就来具体看看这个"已"字，是怎么被UTF-8表示的，以及为什么处理不当的代码会最终输出"å·²"。<br /><br />"已"字，用Unicode表示法，是\u5DF2，按照2个byte拆开成二进制表示：<br />01011101 11110010<br />如果用UTF-8编码，采用1110???? 10?????? 10??????这个格式，?号部分填入上述01011101 11110010，得到<br />11100101 10110111 10110010 这样3个byte。<br /><br />好了，这个时候脑残代码出现，假如它不认识UTF-8，那么他会看到这样3个前后没有关联的byte，在西欧Latin-1字符集(即ISO 8859-1)中，它们分别表示"å"、"·"、"²"这3个字符。如果把它们分别再按照UTF-8编码，就成了：<br />11000011 10100101 11000010 10110111 11000010 10110010<br />完美的UTF-8编码，只不过，这完全是假象，只能通过非常规手段才能恢复它原本的样子。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/269045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-05-05 19:24 <a href="http://www.blogjava.net/sean/archive/2009/05/05/269045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QCon 2009 北京之行</title><link>http://www.blogjava.net/sean/archive/2009/04/17/266060.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Thu, 16 Apr 2009 16:36:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/04/17/266060.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/266060.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/04/17/266060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/266060.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/266060.html</trackback:ping><description><![CDATA[
		<br />上周在北京参加QCon大会，回来以后一直没有成块的时间，把一些之前只是通过Twitter分享出来的信息汇总整理出来。已经有不少朋友都在各自的博客上记录了大会感闻，所以我还是抓紧些吧，不然真要成没有营养的废话了。<br /><br />QCon这次是首次进入中国，我有幸得以抽身参加。大会为期三天，由InfoQ中文站组织策划，包括 <a target="_blank" title="http://twitter.com/taiwen" href="http://twitter.com/taiwen">@taiwen</a> 在内InfoQ中文站只有3个人，这是我之前没有想到的，感谢他们和志愿者的辛勤劳动，使得这次大会得以顺利举行。大会嘉宾包括了国内外许多大名鼎鼎的牛人，比如前TSS和后来InfoQ的主创Floyd Marinescu、ThoughtWorks首席科学家Martin Fowler、Spring之父Rod Johnson、eBay架构师Randy Shoup、《硝烟中的Scrum和XP》作者Henrik Kniberg、《大道至简》作者周爱民、支付宝数据库架构师冯大辉 <a target="_blank" title="http://twitter.com/Fenng" href="http://twitter.com/Fenng">@Fenng</a> 等。<br /><br />大会第一天，上午和下午都安排了Martin Fowler的session，分别是DSL和Ruby，虽然内容算不上特别新，但幻灯片准备很到位，而大师就是大师，思路清晰，言简意赅，尺度分寸拿捏的很好。唯一感觉可能是大家都比较含蓄，或者热身不够，沟通和对话的环节显得不是很活跃，除了买书签名的，到后面Dojo的创始人Dylan Schiemann讲Open Web，气氛就开始暖和一些了。至于Amazon的Jeff Barr，不少朋友也都说了，基本上就是来打广告的，可惜QCon北京的赞助商中，没有发现Amazon。晚上的沙龙，国际讲师唱主角，分享关于软件开发趋势的见解。<br /><br />大会第二天，可能是最精彩的一天，尤其是下午 <a target="_blank" title="http://twitter.com/Fenng" href="http://twitter.com/Fenng">@Fenng</a> 主持的网站架构这个Track。上午的大戏是Rod Johnson，不过也许是大家期望比较高，反倒是没觉出特别出彩的地方，Rod特别强调Simplicity和Lean，同时通批了一顿Java EE，不过把Tomcat作为simplicity和lean的代表举例，似乎大家都不是特别买账。后来才知道原来Tomcat 90%的commit都来自SpringSource，而稍后SpringSource会在此基础上推出功能更丰富的Spring tc server，以及(我猜)Spring 3.0。接下来eBay的Randy Shoup，带来了一场颇为精彩的演讲。下午来自支付宝、豆瓣网、网易有道和优酷网的架构师们共同创造了本次QCon大会最受欢迎的半天，尤其是豆瓣的 <a target="_blank" title="http://twitter.com/hongqn" href="http://twitter.com/hongqn">@hongqn</a> ，内容相当务实、精彩、有货。说到这，插句题外话，如果没记错， <a target="_blank" title="http://twitter.com/hongqn" href="http://twitter.com/hongqn">@hongqn</a> 是这次大会中唯一一位使用Mac的国内讲师，国际讲师用Mac的好像也只有Martin Fowler (如果说的不对还请同学们指正)。到了这个时候，国际讲师们渐渐淡出，场子交给了国内的讲师们，会场气氛也更加热闹和随意起来，包括晚上的沙龙。<br /><br />大会第三天，从日程上看，并没有特别重量级的session，似乎除了云还是云，不过如果因此选择不参加的话，可能就会错过了两场很不错的演讲，分别是高焕堂的"提高架构质量的10个观点"和周爱民的"我之于架构的主要观点"。高焕堂的演讲让人耳目一新，明显感觉来自台湾的专家，比大陆的专家，对中国传统文化，有更深的理解和思考，他的"序"、"容"、"易"三角，让人印象深刻，另外他还对目前我们软件产业的结构性问题提出了批评。而周爱民的演讲同样很有深度，尤其是后面说到架构师的决策作用时，很引起我的共鸣："<span id="msgtxt1482228993" class="msgtxt zh">架构师不需要让所有人都理解你的每一个决定和这些决定最终要达成的目标，去做就是了。</span>"(可能原话不是这么说的，但意思是这样) 也许有些朋友觉得这两个session虚幻的成分比较重，但对我来说，收益颇丰，因为很多观点，都能够在我之前经历的一些项目和设计中找到支撑。至于其他几讲，关于云计算的，确实提不起什么兴趣，尤其是Azure，干的要命(小插曲: 现场演示一段ASP.NET代码，至少修改和重编译了3次才搞定)。大公司带着推销产品/服务的目的来参加开发会议，有点浪费大家的时间和银子啊。<br /><br />最后说说大会的组织相对还有待提高的地方：<br />1- 第一天入场时，志愿者的引导不是很到位，报到的地方和其他展台秩序稍显混乱。<br />2- 同声传译据说质量不高，白天没用，但是周围的朋友在用，耳机漏音比较严重，稍影响一些效果，晚上直接通过扩音设备翻译，就很明显的感觉到脱节了。<br />3- 午餐和沙龙的地方，显得还是小了些，而且中午所有人都集中在一个时间去，不论排队打饭还是找位置，都比较吃力，以至于第二天中午有一小撮脑筋比较活络的同学，提前下课去打饭吃。<br />4- 现场网络环境比较差，害我只能用手机上twittai。<br /><br />总的来说，这次的QCon还是挺不错的，希望明年的QCon会继续在中国举办，更多的嘉宾，更丰富的内容，更有深度的主题，更加精彩。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/266060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-04-17 00:36 <a href="http://www.blogjava.net/sean/archive/2009/04/17/266060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dreaming in Code 是本好书</title><link>http://www.blogjava.net/sean/archive/2009/03/02/257268.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 01 Mar 2009 16:44:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/03/02/257268.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/257268.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/03/02/257268.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/257268.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/257268.html</trackback:ping><description><![CDATA[
		<br />周末花了一个下午和一个晚上把Scott Rosenberg的Dreaming in Code从头到尾看了一遍。最直接的感受是这本书把我之前很多记忆碎片串在了一起，成为一个生动而"完整"的故事，虽然书的内容本身组织的多少还是有点散。<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/sean/dreaming_in_code.jpg" alt="dreaming_in_code.jpg" border="0" width="240" height="240" /><br /><br />我本人对Chandler这个项目并不陌生：之前出于对Python/wxWidget和开源本身的兴趣，陆续用过几个0.x的版本，一开始并不是十分友好，性能上也有问题，甚至会莫名的吃掉我机器上的数百兆（或者上G?）空间。后来的版本在性能和可用性上确实提高了不少，但一直感觉这个项目缺少必要的、以及许多开源项目应有的momentum。Phillip J. Eby对Chandler开发人员不懂Python的批评，当时我的印象也很深。而项目中出现的人物，包括Mitchell Kapor、Ted Leung，也都在Chandler这个范畴之外follow过。其他细节包括：Chandler和Cosmo这两个名称的由来、Chandler项目组中女性成员相对高的比例、一些熟悉的人物及其观点（Alan Kay, Bill Joy, Frederick Brooks, Donald Knuth、Linus Torvalds, Ward Cunningham, Larry Wall, Guido van Rossum, Joel Spolsky, etc.）、一些公司的分分和和以及人员流动等等。感觉挺亲切的。<br /><br />可能更重要、也更深刻的原因是：尽管书中一再提到"There's no such thing as a typical software project, every project is different"，我仍然深深的感觉到，Chandler遇到的这些问题，其实也是我亲历的很多项目的种种问题的一个缩影。对这些问题，作者并没有给出解决方案，其实谁也没有标准答案。软件开发是一项非常具有挑战性的工作，也正是像我们这样有热情、有涵养的专业人士生存的空间和价值所在。<br /><br /><img src ="http://www.blogjava.net/sean/aggbug/257268.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-03-02 00:44 <a href="http://www.blogjava.net/sean/archive/2009/03/02/257268.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开始"养"紫砂</title><link>http://www.blogjava.net/sean/archive/2009/02/21/255991.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sat, 21 Feb 2009 14:49:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/02/21/255991.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/255991.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/02/21/255991.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/255991.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/255991.html</trackback:ping><description><![CDATA[
		<br />经历了有史以来最忙碌的一周，当然要好好放松一下，除了听上乘的古典音乐，沏上一壶上等的乌龙细细品味，也是一种享受。乌龙茶和紫砂壶可是绝配，如果是安溪的铁观音，加上做工精良的宜兴紫砂壶，那滋味，唇齿留香，别提多惬意了。<br /><br />好的紫砂壶是需要"养"的，今天专程去茶城败了一只回来，开始"喂"铁观音，哈哈。<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/sean/DSC_1768s.JPG" alt="DSC_1768s.JPG" border="0" width="532" height="354" /><br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/255991.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-02-21 22:49 <a href="http://www.blogjava.net/sean/archive/2009/02/21/255991.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Alfred Brendel的告别演出</title><link>http://www.blogjava.net/sean/archive/2009/01/01/249455.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Thu, 01 Jan 2009 09:25:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2009/01/01/249455.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/249455.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2009/01/01/249455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/249455.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/249455.html</trackback:ping><description><![CDATA[
		<br />1年多以前的2007年11月，著名的钢琴家Alfred Brendel对外宣布了告别演出的日期和地点：2008年12月18日，维也纳金色大厅。瞧我这记性，今天才想起来。<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/sean/brendel-farewell.jpg" alt="brendel-farewell.jpg" border="0" height="390" width="473" /><br /><br />有趣的一个细节是，告别演出上，Brendel的选曲是Mozart的9号降E大调钢琴协奏曲，"Jeunehomme" ("Young Man")。<br /><br />最近听得最多的，是Brendel演绎的Brahms的1号钢琴协奏曲，虽然不是他最最擅长的Beethoven、Schubert和Mozart，但已经相当精湛传神。<br /><br />4天以后是大师78岁诞辰，按照中国习俗，提前祝贺一声，生日快乐！大师走好，我们会想你的。<br /><br /><img src ="http://www.blogjava.net/sean/aggbug/249455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2009-01-01 17:25 <a href="http://www.blogjava.net/sean/archive/2009/01/01/249455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>别了, 2008</title><link>http://www.blogjava.net/sean/archive/2008/12/31/249389.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 31 Dec 2008 12:31:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/12/31/249389.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/249389.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/12/31/249389.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/249389.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/249389.html</trackback:ping><description><![CDATA[
		<br />老家有个俗语，叫"嗲言"，大致的意思接近"矫情的文字和语言"，2008年就要过去了，有些按捺不住，要发点"嗲言"。<br /><br />08年发生了很多大事，不论国内还是整个世界而言，都是"多事"的一年。对我来说，最大的一件事，应该就是Tony的降生：经过大半年的期盼，和最后半个月全家紧绷的神经，小家伙终于呱呱坠地了，我也名正言顺的升级为老爸。<br /><br />回顾过去一年的学习和工作，几乎想不出有什么亮点，感觉自己的时间被各种事务瓜分的七零八落，原本的学习计划和想要做的"大事"，也都很难一一实现。公司原有团队核心人员从07年下半年到08年不断的流失，而从产品的角度，也到了一个平台期，之前冲刺赶工带来的各种深层次问题，都逐渐浮现。团队要建设，产品要腾飞，都是费劲的事儿，更何况还有来自项目现场的压力。很多时候，我不得不退化成SCM专员和搬运工，代码、版本、分支、补丁、发布环境、脚本、新特性……还好我很久以前就学会了细心、耐心和苦中作乐，不然我早该崩溃了。<br /><br />09年，人生的第30个年头，该做点什么呢？我想，我必须从SCM这样琐碎的事务和需求的海洋中走出来，去做更有意义的事，对团队对个人都更有价值的事，去学习更多新的知识和解决问题的方法，帮助自己和身边的人走向成功。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/249389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-12-31 20:31 <a href="http://www.blogjava.net/sean/archive/2008/12/31/249389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>摆脱iTunes (续)</title><link>http://www.blogjava.net/sean/archive/2008/12/30/249267.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 30 Dec 2008 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/12/30/249267.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/249267.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/12/30/249267.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/249267.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/249267.html</trackback:ping><description><![CDATA[
		<br />本篇是<a title="http://www.blogjava.net/sean/archive/2008/12/27/248696.html" href="/sean/archive/2008/12/27/248696.html">上一期《摆脱iTunes》</a>的续篇。<br /><br />话说通过openSUSE 11.1下的Banshee播放器重建iPod的iTunesDB后，Podcast和Artwork丢失。后来试用中还发现一个问题，那就是Banshee不能很好的支持修改iPod上现有媒体的元信息。不甘心，找来gtkpod，版本0.99.12，发现还真的是Banshee自己的问题：在gtkpod下，可以很完美的对iPod现有媒体文件进行修改，比如更改专辑名称、艺术家信息等，甚至连封面artwork都能编辑了，呵呵，爽。<br /><br />希望能给有类似困惑的朋友一个参考。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/249267.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-12-30 23:57 <a href="http://www.blogjava.net/sean/archive/2008/12/30/249267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>摆脱iTunes</title><link>http://www.blogjava.net/sean/archive/2008/12/27/248696.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sat, 27 Dec 2008 15:28:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/12/27/248696.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/248696.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/12/27/248696.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/248696.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/248696.html</trackback:ping><description><![CDATA[
		<br />总算逃出iTunes的魔掌了，叹口气，感慨一下。<br /><br />自从去年(07年)购进一台iPod Classic开始，iTunes就成了我生命中无法割舍的一部分，不是因为它好，而是没办法，离开iTunes，我无法给我的iPod添加和删除媒体文件。用过iTunes你就知道，很多东西虽然看上去比较眩，但操作起来，蹩脚的让人难以忍受，视频播放性能也很差，兼容度不够不说，自己的格式经常也是卡卡的。<br /><br />如果说上面的这些问题都还能够克服，让我最不能接受的是，iTunes没有for Linux的版本。这一年多以来，辗转于Ubuntu、Arch Linux、openSUSE，一直都被Apple/iTunes歧视。看到这里你也许会问，既然是Linux的fans，为什么要买Apple的东西？其实这个问题也不难回答，因为iPod是当时市面上能够买到的综合质量最好的便携式mp3播放器。<br /><br />非iTunes同步iPod最大的障碍，在于iTunes对iPod存储文件的目录结构的处理，除了把文件名称改的面目全非，然后在一个很晦涩的文件(iTunesDB)中定义出最终的专辑、艺术家、曲目到具体文件的"链接"，而且（较新版本的iPod）会根据设备ID对这些数据进行hash，以至于非iTunes工具一不小心就容易把iTunesDB破坏，从而造成iPod无法正确读取具体的媒体文件，如果操作无法恢复，那么你的整个iPod资源库能否找回，就要看运气了。当然，高级用户可能知道，其实媒体文件是存放在iPod_Control文件夹下的，虽然目录和文件名称被改掉了，但从文件属性元数据中，还是能够恢复出类似专辑名称等，但如何重建iTunesDB，可能唯一可靠的方式，就是重新从iTunes导入了。<br /><br />经过一番折腾，终于在Linux环境搞定了iPod的媒体同步，当然，也是冒了些风险。首先需要安装libgpod和gtkpod，虽然它们的最新版发布也有挺长时间，但与之配合的"前端"，如Banshee，Rythmbox当时还没能很好的处理设备ID读取和使用，而gtkpod本身document也还不是非常完善，于是相对新的iPod Classic还是无法正常处理媒体库读取和重建。前不久装上了openSUSE 11.1，自带的Banshee 1.4.1号称是支持iPod Classic的同步的。而我又不想太过激进去装Rockbox固件，软件方式的媒体同步就成了最合理的方式。打开Banshee，连上iPod，果然无法正确识别现有的媒体内容（全部划到"其他"），要想看到，只能"重建"。豁出去了，做好必要的备份后，开始探险之旅... 经过十几分钟的等待，wohoo! 成功了！除了Podcast和Artwork，所有媒体都完整的出现在Banshee界面中，断开以后，iPod自身也能够识别这些媒体列表，总算功德圆满，可以和iTunes说拜拜了。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/248696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-12-27 23:28 <a href="http://www.blogjava.net/sean/archive/2008/12/27/248696.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>圣诞节？和我有关系吗？</title><link>http://www.blogjava.net/sean/archive/2008/12/24/248163.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 24 Dec 2008 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/12/24/248163.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/248163.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/12/24/248163.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/248163.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/248163.html</trackback:ping><description><![CDATA[
		<br />今年发生了太多的事，圣诞节是年底前最后一个重要节日了，公司置办了一棵圣诞树，下班的时候，路过教堂，看见里面很多的人，心想，真的是过节了，是不是应该开心些才对。最近也不知道怎么回事，总是有些郁郁寡欢，身心疲惫，没有所谓的节目，也没有所谓的心情，只有不断的学习和工作。有时候想想，一个人如果要求太高，其实也挺累的，自己累，别人也累，不是么？问题是，多高才是"太"高呢？<br /><br />如果你和我一样，这个时候还对着电脑，试试对自己说：停下来，喘口气，收拾一下疲惫的心灵，要准备迎接明年的挑战喽！<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/248163.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-12-24 22:22 <a href="http://www.blogjava.net/sean/archive/2008/12/24/248163.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>技嘉GA-M55SLI-S4主板北桥风扇问题</title><link>http://www.blogjava.net/sean/archive/2008/12/17/246755.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 16 Dec 2008 16:51:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/12/17/246755.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/246755.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/12/17/246755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/246755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/246755.html</trackback:ping><description><![CDATA[
		<br />
		<i>提示: 流水账+非技术贴，赶时间的朋友请跳过。</i>
		<br />
		<br />最近一段时间以来，家里的PC（平时也就是给老爸老妈玩玩游戏看看股票什么的）开机状态下声音狂响，运行一些高CPU消耗的程序时有死机（直接跳掉关机）。实在不胜其扰，今天终于下定决心给它来个体检。<br /><br />根据鄙人并不丰富的经验，噪音肯定是来自风扇，而时有发生的自动关机现象，怀疑是风扇问题引发的散热不足导致CPU或者其他核心组件过热。观察下来CPU温度并不是很离谱，更加重了疑虑，准备开箱检查。简单的用螺丝刀把手压停风扇的办法，很快找到了问题风扇：确实不是CPU，也不是显卡，而是北桥芯片上的那个！关机后，手工尝试拨动叶片，也能感觉到引起噪音阻力，看来确定是它无疑了。<br /><br />怎么办呢？不知道是nForce芯片组的特点，还是GIGABYTE这个系列的特点（手头这块主板型号是GA-M55SLI-S4），北桥芯片上除了散热片，还在散热片上集成了一个风扇，看来这个芯片组发热蛮厉害的，要命的是这块散热片+风扇（也就是北桥芯片）的位置正好在PCI-E插槽的末端，也就是说正好被显卡挡在下面，空间十分狭小，如果要更换散热片/风扇，也只能是找最薄最小的那种，还不能保证插孔间距是标准的。<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/sean/GA-M55SLI-S4.jpg" alt="GA-M55SLI-S4.jpg" border="0" height="365" width="480" /><br /><br />不过既然都到这份儿上了，索性做到底，试试换一个吧。从一个废弃的老显卡上拆下来一块散热片带风扇，目测和主板上的那块长方形散热片卡口间距一致。由于这个散热片的特殊位置，害得我只有把主板卸下来才得以拆除，不过新的问题又来了，间距并不标准！至少和我之前卸下来的显卡风扇间距不一致，要宽那么一点点。我无语了，只好闷着头回去看看出问题的散热风扇还有没有什么补救的措施。经过一番敲敲弄弄，"手测"风扇叶片，感觉比先前顺了很多，赶紧接上电源，居然就这样奇迹般的不响了。<br /><br />Google了一下，网友对这块主板的噪音（貌似都是北桥芯片上这块风扇的事儿）也多有抱怨，看来偶遇到的不是个案啊。不管怎么说，撞大运也好，对症下药也好，问题总算是解决了，功夫没白费："整个世界安静了"。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/246755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-12-17 00:51 <a href="http://www.blogjava.net/sean/archive/2008/12/17/246755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D700，新的开始</title><link>http://www.blogjava.net/sean/archive/2008/10/03/232265.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Fri, 03 Oct 2008 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/10/03/232265.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/232265.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/10/03/232265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/232265.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/232265.html</trackback:ping><description><![CDATA[
		<br />
		<b>动机</b>
		<br />
		<br />FX - 全幅当然是最大的动机<br />7 - 幸运数字 (D70s、G7、D700)<br />宝宝出生 - 要为宝宝准备拍摄工具<br />29岁生日 - 是啊，马上奔3了<br />反转冲印麻烦，越来越少，越来越贵 - 上海已经涨到25/卷(单冲)，且各家风格、质量参差不齐<br />入门/业余 -&gt; 高级发烧   - 原本玩EOS 5和Sigma EX系的人，怎么能停留在D70s<br />没有DX头负担 - 之前有兼容FM3A的考虑，所以手头没有DX头，FX可以无缝升级<br />双机双镜  - 其实加上小三是3机3镜(不含GR1S和G7)<br />手动头测光 - 其实手头只有一个35/2AIS是手动，不过今后会不会淘其他手动头玩呢？会不会ZF呢？呵呵<br />闪光灯同步终端 - "一代神灯"SB-16终于可以从热靴上解放了<br /><br /><b>感受</b><br /><br />结实 - 之前有摸过D300，不意外，但仍然觉得够份量，外拍1天明显感觉手酸<br />色彩 - 饱满，还原真实，LCD预览已经很讨人喜欢<br />直出 - JPEG直出已经有很高质量，包括高ISO下的片子<br />对焦 - 坚决，很少出现"拉风箱"，暗光条件下同样表现出色<br />顶极 - "N家顶极机身三大特性"占了两项 (机顶左侧拨盘、圆取景器)<br /><br />总体来说D700很让人放心，有了它，不用再想D3了。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/232265.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-10-03 22:39 <a href="http://www.blogjava.net/sean/archive/2008/10/03/232265.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Life Before Her Eyes</title><link>http://www.blogjava.net/sean/archive/2008/09/07/227613.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 07 Sep 2008 15:09:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/09/07/227613.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/227613.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/09/07/227613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/227613.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/227613.html</trackback:ping><description><![CDATA[
		<br />Uma Thurman一直是我比较欣赏的女演员之一，10年前的一部影片The Avengers中和Ralph Fiennes演对手戏，让人印象深刻。"The Life Before Her Eyes" (<a target="_blank" title="http://www.douban.com/subject/1945799/" href="http://www.douban.com/subject/1945799/">豆瓣</a>) 是Uma出演的新片，讲述的是美国某中学一次校园枪击事件背景下，一个"问题少女"对生命、亲情、友情的反思、觉醒和抉择。<br /><br />整个影片节奏张驰有度，看似随意的蒙太奇式的镜头切换，在影片结尾你终于明白整个故事时，变得完全顺理成章，完美的交织在一起。画面和语言的处理也十分见功力，是一部唯美而略带伤感的片子。在当下这个充斥着铜锈气味的电影大环境下，如此精雕细琢的作品，实在不多见，适合静下心来观看和回味。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/227613.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-09-07 23:09 <a href="http://www.blogjava.net/sean/archive/2008/09/07/227613.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] "When ANT is not enough"升级版 - Groovy to the rescue!</title><link>http://www.blogjava.net/sean/archive/2008/08/25/224246.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Mon, 25 Aug 2008 11:38:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/08/25/224246.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/224246.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/08/25/224246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/224246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/224246.html</trackback:ping><description><![CDATA[
		<br />
		<a target="_blank" title="http://www.blogjava.net/sean/archive/2008/08/20/223139.html" href="/sean/archive/2008/08/20/223139.html">前一篇随笔</a>提到目前计划系统学习Python和Groovy，有什么比实际使用更好的学习途径呢？1年多以前，我曾经在<a target="_blank" title="http://www.blogjava.net/sean/archive/2007/06/18/124859.html" href="/sean/archive/2007/06/18/124859.html">另一篇随笔</a>提到：当ANT不够用时，可以用JRuby+Antwrap，这是一个可行的方案，并且经过了长期实战的考验。不过Groovy可以做的更好（感兴趣的朋友可以和Antwrap版对照一下）：<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 128, 0);">#</span><span style="color: rgb(0, 128, 0);">!/usr/bin/env groovy</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 128, 0);"></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);">ant </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> new AntBuilder()<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);">root </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">:pserver:cvsuser:password@10.10.10.1/cvsrepo/SampleProduct</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">def</span><span style="color: rgb(0, 0, 0);"> checkout() {<br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);">    ant.cvs(cvsroot:root,command:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">checkout -A</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">package</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,dest:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,compressionlevel:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">9</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">}<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">def</span><span style="color: rgb(0, 0, 0);"> update() {<br /></span><span style="color: rgb(0, 128, 128);">11</span> <span style="color: rgb(0, 0, 0);">    ant.cvs(cvsroot:root,command:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">update -A -d</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">package</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">.</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,dest:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,compressionlevel:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">9</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);">}<br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">def</span><span style="color: rgb(0, 0, 0);"> compile(project) {<br /></span><span style="color: rgb(0, 128, 128);">15</span> <span style="color: rgb(0, 0, 0);">    ant.javac(srcdir:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal/$project/src</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,destdir:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal/$project</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,target:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">1.5</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,encoding:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">GBK</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);">16</span> <span style="color: rgb(0, 0, 0);">    ant.copy(todir:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal/$project</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">) {<br /></span><span style="color: rgb(0, 128, 128);">17</span> <span style="color: rgb(0, 0, 0);">        fileset(dir:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal/$project/src</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">) {<br /></span><span style="color: rgb(0, 128, 128);">18</span> <span style="color: rgb(0, 0, 0);">            exclude(name:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">**/*.java</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);">19</span> <span style="color: rgb(0, 0, 0);">        }<br /></span><span style="color: rgb(0, 128, 128);">20</span> <span style="color: rgb(0, 0, 0);">    }<br /></span><span style="color: rgb(0, 128, 128);">21</span> <span style="color: rgb(0, 0, 0);">    ant.jar(destfile:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">build/$project.jar</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,basedir:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">cvsoriginal/$project</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,manifest:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">MANIFEST.MF</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">) {<br /></span><span style="color: rgb(0, 128, 128);">22</span> <span style="color: rgb(0, 0, 0);">        exclude(name:</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">src/**</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 128, 128);">23</span> <span style="color: rgb(0, 0, 0);">    }<br /></span><span style="color: rgb(0, 128, 128);">24</span> <span style="color: rgb(0, 0, 0);">}<br /></span><span style="color: rgb(0, 128, 128);">25</span> <span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);">26</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">//</span><span style="color: rgb(0, 0, 0);"> to actually call your target<br /></span><span style="color: rgb(0, 128, 128);">27</span> <span style="color: rgb(0, 0, 0);">checkout root<br /></span><span style="color: rgb(0, 128, 128);">28</span> <span style="color: rgb(0, 0, 0);"></span></div><br />代码更紧凑，与Java的集成更无缝。只需要简单的培训，有Java基础的朋友就能上手，不必再额外学习和习惯Ruby的语法，不用gem install，也不用去monkey-patch个别文件来集成和打包Ant、Antwrap和JRuby，只需要一个groovy-all-x.x.x.jar加上自己的脚本即可轻松搞定。<br /><br />[2008-08-26 19:25:00 更新] 经过实际环境测试，原来JRuby(1.1)+Antwrap需要24分钟完成的构建，改用Groovy(1.5.6)后，仅需要16分钟，对于需要经常处理构建的项目和产品来说，这8分钟还是相当可观的。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/224246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-08-25 19:38 <a href="http://www.blogjava.net/sean/archive/2008/08/25/224246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>08年秋季学习计划</title><link>http://www.blogjava.net/sean/archive/2008/08/20/223139.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 19 Aug 2008 16:33:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/08/20/223139.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/223139.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/08/20/223139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/223139.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/223139.html</trackback:ping><description><![CDATA[
		<br />从开始专心学习Java到现在，已经7年了，非常幸运的，在这7年中，除了1年的“半工半读”和1年的.NET项目，累积有5年都是从事的Java为主的应用开发，应该说，Java伴随我走过了从入行到站稳脚跟最关键的几年。从某种意义上讲，我应该感谢Java。<br /><br />然而，随着时间的推移，接触到的不同的东西越来越多，自己对不同问题的看法和解决问题的思路越来越成熟，Java虽然是全能型的语言，也变得越来越无法满足日常工作和娱乐的需要，在一些特定的场合，也越发别扭，有时我甚至会怀念学生时代的Pascal/Delphi和后来的C/C++。回过头去看自己，从刚入行时的Java fanboi，到现在这样一个pragmatist和purist的结合体，是多么有趣的转变。<br /><br />在过去的2年多，除了Java和.NET，陆陆续续接触到并有过简单使用经历的编程语言，有bash、PL/SQL、JavaScript、PHP、Perl、Ruby/JRuby、Scala、Python/Jython、Groovy等等，不过都没有系统的学习过，基本就是拿来主义，什么好用用什么，解决手里的问题为主。<br /><br />也许是工作性质的原因，日常要处理的非技术性任务越来越多，留给具体编程的时间现在一天比一天少，编程带来的乐趣和解决技术问题带来的快感，就显得十分珍贵。所以我下定决心一定要系统的学习1~2种和Java/.NET不同的编程语言。一开始这个选择并不容易，我曾经还<a target="_blank" title="http://twitter.com/laogao/statuses/853718837" href="http://twitter.com/laogao/statuses/853718837">半调侃式的和一个朋友讲：“Python, Ruby, Scala, Groovy, 一个都不能少”</a>，经过一段时间的权衡之后，还是比较自然的作出了最后的选择：Python和Groovy。<br /><br />Python这个选择其实并不难，留意Python这门语言，其实说起来也有差不多3年了，它完全符合“和Java/.NET不同的编程语言”这个条件，而且应用面很广，也十分成熟，功能也非常强大，加上大量现成的类库，能够胜任很多不同类型的编程任务。基本上这是一个不用任何思想斗争的选择。<br /><br />Groovy这个选择相对没有那么直接，至少在我真正用Groovy上手做一些东西之前，对它并没有特别的感觉，甚至质疑它存在的价值，因为有Jython和JRuby的选择，为什么一定要Groovy呢？到最近开始接触Groovy，才逐渐了解到它的出身（Groovy的作者受到Python的启发，不过后来Groovy发展的越来越接近Ruby），和它在“兼容”Java代码的前提下为Java语言带来的巨大的表达力提升。对于有Java基础的人而言，Groovy十分容易上手，而且可以帮助我们简化很多繁杂的任务，比如自动构建和自动化测试，而这正是我目前需要处理的。<br /><br />最后简单说说其他几个落选的原因（除了时间有限之外）：<br />bash - 目前掌握的基本够用，发现不够时，完全可以用Python代替。<br />PL/SQL - 基本很少使用了，偶尔需要维护，今后深入用的机会也不多。<br />JavaScript - 对“网页”版的编程语言可能有天生的偏见，尤其是作为Java fanboi，当然对它“盗用”Java这个名字是有意见的。<br />PHP - 用的机会很少，而且过于quick&amp;dirty，不是我喜欢的风格。<br />Perl - 虽然功能强大，但是感觉语法有些terse，不是很适应，能处理的任务，基本上Python也可以。<br />Ruby - 语法和设计理念还是有一些认同，但是对Unicode的支持和部署环境的支持都还不是很让人信服，另外，拿孟岩的话说，Ruby是一门魔幻语言，我不喜欢过于魔幻的东西，而更习惯具体直接的代码。<br />Scala - 也是一门和Java平台关系密切的语言，不过有些“学院派”，函数式编程固然是亮点，但短期内看不到太多的学习价值。<br /><br />所以，综上所述，最后再点一下题，08年秋季的学习计划是：系统学习Python和Groovy。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/223139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-08-20 00:33 <a href="http://www.blogjava.net/sean/archive/2008/08/20/223139.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL at the Crossroads</title><link>http://www.blogjava.net/sean/archive/2008/07/30/218847.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 30 Jul 2008 14:24:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/07/30/218847.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/218847.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/07/30/218847.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/218847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/218847.html</trackback:ping><description><![CDATA[
		<br />在前两天刚结束的OSCON 2008上，MySQL AB的Brian Aker对外传达了一个很重要的信息：新的MySQL分支，代号Drizzle，将在现有MySQL基础上进行大刀阔斧式的改造，使之更模块化、更加适应新时代的计算环境，同时裁减掉现有很多“企业级”功能，如存储过程（对，你没有听错）、视图、触发器，构建出简单、可靠、易于管理的数据库管理软件。给人一种感觉，那就是Drizzle将更加亲近Web，而与“企业”运算渐行渐远，这似乎更贴合MySQL最初的vision和受众。<br /><br />据悉Drizzle已经得到了不少MySQL核心开发人员的认可和支持。<br /><br />我们大概还依稀记得当初Sun收购MySQL时，曾经信誓旦旦的要将MySQL从一个以支撑Web应用为主的市场慢慢渗透到“企业级”应用中，如今一支名叫Drizzle的fork版本横空出世，不知道这个“麻雀变凤凰”的美丽故事接下来还将如何演绎，让我们拭目以待。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/218847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-07-30 22:24 <a href="http://www.blogjava.net/sean/archive/2008/07/30/218847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] DIY轻松搞定Firefox扩展和Firefox版本的兼容性验证</title><link>http://www.blogjava.net/sean/archive/2008/07/28/218186.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Mon, 28 Jul 2008 14:12:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/07/28/218186.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/218186.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/07/28/218186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/218186.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/218186.html</trackback:ping><description><![CDATA[
		<br />Firefox不久前推出了3.0.x系列的第一个升级版3.0.1。周末的时候对系统做了一次升级，我用的Arch Linux完整只需要一个命令，方便的没话说，顺便也就把Firefox也升级到了3.0.1。<br /><br />说点题外话，由于Mozilla对Firefox的分发有着很严格的要求，很多Linux发行版都有自己的命名，最有名的当然是Debian的"Iceweasel"，一个"Firefox"，一个"Iceweasel"，倒也相得益彰。其余大大小小的Linux发行版则更多的使用另外一套可自由分发的代号：1.5是"Deer Park"，2.0是"Bon Echo"，3.0则是"Gran Paradiso"，3.0刚出的时候，也用过非正式的代号"Minefield"。<br /><br />升级很顺利，再次打开Firefox，已经是3.0.1版。不过这个时候有个小小的麻烦出现了：经常使用的MySocial 24x7插件(用它可以方便的查看和更新FriendFeed)和3.0.1不兼容，被disable掉了。呵呵，不过这可难不倒我，拿到官方的MySocial的xpi包，简单的检查了一下，便发现了问题所在：其实是MySocial插件本身打包的时候，指定了很具体的3.0.0.x这个最高版本，而我现在更新后的Firefox是3.0.1，难怪会报不兼容。1.5~3.0.0.x都是兼容的，3.0.1肯定没啥问题啦，所以就DIY一下吧，轻松搞定。<br /><br />具体方法如下，供各位爱好者参考：<br />xpi格式其实就是一个压缩文件，打开以后，找到install.rdf文件，其中有一段<br />        em:minVersion="1.5"<br />        em:maxVersion="3.0.0.*"<br />修改em:maxVersion为"3.0.*.*"，重新打包即可用来安装。<br /><br />其实不光MySocial，其他插件如果遇到类似问题，也可以参照处理。如果你碰巧需要，又不想去DIY，这里是<a title="http://www.blogjava.net/Files/sean/mysocial24x7-0.5.zip" href="/Files/sean/mysocial24x7-0.5.zip">做好的版本</a>，供下载使用，版本0.5，修改扩展名.zip为.xpi即可。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/218186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-07-28 22:12 <a href="http://www.blogjava.net/sean/archive/2008/07/28/218186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>细节决定成败，从细处看本土企业和外企的差距</title><link>http://www.blogjava.net/sean/archive/2008/07/24/217056.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 23 Jul 2008 16:31:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/07/24/217056.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/217056.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/07/24/217056.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/217056.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/217056.html</trackback:ping><description><![CDATA[
		<br />不知不觉已经1个多月没有更新了：工作占据了大量的时间和精力，没时间写随笔，没时间看Google Reader，甚至连Twitter、FriendFeed等快餐式的文字也被压缩掉了，真想好好喘口气。题外话先说这么多，和大家聊一件鸡毛蒜皮的“小事”。<br /><br />上个周末的时候，我家所在的小区统一进行天然气改造，其实具体到每一户，并不是很大的工程，无非是热水器和炉具的燃气喷嘴需要更换。不过由于生产厂家采用的工艺配件等各不相同，这次改造首先是登记了各户的热水器和炉具的品牌，然后安排联系厂家在统一的时段上门进行改装。正好我家两样东西分别来自一家本土企业和一家外企，于是就有了下面的简单比较（“本”代表本土企业，“外”代表外企）：<br /><br />[进门]<br />本：你家是XXX室吧？我来换XX的。然后就进来了，赤脚。根本来不及说的。<br />外：您好，您家的XX是XX品牌的吗？我是XX的工程师，负责帮您更换XX。然后从自己包里拿出准备好的鞋套，在我的示意下进入厨房。<br /><br />[改造过程]<br />本：你家这个怎么是这样装的？这样不好的，有什么问题不方便检修，如此云云。然后不管是喷什么除锈剂，还是需要敲打什么的，根本不管你家是否有小孩、孕妇、老人什么的，直接上手就干。甚至我开个窗他也要管：这个只是除锈剂，又没毒的。。一副不耐烦的样子。<br />外：整个过程都很注意安静，时不时还跟我讲解这次改造需要注意的一些事项，只要是和他们产品相关的，都一一介绍到。<br /><br />[签收]<br />本：改装完了之后，大楼的天然气还没有通，于是就告诉我，等天然气来了，试试这样做，如果火不够大，就动一下这个机关，就好了，说着就拿出一个沾满油渍的本子，放在餐桌上，让我签字，然后就匆忙离开了。<br />外：改装完以后，由于大楼还没有开始供气，于是就先离开了一下，等到供气开始再回来检查是否能够正常使用，以及是否存在漏气的情况，所有这些做完之后，才拿出保修卡让我签收，并且介绍保修的细节。<br /><br />如果换作是你，你更喜欢哪个工程师呢？这次也许是个特例，但也从一个侧面反映出本土企业和外企相比的一个具有普遍性的差距：这不仅仅是专业程度上的差异，甚至可能从专业角度，那个本土企业的工程师，效率还相对更高一些。我想更重要更核心的还是企业的服务意识，尤其是一线员工的服务意识。外企通常宁可多花些代价在细节上，比如培训、比如配套的奖金/晋升制度，而中国的很多本土企业，则更加强调成本控制和所谓的“规模效应”，殊不知这样杀鸡取卵、一味追求成本和规模的方式，从长远看，肯定是要付出代价的。<br /><br />为什么相当数量的本土企业会在竞争中输给硬件实力相当、甚至不如自己的外企？为什么许多人对不少洋品牌会形成强烈的信任感，甚至近乎崇拜的心理，而对国货却总有那么多不屑和排斥，完全不管洋品牌的定价存在多大的暴利？不知道像这样的学费，我们还需要付多少，还需要用多少代人的青春去换。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/217056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-07-24 00:31 <a href="http://www.blogjava.net/sean/archive/2008/07/24/217056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>So long, Ubuntu!</title><link>http://www.blogjava.net/sean/archive/2008/05/02/197760.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Fri, 02 May 2008 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/05/02/197760.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/197760.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/05/02/197760.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/197760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/197760.html</trackback:ping><description><![CDATA[
		<br />最近在家休息，想来Ubuntu新的LTS版本8.04已经出来一周多了，试试看吧，正好想给家里的服务器来一次升级，未曾想这一试让我彻底和Ubuntu说了bye bye。<br /><br />我的主打机器是一台T43，在3月下旬，这台ThinkPad就彻底从Ubuntu变脸成了Arch Linux，运行至今，十分稳定，要速度有速度，要功能有功能，简单而强大，让人爱不释手。我家里有一台"老"机器，AMD Athlon 2500+ / 512M，先后装过SuSE、Fedora、CentOS、Debian、Ubuntu 7.10，由于很长一段时间以来都比较忙，没时间去折腾，在最后这次开刀之前，定格在了Gusty Gibbon。<br /><br />说回这次开刀。趁休假有时间，我打算再整理/升级一下这台服务器，正好Ubuntu 8.04 LTS出来，冲着省事（平时难有时间去折腾）和LTS，我想这应该还是比较自然的一个选择。安装过程很顺利，该找到的硬件都找到，一切都还像是Ubuntu在7.10基础上正常的一次升级版，谁知刚配置完几个我常用的应用程序/服务，就遇到了严重的问题：系统会随机（通常几分钟时间）锁住，没有反应，键盘灯和鼠标灯还有反应，但是屏幕定格，Ctrl-Alt-Backspace或者Ctrl-Alt-F1等等，都不管用了，什么提示都没有。硬件问题？不像啊，之前的Gusty跑得很好。网上一搜，好家伙，还是普遍现象：<br /><br /><a target="_blank" title="http://ubuntuforums.org/showthread.php?t=768200" href="http://ubuntuforums.org/showthread.php?t=768200">http://ubuntuforums.org/showthread.php?t=768200</a><br /><br />没想到拿LTS的正式ISO安装，还是无奈的做了一次小白鼠，对Ubuntu印象因此大打折扣。算了吧，装回熟悉的Debian，一切又恢复安静。从今天起，我的Linux推荐榜调整为：公司服务器 - CentOS、个人服务器 - Debian、个人桌面 - Arch Linux。<br /><br />So long, Ubuntu!<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/197760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-05-02 17:35 <a href="http://www.blogjava.net/sean/archive/2008/05/02/197760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[快讯] 阿森纳客场2-0淘汰AC米兰昂首进军冠军杯八强</title><link>http://www.blogjava.net/sean/archive/2008/03/05/183825.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 04 Mar 2008 21:39:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/03/05/183825.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/183825.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/03/05/183825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/183825.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/183825.html</trackback:ping><description><![CDATA[
		<br />啥也不说了，开心！<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/183825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-03-05 05:39 <a href="http://www.blogjava.net/sean/archive/2008/03/05/183825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[新闻] Apache Harmony 5.0 reaches M5</title><link>http://www.blogjava.net/sean/archive/2008/02/29/183052.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Fri, 29 Feb 2008 15:28:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/02/29/183052.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/183052.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/02/29/183052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/183052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/183052.html</trackback:ping><description><![CDATA[
		<br />就在2月的最后一天，Apache Harmony发布了5.0的第5个milestone: <a target="_blank" title="http://harmony.apache.org/" href="http://harmony.apache.org/">http://harmony.apache.org/</a><br /><br />为默默耕耘的人鼓掌。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/183052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-02-29 23:28 <a href="http://www.blogjava.net/sean/archive/2008/02/29/183052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>球场暴力 惨不忍睹</title><link>http://www.blogjava.net/sean/archive/2008/02/24/181753.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 24 Feb 2008 05:22:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/02/24/181753.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/181753.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/02/24/181753.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/181753.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/181753.html</trackback:ping><description><![CDATA[
		<br />本赛季状态渐佳，外号"禁区之狐"的阿森纳小将Eduardo在英超客场对阵Birmingham City中惨遭暗害：<br /><br />(<a title="http://www.blogjava.net/sean/archive/2008/02/24/181750.html" href="/sean/archive/2008/02/24/181750.html">由于实在太过血腥，不忍心放在首页，请点击查看</a>)<br /><br />在此强烈谴责Martin Taylor这次不负责任的野蛮铲球，只给你红牌实在太轻了。让我们共同为Eduardo祈祷，祝愿他早日康复！也希望绿茵场上不要再发生类似的惨剧。足球应该是给人带来快乐的，不是人身伤害。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/181753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-02-24 13:22 <a href="http://www.blogjava.net/sean/archive/2008/02/24/181753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eduardo被铲瞬间</title><link>http://www.blogjava.net/sean/archive/2008/02/24/181750.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 24 Feb 2008 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/02/24/181750.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/181750.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/02/24/181750.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/181750.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/181750.html</trackback:ping><description><![CDATA[
		<br />
		<img src="http://www.blogjava.net/images/blogjava_net/sean/football/Eduardo_0.jpg" alt="Eduardo_0.jpg" border="0" height="300" width="400" />
		<br />
		<br />
		<img src="http://www.blogjava.net/images/blogjava_net/sean/football/Eduardo_1.jpg" alt="Eduardo_1.jpg" border="0" height="300" width="400" />
		<br />
		<br />
		<img src="http://www.blogjava.net/images/blogjava_net/sean/football/Eduardo_2.jpg" alt="Eduardo_2.jpg" border="0" height="300" width="400" />
		<br />
		<br />
		<img src="http://www.blogjava.net/images/blogjava_net/sean/football/Eduardo_3.jpg" alt="Eduardo_3.jpg" border="0" height="400" width="400" />
		<br />
		<br />
		<img src="http://www.blogjava.net/images/blogjava_net/sean/football/Eduardo_4.jpg" alt="Eduardo_4.jpg" border="0" height="300" width="400" />
		<br />
		<br />
		<br />
		<br />
<img src ="http://www.blogjava.net/sean/aggbug/181750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-02-24 13:16 <a href="http://www.blogjava.net/sean/archive/2008/02/24/181750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>