<?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>The Ji Village News</title> <atom:link href="http://www.haidongji.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.haidongji.com</link> <description>季庄新闻--Haidong Ji's Blog</description> <lastBuildDate>Mon, 30 Jan 2012 02:41:37 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1.2</generator> <item><title>ALTER LOGIN after Windows user or group name has been changed</title><link>http://www.haidongji.com/2012/01/29/alter-login-after-windows-user-or-group-name-has-been-changed/</link> <comments>http://www.haidongji.com/2012/01/29/alter-login-after-windows-user-or-group-name-has-been-changed/#comments</comments> <pubDate>Mon, 30 Jan 2012 02:41:37 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[SQLServer]]></category> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1287</guid> <description><![CDATA[If a Windows AD group or user has been renamed, and if that group or user was granted access to SQL Server in the past, then you can use ALTER LOGIN to rename the login inside of SQL Server: ALTER LOGIN [myDomain\oldName] WITH NAME = [myDomain\newName] It is not necessary to adjust user names in [...]]]></description> <content:encoded><![CDATA[<p>If a Windows AD group or user has been renamed, and if that group or user was granted access to SQL Server in the past, then you can use ALTER LOGIN to rename the login inside of SQL Server:</p><p>ALTER LOGIN [myDomain\oldName] WITH NAME = [myDomain\newName]</p><p>It is not necessary to adjust user names in SQL Server databases that this login has access to, but you may want to do it just for consistency. Here is the command to do that:</p><p>ALTER USER [myDomain\oldName] WITH NAME = [myDomain\newName]</p><p>Note that renaming an AD user or group does not change its SID. You can check an AD user or group&#8217;s SID with psgetsid, part of the very handy <a
href="http://technet.microsoft.com/en-us/sysinternals/bb842062">Sysinternal tool suite</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2012/01/29/alter-login-after-windows-user-or-group-name-has-been-changed/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Déjà vu</title><link>http://www.haidongji.com/2011/12/22/deja-vu/</link> <comments>http://www.haidongji.com/2011/12/22/deja-vu/#comments</comments> <pubDate>Thu, 22 Dec 2011 06:37:19 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Other]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1280</guid> <description><![CDATA[As I was commenting on a friend&#8217;s blog, I reviewed Obama&#8217;s victory speech in 2008, and realized, at least to my mind, an ironic déjà vu. Not too long into His Majesty Bush The Second&#8217;s reign, right after 9/11, we had the world rally around us. Along with the tremendous good will came the potential [...]]]></description> <content:encoded><![CDATA[<p>As I was commenting on a friend&#8217;s blog, I reviewed Obama&#8217;s victory speech in 2008, and realized, at least to my mind, an ironic déjà vu.</p><p>Not too long into His Majesty Bush The Second&#8217;s reign, right after 9/11, we had the world rally around us. Along with the tremendous good will came the potential to bring enormous positive impact to the world, had we used restraint and followed the rule of law to bring the perpetrators to justice. We all knew how that was not so, and how we followed a reactionary, criminal, xenophobic, and imperialistic path externally. And the destructive, criminal, too-big-to-fail-eventually-bailed-out financial industry and big investment banks armed with fancy math derivatives and high-powered computers trashed our already weak economy internally. And get this, His Majesty Bush The Second got RE-ELECTED in the midst of all this. Yay American democracy!</p><p>The Bush dynasty was finally over, for now. Along came The Saviour, The Chosen One, with remarkable oratory skills and seemingly radiating transcending, above-the-fray power. After reading his excellent book &#8220;Dreams from My Father&#8221; (highly recommended still, even with my total disillusion of Obama today) and his so-so &#8220;The Audacity of Hope&#8221;, and his campaign promises at the time, I enthusiastically canvassed for him, knocking doors, and cast my first general election presidential ballot as an American to the Democrats.</p><p>Now HOPE is here. Once again the world rallied around us. In fact, the bunch of increasingly irrelevant Norwegian old men awarded him the Peace Prize simply because he is not Bush. (Granted, I don&#8217;t want to discount the significance of our first black/inter-racial president.) Once again, like Bush, Obama could have used the tremendous good will to do enormous good to America and the world.</p><p>Look at what happened. <a
href="http://www.salon.com/writer/glenn_greenwald/">Glenn Greenwald</a> says the best here in <a
href="http://www.guardian.co.uk/commentisfree/cifamerica/2011/jul/21/barack-obama-social-security-cuts">an editorial he wrote for the Guardian</a>. So I will just quote him here:</p><blockquote><p>Therein lies one of the most enduring attributes of Obama&#8217;s legacy: in many crucial areas, he has done more to subvert and weaken the left&#8217;s political agenda than a GOP president could have dreamed of achieving. So potent, so overarching, are tribal loyalties in American politics that partisans will support, or at least tolerate, any and all policies their party&#8217;s leader endorses – even if those policies are ones they long claimed to loathe.</p><p>This dynamic has repeatedly emerged in numerous contexts. Obama has continued Bush/Cheney terrorism policies – once viciously denounced by Democrats – of indefinite detention, renditions, secret prisons by proxy, and sweeping secrecy doctrines.</p><p>He has gone further than his predecessor by waging an unprecedented war on whistleblowers, seizing the power to assassinate U.S. citizens without due process far from any battlefield, massively escalating drone attacks in multiple nations, and asserting the authority to unilaterally prosecute a war (in Libya) even in defiance of a Congressional vote against authorising the war.</p></blockquote><p>Domestically, Obama kept the insiders and Goldman-Sachs in charge of our financial industry, as per our tradition in the last several decades. And the economy is still in disarray.</p><p>So there you go. That is Déjà vu in my dictionary. This coming general election, I will show up, but I won&#8217;t cast my ballot to any candidate.</p><p>I won&#8217;t allow comment for this one. I&#8217;ve got plenty to do!</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/12/22/deja-vu/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Velocity 2011中国行随记</title><link>http://www.haidongji.com/2011/12/18/velocity-2011%e4%b8%ad%e5%9b%bd%e8%a1%8c%e9%9a%8f%e8%ae%b0/</link> <comments>http://www.haidongji.com/2011/12/18/velocity-2011%e4%b8%ad%e5%9b%bd%e8%a1%8c%e9%9a%8f%e8%ae%b0/#comments</comments> <pubDate>Sun, 18 Dec 2011 23:38:16 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Chinese]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Web]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1275</guid> <description><![CDATA[这次到北京参加Velocity中国大会，感觉很不错。记录下自己的感想和体会。 参加任何会议，对我来说最有意义的是和参会者的互动与交流：业界的新发展，某些技术的实战经验，网上和网下的资源，好书好网站的推荐等。很多灵感都是在谈话中通过思维火花的碰撞而产生。还有一部分干货是谈话者有意无意中透露出来。这就需要听者有开放的视野和耳朵，懂得聆听，不打断别人的话语（特别是在关键时刻），记下这些小金块：有用的工具啦，一些参数的设定啦，实战中碰到的问题和解决办案啦，提高工效的技巧啦，很有用的网站和论坛的帖子啦，等等。记下这些东西后，注意不要把它们遗忘，要跟踪和研究。因为趁热打铁，凭着这股子热乎劲儿才能把那转变成对自己和公司有用的东西，才能跳到更高的层次。有时参加大会后能收到一个这样的小金块就够本甚至有盈余。所以作为管理人员，在给下属买书和参加会议上，不要吝啬猴精。说到这里，如果你是个管理人员，你有没有拨出资金给员工买书？如果有，恭喜你，因为我感觉这是一个非常值得自豪的东西！那就再进一步，你有没有在搞好财务的同时让报销的流程更容易？你有没有在保证工效的同时给下属提供工作和生活上的方便？ 在这同时，也要去回馈。懂得回馈，懂得提携和帮助同仁和后来人，才能获得人脉资源，并且自己也可以在其中得到灵感和启发。因为解释和分享一些东西的时候，也是自己学习的时候。当你把东西用口头语言表述出来给同仁的时候，这本身就是一个非常有效的思索过程。你能把事儿说圆吗？如果不能，为什么？是不是自己理解得还不够透彻？在这过程中，别人甚至你自己会突然意识到为什么没从这样或那样的层面和角度来研究和尝试这个东西呢？同仁和后进的提问也能产生很好的启发。另外，这也是我坚信的一点，让自己利益最大化的最好办法是不自私，不信你在生活和工作中试试看。自以为高明，自以为是牛人，自以为别人和大多数人比你低下，玩儿清高装逼的那一套，这种态度，只会带来坏处，不会有丝毫的好处。关于回馈和帮助提携他人，我写过一个纪念我的同仁Ken Henderson的文章，引用了他的一个aging champion syndrome（我觉得可以翻译成过气冠军症）的短文。他讲得非常透彻和精辟！英语爱好者不妨注意下，Ken写的东西很值得学习。 以上都是个人层面上的东西。提高到公司和企业的角度，也是同样的道理。现代的互联网公司需要一个开放和互动的平台。而作为公司来参与这个平台的构建并保持和发展其活力对公司本身大有益处：公司本身的人气、内部员工的士气、和在业界的口碑，并且在这个平台里也会有高质量的人力资源。 从互动、交流、开放、分享的角度来看这次Velocity会议，我感觉组织者做得非常成功。淘宝和淘宝的员工们和O&#8217;Reilly投入资金、时间、和人力资源来办Velocity是一个非常有意义且值得称道的事情。这种开放和互动的平台需要各种大小公司的参与，进而形成一个良性循环，这样我们就可以把事情做大、做活。水涨船高，众人拾柴火焰高，不就是这个道理吗？现在淘宝是这个活动领头人，但希望百度、腾讯、网易、新浪、华为、谷歌中国、雅虎中国、和微软中国等其它公司一起加入到这个行列来。 我在会上做了个基本的关于InnoDB状态的分享，并且也参加了几个演讲。英文主题演讲时，有中文的同声翻译。我看到有估计不到1/3的人用同声翻译的耳机。很遗憾，我没来得及试听一下。我倒是找到机会试听了下中译英的同声翻译，感觉效果并不太好。我很想听听大家对英译中的评价。 Steve Souders讲的一些工具和方法比较有意思。章文嵩的绿色计算也是亮点。我听了淘宝叔度和清无的基于nginx的Tengine的介绍。这个与我是个亮点，因为我感觉互联网服务器是一个不管大小公司都要有的东西，而Apache和lighthttpd好像都有点过气，其笨重和抗压的表现都不尽人意。而nginx和在其基础上提高的Tengine确实让我眼前一亮。我加入了Tengine的邮件列表，感到其人气，特别是在中文圈里，在慢慢上升，这是一个可喜的现象，我对其非常看好。 顺便加一句，淘宝的开源软件可以在这里找到。很多东西看起来都比较有意思，像这个tsar。淘宝的博客也很棒，我订阅了淘宝核心系统团队博客和淘宝共享数据平台博客。另外很多淘宝员工的个人博客也很棒，特别是如果你也搞MySQL的话。像苏普的这个Perl脚本就很管用，而江枫的Flashcache介绍和讨论也会很有启发。stronghearted的博客和褚霸的博客也非常好。 星期二晚上有机会和叔度、冯景辉长谈，海阔天空，保罗万象，聊得很开心。靠，叔度和景辉很牛逼幽默。从叔度那里，我不得不由衷地得出如下结论：山东人不简单啊，好得很！凌晨左右，多谢景辉，我们到创新工厂参观。我喜欢和欣赏李开复干出来的事和其影响力，能到创新工厂看看很不错。 另外豆瓣刘洪清的MapReduce分享也很有料。在会场外也和出版界及网上IT社区的一些编辑做了交流，很有意思。和苏普和江枫有了更深的关于MySQL的交流。 感谢苏普、淘穆公、江枫、和吴炳锡的邀请和盛情款待。星期天晚上刚坐了14个小时的飞机和堵了两个多小时的出租，疲惫不堪，没胃口享受云南真菌火锅的美味。但和Virident的Leon一起吃了非常美味的东北菜。谢谢Leon!和jackbillow还有hellodba的交流，听他们的环境和应用也很有意思。还认识了很多其他人，就不多说了，名字可是记不太清，因为大家有微薄的帐号，淘宝的还有武侠花名。 &#8212;&#8212; Velocity里谈到的东西大都和开源软件有关。我以前和国内的刘忠武一起做过关于数据库测试的开源软件，AnyDbTest。这个软件绝大部分是忠武老弟用C#写成。忠武是个很强悍的程序猿，C#，Java，Oracle，SQL Server，Python，Linux Shell脚本等都拿得起，放得下，想法周到、细致、全面，生猛异常！ &#8212;&#8212; 我12月4日星期天下午到，北京城正被大雾和空气污染所覆盖。到大会期间，天气已经好转，一片晴朗。星期三那天，从旅馆11楼往下看，看到附近学校里有体育课在进行。当时看到年轻的学生们能在日光和蓝天下在学校的操场上跑步，感觉真好，那前两天的坏天气和疲乏所带来的阴郁感也一扫而光。周一中午一个人吃了海底捞，很不错。海底捞的服务态度那么好，希望也能给其他商家店面的客服方面带来正面连锁效应。周三晚上会议结束后有很短的时间，我顺着远大路往西走，到四环后右转往北走了走，看到遛狗的，摆地摊的，然后到路边的一个小馆要了个蒜苔炒肉盖饭和一小碟芹菜花生米，很不错。这么吃着，走着，看行人和小饭馆的顾客，读着我同胞的表情、动作和喜怒哀乐，聆听他/她们的标准和不太标准的普通话，猜测和想像他/她们的生活状况，很好。 吃北京咸菜也是亮点，那腌制的藕片和花生米，嚼起来脆生生的，特过瘾。我在王府井那个天主教堂的前面小广场上看到在晚上，人们在一起跳国标和恰恰恰，也很不错。星期天早上我逛到了东四清真寺，但那个地方谢绝参观，有点遗憾。在那天飞回美国之前，买了几本书回来看。 第一次坐高铁，感觉很不错，最高时速差不多310公路左右。以前北京到枣庄十来个小时的车程，现在两小时稍微多一点就搞定。虽然铁路还有问题，但总起来讲很牛啊！]]></description> <content:encoded><![CDATA[<p>这次到北京参加Velocity中国大会，感觉很不错。记录下自己的感想和体会。</p><p>参加任何会议，对我来说最有意义的是和参会者的互动与交流：业界的新发展，某些技术的实战经验，网上和网下的资源，好书好网站的推荐等。很多灵感都是在谈话中通过思维火花的碰撞而产生。还有一部分干货是谈话者有意无意中透露出来。这就需要听者有开放的视野和耳朵，懂得聆听，不打断别人的话语（特别是在关键时刻），记下这些小金块：有用的工具啦，一些参数的设定啦，实战中碰到的问题和解决办案啦，提高工效的技巧啦，很有用的网站和论坛的帖子啦，等等。记下这些东西后，注意不要把它们遗忘，要跟踪和研究。因为趁热打铁，凭着这股子热乎劲儿才能把那转变成对自己和公司有用的东西，才能跳到更高的层次。有时参加大会后能收到一个这样的小金块就够本甚至有盈余。所以作为管理人员，在给下属买书和参加会议上，不要吝啬猴精。说到这里，如果你是个管理人员，你有没有拨出资金给员工买书？如果有，恭喜你，因为我感觉这是一个非常值得自豪的东西！那就再进一步，你有没有在搞好财务的同时让报销的流程更容易？你有没有在保证工效的同时给下属提供工作和生活上的方便？</p><p>在这同时，也要去回馈。懂得回馈，懂得提携和帮助同仁和后来人，才能获得人脉资源，并且自己也可以在其中得到灵感和启发。因为解释和分享一些东西的时候，也是自己学习的时候。当你把东西用口头语言表述出来给同仁的时候，这本身就是一个非常有效的思索过程。你能把事儿说圆吗？如果不能，为什么？是不是自己理解得还不够透彻？在这过程中，别人甚至你自己会突然意识到为什么没从这样或那样的层面和角度来研究和尝试这个东西呢？同仁和后进的提问也能产生很好的启发。另外，这也是我坚信的一点，让自己利益最大化的最好办法是不自私，不信你在生活和工作中试试看。自以为高明，自以为是牛人，自以为别人和大多数人比你低下，玩儿清高装逼的那一套，这种态度，只会带来坏处，不会有丝毫的好处。关于回馈和帮助提携他人，我写过一个<a
href="http://www.haidongji.com/2008/02/13/in-memory-of-ken-henderson/">纪念我的同仁Ken Henderson的文章</a>，引用了他的一个aging champion syndrome（我觉得可以翻译成过气冠军症）的短文。他讲得非常透彻和精辟！英语爱好者不妨注意下，Ken写的东西很值得学习。</p><p>以上都是个人层面上的东西。提高到公司和企业的角度，也是同样的道理。现代的互联网公司需要一个开放和互动的平台。而作为公司来参与这个平台的构建并保持和发展其活力对公司本身大有益处：公司本身的人气、内部员工的士气、和在业界的口碑，并且在这个平台里也会有高质量的人力资源。</p><p>从互动、交流、开放、分享的角度来看这次Velocity会议，我感觉组织者做得非常成功。淘宝和淘宝的员工们和O&#8217;Reilly投入资金、时间、和人力资源来办Velocity是一个非常有意义且值得称道的事情。这种开放和互动的平台需要各种大小公司的参与，进而形成一个良性循环，这样我们就可以把事情做大、做活。水涨船高，众人拾柴火焰高，不就是这个道理吗？现在淘宝是这个活动领头人，但希望百度、腾讯、网易、新浪、华为、谷歌中国、雅虎中国、和微软中国等其它公司一起加入到这个行列来。</p><p>我在会上做了个基本的关于InnoDB状态的分享，并且也参加了几个演讲。英文主题演讲时，有中文的同声翻译。我看到有估计不到1/3的人用同声翻译的耳机。很遗憾，我没来得及试听一下。我倒是找到机会试听了下中译英的同声翻译，感觉效果并不太好。我很想听听大家对英译中的评价。</p><p>Steve Souders讲的一些工具和方法比较有意思。章文嵩的绿色计算也是亮点。我听了淘宝叔度和清无的基于nginx的<a
href="http://tengine.taobao.org/">Tengine的介绍</a>。这个与我是个亮点，因为我感觉互联网服务器是一个不管大小公司都要有的东西，而Apache和lighthttpd好像都有点过气，其笨重和抗压的表现都不尽人意。而nginx和在其基础上提高的Tengine确实让我眼前一亮。我加入了Tengine的邮件列表，感到其人气，特别是在中文圈里，在慢慢上升，这是一个可喜的现象，我对其非常看好。</p><p>顺便加一句，<a
href="http://code.taobao.org/">淘宝的开源软件可以在这里找到</a>。很多东西看起来都比较有意思，<a
href="http://code.taobao.org/p/tsar/src/">像这个tsar</a>。淘宝的博客也很棒，我订阅了<a
href="http://rdc.taobao.com/blog/cs/">淘宝核心系统团队博客</a>和<a
href="http://www.tbdata.org/archives">淘宝共享数据平台博客</a>。另外很多淘宝员工的个人博客也很棒，特别是如果你也搞MySQL的话。像<a
href="http://www.orczhou.com/index.php/2011/12/how-to-split-mysqldump-file/">苏普的这个Perl脚本</a>就很管用，而<a
href="http://www.ningoo.net/">江枫的Flashcache</a>介绍和讨论也会很有启发。<a
href="http://www.dbunix.com/">stronghearted的博客</a>和<a
href="http://blog.yufeng.info/">褚霸的博客</a>也非常好。</p><p>星期二晚上有机会和叔度、冯景辉长谈，海阔天空，保罗万象，聊得很开心。靠，叔度和景辉很牛逼幽默。从叔度那里，我不得不由衷地得出如下结论：山东人不简单啊，好得很！凌晨左右，多谢景辉，我们到创新工厂参观。我喜欢和欣赏李开复干出来的事和其影响力，能到创新工厂看看很不错。</p><p>另外豆瓣刘洪清的MapReduce分享也很有料。在会场外也和出版界及网上IT社区的一些编辑做了交流，很有意思。和苏普和江枫有了更深的关于MySQL的交流。</p><p>感谢苏普、淘穆公、江枫、和吴炳锡的邀请和盛情款待。星期天晚上刚坐了14个小时的飞机和堵了两个多小时的出租，疲惫不堪，没胃口享受云南真菌火锅的美味。但和<a
href="http://www.weibo.com/u/2576948750">Virident的Leon</a>一起吃了非常美味的东北菜。谢谢Leon!和<a
href="http://www.weibo.com/jackbillow">jackbillow</a>还有<a
href="http://www.weibo.com/hellodba">hellodba</a>的交流，听他们的环境和应用也很有意思。还认识了很多其他人，就不多说了，名字可是记不太清，因为大家有微薄的帐号，淘宝的还有武侠花名。</p><p>&#8212;&#8212;</p><p>Velocity里谈到的东西大都和开源软件有关。我以前和国内的刘忠武一起做过关于数据库测试的开源软件，<a
href="https://anydbtest.codeplex.com/">AnyDbTest</a>。这个软件绝大部分是忠武老弟用C#写成。<a
href="http://www.cnblogs.com/harrychinese/">忠武是个很强悍的程序猿</a>，C#，Java，Oracle，SQL Server，Python，Linux Shell脚本等都拿得起，放得下，想法周到、细致、全面，生猛异常！</p><p>&#8212;&#8212;</p><p>我12月4日星期天下午到，北京城正被大雾和空气污染所覆盖。到大会期间，天气已经好转，一片晴朗。星期三那天，从旅馆11楼往下看，看到附近学校里有体育课在进行。当时看到年轻的学生们能在日光和蓝天下在学校的操场上跑步，感觉真好，那前两天的坏天气和疲乏所带来的阴郁感也一扫而光。周一中午一个人吃了海底捞，很不错。海底捞的服务态度那么好，希望也能给其他商家店面的客服方面带来正面连锁效应。周三晚上会议结束后有很短的时间，我顺着远大路往西走，到四环后右转往北走了走，看到遛狗的，摆地摊的，然后到路边的一个小馆要了个蒜苔炒肉盖饭和一小碟芹菜花生米，很不错。这么吃着，走着，看行人和小饭馆的顾客，读着我同胞的表情、动作和喜怒哀乐，聆听他/她们的标准和不太标准的普通话，猜测和想像他/她们的生活状况，很好。</p><p>吃北京咸菜也是亮点，那腌制的藕片和花生米，嚼起来脆生生的，特过瘾。我在王府井那个天主教堂的前面小广场上看到在晚上，人们在一起跳国标和恰恰恰，也很不错。星期天早上我逛到了东四清真寺，但那个地方谢绝参观，有点遗憾。在那天飞回美国之前，买了几本书回来看。</p><p>第一次坐高铁，感觉很不错，最高时速差不多310公路左右。以前北京到枣庄十来个小时的车程，现在两小时稍微多一点就搞定。虽然铁路还有问题，但总起来讲很牛啊！</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/12/18/velocity-2011%e4%b8%ad%e5%9b%bd%e8%a1%8c%e9%9a%8f%e8%ae%b0/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>到北京开会</title><link>http://www.haidongji.com/2011/11/29/%e5%88%b0%e5%8c%97%e4%ba%ac%e5%bc%80%e4%bc%9a/</link> <comments>http://www.haidongji.com/2011/11/29/%e5%88%b0%e5%8c%97%e4%ba%ac%e5%bc%80%e4%bc%9a/#comments</comments> <pubDate>Tue, 29 Nov 2011 22:26:57 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Chinese]]></category> <category><![CDATA[EastWest]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1270</guid> <description><![CDATA[这个周末动身飞北京，参加Web性能和运维大会。我会做一个关于InnoDB的讲演，主要是InnoDB的状态分析和展示，和几个影响InnoDB表现的重要参数。会有现场演示，但都会是基本的东西，因为基本的也是最重要的。我还会分享一下开源软件的开发过程和体会。 在美国工作这十几年来，用英文写过和交流过不少技术方面的东西，出书开会到技术小组交流写文章等等。也在大部分时间里默默观察和跟踪国内IT业界的发展。和国内的朋友有过联络和非常愉快的合作，但是只从去年开始才有过工作上的联系，到大陆、台湾、韩国和日本等。所以这次希望能结识更多的同仁和朋友。 也会抽出时间来要看父母、见朋友和逛书店，还有品尝久违的家乡美食！]]></description> <content:encoded><![CDATA[<p>这个周末动身飞北京，参加<a
href="http://velocity.oreilly.com.cn/2011/">Web性能和运维大会</a>。我会做一个关于InnoDB的讲演，主要是InnoDB的状态分析和展示，和几个影响InnoDB表现的重要参数。会有现场演示，但都会是基本的东西，因为基本的也是最重要的。我还会分享一下开源软件的开发过程和体会。</p><p>在美国工作这十几年来，用英文写过和交流过不少技术方面的东西，出书开会到技术小组交流写文章等等。也在大部分时间里默默观察和跟踪国内IT业界的发展。和国内的朋友有过联络和非常愉快的合作，但是只从去年开始才有过工作上的联系，到大陆、台湾、韩国和日本等。所以这次希望能结识更多的同仁和朋友。</p><p>也会抽出时间来要看父母、见朋友和逛书店，还有品尝久违的家乡美食！</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/11/29/%e5%88%b0%e5%8c%97%e4%ba%ac%e5%bc%80%e4%bc%9a/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>成败，亦原在；同根树，偃未来</title><link>http://www.haidongji.com/2011/11/12/%e6%88%90%e8%b4%a5%ef%bc%8c%e4%ba%a6%e5%8e%9f%e5%9c%a8%ef%bc%9b%e5%90%8c%e6%a0%b9%e6%a0%91%ef%bc%8c%e5%81%83%e6%9c%aa%e6%9d%a5/</link> <comments>http://www.haidongji.com/2011/11/12/%e6%88%90%e8%b4%a5%ef%bc%8c%e4%ba%a6%e5%8e%9f%e5%9c%a8%ef%bc%9b%e5%90%8c%e6%a0%b9%e6%a0%91%ef%bc%8c%e5%81%83%e6%9c%aa%e6%9d%a5/#comments</comments> <pubDate>Sat, 12 Nov 2011 23:58:45 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Chinese]]></category> <category><![CDATA[EastWest]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1262</guid> <description><![CDATA[在飞机上匆匆写出，会有语法和错字，见谅。逛台北去喽。 &#8212;&#8212; 坐在国泰航班的飞机上，打下这段文字。到香港后直接转机到宝岛台湾，这是我第一次赴台。遗憾的是，这次只能在台湾呆三天，其中两天是紧张的工作。以后要再来，好好领略宝岛的风情。 我大学时是硕大无比的傻逼。按说在厦门那四年里应当学点闽南话，但我没有，现在有点后悔。会闽南话，就容易和台胞拉近乎。大部分的台胞，和闽南漳泉厦的渊源，实在是太深了。 闽南话虽听不太懂，但不妨碍我喜欢闽南歌，这和北方人听不懂广东话，但粤语歌照样流行是一个道理：曲调在那里，读歌词也能悟出意思来，虽然可能稍有偏差。 像在台湾和闽南家喻户晓的《爱拼才会赢》，很悠扬、淳朴、实在，我喜欢： 一时失志不免怨叹 一时落魄不免胆寒 那通失去希望 每日醉茫茫 无魂有体亲像稻草人 人生可比是海上的波浪 有时起有时落 好运歹运 总嘛要照起工来行 三分天注定 七分靠打拼 爱拼才会赢 伍佰和罗大佑是我最喜欢的歌手之一。我喜欢他们的国语歌，也喜欢他们的闽南歌，如《台湾制造》，《返去故乡》，和《火车》。 《台湾制造》 我希望和拥护两岸和平统一，但这不妨碍我喜欢这首歌。《台湾制造》歌词写得好，但随着大陆逐渐变成世界工厂，除了歌里唱到的屏东、南投、高雄、台南等地，如果嵌入苏州、义乌、东莞、汕头、宁波等其他城市，唱出一些大陆的情况，感觉也会很贴切。 《返去故乡》 我和这首歌表露出来的情怀有很多共鸣，歌词写得真的很美。我不知道这首歌的MTV是不是在伍佰的家乡台南所拍摄，但我在里面看到了我家乡山东枣庄的影子：那公路，收费站，小货车，土地，庄稼，村民和他们的表情。 《火车》 罗大佑唱的这首歌很有味道。我想对于大部分中国人，特别是小地方来的和农村人，至少对于我这样的70后，火车可以把你带到大城市和一个遥远的地方，而那通常给人以向往和憧憬。虽然那心中的憧憬和现实会有差距，甚至是很大的差距。当认识到这之后，部分的梦想成事实，部分的梦想变了样，也有部分的梦想变成了失落。但那火车旅程中却是酸甜苦辣咸，五味俱全！回过头看，竟有些戏虐和荒诞。这首《火车》的MTV，就有那个味道。 我还很喜欢伍佰的闽南歌《往事欲如何》。 &#8212;&#8212; 哇噻，国泰的服务很不错。经济舱里有酒喝，有电源，和那么多的电影看。并且腿也伸得开，搞得老汉我爽歪歪！ 我在飞机上看了《Pulp Fiction》和《建党伟业》。《建党伟业》里有毛毛和胡适交流的片段（毛听胡适的课，可能还有其他）。我对毛胡之间的关系有点兴趣。年初我读司徒雷登的My Fifty Years in China（英文原版，不是翻译版本），胡适给该书写得序言很有意思：胡对司徒雷登的传教很不以为然，但对其办教育却是赞赏尤加。胡也专门提到抗日胜利后国共和谈期间，胡专门给他曾经的学生老冒写信进言，并且说他确认毛收到了他的信件，但毛却没有理会。我现在对这封信很感兴趣：胡毛关系如何？党史里有没有记载？中央档案馆有没有原件？如果有，胡适的建议是什么？毛不理会的原因是什么？这事儿，有点意思！我觉得这电影基本上是尊重史实的，既然有毛胡互动的情节，就说不准有点小料。 《建党伟业》里的不少关于陈独秀、李大钊和新文化运动的情节，让我想起了去年我参观新文化运动纪念馆（好像也叫党史教育馆？）的事儿。这个纪念馆就在红楼，是国立北京大学的原址，现隆福寺附近，中央美院的西边儿。该博物馆免费，但有点遗憾，好像基本上没人来，实际上我以为它很值得参观。馆里的蔡元培、李大钊、鲁迅、胡适还有《新青年》和其他杂志的介绍就很有意思。我看了胡适的英文抗议/请愿书（好像是抗议凡尔赛巴黎和约割让山东的条款）。胡适的英文很是了得。我也在红楼的西边看到了李大钊的工作室。我对蔡元培和李大钊很有好感。 咳，行文至此，提到了自己感兴趣的话题，就多啰嗦几句，反正以前就想写的，也不知道以后有没有时间写，就先搬个小板凳放这儿占个地儿： 1.北京大学和燕京大学的关系很有意思，现在的北大校址是原燕京大学所在地（燕园）。可能是我孤陋寡闻，但我是在读完My Fifty Years in China之后才知道。我知道北京大学和燕京大学，但我以前对他们在解放前的同时存在并不了解； 2.我对司徒雷登的中国助理傅先生也感兴趣（Mr. Fugh. Stuart suggested the Fugh spelling. 名字忘掉了，现在在飞机上也不能查）。他跟随司徒到了美国，司徒晚年就是傅先生一家来照料，虽然司徒有自己的儿子和兄弟。傅先生一家人来美时，他儿子十几岁。儿子后来入伍，是美国第一位获得将军级别的华裔。傅将军前两三年去世； 3.傅将军生前是美国百人会成员，致力于提高和增进中美之间的关系、理解、和交流。在司徒的骨灰安葬于杭州（2008年？）之后，（因司徒的父母是传教士，所以他在杭州出生长大），傅将军曾在百人会的一个研讨会上讲起了这段经历。我现在的记忆有点模糊，应当再看一遍这个录像。但我记得傅将军提起司徒的遗愿是葬身于燕京大学，现北京大学所在地，因为燕京大学是司徒花多年的心血建立、扶植、和培养起来的，并且司徒的妻子好像也埋葬于燕园。这个遗愿在1980年代被邓小平、赵紫阳、胡耀邦等人批准。但89来了，事情就拖了下来。傅将军以后又提该事，政治局再次批准，但世事变迁，找到司徒太太的墓地有难处，最后决定安葬司徒于其出生地杭州； 4.傅将军提到了一件事儿我觉得特别有意思：尼克松访华后，周恩来曾专门在1972年左右邀请傅将军的父亲回国，而傅老先生真的回来并住了不短的一段时间（十几个月还是一两年，总之不短）。从司徒的书里看，司徒和周有点惺惺相惜的味道，周当然知道傅老先生和司徒的关系以及傅和国民党高层的可能的关系。我好像记得傅将军提起傅老先生之后曾赴台。如果能挖到这方面的信息，应当很有意思。这当然是国共在70年代试图通过第三方谈判的一个方面。 5.司徒和Henry Luce的关系好像比较铁。Henry Luce也是诞生于中国的传教士之子。司徒有点儿社会民主主义倾向，但Henry Luce却是个原教旨主义者。他管《时代周刊》，对美国舆论和对华政策有举足轻重的影响。马歇尔（General [...]]]></description> <content:encoded><![CDATA[<p>在飞机上匆匆写出，会有语法和错字，见谅。逛台北去喽。</p><p>&#8212;&#8212;</p><p>坐在国泰航班的飞机上，打下这段文字。到香港后直接转机到宝岛台湾，这是我第一次赴台。遗憾的是，这次只能在台湾呆三天，其中两天是紧张的工作。以后要再来，好好领略宝岛的风情。</p><p>我大学时是硕大无比的傻逼。按说在厦门那四年里应当学点闽南话，但我没有，现在有点后悔。会闽南话，就容易和台胞拉近乎。大部分的台胞，和闽南漳泉厦的渊源，实在是太深了。</p><p>闽南话虽听不太懂，但不妨碍我喜欢闽南歌，这和北方人听不懂广东话，但粤语歌照样流行是一个道理：曲调在那里，读歌词也能悟出意思来，虽然可能稍有偏差。</p><p>像在台湾和闽南家喻户晓的《爱拼才会赢》，很悠扬、淳朴、实在，我喜欢：</p><p>一时失志不免怨叹<br
/> 一时落魄不免胆寒<br
/> 那通失去希望<br
/> 每日醉茫茫<br
/> 无魂有体亲像稻草人<br
/> 人生可比是海上的波浪<br
/> 有时起有时落<br
/> 好运歹运 总嘛要照起工来行<br
/> 三分天注定 七分靠打拼<br
/> 爱拼才会赢</p><p>伍佰和罗大佑是我最喜欢的歌手之一。我喜欢他们的国语歌，也喜欢他们的闽南歌，如《台湾制造》，《返去故乡》，和《火车》。</p><p>《台湾制造》<br
/> 我希望和拥护两岸和平统一，但这不妨碍我喜欢这首歌。《台湾制造》歌词写得好，但随着大陆逐渐变成世界工厂，除了歌里唱到的屏东、南投、高雄、台南等地，如果嵌入苏州、义乌、东莞、汕头、宁波等其他城市，唱出一些大陆的情况，感觉也会很贴切。<br
/> <embed
src="http://player.youku.com/player.php/sid/XNDY5MjUyMjg=/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed></p><p>《返去故乡》<br
/> 我和这首歌表露出来的情怀有很多共鸣，歌词写得真的很美。我不知道这首歌的MTV是不是在伍佰的家乡台南所拍摄，但我在里面看到了我家乡山东枣庄的影子：那公路，收费站，小货车，土地，庄稼，村民和他们的表情。<br
/> <embed
src="http://player.youku.com/player.php/sid/XMzE1NzU5MDg=/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed></p><p>《火车》<br
/> 罗大佑唱的这首歌很有味道。我想对于大部分中国人，特别是小地方来的和农村人，至少对于我这样的70后，火车可以把你带到大城市和一个遥远的地方，而那通常给人以向往和憧憬。虽然那心中的憧憬和现实会有差距，甚至是很大的差距。当认识到这之后，部分的梦想成事实，部分的梦想变了样，也有部分的梦想变成了失落。但那火车旅程中却是酸甜苦辣咸，五味俱全！回过头看，竟有些戏虐和荒诞。这首《火车》的MTV，就有那个味道。<br
/> <embed
src="http://player.youku.com/player.php/sid/XMjEzNjU5OTEy/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed></p><p>我还很喜欢伍佰的闽南歌《往事欲如何》。</p><p>&#8212;&#8212;</p><p>哇噻，国泰的服务很不错。经济舱里有酒喝，有电源，和那么多的电影看。并且腿也伸得开，搞得老汉我爽歪歪！</p><p>我在飞机上看了《Pulp Fiction》和《建党伟业》。《建党伟业》里有毛毛和胡适交流的片段（毛听胡适的课，可能还有其他）。我对毛胡之间的关系有点兴趣。年初我读司徒雷登的My Fifty Years in China（英文原版，不是翻译版本），胡适给该书写得序言很有意思：胡对司徒雷登的传教很不以为然，但对其办教育却是赞赏尤加。胡也专门提到抗日胜利后国共和谈期间，胡专门给他曾经的学生老冒写信进言，并且说他确认毛收到了他的信件，但毛却没有理会。我现在对这封信很感兴趣：胡毛关系如何？党史里有没有记载？中央档案馆有没有原件？如果有，胡适的建议是什么？毛不理会的原因是什么？这事儿，有点意思！我觉得这电影基本上是尊重史实的，既然有毛胡互动的情节，就说不准有点小料。</p><p>《建党伟业》里的不少关于陈独秀、李大钊和新文化运动的情节，让我想起了去年我参观新文化运动纪念馆（好像也叫党史教育馆？）的事儿。这个纪念馆就在红楼，是国立北京大学的原址，现隆福寺附近，中央美院的西边儿。该博物馆免费，但有点遗憾，好像基本上没人来，实际上我以为它很值得参观。馆里的蔡元培、李大钊、鲁迅、胡适还有《新青年》和其他杂志的介绍就很有意思。我看了胡适的英文抗议/请愿书（好像是抗议凡尔赛巴黎和约割让山东的条款）。胡适的英文很是了得。我也在红楼的西边看到了李大钊的工作室。我对蔡元培和李大钊很有好感。</p><p>咳，行文至此，提到了自己感兴趣的话题，就多啰嗦几句，反正以前就想写的，也不知道以后有没有时间写，就先搬个小板凳放这儿占个地儿：</p><p>1.北京大学和燕京大学的关系很有意思，现在的北大校址是原燕京大学所在地（燕园）。可能是我孤陋寡闻，但我是在读完My Fifty Years in China之后才知道。我知道北京大学和燕京大学，但我以前对他们在解放前的同时存在并不了解；</p><p>2.我对司徒雷登的中国助理傅先生也感兴趣（Mr. Fugh. Stuart suggested the Fugh spelling. 名字忘掉了，现在在飞机上也不能查）。他跟随司徒到了美国，司徒晚年就是傅先生一家来照料，虽然司徒有自己的儿子和兄弟。傅先生一家人来美时，他儿子十几岁。儿子后来入伍，是美国第一位获得将军级别的华裔。傅将军前两三年去世；</p><p>3.傅将军生前是美国百人会成员，致力于提高和增进中美之间的关系、理解、和交流。在司徒的骨灰安葬于杭州（2008年？）之后，（因司徒的父母是传教士，所以他在杭州出生长大），傅将军曾在百人会的一个研讨会上讲起了这段经历。我现在的记忆有点模糊，应当再看一遍这个录像。但我记得傅将军提起司徒的遗愿是葬身于燕京大学，现北京大学所在地，因为燕京大学是司徒花多年的心血建立、扶植、和培养起来的，并且司徒的妻子好像也埋葬于燕园。这个遗愿在1980年代被邓小平、赵紫阳、胡耀邦等人批准。但89来了，事情就拖了下来。傅将军以后又提该事，政治局再次批准，但世事变迁，找到司徒太太的墓地有难处，最后决定安葬司徒于其出生地杭州；</p><p>4.傅将军提到了一件事儿我觉得特别有意思：尼克松访华后，周恩来曾专门在1972年左右邀请傅将军的父亲回国，而傅老先生真的回来并住了不短的一段时间（十几个月还是一两年，总之不短）。从司徒的书里看，司徒和周有点惺惺相惜的味道，周当然知道傅老先生和司徒的关系以及傅和国民党高层的可能的关系。我好像记得傅将军提起傅老先生之后曾赴台。如果能挖到这方面的信息，应当很有意思。这当然是国共在70年代试图通过第三方谈判的一个方面。</p><p>5.司徒和Henry Luce的关系好像比较铁。Henry Luce也是诞生于中国的传教士之子。司徒有点儿社会民主主义倾向，但Henry Luce却是个原教旨主义者。他管《时代周刊》，对美国舆论和对华政策有举足轻重的影响。马歇尔（General George Marshall)、史迪威(General Joseph Stilwell)、谢伟思（美国国务院外交官John Service)、美国陆军观察团(The Dixie mission)等人早看出老蒋政府的贪污腐败通胀和士气低落，恐怕打不过老冒，认为美国政府押错宝啦。但美国国内舆论和媒体有一边倒的“反共”指向，结果老蒋被赶到台湾后，使得美国政界一片沸腾，纷纷讨论到底是如何“丢失了中国”。来自威斯康星的参议员麦肯锡发起了声势浩大的抓内奸反共运动，指鹿为马，颠倒黑白。Henry Luce占领舆论阵地，继续挺蒋，对麦肯锡主义推波助澜。在芭芭拉-塔克曼（Barbara Tuchman）的《Practicing History》一书中，塔克曼曾假想过如果美方在二战后实施的不是坚决挺蒋的一边倒政策，保持和中国共产党的关系，结果又会如何？但历史没有如果，我们能做到的，就是尽可能的发掘事实和真相，并从中汲取教训。</p><p>有意思的是，“丢失中国”后，美国政府出了个中国报告来对此做检讨。我在司徒的书里读到了这篇报告。在傅将军的那个录像访谈里，Ambassador Roy曾提到《纽约时报》当时搞到了一份原件，但当时美国政府不愿发布，开始施压，好像制造出一个劳资纠纷的假象，《纽约时报》半推半就，这个新闻就被压制住了。</p><p>6.司徒的关于中国和中国人及中国学生的评论很有意思。</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/11/12/%e6%88%90%e8%b4%a5%ef%bc%8c%e4%ba%a6%e5%8e%9f%e5%9c%a8%ef%bc%9b%e5%90%8c%e6%a0%b9%e6%a0%91%ef%bc%8c%e5%81%83%e6%9c%aa%e6%9d%a5/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>20110925在路上的意识流</title><link>http://www.haidongji.com/2011/09/27/20110925%e5%9c%a8%e8%b7%af%e4%b8%8a%e7%9a%84%e6%84%8f%e8%af%86%e6%b5%81/</link> <comments>http://www.haidongji.com/2011/09/27/20110925%e5%9c%a8%e8%b7%af%e4%b8%8a%e7%9a%84%e6%84%8f%e8%af%86%e6%b5%81/#comments</comments> <pubDate>Tue, 27 Sep 2011 15:42:58 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Chinese]]></category> <category><![CDATA[EastWest]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1256</guid> <description><![CDATA[以下东西是星期天在飞机上的涂鸦，见笑。费了九牛二虎之力，总算贴上了，不知什么情况，想换hosting公司了。。。 读完了星期天在旧金山东风书店买的冯小刚的《我把青春献给你》。在读白岩松的《幸福了吗？》，不错。还买了霍达的《穆斯林的葬礼》，等回家后读。 tmd，大妓院时报各大城市都有啊，一帮疯子。正所谓，林子大啦，什么鸟都有。 &#8212;&#8212; 没时间写东西，就先把一些想表达的东西在飞机上倾泻出来，逗个乐子，可能没时间改正语法和错别字，各位见谅。Linux上的中文输入，和Windows上的比起来，太不给力了。 原来以为在家里上班会轻松些，但我揽了很多活，周末也忙得不行。昨天晚上临睡前才整理了一些衣物和书籍，因为我今天去旧金山出差，而现在就坐在联航的班机上。在候机楼旁边的道路上，看到有一辆车撞到了道路护栏上，很多警车在处理后事。想来车速应当极快，因为车前体完全变形，地上很多液体。有可能有人血，但不敢肯定：早上刚到5点，看不太清。 出租车里的收音机是WBBM新闻台，一点意思都没有，当然对华尔街的抗议和纽约城管施暴的新闻闭口不提。进了机场，拖鞋解裤腰带，被搜身扫描，机场里有芝加哥市提醒公民注意卫生，咳嗽时建议用纸巾唔嘴的建议，和教会邀请乘客到机场教堂做弥撒或礼拜的通知，被大喇叭广播广而告之出来。所幸的是，我找到了一个没有播放CNN新闻的候机部位，清净了不少。来早了，想赶上早一个航班，被告知要加75块，遂放弃。其它情况下，可能也就认了，但今天不着急。并且我以前赶早班的客机不要交钱的，不知这个屁条规什么时候开始生效的。在机场吃了份oatmeal，不错。就是浓的麦粥，我加了点儿红糖（这个也有意思，英语里称之为棕色糖，brown sugar）。中学住校时，早晨会喝点棒子面汤，没想到南方的美国同胞也喜吃棒子面做的一种粥来做早点，所谓grits是也：不少会有培根奶酪等。我还没吃过正宗的grits。 孩子的冰球训练已经开始了。他血管里有一半瑞典人的血，当然要搞滑冰和冰球，不过这玩意儿不便宜。孩娘和儿子昨天到商店买器械，一下子就是好几百块。他们不在家，晚饭我自己解决：四块面包，一些cream cheese（可以在面包上摊开的软奶酪），几片红洋葱，肉片（salami)，还有一点小辣椒！这小辣椒实际上是腌辣椒，giardiniera，是泡在豆油里的辣椒、芹菜、和橄榄之类的东西，有点儿辣味儿。 晚饭前我遛了下我们的小狗。这小家伙在慢慢长大，需要不少的时间和精力来训练。这公狗和男人一样，也长着基本上没大用的乳头。没有手，就无所谓手淫，但会用他的玩具和小毛毯来模拟性交，兴致盎然，之后会舔他的jj，很享受的样子。狗见面，不问“吃了吗”，会咬来咬去，互舔生殖器。我和太太估计我们快要给他搞阉割或结扎的绝育手术了。 不过狗在屙屎放屁方面，比人强多了。屙完了，腚眼子很干净，根本不用擦，并且人也不会给他擦，当然我们会捡起他的大便。人大便不干净，所以要用卫生纸。我小时候，哪有卫生纸？墙角、植物的叶子、小石头或小土块就可以解决问题。后来进化到报纸，一物两用，华主席、邓公、胡耀邦、赵紫阳、李鹏和其他党和国家领导人和我都有过亲密接触。上高中和大学时开始慢慢使用卫生纸，和江泽民、朱熔基等人的亲密接触少了些，但也不是没有过！我读过的书和历史，还没有听说过人遭举报以该种方式亵渎伟大领袖老冒的尊容而遭罪的事实，但我觉得这种事儿肯定有。老冒、四人帮、李鹏等人遭受这种待遇，不会得到我的同情。 放屁上，狗和人比，也是技高一筹。我们家的小狗，到目前为止，放的全是哑屁！一点儿也不费力。狗喜欢舔人，一开始，我以为他的舌头可以伸到鼻孔里去，这样我就不要自己抠鼻子了。现在看来，这不大可能，因为人的鼻孔太小。并且，抠鼻子也是人生一大乐趣之一，不可轻易放弃。要知道，鼻孔虽小，内中却自有一番洞天：沟壑纵横，杂草从生。所以大家会在没人看见的情况下，调整指头的角度，自得其乐，越是难挖、难够到的角落，越有兴趣，越要挖到！并且我发现，人到中年之后，毛都是在不该长的地方长：鼻孔和耳朵就是个例子，我现在发现用小剪刀剪鼻毛也挺享受的。 说起狗屎，就想起了我小时候家里东南角的粪坑。各种动物的粪便，刷锅水，植物的秸秆等都被放在那儿，我们家乡话叫沤粪，是农田的好肥料。孩娘瑞典的老家的不少人也有类似的东西，不过大部分不是坑，而是密闭的箱子，所谓composite box是也。落叶啦，干草啦，剩饭菜啦等都可以放在里面发酵分解，做花园和菜园里的肥料。我们打算在我们家也搞一个，攒点狗屎和其它废物给我们的小菜地施肥。买狗屎袋子出了点儿问题。市场上不少自称可分解的袋子都是骗人的东西，打着biodegradable的幌子，实则不然。孩娘找了下，我们发现了一个品牌，可能管用。 接下来一段时间会到伦敦和北京。前几天和同事巴伦-施瓦茨聊天，谈一些科技方面的书和以后的计划，才发现有两三个月没时间读闲书了。劳逸结合，是该放松下。就读了下萧红的一些散文，不错。翻了翻张爱玲的一些书，觉得不对味，以后再说吧。 淘宝和阿里的开源做得真不错，赞！最近也看了不少中文IT技术会议的中文pdf，也很棒。继续发力和加油，脚踏实地，一步一个脚印地往前走，就能搞出些名堂来。老祖宗说得好：千里之行，始于足下！]]></description> <content:encoded><![CDATA[<p>以下东西是星期天在飞机上的涂鸦，见笑。费了九牛二虎之力，总算贴上了，不知什么情况，想换hosting公司了。。。</p><p>读完了星期天在旧金山东风书店买的冯小刚的《我把青春献给你》。在读白岩松的《幸福了吗？》，不错。还买了霍达的《穆斯林的葬礼》，等回家后读。</p><p>tmd，大妓院时报各大城市都有啊，一帮疯子。正所谓，林子大啦，什么鸟都有。</p><p>&#8212;&#8212;</p><p>没时间写东西，就先把一些想表达的东西在飞机上倾泻出来，逗个乐子，可能没时间改正语法和错别字，各位见谅。Linux上的中文输入，和Windows上的比起来，太不给力了。</p><p>原来以为在家里上班会轻松些，但我揽了很多活，周末也忙得不行。昨天晚上临睡前才整理了一些衣物和书籍，因为我今天去旧金山出差，而现在就坐在联航的班机上。在候机楼旁边的道路上，看到有一辆车撞到了道路护栏上，很多警车在处理后事。想来车速应当极快，因为车前体完全变形，地上很多液体。有可能有人血，但不敢肯定：早上刚到5点，看不太清。</p><p>出租车里的收音机是WBBM新闻台，一点意思都没有，当然对华尔街的抗议和纽约城管施暴的新闻闭口不提。进了机场，拖鞋解裤腰带，被搜身扫描，机场里有芝加哥市提醒公民注意卫生，咳嗽时建议用纸巾唔嘴的建议，和教会邀请乘客到机场教堂做弥撒或礼拜的通知，被大喇叭广播广而告之出来。所幸的是，我找到了一个没有播放CNN新闻的候机部位，清净了不少。来早了，想赶上早一个航班，被告知要加75块，遂放弃。其它情况下，可能也就认了，但今天不着急。并且我以前赶早班的客机不要交钱的，不知这个屁条规什么时候开始生效的。在机场吃了份oatmeal，不错。就是浓的麦粥，我加了点儿红糖（这个也有意思，英语里称之为棕色糖，brown sugar）。中学住校时，早晨会喝点棒子面汤，没想到南方的美国同胞也喜吃棒子面做的一种粥来做早点，所谓grits是也：不少会有培根奶酪等。我还没吃过正宗的grits。</p><p>孩子的冰球训练已经开始了。他血管里有一半瑞典人的血，当然要搞滑冰和冰球，不过这玩意儿不便宜。孩娘和儿子昨天到商店买器械，一下子就是好几百块。他们不在家，晚饭我自己解决：四块面包，一些cream cheese（可以在面包上摊开的软奶酪），几片红洋葱，肉片（salami)，还有一点小辣椒！这小辣椒实际上是腌辣椒，giardiniera，是泡在豆油里的辣椒、芹菜、和橄榄之类的东西，有点儿辣味儿。</p><p>晚饭前我遛了下我们的小狗。这小家伙在慢慢长大，需要不少的时间和精力来训练。这公狗和男人一样，也长着基本上没大用的乳头。没有手，就无所谓手淫，但会用他的玩具和小毛毯来模拟性交，兴致盎然，之后会舔他的jj，很享受的样子。狗见面，不问“吃了吗”，会咬来咬去，互舔生殖器。我和太太估计我们快要给他搞阉割或结扎的绝育手术了。</p><p>不过狗在屙屎放屁方面，比人强多了。屙完了，腚眼子很干净，根本不用擦，并且人也不会给他擦，当然我们会捡起他的大便。人大便不干净，所以要用卫生纸。我小时候，哪有卫生纸？墙角、植物的叶子、小石头或小土块就可以解决问题。后来进化到报纸，一物两用，华主席、邓公、胡耀邦、赵紫阳、李鹏和其他党和国家领导人和我都有过亲密接触。上高中和大学时开始慢慢使用卫生纸，和江泽民、朱熔基等人的亲密接触少了些，但也不是没有过！我读过的书和历史，还没有听说过人遭举报以该种方式亵渎伟大领袖老冒的尊容而遭罪的事实，但我觉得这种事儿肯定有。老冒、四人帮、李鹏等人遭受这种待遇，不会得到我的同情。</p><p>放屁上，狗和人比，也是技高一筹。我们家的小狗，到目前为止，放的全是哑屁！一点儿也不费力。狗喜欢舔人，一开始，我以为他的舌头可以伸到鼻孔里去，这样我就不要自己抠鼻子了。现在看来，这不大可能，因为人的鼻孔太小。并且，抠鼻子也是人生一大乐趣之一，不可轻易放弃。要知道，鼻孔虽小，内中却自有一番洞天：沟壑纵横，杂草从生。所以大家会在没人看见的情况下，调整指头的角度，自得其乐，越是难挖、难够到的角落，越有兴趣，越要挖到！并且我发现，人到中年之后，毛都是在不该长的地方长：鼻孔和耳朵就是个例子，我现在发现用小剪刀剪鼻毛也挺享受的。</p><p>说起狗屎，就想起了我小时候家里东南角的粪坑。各种动物的粪便，刷锅水，植物的秸秆等都被放在那儿，我们家乡话叫沤粪，是农田的好肥料。孩娘瑞典的老家的不少人也有类似的东西，不过大部分不是坑，而是密闭的箱子，所谓composite box是也。落叶啦，干草啦，剩饭菜啦等都可以放在里面发酵分解，做花园和菜园里的肥料。我们打算在我们家也搞一个，攒点狗屎和其它废物给我们的小菜地施肥。买狗屎袋子出了点儿问题。市场上不少自称可分解的袋子都是骗人的东西，打着biodegradable的幌子，实则不然。孩娘找了下，我们发现了一个品牌，可能管用。</p><p>接下来一段时间会到伦敦和北京。前几天和同事巴伦-施瓦茨聊天，谈一些科技方面的书和以后的计划，才发现有两三个月没时间读闲书了。劳逸结合，是该放松下。就读了下萧红的一些散文，不错。翻了翻张爱玲的一些书，觉得不对味，以后再说吧。</p><p>淘宝和阿里的开源做得真不错，赞！最近也看了不少中文IT技术会议的中文pdf，也很棒。继续发力和加油，脚踏实地，一步一个脚印地往前走，就能搞出些名堂来。老祖宗说得好：千里之行，始于足下！</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/09/27/20110925%e5%9c%a8%e8%b7%af%e4%b8%8a%e7%9a%84%e6%84%8f%e8%af%86%e6%b5%81/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>出来冒个泡</title><link>http://www.haidongji.com/2011/08/17/%e5%87%ba%e6%9d%a5%e5%86%92%e4%b8%aa%e6%b3%a1-2/</link> <comments>http://www.haidongji.com/2011/08/17/%e5%87%ba%e6%9d%a5%e5%86%92%e4%b8%aa%e6%b3%a1-2/#comments</comments> <pubDate>Thu, 18 Aug 2011 04:10:25 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Other]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1243</guid> <description><![CDATA[哇噻，瞧这一阵子忙的，根本没啥闲空。还好到波特兰开会演讲后抽出点时间，算是唯一的放松。波特兰很不错。 八月桂花香，八月我四十。我出生后一个月左右，林彪感到老冒把自己周围的人搞的杀的差不多了，这回该轮到他这个副统帅，仓皇出逃坠机而死。我五岁那年，老冒驾崩，说实话，我没啥印象。七十年代末开始在我们季庄村上小学，俺娘是季庄小学的民办教师，教小学数学。考市重点中学升初中落榜。那次考试要到枣庄市，是我第一次进城：第一次见小汽车，第一次见高过两层的楼房，向往着小城里的地下饭店（这饭店居然能开到地下来，何等的神奇呀！），听着吃公粮的人说出来的城市话，看着城市的繁华，让我稍微乱了方寸，可能是我落榜的原因之一。然后到公社/镇上的初中念了三年，俺大是那里的公办语文老师。1986年升高中，考重点高中再次落榜，然后到县城读高中。高考时，你猜对了，我第三次落榜。然后复读一年，这次我卧薪尝胆，咸鱼翻身，成了我市文科探花，于1990年到遥远的南方厦门大学读书。1994年毕业前夕还搞了段黄昏恋，毕业后到北京工作大半年期间和她分手。我看了下当时的日记，主要是觉得性格和理想上合不来，不可能走到一起。以后曾给那个善良美丽的女生写过一封道歉信，发信之前，和一个朋友聊起这件事儿，他说你这不行，道什么歉，要一刀两断，弄不好还搞得藕断丝连。我听从了这个建议，烧掉了那封信。那一段时间还写过一封求爱信，被拒。 然后就来美国了，1995年夏天的事儿。这一走，就是16年，并且我很有可能在美国这片土地上度过我的大部分生命。一开始的艰难，有语言、文化、风俗、饮食上的不同，有孤独和不安全感。但所幸的是我有成为我妻子的女友，我们一起走过了这些日子。对于我的父母和亲人，我永远感恩不尽。在语言、文化、风俗、和饮食等方面，我感觉我调整的还不错。宗教上，我回归到了坚定的无神论者。政治上，我觉得民逗启蒙精英和五毛乌有之乡之类的人士都很恶心，虽然如果我一直在北京工作下去的话，我现在很可能以民逗启蒙精英人士自居。这十几年的游历，让我觉得人和人之间差别真的很小，不管你是美国人，中国人，瑞典人或其他各种符号的人。中国，印度，越南，菲律宾，非洲，拉丁美洲等太多太多国家的人士，那么多人的自信被各种各样的因素摧垮。我感觉要重建那种自信，不自卑自负，光大自己的优良传统，吸收外来文化，才能走出自己的路。 老婆之前开玩笑，说要给我个over the hill派对。那天也就从中国城点了几个饺子，炒地蛋丝儿，水煮肉，老虎菜，夫妻肺片，素炒米饭等，带回家里吃。因为我们前几个星期养了个小狗，不好带到饭馆里去。我去取菜，老婆在家里弄了壶茶，拿出孔府家酒的辣酒，完了我们三口人吃。水煮肉吃起来过瘾，但晚上我坐在马桶上，火星四射，天女散花，放出一些稀薄的汤水般的粪便后才好受些。 分享一首歌，叫《我多想》。1986年春晚，我在我家的飞跃或凯歌牌14寸黑白电视上第一次听成方圆唱这首歌，当时就很喜欢。在虾米上我没找到成方圆的版本，就听了下黑鸭子唱的，也不错。 我多想 我多想变成一朵白云 飘在家乡翠绿的山林 在那果园里留下亲吻 在那湖水中投下笑影 啊让翠绿的山林更加翠绿 让美丽的姿容更加年轻 啊让翠绿的山林更加翠绿 让美丽的姿容更加年轻 &#8212;Music&#8212; 我多想变成一缕春风 吹遍家乡翠绿的山林 为那小伙子擦去热汗 为那姑娘们送去歌声 啊让翠绿的山林更加翠绿 让欢歌笑语更加动听 啊让翠绿的山林更加翠绿 让欢歌笑语更加动听 啦啦啦啦啦啦啦啦啦 啊让翠绿的山林更加翠绿 让欢歌笑语更加动听 啊让翠绿的山林更加翠绿 让欢歌笑语更加动听]]></description> <content:encoded><![CDATA[<p>哇噻，瞧这一阵子忙的，根本没啥闲空。还好到波特兰开会演讲后抽出点时间，算是唯一的放松。波特兰很不错。</p><p>八月桂花香，八月我四十。我出生后一个月左右，林彪感到老冒把自己周围的人搞的杀的差不多了，这回该轮到他这个副统帅，仓皇出逃坠机而死。我五岁那年，老冒驾崩，说实话，我没啥印象。七十年代末开始在我们季庄村上小学，俺娘是季庄小学的民办教师，教小学数学。考市重点中学升初中落榜。那次考试要到枣庄市，是我第一次进城：第一次见小汽车，第一次见高过两层的楼房，向往着小城里的地下饭店（这饭店居然能开到地下来，何等的神奇呀！），听着吃公粮的人说出来的城市话，看着城市的繁华，让我稍微乱了方寸，可能是我落榜的原因之一。然后到公社/镇上的初中念了三年，俺大是那里的公办语文老师。1986年升高中，考重点高中再次落榜，然后到县城读高中。高考时，你猜对了，我第三次落榜。然后复读一年，这次我卧薪尝胆，咸鱼翻身，成了我市文科探花，于1990年到遥远的南方厦门大学读书。1994年毕业前夕还搞了段黄昏恋，毕业后到北京工作大半年期间和她分手。我看了下当时的日记，主要是觉得性格和理想上合不来，不可能走到一起。以后曾给那个善良美丽的女生写过一封道歉信，发信之前，和一个朋友聊起这件事儿，他说你这不行，道什么歉，要一刀两断，弄不好还搞得藕断丝连。我听从了这个建议，烧掉了那封信。那一段时间还写过一封求爱信，被拒。</p><p>然后就来美国了，1995年夏天的事儿。这一走，就是16年，并且我很有可能在美国这片土地上度过我的大部分生命。一开始的艰难，有语言、文化、风俗、饮食上的不同，有孤独和不安全感。但所幸的是我有成为我妻子的女友，我们一起走过了这些日子。对于我的父母和亲人，我永远感恩不尽。在语言、文化、风俗、和饮食等方面，我感觉我调整的还不错。宗教上，我回归到了坚定的无神论者。政治上，我觉得民逗启蒙精英和五毛乌有之乡之类的人士都很恶心，虽然如果我一直在北京工作下去的话，我现在很可能以民逗启蒙精英人士自居。这十几年的游历，让我觉得人和人之间差别真的很小，不管你是美国人，中国人，瑞典人或其他各种符号的人。中国，印度，越南，菲律宾，非洲，拉丁美洲等太多太多国家的人士，那么多人的自信被各种各样的因素摧垮。我感觉要重建那种自信，不自卑自负，光大自己的优良传统，吸收外来文化，才能走出自己的路。</p><p>老婆之前开玩笑，说要给我个over the hill派对。那天也就从中国城点了几个饺子，炒地蛋丝儿，水煮肉，老虎菜，夫妻肺片，素炒米饭等，带回家里吃。因为我们前几个星期养了个小狗，不好带到饭馆里去。我去取菜，老婆在家里弄了壶茶，拿出孔府家酒的辣酒，完了我们三口人吃。水煮肉吃起来过瘾，但晚上我坐在马桶上，火星四射，天女散花，放出一些稀薄的汤水般的粪便后才好受些。</p><p>分享一首歌，叫《我多想》。1986年春晚，我在我家的飞跃或凯歌牌14寸黑白电视上第一次听成方圆唱这首歌，当时就很喜欢。在虾米上我没找到成方圆的版本，就听了下黑鸭子唱的，也不错。</p><p><script type="text/javascript" src="http://www.xiami.com/widget/player-single?uid=0&#038;sid=181304&#038;mode=js"></script><br
/> 我多想</p><p>我多想变成一朵白云<br
/> 飘在家乡翠绿的山林<br
/> 在那果园里留下亲吻<br
/> 在那湖水中投下笑影<br
/> 啊让翠绿的山林更加翠绿<br
/> 让美丽的姿容更加年轻<br
/> 啊让翠绿的山林更加翠绿<br
/> 让美丽的姿容更加年轻<br
/> &#8212;Music&#8212;<br
/> 我多想变成一缕春风<br
/> 吹遍家乡翠绿的山林<br
/> 为那小伙子擦去热汗<br
/> 为那姑娘们送去歌声<br
/> 啊让翠绿的山林更加翠绿<br
/> 让欢歌笑语更加动听<br
/> 啊让翠绿的山林更加翠绿<br
/> 让欢歌笑语更加动听<br
/> 啦啦啦啦啦啦啦啦啦<br
/> 啊让翠绿的山林更加翠绿<br
/> 让欢歌笑语更加动听<br
/> 啊让翠绿的山林更加翠绿<br
/> 让欢歌笑语更加动听</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/08/17/%e5%87%ba%e6%9d%a5%e5%86%92%e4%b8%aa%e6%b3%a1-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Generating dimension data for dates</title><link>http://www.haidongji.com/2011/07/30/generating-dimension-data-for-dates/</link> <comments>http://www.haidongji.com/2011/07/30/generating-dimension-data-for-dates/#comments</comments> <pubDate>Sun, 31 Jul 2011 04:12:06 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[SQLServer]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Windows]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1238</guid> <description><![CDATA[Most analytical and BI databases have date dimension table(s). One frequently needs to generate and populate such data. I present a solution below for such data generation, written in Python. Please use different database drivers/modules to connect to your specific database server (MySQL, SQL Server, Oracle, etc.) for data population. Notes: 1. It takes 2 [...]]]></description> <content:encoded><![CDATA[<p>Most analytical and BI databases have date dimension table(s). One frequently needs to generate and populate such data. I present a solution below for such data generation, written in Python. Please use different database drivers/modules to connect to your specific database server (MySQL, SQL Server, Oracle, etc.) for data population.</p><p>Notes:</p><p>1. It takes 2 parameters, start date and end date, in YYYYMMDD format, inclusive. Extensive error checking is built in, but let me know if you have comments/suggestions;</p><p>2. The script produce a Python dictionary (associated array) and print out its content;</p><p>3. The output includes dayNumber: a day&#8217;s position in a year. For example, 2011-02-01 is the 32ed day in 2011, therefore its dayNumber is 32;</p><p>4. The output includes weekNumber: a week&#8217;s position in a year. The week number in year is based on ISO standard. From documentation: the ISO year consists of 52 or 53 full weeks, where a week starts on a Monday and ends on a Sunday. The first week of an ISO year is the first (Gregorian) calendar week of a year containing a Thursday. This is called week number 1, and the ISO year of that Thursday is the same as its Gregorian year.</p><p>So, 2011-01-01 has the weekNumber 52, because it falls on a Saturday and belongs to the last week of 2010.</p><p>5. The output includes weekday information as well. 4 different variations are included:<br
/> Sunday 0, Monday 1, and so on<br
/> Sunday 1, Monday 2, and so on<br
/> Monday 0, Tuesday 1, and so on<br
/> Monday 1, Tuesday 2, and so on</p><p>6. The script requires the argparse module. It comes with Python 2.7. Python version prior to 2.7 does not have it by default, therefore you need to install it.</p><pre class="brush: python">
import argparse, sys, time
from datetime import date, timedelta
parser = argparse.ArgumentParser(description=&quot;Generating date dimension data&quot;)
parser.add_argument(&#039;-s&#039;, &#039;--startDate&#039;, help=&#039;Start date in YYYYMMDD format&#039;, required=True, dest=&#039;startDate&#039;)
parser.add_argument(&#039;-e&#039;, &#039;--endDate&#039;, help=&#039;end date in YYYYMMDD format&#039;, required=True, dest=&#039;endDate&#039;)
argList = parser.parse_args()
if (((not argList.startDate.isdigit()) or (not (len(argList.startDate) == 8))) or ((not argList.endDate.isdigit()) or (not (len(argList.endDate) == 8))) or (argList.startDate &gt; argList.endDate)):
	print &quot;Input(s) must be numeric in YYYYMMDD format and end date must not be earlier than start date&quot;
	sys.exit (1)
try:
	startDate = date(int(argList.startDate[0:4]), int(argList.startDate[4:6]), int(argList.startDate[6:8]))
	endDate = date(int(argList.endDate[0:4]), int(argList.endDate[4:6]), int(argList.endDate[6:8]))
except ValueError:
	print &quot;Input(s) must be valid date value in YYYYMMDD format&quot;
	sys.exit (1)
start = time.time()
while startDate &lt;= endDate:
	dateInfo = {&#039;dateYYYYMMDD&#039;: startDate.strftime(&#039;%Y%m%d&#039;), &#039;calDate&#039;: startDate.strftime(&#039;%Y-%m-%d&#039;), &#039;calDay&#039;: startDate.day, &#039;calMonth&#039;: startDate.month, &#039;calYear&#039;: startDate.year}
	dateInfo[&#039;dayOfWeekSunday0Monday1&#039;] = startDate.isoweekday() % 7
	dateInfo[&#039;dayOfWeekSunday1Monday2&#039;] = startDate.isoweekday() % 7 + 1
	dateInfo[&#039;dayOfWeekSunday6Monday0&#039;] = startDate.weekday()
	dateInfo[&#039;dayOfWeekSunday7Monday1&#039;] = startDate.isoweekday()
	dateInfo[&#039;dayNumber&#039;] = startDate.toordinal() - date(startDate.year - 1, 12, 31).toordinal()
	dateInfo[&#039;weekNumber&#039;] = startDate.isocalendar()[1]
	print dateInfo
	startDate = startDate + timedelta(1)
</pre>]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/07/30/generating-dimension-data-for-dates/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Sysinternals and PAL</title><link>http://www.haidongji.com/2011/07/10/sysinternals-and-pal/</link> <comments>http://www.haidongji.com/2011/07/10/sysinternals-and-pal/#comments</comments> <pubDate>Sun, 10 Jul 2011 17:19:09 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[SQLServer]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Windows]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1229</guid> <description><![CDATA[Sysinternals and PAL (Performance Analysis of Logs) are two fantastic tools for general server information gathering and troubleshooting on Windows. Sysinternals suite is a set of tools that can be downloaded freely from Microsoft. One thing that is particularly attractive about them is that they can be run directly after downloading without special installation and [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://technet.microsoft.com/en-us/sysinternals/bb842062">Sysinternals</a> and <a
href="http://pal.codeplex.com/">PAL (Performance Analysis of Logs)</a> are two fantastic tools for general server information gathering and troubleshooting on Windows.</p><p>Sysinternals suite is a set of tools that can be downloaded freely from Microsoft. One thing that is particularly attractive about them is that they can be run directly after downloading without special installation and all the footprints a typical installation leaves on the host machine (new directories under C:\Program Files\, registry entries, data files and what have you). I found them very valuable and handy.</p><p>In particular, psInfo provides good summary information of the server. For example, psinfo -s -h -d provides basic information about the system, software installed, Windows hot fixes installed, and disk volume information.</p><p>PAL: install PAL on your test/analysis/general purpose machine. Install the mschart control as it is a prerequisite of PAL. Here is how I used it:</p><p>1. Produce Perfmon data gathering template files using PAL. I exported 3 template files: overview, quick overview, and SQL Server 2005/2008;</p><p>Perfmon is the general-purpose data instrumentation tool on Windows. Through Perfmon you can gather system wide counters for things like CPU, memory, network, and disk IO. In addition, a lot of applications such as SQL Server, Exchange, and others, expose application level Instrumentation data such that you can collect them via Perfmon as well.</p><p>It is best to have a few handy data collection template, hence this step.</p><p>2. On the Windows server that I am interested in monitoring, import Perfmon counter template file produced above by opening a DOS prompt under Administrator and executing:</p><p>logman import -n templateNameIdefine -xml pathAndName2TemplateXmlFile</p><p>3. Open Perfmon, find the one you imported, and start collecting</p><p>4. After collection is done, copy the log file and use PAL for analysis. It will generate a very nice and intuitive report. Please don&#8217;t run PAL on the system you are diagnosing. Run it somewhere else. Be patient, as it will take a while for PAL to churn through the data (it took 2 hours on a Rackspace cloud server with 2 CPUs and 1 gig of RAM for a file about 30 meg)</p> ]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/07/10/sysinternals-and-pal/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>A comparison of HandlerSocket and mysql client libraries with Python</title><link>http://www.haidongji.com/2011/06/29/a-comparison-of-handlersocket-and-mysql-client-libraries-with-python/</link> <comments>http://www.haidongji.com/2011/06/29/a-comparison-of-handlersocket-and-mysql-client-libraries-with-python/#comments</comments> <pubDate>Wed, 29 Jun 2011 21:50:58 +0000</pubDate> <dc:creator>Haidong Ji</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Technology]]></category> <guid
isPermaLink="false">http://www.haidongji.com/?p=1223</guid> <description><![CDATA[I&#8217;ve done some benchmark testing of 2 Python modules for MySQL data retrieval: MySQLdb and pyhs. MySQLdb uses MySQL&#8217;s client libraries, whereas pyhs uses HandlerSocket that bypasses MySQL&#8217;s client layer and interfaces Innodb storage engine&#8217;s files directly. In my testing, HandlerSocket results in 82% improvement over mysql client libraries based on number of rows retrieved. [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve done some benchmark testing of 2 Python modules for MySQL data retrieval: MySQLdb and pyhs. <a
href="http://www.haidongji.com/2011/04/04/install-mysqldb-module-for-python/">MySQLdb</a> uses MySQL&#8217;s client libraries, whereas <a
href="http://pypi.python.org/pypi/python-handler-socket">pyhs</a> uses <a
href="http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html">HandlerSocket</a> that bypasses MySQL&#8217;s client layer and interfaces Innodb storage engine&#8217;s files directly. In my testing, HandlerSocket results in 82% improvement over mysql client libraries based on number of rows retrieved. The tests were conducted under different conditions: right after a start when cache is cold, a warmed up cache after running SELECT * FROM customer, and alternating the execution order of those 2 Python files. The results are fairly consistent in that they all fall in the same range. Below is a sample output.</p><pre class="brush: text">
root@ubuntu:~# python hanSolo.py
Using HandlerSocket, below is a report of how many customer&#039;s name and address can be retrieved based on customer key:
Seconds elapsed:  61.0000810623
Rows retrieved:  509863
root@ubuntu:~# python mclient.py
Using mysql client libraries, below is a report of how many customer&#039;s name and address can be retrieved based on customer key:
Seconds elapsed:  61.0001530647
Rows retrieved:  280120
</pre><p>Here is my setup:</p><p>Hardware and software:<br
/> 1. Rackspace Cloud server Ubuntu 10.04 Lucid Lynx, 1 gig memory, 40 gig hard disk space, 64-bit<br
/> Linux ubuntu 2.6.35.4-rscloud #8 SMP Mon Sep 20 15:54:33 UTC 2010 x86_64 GNU/Linux</p><p>2. Following <a
href="http://www.percona.com/docs/wiki/repositories:apt">instruction here</a> to get Percona&#8217;s APT repository;</p><p>3. apt-get install percona-server-client-5.5</p><p>4. apt-get install percona-server-server-5.5</p><p>Enable HandlerSocket plugin. HandlerSocket is bundled with Percona Server 5.5, so you don&#8217;t have to download source files, config, make, build yourself:</p><pre class="brush: text">
1. mysql&gt; install plugin handlersocket soname &#039;handlersocket.so&#039;
</pre><p>2 cp /usr/share/mysql/my-large.cnf /etc/mysql/my.cnf</p><p>3. vim /etc/mysql/my.cnf with the following under mysqld section</p><pre class="brush: text">
loose_handlersocket_port = 9998
loose_handlersocket_port_wr = 9999
loose_handlersocket_threads = 16
loose_handlersocket_threads_wr = 1
open_files_limit = 65535
</pre><p>4. service mysql restart</p><p>Acquire Python&#8217;s MySQLdb and pyhs modules:</p><p>1. apt-get install libmysqlclient-dev<br
/> Necessary for building Python&#8217;s MySQLdb</p><p>2. apt-get install python-dev<br
/> Necessary Python header files, gcc, make, etc., for building Python modules</p><p>2. wget the <a
href="http://pypi.python.org/pypi/setuptools">appropriate egg</a> from this page. Get the one for your version of Python.</p><p>3. sh eggFileDownloadedFromTheStepAbove</p><p>4. easy_install MySQL-python<br
/> MySQLdb module, which uses mysql client for MySQL access</p><p>5. easy_install python-handler-socket</p><p>Prepare testing data</p><p>1. Follow <a
href="http://www.haidongji.com/2011/03/30/data-generation-with-tpc-hs-dbgen-for-load-testing/">instructions here</a> to get dbgen compiled;</p><p>2. While at the proper directory, run<br
/> ./dbgen -v -T c<br
/> It will generate a customer file that has 150000 rows</p><p>3. Create customer table in test. Here is the DDL:</p><pre class="brush: sql">
CREATE TABLE customer ( C_CUSTKEY     INTEGER NOT NULL,
C_NAME        VARCHAR(25) NOT NULL,
C_ADDRESS     VARCHAR(40) NOT NULL,
C_NATIONKEY   INTEGER NOT NULL,
C_PHONE       CHAR(15) NOT NULL,
C_ACCTBAL     DECIMAL(15,2)   NOT NULL,
C_MKTSEGMENT  CHAR(10) NOT NULL,
C_COMMENT     VARCHAR(117) NOT NULL,
primary key (C_CUSTKEY));
</pre><p>4. load data local infile &#8216;/root/dbgen/customer.tbl&#8217; into table customer fields terminated by &#8216;|&#8217; lines terminated by &#8216;\n&#8217;;<br
/> Adjust file location as necessary.</p><p>Finally, here is the content of my throwaway Python test scripts. One highlight of mclient.py is it demonstrate how to return results back in as dict with MySQLdb.</p><p>hanSolo.py</p><pre class="brush: python">
import time
from pyhs import Manager
hs = Manager()
start = time.time()
i = 1
j= 0
while i &lt; 150000:
	data = hs.get(&#039;test&#039;, &#039;customer&#039;, [&#039;C_CUSTKEY&#039;, &#039;C_NAME&#039;, &#039;C_ADDRESS&#039;], &#039;%s&#039; % i)
	i=i+1
	if i == 150000:
		i = 1
	end = time.time()
	j = j + 1
	if int(end - start) &gt; 60:
		break
print &quot;Using HandlerSocket, below is a report of how many customer&#039;s name and address can be retrieved based on customer key:&quot;
print &quot;Seconds elapsed: &quot;, str(end - start)
print &quot;Rows retrieved: &quot;, str(j)
</pre><p>mclient.py</p><pre class="brush: python">
import sys, MySQLdb, time
my_host = &quot;localhost&quot;
my_user = &quot;root&quot;
my_pass = &quot;&quot;
my_db = &quot;test&quot;
try:
    db = MySQLdb.connect(host=my_host, user=my_user, passwd=my_pass, db=my_db)
except MySQLdb.Error, e:
     print &quot;Error %d: %s&quot; % (e.args[0], e.args[1])
     sys.exit (1)
cursor = db.cursor (MySQLdb.cursors.DictCursor)
i=1
j=0
start = time.time()
while i &lt; 150000:
	sql = &quot;select c_custkey, c_name, c_address from customer where c_custkey=%s&quot; % i;
	cursor.execute(sql)
	results = cursor.fetchall()
	i=i+1
	if i==150000:
		i=1
	end = time.time()
	j=j+1
	if int(end - start) &gt; 60:
		break
print &quot;Using mysql client libraries, below is a report of how many customer&#039;s name and address can be retrieved based on customer key:&quot;
print &quot;Seconds elapsed: &quot;, str(end - start)
print &quot;Rows retrieved: &quot;, str(j)
db.close()
</pre>]]></content:encoded> <wfw:commentRss>http://www.haidongji.com/2011/06/29/a-comparison-of-handlersocket-and-mysql-client-libraries-with-python/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
