<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>MindWard 学而第一</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.mindward.com/atom.xml" />
    <id>tag:www.mindward.com,2009-04-22://7</id>
    <updated>2009-09-13T15:33:56Z</updated>
    <subtitle>子曰：学而时习之，不亦悦乎；有朋自远方来，不亦乐乎；人不知而不愠，不亦君子乎。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.25-zh-cn</generator>

<entry>
    <title>Rinari - Ruby on Rails with Emacs </title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/09/rinari---ruby-on-rails-with-emacs.html" />
    <id>tag:www.mindward.com,2009://7.895</id>

    <published>2009-09-13T15:24:08Z</published>
    <updated>2009-09-13T15:33:56Z</updated>

    <summary>用Emacs开发Ruby on Rails的一个简单的演示视频， 虽然没有声音，...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Programming 编程" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="emacs" label="Emacs" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ruby" label="Ruby" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p>用Emacs开发Ruby on Rails的一个简单的演示视频， 虽然没有声音， 也足够获得一个初步的了解了。另外一个<a href="http://platypope.org/yada/emacs-demo/">补充的视频</a>， 从编辑的角度展示了Emacs的功能， 其中用到的软件<a href="http://platypope.org/blog/2006/9/8/i-need-a-cool-european-accent">这里</a>给出了一个列表。</p>

<p><object width="400" height="249"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2854412&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2854412&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="249"></embed></object><p><a href="http://vimeo.com/2854412">Rinari Screencast (Ruby on Rails development with Emacs)</a> from <a href="http://vimeo.com/user1170378">Eric Schulte</a> on <a href="http://vimeo.com">Vimeo</a>.</p></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Slackware 13.0 Released</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/09/slackware-130-released.html" />
    <id>tag:www.mindward.com,2009://7.892</id>

    <published>2009-09-03T12:15:53Z</published>
    <updated>2009-09-03T12:31:41Z</updated>

    <summary>经过漫长的等待， 终于迎来了Slackware的一次重大的升级， 随着版本号步入...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="OS 操作系统" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="downloads" label="Downloads" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slackware" label="Slackware" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p>经过漫长的等待， 终于迎来了Slackware的一次重大的升级， 随着版本号步入13.0， Slackware的<a href="http://www.slackware.com/changelog/">官方网站</a>上已经有了四个目标平台的发行版本在同步开发， 包括： <a href="http://www.slackware.com/changelog/current.php?cpu=i386">x86</a>， <a href="http://www.slackware.com/changelog/current.php?cpu=x86_64">x64</a>， <a href="http://www.slackware.com/changelog/current.php?cpu=s390">S390</a>和<a href="http://www.slackware.com/changelog/current.php?cpu=arm">ARM</a>。其中， x64版本的发行是首个官方版本的64位Slackware， 之前众多的非官方64位版本应该可以退休了。</p>

<p>为了方便大家下载使用， 本站特地提供了DVD版本的<a href="http://www.mindward.com/files/public/Downloads/slackware-13.0-iso/">Slackware</a>和<a href="http://www.mindward.com/files/public/Downloads/slackware64-13.0-iso/">Slackware64</a>供大家下载， 也同我交流Slackware的使用经验。</p>

<h1><strong>下载地址：</strong></h1>

<ul>
<li>32位版本的x86目标平台<a href="http://www.mindward.com/files/public/Downloads/slackware-13.0-iso/">Slackware</a>;</li>
<li>64位版本的x86目标平台<a href="http://www.mindward.com/files/public/Downloads/slackware64-13.0-iso/">Slackware64</a>;</li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>Enterprise Architecture 企业架构：融合企业架构，业务架构和知识管理提升企业绩效的实践方法</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/07/enterprise-architecture.html" />
    <id>tag:www.mindward.com,2009://7.874</id>

    <published>2009-07-27T14:44:52Z</published>
    <updated>2009-07-28T16:12:34Z</updated>

    <summary> 上次应福田科技局软件平台的邀请，做了一个简短的分布式版本控制系统的讲座从svn...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Architecture 架构" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Business 商业" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="architecture" label="Architecture" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="downloads" label="Downloads" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ppt" label="ppt" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="企业架构" label="企业架构" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.mindward.com/assets_c/2009/07/EA-ManagementFramework-166.html" onclick="window.open('http://www.mindward.com/files/public/Downloads/EA-ManagementFramework.pdf','popup','width=1558,height=1055,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.mindward.com/assets_c/2009/07/EA-ManagementFramework-thumb-200x135-166.png" width="200" height="135" alt="EA-ManagementFramework.png" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></span></p>

<p>上次应福田科技局软件平台的邀请，做了一个简短的分布式版本控制系统的讲座<a href="http://www.mindward.com/2009/04/svnhggit.html">从svn到hg和git</a>。在同学员的课堂交流过程中，发现多数学员更关心管理方面的问题，这也正是我持续进行了多年的项目<a href="
http://www.mindward.com/2009/04/collaboration-knowledge-bank-cokb.html">COKB</a>所致力解决的问题。</p>

<p>碰巧的是：软件平台也要求我准备一个系列公开课的提案，就这个项目的研究成果， 我考虑可以开一个企业架构理论和实践的系列课程，一方面能够分享之前知识的累积，另一方面也可以用实践来检验这些知识。下面就是当初提案的内容：</p>

<blockquote>
  <p>初步计划用一个系列的课程来讲解这个问题，共分三个主题：</p>

<p>1、企业架构方法介绍，结合中外的企业架构框架和智慧来介绍企业架构方法，包括：TOGAF, Rational ADS, MDA, CMMI 以及《道德经》和《孙子兵法》中相关的内容，结合西方管理理念和中国文化精髓普及企业架构的知识。</p>

<p>2、企业架构务实，介绍企业架构的知识体系，选择和实践的依据，以CMMI和ISO-9000为起点介绍实施企业架构的方法，并初步介绍简单且容易实施的<a href="http://wiki.mindward.com/doku.php?id=cokb:ckmm">Collaboration Knowledge Management Methodology (CKMM) </a> 方法。</p>

<p>3、企业架构在身边，以前面的介绍为基础，引导学员快速搭建起适合自身需求的企业架构平台，用以解决研发管理，企业管理中的问题，并用CMMI的25个过程域来对照检验企业架构平台所体现的最佳实践。</p>

<p>这个系列课程的好处是：理论同实践相结合，保证帮助企业学有所用，用有所成，共同提高。缺点是内容太多，怕难用三堂课讲清楚，尤其是第三部分，因为有实际操作的内容，互动的内容比较多，需要一个能够让学生自己动手操作的环境。</p>
</blockquote>

<p>等待了一段时间后， 接到软件平台的通知， 拟定于09年8月1日开始这个企业架构的系列课程。听到这个消息后，自己也开始着手准备有关企业架构和软件架构方面的讲义，在整理讲义的过程中，不得不做了一些删减，去掉了Rational ADS, TOGAF和MDA方面的内容，而重点突出了业务架构和业务管理框架的内容，以避免过于理论化和太偏重于技术层面，尽量能够以MBA教育背景的管理人士为目标听众，所以，软件架构方面的比重反而大大降低了，最后，仅仅作为了补充材料而存在，以备有学员问到这个话题的时候，也能简单的讨论一下。点击<a href="http://www.mindward.com/files/public/Downloads/EA-ManagementFramework.pdf">讲义下载</a>能得到PDF版本的讲义。</p>

<p>完成后的内容纲要如下：</p>

<blockquote>
  <ol>
<li>背景资料，简单讨论一般性的常识问题，导入了架构元模型。</li>
<li>企业架构简介，以Zachman Framework和《孙子兵法》的映射对照关系，介绍了企业架构的概念；然后选择对比了一些著名的企业架构，如TOGAF, DoDAF等。</li>
<li>业务架构的框架和标准，罗列了ISO-9000, CMMI, Six Sigma，ITIL等众多的业务架构标准，尝试说明它们之间的联系。</li>
<li>选择合适的业务架构框架，从企业架构和工程的角度出发，对比了众多的业务架构框架，并选出了重点；然后，导入了EFQM和平衡记分卡（Balanced Score Card）的概念，重点介绍了集成绩效管理的框架。</li>
<li>实施方法论和最佳实践，从知识管理的角度出发，并对照知识管理同绩效管理的框架模型。</li>
<li>案例分析，先引入《道德经》同架构的关系，用以说明架构的一般原则，然后，用&#8221;MindWard研发管理平台&#8221;和&#8221;COKB - 社会性协作平台&#8221;说明，这些一般原则如何指导实践。</li>
<li>总结，提供了一个一般性的业务架构设计和实施建议。</li>
<li>在最后的部分，准备了一些&#8221;软件架构与技术架构Software  Architecture &amp; Technical Architecture&#8221;的内容，以备同技术背景的人讨论软件架构的需要。</li>
</ol>
</blockquote>

<p>借这个机会，也系统的整理了我个人在企业架构，软件架构和知识管理领域的认知，外化成了这篇讲义，很期望能够借这个机会多找到一些同道中人，互相交流和学习。</p>

<p>也欢迎到<a href="http://project.mindward.com/projects/cokb/issues">问题追踪系统</a>中提出问题，参与开发和讨论。</p>

<h1>更新</h1>

<p>收到了软件平台制作的招贴广告， 也放上来，留个纪念。</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.mindward.com/assets_c/2009/07/architecture-169.html" onclick="window.open('http://www.mindward.com/assets_c/2009/07/architecture-169.html','popup','width=575,height=761,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.mindward.com/assets_c/2009/07/architecture-thumb-300x397-169.png" width="300" height="397" alt="architecture.png" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></span></p>

<p><br clear="all"/></p>

<h1>有用的链接</h1>

<ul>
<li><a href="http://www.mindward.com/files/public/Downloads/EA-ManagementFramework.pdf">讲义下载</a></li>
<li><a href="http://project.mindward.com/projects/show/cokb">COKB项目</a></li>
<li><a href="http://project.mindward.com/projects/cokb/issues">项目问题追踪</a></li>
<li><a href="http://project.mindward.com/account/register">在项目管理系统中注册</a></li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>Emacs Column Editing by cua-mode</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/emacs-column-editing-by-cua-mode.html" />
    <id>tag:www.mindward.com,2009://7.847</id>

    <published>2009-05-28T01:12:27Z</published>
    <updated>2009-05-28T14:22:18Z</updated>

    <summary>用Emacs很久了，可是，不断探索和学习的旅程远没有结束，总有新的发现在前面等着...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Knowledge 知识" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming 编程" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="emacs" label="Emacs" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p>用Emacs很久了，可是，不断探索和学习的旅程远没有结束，总有新的发现在前面等着，这不，又发现了一个好用的列编辑模式。下面的内容转帖自<a href="http://trey-jackson.blogspot.com/2008/10/emacs-tip-26-cua-mode-specifically.html">Emacs Tip #26: CUA mode (specifically rectangle editing)</a> ，以方便在中国查阅：</p>

<p>I&#8217;d heard of CUA mode, but generally dismiss it because I don&#8217;t want the &#8220;windows&#8221; bindings for cut/copy/paste/undo. But when I saw this video of CUA&#8217;s rectangle support, I knew this was the way to edit rectangles.</p>

<p><object width="400" height="362"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1168225&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1168225&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="362"></embed></object><p><a href="http://vimeo.com/1168225">Emacs Column Editing</a> from <a href="http://vimeo.com/user537893">Mark Mansour</a> on <a href="http://vimeo.com">Vimeo</a>.</p></p>

<pre>

To activate in emacs 22.1 - with minimal intrusion (I don't like transient mark mode):
(setq cua-enable-cua-keys nil)
(setq cua-highlight-region-shift-only t) ;; no transient mark mode
(setq cua-toggle-set-mark nil) ;; original set-mark behavior, i.e. no transient-mark-mode
(cua-mode)

The *info* page doesn't have the rectangle bindings (as far as I can see), so here is the documentation from the code:


;; CUA rectangle support
;; ---------------------
;; Emacs' normal rectangle support is based on interpreting the region
;; between the mark and point as a "virtual rectangle", and using a
;; completely separate set of "rectangle commands" [C-x r ...] on the
;; region to copy, kill, fill a.s.o. the virtual rectangle.
;;
;; cua-mode's superior rectangle support uses a true visual
;; representation of the selected rectangle, i.e. it highlights the
;; actual part of the buffer that is currently selected as part of the
;; rectangle.  Unlike emacs' traditional rectangle commands, the
;; selected rectangle always as straight left and right edges, even
;; when those are in the middle of a TAB character or beyond the end
;; of the current line.  And it does this without actually modifying
;; the buffer contents (it uses display overlays to visualize the
;; virtual dimensions of the rectangle).
;;
;; This means that cua-mode's rectangles are not limited to the actual
;; contents of the buffer, so if the cursor is currently at the end of a
;; short line, you can still extend the rectangle to include more columns
;; of longer lines in the same rectangle.  And you can also have the
;; left edge of a rectangle start in the middle of a TAB character.
;; Sounds strange? Try it!
;;
;; To start a rectangle, use [C-return] and extend it using the normal
;; movement keys (up, down, left, right, home, end, C-home,
;; C-end). Once the rectangle has the desired size, you can cut or
;; copy it using C-x and C-c (or C-w and M-w), and you can
;; subsequently insert it - as a rectangle - using C-v (or C-y).  So
;; the only new command you need to know to work with cua-mode
;; rectangles is C-return!
;;
;; Normally, when you paste a rectangle using C-v (C-y), each line of
;; the rectangle is inserted into the existing lines in the buffer.
;; If overwrite-mode is active when you paste a rectangle, it is
;; inserted as normal (multi-line) text.
;;
;; If you prefer the traditional rectangle marking (i.e. don't want
;; straight edges), [M-p] toggles this for the current rectangle,
;; or you can customize cua-virtual-rectangle-edges.

;; And there's more: If you want to extend or reduce the size of the
;; rectangle in one of the other corners of the rectangle, just use
;; [return] to move the cursor to the "next" corner.  Or you can use
;; the [M-up], [M-down], [M-left], and [M-right] keys to move the
;; entire rectangle overlay (but not the contents) in the given
;; direction.
;;
;; [C-return] cancels the rectangle
;; [C-space] activates the region bounded by the rectangle

;; If you type a normal (self-inserting) character when the rectangle is
;; active, the character is inserted on the "current side" of every line
;; of the rectangle.  The "current side" is the side on which the cursor
;; is currently located. If the rectangle is only 1 column wide,
;; insertion will be performed to the left when the cursor is at the
;; bottom of the rectangle.  So, for example, to comment out an entire
;; paragraph like this one, just place the cursor on the first character
;; of the first line, and enter the following:
;;     C-return M-} ; ;   C-return

;; cua-mode's rectangle support also includes all the normal rectangle
;; functions with easy access:
;;
;; [M-a] aligns all words at the left edge of the rectangle
;; [M-b] fills the rectangle with blanks (tabs and spaces)
;; [M-c] closes the rectangle by removing all blanks at the left edge
;;       of the rectangle
;; [M-f] fills the rectangle with a single character (prompt)
;; [M-i] increases the first number found on each line of the rectangle
;;       by the amount given by the numeric prefix argument (default 1)
;;       It recognizes 0x... as hexadecimal numbers
;; [M-k] kills the rectangle as normal multi-line text (for paste)
;; [M-l] downcases the rectangle
;; [M-m] copies the rectangle as normal multi-line text (for paste)
;; [M-n] fills each line of the rectangle with increasing numbers using
;;       a supplied format string (prompt)
;; [M-o] opens the rectangle by moving the highlighted text to the
;;       right of the rectangle and filling the rectangle with blanks.
;; [M-p] toggles virtual straight rectangle edges
;; [M-P] inserts tabs and spaces (padding) to make real straight edges
;; [M-q] performs text filling on the rectangle
;; [M-r] replaces REGEXP (prompt) by STRING (prompt) in rectangle
;; [M-R] reverse the lines in the rectangle
;; [M-s] fills each line of the rectangle with the same STRING (prompt)
;; [M-t] performs text fill of the rectangle with TEXT (prompt)
;; [M-u] upcases the rectangle
;; [M-|] runs shell command on rectangle
;; [M-'] restricts rectangle to lines with CHAR (prompt) at left column
;; [M-/] restricts rectangle to lines matching REGEXP (prompt)
;; [C-?] Shows a brief list of the above commands.

;; [M-C-up] and [M-C-down] scrolls the lines INSIDE the rectangle up
;; and down; lines scrolled outside the top or bottom of the rectangle
;; are lost, but can be recovered using [C-z].

</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>MT-Dispatch Configuration</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/mt-dispatch-configuration.html" />
    <id>tag:www.mindward.com,2009://7.837</id>

    <published>2009-05-25T18:49:32Z</published>
    <updated>2009-06-01T13:22:42Z</updated>

    <summary>前言 升级到Apache2以后，查阅了一些文档，不少人推荐用mod_fcgid来...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Internet 互联网" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="fcgid" label="fcgid" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="MovableType" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<h1>前言</h1>

<p>升级到Apache2以后，查阅了一些文档，不少人推荐用mod_fcgid来取代mod_fastcgi，据说能获得性能上的提升。国人写的fcgid据说同mod_fastcgi全兼容，同时做了一些改进。所以，决定尝试一下用fcgid来加速MovableType的cgi程序。但是，fcgid已经有一段时间没有更新了，一些apache用户论坛建议使用sourceforge上的cvs中的mod_fcgid，其中包含了一些更新。</p>

<p>各种不同的Linux版本安装fcgid的方法略有差异，但是，成功安装完fcgid后，还是有一些配制过程需要注意的。fcgid的配制中有不少陷阱，我经过了反复尝试，终于让fcgid正常运行起来了。</p>

<h1>陷阱一： 启动fcgid时的配制</h1>

<p>安装好fcgid模块后，重新启动apache服务器之前，需要指定正确的配制文件，Include下面
文件到httpd.conf中，能够正常的启动apache服务，其中两个重要的选项是SocketPath和SharememPath, 缺少任何一项，都会造成apache不能正常启动，而且，指定的目录需要设置成同apache进程同一个用户，好让apache能够读写该目录中的内容。</p>

<pre><code> &lt;IfModule mod_fcgid.c&gt;
   AddHandler fcgid-script .fcgi
   IPCConnectTimeout 40
   IPCCommTimeout 300
   DefaultInitEnv RAILS_ENV production
   SocketPath /var/lib/fcgid/fcgidsock
   SharememPath /var/lib/fcgid/fcgidshm
&lt;/IfModule&gt;
</code></pre>

<h1>陷阱二：需要为每个虚拟主机或每个IfModule配制项目单独指定fcgid参数</h1>

<p>按照上面的配制，虽然能够正常的启动apache服务了，但是，并不代表fcgid能够正常的工作。如果需要让fcgid能够正常的工作，还需要为每个虚拟主机配制单独指定配置参数，fcgid并不能自动的继承上面的参数。在尝试正确配制Apache2+fcgid，发现，不但需要在每个虚拟主机配制中需要重新设定参数，甚至在需要在每个IfModule fcgid_module中都需要重新指定fcgid的配制选项，通过google查到<a href="http://jay.vox.com/library/post/mod_fcgid-ignoring-fastcgi-config-settings.html">文章</a>重点说明了这一点。解决了这个问题之后，MovableType终于能够稳定的运行在fcgid下了。建议单独设定一个包含公共配制项目的文件，在需要的地方Include该文件，以免重复。</p>

<h1>配制MT-Dispatch</h1>

<p>fcgid能够正常工作之后，开始尝试用<a href="http://dererumnatura.us/docs/mt-dispatch.html">MT-Dispatch</a>管理MovableType的进程，参考了<a href="http://sunq.jp/style/archives/2007/10/26-201217">MovableType+FCGI</a>文章中的内容，成功让MT-Dispatch运行起来了。下面是我的Apache配置文件中同MT-Dispatch对应的部分，也可以作为如何配制fcgid的例子：</p>

<pre><code>&lt;IfModule fcgid_module&gt;
   DefaultInitEnv MT_HOME /srv/www/sites/mindward/mt/
   DefaultInitEnv MT_PERIODIC 50
   DefaultInitEnv PERL_FCGI_MAX_REQUESTS 250
   DefaultInitEnv PERL_FCGI_CHILDREN 4
   DefaultInitEnv PERL_FCGI_LOG /var/log/httpd/fcgid.log

   Include /etc/httpd/inc.d/fcgid.inc
   &lt;Directory "/srv/www/sites/mindward/mt"&gt;
     AddHandler fcgid-script .cgi
     &lt;FilesMatch "^mt-(add-notify|atom|check|config|feed|testbg|upgrade|wizard|xmlrpc)\.cgi$"&gt;
        SetHandler cgi-script
     &lt;/FilesMatch&gt;
     DirectoryIndex mt.cgi
     Options Indexes ExecCGI -MultiViews
     Order allow,deny
     Allow from all
     &lt;FilesMatch "^mt(-cp|-search|-ftsearch|-comments|-tb)?\.cgi$"&gt;
        FCGIWrapper /srv/www/sites/mindward/mt/bin/mt-dispatch.fcgi .cgi
     &lt;/FilesMatch&gt;
   &lt;/Directory&gt;
 &lt;/IfModule&gt;
</code></pre>

<p>其中，fcgid.inc的内容如下：</p>

<pre><code>  SocketPath /var/lib/fcgid/fcgidsock
  SharememPath /var/lib/fcgid/fcgidshm
  BusyTimeout 300
  IdleTimeout 600
  IdleScanInterval 240
  BusyScanInterval 120
  ErrorScanInterval 6
  ZombieScanInterval 3
  ProcessLifeTime 1200
  SpawnScoreUpLimit 10
  SpawnScore 1
  TerminationScore 2
  MaxProcessCount 250
  DefaultMaxClassProcessCount 10
  DefaultMinClassProcessCount 0
  IPCConnectTimeout 20
  IPCCommTimeout 600
  MaxRequestsPerProcess 500
</code></pre>

<p>经过测试，Blog, Motion和Forum都能够正常工作。执行：</p>

<p><code>
    ps fax
</code></p>

<p>能够看到启动了perl-fcgi进程。</p>

<p>需要注意的是，只有mt.cgi, mt-cp.cgi, mt-search.cgi这几个文件同fcgid环境是兼容的，其他文件还需要保持在cgi模式下运行，否则会出错。</p>

<h1>总结</h1>

<p>fcgid存在的这些陷阱，让我花费了不少时间去定位和排除，也许，好的软件应该注意做好防错设计，健壮的软件应该在容易并可能出现错误的时候，尽量能够给出有意义的提示信息，这样才是对软件用户友好的高质量软件。</p>

<p>技术总在不断的进步，apache已经有一个新的<a href="http://httpd.apache.org/docs/trunk/mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a>模块在开发中，可能会从Apache2.4版本开始正式的内置对fastcgi协议的支持，从而不在需要安装第三方模块。另一方面，perl社群设计出了<a href="http://modperlite.org">mod_perlite</a>，期望让用perl编写的cgi能够象php那样容易部署和运行，但是该项目的成熟还需要时间。</p>

<p>不过，国人能写出在服务端广泛部署并使用的高性能软件，还是值得钦佩的。瑕不掩瑜，综合评估上面提到的技术方案，fcgid对于在apache2下面部署cgi应用程序，到目前为止，还是最佳选择。</p>

<p>更新：重新调整了fcgid.inc中的参数，调低了ProcessLifeTime的值， 并对应调整了其他参数。经过实际测试，新配制对提高系统稳定性有帮助。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>穿越互联网长城的七种办法</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/post-41.html" />
    <id>tag:www.mindward.com,2009://7.807</id>

    <published>2009-05-20T16:06:20Z</published>
    <updated>2009-05-21T03:24:50Z</updated>

    <summary>前言 因为中国的网络环境使然，常常莫名奇妙的不能访问一些国外的网站，为了能够绕开...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Internet 互联网" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="firewall" label="firewall" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="greatfirewall" label="Great Firewall" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<h1>前言</h1>

<p>因为中国的网络环境使然，常常莫名奇妙的不能访问一些国外的网站，为了能够绕开由此带来的不便，也想了很多的办法。这不，在网上看到不少朋友正为<a href="http://mt.freebapp.org/cgi-bin/freebapp.cgi/82">这事情苦恼着</a>，所以想把自己知道的方法写下来，也许对其他具有类似的烦恼的朋友，未尝不是一个解脱的办法。</p>

<h1>1. 代理服务器方法(Proxy)</h1>

<p>这个方法最为大多数人所熟知，使用起来也非常的简单。google一下proxy这个关键字，能得到不少代理服务器的列表，而且，不过找到好用的代理服务器也是一个化功夫的细活，如果找到了，就赶快把地址记录下来，这不，我自己尝试了很多次，终于发现一个好用的代理服务器<a href="http://www.easyproxy.nl/index.php">easyproxy.nl</a>，大家可以自己去试一试，在表单中输入你想访问的地址，就能够访问那些之前不能直接访问的网站了。</p>

<p>或者，如果你有境外的服务器资源，可以自己架设一个代理服务器，google一下<a href="http://www.jmarshall.com/tools/cgiproxy/">cgiproxy</a>或者<a href="http://sourceforge.net/projects/poxy/">phproxy</a>，能够找到代理服务器软件的下载链接，按照软件中的说明安装好后，就能够享受代理服务器带来的便利了。</p>

<h2>优点</h2>

<p>使用容易，免费资源多。</p>

<h2>缺点</h2>

<p>兼容性差，对视频类，Flash类网站支持不好，很多富媒体网站无法浏览。安全性差，不适合商务操作。</p>

<h1>2. 用ssh客户端作为SOCKS服务器的方法</h1>

<p>如果你已经有一个境外服务器的账号，并能够通过ssh客户端远程登录到境外的服务器上，那么，只需要简单的配制，就能够让浏览器借助ssh客户端提供的SOCKS代理功能，通过该境外服务器做跳板，访问其他的网站，对被访问的网站来说，所见到的IP地址是境外服务器的IP地址。详细的设置方法请参考<a href="http://www.mindward.com/2009/05/notes-ssh-client-as-socks-server.html">ssh client as SOCKS server</a>。成功设置后，浏览器会将网页浏览的请求先转发给远程服务器，然后有远程服务器取得需要的内容后，再传给浏览器。</p>

<h2>优点</h2>

<p>兼容性好，几乎能够支持所有类型的网站，对于境外的网站，网页浏览速度也能够得到提升。安全性好，能够支持商务应用。</p>

<h2>缺点</h2>

<p>需要境外服务器的账号，设置稍微麻烦了一些。</p>

<h1>3. 强制忽略互联网长城</h1>

<p>互联网长城的工作机制，大概可以分为三种，IP封锁，DNS劫持和关键字过滤。当浏览网页时，先能够访问网站，然后出现马上出现连接中断（Connection Interrupted）错误的时候，证明互联网长城识别出网页内包含敏感的关键字，向两端发送了连接重置信号。对于关键字过滤这种封锁方式，可以通过设置操作系统底层网络处理参数，让其忽略互联网长城的发来的连接重置信息，从而破除封锁，其原理和详细的设置使用方法，请参考<a href="http://www.mindward.com/2008/03/by-pass-the-gfw.html">By pass the GFW - 穿越互联网长城</a>。</p>

<h2>优点</h2>

<p>网站兼容性好，一旦设置好之后，对用户完全透明，使用容易。</p>

<h2>缺点</h2>

<p>目前只知道Linux和FreeBSD下的设置方法，还没有发现Windows下的设置方法，对普通用户来说，不具备可操作性。如上面的原理分析文章中所描述的，仅仅能破解关键字过滤的封锁。</p>

<h1>4. Tor代理软件方法（TorProject)</h1>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="vidalia.png" src="http://www.mindward.com/images/vidalia.png" width="350" height="450" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span></p>

<p>在本机上安装Tor代理软件，比如<a href="https://www.torproject.org/vidalia/">vidalia</a>，然后借助代理软件访问互联网，Tor将浏览器的请求分解到多台同样安装了该代理软件的境外客户机上，由多台客户机帮助浏览器取得需要的数据。</p>

<h2>优点</h2>

<p>安全性高，使用方便，不需要集中服务器，支持Windows平台。</p>

<h2>缺点</h2>

<p>安装设置稍微麻烦，实际测试的时候，浏览速度不理想。</p>

<h1>5. 组合使用1，3的方法</h1>

<p>我们注意到，方法1的代理软件方案，需要有服务端配合，而方法3既适合客户端，也适合服务端，但是对操作系统有要求，安装配制不容易。那么，我们可以考虑结合这两个方法的优点，将服务端按照方法3配制并安装代理软件以方便用户的使用，这样，即便是服务器在境内，也能够破除互联网长城的关键字过滤封锁了。一旦正确配制的服务器能够顺利的访问本被封锁的网站，这时候，只需要在服务器上部署方法1所提到的代理软件，然后用代理软件来访问原本被关键字过滤阻挡的网站，而且我已经用cgiproxy软件成功的验证了这个方法的可行性，点击<a href="http://www.mindward.com/cgi-bin/nph-proxy.cgi">MindWard cgiproxy</a>，然后在顶步的表单中输入这个地址 http://www.lightbluetouchpaper.org/2006/06/27/ignoring-the-great-firewall-of-china/ 就能够访问，而直接在浏览器地址栏输入上面的地址，会得到连接错误。</p>

<h2>优点</h2>

<p>结合了方法1的优点，容易部署和使用，同时去掉了方法2中必须具备境外服务器的限制，只要有Linux或FreeBSD操作系统就都能够使用这个方法。</p>

<h2>缺点</h2>

<p>对比方法4，还是需要有服务器的存在。仅仅能突破关键字过滤，而对IP封锁和DNS劫持没有作用。</p>

<h1>6. 组合使用方法2，3</h1>

<p>理论上来说，既然我们能够组合使用方法1和3，我们也应该能够组合使用方案2和3，但是，在尝试这样配制的时候，服务器端给出了 &#8220;channel 7: open failed: connect failed: Connection timed out&#8221; 错误，我需要进一步发掘问题的原因，到目前为止，这个方法还没有配制成功。</p>

<h1>7. 下载安装其他破封网的客户端软件</h1>

<p>我之前尝试过一些这类软件，因为某些原因，这里就不再多说了，请自己想办法查找下载地址。</p>

<h1>总结</h1>

<p>如果有大量廉价的免费的Linux或FreeBSD服务器可供使用，那么，采用方法5的原理，开发一款客户端软件，广泛的部署到大众的电脑上，那么，破除互联网长城的封锁就变成了一个异常容易的事情，而不象现在这样有一个高技术的门槛。如果从技术的角度考虑，那么方法4和5已经变成了类似的原理和架构了，也许，这正是互联网的未来发展趋势，不依赖集中服务器，成长为透明的，自适应的，完全分布式的全球网络环境。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>用 IBM Rational Method Composer 定制组织流程库</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/process-customized-using-ibm-rational-method-composer.html" />
    <id>tag:www.mindward.com,2009://7.790</id>

    <published>2009-05-12T11:53:49Z</published>
    <updated>2009-05-12T12:24:28Z</updated>

    <summary>IBM Rational Method Composer IBM收购了Ratio...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Architecture 架构" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="architecture" label="Architecture" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ckmm" label="CKMM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cokb" label="COKB" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ibm" label="IBM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="process" label="Process" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="protected" label="Protected" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rational" label="Rational" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rup" label="RUP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<h1>IBM Rational Method Composer</h1>

<p>IBM收购了Rational之后，RUP升级成了基于Eclipse的Method Composer，借助这个工具，能够自行定制RUP流程，然后发布到网站上，作为组织特定的流程库。对于需要剪裁定制RUP以适合自己组织需求的企业来说，这样的工具无疑方便了裁减定制工作，让RUP更容易的适合组织的流程需求。</p>

<h1>试用IBM Rational Method Composer</h1>

<p>这个工具是基于Eclipse的，熟悉Eclipse的朋友很容易上手，帮助系统是IBM一贯的风格，简洁而有用。参考帮助系统中的教程，简单的尝试了一下之后，创建了一个自己的Plugin，并发布了一个加入了该Plugin的流程库<a href="http://www.mindward.com/files/protected/RationalUnifiedProcess/ckmm">RUP for CKMM</a>，这只是一个简单的尝试，证明了RMC的可用性，下一步，期望把<a href="https://wiki.mindward.com/doku.php?id=cokb:ckmm">CKMM</a>中的流程元模型从SPEM升级到SPEM2之后，能够基于<a href="https://wiki.mindward.com/doku.php?id=cokb:ckmm">CKMM</a>的元模型来开发自己的Plugin，并定制出适合<a href="https://wiki.mindward.com/doku.php?id=cokb:ckmm">CKMM</a>元模型的流程库。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>跨平台图形工具库选择建议</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/post-40.html" />
    <id>tag:www.mindward.com,2009://7.789</id>

    <published>2009-05-11T10:03:25Z</published>
    <updated>2009-05-11T10:32:47Z</updated>

    <summary>跨平台的图形工具库 每种操作系统平台都有自己的风格和图形工具库，Windows有...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Embedded 嵌入式" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming 编程" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="gtk" label="Gtk" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="qt" label="Qt" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tk" label="Tk" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wxwidgets" label="wxWidgets" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<h1>跨平台的图形工具库</h1>

<p>每种操作系统平台都有自己的风格和图形工具库，Windows有MFC，MacOSX有Cocoa和Carbon，而Linux则有GTK+和Qt。但是，也有专门开发的跨平台工具库，其中最著名的是Tk和wxWidgets。跨平台的工具库不但需要能够跨平台运行，还要能够在目标平台上行为良好，看起来不要象外星人，而应该象本地居民一样，融入本地的风格和行为习惯中。加上这些要求之后，这个列表就剩下GTK+, Qt, Tk和wxWidgets了，其中，源于Tcl扩展的Tk图形库，因为历史的原因，默认为选为流行脚本语言的默认图形库，如Perl和Python的默认跨平台图形库。然而，随着脚本语言对wxWidgets的接纳，如wxperl和wxpython这样的脚本语言同wxWidgets的绑定库使得用脚本语言写重量级的图形应用程序成为可能，这样的例子包括Perl语言的集成开发环境Padre，Python语言写的文本编辑器Editra等等。</p>

<h1>选择跨平台工具库</h1>

<p>在文档<a href="https://wiki.mindward.com/doku.php?id=documents:cross_platform_gui_toolkits">Cross Platform GUI Toolkits</a>中，我尝试分析跨平台工具库的技术，社会以及趋势方面的因素，让大家得到一个相对清晰的视图，以了解各种图形工具库的优势和弱点，以便给出选择图形工具库的指引。</p>

<p>就我目前的实践经验和知识，能给出的建议如下：</p>

<blockquote>
  <h2><em>忽略Tk，重量级或嵌入式开发用Qt，低成本脚本语言开发用wxWidgets</em></h2>
</blockquote>
]]>
        

    </content>
</entry>

<entry>
    <title>添加了RapidSVN的简单入门说明</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/rapidsvn.html" />
    <id>tag:www.mindward.com,2009://7.786</id>

    <published>2009-05-06T09:15:48Z</published>
    <updated>2009-05-27T14:10:41Z</updated>

    <summary>为了让非技术人员也能够开始使用版本控制系统，特地添加了一份多图版本的RapidS...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Engineering 工程" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming 编程" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="repos" label="Repos" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="svn" label="svn" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p>为了让非技术人员也能够开始使用版本控制系统，特地添加了一份多图版本的RapidSVN使用说明，用看图说话的方式引导大家入门。期望有了这样一份说明，有更多的人能够开始使用版本控制系统管理协作编写的文档了。</p>

<p>请参考<a href="https://code.mindward.com/rapidsvn.html">如何使用Rapid SVN 客户端？</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>ssh client as SOCKS server</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/05/notes-ssh-client-as-socks-server.html" />
    <id>tag:www.mindward.com,2009://7.806</id>

    <published>2009-05-03T11:08:55Z</published>
    <updated>2009-05-20T15:53:42Z</updated>

    <summary>场景 假设你有一个能够用ssh远程连接的境外服务器的账号，比如Dreamhost...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Internet 互联网" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="firewall" label="firewall" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="greatfirewall" label="Great Firewall" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ssh" label="ssh" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<h1>场景</h1>

<p>假设你有一个能够用ssh远程连接的境外服务器的账号，比如Dreamhost或其他托管服务商的虚拟主机或远程管理账号，同时，由于生在伟大的防火墙的防护之下，苦恼于某些网站被屏蔽了，而没有办法访问。这时候，参照本文提供的方法，就可以借助这个境外服务器作为代理服务器，突破伟大防火墙的封锁，访问到想看的内容了。</p>

<h1>用ssh来作为SOCKS server.</h1>

<p><code>
ssh -D 5566 username@remote.server
</code></p>

<p>用你自己的用户名和服务器名来替换上面的username@remote.server，然后配制你的浏览器使用SOCKS协议，能够支持V4或V5版本。下面用firefox浏览器作为例子：</p>

<ol>
<li>打开firefox浏览器，在地址栏输入： about:config，然后按回车；
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="socks.png" src="http://www.mindward.com/motion/socks.png" width="482" height="271" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></li>
<li>在过滤栏（Filter）输入： proxy</li>
<li>找到下面四个选项，并做如下修改：</li>
</ol>

<p><center></p>

<table border="1" cellspacing="0" cellpadding="3">
<tr><td><tt>network.proxy.socks</tt></td><td><tt>127.0.0.1</tt></td></tr>
<tr><td><tt>network.proxy.socks_port</tt></td><td><tt>5566</tt></td></tr>
<tr><td><tt>network.proxy.socks_version</tt></td><td><tt>5</tt></td></tr>
<tr><td><tt>network.proxy.type</tt></td><td><tt>1</tt></td></tr>
</table>

<p></center></p>

<p>然后，点击<a href="http://www.whatismyip.com/">http://www.whatismyip.com/</a>，如果看到的IP Address是远程服务器的地址是一样的（而不是你本机的IP地址），那么，恭喜你了，设置已经成功了。</p>

<p>现在，我们试一试之前没办法访问的网站，比如： <a href="http://codelite.org">http://codelite.org</a>，现在，不但能够浏览到网站的内容，而且，浏览的速度也提高了。</p>

<p>更新： 将上面参数设置部分中默认的SOCKS协议由4修改为5，原因见<a href="http://www.mindward.com/motion/2009/05/open-failed-administratively-prohibited-error-with-ssh-dynamic-port-forwarding-monline.html">这里</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>我的家乡&quot;伊犁&quot;</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/04/post-28.html" />
    <id>tag:www.mindward.com,2009://7.777</id>

    <published>2009-04-30T14:36:13Z</published>
    <updated>2009-05-01T04:22:03Z</updated>

    <summary>深圳人来自五湖四海，初认识朋友的时候，常常会被问是那里人，我回答是新疆人时，对方...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Others 随笔" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Slacklife 生活" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="downloads" label="Downloads" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="public" label="Public" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="伊犁" label="伊犁" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="新疆" label="新疆" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p>深圳人来自五湖四海，初认识朋友的时候，常常会被问是那里人，我回答是新疆人时，对方不免马上联想起华强北的维族小偷来，这大概源于他们身边能接触到的和看到的，或者是华强北的小偷，或者是街头推者小车卖核桃糖的小商贩吧。&#8221;新疆&#8221;，对多数人来说是遥远和陌生的，而我出生的地方－&#8221;伊犁&#8221;，在中国的版图上只是边陲上的一个小城市，因为林则徐曾经发配到&#8221;伊犁&#8221;，在近代的历史上才有些印记。</p>

<p>离开伊犁也有十多年了，久没有回去，童年的记忆也模糊了，可依然记得那是个美丽的地方。记得春天，满山遍野开满了火红的罂粟花，象是铺满了红地毯；记得夏天高大的白洋树下，清澈见底又透心凉的渠水，和渠边嬉戏打闹的各民族小朋友；记得秋天，常常在果园里，在瓜地里，吃到饱的香甜的水果，有：西瓜、杏子、葡萄、香梨、苹果、还有哈密瓜、白兰瓜，啊，想起来就流口水，还有那秋末收割过后的田野上纯净而没有一丝云彩的蓝天，和在一望无际的金色田野上翱翔的白鸽群；冬天的色彩虽然单调，到处一片银白，可是欢乐最多的季节，记忆中，每天中午都到山上去滑爬犁，太阳偏西了，冷的受不了，就赶紧躲回到家中，围在火炉边，吃烤的焦黄的馒头，再沾点油泼辣椒，全身的汉就都冒出来了。</p>

<p>等到上了大学，回家探亲的时候，每当车快到伊犁，最撩动人神经的，是空气中混合了烤羊肉香，果香，马粪香的特别而熟悉的气味，这种气味在没有离家的时候，是分辨不出来的。</p>

<p>伊犁的四季，伊犁的气味，用言语是很难表述的，它参杂了我童年的记忆，少年的遐思。好在，从父母带给我的光盘里，找到了些能够帮我介绍&#8221;伊犁&#8221;的资料：<a href="http://www.mindward.com/files/public/Movies/YiLi/KnowYiLi-CCTV.mp4">走进伊犁</a>，<a href="http://www.mindward.com/files/public/Movies/YiLi/Nalati01.mp4">那拉提文艺晚会上</a>和<a href="http://www.mindward.com/files/public/Movies/YiLi/Nalati02.mp4">那拉提文艺晚会下</a>。期望这些异域的风情，能够带给大家一个不一样的新疆，不一样的伊犁。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>项目管理工具Freemind和GanttProject</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/04/freemindganttproject.html" />
    <id>tag:www.mindward.com,2009://7.774</id>

    <published>2009-04-29T12:43:46Z</published>
    <updated>2009-05-01T05:15:13Z</updated>

    <summary>在多年前的旧做&#8220;见树木也能见森林&#8221;，曾经向大家推荐过Fr...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Architecture 架构" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Business 商业" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Knowledge 知识" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="downloads" label="Downloads" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="freemind" label="Freemind" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ganttproject" label="GanttProject" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="protected" label="Protected" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p>在多年前的旧做<a href="http://www.mindward.com/2005/09/post-9.html">&#8220;见树木也能见森林&#8221;</a>，曾经向大家推荐过<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>，自己也曾经在日常工作中借助<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>来帮助自己整理思绪，让繁杂的事物按照树状结构展现，可以说，<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>是用于应对复杂的首选工具，在考虑采用任何更专门的工具之前，建议先使用<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>帮助理清思绪，然后再根据目标领域导入更专门的工具，比如：软件研发领域则考虑导入UML建模工具，知识管理领域考虑导入本体建模工具，而项目管理则可以考虑导入项目管理工具<a href="http://www.ganttproject.biz/download">GanttProject</a>。</p>

<p>如标题所示，今天的议题主要关注项目管理领域，这里就介绍<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>同<a href="http://www.ganttproject.biz/download">GanttProject</a>两款工具的配合，来解决项目管理领域的问题。</p>

<p>在项目规划的初期，<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>能够非常容易的让杂乱的项目变得有序，将项目细化拆解成树状分支结构，并能够方便的移动和重新组织，当项目的拆解结构逐步稳定下来，需要分配资源和时间的时候，<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>的使命就基本完成了，这时候，就该另外一个工具出场来接替<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>了。</p>

<p>开源的项目管理工具有不少，google一下会找出一大堆来，这里，只推荐能够同<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>的文件互相转换的工具：<a href="http://www.ganttproject.biz/download">GanttProject</a>和<a href="http://www.taskjuggler.org/index.php">TaskJuggler</a>。</p>

<ul>
<li><p><a href="http://www.ganttproject.biz/download">GanttProject</a>是一款简单易用的项目管理工具，用Java开发，所以能够很容易的在PC, MacOSX和Linux等平台下安装并运行起来，而且，GanttProject能够同Microsoft Project互操作，能够导入导出Project的文件，对于已经会使用Project的人来说，可以先把.gan文件导出成.MPX文件，然后用Project打开编辑。借助<a href="http://johanneskutsam.spaces.live.com/blog/cns!1961B7AE7280AAFD!264.entry">Freemind 2 GanttProject converter</a>也能够让两种工具的文件互相转换。虽说转换能够省去了重新录入和检查错误的麻烦，但是，实际使用的时候，还是有一些局限。</p>

<blockquote>
  <ol>
<li>测试的时候发现，虽然纯英文的文件能够成功的转换，但是，该转换工具并不能支持中文，所以，如果在<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>的mm文件中使用了中文，就没办法使用转换工具了；</li>
<li>从gan2mm还比较顺畅，可是，如果是mm2gan，因为缺乏时间和任务信息，生成的文件还有不少要手工的调整工作，对于小项目来说，节省的时间有限。</li>
</ol>
</blockquote></li>
<li><p><a href="http://www.taskjuggler.org/index.php">TaskJuggler</a>是另外一款功能更强大一些的项目管理工具，则主要针对Unix/Linux平台，在Windows平台和MacOSX平台下的安装并不容易，虽然<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>文件导出功能已经有<a href="http://www.taskjuggler.org/index.php">TaskJuggler</a>作为目标选项。但是，该工具的跨平台运行和易于安装这两个方面还是不如<a href="http://www.ganttproject.biz/download">GanttProject</a>，要想在Windows和MacOSX上运行起来并不容易。</p></li>
</ul>

<p>选择那个工具同<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>配合，取决与经验和能力，对于刚刚起步接触这个领域的人来说，<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>+<a href="http://www.ganttproject.biz/download">GanttProject</a>会是一个不错的组合。</p>

<p>除了上面的建议工具组合，另外一个值得一提的工具是绘图工具，同Windows平台下Visio工具类似的绘图工具，<a href="http://sigmundtzeng.blogspot.com/2009/02/blog-post_19.html">行有餘力 則以學文 的 思维导图</a>文中，给出了不同平台的建议工具组合，这里还是重点推荐一下免费兼跨平台的<a href="http://www.yworks.com/en/products_yed_about.html">yED</a>工具吧。</p>

<p>所以，最终的项目管理建议工具链组合是，<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>+<a href="http://www.ganttproject.biz/download">GanttProject</a>+<a href="http://www.yworks.com/en/products_yed_about.html">yED</a>，纯Java的跨平台解决方案。</p>

<h1>共享项目文件的方法</h1>

<p>项目进行过程中需要多人协作编辑一些文件，比如上面提到的<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">Freemind</a>的.mm文件，或者<a href="http://www.ganttproject.biz/download">GanttProject</a>的.gan文件等等。一般来说，多数人的直觉是通过电子邮件附件的形式来共享这些文件，每到收到新版本的附件时，再另存到自己的本地电脑的硬盘上。这种方式需要每个人都设定和维护一套自己特定的项目目录结构，不利于项目的规范管理。</p>

<p>除了通过电子邮件附件来共享文件，还有一个更符合一般人的使用习惯好的方法，那就是构建一个网上共享的目录，划分清楚每个项目参与人的权限，使用者可以把对应的目录映射到自己的本地电脑上，就象编辑本地文件一样编辑网上共享目录中的文件。这种分享和协作的方式容易将项目结构同目录结构做一个统一的映射，让大家工作在统一的项目目录结构下。这种共享文件的方式，不然能够让参与人在获得项目整体印象的同时专注与自己的工作领域，同时也降低了沟通和协调的成本，帮助项目快速收敛。</p>

<p>为了让大家对这种方式有一个体验，我已经在服务器端做好了提供这中共享服务的必要设置，关于客户端的设置和使用的方法，请点击<a href="http://www.mindward.com/files">File</a>，了解不同平台的用法。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>台湾王财贵教授的读经教育讲座视频下载</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/04/post-24.html" />
    <id>tag:www.mindward.com,2009://7.771</id>

    <published>2009-04-29T06:45:27Z</published>
    <updated>2009-05-01T04:22:31Z</updated>

    <summary>我的读经教育体验 我儿子小雨不到两岁的时候，一次偶然的机会，在网上看到了儿童经典...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Knowledge 知识" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Slacklife 生活" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="downloads" label="Downloads" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="public" label="Public" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="教育" label="教育" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<h3>我的读经教育体验</h3>

<p>我儿子小雨不到两岁的时候，一次偶然的机会，在网上看到了<strong>儿童经典诵读理念讲座</strong>的视频，就下载并保存了下来，而推动我去按照其理念实践的理由，一方面是因为自己小时候有如饥似渴的求知欲望的时候，却被灌输了&#8221;小明，小白，小花&#8221;等儿童知识，到目前也想不起来什么了；另一方面是因为王教授对&#8221;懂了才教&#8221;的剖析，以及对中国近代无大师的反思，自己深以为然，所以就产生了试一试的想法。</p>

<p>小雨从两岁开始，先教他学《道德经》，中间因为家庭的原因，断续而没能够坚持，到六岁的时候，终于把《道德经》背完了，然后开始学《论语》，相当于我的经典诵读只实践了很少的一部分，但是已然有一些体会。</p>

<p>现在小雨上小学了，慢慢的结识了一些同学和朋友，这些同学和朋友也常到家里来玩，我发现，虽然小雨很调皮，并不是班上的好学生，但是，他认字最多，背书最快，记忆力非常好，数学能力也不错。这应该不是天生的，该归功于读经教育实践的成果。</p>

<p>读经教育的另一个收获是，自己从小到大，并没有机会去仔细阅读这些经典，只知道只言片语而已，借陪小雨读书的便利，自己也从经典中发现了早该知道的道理，虽然背书的速度不如小朋友，可在朗朗读书声中，也得出了自己的人生体会。</p>

<p>下面是讲座视频的下载链接，建议已经有孩子和将要有孩子的人都来学习一下，趁孩子还没有超过13岁。</p>

<ul>
<li><a href="http://www.mindward.com/files/public/Movies/education/AVSEQ01.mp4">儿童经典诵读理念讲座（上）</a></li>
<li><a href="http://www.mindward.com/files/public/Movies/education/AVSEQ02.mp4">儿童经典诵读理念讲座（下）</a></li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>整合了文件下载的密码保护功能</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/04/post-23.html" />
    <id>tag:www.mindward.com,2009://7.769</id>

    <published>2009-04-28T10:51:09Z</published>
    <updated>2009-04-29T06:43:44Z</updated>

    <summary>同样借助Apache2::AuthTicket，为了简化认证系统，文件下载的密码...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Embedded 嵌入式" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Engineering 工程" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Knowledge 知识" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="downloads" label="Downloads" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p><strike>同样借助<a href="http://search.cpan.org/~mschout/Apache-AuthTicket-0.40/lib/Apache2/AuthTicket.pm">Apache2::AuthTicket</a></strike>，为了简化认证系统，文件下载的密码保护功能基于<a href="http://code.mindward.com/repos">http://code.mindward.com</a>的<a href="http://www.mindward.com/forum/2009/04/post-1.html">认证系统整合</a>中同样的理由，改为<a href="http://search.cpan.org/~pgollucci/Apache-DBI-1.07/lib/Apache/AuthDBI.pm">Apache::AuthDBI</a>实现，注册用户可以直接用同一个用户名和密码登录如下链接，获得访问特权：</p>

<ul>
<li><a href="http://wiki.mindward.com/doku.php">http://wiki.mindward.com</a>,</li>
<li><a href="http://code.mindward.com/repos">http://code.mindward.com</a>，</li>
<li><a href="https://www.mindward.com/mt">http://www.mindward.com/mt</a>，</li>
<li><a href="http://www.mindward.com/files/protected">http://www.mindward.com/files/protected</a></li>
</ul>

<p>这些系统的用户名和密码统一使用本站的MovableType系统的用户管理功能来管理。</p>

<p>后续，我将陆续提供有价值的资料供大家分享。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>更新了&quot;Collaboration Knowledge Bank (COKB) 易知行&quot;项目的词汇定义部分</title>
    <link rel="alternate" type="text/html" href="http://www.mindward.com/2009/04/post-21.html" />
    <id>tag:www.mindward.com,2009://7.761</id>

    <published>2009-04-24T03:21:22Z</published>
    <updated>2009-04-24T04:42:40Z</updated>

    <summary>Collaboration Knowledge Bank (COKB) 易知行在...</summary>
    <author>
        <name>David Wu</name>
        <uri>http://www.mindward.com/</uri>
    </author>
    
        <category term="Architecture 架构" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Business 商业" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Knowledge 知识" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cokb" label="COKB" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.mindward.com/">
        <![CDATA[<p><a href="http://wiki.mindward.com/doku.php?id=cokb:start">Collaboration Knowledge Bank (COKB) 易知行</a>在为社会实践做准备的时候，先进行了一些理论方面的探索和研究，包括对词汇的定义和方法论的准备。现阶段，应该是更关注理论同实践的结合的时候了，所以，将理论部分的内容和实际项目的规划进行了结合，同时更新了<a href="http://wiki.mindward.com/doku.php?id=cokb:ckmm">Collaboration Knowledge Management Methodology (CKMM) 协作知识管理方法论</a>中的图表，修正了一些错误。</p>
]]>
        

    </content>
</entry>

</feed>
