Blog

  • 如何运用Google Contacts作Mail Merge

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

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

  • 在Fedora上安装mcrypt

    最近我为了让Godaddy的服务器支持magento,就要装mcrypt module,顺便也可以了却phpmyadmin登录时的一段warning message。

    Linux 的大虾们别笑话我,这么点小事让我忙乎了半天。对我来说,Windows下很简单的问题,Linux下就不简单。Linux命令我只能依样画瓢,很少能举一反三。Linux有不同版本,我的Godaddy Server装的是Fedora,好不容易找到一份明确适用于Fedora的mcrypt安装步骤。当然知道了步骤,操作起来是相当简单的。

    1. At the terminal, su root – you are now going to yum, not ./configure, make, and make install…
    2. yum install mcrypt – this will get you libmcrypt, mhash, and mcrypt
    3. yum install php-mcrypt – this will get you the functionality within PHP
  • favicon.ico in IE

    IE is a nightmare – 我对此体会越来越深刻。

    想让自己的网站容易识别,就得从很多方面下功夫。个性化的,或与logo相配的favicon.ico就是要做的一件事情。如何让自己制作的favicon.ico在地址栏里显示出来,这点小事在Firefox下就是a piece of cake,在IE里我一直是忽视的,当我想起要重视的时候,为此整整折腾了一个晚上。所以我说IE is a nightmare。

    首先,favicon.ico必须是标准的icon文件。之所以这么说,是因为有人说把favicon.bmp,或favicon.gif,或favicon.jpg格式保存的文件改名成favicon.ico就可以了,其实这样改名来的favicon.ico在Firefox下是能显示的,如果有人喜欢看重结果,不追求过程的话,Firefox下让favicon.ico出现的结果已经达到。但改名来的favicon.ico并不是真正的ico格式,IE是不认可的。对于这一点,错不在IE。我是追求完美的,要做就做一个正宗格式的favicon.ico,32 x 32 或 16 x 16都可以,我喜欢32 x 32,因为我没有ebay那么高水平,16 x 16还能尽显细节。

    尽管有了标准格式的favicon.ico,能否在IE下显示还受很多因素制约。总的来说,我的感觉是,我按W3C标准出牌,但IE不按标准接牌,为兼顾到IE用户,我要付出成倍的时间。当然,我以外还有很多人,IE浪费了很多人宝贵的时间。好了,不发牢骚,让我总结一下IE下的制约因素。

    1. 虽说把favicon.ico放在网站的document root下就可以,但html里要有
      <link rel=“shortcut icon” type=“image/x-icon” href=“/favicon.ico” />
      更保险。我发现google等几个站点都没有这一条语句,但它们的favicon.ico在IE里的显示成功率还是很高,对此我百思不得其解。
    2. href绝对不能带域名,例如,不能写成
      <link rel=“shortcut icon” type=“image/x-icon” href=“http://example.com/favicon.ico” />
    3. 如果更新了favicon.ico,一定要清除cache才能看到更新,否则,无论怎么刷新都是不会更新的favicon.ico。
    4. 清除了cache,还得关闭IE,否则,你还是看不到更新。
    5. IE在清空cache后第一次运行,访问任何网站,你都无法看到它们的favicon.ico。
    6. 清空cache后,让IE运行一次,随便访问一个网站,让cache里留下点东西,关闭IE,再打开IE,然后你才可以看到更新后的favicon.ico。

    复杂吧,我搞得头都大了,才总结出这么点经验,不保证在你的机子上IE也是按这个“规律”运行的。因为,你知道的,IE是反常规出牌的。

    以上说的还是较新版本IE7,至于IE6,我劝你还是断了让favicon.ico在IE6的地址栏出现的念头。因为,你不光要符合以上条件,你还得让你的用户把你的网站收藏为favorite,IE6在访问被收藏的网站时,才会显示favicon.ico (这大概是favicon的由来?)。我很少收藏别人的网站,所以我就没指望别人来收藏我的网站。

  • Block Ad By Hosts

    Internet上充满了垃圾广告,更有一些phishing广告。今天我发现有个细心的人整理了一份广告商所使用的域名清单,把它添加到hosts文件里,就不怕来自这些域名的广告在你屏幕上蹦出来了。只是:

    • Google Adsense 的广告也在打击范围之内,而我对Google的文字广告并不反感;
    • 我浏览的网站中,中文广告占很大比例,质量普遍不高,这份清单便宜了中文的广告商,对中文用户有欠照顾。

    这个方法很简单,难得的是有心人在整理,大家就坐享其成了。因为全部是指向localhost,所以就算有心人判断失误,也不会有什么危害,更不会有DNS劫持发生。

    # This Hosts file has been altered to block ad servers.
    # To restore the file just
    # delete everything below the first entry or rename hosts.nbk
    # to hosts and move it to the proper directory.
    # Updated: scroll down for date stamp
    # This is an ad blocking hosts file compiled by
    # Mike Skallas (user245 (at) hotmail.com)
    # Available at http://everythingisnt.com/hosts.html
    # Copyright 1999-2007. Please do not redistribute, use above link.
    # Free only for Residential/Non-Profit use.
    # Just add ‘127.0.0.1 ADSERVER’ to the bottom to continue the list.

    因为列表很长,竟然超过WordPress Post字数限制,直接post需要修改”wp-includes/default-filters.php” file,

    commenting

    //add_filter(‘the_content’, ‘wpautop’);

    这么做还不知道对WordPress有什么副作用。还是做一个单独的文件让大家下载吧,hosts.

  • Magento修改了ZF源码

    Magento出了1.1,看上去好多了(之所以这么说,是因为我还没怎么用)。但有一点不值得赞赏:Magento更正了Zend Framework Currency的一个bug,是直接改了Currency.php。但是我的ZF外挂在Magento外面跟其他应用共享,Magento自带的ZF被我删掉了。我看了看ZF最新版,并未涉及Currency.php的改动,可能这个fix不重要吧。

  • Photoshop时最懊恼的事情

    在PS里修改选区,一会要添加到选区,一会要从选区里减去。当一个很复杂的从选区里减去完成时,放开鼠标按钮和键盘按键后,突然发现,原来按住了Shift键, 而不是Alt键…

  • Easynet Is Not Easy

    公司里用 Easynet ADSL 很多年了。平心而论,很稳定(Business Boardband,稳定也是应该的嘛)。

    我就是嫌速度不够快,下行0.5Mbps,上行0.25Mbps,这年头谁还用这种速度的宽带啊。于是问Easynet要求升级,结果Easynet开了天价。无奈,专投BT Business Broadband门下,下行up to 8Mpbs(我们的线路不好,实测只能达到2Mbps略多),上行0.5Mbps,花钱还比升级前的Easynet Business Broadband少。

    Easynet要求3个月cancellation notice。于是我从3月份就给了第一次notice by email。之后差不多每半个月我电话追踪,Easynet 客服总说没找到我发的notice,于是我一遍遍重发。终于有一次他们承认收到notice了。唯一让我稍感满意的是:3个月notice的起始日还是从我的第一次notice那天算,竟然他们认为没收到。

    一场拉锯战啊。

  • 芳草苑

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

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

    早在Gmail还需要邀请才能加入那年代,我认为Gmail在hype,没去用。后来,Google App方式的Gmail才让人觉得实在,用到现在满意度99.99%,尽管Gmail的行为比较怪,邮件往往出现在未曾预期的地方。比如,发出去的邮件不在Sent Mail里,反而在Inbox。但Gmail对邮件位置的调整99%以上都是更合理的调整,所以我一直也没关心Gmail到底是怎么组织我的邮件的。

    最近读到Hacking Gmail,所以,我回头仔细阅读了Gmail的帮助文档。有一大发现是Gmail里没有文件夹,而是使用labels系统来tag邮件。Google认为labels有三个优势:

    • A conversation can have more than one label.
    • A conversation can be in several locations (Inbox, All Mail, Sent Mail, etc.) at once, making it easier to find later.
    • You can search conversations by label.

    这一说就让我跟上Gmail的思维了。Labels系统也是管理conversations必然的要求。在Sent Mail里找不到已发送邮件也变得可以理解。

    Gmail的Imap也是很独特,Google自称Gimap;Gmail的删除分两种 – delete 和 archive。当Gimap和删除结合在一起时,初看会很怪,慢慢地我才看懂Gmail的思维。

    在Gmail 的web interface里,我们会看到两种删除模式,delete把邮件移到Trash (或者说打上Trash标签) ,邮件可以在Trash里暂留30天;archive把邮件打上“空白”标签,邮件只能在All Mail里找到,在邮箱系统的某个地方还可以暂留6年。

    通 过Gimap访问Gmail,imap delete并不是google delete,而是google特有的archive。所以,要在imap里删除邮件,邮件立马从当前文件夹消失了,而不是打上删除线。同理,要在 imap里彻底删除邮件(purge)也是不可能的。要用imap实现google delete,只能用拖动邮件到Trash的办法。

    Archived 邮件现在只能通过All Mail访问,我还未找到专门显示archived邮件的办法,这使得一次性彻底删除所有archived邮件变得非常麻烦。考虑到archived邮件 没有标签,我尝试过用“-label:label1 -label:label2 -label:label3 … -in:inbox -in:trash -in:spam” search mail,但不成功。

  • 用Gmail做企业级的Contact Share Management

    我用Gmail里的Google Contact作个人级的Contact Management,迄今感觉很好。

    如果是企业级的Contact Management,其中一个关键性的要求是Contact Share。我们公司用Act!,Act!在我眼里一无是处,又贵又慢又不好用。升级版的Act!可能会好一些,但实在没必要做这个投资。老板的想法基本跟我保持一致,不过他主要是从省钱的角度考虑。

    想在企业级的Contact Management软件投资方面省钱到底?关于轻量级的企业Contact Share Management,我有个不是很成熟的想法:利用架构在Google App上的Gmail来做。

    我们来看看Gmail是否能达到Contact Share的要求:

    首先是联系人信息共享,这个Google App已经考虑到了,只要在Manage this domain的User accounts里Enable contact sharing即可。

    其次是联系人活动共享,也就是查询联系人的来信和去信,不管哪个同事是联系人的客户经理。Gmail有个独到之处——按Conversation归类email(还有chat,如果有的话)。这使得按联系人进行活动查询变得可能。至于同事之间的来信和去信共享的问题,可以通过设立一个公共邮箱,配合pop from other account (maximum 5) 和send mail as功能,各位同事仍可个性化的收发邮件,但只要大家遵守一定的规则,共享邮件也不是问题。当然,活动不仅是邮件往来。Hacking Gmail一书里讲到可以用Gmail来make note, record to-do, etc. I think those workarounds can basically cover activities.

    但,Gmail无法设置在个别同事之间Share Contact,留给我的升级余地很小。同事间的共享活动应该遵守一套什么规则才能保证信息共享?我还没静下心来想。如何跟ERP集成?我也没底。所以以上命题只是我不成熟的想法。