Author: 芳草苑主

  • Add Google as a search provider in IE

    Microsoft IE made adding Google as a search provier extremely difficult. Google is removed from the search providers list – just because Google is too good to be a search provider?

    For anyone wants to search with Google in IE, add Google UK as a search provider by visiting this link http://www.iegallery.com/gb/addons/detail.aspx?id=13438.

  • Like WordPress, Dislike Cisco

    WordPress 升 3.3了,感觉更清新了。好喜欢。

    Cisco 本是不相干的一件事,为了省事,我放一块说了。两年前买了 Cisco WVC210 wireless IP camera,当时市价 £150左右,我买的是样机,£90。买了之后玩了两天就成了摆设,因为它距离路由器10米的地方隔两堵墙就不工作了。

    最近为 hotel 买了几个 Xenta Wireless Night and Day Wireless IP Network Camera,£50不到,超级满意。我本不太敢买 Xenta 的产品,因为没有这个牌子的使用经验,事实证明我的顾虑是多余的。

    跟 Cisco WVC210 wireless IP camera 相比好在哪?

    • 首先,Xenta 有红线成像而 Cisco 没有;
    • 其次,Xenta 内置喇叭而 Cisco 没有;
    • 再次,Xenta pan & tilt 时静悄悄的而 Cisco 有吱吱声;
    • 最后,Xenta 物美价实,而 Cisco 卖了两年还在卖 £150。
  • Item advertised for less than £18 does not have VAT in Jersey

    我原来仅知道在英国做生意,年营业额到了 £61,000 必须注册 VAT。所以,象 play.com 这样的大网店我认为它是注有 VAT 的。但我在 play.com 买了两个黑色墨盒(Kodak 30XL)和一个彩色墨盒(Kodak 30C),在 shopping cart 页面找不到任何 inc VAT or ex VAT 的价格提示,于是打电话给 play.com customer support。

    I said, “I want to buy some cartridges. Are your price including VAT or excluding VAT?”

    The lady answered, “Yes, including VAT.”

    然后我就买了。买了发现 play.com 没给 VAT receipt(确切地说,没给任何收条,也下载不到)。这回我写信去索要 VAT receipt,结果收到回信说:Item advertised for less than £18 does not have VAT in Jersey.

    这下我要批评起先的电话客服小姐提供错误信息,是业务不精还是故意的?没办法深究了,口说无凭。

    但是,不得不佩服 play.com 挖空心思去避开 VAT:

    首先,Jersey 是个小岛,在 Jersey 经营业务无疑会增加物流成本和其他费用,但 play.com 可以用规模经济来降低这些成本。

    其次,每个墨盒都小于 £18,但三个墨盒在 £30 左右。play.com 发给我的 order confirmation 中为每个墨盒分配了一个 order number。当时我就很奇怪——硬生生拆成三个订单干什么?现在想来,觉得这是在规避 item less than £18 在法律上的歧义。

    再次,单个墨盒都是 free delivery,当时我仅感觉实惠。现在想来,觉得这是为小额商品 no VAT, free delivery 精心设计的低价竞争手段。

    但话说回来,play.com no VAT 的销售对我注有 VAT 的买家来说没有吸引力,其它卖家的 ex VAT price 跟它差不多。反而,我被 play.com 的小伎俩搞得有点懊恼。电话客服小姐不专业、receipt 不能下载是 play.com 的致命伤。

  • Chinese interface in Android

    我不愿意用刷中文 ROM 的方法把手机的界面变为中文。

    我看到这里苹果店的手机都能在设置里调出中文界面,觉得 Android 手机更应该内置了全球语言包。大部分英国卖的 Android 手机看不到中文语言这个选项,是网络提供商把它隐藏起来了。基于这个推理,我 Google 了好久,终于发现在 Market 里搜索 Custom Locale 就能找到若干应用,随便选装一个就能把隐藏的中文调出来。

    随后,我又发现,Android OS 本身已100%国际化,如 Map, Market, Navigation 这些程序都能显示中文。但一些手机厂商自己开发的程序,如拨电话、发短信的程序并没有中文包,比如我的 Samsung Galaxy S2 就没有这样的语言包,所以这些程序在 zh_CN locale 下只能显示英文。

    HTC 在这方面就有独到的优势,毕竟是中国人的公司,它开发的程序一般都照顾到了中文。我买过一个 HTC Wildfire 手机,在 zh_CN locale 时完美汉化,根本不用刷 ROM。

  • Windows XP cannot acquire a valid IP address from DHCP server

    最近碰到一台 Windows XP 无法获得 DHCP 服务器分配的 IP 地址,但若指定 IP 地址则能上网 。辗转好久才找到解决办法:

    首先检查 Services 里 DHCP Client 是否启动;

    其次试着运行 netsh winsock reset /catalog ——我也不清楚这干嘛用的。

    最后重启一下 Windows XP 就能获得 DHCP 服务器分配的地址。

  • Best practices of merging multiple Gmail accounts

    工作需要对外使用多个邮箱,但阅读邮件时又不希望登录多个邮箱,而是希望在单一邮箱里查看和回复邮件。现以在邮箱A查看和回复来自邮箱B的邮件为例讲解设置。

    首先,登录邮箱B,在 Mail settings >> Filters 里 Create a new filter,在 “Doesn’t have” 一栏里填入长串不可能用到的乱字符,如 “J6dPFVFwnCsSBezVfSqRY5JTLNL567Ef”,然后点 “Next step”,选中 “Never send it to Spam“,最后点 “Create Filter”。这避免一些重要邮件被误判为 Spam,留在了邮箱B,不登录就查看不到,会误事。接着,还是在  Mail settings >> Forwarding and POP/IMAP 里 Add a forwarding address,填入邮箱A,follow instructions,不详述。

    然后,登录邮箱A,在 Mail settings >> Accounts >> Send mail as 里 Add another email address you own,填入 Name:whatever 和 Email address:邮箱B,然后点 “Next step”,选中 “Send through 邮箱B SMTP servers”,按 Gmail SMTP 配置去填写 SMTP Server, Username 和 Password,最后点 “Add Account“。

    大功告成。多罗嗦一句,不用邮箱A去POP邮箱B的方法来合并邮件是因为 Gmail 最多允许 POP 5个 accounts,无法合并6个以上邮箱;而且 POP 收取邮件没有从邮箱A转发过来即时。

  • 小美再加一个字

    女儿上学回家跟我说,老师这么称呼她:小美再加一个字
    ——人。

    然后作羞涩状。

  • Magento can edit order address since 1.5

    Magento 1.5 以后就允许修改订单地址了,Plieninger_Editable module 就没必要存在了,留着它反而会出错。

    当年想找一个修改订单地址的方案,就找到了 Plieninger_Editable,一用就用了一年。虽然一直不满意它的界面,一直想自己写一个,但一直忙于其他事务。现在跟它说 bye bye,还是很感谢它的。

  • php is_numeric

    某些 php 函数的返回值毫无规律可循。比如

    is_numeric("123")
    

    返回 true;

    is_numeric(" 123")
    

    (前导空格)返回 true;而

    is_numeric("123 ")
    

    (后导空格)返回 false。

    php 有灵活的语法,但每遇这种情况,我总是羡慕其他语言的严谨。

  • Change Magento configurable product to take associated products tax class

    Where and how to change the code?

    At first, I thought overriding Mage_Catalog_Model_Product_Type_Configurable::getOrderOptions().
    Original code

    $options['product_calculations'] = self::CALCULATE_PARENT;
    

    change to

    $options['product_calculations'] = self::CALCULATE_CHILD;
    

    However, it does not work.

    Then I tried to observe the event tax_rate_data_fetch and modify the rateRequest object. But inside rateRequest there is no reference to quoteItem. Only product tax_class_id is there. In the observer class, I do not know when to modify it without reference to quoteItem.

    At last, I had to modify the code in class Mage_Tax_Model_Sales_Total_Quote_Tax. There are several places to change depends on System Configuration. Change where is appropriate.
    Original code

    $taxRateRequest->setProductClassId($item->getProduct()->getTaxClassId());
    

    change to

    if ($item->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
    	$child = current($item->getChildren());
    	$taxRateRequest->setProductClassId($child->getProduct()->getTaxClassId());
    }
    else {
    	$taxRateRequest->setProductClassId($item->getProduct()->getTaxClassId());
    }
    

    It is not a neat approach. Let me know if you have a better idea.