删除Zotero自动生成的Tags或关键词

添加项目时,Zotero默认将关键词以Tag的形式加入,这样可以快速的查看与某一关键词相关的条目。可是自动加入的Tag或关键词有太多太多,时间一长,Zotero数据库中会产生成百上千个关键词或Tag,导致其失去了便于检索的应用价值。

所以,建议在取消该选项,而改为人工添加更加简单易记的关键词或Tag。

那么,对于已经存在的Tag如何一下子全部删除呢?按照下面的步骤操作即可。

  • 打开Zotero配置页面,选择高级(Advanced),点击“打开数据名录”(Show data directory);
  • 关闭Firefox,关闭之前将本文用IE打开,或复制到一个文档中,以便随时参考;
  • 复制“数据目录”中的“zotero.sqlite”为“zotero.sqlite.bak”,即备份Zotero数据库;
  • 下面对Zotero数据库进行查询,可以使用任何熟悉的数据库工具,这里以“SharpPlus SQlite Developer”,操作如下:
  1. 注册数据库,根据向导选择zotero.sqlite文件。
  2. 双击导入的数据库。
  3. 选择“工具”-“SQL编辑器”,在其中输入以下代码:
    [cc lang=”sql”]delete from itemTags where itemTags.tagID in (select
    tags.TagID from tags where type = 1);
    delete from tags where type = 1;[/cc]
  4. 选择“运行”,即窗口中第一个图标。
  5. 这时候,窗口下半部分应当有信息出现“Query OK…”等等。
  • 关闭该工具,重新打开Firefox。
  • 完成。

Refer:forums.zotero.org/discussion/4051/remove-all-tags/

使用正则表达式匹配DOI

先看几个DOI的例子:

  • 10.1093/nar/gkh458
  • 10.1146/annurev.micro.112408.134233
  • 10.1183/09031936.02.00400202

可以看出,DOI的编码以“10”开始,可以含有数字]0-9],小数点,斜杠等分隔,但是其中不会出现空格。鉴于此,在perl中使用以下正则表达式匹配:

[cc lang=”perl”]
$str1 =~ /10\.[^\s\/]+\/[^\s]+/; # borrowed from Zotero
$str2 =~ /\b(10\.\d+\/[^\s]+)\b/; # another one
[/cc]

解决Windows XP SP3系统中播放flash没有声音的故障

这是一个很诡异的故障,我在网络上查探了多日,中英文解决方案参考了无数,却仍然没有解决。最终,通过自己的实践,发现了一个简单的解决方案。

故障的情形如下:

  1. 在系统中使用Media player播放音乐,使用射手影音播放器播放视频均有声音。
  2. 使用电话会议功能也正常。
  3. 网页中播放Flash没有声音。
  4. 系统自带录音机不能使用。
  5. 音量图标始终不能显示在托盘中。

既然你来到这里,肯定参考了网络上广为流传的关于在注册表中添加一个项目“msacm32.drv”的文章,我也是在相应的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 上面添加了名为“wavemapper”的项目,可是仍然没有解决。

我于是怀疑这里指定的文件是否丢失了,于是在System32文件夹中查找“msacm32.drv”,发现同名文件也还存在。

我觉得事已至此,应当尝试一下替换该文件,于是从网上下载了原始的“msacm32.drv”文件,文件大小20kB。与我机子上原有的同名文件差别巨大,原有文件大小为848KB。将原有文件备份,将原始文件复制到System32文件夹中,重启计算机,一切正常了。

故障原因分析:系统文件损坏造成的。

故障解决方案:使用原始系统文件替换即可。

使用poEdit汉化wordpress插件、主题攻略

关于“.pot”文档、“.po”文档和“*.mo”文档的来历见上面图片。

简而言之,这是一个开源软件本地化(或者国际化)的系统。而且是一个能够自动化运行的系统。使用该系统仅仅需要一个前提,就是在调用文本相关的函数时遵循一个特定的约定。例如WordPress 使用 _e 和 __ 函数来本地化。如下所示:

[cc lang=”php”][/cc]

现在要汉化一个插件或者主题,就打开源文件,看看是否存在这样的语句。如果存在,则进入下一步。

先简介一下(www.jinbo123.com/2503.html):

一、三种文件
.po文件,.mo文件,.pot文件是由gettext程序生成或者使用的源代码和编译结果。

1、.pot文件
是一种模板文件,其实质与.po文件一样,其中包含了从源代码中提取所有的翻译字符串的列表。
2、.po文件
各语言对应的po文件,比如中文就是zh_CN.po,法语就是fr.po文件。
PO是Portable Object(可移植对象)的缩写形式,它是面向翻译人员的、提取于源代码的一种资源文件。
.po文件可以用任何编辑器如poEdit,vi,Emacs,editplus打开,交给翻译人员来将其中的文字翻译成本国语言。
3.mo文件
mo文件是一个二进制文件,不能直接编辑。
MO是Machine Object(机器对象)的缩写形式,它是面向计算机的、由.po文件通过GNU gettext工具包编译而成的二进制文件,应用程序通过读取.mo文件使自身的界面转换成用户使用的语言,如简体中文。
可以用工具如msgunfmt命令将.mo文件反编译为.po文件。

一般情况下,我们在汉化的时候会碰上如下几种情况:

二、几种情形
1、如果程序本身提供了.po文件,直接使用poEdit汉化,并自动生成.mo文件。
2、如果程序提供了.pot文件,复制一份并更改后缀名为.po,再使用poEdit汉化,最后生成.mo文件。
3、程序既没有提供.po文件,也没有提供.pot文件,只提供了.mo文件,那么将.mo文件转换成.po文件。

汉化需要用到的软件就是PoEdit(www.poedit.net/)。参见laycher.com/?p=738

将汉化的文档命名为“zh_CN.po”和“zh_CN.mo”,复制到插件或主题中的“languages”文件夹中,如没有该文件夹,则新建一个。

然后,刷新一下,就会看到主题被汉化了(注意:wordpress设置的语言需为zh_CN)。

WordPress开发实录

如果遇到后台编辑文件时没有发现“更新文件”菜单时,可能是文件没有权限被“www-data”用户修改造成的;

WordPress主题的执行顺序,见:http://ihacklog.com/php/wordpress/dig-into-wordpress/the-wordpress-theme-files-execution-hierarchy.html

更改一个主题CSS文件时,新建一个CSS文档,然后import到主题默认CSS文档中。由于CSS定义中“后来居上”,所以应当插入在最后面,以免引起冲突。如果冲突,可以尝试加入“!important”来提升优先级。

关于wordpress插件form-manager的使用,不要使用其“condition”,而应当自行编写脚本。可以使用jQuery,然后将脚本作为Note添加(插入一个script区块)。同时将用到的CSS也作为一个Note添加(CSS其实最好位于Header中,据说这样可以加快网页的渲染速度,而js则可以放在最后)。这样做的结果就是只有在有form的页面中,才会需要载入相应的js库,减少对其它页面载入速度的影响。

form-manager模板函数中的利用nickname获取数值函数很好用。然而对于文件上传来说,得到的是一个含有文件名和其它信息的数组,可以使用以下语句得到想要的东西。
wordpress.org/support/topic/plugin-wordpress-form-manager-get-image-into-template

[cc lang=”php”]