2009年5月23日

个人知识管理系统

一度有这种经历,自己以前弄过的东西,由于过了很长时间,就是忘了该怎么弄,非得经历较长的时间才能恢复起那种技能,或者几乎就是需要重新经历一遍才行。还有这样一种经历,自己信心满满的准备学习一种分为很多部分的资料,开始几天坚持得很好,但是由于临时性的事情打乱了我的计划,使得我渐渐成为计划容易执行困难的人。还有一种情况,我在更新我的个人网站(纯HTML撰写)时,更新一次比较麻烦,如果不能访问到服务器的文件夹,几乎就无法更。

为了解决上面三种困扰,我花了三天时间更新了自己的个人网站系统,并且具有个人知识管理的功能。这里备份一下基本的搭建流程,以备将来查找。

----------------------------------

1. 初始安装:下载moin-1.8.3.tar.gz,解压后在主目录下新建"mywiki"文件夹,将wiki目录下的data和underlay文件夹拷贝放入mywiki文件夹中,然后在主目录下修改wikiconfig.py中对应的site_name为你喜欢的名字,logo_string中修改你的logo(注意这里的/moin_static183就是\wiki\htdocs\),data_dir为'./mywiki/data',data_underlay_dir = './mywiki/underlay/', 设置超级用户superuser = [u"yourid", ], 设置网站访问权限acl_right_default = u"yourid:read,write,delete,revert,admin All:read"(这样写yourid有管理员权限,其他人有只读权限);记得将acl_rights_before注释掉,这样便于利用moin自带的单网页权限控制,后面会介绍;修改navi_bar为你需要的网站目录结构,修改网站主题theme_default为你喜欢的,可以安装新主题。然后运行主目录下的wikiserver.py,即可在你本地浏览器中访问你的个人wiki网站了,地址http://localhost:8080 这里的端口8080可以在wikiserverconfig.py中修改配置。

2. 权限管理:在对应的wiki页面源码顶部添加"#acl Default -All",就可以实现相关页面的私有化。如果不希望你的系统被注册新用户的话,可以将\MoinMoin\action\newaccount.py删除。

3. 个性化配置:首先是如何切换网站主题,在初始安装过程中的theme_default进行修改。系统默认的主题有四个classic,modern,modernized,rightsidebar。也可以安装新的主题,一般流程为在http://moinmo.in/ThemeMarket 页面中选定并下载你需要的主题压缩包,解压后将主题名称的文件夹拷贝放入wiki\htdocs\,将主题名称的py文件放入mywiki\data\plugin\theme\。然后就可以如法修改为你喜欢的主题了。如果需要进一步做细微的调整,可以修改对应主题的py程序(这个需要一点点python功底)。这里说明几个不容易看明白的个性化配置选项。

3.1 在对应主题的py程序中def title(self, d)函数返回的链接似乎有问题,生成在页面顶部的链接点击时会出现找不到的情况。我的修改如下:将这段
html = '''
<ul id="pagelocation">%s </ul>
''' % "".join(content)

修改为
html = '''
<ul id="pagelocation">%s</ul>
''' % "".join('''<li><a class="backlink" href="/''' + d['page_name'] + '" rel="nofollow">' + d['page_name'] + '</a></li>')

3.2 对应的def wikipanel是你的目录块,我将下面几行注释掉了,感觉不必输出wiki字样
#u'<h1>%s</h1>' % _("Wiki"),
#u'<h1>%s</h1>',

3.3同样的pagepanel中注释掉了
#u'<h1>%s</h1>' % _("Page"),
#u'<h1>%s</h1>',

3.4 由于我最终采用了sinorca4moin这种类似于http://www.scipy.org/网站的主题,页面顶端的header部分感觉比较罗嗦,我在def header函数块中注释掉了middle header部分使得不显示logo等相关部分,还注释掉了其中的self.msg(d), self.iconbar(d),等冗余部分。相应的注释还需要在editorheader部分同样进行,因为这部分是管编辑状态下的页面顶端内容的。

3.5 改动比较大的应该算是其中的def footer函数块了。这里主管每个页面的底栏部分。我把其中的self.credits(d),self.showversion(d, **keywords) 注释掉了,替换为自己的版权信息。

做完这些配置,我的wiki个人网站系统就非常的符合我的口味了。

4. 插件安装:这个部分是我花费了较多时间来逐一尝试和学习的,也就是这个部分的内容使得我的这个个人网站wiki系统非常的棒。

我自己在moin官网上下载并安装了如下的macro和parser。安装方法就是将相应的macro拷贝放入mywiki/data/plugin/macro,将相应的parser拷贝放入mywiki/data/plugin/parser即可:

Macros:PageComment2(可以添加和网友交互的注释框,用来方便的实现留言板), MonthCalendarTopList(将所在页面的monthcalender抽取出最新的记录), EventCalendar(比monthcalender高级的月历,类似于google calender,不知为何只能安装原始的0.8版,功能比最新版差很多,不倾向于推荐),MonthCalendarHack(原先的monthcalender必须要求日期页面采用= xxx =的格式,hack后可以采用'''xxx'''来实现), Color2(实现文本颜色)

Parsers:todo(实现todolist的功能), eventcal(用于EventCalender 0.80版)

5. 高级用法:经过这次安装和不断的上网查找信息,我学会了一些更高级的moin用法,其中最高兴的功能就是Include,可以实现相关页面的嵌入,配合上正则表达式还可以将任何一个Monthcalender中的日历内容批量式显示在任何页面中。

---------------------

经过以上无补,我的个人知识管理系统搭建好了。Moin作为个人知识管理系统的好处可以参见这个slides: DriveIntoMoinPub

2009年5月17日

latex实现带换行的文本框

这个东西在搜索引擎上几乎找不到答案(这篇blog希望能够使得通过搜索引擎能够找到这个解决方案)。

问题是这样的,我想在latex里实现带换行功能的文本框。

最直接的想到了如下代码

\fbox{abcd \\ abcd \\ abcd}

生成文件后你会发现,这里的换行根本不起作用。

开始已经找到了pstricks还有tikz来实现这个功能(也花了好几个小时来了解)。但是最终发现这个东西只能在pdflatex编译模式下实现。我现在的文章必须用dvipdf模式,为此不得不放弃这种方法。

后来在看latex的flowdoc包的demo时,不经意间发现这里能够实现换行功能。仔细分析,原来采用了\shortstack命令来实现。查看了一些资料后得知其语法如下:

\shortstack[位置]{图文物件}

这会像叠罗汉一样的把「图文物件」叠在一个栏位内,和叠罗汉不同的是,后进的叠在最下面,先进的会被往上堆高,底部的基准线是固定的,高度则是往上增高,各图文物件由换行符号来换行,也就是说可以由换行符号来决定他们之间的间隔。当然,这要自行注意他的高度,否则会和其上的其他内容重叠。「位置」可为l, r, c之一,是指居中,或靠这个栏位的左右边的意思。



最终我的带换行的不受编译模式限制的文本框实现如下:

\fbox{\shortstack[l]{abcd \\ abcd \\ abcd}}



哎!原来这样简单,加一个shortstack就行了,让我折腾了一个下午。备份与此,仅供参考,希望能够节省寻找同样问题答案的朋友的时间!

2009年5月15日

只读(学)经典

人生是由时间构成的,如果想要学习东西的话一定要读或者学那些最为经典的东西。这样一方面能够学到真正的好东西,另一方面能够节省大量的时间。

就像练习太极那样,一定要在好的修炼方法以及名师的指引下,勤加练习和领悟,才能够快速进步。至少《学习的艺术》一书的作者是这样的套路。

英语上我选定了VOA来进行修炼,选定了沪江的VOA网站作为每日跟进的地方。这个网站非常棒,大家注册后就能发现它的强大。网址:http://voa.hjenglish.com/

数学上,在我曾经收集的三组读物里首先选定了Introduction to Linear Algebra一书,这本书今年已经出版到第四版了。可惜的是网上居然没能找到这本书前面几版的电子版,能找到的也就是这本书的习题解答的pdf版,或者是其他电子书冒充的 :) 最终选定了MIT Course 18.06来作为我学习的目标。这门课的老师就是这本书的作者。下载视频后对照视频录音的文本学习居然感觉非常的舒服。哈哈,终于找到学习的感觉了。虽然有34个视频,我相信在坚持练习太极的劲头下我会坚持下来的。

只读经典,努力!

2009年5月14日

马步站桩

昨天开始进入正常的太极练习阶段,6点半八法健身,7点跟着大伙儿练习太极拳。一位师兄指出我的腿脚很不稳,需要练练站桩。老师没有回来之前只能找找网上的资料来学习如何站桩了。备份一下找到的资料,以供查看。

桩步又叫桩功,因桩功是拳术中的一种很重要的基本功夫,所以它既有强壮身心(能使体内的中气保持中正安舒)之功,又有稳定平衡之能。

1、马步站桩
练步之法以马步为基础。马步,又名马裆、地盆或站桩。为什么要练马步站桩呢?因其步稳气沉,不但可免血气上浮和呼吸短促之病,而且可使浮力渐去,得到气力沉重的效果。虽然拳术多半都在练手上的功夫,但是如步法不稳固,基础不坚,一动即摇,上重下轻,结果好像风絮水萍,毫无根基,这样会影响到全身,使之散乱。所以我们要求练其举足轻如鸿毛,立步重如泰山。如此可见,应该下苦功夫,练习马步站桩。


祖国医学的经络学说理论认为,经络是人体内气血运行的通路。经有路径的意思,是纵行的干线;络有网络的意思,是经的分支。它们遍布全身,内连五脏六腑,外达四肢百骸,沟通内外,联系表里,构成了一个完整、独特的功能体系,使肌体内外上下统一协调,以维持人体的正常生理活动。《灵枢·经脉篇》说:“经脉者,所以决生死,处百病,调虚实,不可不通”。因此有“通则不痛,不通则痛”之说。马步站桩功的机理,类似于“体外反搏”的原理,它通过调整和保持特定的“上虚下实”姿势,以增加心脏气血的回流量和上身各部的气血通量,有利于建立“侧支循环”和改善微循环,使周身的经路畅通,气血调和,阴阳平衡,从而达到防治“人老先从腿上老”,祛除疾病,健身益寿的目的。

预备姿势:放松直立,两脚分开,与肩同宽,脚尖内扣10°左右;两臂自然下垂,掌心向内;身体中正,目视前方(图20)。

起势:掌心相对,两臂向前缓缓抬至与肩平(图21);翻掌向上,屈肘收手,经腰间带脉处向后、向外、再向前划弧(图22);翻掌向下,两臂略收回,置于体前,同时屈膝下蹲成马步站桩式(图23)。




站桩要领:

1.两脚与肩同宽;

2.两脚尖内扣10°左右;

3.十趾抓地,但不要过分用力;

4.屈膝下蹲,但膝不超过脚尖;

5.收腹、提肛;

6.圆档、松腰、松胯;

7.含胸拔背;

8.虚领顶劲;

9.舌舐上腭;

10.目视前方;

11.鼻尖与肚脐的连线垂直于地面;

12.百会与会阴的连线垂直于地面;

13.虚腋;

14.沉肩坠肘;

15.前臂与地面平行;

16.两前臂互相平行;

17.中指根部与前臂成一直线;

18.手掌成瓦状;

19.手指成阶梯形,拇指与食指成鸭嘴形;

20.上虚下实,面带微笑,自然呼吸;

21.马步站桩时要做到“三个不要”和“一个强调”:不要入静;不要意守;不要将别的功法的概念加入本功法。强调动作姿势的准确;

22.要做到三个稳:起势稳;站桩稳;收功稳。

要求:每次站桩的时间不宜少于30分钟(初学者时间可以由短到长,循序渐进);架势可随着体力的增强而由高到低(在一定的范围内,架势越低,“体外反搏”的作用越强,“爆发力”越大)。

2009年5月7日

合太极

刚好上月的今天,我开始每天早上6点起床去恢复性学习太极拳,先后经历了健身八法、吴氏太极八十四式的学习。今天终于学完了最后一式:合太极。现在我终于能够顺利的独自打完全套太极拳了。

回顾这一轮的学习,我有很多感想。

首 先,正确的指导是必要条件。战老师还是那么的耐心和蔼的教导每一位学员的每一个招式。而且,我观察发现战老师每次都能够记住前一天教到了哪里。战老师经常 对我们说的一句话就是,“多练习啊!”,而且老师不喜欢那种三天打渔两天晒网的行为。每当有同学很长时间后出现在拳场时,老师都会善意的说,啊,好久没来 了啊。每天早上战老师对于大家的指导除了基本的招式之外还有一些太极拳实战中具体的简单的应用,最让人放松的就是老师还会和大家拉拉家常,说说各种相关的 有趣的事情。这个月来,最为有趣的事情就是老师的美国之行中的各种细节事宜了。那段沈阳美国领事馆美国老太太面试官的面试堪称经典。战老师算是一位现代化 的太极宗师。

坚持的重要性。回想自己两年前学习太极的失败经历以及这次成功学习的经验,我发现坚持真的很重要。我每天除了早上的学习和练 习外,每天还会在实验室的会议室或者学校管楼对面的花园里练习一下。不断的练习和体会让我能够越来越熟练。那句“三天不练手生”真是一点没错啊。贵在坚 持,不但能够应用到学习太极拳上,任何学习都适用这个规律。

用心才能学好。这一路的学习,不但需要记住很多的招式,还需要不断的体会其中的感觉。例如,静站冥想放松过程中的那种感觉就是需要不断领会的。

这一路的学习,让我增强了信心,增强了学习和强化任何技能的信心。正确的指导+坚持+用心=学会并学好。

对于太极而言,学完八十四式只是一个开始。推手、劲路、实战、太极剑、气穴运动等等都需要仔细的学习。我一定会将太极学习和练习一辈子的 :)