Category: 杂草

随想随笔,就让在杂草堆里的文章杂草丛生吧

  • 要做就做Bug-Free的网站

    我在6月15日升级了服务器,当时花了好几天时间重新安装设置各种程序,并认为已经做了所有该做的事。

    直到今天有客户告诉我无法上传文件,我马上意识到存放文件的目录没有设置可写属性,一查果然如此。想想真的可怕:三个月内,在线定单也接了不少,竟然没人来指出这个bug。这类bug最可怕,因为客户在下单时可以选择以邮件方式发送文件,所以系统并没有因为这个bug停止运行,我也根本没注意到这个bug。但估计还有一部分客户发现不能上传文件,就走掉了,这三个月定单在历史的低点,不知是巧合还是必然。

    特别感慨,要用心做网站,做bug-free的网站!

  • httpd.conf Priority Against .htaccess

    在httpd.conf里可以用allowoverride设置让.htaccess生效或失效,这让我想当然地认为httpd.conf比.htaccess有更高的优先级,最后发现并不是这样。

    今天我调整了我管辖的几十个域名的A record, CName, MX。为了让域名规划更加整齐,也方便以后的更改,我把同组域名(启用ghs.google.com的多个alias)都用mod_rewrite做了301 redirect,指向了primary domain。因为Rewrite必须写在Directory directive里,所以我在httpd.conf里写完Virtualhost directives之后,专门开篇Directory,把各组域名的子域名重写规则都放在一起,方便阅读和理解。

    域名启用了wildcard子域名,我想让一些特殊的子域名在wildcard子域名定向前先行重定向,所以我把这些特殊子域名的重定向写在了httpd.conf里面。我管辖的域名都按同一个规则设置特殊子域名,我也不想打开一个个.htaccess一一编辑,把这些规则写在httpd.conf是最理想的。

    我原以为httpd.conf优先级高于.htaccess,所以当特殊子域名在httpd.conf读到匹配的规则,即行重定向,而不再当作wildcard子域名处理。但是我错了。关于优先级的完整理解应该是:

    • httpd.conf可以设置让.htaccess生效 (allowoverride all) 或生效 (allowoverride non) ,这没有错。
    • 但一旦httpd.conf让.httaccess生效,.htaccess里的设置就优于httpd.conf。对啊,allowoverride就是这个意思,我怎么就这么傻呢。

    如果不是magento之类的程序,即使特殊子域名被当成wildcard子域名,在.htaccess里匹配不到规则,特殊子域名还是有机会在httpd.conf里完成我期待中的重定向。magento (说到底是zend frameword) 带来一种规则——所有不匹配的规则统统重定向到index.php,这让我在httpd.conf里的规则再也没有机会捕捉到特殊子域名 (全被当成wildcard子域名被.htaccess捕获了)。

    思前想后,我只好想出一招:把特殊子域名作为ServerName或ServerAlias编成专门的VirtualHost directive,位置必须放在wildcard子域名所在的VirtualHost directive之前,然后为特殊子域名和wildcard子域名设置不同的DocumentRoot。因为RewriteCond和RewriteRule都是基于Directory directive的,既然分开在不同的directory,wildcard子域名的.htaccess就没有机会override特殊子域名了。

  • 中国货物出口到英国海运免费

    我是在调查我的case时,才知道中国到英国主要港口之间的拼箱海运费是免费的。也就是说,如果你是出口商,算出 FOB Shanghai 是什么价格,就可以报出 CFR Felixstowe 什么价格。

    我也算是消息不灵通人士了:这个在货运行业中存在多年的规则,我竟然刚刚知晓。其实这个免费规则还可以扩展一下,世界上还有很多目的港可以做到免费海运,甚至货代还倒贴给你,就是说你有可能报出比FOB还低的CFR价格。

    因为我们公司以前一直指定货代,我也不是直接负责这方面的事务,难怪我不了解这条潜规则。不过,现在我知道了,我得在公司推行一下。

  • 港口统计数字

    又读到一篇报道,也很有意思:

    …天津港已同全球180多个国家和地区的100多个港口建立了贸易往来…

    假设前者国家和地区数为a,后者港口数为b,从字面上一般理解为a > b (如果你要钻牛角尖,说180多可以是190,100多可以是199,那我就无话可说了),也就是说180多个国家和地区当中,很多是内陆国家和内陆地区,没有自己的港口。所以,报道用词改为

    …天津港已同全球180多个国家和地区,100多个港口建立了贸易往来…

    比较妥当。

  • 如何运用Google Contacts作Mail Merge

    利用Google Contacts作为一种轻量级的Share Contacts Management已经堪称完美。但我对比我们公司日常运作,还没找到一个ACT功能在Google Contacts里的对应操作:如果要对一个或一群Contacts,如何快速地提取他们某些字段,添加到Mail Merge主文档的对应的Field里?

    因为英国人很喜欢hardcopy,这么做是否浪费地球资源,是否环保,在这里先不讨论。Hardcopy 就无法享受群发邮件的方便了,必须另辟蹊径。有什么现成的解决方案?

  • 芳草苑

    一时兴起,调查了一下芳草苑产业。

    1. 第一产业:这个产业最不繁荣
      1. 芳草苑农业。只找到芳草苑香薰SPA,SPA本身不属于农业,暂且假定它用的香薰草出自于芳草苑。
      2. 芳草苑林业。草木是不同的,所以从名字上说,芳草苑林业是不存在的。
      3. 芳草苑渔业。芳草渔村是仅有一个,但芳草渔村也不真正搞芳草苑养殖。芳草渔村是集餐饮、肉鸽养殖、观赏犬培育、旅游及商务接待于一体的综合性度假村,把它归类于服务业更恰当一些。
      4. 芳草苑牧业?这本应是第一产业中相对最为繁荣的行业,黄滔«芳草»诗曰:泽国多芳草,年年长自春。应从屈平后,更苦不归人。看来泽国人都不上网,我无从追查。
    2. 第二产业:行业繁荣度差距最大
      1. 芳草苑工业。确切地说,没有芳草苑工业,但江西中烟工业公司的员工天地叫芳草苑,大概烟草也是芳草吧。
      2. 芳草苑建筑业。那就遍地开花了,有上海芳草苑、北京芳草苑、宁波藕池芳草苑、广州芳草园、成都芳草苑等。
    3. 第三产业:欣欣向荣
      1. 芳草苑博客业。我算一个,还有成千上百个。
      2. 芳草苑流通业。前面提及的芳草渔村、芳草苑香薰SPA应该归入此类,另外众多的芳草苑商店,如青青芳草苑。
      3. 芳草苑服务业。杭州芳草苑宾馆、北京芳草苑国际青年旅舍等。
      4. 芳草苑福利业。芳草苑小学算一个,既然有小学,估计也有芳草苑幼儿园。
      5. 芳草苑公共事业,包括国家机关、政党机关、社会团体,以及军队和警察部门等,不会有以芳草苑命名的吧?
  • Outlook Express强于Outlook之处

    很久以前就有人说过,如果只是用来收发邮件,Outlook Express足以。

    但Outlook Express和Outlook,从名称上总给我感觉Outlook Express是Outlook的缩水版,即使是邮件方面,只有Outlook能做到而Outlook Express做不到的,没有Outlook Express能做到而Outlook做不到的。

    但经过一段时间的“Outlook”以后,我深刻体会到前人说的话是对的。先不提Outlook Express的稳定性,我就发现一个Outlook Express能做到而Outlook做不到的邮件功能:

    以IMAP协议访问邮箱时,发送邮件后,Outlook Express能把邮件deliver到自己邮箱的已发送邮件( Or, Sent Mail, whatever they call it),而Outlook仅保留在本地的已发送邮件文件夹。这样,IMAP协议的优势在Outlook就没有得到充分体现。

  • 乱码

    乱码的英文garbled。惭愧,一直跟着词霸说messy code,听得英国人越来越messy。

  • SPV M600 Setup GPS Step by Step

    硬件是Orange SPV M600手机和Holox BT-321 GPS信号接收器,软件是TomTom 5.1。都已经是很成熟的产品了,所以不太会有不能安装的问题。只是中间可能的选项太多,不停地试,总会成功的。我记下这篇,希望大家一次设置成功。

    首先是TomTom软件的安装,这好像没什么可选项,略过。然后装地图,不存在大家议论众多的把卡改名为SD Card才能找到地图的问题,而且SPV M600把卡命名为Storage Card,也无法改名。关键是把地图Copy在Storage Card根目录,地图目录本身可以随便命名,TomTom会把根目录下第一级目录都找一遍,所以,地图就出来了。还有人说到创建一个神奇目录2577,我看也没必要,至少SPV M600不需要。

    然后作SPV M600和Holox BT-321之间的蓝牙配对,Holox BT-321的passkey是0000。Holox 这玩意的出处十有八九是ebay,documentation做得不好,我想至少一个在产品背面贴个条:Default passkey is 0000。不过既然是个弱密码,大家十有八九也是先从0000猜起。为了节省地球资源,Holox不做documentation也是可以理解的。

    配对后创建一个Outgoing Com Port,比如设为Com 7,secure connection倒不重要。TomTom里的Show GPS Status设置选Other Bluetooth GPS,然后让GPS is connected to的选择为Com 7,就能找到Holox BT-321。有人说TomTom 5有个bug,哪怕你是在用Bluetooth GPS,选Other Bluetooth GPS反而找不到,要选Other Cable NMEA GPS,我看也是无稽之谈。

  • Gmail vs Hotmail

    Gmail 与 Hotmail 哪个好?这个答案不用我说,地球人都应该知道。反正,我不用Hotmail已经很多年。

    今天又回到这个问题上,是因为有人要我用一个简单的方式查看并处理不同邮箱里的信件。我能想到的最佳答案就是用google email app,在一个自定义domain的Gmail上再添加其他邮箱进Gmail帐户。一切都很顺利除了Hotmail。

    Hotmail既不支持pop3,也不支持转发,我实在没办法集成到Gmail。只好留Hotmail单独在外。

    Hotmail从来不支持免费pop3,更别说imap了。专属hotmail的http只能在outlook/outlook express下使用,其他地方要想连接hotmail只能通过连接件,如outlook connector。有标准的pop3协议不用,还用专门的连接件?我很反感这种限制用户达到保持用户目的的做法,这样只会使我离得更远。我很庆幸及早地跳离hotmail,但仍有少量朋友不知道我有hotmail id但不用hotmail邮箱,所以我后悔当初干嘛申请hotmail id?!