2008年1月23日星期三

AnvilStudio:免费的乐谱MIDI编辑打印软件

AnvilStudio:免费的乐谱MIDI编辑打印软件

在电脑上,可以将乐谱与MIDI文件对应,MIDI文件对乐谱进行标记,调用音频设备产生声音。因此,我们可以简单地认为MIDI就是会发声的乐谱:-)

打谱软件在国内使用最多的似乎是Overture,被国人汉化(破解)后,据说有上千万的下载量。但它实际上是一个商业软件,免费的试用版仅允许15天的使用时间。国内也有人开发了一些类似的软件,但大多针对简谱。
在Linux上,可以选择开源的Rosegarden ,功能相当丰富,可以作为音序器和合成器,也提供了乐谱的编辑、打印功能。不过目前还没有对应的Windows版本。

由Willow Software开发的Anvil Studio 可以作为一个相当不错的MIDI生产器。它的免费版本对MIDI音轨的数目没有限制,可以通过这个软件将乐谱转为MIDI文件。

该软件的运行界面如上图,功能也很全面,乐谱和键盘对照,对初学者应该有很大的帮助。
这个软件的免费版不能打印乐谱,不过我们可以通过其它的免费软件来解决,如Notation Player ,可以将MIDI文件以乐谱的形式显示和打印。Finale Notepad 也可以实现这样的功能,并且也可以编辑和保存乐谱,不过它的编辑功能比较弱,并且软件体积比较大。

2008年1月18日星期五

Science 2.0: Great New Tool, or Great Risk? 科学2.0: 新工具? 新风险?

Science 2.0: Great New Tool, or Great Risk? 科学2.0: 新工具? 新风险?

科学美国人网站近日刊登了一篇名为《Science 2.0: Great New Tool, or Great Risk?》的文章,对互联网新技术如Wiki和Blog等在科学研究中发挥的作用进行了一些讨论。

科学工作者由于自身工作的需要往往(尤其是信息的获取)与网络都有密切的联系,互联网的发展对科学工作者的工作方式也难免不会产生影响。越来越多的科研人员,不仅是年青人,开始将自己的工作以Blog、Wiki和时下热门的Web2.0社会化网络等方式公开传播。尽管还没有形成普遍的潮流,但星星之火似乎已经表明,这种借助于新兴网络技术的“科学2.0”,比传统的工作方式更有开放性,效率也更高。
“科学并不仅仅是做实验,更重要的是人们对实验的交流。” 在新的工作方式中,研究人员不仅提前展示自己的工作成果,也会记录工作思路的产生、变化,实验中失误、尝试等等。这些不会表现在最终的正式成果中,但对于其他研究者也具有很重要的借鉴意义。
当然,也有很多人对这种完全透明的方式有疑虑,或许你的思路启发了别人,但那人又秘而不宣,抢先发表,断了作者的前途,更糟糕的是,可能会有小人完全剽窃作者的成果。

MIT的两名研究生在2005建立了一个名为OpenWetWare 的维基网站,最初只是用于学生自我展示。但很快,它在交流中的重要意义就展示出来,人们在这里讨论实验室工作的技巧,课程学习中的问题,即将完成学业的学生将他们的经验总结出来,供新来的学生参考。Wiki对实验室管理也有很大的好处,研究成员可以比较系统地整理自己的工作,便于同事之间的相互交流、了解。这种网络工作日志公开后,吸引来的同行可以通过评论等方式方便地与作者开展交流,提出意见,有利于效率的提高。
已经有来自世界各地的很多实验室、数十种课程和兴趣小组,以及数百个讨论组在OpenWetWare上安了家,3000多名注册用户维护着6000多个页面。2007年他们还得到美国国家自然科学基金的资助,以将其建成一个独立于MIT的社区模式的网站。

对于Idea可能被盗的风险,科学2.0的支持者认为,作者在Wiki上的每次更改,发布,都会留下时间标记,这些可以对成果的原创性作出证明,让盗窃者颜面扫地。当然,如果想要申请专利,对成果的公开就要非常小心了。

与Wiki相比,科研工作者介入Blog的进度显得非常缓慢。在2007年四月的北卡罗莱纳科学博客会议上North Carolina Science Blogging Conference,Willard认为,这是由于博客的方式与科研人员受到的训练有天然的矛盾。传统上,他们总是对结果反复验证,发表论文时字斟句酌,因为论文是几乎永久性的,而在博客上发表内容要做到时效性,就难免保证其准确、完整。

有一些人在blog上公布自己的研究工作的细节、进展,以期获得更广泛的交流。也有一些人在上面讨论科研环境中的问题,如科研机构的立足点,对实验室管理的看法,对大boss的期望等等。当然,大多数科研工作者视这些为雷区,讨论时多用假名,以免冒犯了某方面的权威,耽误了自己的前程。也有一些人觉得,在这上面浪费时间还不如酝酿下一篇论文来得实在,毕竟,经过同行评价的正式出版物才是工作和晋升的重要筹码。在博客上,他们无法提升自己的科研资历。

成果的冠名权问题无疑是阻挠科学2.0发展的重要问题。毕竟,论文被看成是科研贡献的一个重要尺度。但大多数人也承认,论文并不是唯一的方面,分享灵感,开展讲座,领导社群,也是很重要的方式。或许,随着信息交流的发展,我们可以找到更全面的度量方式。

当然这也意味着学院内部传统的变革,对科学2.0的倡导者来说,最重要的变化将是从对个人科研名誉的重视,转向真正以科学进展为第一目标。

2008年1月13日星期日

Inkscape tutorial basic: Inkscape教程:基础

Inkscape tutorial basic: Inkscape教程:基础

本文翻译自矢量绘图软件Inkscape帮助文件中的基础教程。由于原文档的格式是SVG,可以直接在帮助文件中操作绘图对象,所以请注意文中的叙述方式。
翻译:liuxqsmile (liuxqsmile@gmail.com)

基础

作者:bulia byak, buliabyak@users.sf.net
本教程描述了Inkscape的基本操作方法。本文档以Inkscape的通用文件格式保存,你可以用Inkscape进行查看、复制、编辑、保存等操作。
该教程的主要内容包括:画布浏览、文档管理、形状工具基础,图形选取、变形,群组、填充与轮廓、对齐和叠放。对更复杂的操作,请在帮助菜单中选择其它相关教程。

平移画布

平移画布(卷屏)的方法有很多种。使用Ctrl+arrow键可以用键盘卷屏。(你可以尝试这些按键来卷动本文档。) 也可以通过鼠标中键来拖动画布,或者使用屏幕边缘的滚动条(使用Ctrl+B来显示或隐藏滚动条)。鼠标滚轮wheel可以上下卷动画布,按住Shift键,配合滚轮则可以水平卷动。

放大与缩小

最简单的缩放操作是通过-和+(或=)键。也可以通过Ctrl+middle click 或 Ctrl+right click来放大,Shift+middle click 或 Shift+right click 来缩小画布。也可以用Ctrl键配合鼠标滚轮来缩放。或者在窗口右下角的缩放输入框中输入一个准确的百分比数值。在工具栏中也有缩放按钮,可以缩放到用户选定的区域(对象)。
Inkscape还会记录当前工作会话中使用的缩放历史,按`键回到上一次的缩放比例,Shift+`键来恢复撤销的缩放比例。

Inkscape工具列

Inkscape中的绘图和修改工具集中在左侧的竖直工具列中。在窗口的上方,菜单下面是命令栏(Commands bar),提供了通用的一些控制命令,下面的工具控制栏(Tool Controls bar)则跟具体的绘图工具有关。窗口底部的状态栏(status bar)则实时显示一些操作提示和信息。
很多操作都有对应的快捷键,在帮助菜单中选择 鼠标与快捷键(Help > Keys and Mouse)获取详细的说明。

创建和管理文档

选择菜单文件File > 新建New,或使用快捷键Ctrl+N新建文档。选择菜单文件File > 打开Open (Ctrl+O)打开已有文档。选择菜单文件File > 保存Save (Ctrl+S)来保存文件。或者选择菜单文件File > 另存为Save As (Shift+Ctrl+S)将当前文件以不同的文件名保存。(Inkscape可能有时不够稳定,切记经常保存!)
Inkscape使用SVG(Scalable Vector Graphics可缩放矢量图形)文件格式。 SVG是一种被各种绘图软件广泛支持的开放文件标准。SVG文件是基于XML的,可以用任何文本和XML编辑器来编辑(Inkscape不属于这种文本编 辑器)。除SVG外,Inkscape也可以导入和导出其它一些文件格式(EPS,PNG等)。
Inkscape为每一个文档打开一个独立的窗口。你可以用操作系统中的窗口管理器来在各个窗口间切换(例如Alt+Tab键),也可以使用Inkscape中内置的快捷键Ctrl+Tab在文档间循环切换。(现在可以新建一个文档,尝试在本文档和新文档间切换。)

创建形状

下面我们开始创建一些很漂亮的图形!在工具列中选择矩形工具(Rectangle)(快捷键F4),在(本文档或新文档的)绘图区中点击、拖动:

如上图,默认的矩形内部是蓝色、半透明,轮廓stroke是黑色的。下面将要介绍怎样改变这些特征。在其它工具中,你可以选择创建椭圆、星形、和螺旋线:

这些工具统称为形状工具shape tools。 新创建的每一个形状上都有一个或更多四边形的控制器(handles); 试一下拖动这些控制器会产生什么样的效果。在工具控制栏中也可以对形状进行修改。工具控制栏只对当前选中的形状有效(显示出四边形控制器的),但同时也会成为当前形状工具的缺省参数,影响下次创建的图形。
按键Ctrl+Z可以撤销(undo)上一次操作。(如果你又改变注意了,可以用Shift+Ctrl+Z来恢复(redo)撤销的操作。)

移动、缩放和旋转

Inkscape中最常用的工具是拾取器(Selector),位于工具列的顶端(箭头形状),对应快捷键F1 或者 空格(Space)。现在你可以选择当前画布上的任何对象。请点击下面的矩形。
可以看到,选择对象的周围出现八个带箭头的控制器。下面你可以:
  • 通过拖动来移动对象。(按下Ctrl来进行水平或竖直移动。)
  • 通过拖动任意的控制器来缩放。(按下Ctrl以保持原始的宽度-高度比例。)
再次在矩形上单击,控制器会发生变化,现在你可以:
    • 拖动对象角落上的控制器来旋转。(按下Ctrl以保持旋转的角度为15度的整数倍。)
    • 拖动中间的控制器来扭曲(倾斜)对象。按下Ctrl以保持扭曲的角度为15度的整数倍。)
在选择状态,也可以在工具控制栏(画布的上方)的输入框中输入数字,精确地控制对象的位置坐标(x,y)和尺寸(宽度W,高度H)。

通过键盘变换

Inkscape区别于大多数其它矢量绘图软件的一个特征是键盘操作的便捷性。几乎所有的命令都可以通过键盘实现,变换操作也不例外。
你可以用键盘来对编辑对象进行移动(arrow 光标键),缩放(< 和 > 键),以及旋转([ 和 ] keys)。缺省情况下,每次移动和缩放2px,按下Shift键时每次移动则为20px。而Ctrl+> 和 Ctrl+< 对应的缩放比例则分别为200%和50%。缺省每次旋转 15 度,通过Ctrl键,每次可以旋转90度。
可能更有用的是像素级别的变换(pixel-size transformations), 实现的方法是,在上面的快捷键基础上配合Alt键。例如Alt+arrows可以在当前的页面视图层次上每次移动一个像素(这里是指一个屏幕像素的距离, 而不是SVG中的与视图缩放级别无关的长度单位px)。这意味着,如果放大视图,Alt+arrow移动一个像素的绝对距离将缩短。这样,通过缩放视图,就可以任意控制对象的定位精度。
与此类似,Alt+> 和 Alt+< 将选择对象每次缩放一个像素, Alt+[ 和 Alt+] 旋转对象时,距离旋转中心最远的位置每次移动一个像素。
注意:在Linux操作系统中,这些组合键可能在窗口管理器中被指定了其它的用途,执行上述操作时可能不能获得预期的结果。解决的方法当然是相应地修改窗口管理器的配置。

多选

通过Shift+click,可以连续选择多个绘图对象,或者,用鼠标左键拖出一个框来选中框内所有对象,这个也称为弹性区选(rubberband selection)。(从空白处开始拖动时将创建弹性选区,如果在拖动之前先按下Shift,则总是创建弹性选区。) 请尝试选择下面的三个形状:
你可以使用弹性选区选择下面两个椭圆,但不包括矩形:
被选择的对象上会出现一个选择标识(selection cue),默认情况下是一个虚线矩形框,它可以标识出哪些对象被选中,哪些没有选中。例如,同时选中两个椭圆和矩形时,如果没有矩形标识框,椭圆的选中与否就难以判断。
在已经选择的对象上Shift+click可以取消选择。选中上面的三个对象,然后用Shift+click取消对两个椭圆的选择,只选中矩形。
按Esc取消所有选择,Ctrl+A选择当前图层上的所有对象(如果没有定义图层,则等价于选中文档中的所有绘图对象)。

群组

若干个绘图对象可以组合为一个群组group
。群组可以像普通绘图对象一样进行移动或变换。下图中,左边的三个图形是互相独立的,而右边的三个图形是组合在一起的。试着拖动这个群组看看。

选择一个或多个对象后,按Ctrl+G可以将它们组合在一起。选中一个或多个群组后,按Ctrl+U可以解散组合。群组也可以再次组合,并且群组的嵌套层数没有限制。不过Ctrl+U只能打开最顶层的群组,对于嵌套群组需要多次Ctrl+U才能完全打散组合。
实际上你可以直接修改群组内的对象而不用取消组合。使用Ctrl+click就可以单独选中群组内的一个对象,进行编辑;使用Shift+Ctrl+click则可以选中群组内或群组外的多个对象。不需要解散群组,请试着对上图右面群组中的形状进行单独的移动、变换。然后再选中群组,可以看到这种组合关系仍然存在。

填充与轮廓

Inkscape中的许多功能都借助于对话框的形式。为绘图添加一些色彩的最简单的方法是打开视图View菜单中的调色板Swatches对话框(快捷键Shift+Ctrl+W),然后为对象选择一种(填充)颜色。
更强大的工具是对象Object
菜单中的填充与轮廓Fill and Stroke对话框。选中下面的形状,然后打开填充与轮廓。

这个对话框中有三个标签面板:填充Fill、轮廓色彩(Stroke paint)和轮廓样式(Stroke style)。填充属性可以修改对象的内部fill 。下面的按钮可以设置填充的类型,包括不填充(图标X),单色flat color填充,以及渐变(gradients,线性或圆周)填充。对于上面的椭圆,单色填充的按钮是激活的。
这些按钮的下面,是色彩拾取器color pickers,有四种不同的方式:RGB, CMYK, HSL,色盘Wheel。可能最方便是通过色盘来选择,旋转其中的三角形来选择色调,在三角形内可以拾取不同的明暗度。四中拾取方式中都包含一个滑动条来设置对象的透明度(opacity),即alpha值。
选择不同的对象时,色彩拾取器总是自动更新,对应到当前对象。(选择多个对象时,将显示色彩的平均值。) 在下面的例子上做一下练习,你也可以自己创建这些图形:

在轮廓色彩Stroke paint标签中,可以删除轮廓线stroke,也可以任意为其指定颜色和透明度:
最后一个标签面板,轮廓样式(Stroke style)中,可以设置轮廓的宽度以及其它参数:
最后,除了单色填充之外,可以选择梯度(gradients)模式来填充图形内部和轮廓:
当从单色填充切换到梯度填充时,颜色仍然是前面单色填充时的颜色,不同的是透明度从不透明渐变到完全透明。 选择工具列中的渐变工具(Gradient tool,Ctrl+F1),对象上将会显示出(用线连接在一起的)渐变控制器,拖动渐变控制器(gradient handles),可以改变色彩梯度的方向和范围。选中某个控制器时(该控制器呈现蓝色),可以在填充和轮廓中为该控制器单独设置色彩,实现从一种颜色到另一种颜色的渐变。
还有一种改变对象色彩的简便方法是使用滴管工具(Dropper tool,F7)。选择对象后,再选择该工具,然后可以在绘图中单击click任意拾取色彩,这种色彩将自动指定给被选择对象的填充属性(使用Shift+click

再制、对齐和分布

一个常用的操作是生成对象的一个副本,即再制duplicating(Ctrl+D)。新生成的副本与原对象重合(垂直于纸面方向),并且已经被选中。可以用鼠标或光标键把它移走。想练习一下?请将下面一行用这个黑方块填满:
移动后,新的方块的位置难免些不够整齐,这时对齐对话框(Align dialog,Ctrl+Shift+A)就派上用场了。选择所有的方块(Shift+click或 者拖出一个弹性选区),打开这个对话框,选择“中心水平对齐(Center on horizontal axis)”,再选择“水平等间距分布(Make horizontal gaps between objects equal)”,这些方块的位置就很整齐匀称了。下面是一些利用对齐和分布工具生成的图案:

叠放次序Z-order

z-order指的是绘图中对象的叠放次序,例如,某个对象在最上层,盖住了其它的对象。对象(Object)菜单中的两个命令,置顶(Raise to Top,对应Home键)与置底(Lower to Botton,End键),将使所选对象置于当前图层叠放次序(Z方向)的顶部或底部。另外两个命令上升(Raise,PgUp键)与下降(Lower,PgDn键),将使被选择对象上升或下将一个位次,例如,可以将当前对象移动到它上面一个图形的上面。(如果所选对象与其它对象都不重叠,上移和下移分别等同于置顶和置底。)
可以在下面的图形上练习改变叠放次序,让最左边的椭圆位于最上层,而最右边的椭圆位于最下层:
选择叠放的对象时,一个很方便的快捷键是Tab。如果没有选择任何对象,按Tab将会选择最底层的对象;有对象被选中时,将选择其上的对象。Shift+Tab的选择方向则相反,从最顶层开始,往底层逐次选择。默认的叠放次序与图形创建的次序是一样的,所以没有选择对象时,Shift+Tab总是选择刚创建的图形。在上面的叠放椭圆中可以练习一下Tab和Shift+Tab的选择。
选择下面的对象并移动
如果一个对象完全被另一个对象盖住了,该怎么选择呢?如果上面的图形是透明的,你虽然可以看到下面的对象,但点击时选中的却是上面的图形。
这就是Alt+click要干的活。首先在上面的图形上Alt+click,这将选中它,然后在相同的位置上再次Alt+click,这次将选择该位置处,顶层图形下面的对象。对于多层叠放,多次Alt+click实现从顶层到底层的循环选择。
[如果你在Linux系统中工作,Alt+click可能不会像前面描述的那样工作,反而可能会移动整个Inkscape窗口。这是因为窗口管理器为Alt+click指定了其它用途。 你需要找到窗口管理器的相应配置,把其中的这个快捷键关掉,或选择其它的组合键。]
选中了被盖住的图形,你又可以做什么呢?可以用光标键移动,可以用鼠标拖动控制器。但是,如果拖动整个对象,则会重新选择顶部的图形(这是点击-拖动的工作模式,总是选中顶部的对象然后拖动)。要让Inkscape拖动当前选择的对象,而不是顶部的对象,需要借助于Alt+drag,这将拖动当前选择的对象,而不论你的鼠标在哪里。
请用Alt+click和Alt+drag选择并拖动绿色透明矩形下的棕色形状:

总结

好了,最后做一下小结。对于Inkscape,这仅仅是开始,但靠这几招,你已经可以做一些简单但不失实用的图形了。更高级的复杂操作,请参照Help > Tutorials中的其它教程。
LiuXiaoqin(liuxqsmile@gmail.com),2008

2008年1月11日星期五

我的电脑中不显示U盘的问题

Windows XP USB disk我的电脑中不显示U盘的问题

U盘或移动硬盘插到电脑上以后,并不总是跳出烦人的对话框,有时候也很安静,只在右下角的系统托盘上显示一个“安全移除硬件”的图标就完了。你打开我的电脑,可移动磁盘呢?怎么没有呢?刷新!没有,关掉再重新打开我的电脑,还没有!难道要重启吗?
你点击“安全移除硬件”的图标,打出来的白条上明明写着:安全删除USB存储设备(H:,I:)云云...
恭喜你,有了这个白条意味着U盘已经被操作系统识别并加载了,U盘应该还没有挂掉。怎么方便地操作其中的文件呢,重启不仅麻烦而且也不一定顶事。
你可以:
打开一个应用程序,如记事本Notepad、Word之类。在“文件”菜单中选择“打开”,这将弹出一个打开文件对话框,点击左侧的“我的电脑”,将列出所有磁盘,其中有U盘吗?如果有,你可以接着看下去,如果没有,不好意思浪费你时间了,你可以狠狠地关闭这个页面以泄愤。
在“文件类型”中选择“所有”,这样U盘的文件都显示出来了,现在可以在右键菜单中操作你需要的文件了,复制、粘贴、以及打开等。如果你前面用的是记事本,想要打开U盘中的图片,一定要在图片的右键菜单中选择打开,千万不能直接双击。

也可以试一下在任务管理器中结束explorer.exe进程,再重新打开。
还遇到过一次怪事情,接到电脑上的U盘,第一个不能显示,第二个却可以显示,不妨再找一个U盘来垫底。

这个问题的根源我不知道,我的系统曾经出现过几次这样的情况,或许只是Windows调皮了一下而已。

2008年1月7日星期一

Ruler with slot带凹槽的塑料直尺

Ruler with slot带凹槽的塑料直尺

中午去超市买东西,顺便买了一把塑料直尺。回来后想起来以前经常遇到的一个问题,将尺子放到桌面上就很难拿起来。拿新买的尺子试了一下,果然是着这样。尺子本身倒是明晃晃,很漂亮的。就是边上都处理得太光滑了,重新拿起来得费半天的劲,只用一只手的话根本就拿不起来。
如果在没有刻度的一边开一条小凹槽,是不是就能解决这个问题呢?

2008年1月6日星期日

Baldur's Gate重玩博德之门

Baldur's Gate重玩博德之门

博德之门和博德之门2算是我唯一付过钱的商业软件了,只玩过一遍就扔在箱底想来实在有些可惜。前不久偶然看到一个关于博德三部曲的Google Group,可以用博德2的引擎将博德1、剑湾传奇、安姆的阴影、巴尔的王座放在一起玩,但是占用的硬盘空间实在是大了一些。于是就只安装了博德1和剑湾传奇。
博德1的设定跟2里有一些差异,比如升级。升级时获得的生命点数也是扔骰子,升级前可以先保存一下,一次不满意可以重新读进度再扔,而在博德2里似乎就不行了,经验值满时,扔出来的骰子就确定了。这个对战士类的角色影响应该是很大的,在剑湾传奇中战士可以升到8级,每次d10,不算其它修正,可以获得将近80的生命值。
如果要相信“命运天注定”的话,8d10,八次平均分布的和,根据中心极限定理,概率分布为均值为40的高斯分布,方差是...,(等我有时间算一下;-)),总之不会离40太远,这个差距也太大了。
以前用圣骑士,现在改用法师了,只能缩在队伍的后面,扔扔石子。与戴娜黑的塑能系专精法师相比还弱了一些,法术专精每等级可以额外记忆一个法术,看来是个不错的选择。我的法师是弄杂了,居然将智慧也弄到17,敏捷狂差,我可没想过转职到牧师。

这个游戏还是太粘人,我已经玩了不下四十个小时,才刚刚进到博德之门。战斗已经不像印象中的那样让人抓狂了,只有石化蜥蜴让我加深了一下印象,嗯,还有贾希拉在卡立德中招时的叫声。
如果将天之痕的剧情画面用博德的引擎、战斗方式来表现.....,只能随便想想了。

update:
春节初一到初四又集中了四天时间终于再次通关,整个游戏大概玩了90个小时。杜拉格之塔花了太多的时间,以至于对最后的决战有些不耐烦,砍倒了沙洛佛克后就草草收场了。由于不用太顾忌队员的阵亡,最后一战的难度实际上并不是太高。
比较郁闷的是,戴娜黑升到顶级后,居然找不到法术卷轴可学,最高级别的两个法术栏位一直空着。