Author: 芳草苑主

  • I can’t find a way to group releted transactions in PayPal history download

    I have tried all formats of PayPal Download History, and found “Comma Delimited – All Activity” is the most comprehensive one. I send it as an attachment for your review. My problem with this history is – every transaction has a different Transaction ID, it is not give me enough information to group related transactions. Basically, it is missing a column Parent Transation ID (or call it Related Transaction ID, whatever).

    Some virtual terminal transactions have an update transaction, some don’t (depends on whether AVS matches). I can’t use any ID number to trace a update transaction back to its parent transaction ID, so I might calculate one transaction twice.

    PayPal should improve its data download format. At least, it should provide an extra column of “Parent Transaction ID” (indicate its parent transaction if any), or “Unique Tranaction ID” (all related transactions have a unique transaction ID) for me to group related transactions.

  • Zend PHP Server is out

    事情总是很凑巧,这两天我在找 PHP Application Server,没找到理想的——

    1. Phplens 虽然有我想要的功能,但做得太粗糙,而且不免费(免费的只支持30条记录,毫无用处)。
    2. Zend Platform 高不可攀。
    3. Phpappl 虽然免费,好多年前停止更新,不敢用。

    今天 Zend 告诉我说,PHP Server 发布了(虽然还是测试版)。看来同我一样有这种需求的用户不少,被 Zend 盯上了。但各人对 application server 理解略有不同,不晓得 Zend PHP Server 是不是就是我想要的 PHP Application Server,得抽空试用一下。

  • Release on demand: new idea for courier service

    On some ocassion, we need some kind service of “release on demand”. Courier service provider should think of offering it as a value added service.

    The scenario is – We have some customers are desparate for some products, but they can not pay the money up front. It is understandable. There may be a problem with their card issuer at the time they place an order. If customer need the products the next day, we must dispatch one day earlier before they can sort out the payment problem. Most customers have good history – if they say they will pay, they will pay. We do not want to lose those customers. The best solution would be we dispatch the order once we receive the order, then the order is with the courier, and the courier must hold the order for us until we advise them to release the order. That saves time on route.

    Will any courier be thinking of launching this new service?

  • So many bugs in ispconfig

    ispconfig 可以做 hosting account management,但给我的感觉是打磨得不够精致。如果把它应用到生产环境,如果不怕客户抱怨,如果喜欢捉虫游戏,那倒可以用 ispconfig,毕竟免费的嘛,我看功能跟 isp 自己开发的 control panel 差不多(如 godaddy 的 turbo panel)。我感觉 ispconfig 还无法跟 cPanel, plesk 相抗衡,用在开发环境还凑合。

    凭我的肉眼,我就发现了以下几个说大不大,说小不小的毛病。

    按 ispconfig installation on Fedora documentation 一步步安装完毕以后,其实并没有安装 mod_fastcgi 或 mod_fcgid (暂且算是 documentation 失误吧),但控制面板里已经可以选择 php 模式为 fastcgi。我只好自己摸索着装 mod_fcgid。

    但未装 mod_fcgid 倒没有问题,装好 mod_fcgid 重启 apache 反而会出错。因为 ispconfig.conf 里预设的 <IfModule mod_fcgid.c> 生效了,而里面一条 FCGIWrapper /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter .php 会出错。原因是 /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter 不存在,又得自己动手制作一个。

    另外一个问题是,新建第二个站点时,ispconfig 不会自动添加 namevirtualhost directive,导致 apache 启动时会有一个 warn message,但不致命。

    综 上,ispconfig 对 conf 文件生成和管理得不是很好,而 ispconfig 本身也是基于 apache 的 conf 来配置的,所以 ispconfig 一不小心就搞砸了,连 apache 都启动不起来,连更正的机会都没有了。用着 ispconfig,还得时刻准备着 ssh 手动去更正搞砸了的 conf 文件。

  • Do it inhouse

    技术方面,我喜欢亲力亲为,另一方面,我还没有资源可以让我不亲力亲为。

    我曾分析过 outsourcing seo 服务的弊端,here is another negative case of outsourcing email marketing.

    I received a newsletter from Tesco today, and happened to click on one of the embedded links. (I am not a newsletter reading fan. I seldom click on embedded links.)

    I got a “404 Not Found” error when I natigated to that url. After a few seconds, I became aware Tesco link tracking system is hosted on http://ad.doubleclick.net/, which is on my black list. I assume Tesco have a third party doing email marketing for them, otherwise Tesco on their own have no reason to use ad.doubleclick.net as a click tracking provider.

  • Google sandbox applied to my company’s site

    每次更换域名都是一次痛苦的经历,但没办法,业务需要我的公司又更换了新域名。

    原域名在一个主要关键词 google 排名第5(不算很好,勉强凑合),更换后排名第9。这样排了一个月左右,然后突然消失,不过一个星期以后就回来了,还是第9。不过过了一个多月,又消失了(用工具查了一下,准确地说,是被埋在416位)。

    第二次消失的时间比较长,差不多三个星期。期间我们查了各种被 google 惩罚的可能,最后确定我们没做错事,最大的可能是进入了传说中的 google sandbox。于是一方面保持耐心等待,一方面该做的优化继续做。今天早上排名回来了,第5。

    我这下对 google sandbox 有很更深的体验。

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

  • The Consumer Credit Act cover full expenditure

    经济危机袭来,本来我不关心的事情如今却在身边发生。今天又学到一个保护自己的办法:尽量用信用卡消费。

    案例是某人从 mfi 订购了一个整体厨房,她用支票付了订金,后用信用卡付了余额。mfi 没能交货就倒闭了,她问她怎么把钱拿回来,可以拿回多少。答案是根据 The Consumer Credit Act,可以从信用卡公司 claim full amount,即使用支票付了大部分而用信用卡付了£1,同样可以从信用卡公司申请全额赔款。

    我不由感慨,在英国,消费者的权益保护到了极致。

  • Argos sent me two head boards of a bed

    我从 Argos 订购了一张木床,奢侈了一回。可是今天 Argos 送货来,发现其中有两块床头板,竟然没有床尾板!

    床是可以装配起来的,但看起来怪怪的。当初可是看中它漂亮的床尾板才买的,于是我越想越不服气,给 Argos customer serivce 写了封信,考验一下他们的售后服务。

    Hi,

    I received my order today. Thank you very much.

    However, it does NOT match the photo and the description of the product on your website. Your photo shows the foot board very nice, and description says “Features foot board with rail end”, but in the pack I received, there are only two head boards (no foot board). Although I can assemble one head board as foot board, the bed looks strange.

    I would like to know it is an error in your fulfillment or an error of mis-describing your product on the website. Many thanks for your help.

  • 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,不存在“鸡蛋”问题。