<?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>不再平凡</title>
	<atom:link href="http://www.vxwo.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vxwo.com</link>
	<description>心无杂念，提剑狂奔</description>
	<lastBuildDate>Wed, 25 Aug 2010 03:13:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>敏捷开发简述</title>
		<link>http://www.vxwo.com/archives/77?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e6%2595%258f%25e6%258d%25b7%25e5%25bc%2580%25e5%258f%2591%25e7%25ae%2580%25e8%25bf%25b0</link>
		<comments>http://www.vxwo.com/archives/77#comments</comments>
		<pubDate>Wed, 25 Aug 2010 03:08:47 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[软件开发]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=77</guid>
		<description><![CDATA[1、敏捷开发简介 “敏捷”一词，解释为灵敏迅速、灵活。敏捷开发（Agile Programming）是时下流行的软件开发方法。 传统的软件开发模型，主要包含两种“瀑布型”、“螺旋型”。敏捷开发本身属于“螺旋型”的开发模型，并辅之以必要的实施过程。敏捷开发有两个重要模型，极限编程（eXtreme Programming、XP）、Scrum模型。XP模型，与其他模型的不同在于“结对编程”（即两个人在一个机器上同时开发程序），这在国内是几乎不可能的，没有听说过XP模型的案例。Scrum模型的一个显著特点就是响应变化，它能够尽快地响应变化，是比较常用的方式，案例是比较多。 敏捷开发宣言： 个体和交互 胜过   过程和工具 可以工作的软件 胜过   面面俱到的文档 客户合作 胜过   合同谈判 相应变化 胜过   遵循计划 虽然右项也具有价值，但我们认为左项具有更大的价值 2、Scrum过程讲解 Scrum 将软件开发团队比拟成橄榄球队，有明确的最高目标，熟悉开发流程中所需具备的最佳典范与技术，具有高度自主权，紧密地沟通合作，以高度弹性解决各种挑战， 确保每天、每个阶段都朝向目标有明确的推进。 Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段，由客户提供新产品的需求规格开始，开发团队与客户于每一个阶段开始时挑选该完成的规格部分，开发团队必须尽力于 30 天后交付成果，团队每天用 15 分钟开会检查每个成员的进度与计划，了解所遭遇的困难并设法排除。 2.1、有关Scrum的几个名词 Backlog: 可以预知的所有任务，包括功能性的和非功能性的所有任务。 Sprint:一次跌代开发的时间周期，一般最多以30天为一个周期.在这段时间内，开发团队需要完成一个制定的Backlog,并且最终成果是一个增量的，可以交付的产品。 Sprint Backlog:一个Sprint周期内所需要完成的任务。 Scrum Master: 负责监督整个Scrum进程，修订计划的一个团队成员。 Tme-box: 一个用于开会时间段。比如每个Daily Scrum Meeting的Time-box为15分钟。 Sprint Planning Meeting: 在启动每个Sprint前召开。一般为一天时间（8小时）。该会议需要制定的任务是：产品Owner和团队成员将Backlog分解成小的功能模块, 决定在即将进行的Sprint里需要完成多少小功能模块，确定好这个Product Backlog的任务优先级。另外，该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。 Daily Scrum Meeting：开发团队成员召开，一般为15分钟。每个开发成员需要向Scrum Master汇报三个项目：今天完成了什么？是否遇到了障碍？即将要做什么？通过该会议，团队成员可以相互了解项目进度。 Sprint [...]]]></description>
			<content:encoded><![CDATA[<div id="sina_keyword_ad_area2">
<p><strong>1</strong><strong>、敏捷开发简介</strong></p>
<p>“敏捷”一词，解释为灵敏迅速、灵活。敏捷开发（Agile Programming）是时下流行的软件开发方法。</p>
<p>传统的软件开发模型，主要包含两种“瀑布型”、“螺旋型”。敏捷开发本身属于“螺旋型”的开发模型，并辅之以必要的实施过程。敏捷开发有两个重要模型，极限编程（eXtreme Programming、XP）、Scrum模型。XP模型，与其他模型的不同在于“结对编程”（即两个人在一个机器上同时开发程序），这在国内是几乎不可能的，没有听说过XP模型的案例。Scrum模型的一个显著特点就是响应变化，它能够尽快地响应变化，是比较常用的方式，案例是比较多。</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="568" valign="top">敏捷开发宣言：</p>
<p><strong>个体和交互</strong> 胜过   过程和工具</p>
<p><strong>可以工作的软件</strong> 胜过   面面俱到的文档</p>
<p><strong>客户合作</strong> 胜过   合同谈判</p>
<p><strong>相应变化</strong> 胜过   遵循计划</p>
<p>虽然右项也具有价值，但我们认为左项具有更大的价值</td>
</tr>
</tbody>
</table>
<p><strong>2</strong><strong>、</strong><strong>Scrum</strong><strong>过程讲解</strong></p>
<p>Scrum 将软件开发团队比拟成橄榄球队，有明确的最高目标，熟悉开发流程中所需具备的最佳典范与技术，具有高度自主权，紧密地沟通合作，以高度弹性解决各种挑战， 确保每天、每个阶段都朝向目标有明确的推进。</p>
<p>Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段，由客户提供新产品的需求规格开始，开发团队与客户于每一个阶段开始时挑选该完成的规格部分，开发团队必须尽力于 30 天后交付成果，团队每天用 15 分钟开会检查每个成员的进度与计划，了解所遭遇的困难并设法排除。</p>
<p><strong>2.1</strong><strong>、有关</strong><strong>Scrum</strong><strong>的几个名词</strong></p>
<p>Backlog: 可以预知的所有任务，包括功能性的和非功能性的所有任务。</p>
<p>Sprint:一次跌代开发的时间周期，一般最多以30天为一个周期.在这段时间内，开发团队需要完成一个制定的Backlog,并且最终成果是一个增量的，可以交付的产品。</p>
<p>Sprint Backlog:一个Sprint周期内所需要完成的任务。</p>
<p>Scrum Master: 负责监督整个Scrum进程，修订计划的一个团队成员。</p>
<p>Tme-box: 一个用于开会时间段。比如每个Daily Scrum Meeting的Time-box为15分钟。</p>
<p>Sprint Planning Meeting: 在启动每个Sprint前召开。一般为一天时间（8小时）。该会议需要制定的任务是：产品Owner和团队成员将Backlog分解成小的功能模块, 决定在即将进行的Sprint里需要完成多少小功能模块，确定好这个Product Backlog的任务优先级。另外，该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。</p>
<p>Daily Scrum Meeting：开发团队成员召开，一般为15分钟。每个开发成员需要向Scrum Master汇报三个项目：今天完成了什么？是否遇到了障碍？即将要做什么？通过该会议，团队成员可以相互了解项目进度。</p>
<p>Sprint Review Meeting：在每个Sprint结束后，这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为4小时。</p>
<p>Sprint Rtrospective Meeting：对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。</p>
<p><strong>2.2</strong><strong>、实施</strong><strong>Scrum</strong><strong>的过程简单介绍</strong></p>
<p>1) 将整个产品的Backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。</p>
<p>2) 召开Sprint Planning Meeting，划分，确定这个Sprint内需要完成的任务，标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的，并不是按人天计算。</p>
<p>3) 进入Sprint开发周期，在这个周期内，每天需要召开Daily Scrum Meeting。</p>
<p>4) 整个Sprint周期结束，召开Sprint Review Meeting，将成果演示给Product Owner.</p>
<p>5) 团队成员最后召开Sprint Retrospective Meeting，总结问题和经验。</p>
<p>6) 这样周而复始，按照同样的步骤进行下一次Sprint.</p>
<p><strong>3</strong><strong>、敏捷开发一些看法</strong></p>
<p>1）敏捷开发以人为核心，直接以用户需求作为驱动，易于接受需求的变化。以小的开发粒度来应对需求的变更，最小成本的满足与用户的互动。</p>
<p>2）敏捷开发的过程是不断改进的，敏捷团队可以根据具体情况构建自己的敏捷开发过程。</p>
<p>3）敏捷开发并不要求“精英个体”而是致力于构建“精英团队”。足够粒度的分解开发任务，用以保证人员的临时变化。倡导开发个体能够熟悉整个产品的开发方面，以避免人员流动造成技术缺失。</p>
<p>4）敏捷开发的开发者是一个不断学习的个体，需要掌握必要的开发技巧，如：移除重复代码、注释转换、去除代码异味、保持代码简洁、慎用继承、正确处理引用、分离数据库访问/UI/域逻辑、单元测试、测试驱动编程等。</p>
</div>
<p>﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/77/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《中国开源软件推进联盟》中国开源的毒瘤</title>
		<link>http://www.vxwo.com/archives/69?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e3%2580%258a%25e4%25b8%25ad%25e5%259b%25bd%25e5%25bc%2580%25e6%25ba%2590%25e8%25bd%25af%25e4%25bb%25b6%25e6%258e%25a8%25e8%25bf%259b%25e8%2581%2594%25e7%259b%259f%25e3%2580%258b%25e4%25b8%25ad%25e5%259b%25bd%25e5%25bc%2580%25e6%25ba%2590%25e7%259a%2584%25e6%25af%2592%25e7%2598%25a4</link>
		<comments>http://www.vxwo.com/archives/69#comments</comments>
		<pubDate>Tue, 24 Aug 2010 01:04:32 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=69</guid>
		<description><![CDATA[所谓的《中国开源软件推进联盟》，其组建过程与宗旨可以从其网站上获取。这里我不谈《联盟》的历史，只谈现在他存在的问题，以问题的影响性。所有对《联盟》的质疑声，源自于RedOffice落选核高基。 其实RedOffice的落选没有什么，但是胡才勇的离职，就让整个事情变得“耐人寻味”了。RedOffice落选之后，应胡才勇之邀，《上书言事》。上书的内容并没有公示，但基本内容无外乎：本着“拿来”精神“认定”RedOffice为“国产”，以避免国外的“技术垄断”而实现“技术自主”。其避免 “技术垄断”的理由，是正确的，但是其素材却是错误的。使用“别人垄断”开源软件，自己改改就算“技术自主”，者未免“让人所不耻”。如果自己有实力，为什么不重新开发一套真正自主的呢？“避免重造轮子”，这个理由在已经被公认的“开源协议”面前，不值得一驳。进核高基为什么？为钱！改改开源软件，就拿核高基的资金，而套以“国产”的牌子，就是我们的《联盟》所要达到的目标？错误的事情，总源自于模糊的动机；从这件事情来看《联盟》的初衷和宗旨非常的模糊，其成立太过于仓促了，而逐渐沦落于为RedOffice这样的“假国产”呐喊甚至《上书言事》。 为什么称《联盟》为毒瘤？爱之越深，恨之越深。RedOffice已经通过“落选”这件事情所明确的原因，而《联盟》却一再的为其“国产”言论鼓吹，更有甚者出现只为“会员服务”的言论。所有这一切，让我们看到了一个不承认任何错误的《联盟》，一个通过歪曲开源协议粉饰错误的《联盟》。此外，《联盟》更大的问题在于不存在“讨论、辩论”的环境，与其“主流”思想相违背的就被坚决的“清洗”出来，使《联盟》变成“一言堂”，比较突出的就是袁萌因为OOXML 的事情被清洗。我们都知道“真理越辩越明”，而《联盟》给了我们“一记耳光”，让我们知道了“中国开源我说了算”的“领导力”。 我对开源的关注，始于我使用的SCM(版本控制工具)Git，它是Linux Kernel所使用的SCM。通过Git我发现一个以maillist+patch所构建的开源软件开发方式是多么的神圣：你可以提交patch，别人对你的patch也会提出修改意见，修改好的patch会被接受。这样的社区方式，让我们看到了“提出”、“质疑”、“接受”的一个基本轮廓。而《联盟》让我们看到了什么？“质疑”的人被清洗了，“质疑”的言论被“压制”。清洗过老袁，压制了老袁blog上的评论，这就是我们所看到的《联盟》。 对于老袁，我的态度有一个转变过程。从Google上搜索“中国开源”，发现博文《从开源领袖到头号叛徒——袁萌100天变身实录》，我就上老袁的 blog上，看到有人一直在骂他。甚至有人跟我说过“我通常上袁萌blog上只看评论，看看就开心”，我也这样想过，而且也对其“U盘”挺反感的。但仔细想想“U盘”的目标用户针对的是小学生、非IT从业人员的话，“U盘”就显得没那么“幼稚”了。可能是去年，我听说老袁被《联盟》开了，没有仔细想过，因为之前我知道OOXML事件。但是这次老袁直接质疑RedOffice而力挺“Linux打假”，才让我真正的看清了《联盟》“一言堂”和“挺假”的本质，从而对老袁的态度有了一定的改观。 《联盟》的初衷是好的，过去也好过，但是发展到现在还“好”吗？对“质疑”的压制，对“假国产”的力挺，让我们闻到了利益腐蚀下的“腐臭”。他的所作所为给我们展示了一个国内开源利益链条，修改开源软件=》包装为国产=》申请国家资金。这样的链条，让我们心痛、心寒、愤怒。这一切并不源自于《联盟》，但是他至少是帮凶；这样的帮凶行径就是中国开源的“毒瘤”。让中国开源真正的走向健康，这样的毒瘤必须要铲除，否则只能是无休止的“打假”而“假不绝”的惨象。]]></description>
			<content:encoded><![CDATA[<p>所谓的《中国开源软件推进联盟》，其组建过程与宗旨可以从其网站上获取。这里我不谈《联盟》的历史，只谈现在他存在的问题，以问题的影响性。所有对《联盟》的质疑声，源自于RedOffice落选核高基。</p>
<p>其实RedOffice的落选没有什么，但是胡才勇的离职，就让整个事情变得“耐人寻味”了。RedOffice落选之后，应胡才勇之邀，《上书言事》。上书的内容并没有公示，但基本内容无外乎：本着“拿来”精神“认定”RedOffice为“国产”，以避免国外的“技术垄断”而实现“技术自主”。其避免 “技术垄断”的理由，是正确的，但是其素材却是错误的。使用“别人垄断”开源软件，自己改改就算“技术自主”，者未免“让人所不耻”。如果自己有实力，为什么不重新开发一套真正自主的呢？“避免重造轮子”，这个理由在已经被公认的“开源协议”面前，不值得一驳。进核高基为什么？为钱！改改开源软件，就拿核高基的资金，而套以“国产”的牌子，就是我们的《联盟》所要达到的目标？错误的事情，总源自于模糊的动机；从这件事情来看《联盟》的初衷和宗旨非常的模糊，其成立太过于仓促了，而逐渐沦落于为RedOffice这样的“假国产”呐喊甚至《上书言事》。</p>
<p>为什么称《联盟》为毒瘤？爱之越深，恨之越深。RedOffice已经通过“落选”这件事情所明确的原因，而《联盟》却一再的为其“国产”言论鼓吹，更有甚者出现只为“会员服务”的言论。所有这一切，让我们看到了一个不承认任何错误的《联盟》，一个通过歪曲开源协议粉饰错误的《联盟》。此外，《联盟》更大的问题在于不存在“讨论、辩论”的环境，与其“主流”思想相违背的就被坚决的“清洗”出来，使《联盟》变成“一言堂”，比较突出的就是袁萌因为OOXML 的事情被清洗。我们都知道“真理越辩越明”，而《联盟》给了我们“一记耳光”，让我们知道了“中国开源我说了算”的“领导力”。</p>
<p>我对开源的关注，始于我使用的SCM(版本控制工具)Git，它是Linux Kernel所使用的SCM。通过Git我发现一个以maillist+patch所构建的开源软件开发方式是多么的神圣：你可以提交patch，别人对你的patch也会提出修改意见，修改好的patch会被接受。这样的社区方式，让我们看到了“提出”、“质疑”、“接受”的一个基本轮廓。而《联盟》让我们看到了什么？“质疑”的人被清洗了，“质疑”的言论被“压制”。清洗过老袁，压制了老袁blog上的评论，这就是我们所看到的《联盟》。</p>
<p>对于老袁，我的态度有一个转变过程。从Google上搜索“中国开源”，发现博文《从开源领袖到头号叛徒——袁萌100天变身实录》，我就上老袁的 blog上，看到有人一直在骂他。甚至有人跟我说过“我通常上袁萌blog上只看评论，看看就开心”，我也这样想过，而且也对其“U盘”挺反感的。但仔细想想“U盘”的目标用户针对的是小学生、非IT从业人员的话，“U盘”就显得没那么“幼稚”了。可能是去年，我听说老袁被《联盟》开了，没有仔细想过，因为之前我知道OOXML事件。但是这次老袁直接质疑RedOffice而力挺“Linux打假”，才让我真正的看清了《联盟》“一言堂”和“挺假”的本质，从而对老袁的态度有了一定的改观。</p>
<p>《联盟》的初衷是好的，过去也好过，但是发展到现在还“好”吗？对“质疑”的压制，对“假国产”的力挺，让我们闻到了利益腐蚀下的“腐臭”。他的所作所为给我们展示了一个国内开源利益链条，修改开源软件=》包装为国产=》申请国家资金。这样的链条，让我们心痛、心寒、愤怒。这一切并不源自于《联盟》，但是他至少是帮凶；这样的帮凶行径就是中国开源的“毒瘤”。让中国开源真正的走向健康，这样的毒瘤必须要铲除，否则只能是无休止的“打假”而“假不绝”的惨象。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/69/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我的“开源打假”观 &#8211; 2</title>
		<link>http://www.vxwo.com/archives/63?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e6%2588%2591%25e7%259a%2584%25e2%2580%259c%25e5%25bc%2580%25e6%25ba%2590%25e6%2589%2593%25e5%2581%2587%25e2%2580%259d%25e8%25a7%2582-2</link>
		<comments>http://www.vxwo.com/archives/63#comments</comments>
		<pubDate>Fri, 06 Aug 2010 01:03:47 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=63</guid>
		<description><![CDATA[1）有人谈到的“输-血”问题的确值得我们深思,难道国家不“输-血” 支持国内开源公司，国内就无人用开源了吗？不是的，国内对于开源的使用那是历史悠久的，因为国人喜欢“免费”的东西，况且嵌入式开发基本上围绕Linux 的商业企业越来越多，这和国内开源公司的努力一点关系都没有，那是因为“价格”因素使然。Linux的引进，是一些学者的“功劳”（例如、袁陆这批人-）和国内开源公司更一点关系也没有（虽然有些学者最后进入这些公司）。 2）国内开源的支持不在于“使用”，而在于“贡献”。“使用” 就没什么好说的。“贡献”就在于提交代码，而不仅仅局限在&#8217;汉化&#8217;这个层面。我曾看过一些开源项目的代码提交者列表，国人的名字是有的，但通过邮箱来看，基本上都是大公司的雇员。也有一些零散的“个人”提交者的代码，但“形只影单”。况且国内这种“35岁”即面临转行的行业环境，更难出现“长期“的“贡献者”出现。 3）综上。国家扶持开源产业；向国内所谓“开源”公司输血是走了弯路，因为他们不能为开源“贡献”什么，而“使用”早已被“价格”因素被国内的人广泛“参与”了。国家真正该做的就是使软件产业更“健康”、“长久”，使年龄从“劣势”转变为“优势”，同时也就促进了“开源”的“贡献”方向的“参与”。]]></description>
			<content:encoded><![CDATA[<p>1）有人谈到的“输-血”问题的确值得我们深思,难道国家不“输-血” 支持国内开源公司，国内就无人用开源了吗？不是的，国内对于开源的使用那是历史悠久的，因为国人喜欢“免费”的东西，况且嵌入式开发基本上围绕Linux 的商业企业越来越多，这和国内开源公司的努力一点关系都没有，那是因为“价格”因素使然。Linux的引进，是一些学者的“功劳”（例如、袁陆这批人-）和国内开源公司更一点关系也没有（虽然有些学者最后进入这些公司）。<br />
2）国内开源的支持不在于“使用”，而在于“贡献”。“使用” 就没什么好说的。“贡献”就在于提交代码，而不仅仅局限在&#8217;汉化&#8217;这个层面。我曾看过一些开源项目的代码提交者列表，国人的名字是有的，但通过邮箱来看，基本上都是大公司的雇员。也有一些零散的“个人”提交者的代码，但“形只影单”。况且国内这种“35岁”即面临转行的行业环境，更难出现“长期“的“贡献者”出现。<br />
3）综上。国家扶持开源产业；向国内所谓“开源”公司输血是走了弯路，因为他们不能为开源“贡献”什么，而“使用”早已被“价格”因素被国内的人广泛“参与”了。国家真正该做的就是使软件产业更“健康”、“长久”，使年龄从“劣势”转变为“优势”，同时也就促进了“开源”的“贡献”方向的“参与”。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/63/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我的”开源打假“观</title>
		<link>http://www.vxwo.com/archives/59?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e6%2588%2591%25e7%259a%2584%25e2%2580%259d%25e5%25bc%2580%25e6%25ba%2590%25e6%2589%2593%25e5%2581%2587%25e2%2580%259c%25e8%25a7%2582</link>
		<comments>http://www.vxwo.com/archives/59#comments</comments>
		<pubDate>Fri, 30 Jul 2010 01:10:44 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=59</guid>
		<description><![CDATA[1）许多人，将&#8221;打假&#8221;认定为老袁的“恶意搅水”，进行了一些谩骂。更有甚者也对我本人进行了谩骂。我一直认为“谩骂是理屈者最后的武器”。 2）我认为老袁的“搅水”对“假”是“恶意”的，但对中国的开源是“善意”的、“无私”的&#8211;因为他早就想到会被“既得利益”者及其追随者和被蒙蔽者的“穷追猛打”和“恶意谩骂”。 3）中国的开源怎么发展，要首先跳出对“国家资金”的追逐游戏，才能够走上健康发展之路。虽然我本人对“哲思社区”和对“徐继哲”保留态度，但他那种SNS式的开源推广方式，也算是一种有效的手段。 4）这里的网友，能够在“打假“与”打假打假“的氛围中充分的讨论、揭露；说明我们这些人都希望中国的开源能够健康的发展。”发展“中难免有问题，有问题就要改正；一个”刚愎自用“不接收批评的”联盟“，能够给”中国开源“带来健康之路吗？翻翻历史我们总能够找到答案，比如”崇祯“。 5）部分人听信了一些”片面“的信息，就下了”全局“的结论。要明白”错误“总会出现的道理（比如BUG），有问题就要解决问题。这次老袁的”打假“就是解决”利益至上 “的开源”错误“，我们凭什么要容忍”错误“不被解决呢？难道继希望于一个能够自我”修正“的”联盟“？这些天联盟的表态，没有让我们看到这一点。这样的”联盟“我们要彻底的”打假“，让它不要再为了”自己“和”自己成员“的利益来歪曲开源这条信念了。]]></description>
			<content:encoded><![CDATA[<p>1）许多人，将&#8221;打假&#8221;认定为老袁的“恶意搅水”，进行了一些谩骂。更有甚者也对我本人进行了谩骂。我一直认为“谩骂是理屈者最后的武器”。<br />
2）我认为老袁的“搅水”对“假”是“恶意”的，但对中国的开源是“善意”的、“无私”的&#8211;因为他早就想到会被“既得利益”者及其追随者和被蒙蔽者的“穷追猛打”和“恶意谩骂”。<br />
3）中国的开源怎么发展，要首先跳出对“国家资金”的追逐游戏，才能够走上健康发展之路。虽然我本人对“哲思社区”和对“徐继哲”保留态度，但他那种SNS式的开源推广方式，也算是一种有效的手段。<br />
4）这里的网友，能够在“打假“与”打假打假“的氛围中充分的讨论、揭露；说明我们这些人都希望中国的开源能够健康的发展。”发展“中难免有问题，有问题就要改正；一个”刚愎自用“不接收批评的”联盟“，能够给”中国开源“带来健康之路吗？翻翻历史我们总能够找到答案，比如”崇祯“。<br />
5）部分人听信了一些”片面“的信息，就下了”全局“的结论。要明白”错误“总会出现的道理（比如BUG），有问题就要解决问题。这次老袁的”打假“就是解决”利益至上 “的开源”错误“，我们凭什么要容忍”错误“不被解决呢？难道继希望于一个能够自我”修正“的”联盟“？这些天联盟的表态，没有让我们看到这一点。这样的”联盟“我们要彻底的”打假“，让它不要再为了”自己“和”自己成员“的利益来歪曲开源这条信念了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/59/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>红旗Linux的下载数字上的猫腻</title>
		<link>http://www.vxwo.com/archives/52?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e7%25ba%25a2%25e6%2597%2597linux%25e7%259a%2584%25e4%25b8%258b%25e8%25bd%25bd%25e6%2595%25b0%25e5%25ad%2597%25e4%25b8%258a%25e7%259a%2584%25e7%258c%25ab%25e8%2585%25bb</link>
		<comments>http://www.vxwo.com/archives/52#comments</comments>
		<pubDate>Wed, 28 Jul 2010 02:06:44 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=52</guid>
		<description><![CDATA[一组数字：（http://www.redflag-linux.com/d/iso/ 2010-07-28 08：37） 红旗 inMini 2009 下载1352990次 红旗Linux 6.0 SP3 下载0次 红旗Linux桌面7.0 2009/07/30 iso更新 下载5603205次 红旗linux 桌面版 6.0 sp2 完整版 DVD ISO 下载9404255次 一些说明： 1）Redhat分支的Linux都采用yum进行软件的更新，从不会发布SP2\SP3这样的包，说明红旗Linux并没有引入Redhat9之后的这些新特性，更新速度太慢。 2）这些下载数字存在虚假可能。SP2下载了940万次而SP3下载了0次，940万人中就没有一个对SP3有兴趣？如果是自己刷数字，为什么不刷SP3的数字呢？工作这么不认真。 跟进数字：（http://www.redflag-linux.com/d/iso/ 2010-07-28 09：21） 红旗 inMini 2009 下载1353008次 红旗Linux 6.0 SP3 下载0次 红旗Linux桌面7.0 2009/07/30 iso更新 下载5603223次 红旗linux 桌面版 6.0 sp2 完整版 DVD ISO 下载9404260次 跟进说明： 数字刷新的太快了，仅仅44分钟，inMini2009增加下载18次，桌面7.0增加下载18次，SP2增加下载5次。这个速度，其中有2个18次，这太让人寻味了.要知道，这是在8点-9点这段刚刚的上班时间里面，难道国外对红旗Linux很推崇？国内红旗已经有近千万的Linux的桌面用户了嘛？耐人寻味，刷数机器人我曾经玩过。 再次跟进：（http://www.redflag-linux.com/d/iso/ 2010-07-28 09：32） 红旗 [...]]]></description>
			<content:encoded><![CDATA[<p>一组数字：（http://www.redflag-linux.com/d/iso/   2010-07-28 08：37）<br />
红旗 inMini 2009                         下载1352990次<br />
红旗Linux 6.0 SP3                        下载0次<br />
红旗Linux桌面7.0 2009/07/30 iso更新      下载5603205次<br />
红旗linux 桌面版 6.0 sp2 完整版 DVD ISO  下载9404255次<br />
一些说明：<br />
1）Redhat分支的Linux都采用yum进行软件的更新，从不会发布SP2\SP3这样的包，说明红旗Linux并没有引入Redhat9之后的这些新特性，更新速度太慢。<br />
2）这些下载数字存在虚假可能。SP2下载了940万次而SP3下载了0次，940万人中就没有一个对SP3有兴趣？如果是自己刷数字，为什么不刷SP3的数字呢？工作这么不认真。</p>
<p>跟进数字：（http://www.redflag-linux.com/d/iso/   2010-07-28 09：21）<br />
红旗 inMini 2009                         下载1353008次<br />
红旗Linux 6.0 SP3                        下载0次<br />
红旗Linux桌面7.0 2009/07/30 iso更新      下载5603223次<br />
红旗linux 桌面版 6.0 sp2 完整版 DVD ISO  下载9404260次<br />
跟进说明：<br />
数字刷新的太快了，仅仅44分钟，inMini2009增加下载18次，桌面7.0增加下载18次，SP2增加下载5次。这个速度，其中有2个18次，这太让人寻味了.要知道，这是在8点-9点这段刚刚的上班时间里面，难道国外对红旗Linux很推崇？国内红旗已经有近千万的Linux的桌面用户了嘛？耐人寻味，刷数机器人我曾经玩过。</p>
<p>再次跟进：（http://www.redflag-linux.com/d/iso/   2010-07-28 09：32）<br />
红旗 inMini 2009                         下载1353011次<br />
红旗Linux 6.0 SP3                        下载0次<br />
红旗Linux桌面7.0 2009/07/30 iso更新      下载5603234次<br />
红旗linux 桌面版 6.0 sp2 完整版 DVD ISO  下载9404261次<br />
跟进说明：<br />
无语！</p>
<p>再次跟进：（http://www.redflag-linux.com/d/iso/   2010-07-28 18：05）<br />
红旗 inMini 2009                         下载1358439次<br />
再次跟进：（http://www.redflag-linux.com/d/iso/   2010-07-28 18：06）<br />
红旗 inMini 2009                         下载1358477次<br />
再次跟进：（http://www.redflag-linux.com/d/iso/   2010-07-28 18：06）<br />
红旗 inMini 2009                         下载1358500次<br />
再次跟进：（http://www.redflag-linux.com/d/iso/   2010-07-28 18：07）<br />
红旗 inMini 2009                         下载1358533次<br />
跟进说明：<br />
铁证如山，每次刷新那个页面 inMini 2009都在很迅速的增长，咳，太疯狂了。</p>
<p>再次跟进：（http://www.redflag-linux.com/d/iso/   2010-07-29 08：59）<br />
红旗 inMini 2009                         下载1369701次<br />
跟进说明：<br />
不再继续跟进了，一个晚上增加了10000多次，咳，无耻！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/52/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>My God! ARM-LINUX-GCC-GNUEABI 成功了！</title>
		<link>http://www.vxwo.com/archives/41?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%258f%2588my-god-arm-linux-gcc-gnueabi-%25e6%2588%2590%25e5%258a%259f%25e4%25ba%2586%25ef%25bc%2581</link>
		<comments>http://www.vxwo.com/archives/41#comments</comments>
		<pubDate>Tue, 29 Jun 2010 21:26:54 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[软件开发]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=41</guid>
		<description><![CDATA[#!/bin/sh # path macro SRC=${0%%/*} if [ "${SRC}" == "." ]; then SRC=${PWD} fi PARALLEL="-j 3" # target macro unset AR AS CC CFLAGS CXX CXXFLAGS LD RANLIB STRIP export ARCH=arm export TARGET=${ARCH}-linux-gnueabi export TARGET_GCC="--with-arch=armv4t --with-abi=aapcs-linux --with-float=soft" export CROSS_COMPILE=${TARGET}- export PREFIX=${HOME}/.devel/${ARCH} export LANGUAGE=C export LC_ALL=C # path init mkdir -p ${PREFIX} if [ ! -d [...]]]></description>
			<content:encoded><![CDATA[<pre>
#!/bin/sh

# path macro
SRC=${0%%/*}
if [ "${SRC}" == "." ]; then
	SRC=${PWD}
fi
PARALLEL="-j 3"

# target macro
unset AR AS CC CFLAGS CXX CXXFLAGS LD RANLIB STRIP
export ARCH=arm
export TARGET=${ARCH}-linux-gnueabi
export TARGET_GCC="--with-arch=armv4t --with-abi=aapcs-linux --with-float=soft"
export CROSS_COMPILE=${TARGET}-
export PREFIX=${HOME}/.devel/${ARCH}
export LANGUAGE=C
export LC_ALL=C

# path init
mkdir -p ${PREFIX}
if [ ! -d ${PREFIX} ]; then
	echo "Not create path: ${PREFIX}"
	exit
fi

# path &#038; file
linux_path=linux-2.6.33.5
linux_file=${linux_path}.tar.bz2
binutils_path=binutils-2.20.1
binutils_file=${binutils_path}.tar.bz2
gcc_path=gcc-4.5.0
gcc_file=${gcc_path}.tar.bz2
glibc_path=glibc-2.11.2
glibc_file=${glibc_path}.tar.bz2
glibc_ports_path=glibc-ports-2.11
glibc_ports_file=${glibc_ports_path}.tar.bz2

# linux headers
cd ${SRC}
if [ ! -e ${linux_file} ]; then
	echo "Not found file: ${linux_file}"
	exit
fi
if [ ! -d ${linux_path} ]; then
	tar xjf ${linux_file}
fi
if [ ! -d build/${linux_path}-headers ]; then
	mkdir -p build/${linux_path}-headers
	cd ${linux_path}
	make ARCH=${ARCH} INSTALL_HDR_PATH=${PREFIX}/${TARGET}/usr headers_install
	find ${PREFIX}/${TARGET}/usr/include -name .install -or -name ..install.cmd | xargs rm -fv
fi

# compile binutils
cd ${SRC}
if [ ! -e ${binutils_file} ]; then
	echo "Not found file: ${binutils_file}"
	exit
fi
if [ ! -d ${binutils_path} ]; then
	tar xjf ${binutils_file}
fi
if [ ! -d build/${binutils_path} ]; then
	mkdir -p build/${binutils_path}
	cd build/${binutils_path}
	../../${binutils_path}/configure \
		--prefix=${PREFIX} \
		--target=${TARGET} \
		--disable-nls \
		--disable-multilib
	make $PARALLEL &#038;&#038; make install
fi

# compile gcc-stage1
cd ${SRC}
if [ ! -e ${gcc_file} ]; then
	echo "Not found file: ${gcc_file}"
	exit
fi
if [ ! -d ${gcc_path} ]; then
	tar xjf ${gcc_file}
fi
if [ ! -d build/${gcc_path}-stage1 ]; then
	mkdir -p build/${gcc_path}-stage1
	cd build/${gcc_path}-stage1
	../../${gcc_path}/configure ${TARGET_GCC} \
		--target=${TARGET} \
		--prefix=${PREFIX} \
		--disable-nls \
		--disable-shared \
		--disable-mutilib \
		--disable-decimal-float \
		--disable-threads \
		--disable-libmudflap \
		--disable-libssp \
		--disable-libgomp \
		--without-headers \
		--enable-language=c \
		--with-newlib
	make $PARALLEL all-gcc all-target-libgcc &#038;&#038; make install-gcc install-target-libgcc
fi

# compile glibc
cd ${SRC}
if [ ! -e ${glibc_file} ]; then
	echo "Not found file: ${glibc_file}"
	exit
fi
if [ ! -d ${glibc_path} ]; then
	tar xjf ${glibc_file}
	cd ${glibc_path}
	sed -i 's/gnulib := -lgcc \$(libgcc_eh)/gnulib := -lgcc/' Makeconfig
	sed -i 's/static-gnulib := -lgcc -lgcc_eh \$(libunwind)/static-gnulib := -lgcc/' Makeconfig
	cd ..
fi
if [ ! -e ${glibc_ports_file} ]; then
	echo "Not found file: ${glibc_ports_file}"
	exit
fi
if [ ! -d ${glibc_path}/ports ]; then
	cd ${glibc_path}
	tar xjf ../${glibc_ports_file}
	mv ${glibc_ports_path} ports
	cd ..
fi
if [ ! -d build/${glibc_path} ]; then
	mkdir -p build/${glibc_path}
	cd build/${glibc_path}
	CC=${PREFIX}/bin/${CROSS_COMPILE}gcc \
	AR=${PREFIX}/bin/${CROSS_COMPILE}ar \
	RANLIB=${PREFIX}/bin/${CROSS_COMPILE}ranlib \
	../../${glibc_path}/configure \
		--host=${TARGET} \
		--build=$(../../${glibc_path}/scripts/config.guess) \
		--prefix=/usr \
		--includedir=/usr/include \
		--with-headers=${PREFIX}/${TARGET}/usr/include \
		--with-binutils=${PREFIX}/${TARGET}/bin \
		--disable-profile \
		--enable-add-ons \
		libc_cv_forced_unwind=yes \
		libc_cv_c_cleanup=yes
	make $PARALLEL &#038;&#038; make install_root=${PREFIX}/${TARGET} prefix="" install
	sed -i 's/\/lib\///g' ${PREFIX}/${TARGET}/lib/libc.so
	sed -i 's/\/lib\///g' ${PREFIX}/${TARGET}/lib/libpthread.so
fi

# compile gcc-stage2
cd ${SRC}
if [ ! -e ${gcc_file} ]; then
	echo "Not found file: ${gcc_file}"
	exit
fi
if [ ! -d ${gcc_path} ]; then
	tar xjf ${gcc_file}
fi
if [ ! -d build/${gcc_path}-stage2 ]; then
	mkdir -p build/${gcc_path}-stage2
	cd build/${gcc_path}-stage2
	../../${gcc_path}/configure ${TARGET_GCC} \
		--host=$(../../${gcc_path}/config.guess) \
		--build=$(../../${gcc_path}/config.guess) \
		--target=${TARGET} \
		--prefix=${PREFIX} \
		--with-headers=${PREFIX}/${TARGET}/usr/include \
		--enable-languages=c,c++ \
		--disable-nls \
		--enable-shared \
		--disable-multilib \
		--disable-libgomp \
		--enable-threads=posix
	make $PARALLEL &#038;&#038; make install
fi

# clean &#038; strip
if [ ! -d build/clean-strip ]; then
	mkdir -p build/clean-strip
	rm -fr ${PREFIX}/${TARGET}/usr
	find ${PREFIX}/${TARGET}/lib | xargs ${PREFIX}/bin/${CROSS_COMPILE}strip  --strip-debug
fi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/41/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My God! ARM-LINUX-GCC 成功了！</title>
		<link>http://www.vxwo.com/archives/39?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-god-arm-linux-gcc-%25e6%2588%2590%25e5%258a%259f%25e4%25ba%2586%25ef%25bc%2581</link>
		<comments>http://www.vxwo.com/archives/39#comments</comments>
		<pubDate>Sun, 27 Jun 2010 11:15:00 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=39</guid>
		<description><![CDATA[#!/bin/sh # path macro SRC=${0%%/*} if [ "${SRC}" == "." ]; then SRC=${PWD} fi PARALLEL="-j 2" # target macro unset AR AS CC CFLAGS CXX CXXFLAGS LD RANLIB STRIP export ARCH=arm export TARGET=${ARCH}-linux export PREFIX=/opt/vxwo/${ARCH} export LANGUAGE=C export LC_ALL=C # path &#38; file linux_path=linux-2.6.33.5 linux_file=${linux_path}.tar.bz2 binutils_path=binutils-2.20.1 binutils_file=${binutils_path}.tar.bz2 gcc_path=gcc-4.5.0 gcc_file=${gcc_path}.tar.bz2 glibc_path=glibc-2.11.2 glibc_file=${glibc_path}.tar.bz2 glibc_ports_path=glibc-ports-2.11 glibc_ports_file=${glibc_ports_path}.tar.bz2 # linux [...]]]></description>
			<content:encoded><![CDATA[<pre>#!/bin/sh

# path macro
SRC=${0%%/*}
if [ "${SRC}" == "." ]; then
	SRC=${PWD}
fi
PARALLEL="-j 2"

# target macro
unset AR AS CC CFLAGS CXX CXXFLAGS LD RANLIB STRIP
export ARCH=arm
export TARGET=${ARCH}-linux
export PREFIX=/opt/vxwo/${ARCH}
export LANGUAGE=C
export LC_ALL=C

# path &amp; file
linux_path=linux-2.6.33.5
linux_file=${linux_path}.tar.bz2
binutils_path=binutils-2.20.1
binutils_file=${binutils_path}.tar.bz2
gcc_path=gcc-4.5.0
gcc_file=${gcc_path}.tar.bz2
glibc_path=glibc-2.11.2
glibc_file=${glibc_path}.tar.bz2
glibc_ports_path=glibc-ports-2.11
glibc_ports_file=${glibc_ports_path}.tar.bz2

# linux headers
cd ${SRC}
if [ ! -e ${linux_file} ]; then
	echo "Not found file: ${linux_file}"
	exit
fi
if [ ! -d ${linux_path} ]; then
	tar xjf ${linux_file}
fi
if [ ! -d build/${linux_path}-headers ]; then
	mkdir -p build/${linux_path}-headers
	cd ${linux_path}
	make ARCH=${ARCH} INSTALL_HDR_PATH=${PREFIX}/${TARGET}/usr headers_install
	find ${PREFIX}/${TARGET}/usr/include -name .install -or -name ..install.cmd | xargs rm -fv
fi

# compile binutils
cd ${SRC}
if [ ! -e ${binutils_file} ]; then
	echo "Not found file: ${binutils_file}"
	exit
fi
if [ ! -d ${binutils_path} ]; then
	tar xjf ${binutils_file}
fi
if [ ! -d build/${binutils_path} ]; then
	mkdir -p build/${binutils_path}
	cd build/${binutils_path}
	../../${binutils_path}/configure \
		--prefix=${PREFIX} \
		--target=${TARGET} \
		--disable-nls \
		--disable-multilib
	make $PARALLEL &amp;&amp; make install
fi

# compile gcc-stage1
cd ${SRC}
if [ ! -e ${gcc_file} ]; then
	echo "Not found file: ${gcc_file}"
	exit
fi
if [ ! -d ${gcc_path} ]; then
	tar xjf ${gcc_file}
fi
if [ ! -d build/${gcc_path}-stage1 ]; then
	mkdir -p build/${gcc_path}-stage1
	cd build/${gcc_path}-stage1
	../../${gcc_path}/configure \
		--target=${TARGET} \
		--prefix=${PREFIX} \
		--disable-nls \
		--disable-shared \
		--disable-mutilib \
		--disable-decimal-float \
		--disable-threads \
		--disable-libmudflap \
		--disable-libssp \
		--disable-libgomp \
		--without-headers \
		--enable-language=c \
		--with-newlib
	make $PARALLEL all-gcc all-target-libgcc &amp;&amp; make install-gcc install-target-libgcc
fi

# compile glibc
cd ${SRC}
if [ ! -e ${glibc_file} ]; then
	echo "Not found file: ${glibc_file}"
	exit
fi
if [ ! -d ${glibc_path} ]; then
	tar xjf ${glibc_file}
	cd ${glibc_path}
	sed -i 's/gnulib := -lgcc \$(libgcc_eh)/gnulib := -lgcc/' Makeconfig
	sed -i 's/static-gnulib := -lgcc -lgcc_eh \$(libunwind)/static-gnulib := -lgcc/' Makeconfig
	cd ..
fi
if [ ! -e ${glibc_ports_file} ]; then
	echo "Not found file: ${glibc_ports_file}"
	exit
fi
if [ ! -d ${glibc_path}/ports ]; then
	cd ${glibc_path}
	tar xjf ../${glibc_ports_file}
	mv ${glibc_ports_path} ports
	cd ..
fi
if [ ! -d build/${glibc_path} ]; then
	mkdir -p build/${glibc_path}
	cd build/${glibc_path}
	CC=${PREFIX}/bin/${TARGET}-gcc \
	../../${glibc_path}/configure \
		--host=${TARGET} \
		--build=$(../../${glibc_path}/scripts/config.guess) \
		--prefix=/usr/ \
		--includedir=/usr/include \
		--with-headers=${PREFIX}/${TARGET}/usr/include \
		--with-binutils=${PREFIX}/${TARGET}/bin \
		--disable-profile \
		--enable-add-ons \
		libc_cv_forced_unwind=yes \
		libc_cv_c_cleanup=yes
	make $PARALLEL &amp;&amp; make install_root=${PREFIX}/${TARGET} prefix="" install
	sed -i 's/\/lib\///g' ${PREFIX}/${TARGET}/lib/libc.so
	sed -i 's/\/lib\///g' ${PREFIX}/${TARGET}/lib/libpthread.so
fi

# compile gcc-stage2
cd ${SRC}
if [ ! -e ${gcc_file} ]; then
	echo "Not found file: ${gcc_file}"
	exit
fi
if [ ! -d ${gcc_path} ]; then
	tar xjf ${gcc_file}
fi
if [ ! -d build/${gcc_path}-stage2 ]; then
	mkdir -p build/${gcc_path}-stage2
	cd build/${gcc_path}-stage2
	../../${gcc_path}/configure \
		--host=$(../../${gcc_path}/config.guess) \
		--build=$(../../${gcc_path}/config.guess) \
		--target=${TARGET} \
		--prefix=${PREFIX} \
		--with-headers=${PREFIX}/${TARGET}/usr/include \
		--enable-languages=c,c++ \
		--disable-nls \
		--disable-multilib \
		--disable-libgomp
	make $PARALLEL &amp;&amp; make install
fi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/39/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>咳，编译ARM-LINUX-GCC难</title>
		<link>http://www.vxwo.com/archives/37?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%2592%25b3%25ef%25bc%258c%25e7%25bc%2596%25e8%25af%2591arm-linux-gcc%25e9%259a%25be</link>
		<comments>http://www.vxwo.com/archives/37#comments</comments>
		<pubDate>Sun, 20 Jun 2010 09:10:28 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=37</guid>
		<description><![CDATA[1. 版本依赖比较严重，而且每个版本都需要打补丁，否则不能完成编译 2. 编译时间太长，修正一个错误或者尝试一个编译选项需要较长的编译时间 3. 网上资料很多，但是基本没什么用，原因在于每个人的开发环境不尽相同、所用版本不同。 4. 利用周末两天的时间都没有编译成功一套工具链，最终决定暂停。]]></description>
			<content:encoded><![CDATA[<p>1. 版本依赖比较严重，而且每个版本都需要打补丁，否则不能完成编译</p>
<p>2. 编译时间太长，修正一个错误或者尝试一个编译选项需要较长的编译时间</p>
<p>3. 网上资料很多，但是基本没什么用，原因在于每个人的开发环境不尽相同、所用版本不同。</p>
<p>4. 利用周末两天的时间都没有编译成功一套工具链，最终决定暂停。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/37/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>始终保持健康的职业观</title>
		<link>http://www.vxwo.com/archives/35?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%25a7%258b%25e7%25bb%2588%25e4%25bf%259d%25e6%258c%2581%25e5%2581%25a5%25e5%25ba%25b7%25e7%259a%2584%25e8%2581%258c%25e4%25b8%259a%25e8%25a7%2582</link>
		<comments>http://www.vxwo.com/archives/35#comments</comments>
		<pubDate>Mon, 17 May 2010 00:29:38 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/archives/35</guid>
		<description><![CDATA[先看一下旧闻：2003年，成龙以“孩子大了要自己去找饭碗”为由辞退了在身边十几年的段伟伦。这里面所包含的信息足以来支撑本文的标题。老板辞退员工，那是“天经地义”的，也并不需要什么特殊的理由。但是以“孩子大了要自己去找饭碗”这样的语言来作为辞退理由，说明老板之前已经故意的误导了员工的“职业观”。 什么是“职业”？就是挣钱养家的方式。什么是“老板”？就是在职业里实现自身利益最大化的人。什么是“员工”？就是在职业里自身利益最小化的人。资源是固定的，老板想要自身利益最大化，就需要员工的利益最小化。“铁打的营盘，流水的兵”，老板是营盘，员工是“流水的兵”。在一个公司里，不要相信老板的“许诺”，要追求“现世现报”。老板的许诺?只有一个原因：公司“现在”需要你；注意是“现在”，而不是“将来”，等到“现在”变成“过去”了，老板是绝对不会兑现曾经的许诺的。 对于老板来说，公司的发展最重要。公司的发展体现在员工上，需要两个方面：1、靠自身建设稳定的团队，2、靠不断补充“适合”的人进入团队以“代替”过时的人。总会有“过时”的人的。 对于员工来说，个人的发展与利益最重要。个人的发展主要是指“职位的提升”，利益主要是“薪金”，统一起来就是“薪金”。员工个体只是为了自身而工作，而公司只是将工作变成成“薪金”的“转换器”。为了将工作转换成更多的“薪金”，在公司内努力的工作将是一个“必要”条件。如果一个公司内“薪金”的诉求被一些“许诺”所压制，那只是老板的“缓兵之计”而已。 “职业观”正确与否的评定，唯一的标准：自身利益的多少。少了，就是“错误的职业观”；多了就是“优秀的职业观”；正好也算“健康的价值观”。职业观的评定需要自身的积极主动、需要自身的不屑努力，完全取决于自己而并不取决于公司。]]></description>
			<content:encoded><![CDATA[<p>先看一下旧闻：2003年，成龙以“孩子大了要自己去找饭碗”为由辞退了在身边十几年的段伟伦。这里面所包含的信息足以来支撑本文的标题。老板辞退员工，那是“天经地义”的，也并不需要什么特殊的理由。但是以“孩子大了要自己去找饭碗”这样的语言来作为辞退理由，说明老板之前已经故意的误导了员工的“职业观”。</p>
<p>什么是“职业”？就是挣钱养家的方式。什么是“老板”？就是在职业里实现自身利益最大化的人。什么是“员工”？就是在职业里自身利益最小化的人。资源是固定的，老板想要自身利益最大化，就需要员工的利益最小化。“铁打的营盘，流水的兵”，老板是营盘，员工是“流水的兵”。在一个公司里，不要相信老板的“许诺”，要追求“现世现报”。老板的许诺?只有一个原因：公司“现在”需要你；注意是“现在”，而不是“将来”，等到“现在”变成“过去”了，老板是绝对不会兑现曾经的许诺的。</p>
<p>对于老板来说，公司的发展最重要。公司的发展体现在员工上，需要两个方面：1、靠自身建设稳定的团队，2、靠不断补充“适合”的人进入团队以“代替”过时的人。总会有“过时”的人的。</p>
<p>对于员工来说，个人的发展与利益最重要。个人的发展主要是指“职位的提升”，利益主要是“薪金”，统一起来就是“薪金”。员工个体只是为了自身而工作，而公司只是将工作变成成“薪金”的“转换器”。为了将工作转换成更多的“薪金”，在公司内努力的工作将是一个“必要”条件。如果一个公司内“薪金”的诉求被一些“许诺”所压制，那只是老板的“缓兵之计”而已。</p>
<p>“职业观”正确与否的评定，唯一的标准：自身利益的多少。少了，就是“错误的职业观”；多了就是“优秀的职业观”；正好也算“健康的价值观”。职业观的评定需要自身的积极主动、需要自身的不屑努力，完全取决于自己而并不取决于公司。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/35/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>人类的末日源于强制控制</title>
		<link>http://www.vxwo.com/archives/33?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e4%25ba%25ba%25e7%25b1%25bb%25e7%259a%2584%25e6%259c%25ab%25e6%2597%25a5%25e6%25ba%2590%25e4%25ba%258e%25e5%25bc%25ba%25e5%2588%25b6%25e6%258e%25a7%25e5%2588%25b6</link>
		<comments>http://www.vxwo.com/archives/33#comments</comments>
		<pubDate>Sun, 09 May 2010 00:52:31 +0000</pubDate>
		<dc:creator>vietor</dc:creator>
				<category><![CDATA[没有什么]]></category>

		<guid isPermaLink="false">http://www.vxwo.com/?p=33</guid>
		<description><![CDATA[昨天晚上做了一个梦，奇怪、可怕、可怜、不可思议。 场景是这样的：中日的战争进行中，类似于4几年的状态。我不知什么原因DIY方式清除了身上的一个机器部件，就能够在两国之间的一个小河中通过，而其他人不能；因为我清除的部件就是放在心脏旁边的，如果出了限制圈就爆炸的电子控制器。关键的是，中国人和日本人身上都有；谁没有呢？不知道。 如果如果世界最重变得那样，给人们安装那个的是谁？人类变成了什么？统治者是谁？人类？外形人？但无论怎样，那已是人类的末日了。]]></description>
			<content:encoded><![CDATA[<p>昨天晚上做了一个梦，奇怪、可怕、可怜、不可思议。</p>
<p>场景是这样的：中日的战争进行中，类似于4几年的状态。我不知什么原因DIY方式清除了身上的一个机器部件，就能够在两国之间的一个小河中通过，而其他人不能；因为我清除的部件就是放在心脏旁边的，如果出了限制圈就爆炸的电子控制器。关键的是，中国人和日本人身上都有；谁没有呢？不知道。</p>
<p>如果如果世界最重变得那样，给人们安装那个的是谁？人类变成了什么？统治者是谁？人类？外形人？但无论怎样，那已是人类的末日了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vxwo.com/archives/33/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
