Call to undefined function music_list()

今天在 FreePBX 里试图编辑一个分机,点了编辑结果出现一个错误:Call to undefined function music_list()。

好端端怎么有了这么个错误?后来发现是没有安装 Music On Hold 模块的缘故,安装并启用这个模块,错误就消失了。

可是我不需要 Music On Hold 模块啊,记得之前也是为了应付一个错误安装了不需要的 Call Recording 模块。这样下去,模块越装越多,直到某一天 FreePBX 崩溃……

Cure fail2ban on FreePBX

不知从什么时候起,FreePBX 上的 fail2ban 不能启动了。amportal restart 时,其他项都是绿色的 OK,执行到最后是 fail2ban,两行:

Stopping fail2ban [Failed]
Starting fail2ban [Failed]

两个红色的 Failed 触目惊心。

看了看 /var/log/fail2ban.log,一头雾水。再说它不更新已经很久了,估计不能启动以后就没有更新。研究它的最后几行也不知对解决问题有没有帮助,总之我缺乏细看的耐心。问 Google 吧!有人说,

yum remove fail2ban
yum install fail2ban

就能重新工作了,就这么简单。一试,果然!

问题虽然解决,但我对 FreePBX 软件质量的印象分有所降低——“不明原因、重装解决问题”似乎是 Windows 的特症,怎么 CentOS 下的 FreePBX 也染上了?!

Play Blu-ray ISO images on Fedora 20

买了新电视 SAMSUNG UE46F6100,总想试一下它的 3D 效果。我没有 Blu-ray player,也没有 Blu-ray disk,于是下载了一个 Blu-ray ISO 镜像格式的文件。怎么放呢?

我一开始想在 Sony NSZ-GS7 机顶盒上播放,可是没有可用的 App。Windows 下倒有很多解决方案,可惜它不是我的首选。

我想的是怎么在 Fedora 20 下播放 Blu-ray disk?如果可行,就可以用 Fedora 20 配一台 HTPC 去客厅播放 Blu-ray disk。

做之前,我以为这有点难,不太会有现成的 yum package。事实上,很简单。

首先得有 libbluray,用 yum install 一下就可以。但我的机子也装有 libbluray,不知是 Fedora 20 默认安装的库,还是我装别的软件时带进来的。

然后加载 rpmfusion repo,装一下 vlc 就可以用 VLC 来播放 Blu-ray disk。


yum install vlc

HTPC 又多一个新功能。但是 SAMSUNG UE46F6100 电视的 3D 效果实在一般,要令我赏心悦目的 3D 技术还没有到来啊。

DeVeDe is the only software I made it working to burn MP4

我有一些 MP4 文件,想把它们刻录到 VCD 片上,在 DVD 机上演示用。

我在 Fedora 18 下想用 Brasero 直接刻录 MP4,不成功。

有人说,把 MP4 转成 MPEG 格式就可以了,我用 VLC 转换 MP4 成 MPEG,只有一个 MP4 成功,其他 MP4 转换时总有个我看不懂的 error message。但即使是已转换成功的唯一一个 MPEG 格式文件,用 Brasero 刻录时又有一个 我看不懂的 error message。

Devede
DeVeDe

我开动 Windows,想找一款 Windows 平台下的视频格式转换软件,由于对此类软件缺乏了解,最终还是无功而返。无奈中,发现有人提到 Fedora 下的 Devede 软件,我几乎不抱希望,却还是安装了。结果,它顺利地把所有的 MP4 保存为一个 VCD 格式的 ISO 文件。接下来的事情就简单多了,我用 Brasero burn image,VCD 片就做好了。在 DVD 机上一试,播放成功,好像还是 VCD 2.0。

安装 Devede 非常简单哦:


yum install devede

Precisely control modules loading sequence in Magento

Magento 以 alphabetical 顺序加载 app/etc/modules 里的模块。一般来说,我喜欢在我的模块.xml 前加一个 z,保证我的模块是最后加载的,因为我的模块或许需要去更改原有的布局,那当然得在原有的布局已经生成后才去更改。

我发现不少人跟我有同样想法——喜欢把他们发布的模块.xml 前加 z,有时还加 zz,甚至 zzz。这样就难为我啦,我倾向于去掉这些强加的 z,毕竟是我在统一调配模块。

如果我发布我的模块,我倒不喜欢加 z,因为我不喜欢被人加,己所不欲勿施于人。而且,既然是独立发布的模块,应该尽量做到环境无关化。我不可能知道用户已经装有什么模块、将来还会装什么模块,我尽我本分,不管别的模块能否做到环境无关化。

言归正传。今天我把 jQuery 和一些常用的 jQuery plugins 打了包,放进我的 Msdk (Magento Software Development Kit) 模块。目前 layout 的 msdk.xml 是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<default>
<reference name="head">
<!-- add jQuery and plugins -->
<action method="addJs">
<script>jquery/jquery-1.4.2.noConflict.min.js</script>
</action>
<action method="addJs">
<script>jquery/jquery.textareaCounter.plugin.js</script>
</action>
<action method="addJs">
<script>jquery/jquery.corner.js</script>
</action>
<action method="addJs">
<script>jquery/jquery.transform-0.6.2.min.js</script>
</action>
</reference>
</default>
</layout>

接着又发现我其他用到 jQuery 的模块无法使用 jQuery,因为它们按 alphabetical 顺序加载在 msdk 模块之前。这让我头痛。Add block 时有 before, after 参数可以控制插入顺序,addJs 没有优先参数,而我又不愿意修改 app/etc/modules 下各个 xml 文件名去控制模块加载顺序(除非我自个儿用 msdk)。

继续琢磨,磨出一个两全其美的办法:参考 Magento 的 Eav 模块,在用到 msdk 的模块加载时使用 <depends>。

<config>
<modules>
<Mage_Eav>
<active>true</active>
<codePool>core</codePool>
<depends>
<Mage_Core />
</depends>
</Mage_Eav>
</modules>
</config>

我早注意到 <depends> 这个 tag,以前觉得它可有可无(我是拿它跟 yum dependency 机制作比较,Magento depends 无法自动解决依赖,所以觉得它可有可无),没想有这等妙用。

Software navigation refactoring

回国看到老爸在用的一台电脑被一些流氓软件侵袭,深受其害。IE被篡改,连正常的网站都访问不了,我很痛恨。我又看到很多上网导航有误导之嫌,有那么多优秀的开源网站不去导,根本不符合我的网络价值观。所以,我也想倡导一下我的导航概念,帮助新手选择常用的软件。

安全杀毒

使用Windows,杀毒软件是不可或缺的。我个人认为卡巴斯基是最强的,但其他杀毒软件也不错,选什么不重要。我喜欢卡巴斯基和F-secure,很大程度上是因为他们向我校师生终生免费授权。

另外,在免费的世界里,还有AVG和Avira AntiVir两个选择。但如果你是完全意义上的新手(没有基本的防护意识,完全依赖杀毒软件来保护你),那不要贪图便宜,免费版功能不够全面,不适合你。尽管AVG和Avira AntiVir也有商业版,但我没用过,商业版还是去买卡巴斯基或F-secure吧。

瑞星杀毒
可免费使用六个月,国内占有率第一的杀毒软件。
卡巴斯基
来自俄罗斯的个人电脑安全软件,功能强劲。
NOD 32
国际知名的杀毒软件,占用内存资源较少。
江民杀毒
老牌杀毒软件,下载版可免费试用100天!
金山毒霸
金山毒霸具有三维一体的互联网防御体系。
诺顿杀毒
诺顿可以让你免受病毒、间谍、恶意软件的侵扰。

木马插件查杀

我认为有一款好的杀毒软件足矣,不需要专门的木马查杀软件。对一个软件要知根知底才能指望它来保护你,国内的流氓软件无处不在,多装一个软件就是多一分危险。

瑞星卡卡
具有反木马、广告拦截、插件免疫等功能的安全软件
360安全卫士
拥有查杀流行木马、清理恶评及系统插件等功能。
金山清理专家
查杀300多款恶意软件、插件的上网安全辅助软件。
QQ医生
针对盗取QQ密码的木马病毒的专杀工具!
木马克星
可查杀三万木马,让木马无处可逃的木马克星。
超级巡警
查杀并可辅助查杀各种木马、流氓软件和恶意代码等

聊天工具

聊天就是聊天,能打打字,最多传送一下语音和视频。Gtalk在这方面是最强的,安装程序短小精悍。如果你只需要文本聊天,甚至不需要安装软件,直接用Gtalk host模式在gmail,igoogle或自己网页里聊。如果你的朋友横跨gtalk, qq, msn, yahoo, icq, aol等,使用多合一的pidgin或Fring也不错。Pidgin和Fring没有眩目的广告,让你做到聊天就是聊天。

如果你追求等级积分,还会花钱去买皮肤什么的,那就是被IM公司牵着鼻子走了。在我看来,买这些增值服务跟打声讯聊天热线去烧钱没啥区别。

腾讯QQ
用户最多的即时通信(IM)软件,绝对的装机必备!
腾讯TM
腾讯推出面向办公用户的IM软件,适合办公一族。
微软MSN
微软出品的IM软件,深受办公白领人士钟爱。
移动飞信
飞信可以免费发短信,是中国移动推出的一款IM。
阿里旺旺
将淘宝旺旺与阿里巴巴贸易通整合在一起的新IM品牌
TOM-Skype
Skype是全球最清晰的网络电话,并具备IM功能。

Skype是voip解决方案中名气最大的,但绝不是最实惠的。如果你耐心google一下,相信会找到替代方案,不乏语音质量超好的voip provider。

下载工具
迅雷
基于P2SP技术的下载软件,下载速度强劲!

我从来不用迅雷,主要因为我听到的对迅雷的评价都是负面的,可能先入为主了。还有一个原因是迅雷不会走出国门,因而也无缘我的shortlist。
网际快车
全球最多人使用的老牌下载工具。

以前拨号上网的年代用过网际快车,现在似乎没有它的用武之地。它的广告也很烦人。
腾讯旋风
QQ旋风是腾讯公司推出的下载工具,界面清爽简单。

绝不会装的一个软件。
VeryCD电驴
基于eMule,由VeryCD团队开发的一个电驴下载软件。

很不错的软件。我也很欣赏 verycd.com,高可用性,堪称中国 web 2.0 的典范。偶尔一句“打死也不出弹窗”的title 让我为之喝彩许久。
BitComet
基于BitTorrent协议的高效p2p文件分享免费软件。

如果你还在找bt软件,那就用BitComet吧。我是说很多硬件都固件支持bt了,可以优先考虑。BitComet也支持ftp多协议,备着它也许是明智的选择。
Vagaa哇嘎
多点对多点共享软件,对下载等资源有很好的支持。

我没听说过,更没用过。

Who is official emule — does it matter?

前几天看了一篇文章,说 emule-project.net 才是 emule 的中文官网,而著名的 verycd.com 并不是官网,是它运用商业手段混淆了人们的概念。

当时看完没什么感想,躺到床上突然又想到这篇文章,突然就有了感想。首先我理解 emule 的中文开发者默默无闻地做了很多工作,没得到大众承认的心情。世上本有很多看似很不公平的事情,比如学识比人高挣钱没人多。

我记不得是先认识 emule-project.net 还是先认识 verycd.com,但至少我知道这两个网站,verycd.com 接触得多,看得出运营商很用心地做网站;emule-project.net 接触得少,没多大感觉。

至于谁是官网,重要吗?最终用户关注的是资源,开发者关心的是程序,看问题的角度不一样,心目中的官网就不一样。或者说,根本就没有官网,哪个网站有用就上哪个。互联网本来就是挑战权威的,如果一定想当官网,那就开发个程序不用开源协议分发啊,emule 原版都没这么做,中文版还挣个什么。

至于说 google 和百度与 emule 相关的关键字排名都青睐于 verycd.com,错了吗?就算 emule-project.net 是官网,这因素也只占有限的google 排名权重。约略设想一下,如果 emule-project.net  排第一,大部分最终用户被 google 带到一个 bounce rate 很高的网站,google 肯定调整一下,找一个 sticky 的网站取而代之。少数开发者或许更关心 emule-project.net,不满意 google 的搜索结果?那只好对不起了,少数服从多数。人性化搜索或许能解决这个少数人的问题,但目前算法不理想。如果开发者要抱怨 google 的搜索结果,那不如贡献一个人性化搜索算法?(我有点站着说话不腰疼)

人性化搜索有点遥不可及,说点可以实现的。emule-project.net 和 verycd.com 是两个不同方向的网站,emule-project.net 没有排名的先天优势,那么做一个比 emule verycd 版更强的程序如何?我比较了一下,verycd.com 下载安装后就能用(界面比较花俏,我不喜欢,可能别人喜欢;内置搜索有 bug,会显示一些病毒结果), emule-project.net 安装后仍需两步设置(幸亏我还知道怎么设置)。不作官网之争,争做更好的软件,让 emule-project.net 版的 emule 在 verycd 用户中口口相传,以后大家仍上 verycd 找资源,但用 emule-project.net 版的 emule,那也是一种成功。

Why Chinese hack Chinese

今天想用 iphone 看电影,于是 google 有关视频格式转换的开源软件。MediaCoder 就在其中,网站做得还中规中矩,装它的软件也让我放心。

安装开始时提示选择语言,只有 Chinese 和 English 可选。没多想就选了个 Chinese,接着病毒防火墙就提示有 Adware,Trojan-Downloader:W32/ConHook.APX。真不爽,赶紧取消安装。重新选了 English,安装过程病毒防火墙没有发现病毒和流氓软件。

这下我更不爽了,为什么中国人做个软件专门害中国人呢(我猜 MediaCoder 出自某个 Chinese 之手吧)!中国网络环境在国际上排在榜尾,行业中人不自律给此雪上加霜。

I look out for RAID

I am a little beef-witted. Not until today did I realise that all of RAID 0, 1, 5 can improve data access speed.

When I had a computer with RAID interface about 2 years, I went online and read roughly what difference between RAID 0, 1 and 5. When I read RAID 1 is just mirroring 2 disks, I did not think carefully. I thought at that time – in RAID 1 two disks duplicate data independently, so RAID 1 only benefit data safety, not efficiency.

Today, I read further then realise RAID 1 can improve data read speed by accessing difficent piece of data on 2 disks. Of course RAID 1 does not help data write speed.

RAID 1 should be a very good choice for my server. I am also glad to learn RAID can be implemented by software.

Pdf zoom print

好多pdf电子书排版页面为16K,打印在A4纸上边缘空白太多,于是我想把pdf放大107%打印,看上去像针对A4排版的。我找到了三种方案:

1. 使用adobe的crop tool选中你所要打印的部分,双击打开一个窗口,page range选为all, 单击ok。你就得到一个只有选中部分的pdf文件。

我试过很好用。

2. Photoshop: File->Automate->Multiple PDF to PSD. With resulting psd files, you can pretty much do anything with them. Either print them directly, or use ps bacth process to change them to jpgs for further size/resolution adjustments, or even OCR them and convert them back to pdf.

我试过,不好用。因为photoshop把pdf的每一页都作为单独psd处理,每一页内容或长或短,psd的图像大小不一,再整合成pdf费时费力。

3. 打开pdf,用distiller打印。不要选shrink oversized paper to paper size;在advanced里改scale的值,直到你满意。

我没试过,估计可行。