<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[Share For Forever]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[]]></description>
<link>http://hi.baidu.com/jackflit</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[I choose pragmatic]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/a95c2a8b13fb6cd9fc1f10f3.html]]></link>
        <description><![CDATA[
		
		<p>As a good engineer, from usability, aesthetic, open, free, stable, security, high performance which one I should choose?</p>
<p>I choose PRAGMATIC.</p>
<p> </p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%BC%BC%CA%F5">技术</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/a95c2a8b13fb6cd9fc1f10f3.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-22  18:56</pubDate>
        <category><![CDATA[技术]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/a95c2a8b13fb6cd9fc1f10f3.html</guid>
</item>

<item>
        <title><![CDATA[我们需要GFS/Bigtable/MapReduce吗]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/bdd9362f194dea321f308993.html]]></link>
        <description><![CDATA[
		
		<p>首先答案是NO。</p>
<p>那么为什么GOOGLE需要呢？</p>
<p>因为Google是一个服务器密集型企业，要管理好数量如此巨大（目前保守估计100万台）的机器，需要一个合适的解决方案，因为硬件基本上要做的改动很小（只要避免大规模掉电和天灾），所以确切说Google需要一套强大的分布式计算软件平台。这是一个崭新的平台，名字不重要，重要的是一个新平台，我们暂且可以称之为云。</p>
<p>这个平台最大的优点除了提供海量存储，海量计算能力和简单的管理性以外，我认为最最重要的是容错性，也就是说任何一台机器坏了，对使用者没有影响。为什么这点最重要呢？以我们管理几千台服务器的经验来看，网络故障，硬盘故障，操作系统故障，软件故障每天都在发生，但是量不大，一天几起而已，但是想想Google，每天可能几千起，这样的硬件故障量，如果没有一套超级容错的机制，恐怕很难应对。就像早期的晶体管计算机一样，每次只能运行几分钟，因为每几分钟必然有一个晶体管会坏掉，这是无法避免的。这也是为什么晶体管计算机会被淘汰掉。</p>
<p>传统的分布式软件构架对于Google要做的事情，就好比晶体管之于早期计算机，虽然可用，但是只是凑活可用。为了解决这一根本上的矛盾，Google在工程上大胆的采用了全新的分布式结构，将冗余作为主要因素来解决。结果就是Google开发的这些系统。</p>
<p>说了Google为啥需要这样的结构，回到开头的答案，为什么我们不需要呢？</p>
<p>1. Google的软件系统对于我们来说开发成本很高，时间和金钱成本都很高</p>
<p>2. 大量的硬件冗余，可能带来硬件成本的上升，对于利润率不能跟Google相比的公司，有一些风险</p>
<p>3. 最根本的，因为我们每天的故障很少，只要我们的结构能够及时发现故障，然后人工能快速解决还是可接受的。归根到底，这套软件结构最适合的是故障密集型的应用，而不是机器密集型。几千台还远不属于这个范畴。</p>
<p>Google的伟大之处在于他在几万台机器的时候看到了几百万台的未来，因此在硬件的供电，软件的容错上进行了巨大的工程尝试，当他的服务器增长到百万台的时候，他依然能够轻松应对。</p>
<p>我们将来会有上百万台机器吗？不会，几十万台呢？也不会。几万台呢？这个很有可能。故障量是现在的10倍，也许多雇10个人就可以解决这个问题，因此到时候答案可能还是NO。</p>
<p> </p> <a href="http://hi.baidu.com/jackflit/blog/item/bdd9362f194dea321f308993.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%BC%BC%CA%F5">技术</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/bdd9362f194dea321f308993.html#comment">查看评论</a>]]></description>
        <pubDate>2009-11-21  21:16</pubDate>
        <category><![CDATA[技术]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/bdd9362f194dea321f308993.html</guid>
</item>

<item>
        <title><![CDATA[黑暗契约]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/faff8d2d4d2aa93e349bf7d6.html]]></link>
        <description><![CDATA[
		
		<p>终于不需要激活码了</p>
<p>这款游戏，除了单一的美术元素比较精细。其它方面一无是处。</p>
<p>画面整体感差，手感差，实时移动战斗都感觉很差。</p>
<p>玩起来，似乎比战斧OL要差。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/Flash">Flash</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/faff8d2d4d2aa93e349bf7d6.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-30  09:20</pubDate>
        <category><![CDATA[Flash]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/faff8d2d4d2aa93e349bf7d6.html</guid>
</item>

<item>
        <title><![CDATA[Adobe(Flash)支持3D的遐想]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/102411012454a809728da512.html]]></link>
        <description><![CDATA[
		
		<p>不做3D的理由：没有3D相关的产品线，不能从Flash支持3D中直接收益。</p>
<p>做3D的理由：收购Macromedia的时候有个Director产品，支持3D，收购之后有一点点小动作，让这个产品增加了Mac的支持，支持了DX9，支持了物理引擎，支持了JS，支持了SWF，也就是Adobe有了一款跨平台的支持3D的开发工具和播放器。Director是一个猛兽，可能是一个比Flash更加凶猛，Adobe要驯服它需要更多的时间，也许Director会是一个独立的Flash 3D版本，支持Flash和所有3D相关。</p>
<p>支持3D的遐想：</p>
<p>1. 收购Audodesk，或者收购其它任何一家3D工具开发商，那么毋庸置疑，Flash一定会支持3D的。</p>
<p>2. 收购Unity3d，或者收购其它3D浏览器插件，现在看来Unity3D最靠谱了，它的产品趋势跟Adobe最接近了，支持多种OS，多种浏览器，这不正是Flash做的吗，甚至支持iPhone。甚至有人开发了u3dobject，可以通过Flash在浏览器中通过JS控制unit3d控件。Unity3D和Adobe还有点关系，前面提到的Director当前的产品经理现在就在Unity3d工作。</p>
<p>3. 跨平台也做了（Win/Max/Linux/WM/Symbian/Palm/RIM/Android/iPhone），跨浏览器也做了（IE/FF/Opera/Chrome），跨浏览器和桌面（Flash/AIR），H264都支持了，作为一款客户端技术，除了3D还有其它配得上Adobe身份的事情吗？</p>
<p> </p>
<p> </p> <a href="http://hi.baidu.com/jackflit/blog/item/102411012454a809728da512.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/Flash">Flash</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/102411012454a809728da512.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-17  20:32</pubDate>
        <category><![CDATA[Flash]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/102411012454a809728da512.html</guid>
</item>

<item>
        <title><![CDATA[POPCAPFramework(SexyApp)对中文的支持]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/cce83a58feb68dd49d820414.html]]></link>
        <description><![CDATA[
		
		<p>注意项目编译选项：使用MBCS和_USE_WIDE_STRING</p>
<p>设置了这两个选项，所有默认的std::string都是本地编码的多字节字符串，SexyString是utf16编码的宽字符字符串</p>
<p>SexyApp内部对中文的处理是针对wstring的，因此可以认为基本没有问题，只需要修改显示相关代码和字符串的入口代码即可，举几个例子</p>
<p>1. 字体</p>
<p>默认的SysFont用的是ANSI_CHARSET，会导致无论创建什么中文字体都是宋体，需要将ANSI_CHARSET改为GB2312_CHARSET，这样设置的字体才有效</p>
<p>2. 中文输入</p>
<p>比如EditWidget中，处理paste的时候，调用的是</p>
<p> </p>
<p>SexyString aBaseString = StringToSexyString(mWidgetManager-&gt;mApp-&gt;GetClipboard());</p>
<p> </p>
<p>这是有问题，需要将GetClipboard的结果用MultiByteToWideString转换为wstring</p>
<p>此外，EditWidget对于默认输入的字符有一个uTheChar&lt;=range的判断，而range的最大值是255，对于中文显然不适用，去掉即可。</p>
<p>3. 其它类似问题，按照以上方案修改即可</p> <a href="http://hi.baidu.com/jackflit/blog/item/cce83a58feb68dd49d820414.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%BC%BC%CA%F5">技术</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/cce83a58feb68dd49d820414.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-05  16:42</pubDate>
        <category><![CDATA[技术]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/cce83a58feb68dd49d820414.html</guid>
</item>

<item>
        <title><![CDATA[VB6无法使用IE控件的解决方案]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/4c2e7c3f363343cb7c1e713c.html]]></link>
        <description><![CDATA[
		
		<p>最近若干台机器调试一个VB6程序，愣是没有一台跑起来。各种奇怪问题。</p>
<p>比如下面这个奇怪的对话框便是其中之一。</p>
<p>---------------------------<br>
Microsoft Visual Basic<br>
---------------------------<br>
File not found: 'C:\WINDOWS\system32\ieframe.dll\1'<br>
---------------------------<br>
确定&nbsp;&nbsp;  帮助&nbsp;&nbsp;  <br>
---------------------------</p>
<p>问题据种种迹象推断，是VB6太老了，微软已经不支持了，一个IDE用了10多年，已经是奇迹了。VB6与IE8(IE7可能也存在)有些不可调和的冲突，虽然可以通过在VB中注册shdocvw.dll而不是ieframe.dll来部分解决，但是还是会遇到奇怪问题。</p>
<p> </p>
<p>最终的解决方案，虚拟机+干净XP+IE6。</p>
<p> </p>
<p> </p> <a href="http://hi.baidu.com/jackflit/blog/item/4c2e7c3f363343cb7c1e713c.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%BC%BC%CA%F5">技术</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/4c2e7c3f363343cb7c1e713c.html#comment">查看评论</a>]]></description>
        <pubDate>2009-09-01  12:42</pubDate>
        <category><![CDATA[技术]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/4c2e7c3f363343cb7c1e713c.html</guid>
</item>

<item>
        <title><![CDATA[mysqlreport]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/ba02ee2322e4495b9822eda0.html]]></link>
        <description><![CDATA[
		
		mysql 监控利器
http://hackmysql.com/mysqlreportguide
http://hackmysql.com/live_mysqlreport

 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%BC%BC%CA%F5">技术</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/ba02ee2322e4495b9822eda0.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-27  09:54</pubDate>
        <category><![CDATA[技术]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/ba02ee2322e4495b9822eda0.html</guid>
</item>

<item>
        <title><![CDATA[vista下nsis卸载程序无法卸载干净的解决方案]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/ddb611122fc369c7c3fd7894.html]]></link>
        <description><![CDATA[
		
		NSIS Vista 权限问题解决方案

使用这个命令：RequestExecutionLevel 
可取的值有：none|user|highest|admin 

例：RequestExecutionLevel admin

以下是详细说明： 

指定在 Windows Vista 下安装程序需要的执行级别。设定的级别值将被内嵌到安装/卸载程序的 XML Manfest 中，告诉 Vista（或以后其他合适版本的 Windows）安装程序需要什么样的权限级...

Shortcuts removal fails on Windows Vista
Windows Vista automatically identifies installer executables, including NSIS installers, and asks the user permission to run them with elevated privileges. Automatic detection, however, comes with the price of automatic backward compatibility tricks. One of which is automatic relocation of shortcuts created in the Start Menu to All Users' Start Menu.
To workaround this, use the new RequestExecutionLevel command or create the shortcuts in All Users' folders in the first place, using SetShellVarContext.
OutFile vista.exe
Name Vista
 
RequestExecutionLevel admin
 
Section
  CreateShortcut "$SMPROGRAMS\Vista Test\hello.lnk" $WINDIR\notepad.exe
  WriteUninstaller $EXEDIR\uninst.exe
SectionEnd
 
Section uninstall
  Delete "$SMPROGRAMS\Vista Test\hello.lnk"
  RMDir "$SMPROGRAMS\Vista Test"
SectionEnd
OutFile vista.exe
Name Vista
 
Section
  SetShellVarContext all
  CreateShortcut "$SMPROGRAMS\Vista Test\hello.lnk" $WINDIR\notepad.exe
  WriteUninstaller $EXEDIR\uninst.exe
SectionEnd
 
Section uninstall
  SetShellVarContext all
  Delete "$SMPROGRAMS\Vista Test\hello.lnk"
  RMDir "$SMPROGRAMS\Vista Test"
SectionEnd

参考
http://www.cnblogs.com/happmaoo/archive/2009/03/17/1414501.html
http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista <a href="http://hi.baidu.com/jackflit/blog/item/ddb611122fc369c7c3fd7894.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%BC%BC%CA%F5">技术</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/ddb611122fc369c7c3fd7894.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-11  15:32</pubDate>
        <category><![CDATA[技术]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/ddb611122fc369c7c3fd7894.html</guid>
</item>

<item>
        <title><![CDATA[svn log options]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/5026cd3819c78d2a97ddd8a4.html]]></link>
        <description><![CDATA[
		
		svn log --xml -v -r fromRev:toRev 输出指定时间的log

svn log -v --xml -r {2007-02-19}:{2007-02-12} &gt; log.xml 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/5026cd3819c78d2a97ddd8a4.html#comment">查看评论</a>]]></description>
        <pubDate>2009-06-23  17:03</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/5026cd3819c78d2a97ddd8a4.html</guid>
</item>

<item>
        <title><![CDATA[信长之野望]]></title>
        <link><![CDATA[http://hi.baidu.com/jackflit/blog/item/c0090c0ffe0ffee4aa6457c0.html]]></link>
        <description><![CDATA[
		
		<p><a href="http://www.sekigun.com/literature/yuanchuang/xzzyw.htm">http://www.sekigun.com/literature/yuanchuang/xzzyw.htm</a></p>
<p>这里有一些相关文章，包括游戏和历史的分析</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jackflit/blog/category/%D3%CE%CF%B7">游戏</a>&nbsp;<a href="http://hi.baidu.com/jackflit/blog/item/c0090c0ffe0ffee4aa6457c0.html#comment">查看评论</a>]]></description>
        <pubDate>2009-06-15  09:39</pubDate>
        <category><![CDATA[游戏]]></category>
        <author><![CDATA[jackflit]]></author>
		<guid>http://hi.baidu.com/jackflit/blog/item/c0090c0ffe0ffee4aa6457c0.html</guid>
</item>


</channel>
</rss>