2007年12月26日

zz Word/其他字处理软件中特殊符号的输入

内容:
在Word中输入千分号和万分号
在Word中直接输入千分号和万分号几乎是不可能的,我们可以通过如下方法实现:
输入千分号
单击“插入→特殊符号”,出现“插入特殊符号”对话框,选择“单位符号”标签,就可以找到千分号(如图),双击即可。
此外,也可以在英文输入状态下,按下Alt+0137(小键盘),也可以输入。
输入万分号
单击“插入→符号”,出现“符号”对话框,在字体中选择“Lucida Sans Unicode”,子集中选择“广义标点”,在下方就可以找到万分号了,单击下方的“插入”按钮就可以了。我们还可以发现,它的旁边就是千分号‰。
http://media.ccidnet.com/art/5441/20060711/616337_1.html
附图:


内容:
一些特殊符号的输入法
本意是为了找化学方程式的符号,不过相信其他的地方也是用得到的.
————————
商业符号
™ 商标 表明创始人或发明人拥有此专利。
输入办法:Alt+0153
注册商标表明创始人或发明人对此商标已在(所在国)商标专利局进行了注册输入输入办法:Alt+0174
© 版权表明创始人或发明人拥有版权
输入办法:Alt+0169
————————
金融符号
$ 元 美国和其他一些国家的货币单位
输入办法:Shift+4 (或Alt+036)
ƒ 弗罗林 荷兰盾货币单位
输入办法:Alt+0131
¢ 分 货币单位分
输入办法:Alt+0162
£ 镑英国和其他一些国家的货币单位
输入办法:Alt+0163
¥ 元 中国、日本等国的货币单位
输入办法:Alt+0165
————————
数学符号
E° 度 角度的表示符号(字母E是为了衬托角度符号的正确位置)
输入办法:Alt+0176
÷ 除 除法运算符号
输入办法:Alt+0247
× 乘 乘法运算符号
输入办法:Alt+0215
± 加减号 表示加或减
输入办法:Alt+177
¼ 四分之一 分数符号
输入办法:Alt+0188
½ 二分之一 分数符号
输入办法:Alt+0189
¾ 四分之三 分数符号
输入办法:Alt+0190
¬ 否 表示否定
输入办法:Alt+0172
% 百分号
输入办法:Shift+5
‰ 千分号
输入办法:Alt+0137
————————
杂项符号
• 粗圆点 用于引起读者对段落的注意
输入办法:Alt+0149
·中圆点用于分开两个项目
输入办法:Alt+0183
————————
标点符号
… 省略号 表示省略一个或一串的标记
输入办法:Alt+0133
— 长破折号 用于句子中表示思想或重点的转折
输入办法:Alt+0151
– 短破折号用于连接持续的数字,有些情况下可作为连字号
输入办法:Alt+0150
————————
说明符号
ˆ 单剑号 用于表示死亡日期或参见注脚
输入办法:Alt+0134
‡ 双剑号 用于表示参见注脚
输入办法:Alt+0135
¶ Pilcrow 表示段落停顿、分隔
输入办法:Alt+0182
§ 段落符 表示段落的开始或参见注脚
输入办法:Alt+0167
————————
度量符号
µ 微号微米或毫克等的缩写符号
输入办法:Alt+0181
# 磅号在数字之后,表示重量磅数的计量符号
输入办法:Shift+3
————————
(说明:符号前面的符号表示是将要输入的符号;Alt+0153表示在键盘上按Alt键的同时输入数字0153(提示:数字用小键盘输入更方便),放开Alt键,即可)

2007年12月20日

机器学习的两点积累

1. 遗传神经网络

今天收到MCM队友小于的来信,真想不到研究通信的家伙现在也开始捣鼓遗传神经网络。简单调查了一下这个问题,嗯,感觉还很有意思啊,有点遗传算法应用的套路,就是用遗传算法来优化和加速其他算法的性能。

可以参考一下如下的两个连接:

NNUGA: Neural Network Using Genetic Algorithms


Palmes, P.; Hayasaka, T. & Usui, S. Mutation-based genetic neural network Neural Networks, IEEE Transactions on, 2005, 16, 587-600

 

2. SVMLight的增强版

今天在I2R同屋好友Chen Bin的Blog上发现他正在用SVMLight做实验,遇到了需要精调参数的问题,他还写道,“SVM的效果不好,只好fine-tune一些参数,刚才看到SVM-Light的主页上有个SVM-Perf的连接据说是个“more inteligent version”. 先下一个试试再说。”

 

哈哈,让俺怦然心动啊,因为我也正在用SVMLight来完成一些实验,找到了这个SVMPerf的链接,看介绍,确实不同凡响,有空的时候再研究一下。

链接:

SVMPerf: Support Vector Machine for Multivariate Performance Measures 

不得不佩服SVMLight是非常成功的机器学习工具,能想到的各个方面都非常不错啊。嗯,将来有机会俺也要发明一个好用的机器学习工具,从哪里开始呢?

zz构建高效软件开发流程和团队

文章作者:David Yan

1. 前言
本人曾就职于多家公司,但留给我印象最深刻、开发管理最规范的公司是I公司。该公司总部位于美国硅谷,其开发的产品曾获得PC Magazine的最高五星级的优秀好评。现我根据在此公司中所感受到的经历及自身的一些感想写出来,希望能给大家和其它公司有所借鉴。
2. 项目计划
在一个产品发布并使用之后,其中肯定有许多地方不如意和值得改进的地方。客户在使用的过程中会发现一些问题,提出更高的需求,市场也在发生变化,我们的竞争对手也在发展,新的技术不断地产生,这些因素推动着我们的产品不断地向前发展,使它的版本不停地往上增长。这些发展的需求不是一下子提出来的,在客户使用的过程中发现某些不如意不方便的地方,他们会向我们的技术支持人员提意见,而技术支持人员会把这些需求以BUG的形式存入BUG数据库中,其级别一般定义为下一个版本的Feature。有些上一个版本未解决的BUG也可能需要在本版本中来解决。因此当我们来开发下一个版本时,其许多特性已经存在于BUG数据库中了。当然新版本的特性不是只从BUG中获得,管理层可能从市场的角度来提出新的特性以求领先竞争对手,开发人员本身也可提出某些要求来纳入新版本开发的计划中,如要求对某部分代码进行重构以使其结构更清晰更容易维护,执行效率更高。
每个人把同自己相关的功能模块收集起来,同时预估时间,其中主要包括写文档的时间、开发时间和单元测试的时间,一般要求精确到工作日。这些信息发送给组长,组长再把本小组人员的任务和预估时间发送给管理层,由管理层对此任务及进度进行评估审核,管理层会根据产品发布时间及客户需求、市场因素等方面作出选择,可能某些功能由于时间紧急会被推迟到下一个版本中去。若预估出来的时间同预计的产品发布时间有较大冲突,而且此功能是本版本中必须得做的,则开发小组会被要求重新预估时间,加快开发速度来达到这个要求。
虽然这个开发进度时间是一个大概的估计时间,但我们要尽力按照这个开发进度来执行。每个星期五下午我们有一个Status Meeting(一般那时工作效率较低,适合开会),在此会议上我们会根据这个进度来review我们的工作,每个人手上的工作是否按照这个进度在走,是否有人延后了,是否block住别人的工作了。在此会议上每个人都要报告自己的进度,同时还要报告上个星期做了什么,正在做什么,以及下个星期打算做什么。通过这个会议,会让你觉得有人在监督你,无形之中迫使你不断地督促自己不要使任务延后,如果有延后的迹象也会尽早发现而赶上。若某些经过努力不能赶上,那也没有办法,只能修改原先的进度表,因为那是我们的估计与现实发生了偏差,我们必须使我们的进度表符合实际情况,这可以避免许多项目发生最后的 20%的工作量会占据80%甚至一直拖后的情况。修改进度表的情况我们曾经发生过,有一次在按照原先的进度执行到将要完成的状态时突然接到通知由于市场及客户的原因要求加入另一项重大的功能,这个功能对我们程序的结构有非常大的影响,因此我们就要重新制定一个进度来满足需求。在这种情况下,产品原先的开发进度被打乱,发布时间也因此推迟。当然这种情况应当尽力避免,尤其在项目后期产生新的需求,若不得已也应重新规划进度,而不是仍旧依照原先的进度去执行,因为老的进度已不能反映现实的情况。
3. 开发文档
在项目进度安排中我们已经把写文档的时间也规划进去了,这里虽然是写文档,其实是设计程序,整理一下思路与架构,磨刀不误砍柴工,这样在实际写代码时会流畅很多,节省时间,因此可以说真正有思想性的东西都在写文档这段时间内完成了。当然我们这里的文档格式不象ISO那样规定了条条框框,我们的文档格式相对自由,基本上能随意发挥,但对于几个主要点一般来说是需要说明的。要求写的文档能让他人比较容易地看明白,能把问题讲清楚,能反映你的设计思想。文档的数量也不多,开发文档有两类,一类是function Spec,另一类是Design Document。
function Spec中需要写明的是本模块完成的任务,解决什么问题,有什么作用,为什么要这些功能,此外我们还会添加进适用范围,有什么不足,注意点是什么,还有哪些地方在以后可以进行改进。在这个function Spec中不涉及到任何非常详细的算法。此文档不光给开发人员看,还让QA及其他成员以及后来的新人能根据此文档来了解此模块的大致功能,同时也会给文档编写者看,他们会根据这些function Spec整理出一份用户手册,告诉用户此版本中新增了哪些功能,各功能模块有什么作用,如何使用等信息。因此在我们的开发过程中function Spec是很重要的文档,此文档完成后会抽出一段时间同相关人员及QA一起review这个文档,让QA了解设计者的意图,同时熟悉新的功能模块,为接下来的测试作准备。如果其中有误解或不明之处,大家会提出来探讨并由开发者修正。
Design Document中主要描述实现此模块所涉及到的主要算法、数据结构、类的层次结构及调用关系。这个文档的阅读者主要是开发人员,包括任何想了解详细实现代码的人,帮助人们理解代码。在某些功能模块比较简单的程序中,此文档所描述的信息会比较少。此文档不象function Spec要在开始写代码前就编写完成,它可以随着代码编写的进行而增加,但基本上遵循文档先行原则,也就是要增加新的代码或修改代码前若有涉及到文档部分的应先修改文档,然后再修改代码。

4. 编写代码

由于我们用JAVA语言进行开发,因此我们借助了Jbuilder IDE工具。关于代码风格,我们基本上套用Jbuilder中自动的代码格式编排,但其中需要改变的是缩进是4个字符,类与类之间间隔2行,方法与方法之间间隔2行,import类时用完整的类名。写代码时要对类及函数提供详细的注释及说明,基本做到看它们的说明就能知道这个类或函数的功能以及主要算法的实现原理。在开发过程中对主要的模块要编写UnitTest,同时要UnitTest先行,也就是遵循XP规则中的测试驱动原则,当所有的单元测试代码通过时,此功能也就基本上完成了。
5. 代码管理
我们采用VSS+ SourceOffsite进行版本控制,其中存放了此产品的所有源代码、库文件、文档及release时的安装程序,各个部分存放在不同的目录中。每天早上要求开发人员从VSS中get latest version的源代码,然后进行编译并开始一天的工作。在下班之前理论上要求员工check in所有当天修改的代码,在check in之前要保证编译是能通过的。若有谁check in的代码导致daily build失败则会被要求某些惩罚措施或警告,象微软公司要负责照看当日的每日构建。有时我们编写的代码涉及到多个文件,而且此改动是比较复杂需要花费多天的工作量,如果现在check in进去可能会导致BVT(Build Verify Test)测试通不过,因为有些代码没有完全完成,而之前的代码能使BVT测试通过,而且这些代码基本上不会涉及到他人,在这种情况下可以不check in进去,直到全部代码完成能提交BVT测试时再一起check in进去。
每天我们都会做daily build,一般是在凌晨4点进行,那时有个程序会自动从VSS中拉下最新的代码并进行编译。因为我们同美国进行同步开发,因此如果想要把修改的代码进入到这个build中去那就需要在凌晨4点之前把相应的代码check in进去。若有人check in进去的代码导致编译通不过则会在本步骤中被发现。当编译完成之后自动产生安装包,测试部门将会对这些代码进行BVT测试,同时对VSS中开发库打上 label,如果发现了什么BUG就能根据这个label知道是哪个时候开始出现这个BUG的。BVT是指Build Verify Test,是对组件中基本功能的测试。这个测试每天都会进行,看新加入的代码或修改是否会影响系统的基本功能,便于及早发现错误。
6. 测试
在开发人员完成了function Spec后,测试部门开始了测试规划,确定需要测试哪些方面,如何测试及进度安排。测试人员需要写许多测试代码,有些测试代码需要集成进BVT测试,有些可能需要进行单独的测试,目的都是为了使产品符合要求,使开发人员容易找出问题所在并改正。产品功能是否符合了要求,是否能被发布是由测试人员决定的,因此测试人员也比较辛苦,责任重大。通过了每天的BVT测试,还有一些性能测试、兼容性测试、灾难测试等需要在产品发布前进行。在完成这些测试之后由测试人员决定本产品是否能release出去了,如果没有什么问题则会给某些关系较好的用户进行β测试,之后再最终release出去。
7. BUG管理
由于我们每天进行着测试,因此经常有BUG被测试部门发现,一旦发现了新的BUG,就会被添加进BUG Tracking System中。目前较流行的BUG Tracking System有TestTrack、ClearQuest、Bugzilla等。BUG tracking system是开发人员和QA之间的纽带,开发人员和QA通过BUG tracking system联系着。每个BUG有其类型和级别,预定的类型有Crash-Data Loss, Crash-No Data Loss, Incorrect functionality, Cosmetic, Feature request等, 级别有P1、P2一直到P6,它们分别代表了重要性及紧急程度,P1的BUG需要很快fix,P5之前的BUG在本版本release之前必须fix掉,若真的不能或不重要则由QA确定并降低优先级进入到下一个版本中去fix。QA发现一个BUG后在BUG Track中增加一个BUG,同时填入相关信息并assign给相应的开发人员,开发人员收到BUG分析并fix后assign给QA去verify,其中要填上分析的结果以及如何解决的详细说明。若QA对此BUG verify通过则close BUG,否则verify failed并重新assign给开发人员并等待其fix。每星期在Status Meeting上会进行BUG状况报告,主要由QA组长报告BUG的状况,主要是新增BUG数,fix掉多少,还有多少处于open状态,有多少处于等待 verify的状态,据此可以了解开发及测试情况。有时在Status Meeting上我们也会进行BUG Review,BUG Review有时是单独一个小组内进行,其主要作用是重新明确每个人头上的BUG以及了解每个BUG的状况,如开发人员对此BUG将作何处理等,以此来了解开发中是否有碰到比较棘手的问题,增加了产品发布风险。在QA增加BUG和开发人员fix BUG的游戏中,BUG的数量曲线图会象股市曲线一样上下波动,但总体趋势一般是前期BUG放量攀升,后期震荡下挫,若到了后期新open的BUG数量一直上升则说明风险在增大,有可能无法控制,也就是说fix了一个BUG导致了多个新的BUG产生。在量化开发进度中也可以用代码数量的曲线图来粗略的呈现。在有大量新功能增加时可能代码量的增加会较快,当在fix bug阶段,代码的修改较多,因此代码数量的增幅会降低,依据代码量可以看出开发的状况处于何种阶段。
需要指出的是我们对BUG的定义比较广泛,一些新功能也可以作为BUG被提出,只不过这些BUG级别比较低,让它们进入到下一个版本中去实现。因此BUG的创建者也可以是技术支持人员、市场人员甚至开发人员本身。关于开发人员本身,因为他可能会找出一些BUG,有些是其他开发者的,有些可能是此开发者本身的,把这个BUG添加进BUG库中可以帮助开发人员在以后产生新问题时或类似的BUG时有一个借鉴和思路,但此BUG的verify必须要让测试本模块的测试人员来verify。
8. Code Freeze
当P5之前的BUG都被修复了,这时离产品发布日期也就不远了,一般是2个星期后就能release产品,这时要对VSS中的代码进行freeze,以保证代码库的稳定性。 Code freeze阶段一般会把各开发人员的check in和check out的权限关闭,若在这时仍有BUG报告上来并经讨论确定是重大的且必须在本版本中fix的,则需要经管理层同意并特殊地授予权限,在修改完成后修改者要把修改了哪些文件,影响了哪些文档等信息上报给各部门如QA、build人员、文档编写者等。在code freeze阶段,测试部门在紧张地进行着各种测试,得出各种数据,并决定本版本是否可以release了。

9. Tech Talk

计算机知识更新速度非常快,经常有一些新的术语、新的名词、新的思想、新的技术所产生,如过离开此行业几个月后重新回来就会对这些新的事物不解,而我们平时为了自己的项目埋头苦干可能忘了周围的世界发生了什么。Tech Talk就提供了一个让我们了解新知识和最新发展趋势的机会,让大家把知识共享,共同提高。Tech Talk一般会在项目不是太忙碌的时候进行,主持人会提前一个星期指定某个人去准备一下Tech Talk,一般此人可能对某方面比较感兴趣,然后他会花一些时间去了解这方面的情况,写成一个文档如PowerPoint并上传到局域网内,同时通知大家可以先去浏览。Tech Talk的内容非常广泛,不一定同我们的项目紧密相关,任何新的思想、新的知识(当然一般是限在计算机领域内)都可作为Tech Talk的内容,而在主讲人讲完之后还有一段时间被大家提问,共同对这个话题进行讨论,答疑解惑。当然Tech Talk也可同我们的项目相关,如研究一下竞争对手的产品技术,本公司产品的架构等。研究本公司的产品架构可以使大家对本公司的产品有一个全局的概念,从整体上来看自己的产品,顺便整理一下产品的架构使之更加清晰有条理。平时大家都只注重于自己负责的其中的一小块,在Tech Talk中可以跳出自己的小框框来了解全局,同时这也是新员工了解公司核心技术整体框架的好机会。每个模块的负责人需要阐述此模块的方方面面,让大家来了解并回答问题。
10. Code Review
当进行工作移交时我们会进行 Code Review,在碰到棘手的BUG时也会进行Code Review,Code Review是大家了解其详细实现的一个好机会。在Code Review之后会对此代码产生亲切感而不是陌生惧怕感,相信很多人在读他人代码时会有非常痛苦的经历,Code Review是减少此痛苦感的好药方。在进行Code Review前,主讲人会提前发出一个通知告诉相关人员要review哪些代码,这样参与者可以抽出时间提前了解相关代码,对不懂的地方做个笔记以便在 Code Review进行中提出疑问。在我们碰到比较棘手的BUG没有什么思路或大惑不解时,这时找几个相关人员或对此代码也熟悉的人进行一次Code Review,这时形式比较随意,大家可以临时提出问题,让主讲人解答,在这个过程中可能听的人并不会非常快地了解其中的详细过程,但是讲的人在这个过程中重新理了一下思路,对所写的代码被迫重新审视了一遍,在其中可能就会发现出解决问题的办法。在Code Review时有时代码非常多,但可以一个功能模块一个功能模块地从总体到局部,由浅入深层层递进的方式进行。一次Code Review的时间不要太长,但可以分多次进行。Code Review中大家会提出问题和建议,集思广益,多个人共同出主意,有些可能一个人没有想到的问题会被大家发现,互相学习,共同进步。
11. 沟通与交流
大部分员工的大部分时间是在公司里度过的,因此公司的生活成了大家主要组成部分。员工之间关系的融洽,交流的畅通显得非常重要,同时大家也不想自己的生活这样枯燥乏味,一直同机器打交道。沟通无处不在,交流随时发生,有许多关系是在工作之外建立起来的。软件公司内是很容易产生各种矛盾的,因为这是由你的工作性质所决定的,比如QA或用户会对你的实现不满意,提出各种要求时,我相信你有时会有所抱怨的,无形之中就产生了对立,发展到后来会有抵触心理。我相信大部分人都会有此感受,这不是你的错,这主要是由我们的工作性质决定的。如果你的工作是把财富带给对方,则对方会非常欢迎你的到来,把你奉为财神爷来对待,同你的关系会非常融洽友好。因此我们需要在工作之外来消除这种对立矛盾的关系,建立一种融洽的工作氛围。我们在平时吃饭的时候饭桌上大家互相聊天沟通。我们建立了happy邮件列表,其中会发一些幽默笑话之类的邮件,给我们紧张的工作增加点轻松的氛围。在下班后大家可以组织一下活动,增加了公司的凝聚力。一个产品发布后组织一下旅游,让绷紧的神经松弛一下,更好地迎接下一个挑战。
12. 后记
不同公司有不同的做法,我只是把我认为比较好的流程与管理方式呈现出来,让大家有个借鉴,当然它也不是十全十美的,也不是放之四海而皆准的,如果你觉得某些地方对你有所帮助或值得推广,这是本文最想达到的效果。非常感谢I公司给了我这么美好的经历,也非常感谢I公司的同事们曾给我的巨大帮助,在此衷心地祝福 I公司越来越壮大,逐步走向成功!也衷心地祝福我的同事们幸福快乐!

2007年12月19日

zz 正版软件替代经验

正版软件太贵了?这里有一些免费软件,一点心得,与大家分享,请各位高手指正交流。

1. 办公、文字、PDF大类 (Office/text/PDF)

1.1 输入法
长期用现在还用极品五笔(免费软件)打86单字,本站文章全依赖它。
其他五笔首荐海峰、小鸭、酷极、加加(均免费软件)。龙文也可。以前的智能还可以,现在,叹!
拼音类:用过最长时间的是拼音之星(共享)打谭码,MSPY和智能也用过其双拼。加加、紫光、搜狗无须多说。自然码是难得精品,需注册但有准免费版。
1.2 文本编辑 (Text Editor)
免费开源的GVIM和Emacs,比共享的UltraEdit,EditPlus,EmEditor要强大得多得多。Emacs太难,我不会。现用GVIM,与win下习惯不太一样,不妨试试。试了才知道:文本编辑竟然能达到这种境界
editpad lite,(免费),200KB,MDI,好
Crimson EditorPSPad(免费),可在一定程度上代替UE。
普通用户也可试一下notepad2notepad++
1.3 办公 (Office)
替换MS Office,完全可用国产的WPS(个人免费) 或开源的OpenOffice.org。前者中文处理、与MS Office兼容强;后者带数据库,开源社区维护,也很可靠。我用OOo
替换MS Project(这根本不是个人用的软件),可用开源的GanttProject,9MB,免安装,可导入MS MPP文件,可绘制甘特图。
替代MS Visio,没有太好的方案。可用Dia、OOo画一些简单流程图。
1.4 PDF
PDF阅读软件多数免费。鼻祖是Adobe Reader,体积太大(30-50MB)我不用。在用并推荐的是foxit reader(当然免费),不到2M,运行超快,华人出品。
制作PDF,商用Acrobat和共享PDFFactory,均千元左右。替换方案有:新手用CutePDF writer,喜开源者推荐PDFCreator。此外primopdf(免费)、pdfmachine(基本功能免费)也不错,但用户较少。这里是相当全面的PDF软件介绍
1.5 打字练习
打拼音的好象不用此类软件,呵呵。
金码打字练习:好用,体积小,适合高手
爱不释手:也小,最大优点是断点续打,还能把打错、打得慢的字收集在一起
提高打字速度的关键是一段话反复打。

2   图像影音多媒体大类 (Pic/Audio/Multimedia)

2.1 图像浏览 (Pic View)
代替ACDSee(又大又贵),请用IrfanViewXnViewFastStone Image Viewer都是对个人免费,不加插件体积1-2MB,功能强大,速度快。我用IrfanView
上述软件对公司不免费,可用此代替:imgvFuturixImagerImagine。Imagine是TC的一个插件,但也可exe运行,超小,还可在shell中右键直接显示图片
picasa 2,也不错,但我没怎么用。
2.2 图像编辑 (Icon Tool)
代替5千多元的PhotoShop,用同样强大的开源的GIMP我一直用。下载7MB,装完20MB。源自Linux,强大,发展势头好。此外,pixia也不错,免费,日本产;Paint.Net也不错,免费。还有artweaver(免费有中文版)
Paint,就是系统自带的画笔,其实也能做不少事
2.3 图像截屏 (Screen Capture)
代替收费的Hypersnap,Snagit,有很多软件也不差。如
推荐MWSnap(免费),超小,可png、自动序号文件名
推荐Screenshot Captor,非常强大,为我深爱!
也曾用中华神捕之对大陆用户免费版,可编辑注释;丹心的色彩魔术师,IrfanView、Xnview也可以截图
本站有很多介绍文章和软件主页的翻译。最新推荐国产精品EP Snap
2.4 录制屏幕 (Tutorial)
现用+强烈推荐:Wink(免费)可录声音、加注释、生成flash,有汉化,很小巧。
Camstudio和Demostudio是同门的开源软件,主要生成avi,也可生成flash。WebEx可录音生成文件极小,惜独有格式。
2.5 录音 (Recording)
现用+强烈推荐Audacity(开源软件),小巧,可录为mp3,增(有时候增大音量很必要)减音量很方便,混音特效也没问题。国产wavecn也可。
2.6 播放器 (Player)
我很少听歌、看片,所以没有太多发言权
mp3类:经典winamp,新秀foobar,国产骄傲千千静听,小巧1by1
real:realplayer,阿飞的realone解码器
视频:MPCKMPlayer 、Kplayer、mplayer。windows media player既不能卸载,也不妨用之)

3   网络大类 (Network)

3.1 邮件客户端 (Email Client)
哪种最好?我认为共享最佳为BeckyThe Bat!,用得越久越觉好用,但不免费。替代它们,我用开源的Thundbird加这些扩展。国产的Foxmail、DreamMailKooMail也不错。MS Outlook和Lotus Notes不算是邮件客户端。
3.2 邮件检测 (Email Check)
推荐SimpleCheck(开源)小巧(150KB)、稳定、功能强大,可远程删信、转信、下载附件、回信、写信等。认为它比Magic Mail Monitor好。nPOP也不错。不过,随着web应用提升,邮件客户端和检测工具的黄金时期已逝。
3.3 web浏览器 (Web Browser)
用过很多各有千秋。在用+推荐Firfox(免费) Opera(免费)Maxthon(捐赠)
习惯IE的,可用Maxthon, GreenbrowserTheWorld。感谢畅游历史性的贡献
其实,最早用Netcaptor,这是多标签浏览的鼻祖,很有感情
3.4 FTP服务器 (FTP Server)
推荐+在用:Filezilla Ftp Server(开源),5M左右,功能全面
Typsoft FTP也不错,不到1MB,小巧易用
3.5 FTP客户端 (FTP Client)
很少上FTP,就用浏览器或Total Commander
有几个Free的,好象leechftp不错,也很小。
3.6 web文件共享 (Share File)
强烈推荐http file server(开源),对中文支持好,可对用户、目录设权限、密码。比很多共享软件都好。
3.7 Telnet
我用来上bbs管理版面,也就是newsmth之TC版。总体上web方式渐多,term少了。现用+推荐Sterm,几年前用得多,当时sterm比Cterm小巧,快。现在Fterm发展也很快。putty也不错。

4   工具大类 (Utilities/Tools)

4.1 文件管理 (File Management)
现用+购买+强烈推荐:Total Commander我全价$34注册,后组织团购¥150。Total Commander是我新机器第一个安装、开机第一个运行的软件。
免费软件推荐 FreeCommander, 2xplore(免费)和升级版xplorer2(lite版非商用免费)及explorerxp。我整理了一个文件管理软件大汇总
4.2 剪贴板类 (Clipboard Extender)
无须说代替什么共享软件,这两个免费软件都是绝世精品,100KB,功能强大,支持图片:CLCLclipx这是对比测评
4.3 宏和热键 (Hotkey/Macro)
我不太用此类软件,用win+r可以做很多事
精品热键工具属Hoekey仅12KB,功能超强。
最强也是小巧而应用广泛的2种宏工具都是免费的:AutoHotkeyAutoIt3两者有缘源我更喜前者
TypeAndRun/slickrun/Strokeit也可以让你的键盘、鼠标增强N倍。
4.4 压缩解压 (File Compress)
推荐开源小巧的7-Zip来代替收费的winzip和Winrar
当然,多数压缩解压功能,我是用Total Commander完成的。
4.5 电子词典 (E-Dictionary)
推荐灵格斯Lingoes(免费)和星际译王StarDict(开源),但一些词库版权存疑。
4.6 杂类 (others)
autoruns, bosskey, fontlist, bblean, killbox, unlocker....

5 常去的网站 (Favoriate Websites)

http://www.utf.com.cn/
http://cosoft.org.cn/html/osl/index.php
http://www.aogosoft.com/
http://www.planet-source-code.com
http://WWW.VBGOOD.COM

6 网友留言推荐

有些软件我没用过,但热心网友留言推荐,也收录于此。
hopewhite荐:FreeMat来代替MatLab, 链1 链2
lion荐:ZipGeniussnapfile评为压缩类第一,体积比7-zip大一些
suihen荐:Disc Tools类:1)虚拟光驱类:Alcohol 52%,Virtual Clone drive;2)iso制作:ISORecorder,Folders2iso;3)刻录:Imgburn。数据恢复类:file_recovery, freeundelete,File Scavenger
huaisme荐:Easy-go!似TypeAndRun而占资源更少;新出的免费电子词典lingoes;播放器gomplayer

原文链接

2007年12月17日

终于弄好ACL Latex模板的bibliography自动插入

折腾的两个小时,终于在刚才完全掌握了ACL的Latex模板中自动添加参考文献的方法。方法如下,以供查阅。

  1. 安装CTex套装;
  2. 下载并安装JabRef的最新版,在其中添加一个bibtex样例。并设置其中对应的WinEdt的路径信息;
  3. 在WinEdt中打开ACL论文的Latex模板,例如这次的acl08.tex,然后将最末尾一段如下内容进行替换:

\begin{thebibliography}{}

之间的一些Bibtex样例

\end{thebibliography}

将上述部分完整的删除,并在同一位置添加如下代码,其中的reference就是采用JabRef管理的bibtex文件,acl就是文件夹下默认的bst文件:

\bibliographystyle{acl}
\bibliography{reference}{}

4. 然后即可随心所欲的采用JabRef和WinEdt结合起来进行参考文献的自动插入了。

当我看到生成的文件中参考文献“那熟悉的身影”(总看别人的ACL论文^_^ ,想不到自己这次也能造了  )时,俺兴奋了一把 :)

2007年12月12日

zz 一位大牛整理的Python资源

Python学习

link: http://www.elias.cn/Develop/Python

基本内容

Python基本安装:

Python文档:

常用插件:

  • http://www.pfdubois.com/numpy/ Python的数学运算库,有时候一些别的库也会调用里面的一些功能,比如数组什么的;
  • http://www.pythonware.com/products/pil/ Python下著名的图像处理库Pil;
  • http://simpy.sourceforge.net/ 利用Python进行仿真、模拟的解决方案;
  • Matplotlib 据说是一个用来绘制二维图形的Python模块,它克隆了许多Matlab中的函数, 用以帮助Python用户轻松获得高质量(达到出版水平)的二维图形;
  • http://www.amk.ca/python/code/crypto python的加解密扩展模块;
  • http://cjkpython.i18n.org/ 提供与python有关的CJK语言支持功能:转码、显示之类。
  • Psyco、Pyrex:两个用于提高Python代码运行效率的解决方案;
  • PyflakesPyCheckerPyLint:都是用来做Python代码语法检查的工具。
  • http://wxpython.sourceforge.net/ 基于wxWindows的易用且强大的图形界面开发包wxPython;
  • http://www.pygame.org/ 用Python帮助开发游戏的库,也可以用这个来播放视频或者音频什么的,大概依靠的是SDL;
  • http://starship.python.net/crew/theller/py2exe/ win下将Python程序编译为可执行程序的工具,是一个让程序脱离Python运行环境的办法,也可以生成Windows服务或者COM组件。其他能完成Python脚本到可执行文件这个工作的还有Gordon McMillan's Installer、Linux专用的freeze以及py2app、setuptools等。不过此类工具难免与一些模块有一些兼容性的问题,需要现用现测一下。
  • 嵌入式数据库:BerkeleyDB的Python版,当然还有其他的好多。
  • PEAK提供一些关于超轻量线程框架等基础性重要类库实现。

部分常用工具:

  • http://www.scons.org/ Java有Ant这个巨火的构建工具,Python的特性允许我们构建更新类型的构建工具,就是scons了。
  • Python Sidebar for Mozilla FireFox的一个插件,提供一个用来查看Python文档、函数库的侧边栏。
  • IPython 很好用的Python Shell。wxPython发行版还自带了PyCrust、PyShell、PyAlaCarte和PyAlaMode等几个工具,分别是图形界面Shell和代码编辑器等,分别具有不同特点可以根据自己的需要选用。
  • Easy Install 快速安装Python模块的易用性解决方案。

推荐资源:

代码示例:

其他东西:

有意思的东西:

  • Howie:用Python实现的MSN对话机器人。
  • Cankiri:用一个Python脚本实现的屏幕录像机。

参考资料


Python IDE

我的IDE选择经验

[zz] Performing a t-test with Excel

from: http://eeb.bio.utk.edu/weltzin/GenEcol03/Stats/ttest.htm

1. Arrange your data so that each sample is in its own column, as in the following example:

Sample 1  Sample 2

7.85         12.50

8.51         12.94

13.66       6.26

11.03       6.10

6.59         13.19

8.04         10.74

14.16       6.06

8.13         12.53

6.79         15.45

11.06       15.64

5.83         15.19

10.73       14.93

6.68         7.94

5.02         8.28

10.37       12.65

2. It is always useful to look at a summary graph of your data. In this case, we can plot the mean value of the response variable for each sample. To do this with Excel, first calculate the means (by clicking at the “formula” icon in the toolbar, and selecting “average”) and the standard deviation (select “standard deviation” in the “formula” menu) of each of your samples. Then you can plot the mean for each sample using a bar graph. To to this, click on the “Chart wizard” icon in the toolbar, choose the “column” graph type, and click next. Select the means of the two samples as the data you want to plot); click next. You will have the option of adding a title, axes labels, etc.; do so if you wish, and next, and click finish in the last window. This will produce a graph like Figure 1 below.

Once you have plotted the means, you can add error bars with the standard deviation of your samples. This will give you an idea of the variability of your data. To do this, right-click once on one of the columns. This will open a menu; select “Format data series,” and go to the “Y error bars” window. Click the red arrows in the custom error amount (lower part of window); this will shrink the window. Select the cells where the standard deviations of your samples are, and click the red arrow again. You will have to this twice, for the + and – error bars. Click “OK.” This will modify your graph, as shown in Figure 2.

By looking at this graph, it is evident that the mean for sample 1 is lower than the mean for sample 2. Is this difference statistically significant? Well, the answer to that depends not only on the difference between the means of the two samples, but also on the difference between their variability. This is exactly what a t-test takes into account. (See an example of how variability of the data can determine the statistical significance of a t-test.)

3. To perform a t-test, go to the “Tools” menu, and select the “Data analysis” option; this will open the Analysis ToolPak. (If there is no “Data analysis” option in your “Tools” menu, then you have to install it; click here for help installing the Analysis ToolPak.) Select the two-sample t-test or the paired t-test option, as appropriate.

4. In the t-test window, select the ranges of each of your two variables. Select the significance level (alpha = 0.05 is the conventional value). In the “Output options” section select “New Worksheet Ply;” this will create a new page with your results. Click “OK.”

5. In the results page a table will be created with the following information:

t-Test: Two-Sample Assuming Equal Variances

image

Rows (1), (2), and (3) give you the mean, variance and number of observations for each variable. Row (4) gives you the “pooled” variance (i.e., for both samples together), used to calculate the t statistic. Row (5) gives the hypothesized mean difference (usually zero). Row (6) gives the “degrees of freedom.” Row (7) presents the t statistic (the highest the absolute value, the less similar the means of the two samples are). Row (8) gives you the one-tailed probability that the t statistic calculated for your data is lower than or equal to the critical t-value [given in row (9)]. Rows (10) and (11) give the probability and critical t-value for two tails. (You should use a one-tailed test if your hypothesis is that the mean of sample 1 is either higher or lower than the mean of sample 2; you should use a two-tailed test if your hypothesis is that the means of the two samples differ, no matter which one is higher and which is lower.)

So, in this example, the mean of sample 2 is higher than the mean of sample 1. Suppose our hypothesis was that the means are different, no matter which one is higher; we would then use the two-tailed test. This difference is statistically significant, since the two-tailed probability is 0.001587, which is much lower than alpha (i.e., 0.05).

2007年12月4日

eclipse中编辑器的换行

最近的Java、Python代码都在Eclipse中完成,一直在默默的忍受着不能自动换行的困扰。看了好几种解决方案,终于找到有人写了一个插件来实现这种功能。

转载备份如下:

link: http://www.java125.cn/article.asp?id=1307

 

【  Software updates  】→ 【  Find and Install  】→【  search for new features to install  】,点击【  New Remote Site  】按钮),在“  Name  ”中填入“  wordwrap  ”,“  URL  ”中填入“http://ahtik.com/eclipse-update/”,然后点击【  Finish  】安装即可。安装完毕后在文本编辑器的右键菜单中就可以看到“Virtual Word Wrap”了。

 

哈哈,在编辑器中右键菜单中选中“Virtual Word Wrap”后就能自动换行了,而且会随着编辑器的边界自动调整换行的方式,总之就是非常非常的方便咯。