Use long established business for your hosting

前段时间用了一个名不见经传的公司的 VPS 产品。当时看它性能不错才切换过去,但是它操作极不规范,到期前不催续费,我想主动续费都没有链接可以让我续。突然有一天,它意识到有未收账款,也不通知我付款,就停了我的帐号。然后我付款,重新开通服务。中间中断了大约半天的服务,让我损失惨重——那天以后来自 Google 和 Facebook 的流量突然就下降了。这也让我百思不得其解: 我知道一个网站的 uptime 是很重要的指标,但是,好像影响过头了?以致我怀疑流量下降不是 uptime 的问题,但转折点就在宕机的那一天,是巧合吗? Google 和 Facebook 使用同样的算法? 总之,不正规的公司是绝对不敢用了。离开之前,我自己清空数据,以下一行命令删除 MySQL 里所有的数据库,抄来的,很方便。

BT Infinity speed tests

这两天专注于测试 BT Infinity 访问国内外的网速,有了一个总结性呈辞。 我发现三个较好的测试网站是: http://myspeedmeter.net/:它是众多带宽测速网站中唯一能测到我的 BT Infinite 满速(下行 76Mbps,上行 19Mbps)的网站。但这个测试结果只能在连接它的伦敦服务器时能达到,连接它在世界各地其他区域的服务器时仍有较大差距,可能瓶颈在海底光缆上。 http://openspeedtest.com/:它用的是纯 HTML5 做测试,没有用到 Flash 或 Java。在你的各种插件都已崩溃或临近崩溃的浏览器里(当然要足够新版),或在手机上不想安装 app 就直接测试,都是很好的选择。但如前所述,它无法测得我的满速,可能我的带宽比它服务器的带宽还强。 http://sh.189.cn/support/netreport/:它是中国电信搞的网速测试。如果在中国,对连接国外速度没有信心,也可以先测测国内的速度吧。当然我亲测的话,也是不可能满速的。 至于其他两个名气更响的英国宽带网速测试网站,在我这里不推荐。 http://speedtest.btwholesale.com/:它是 BT 公司嫡出的测试工具,但在测试 BT Infinite 时却无法象 myspeedmeter 那样获得满速的结果。 http://www.broadbandspeedchecker.co.uk/:它在 Google 搜索 broadband speed test 时排名第一,自己也号称 “THE UK’s No.1 Broadband Speed Test”,也是我在 ADSL 时代用得最多的测网速的工具,但它也是无法满速,在 VDSL 时代中没有与时俱进。

Publish on blog or social network?

博客出现在 web 2.0 时代,社交网站算 web 后2.0 时代吧(web 3.0 概念不清,我不好拿来用)。 博客和社交网站的界限模糊,有很多交集,比如博客发展到微博就归入了社交网站。但我这里说的博客,指的是用自主建站的方式,比如用 WordPress  搭建的博客,其他非博客类的 CMS,也可以归入博客范畴;而社交网站,指的是依托第三方的社交平台,通过开设帐号,发布消息。 社交网站诞生多年,我的使用态度一直不积极。我相对较早使用 QQ ,但 QQ 空间至今没有开通;我也没有新浪微博、腾讯微博,更不要说什么人人网之类的;微信也是开通不足半年,还是被没有微信就活不下去的朋友逼着开通的;我也没有 Linkedin,因为它排不上前三;Facebook, Twitter 虽不缺账号,但也懒于维护;唯一用得比较多的 G+,那也是因为我是 Google 的粉丝,Google 想要在社交网站有所建树,我友情支持。 我通常对新生事物都是积极尝新的,为什么不喜欢社交网站?我也不懂自己,勉强找了两点理由: 大部分人在社交网站发的贴没有深度,无非是“今天的大餐好好吃”、“我在公车上看到有人打架”,这些内容当时有人围观,过了一周、一月或一年,没人会关心你那时吃了什么、看了什么,连你自己也记不起来。 转贴太方便,个个都是新闻发言人,很多都是以讹传讹,即使是真实的也没有出处可循。转来转去,互联网信息急剧膨胀,原创比例急剧萎缩。 但从商业角度看,不占领社交网站,就会失去和潜在用户联系的机会。怎么合理安排时间和精力维护这么多的社交网站?我草拟了一套方案: 博客为主,社交网站为辅。就是说一定要有自己的博客,然后在时间和精力有盈余时,兼顾尽可能多的社交网站。 内容只发布在博客上,社交网站只转其标题和链接。在内容有错别字或需要更新时,只要更新博客一处即可。虽然有很多工具可以自动同步多个社交网站的内容发布,但是我还没发现一款工具能做同步更新。如果要手动更新各个社交网站,工作量是很大的。而且是重复劳动,我最痛恨。把原创内容直接发布在社交网站上,从 SEO 角度看,是在给他人做嫁衣。 博客要做一些社交网站做不到的事,比如说文章的分类整理、参数查询等等,方便用户记住你的博客,而不仅是你的社交网站的账号。当然你也可以放些广告,赚取额外收益,而在社交网站上这部分收益就不会归你了。 博客要装有分享插件。服务端的分享插件在你发布新贴时,同步标题和链接到你的多个社交网站的账号;客户端的分享插件让用户在浏览帖子时,分享到他常用的社交网站的账号。WordPress 的社交插件有不少,但面面俱到、用起来得心应手的,我还没找到。你若有,别忘了分享给我。

Manage gallery image with customised URL in Magento

Magento 后台对产品图片的管理操作非常简单,直接在浏览器里从本地上传,然后指定哪个作大图(image)、哪个作小图(small image)、哪个作缩略图(thumbnail)。这种傻瓜式的操作有三大缺点: 不适合大批量图片的管理; 图片上传后图片的存放位置乱序,不方便远程文件管理。(abc.jpg 上传后被存放在 /media/catalog/product/a/b/abc.jpg。如果之前已经有同名文件,新上传的文件自动更名为abc_1.jpg, abc_2.jpg,以此类推。) 搜索引擎会从图片的 URL 里获取图片的部分信息,杂乱的 URL 不利于图片 SEO。 我认为最理想的图片管理模式是:在本地按产品分类分级维护一个图片库,用 FTP 上传到服务器,在 Magento 后台可以浏览这些文件(对 Magento 来说是本地文件),然后为某个产品选定它的大图、小图和缩略图。这样 Magento 里保存的图片位置信息就保持了自定义的产品分类信息。 Magento 的自动缩放图功能很好用,但自动缩放图生成的文件 URL 又臭又长,肯定不利于 SEO,而且服务器硬盘上留下一大堆乱序规则生成的文件夹,实在难看(有种屋子没打扫的感觉)。鉴于一个优质的电子商务网站本应该对整站的图片大小有统一的规范,不妨在本地制作好小图和缩略图,不依赖 Magento 的自动缩放图功能。 好多年前我就想做个 Magento module 来优化 Magento 的图片管理,但事务繁忙,也不知道什么时候能静下心写代码。与其让听众苦等我的 module,不如我介绍一下 Magento 数据库中 gallery 的结构,让大家懂得直接操作数据库去搭 product 和 local images 之间的桥。 首先做两个准备工作。 一是查好每个产品的 ID 备用。如果人可以 SKU 识别产品,那就准备一张 SKU – ID… Continue reading Manage gallery image with customised URL in Magento

What is web 2.0?

Web 2.0 这个名词都出来好多年了。它还是新鲜名词的时候,我买了本书 Web 2.0 strategy guide,太深奥,扔在那里没看。还已有人嚷嚷着 web 3.0,我现在再来讨论“什么是 Web 2.0”似乎有点过时。 迟了这么多年谈这个,跟我不是搞理论的有关。我倒不是说理论不重要,恰恰相反,理论很重要。我总结不出理论,只能关心我要怎么做才能 web 2.0。当然了,名词也不重要,2.0、3.0 当然就更不重要了,就说怎么做一个好网站吧。 话题的起因是今天看到一个论坛帖:几月几日某地到某地回程空车,找想搭车的。那个论坛纯属杂谈,突然冒出这个让我有点想笑,转念一想其实没什么好笑的——我22号要去 Heathrow 接老婆,也可以找搭车出程的。但我不屑于在那论坛上发帖,一是不看好那坛的人气,二是都 web 2.0 了,肯定有更好的办法。于是调查了一下,果然有,叫 liftshare。 唉,我怎么早先没想到呢?几年的独自上下班本来也可以 share 的嘛。唉,这年头只有想不到,没有做不到的。唉,题外话。 玩了一下 liftshare,感觉还不错。只是它在路线、时间的匹配上不是那么智能,毕竟 liftshare 的算法不是 IBM Watson,我提醒自己。liftshare 到底干了什么呢?它的卖点就是提供一种匹配互补行程的功能,网站不做任何内容,内容是行程,而行程都是用户提供的。 联想到 YouTube,网站也不做内容,内容是 video,而 video 都是用户上传的。而且,不上传 video 的用户也可以参与做一些既是内容又不是内容、半内容半功能的东西,比如说 playlist。YouTube 有成千上百的有关 jeopardy Watson 的 video,良莠不齐,我看了 Watson 的三天比赛 6 段 video,是不同的人上传的 。我留意了一下,还没有一个人完整上传过这 6 段视频。所以我把它们组织成一个 playlist,方便我介绍给朋友们看。YouTube 在其中干了什么?要说它什么都没干也可以,因为… Continue reading What is web 2.0?

Learned something basic

今天又长知识了。 首先,最简单的,更正了长久以来的想当然,php 下 explode(‘,’, ”) != array(),而是得到长度为 1 的数组,key 是数值 0,value 是空字符串。天哪,我有多少个程序是基于 explode(‘,’, ”) == array() 写下去的,这下影响大了,得好好查一查。 其次,发现一个不晓得是 sshfs 的 bug 还是 gedit 的 bug。复制错误的过程是:用 Nautilus 或 Dolphin 打开 sshfs 挂载的目录,右击创建一个新文件。文件创建是成功的,属性是 774,用 gedit 打开它却无法保存,提示是没有写权限;但用 kwrite 编辑保存一切正常;用 gedit 再编辑 kwrite 编辑过的文件又能保存。或者,在右击创建一个新文件后,执行一次 chmod 774 filename,也能用 gedit 编辑保存了。 再次,发现在 IE6 下,用 javascript 增大元素的尺寸(比如 jQuery widget 化,增加 border,增加 padding,等),会增大父元素的尺寸。哪怕父元素已用… Continue reading Learned something basic

Establish a protocol of post tags

尽管在 WordPress 里新增一个 post tag 是件很容易的事情,但我不想每次想到一个 tag 就增一个,上千个 posts 就有几千个 tag,搞得 posts 之间的 tag 联系很松散。所以,我很久不新增 tag 了,写完 post 就在已有的 tags 里挑一个或几个 tags 出来。 时代在发展,新生事物不断出现,如果我老用几年前敲定的 tags 而不与时俱进,blog 就显得 out 了,也不利于芳草苑在新新名词方面的排名。比如,刚才一篇,想用 chrome,结果发现有 firefox 而没有 chrome,只好暂时 tag 一个 firefox,等我整理好一份 tag waiting list 再更新 post tags。 初步想删 office, outlook 等,因为 windows 已经 out 了,我也没在 office, outlook 主题上浸淫许久,这类 posts 干脆合并一个… Continue reading Establish a protocol of post tags

My third DNS server down for a month

今年初,我退掉了 godaddy vps,把原来 godaddy vps 担当的辅助 DNS 角色转给了 1&1 server,却忘了开 1&1 server firewall port (硬件防火墙那道关)。 今天才发现这台辅助 DNS 在过去的一个月根本无法执行 DNS 解析(因为我设置了三台 DNS,挂了一台没引起警觉)。难怪最近 webceo 给我的评分只有 5 分上下,google 的排名也有下降。 赶紧打开防火墙,希望分数能上去。