Author: 芳草苑主

  • Does Google prefer sites using xml + xlst?

    I came across a good site today which is generating web pages using xml plus xlst. And an idea came cross my mind – does Google prefer sites using xml + xlst? i.e. suppose the transformed xhtml contents are all the same, is xml + xlst technology gain more SEO weight than xhtml?

    I asked myself the question, and assumed the answer is postive. Bearing in mind xml + xlst technology makes cloaking much easier, but Google must have some technology to anti-cloaking in the long term.

    However, after I have searched Google, the expects who answered the question with No.

    Really?

  • Magento speed optimisation

    诚然,我接触Magento时间不短了,但直到最近才开始研究Magento的速度,因为我的一个Magento项目已经上马了。

    通常Magento要比Zencart, osCommerce, VirtueMart for Joomla跑得慢,但这个没有吓退我。我坚信Magento是我的方向,是因为Magento的ecommerce功能是其它软件望尘莫及的,况且我拥有让Magento加速的硬件资源。(这世界上没有什么是最好的,适合自己的就是最好的)。

    我认为选择Magento,首先得有一台独立服务器。虽然我曾成功地在shared hosting环境里运行了Magento,但一个没有速度优化潜力的Magento,就算能跑,又有什么用?Magento内置了很多SEO特性,但如果页面loading time过长,Google也不会喜欢。VPS理论上也能为Magento做速度优化,但一台入门级的独立服务器与一台高性能的VPS价格相当,我会选择前者,以确保所有的优化可能。

    其次得有1G以上内存,CPU差一点没关系,因为Magento的速度瓶颈在硬盘,优化手法中很多就用内存代替硬盘。

    有了以上两个硬件资源,剩下的就是进行一些软件环境设置。

    首先,得是Linux环境。我不是说Magento在Windows下跑不起来,我是说网上大部分建议都是针对Linux提的,除非你有一个Microsoft专家在你旁边,每当你给他一个Linux配置文件,他能为你写一个Windows下的对应文件。

    其次,给MySQL Server分配更多的内存。

    再次,启用Cache。Cache分三种,一是Magento data cache,Magento系统菜单的Cache Management指的就是这个,默认已经启用。据我观察,data cache单独使用时,对速度提升没多大帮助。二是Linux in-memory file cache,把magento/var/cache指到或软连接到tmpfs。三是php byte cache,开源世界里主要有三种选择,php APC, eAccelerator, xCache。孰优孰劣尚无定论,我看了一些测试结果,我的结论是:小访问量时选php APC,访问量达到负载容量50%以上的选xCache,Magento的开发小组说eAccelerator在处理magento异常时会出错,我就把它剔除了。

    如果以上优化都做过了,速度应该很理想了。经济条件许可的话,买多点内存,搞个SCSI, RAID硬盘,换个四核CPU,我就不信Magento会比谁慢。

  • Pdf zoom print

    好多pdf电子书排版页面为16K,打印在A4纸上边缘空白太多,于是我想把pdf放大107%打印,看上去像针对A4排版的。我找到了三种方案:

    1. 使用adobe的crop tool选中你所要打印的部分,双击打开一个窗口,page range选为all, 单击ok。你就得到一个只有选中部分的pdf文件。

    我试过很好用。

    2. Photoshop: File->Automate->Multiple PDF to PSD. With resulting psd files, you can pretty much do anything with them. Either print them directly, or use ps bacth process to change them to jpgs for further size/resolution adjustments, or even OCR them and convert them back to pdf.

    我试过,不好用。因为photoshop把pdf的每一页都作为单独psd处理,每一页内容或长或短,psd的图像大小不一,再整合成pdf费时费力。

    3. 打开pdf,用distiller打印。不要选shrink oversized paper to paper size;在advanced里改scale的值,直到你满意。

    我没试过,估计可行。

  • A security leak of Godaddy DNS

    It is not only affecting my account. I think it is a security hole for all Godaddy nameserver users. I explain in dettails –

    I have more than one Godaddy account. I manage my domains in account A, and a deluxe linux share hosting with account B. The nameservers of mydomain.com are set up in account A using xxx.domaincontrol.com. mydomain.com has a wildcard A record pointing to my dedicated server. However, in account B, I can add a domain like sub.mydomain.com. Then when I ping sub.mydomain.com, it will ping out 68.178.254.179 or 72.167.232.13 (share hosting server). That means sub.mydomain.com override the wildcard A record in account A. In theory, other Godaddy share hosting user can also hijack anyname.mydomain.com to point to an ip address of theirs.

    It is very scary, isn’t it? I assume Godaddy did not setup DNS infrastructure correctly.

  • Quick access to data for both internet and intranet users

    我曾思考过,也不止一次被人问过:数据中心的数据如何可以被公司员工快速存取?Internet users(客户、供应商、合作伙伴)通常存取单条数据,数据中心与internet users之间的传输速度足够满意;但intranet users(员工)经常存取批量数据,一般的宽带会让intranet users在存取数据时有大量的时滞。

    难道在intranet建数据中心?小公司是负担不起的,最起码ADSL就得撤换成SDSL甚至更快的专线,最低档的SDSL(2M)也比ADSL贵十倍。在专业的数据中心可以以很低的成本实现100M到桌面,如果要不牺牲internet user experience,买条100M的专线,那是天价。

    在成本不上升的情况下,如何让internet和intranet用户同时能快速访问数据?我曾想过Ajax,但觉得Ajax不是好的方案,因为Ajax只能缓解intranet users在等待数据时的焦虑心理,数据传输速度没有得到改善;我还想过分解数据表,把internet users经常用到的数据放在数据中心,把intranet suers经常用到的数据放在本地,但总有一些数据是双方都经常用到的,很难权衡该放在哪一端;而且对于一个现成的系统,分解数据表似乎不太现实。

    今天我很高兴,因为我发现MySQL早就内置了数据同步功能(只是我孤陋寡闻罢了),只要几步简单设置,一个复杂的internet / intranet 矛盾就解决了,幸好我还没有走入Ajax和分解数据表的歧路。

    做事一定要站得高看得远啊,这也是我说“多找软件、用好软件”的初衷。

  • I need more accounting concept

    虽然学过几门会计课,但我还是很缺乏会计知识。我意识到会计在ERP中的重要性越来越突出,看来要恶补会计知识了。

  • Tripod now is free with Ad free

    想要一个免费的 hosting 空间,又不想让空间商在送给你免费空间的同时,顺便在你的网站上插播它的广告?有这等好事?当年我就没找到这等免费的午餐(除非用script的手法去屏蔽空间商的广告)。

    后来有了自由支配的独立服务器,我也不再关心哪里有不带广告的全功能的免费空间。

    最近全球经济危机,我想 Lycos 大概也正为它不大不小的业务挣扎。Lycos 通知我说它要把 hosting 移交给 Strato 了。我还有几个域名是通过 Lycos 注册的,而我对 Strato 又比较感冒,我可不想把域名转移给 Strato,所以我赶紧登录尘封多时的 Lycos 帐号,关注了一下 Lycos 的近况。我想 Lycos 正在分崩离析,Lycos 网站到处是 broken links,大概没人更新了。

    我有一个 Lycos Tripod UK 帐号,该网站原来被广告骚扰,没派什么用场。现在 Lycos 广告服务器 down 掉了,tripod 服务器还在运行,所以可以说, Lycos Tripod 老用户正享受最高程度的免费午餐。可惜,Lycos 已经不开放注册了,控制面板也登录不了,只有 ftp 尚可登录,但还不知它能跑多久。

    我暗自庆幸:Lycos 空间当年是我一个候选方案,但最终投向了 Godaddy 的怀抱。要不然现在,Lycos let me down,而我又不想陷身于 Strato,那可有得我好忙的。

  • W3C markup validator soap interface may be outdated

    我想在一个网站上添加W3C markup xhtml 自动验证功能:如果一个网页通过 xhtml 验证,就会在页脚出现 W3C 设计的一个”valid” Icon;如网页未通过验证则不会出现该标志。

    W3C markup validator 能以 soap 1.2 方式输出验证结果,但无论我在 php SoapClient 里怎么设置传递参数,它总拿不到 validator soap response。W3C 对此 soap interface 也没提供足够的说明文档,我仅知道它不支持 wsdl,我猜想 soap method 应该是 validate 或 check,但猜想归猜想,实际上没有一个能返回我想要结果。

    我想这跟 W3C 声称 soap output 只是个实验型产品有关,soap 以外还有其他方式的 output,难道多年来 soap 受到的关注较少?如果硬要以 soap 方式 得到 validator 的结果,我只能用 PEAR Service W3C HTMLValidator package,但看到这个 package 多年来一直没有更新,它所依赖的 HTTP Request package 已经废弃(Request2 取代之),而 HTTP Request package 所依赖的 Net URL package 也已废弃 (URL2 取代之)。这一连串的废弃让我觉得 Service W3C HTMLValidator 用起来不舒服。

    算了算了,反正我想要的只是一个网页自验证功能,何必用 soap client方式去访问 validator 呢?最后我用 file_get_content()了事。

  • How to get rid of annoying Windows Live ID popup

    不知 Windows update 在我计算机上改了什么,最近发现浏览某些目录时,会跳出烦人的”Sign in With Windows Live ID”窗口。我 google 了一下,此症状的起因不明,但解决办法还是有的,在网上邻居或者 Documents and Settings/(username)/NetHood 里删掉 My website on MSN 就可以了。

    Microsoft 因为审视一下这个问题了,这个”Sign in With Windows Live ID”弹出窗口的手法跟冒牌杀毒软件的病毒何其相似。

  • I’m leaving Aptana

    今天因为要处理一个 wsdl 文件,发现 Aptana 根本不支持。当然我可以下载 WTP plugin for eclipse 来让 Aptana 支持 wsdl,但 plugin for eclipse 的功能能算到 Aptana 头上吗?因为这件事让我重新审视了 Aptana,发现 Aptana 主要卖点是 Jaxer as Ajax server 和 Cloud。我只是想要一个php IDE,这两卖点对我关系都不大。即使日后需要 Ajax server,我想 Jaxer 之外应该会有更好的 alternative。云服务应该是 Aptana 的生财之道,对 Aptana 公司来说,卖服务当然要比卖产品更好,但对用户来说,还是离能避免的交年费、月费服务越远越好。

    Aptana php IDE 应该是 PDT 的改头换面,那么何不回到原装的 PDT?PDT 还是 eclipse 亲出,又有 php 业界老大 Zend 支持,跟着 Zend 走,应该是不会错的。PDT 最近出了 PDT 2.0,Aptana 似乎没有跟上脚步,当然 Aptana 有很多 php 以外的事情要做,我不强求 Aptana 什么,但这已经给我自己足够的理由回到 PDT。

    我用 Aptana 创建了一个存储在 workspace 以外的 php project,Aptana 就在此 project 的根目录创建了 .cache 的子目录。卸了 Aptana,装了 PDT,原位置重建 php project,会提示An internal error occurred during: “Building PHP projects …”. 解决的办法是,删了 .cache(PDT 会重建一个 .cache)。