Category: 小小草

IT 技术领域学海无涯。其实任何领域都学海无涯,无非 IT 发展太快了,让我有更多嘘唏。希望我掌握的技术有如小小草,虽然渺小,却有旺盛的生命力。

  • Solution to chm file error of navigation cancelled or invalid address

    最近我又对 plobe 起了兴趣,找来了一个说明文档竟然是 chm 格式。我这里用了“竟然”,因为 plobe 不是微软的技术,文档编写者却用了微软的 html help。用了微软 html help 也罢了,可它竟然打开后读不了。提示信息是:已取消到该网页的导航,或无效地址。

    我试了很多办法,但都不切中要害:

    • 修改区域和语言为中国和中文
    • 注册文件关联
    • regsvr32 某些控件
    • 从微软网站下载 hhupd.exe 来安装
    • 降低 IE 安全级别

    结果我的电脑搞得一团糟,还是没解决问题。Google 了好久(google 这回不聪明了,把好的答案藏起来了)最后解决问题的方法是:

    在 CHM 文档上右键查看属性 -> 常规 -> 在下面有一个和属性相邻的安全:此文件来自其他计算机,可能被阻止以帮助保护该计算机。 右边有一个解除锁定的按钮。

    单击一下 解除锁定 -> 应用 就可以了!

    BTW, I found this chm file is not worth opening and reading at all. Does it imply whoever compiles documentation in chm for a non-microsoft technology is silly, and whoever tries to open such a chm is silly as well? I must admit I am silly.

  • Controversial safe_mode

    safe_mode 恐怕是 php 里最有争议的环境参数了。要我说,这个参数名取得就不好,争议就难免了。safe_mode 可以设为 on / off,但并不是说 safe_mode = off 就不安全了。很多 ISP 的 shared hosting 环境下 safe_mode 也是 off 的,godaddy deluxe hosting 就是一例。

    光靠 safe_mode = on 是把不住安全关的,反而会限制某些程序的正常运行,比较麻烦。尽管麻烦,尽管我不是 share hosting,但我还是喜欢最大范围内设置 safe_mode = on。

    但是由于我习惯性使用 mod_php,最近才意识到 mod_php with safe_mode = on 在 php upload 时无法解决 “先有蛋或是先有鸡” 的问题,因为 apache 试图操作 user1 的目录。为了允许 apache 操作 user1 的目录,必须在 user1 的目录为 group 或 other 提供 write 权限。同理,为了允许 apache 操作 user2 的目录,必须在 user2 的目录为 group 或 other 提供 write 权限。这样一来,就很难隔离 user1 和 user2 之间相互的文件操作。

    suexec 对 mod_php 无效,看来只有抛弃 mod_php,改投 FastCGI 门下。

    顺便说一下,godaddy shared hosting 把 user1, user2 都归为一组,然后取消 group 读权限,允许 other (apache)读权限,虽然思路很巧妙,但有悖常规思维,通常我会认为 owner 权限 >= group 权限 >= other 权限。godaddy shared hosting 用的就是 FastCGI,不存在“鸡蛋”问题。

  • Samba can share files over internet

    Samba 太强大了,我没想到它可以在公网上共享文件和文件夹,如同在局域网内一样。

    如果给 samba server 一个公网 ip,就可以在 internet 上凭着 \\ip 就访问共享文件和文件夹。有点可怕,因为我原先认为 samba 会区别对待局域网内和局域网外用户,不经过一些特别的设置,samba server 不会让 internet 用户用 \\ip 访问共享文件和文件夹。事实不是这样,至少目前 samba 3.2.8 版不是。

    同理,如果把 WD Mybook World 建为 dmz,它的 public folder 就暴露给所有 internet users 了。

    所以得特别当心,如果想给 samba server internet visible,就不得设置 windows 局域网内共享常见的 guest 无密码访问。

  • CentOS Debian Fedora FreeBSD Ubuntu Comparison

    我还远没有资格做评测,CentOS Debian Fedora FreeBSD Ubuntu 里,除了用过 Fedora,其他的都没试用过。还有一些 linux distribution 有些近期不够活跃,有些在开源路线上不够明朗,对从零学起的用户来说,还是不用考虑把它们也加进 shortlist,就这些主流的 linux distribution 都已很让人困惑,该怎么选择?

    总的来说,选择谁都没有错,殊途同归。但可能这样的回答不会让人满意,那么根据我的研究结果,我用最短的词语来概括 CentOS Debian Fedora FreeBSD Ubuntu 特点,希望有助大家选择。

    • CentOS: 保证兼容(如果以后想买 redhat 其他产品的话)
    • Debian: 承诺免费(不用担心开发者日后见利起意)
    • Fedora: 技术追新(新版本的组件首先在 Fedora 实现,隔好久才能在 redhat 其他产品上见到)
    • FreeBSD: 发布活跃(相对Debian而言)
    • Ubuntu: 面向桌面(虽然近来在服务器领域日渐流行,但它毕竟是针对 laptop 和 desktop 设计的)
  • Cut copy paste in vim

    可能因为我刚入门 linux 吧,有些方面我还是认为它不太友好。比如在 ssh 状态使用 vim 作文本编辑器应该是绝佳的选择,我不指责它的编辑性能,倒是愣让人看不明白。难道它就非得用晦涩的文字写 manual?

    我无奈转向 google,一下子就找到了常人通俗易懂的语言,归纳如下:

    Cut 的等效快捷键
    dd delete current line
    D delete from cursor to end of line
    d$ delete from cursor to end of line
    d0 delete from cursor to beginning of line
    dw delete from cursor to end of current word
    db delete from cursor to beginning of current word

    Copy 的等效快捷键
    Y or yy copy (yank) one line
    2Y copy two lines
    10Y copy 10 lines
    yG copy all lines to the end of the file
    yw copy text from the current cursor position to the end of the word
    y$ copy text from the current cursor position to the end of the line

    Paste 的等效快捷键
    P paste above the current cursor position
    p paste below the current cursor position

  • I am with Fedora

    今天 Fedora 11 alpha 发布了。Fedora 10 我还没摸熟呢,Fedora 11 就来了,真让我高兴之中疲于奔命。

    无意中还发现 drupal, mediawiki, planet, wordpress 都包含在 Fedora 发行包中,这是不是跟 Fedora Project 自身使用了这几种技术有关?我的意思是:为什么不包含别的 packages,比如 magento, joomla, etc?

    Fedora 倡导的东西咱就支持一下。不管有用没有,咱全安装了(也就 drupal 暂时派不上用场)。

  • Actinic discounts.fil is giving away secrets

    I have many good reasons to dislike Actinic. One of the reasons is – as growing up to an Actinic expert, one can also be an Actinic hacker. In other words, Actinic is not nicely secured by the vendor. If an Actinic user wants enhanced security, he / she will work ten times harder to close the security hole.

    For example, Actinic does not have online database. Actinic keeps most of data offline, but it must have some data at server side, so itstores data in various files. This is a very doubtful approach. Of course all database software have bugs, but could Actinic file-based data do better than mysql, etc?

    Another example, I recently found Actinic stops recognising coupons after an update. During diagnosis, I found discounts.fil under acatalog folder serves as data file for coupon code etc. acatalog/discounts.fil can be accessed by public by default. All promotion secrets are exposed to competitors / customers by analysing this file. Coupon codes are hashed in discounts.fil, and hashing makes all original coupon codes not recognisable. The Actinic perl script does not compare hashed customer input coupon with hashed coupon code in discounts.fil. It compares raw customer input coupon with hashed coupon code in discounts.fil (of course they will not match). This is a bug in Actinic.

    I think closing security hole is out of most Actinic users’ capability. What is the point for an advanced Actinic user working so hard on Actinic?

  • 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.

  • Openbravo know what users want

    我想把 erp5 安装在 vmware 里,没想到非常麻烦,碰到了一些问题,实在不知道是 erp5 的问题,还是 vmware 的问题,只好 google erp5 vmware 求助。

    But I had a typo in query. I typed in erp vmware, and Openbravo came the first. 原来 Openbravo 针对 vmware, xen 等几个虚拟机分别打包,方便用户下载部署。我看了一下,似乎还没有第二家 erp 供应商为用户提供虚拟机环境的。虽然我今天找得不是 Openbravo,但它对用户的体贴还是要狠赞一个。

  • Gmail now support email template

    我几天前注意到 gmail ui2 改变了一下风格,当时以为只是 look and feel 改变,今天无意中发现 settings 里多了 labs (也可能这个 labs tab 早就存在了,我没注意)。有几个功能比较实用,我就启用了它们。

    最有用的要数 Canned reponses。之前 gmail 一直没有内置的邮件模板功能,虽然可以通过 firefox plugin 或者 google gadget 达到模板功能,但我总认为不够方便,也不够正宗,所以我一直忍受着没有模板的低效率。

    Canned reponses 声称是为懒人设计的(大概是从手机预置短信得来的启发),我用来做预置邮件模板,真是绝佳的解决方案。