Category Archives: Internet

推荐一下走秀网

发这篇文章,其实就是想为走秀网(zoshow.com)做下广告。本来都不打算发了,一周前又经历了卓越的“硬盘门”事件,更觉得做为一个国内二线的电子商务网站,有这样的行为,是值得花时间去帮忙推广一下的。
事件起因是两周前 DRL 上的一个帖子:有网友推荐了在走秀网通过 1400 元的价格购买 iPod Touch 32G 的办法,方法虽然是投机取巧的,可是一直想入手 Touch 的我,还是脑袋发热下了订单并在线支付。付款后的半个小时,走秀网的产品下架。之后的5天时间订单状态都是在“备货中”,当时已经认为商家不可能会发货了,直到两天后收到了走秀网的订单发货邮件。再过了两天,收到了实实在在的产品,包装、产品质量、发票一应俱全,远超出我想象的完美。
也许有人要说我占了便宜,当然要说好话,呵呵,就算是吧。自己也算是有做过电子商务的,从事情的本质来看,如果一个企业连基本的“诚信”都丧失了,还怎么能让顾客信服呢。如果有机会,我会很乐意成为走秀的回头客,也会多多推荐给身边的朋友。
相比之下的卓越网,我已经不想多说了,网上已经有人做出了比较客观的评价,好事者可以移步下面的链接围观:
“卓越亚马逊的短视”

加入 mac 阵营

YY 了两年多,终于有了自己的 macbook,感谢 LP 送的礼物。
这两天都在熟悉新的系统,麦友们如果有推荐的软件,欢迎留言给偶。:)

Blog 换空间之流水帐

原来一直是借用的 Dash 在 DreamHost 的空间,后来据说 Share IP 被 GFW 了。昨天晚上索性就想着自己再搞一个空间。
在网上看了一些资料后,最终锁定了 ixwebhosting,无流量和域名限制,并且有赠送 15 个独立 IP 地址。马上下单付款,2年190美元,用了一个 20% off 的折扣,实际支付 158 美元。使用信用卡付款后 10 分钟就收到了开通邮件,进去他们的管理后台,才发现没有 ssh 管理功能,看走眼了……
从 Dash 的空间转移内容到新空间可要了命了,先是想着下载到本地,再传到新服务器,实际操作过程中不到 10k/s 的传输速度,传送完毕估计得等个把天…… 后来试着直接在 dreamhost 的 ssh 上使用 ftp 连接新空间上传,速度还不错,峰值可以达到 800k/s,就算是这样,所有的文件传送过去,也花了3个多小时。传过去后一切还都算比较顺利,速度也在可接受的范围内,再观察几天,如果速度稳定的话,就不给人家找麻烦退款了。呵呵。
总结一下转移过程中碰到的问题及经验,给想买 ixwebhosting 空间的朋友参考:

没有 ssh 帐号,也不会提供 ssh 权限,已经和他们的客服确认了;
如果没有国外第三方服务器的中传,上传大量文件会是一件很痛苦的事;据客服说,替代方案是可以打包完上传,让他们帮解压;
管理平台不是国外通用的 cpanel,界面比较难看,好在基本需要的功能都有;
使用 “IX20off” 的折扣券可以折掉 20% 的订单金额;

一款值得推荐的原型设计工具 Balsamiq Mockups

我是昨天在 Yining 的 Blog 上看到的推荐。很喜欢第一眼看到这款软件的感觉,于是就下载下来安装试用了一下,是基于 Adobe AIR 的,所以可以很轻松的运行在我的 Ubuntu 上。
之前也试用过 Axure RP Pro 之类的软件,相比之下,这款使用方式上就显得比较“自由”了,拖拖拽拽就可以画出很漂亮的界面图。
下面是花差不多十五分钟做出来的东西,点击可以看大图。只能算初尝,不过已经让我尝到甜头了,以后怕是离不开了。

可惜这么好的软件不是免费的,价格还不便宜,要79美刀。非注册版本不能保存和导出为图片,而且还会不定时的跳出提示框。不过作者算是比较大方的,主页上有提到了一种免费获取 key 的方法,就是写一篇 blog 推荐这款软件。嘿嘿,终于暴露目的了…… 不过这么好的软件,不推荐一下也实在说不过去。
软件主页在这里,请点击访问。
PS. 上面的截图是在虚拟机里 Windows XP 下截取的,我 Ubuntu 中的 AIR 升级到 1.5 后就不能用了,启动任何程序的时候都提示 “This installation of this application is damaged. Try re-installing or contacting the publisher for assistance.” 试过重装 AIR 和应用程序,都没有解决问题。顺便在这里也提下,看有没有碰到类似问题的同学。
UPDATE:
1.感谢 yining 同学的回复,上面 AIR 的问题已经解决了,解决方法为 apt-get purge 掉原来的 AIR [...]

在 Ubuntu 8.10 (Intrepid) 中使用 vpn

上周把我的 T60 上的 Ubuntu 升级到了最新版本 Intrepid,对比上个版本的升级过程,相对顺利了很多。新版本中最大的改版之一,就是网络管理器的更换。新的管理器使用起来更加简单,不过在使用公司的 vpn 的时候却碰到了一些麻烦,在网上搜索了一下,大部分人都有类似的问题,不过还没有找到好的解决办法。
趁着周末的时间,找了一些国外的相关资料,终于把 vpn 给搞定了,我下面描述下我的方法,不一定对所有人有效,大家权当参考。

使用 Google 帐号来登录乐铺吧

虽然早在去年初,乐铺就已经支持 OpenID 登录方式了,当时还为 OpenID 的中文名拉过赞助…… 不过对于大部分人而言,可能对 OpenID 还比较陌生。从国内寥寥无几支持 OpenID 的网站就可以看得出来。
我坚信这种情况不会持续太久了,前段时间 Yahoo! 率先支持了 OpenID 协议,允许在支持 OpenID 的网站上使用 Yahoo! 帐号登录。上月末 Google 也加入了支持行列(虽然支持的很烂)。相信随着两大网络巨头的加入,大家对 OpenID 的应用会越来越熟悉了吧。

抽了一个晚上时间,把乐铺原来简陋的 OpenID 功能完善了一下,现在已经可以允许一个帐号同时绑定多个 OpenID 了,并且加入了通过 Google 帐号注册的功能(Yahoo! 的 Api 没找到返回 Email 的地方,所以不能注册,只能绑定)。希望能对国内的 OpenID 推动起到一些作用。欢迎大家亲自去体验。
对了,还有个秘密透漏下:凡是通过 OpenID 注册的帐号,会自动获得 N 元的折扣券一张哦,N 是多少?对不起,我也不知道……

YUI Compressor for nautilus

在 lifesinger 的 blog 上看到淘宝内部使用的 TBCompressor,自己还傻乎乎的留言问有没有 for Linux 版本的。
YUI Compressor 本身就是一个 jar 包,可以方便的跨平台运行,不过每次都要打开控制台来运行,也有些不爽,参考了 TBCompressor,作了一个 nautilus-script,这下就可以直接对 js 和 css 文件点击右键进行操作了。
效果截图如下:

下载地址:MinJS
使用方法:下载后的文件放到 ~/.gnome2/nautilus-scripts 目录下即可,需要先打开文件配置你的 YUI Compressor jar 文件所在的路径。

我的第一个 facebook app

中国股市:http://apps.facebook.com/china-stock/
欢迎试用,并提出宝贵意见。
几个月前就有开发这个应用的想法了,不过一直没动手,这周差不多花了三个晚上的空余时间才搞定。很久没写过代码,手有点生了,还有就是在 FBML 的熟悉过程中花了太多的时间,稍候会再总结一下开发方面的经验。
Facebook 已经推出中文版了,什么时候开发者 wiki 也能中文化就好了, 目前上面中文的应用还很少,还需要国内的开发者一起努力。

不常见的转贴

很久没转贴过文章了,在 CCF 上看到的,算是一些励志的文字吧,看后有一些感触,分享给需要的人。
全文如下:
HP大中华区总裁孙振耀退休十五天后九大感言
一、关于工作与生活
我有个有趣的观察,外企公司多的是25-35岁的白领,40岁以上的员工很少,二三十岁的外企员工是意气风发的,但外企公司40岁附近的经理人是很尴尬的。我见过的40岁附近的外企经理人大多在一直跳槽,最后大多跳到民企,比方说,唐骏。外企员工的成功很大程度上是公司的成功,并非个人的成功,西门子的确比国美大,但并不代表西门子中国经理比国美的老板强,甚至可以说差得很远。而进外企的人往往并不能很早理解这一点,把自己的成功90%归功于自己的能力,实际上,外企公司随便换个中国区总经理并不会给业绩带来什么了不起的影响。好了问题来了,当这些经理人40多岁了,他们的薪资要求变得很高,而他们的才能其实又不是那么出众,作为外企公司的老板,你会怎么选择?有的是只要不高薪水的,要出位的精明强干精力冲沛的年轻人,有的是,为什么还要用你?

What’s in my history?

在 一宁的 blog 上看到这么好玩的命令:

$history|awk ‘{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}’|sort -rn|head

82 ls
64 cd
44 sudo
42 vim
37 svn
25 lftp
22 ./test.sh
17 memcached-tool.pl
11 ping
11 gvim

下面是改进版,可以加入百分比统计:

$history | awk ‘{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}’ [...]

content