Gentoo 下开启pip的bash completion

1. 安装 Pip

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

2. 生成bash completion profile

$ pip completion –bash >> /usr/share/bash-completion/pip

3. 开启pip的bashcomp

$ eselect bashcomp enable pip
Posted in Uncategorized | Tagged , , | Leave a comment

Mac OSX 上安装 cx_Oracle (for python)

系统: Mac OS X Lion 10.7.3 64bit
环境: Gentoo Prefix Bash / Python 2.7.3

首先从Oracle下载 Oracle Instance Client

Lion下需要安装32bit版本

  • instantclient-basic-10.2.0.4.0-macosx-x86.zip
  • instantclient-sdk-10.2.0.4.0-macosx-x86.zip

解压zip文件到同一目录下,得到类似如下文件

开始安装前需要设置环境变量如下

# export ORACLE_HOME=[File Path]/instantclient_10_2
# export LD_LIBRARY_PATH=$ORACLE_HOME
# export DYLD_LIBRARY_PATH=$ORACLE_HOME

还需要做一个符号链接

# cd $ORACLE_HOME
# ln -s libclntsh.dylib.10.1 libclntsh.dylib

接下来的安装过程就和其他python module一样

# easy_install cx_Oracle
Posted in Uncategorized | Tagged , , , | Leave a comment

简单即是美 - DBox 试用 The missing downloader for OSX

从Windows迁移到Mac OSX之后一直在找一个简单易用的下载软件,需求很简单,只要做到
1. 多线程下载
2. 浏览器插件
3. 简洁,不要有太多广告和弹出窗口

期间使用过Folx,iGetter,始终都感觉不太满意。Folx免费版本有广告,而且只能2个线程(更多线程只有在付费版本才能激活)。而且Folx的浏览器插件会迫使点击下载链接之后一定要通过它来下载,即使在弹出的Folx窗口里取消也无法继续用浏览器下载,这样对于pdf这种可以内嵌在浏览器中预览的文件类型就会比较不便。iGetter的界面有点类似初期的flashget,免费版可以一直试用,每次启动会弹出广告。

如果想注册购买的话,Folx是19.95美金,iGetter 25美金,虽然不属于昂贵的行列但对于一款下载软件而言还是有些让人不爽。想想看Sparrow只有9.99美金… 而且这两款软件目前都无法通过Mac App Store购买,只能在各自网站付费购买。这样对于将来的更新升级就不如MAS上那么方便。

今天在twitter上看到了一条tweet提到了DBox,一款号称The missing downloader for OSX的下载软件。目前在Mac App Store的售价是4.99美金,相比上面两个竞争对手而言便宜了许多。联系作者之后幸运地得到了redeem code得以最快时间下载试用。

第一次打开的界面非常清爽,相对于iGetter和Folx而言第一眼的感觉都没有让人觉得这是一款下载软件。

同样提供了safari插件,相比Folx,它不会拦截下载链接点击,可以通过鼠标右键点击(触摸板双指单击)链接来选择用DBox下载。

也可以点击界面上的加号输入下载链接。

下载过程中的界面同样简洁,必要的速度,进度和百分比信息外没有多余的东西(比如代表文件长度的小方块)

下载完毕后的文件默认依然在列表中,可以通过界面右下角的搜索框来根据名字搜索。目前版本中这个搜索的反应有点缓慢,清空后还有大概1s-2s的延迟才会显示所有下载列表。

DBox的设置也非常简单,可以设置线程数(这个对于国内网站提供的下载还是挺有用的),默认文件的保存地址等等。一如既往地简洁。

这些就是DBox的所有功能了。在我看来除了缺失一个下载完毕提醒(Growl集成)外其他该有的功能都有了。现在程序自带的提醒是在dock上显示一个下载完成数的badge(类似于mail的未读邮件数)。如果有Growl提醒就更完美,毕竟dock空间宝贵,拖出来就为了看下载完成数的话有些浪费。期待下个版本中会加入。

对于一款4.99的软件,这些已经足以让我掏钱购买。仅仅是iGetter或Folx 四分之一到五分之一的价格加上简洁地界面,外加Mac App Store便捷地购买和升级。就像标题写的那样 It’s the missing downloader for OSX。

Posted in Apple | Tagged , , , | Leave a comment

从Mobile me 迁移到iCloud

随着iOS5 GM和10.7.2 GM的发布,广大iOS/OSX用户将在12号迎来新的苹果云服务iCloud。对于过去没有订阅mobile me的用户来说一切都比较简单,现在使用的apple id将可以免费获得一个@me.com的邮箱(用户名可以自由选择,但不可与现有用户重名)。那么老的mobile me用户(不管是individual user还是family pack user)就有个迁移问题,包括很多人一直在询问的如何将mobile me账户与其他apple id合并。

首先我们需要明确以下几个概念
1. Apple Id可以用户任何一个邮箱地址注册,你在itunes store购买过的音乐读书软件都将归于这个账户名下。这个id所关联的primary email地址是可以修改的,但你不能修改为一个已经被注册过apple id的地址。
2. mobile me天生就是一个apple id,所以你无法修改一个已有的apple id的primary email为任何一个@me.com的邮箱。网上曾经有人成功那么做过但普遍相信这只是一个bug,大多数人是无法成功修改一个已有的apple id邮箱为@me.com,系统会报告这个@me.com已经用来注册另一个apple id。
3. iCloud地址可以视为增强版的apple id,为现有的apple id加入了邮件(可免费分配一个@me.com邮箱),联系人,日历,提醒,书签,记录,相片流,文档数据以及iOS系统备份功能。其中的前六项同步和现有的mobile me功能重合,后面3项是随着ios5新增的功能。同时这些同步不仅仅工作于iOS之上,也可以和OSX (10.7.2开始)协同工作。

那么当一个有着mobile me账户的人升级到iOS5,他该选择哪个apple id来登陆iCloud呢?Apple在登陆界面下已经给出了简短解释。用户应该以mobile me账户来登陆iCloud(中间有个迁移过程,稍后会提到),而在管理已经购买的数字内容时用购买过那些内容的apple id来登陆app store。Apple现在没有提供合并apple id的功能,并且为个人觉得这也无妨大家升级到iCloud,且听我道来迁移过程。

当用户用mobile me登陆iCloud时会被要求前往 http://www.me.com/move/ 去手工确认并迁移mobile me账户到iCloud。这个过程需要在电脑的浏览器上完成,无法通过iOS系统设置程序完成迁移。

需要注意的有这几点
1. 现有的iDisk, Photo Gallery, Web publisher在iCloud中并无对应服务,他们会在2012年6月30日停止,请注意备份。
2. iOS设备需要运行iOS5 (现在GM已经放出给iOS developer,正式版10月12日发布)
3. OSX设备需要运行10.7.2 (同上,GM已经放出,正式版应该也在12号左右发布)
4. Windows系统需要安装iCloud Control Panel for windows (已经随10.7.2 GM一同放出)

当你确认这几项均满足时,就可以在http://www.me.com/move/ 登陆并点击几个按钮实施迁移。整个过程不到一分钟即可完成。完成之后你在iOS5设备上已经设置的Mobile me账户会自动被转成iCloud账户,这个步骤无需人工干预。同时在OSX的system preference中的mobile me设置已经被新的iCloud设置所替代。

由于我的老mobile me订阅还未到期,现在迁移至iCloud之后为的账户容量为25G (原有的付费用户20G + free 5G)当然对于那些老用户们而言,部分mobile me功能诸如keychain, widget dock item同步之类的功能在iCloud时代就不再提供了。

It’s time to migrate.

苹果官方的迁移FAQ

[更新1] 用非me.com的apple id购买iTunes Match服务并用me.com帐号登录iCloud不会有任何问题。只要你的App Store里的账户还是订阅iTunes Match的即可,我目前就是那么使用的。

Posted in Apple | Tagged , , , , | 1 Comment

CentOS5上安装Redmine的常见问题

因为项目需求,需要安装一套集成Issue tracking/task management /SCM/wiki/forum的系统。如果单独安装,那么可以有Jira,Wikipedia,Phpbb之类的候选人。如果想要all in one solution那显然Redmine是最好的选择。Redmine本身是由ROR写的,看到这里估计大家心里有数了,这东西的安装在老系统上必然不会是那么顺利,曲折是难免的,尤其是在一台CentOS 5.6的机器上。常规的Install Guide 暂且不表,可以参考 http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5

这里就说下可能遇到的常见问题。

1. 软件版本。根据官方的说法,即使是最新的Redmine 1.2.x也暂时不支持Ruby 1.9,推荐使用Ruby 1.8.6 or 1.8.7。我尝试过CentOS官方repo里自带的1.8.5以失败而告终。所以耐心地现在source code自己编译吧。Gem的版本也有讲究,比如1.7.0之前的,显然那就只有1.6.2可用。同理还有Rake必须0.8.7,我尝试过0.9.1的结果就是失败。Rack用1.1.0。

2. 在执行rake db:migrate的时候你可能遇到一个错误消息 ‘no such file to load –openssl’。那就需要先

# yum install openssl openssl-devel

然后在已经解压的ruby source code中

# cd /ruby_install_dir/ext/openssl
# ruby extconf.rb
# make & make install

3. 如果用mysql数据库存储,可能会遇到错误 ‘No such file or directory – /tmp/mysql.sock’ 这是因为在config/database.yml中默认没有指定socket路径,解决方案即加一行参数把实际的sock路径指定,如

socket: /var/lib/mysql/mysql.sock

4. 如果用Passenger 配合Nginx,那可能会在用passenger-install-nginx-module的时候遇到错误提示 ‘configure: error: C compiler gcc is not found’。问题原因不详,解决方案就是在安装的第二部不要选择1 用默认的下载地址把Nginx源码下载到/tmp然后选择2,手工指定已经下载并解压的nginx源码(放在非/tmp目录下)即解决问题。

下篇会讲到Redmine和Gitosis集成

Posted in 服务器配置 | Tagged , , | Leave a comment

在iPad一代上用Apple Digital AV Adapter (HDMI适配器)开启画面镜像

随着iPad2的面世Apple推出了Digital AV Adapter,就是个一头接iPad,另一头有个标准HDMI输出接口的适配器。它可以将视频输出到通过HDMI链接的电视机/投影仪上,在家浏览iPad上的电影就方便多了。不仅支持iPod程序里的电影,也支持HTML5网页中的视频,或是自带的Youtube程序中播放的视频,这些均可以全屏显示。

这个适配器在iPad2上使用还可以实现镜像 (display mirror),即在电视机上同步输出iPad2上你能看到内容,比如待机画面或是程序画面。用这个东西连接46寸电视机玩Angry Birds可以让人感受“这个鸟怎么那么大啊”的感觉。

根据Apple的产品销售说明,它也支持iPhone4代和iPad一代,不过默认情况下只能在这两者上输出视频,画面镜像功能就没了。

直到我们有了越狱….

不管你是用iFile还是开启了OpenSSH,只要修改/System/Library/CoreServices/SpringBoard.app/K48AP.plist这个文件
插入两行内容即可实现画面镜像功能(需要re-spring或者重启设备)

<key>display-mirroring</key>
<true/>

修改好后的文件内容类似于

然后你的iPhone4和iPad1也可以实现镜像功能。不过镜像功能无法在16:9电视机上实现全屏(估计因为比例问题,iOS上是4:3),即使是iPad2也无法实现全屏镜像。

Posted in Apple | Tagged , , | Leave a comment

FreeNas 0.7 上架设Mac OSX Time Machine 时光机

Mac平台下的Time Machine时光机让一贯使用windows的我表示十分向往。只要有移动硬盘或是独立分区即可增量备份系统数据,即使更换新的电脑或重装系统也能快速恢复自己习惯的使用环境。相比同一个硬盘分区的损坏风险或移动硬盘连接不便(从稳定性上说移动硬盘本身就是不那么靠谱的设备,它的使用环境决定了它的损坏概率是很大的),通过网络备份到NAS服务器无疑是最可靠且不影响正常使用的方法(你不会经常想到在家用电脑的时候也接个硬盘备份吧,尤其是在只有2个usb口的mbp上)

要使用网络备份时光机,最简单直接的办法就是买Apple的Time capsule路由器,自带1T/2T硬盘,秉承苹果配件一贯的高价易用风格。廉价的方案就是在FreeNAS 0.7系统上自己DIY时光机服务。

首先开启AFP服务

添加共享

注意勾选
Automatic disk discovery – Enable automatic disk dicovery
Automatic disk discovery mode – Time Machine

接下来打开Time Machine程序

选择磁盘

接下来输入freenas上的用户名密码,确保该用户对你在第二步添加的共享目录有读写权限即可。

第一次备份可能花费大量时间,建议接上网线备份。以后的增量备份在无线网络的环境下也速度也可以接受。

Posted in Apple | Tagged , , | 1 Comment

快捷分享你的文件

我们都经历过这样的场景,手头有几张图片,一首mp3或者几篇文档需要与朋友共享。但是发email太慢,msn传输又不稳定,网盘又担心内容不符合XXX规定而和谐,况且国内多数网盘还需要下载安装XXX插件,安全方面让人担心。

现在有两种新的选择。

1.多平台用户 – Ge.tt
Ge.tt 界面非常简洁,硕大的一个图标 ‘Select files’ 点击即可浏览本地文件,确定即开始上传。无需注册,上传完毕后将得到一个类似 http://ge.tt/39cNlRv 的短链接,把这个链接直接在IM上告诉朋友,他就可以开始下载。非注册用户上传的文件只能在线保存30天,注册用户之后可以无限保存(内容不能违反美帝法律),并且可以看到每个文件的下载数据统计,历史上传记录等等,单个文件大小不限,总容量不限。

2. Mac用户有更简单的办法 – Droplr
Droplr Mac用户有福气,下载一个2兆多的文件,安装后桌面status bar上会多出一个droplr的图标。直接把想共享的内容往里一拖就搞定,甚至都无需打开浏览器。上传完成后会自动得到一个d.pr的短链接。该服务无需注册,只需要用你的twitter账户授权登录即可,同样可以看到历史上传文件,并且删除你不想保存的文件链接。官方网站有一个45秒的视频介绍,看完就明白了。顺便提一句,Droplr还有iPhone客户端。该服务为每个账户提供1GB免费空间,将来会开通付费扩容。

对于生活在千年盛世,和谐社会的用户来说,最难能可贵的是上面两项服务目前均还没有被反党反社会主义的境外敌对势力所利用,所以,你懂得,无需费力翻墙即可快捷分享。

Posted in Uncategorized | Leave a comment

2010年我所购买的软件和服务

2010即将过去,在此总结下自己在这一年里付费购买的软件以及服务。作为一个软件行业从业人员,尊重软件开发者的劳动价值,树立版权意识,以及对于网络付费应用(当然我指的不是收费成人网站)的接受程度应该是循序渐进的。仅以此文献给诸多读者,希望大家在读后能更多的支持开发者以得到更好的服务和高质量的软件作品。

1. Flickr 年费 $24.95 尽管自己是Google服务的忠实拥趸,但Picasa在国内的境遇实在是惨了点。被墙的后果就是当你想分享照片给不善于网络翻墙的亲友时会有诸多不便。付费成为Pro后即没有每个月100兆流量限制,并且可以看到自己照片被浏览的数据统计。胶州路的一场大火让自己对物理胶片的保存心存后怕,有条件的情况下还是尽量数字化后异地在线多点保存吧。对于墙外的用户来说Picasa有一大优势就是你所购买的容量是和Gmail共享,完全不浪费。

2. Last Pass 年费 $12 在密码保存领域尽管有1Password这样更好的选择,但能用Yubico key来做二次验证算是Last Pass最终吸引我购买的原因。每次验证的时候需要插入YubiKey并且按动那个绿色光圈实在是一件很Geek的举动。同时Last Pass也支持PC/Mac/Android/iOS 全平台。

3. Linode VPS 年费 $239 此blog发布的主机,也可以自己安装配置来提供各式各样的网络服务,你懂的。

4. MyWi 购买费 $19.99 iOS上用来做WIFI tethering的利器,有了它,WIFI Only的iPad出门也可以共享iPhone上的3G网络。不过和Android 2.2引入的Mobile AP功能不同,MyWi所创建的网络是基于Ad-hoc的。在截至Android 2.2.1的系统上还不支持接入Ad-hoc无线网,关于这个功能实现进度的读者可以参看 点此访问

5. 3G Unrestrictor 购买费 $3.99 Cydia Store上的又一好软件,用于“欺骗”程序将3G网络识别为WIFI。这样就可以在3G网络下使用Facetime(经测试联通网络下速度流畅),并且App Store也可以在3G网络下下载超过20兆的软件。

6. Office 2010 Home & Student Edition for PC / Office 2011 for Mac 用了多年的盗版Office,这次下定决心买了PC/MAC各一套正版。PC版虽然不带Outlook但已经完全不影响使用了,个人邮件重心都在Gmail上,不需要本地邮件客户端了。并且在你的邮件超过1G之后Outlook的搜索速度就变得让人难以忍受。

7. Mobile Me 年费 $99 Apple自家的云服务。你拥有的Mac设备越多,它就越有用。使用下来感觉me的邮件推送在iOS上速度比Gmail的更快。不过相比Android上的Gmail Push还是略逊一筹,不知道明年Apple在北卡的新数据中心投入使用后会不会有所改善。包含的iDisk,也是在Dropbox被墙之后分享文件给墙内用户的无奈之选。至于Gallery,手机上传不太稳定,不如Flickr好。Contacts同步和Android上用户体验无异。总体来说,如果你有超过两样Mac/iOS设备并且对价格不十分敏感的话,Mobile Me是个好选择。

8. Apple iTunes Store的诸多软件。今年已经充值了$75用户购买各种软件和游戏,唯一的不满就是不提供iPhone和iPad套装购买。同一款软件如果有HD版本的必须分开两次购买,如果Apple能提供bundle purchase加上稍许折扣,那会方便诸多同时拥有大小两件iOS的用户。

这篇文章的写作有感于 @tinyfool 的《盗版带给我们的是什么?》 自己和身边的人都是IT业内人士,如果连自己人都无视知识产权的重要性,那又如何指望别人来尊重自己的劳动成果?买得起iPhone/iPad的人不会买不起$0.99的软件,一套Office家庭与学生版可以用几年无须到处找激活码,即装即用。尊重他人就是尊重自己的劳动力。

Posted in Uncategorized | Tagged , , , | 3 Comments

搭建个人家用NAS网络存储服务器 [一]

随着家用宽带的不断提速和高清电影的普及外带单反的家庭占有率越来越搞,仅靠台式机里那几块硬盘越来越不够用了。
简单的计算了一下,家里的台式机上2T的容量(1T+640G+320G)已经接近于80%满,外接一个1.5T的移动硬盘也不是办法。同时还有笔记本上零散的一些数据文件(诸如写的文档),外加数码相机前后拍摄了几个G的照片(尽管我不是Teacher Chan),这些数据如何存放一直都是一个让人不安的话题。考虑再三,决定上一台个人用的NAS(Network attached storage)服务器。

在市场上考察了一番,先是考虑了成品的NAS服务器。比较看得中的有Netgear的ReadyNAS系列,2槽和4槽都比较感兴趣。首先排除的是2槽的机器,因为2槽不足以实现Raid5,并且最大4T的容量也略嫌小了一些。

4槽的机器里还是以Netgear为首选,这一系列产品正处于换代时期,老的NV+ RND4000 4槽服务器是用的600~800mhz的Risc CPU,性能不足以实现诸如Time capsule和DLNA服务,并且传输速率在千兆环境下也只有30余兆。新的ULTRA系列RNDU4000倒是都满足要求,样子也很不错,可惜国内还没有铺货,国外在eBay上是600美金。这东西要运回来可不容易,包装好足有16磅的重量。再考虑到最近海关的丧心病狂,从eBay搞一套回来成本起码在6000以上,太贵了。对于性能不太讲究的话倒是可以考虑上一代的NV+ RND4000,eBay上已经在清仓,全新的机器只要300刀,有路子机场托运一台回来的朋友可以考虑。

Netgear之后考虑了QNAP,但还是觉得价钱不太实惠。这里要提的一点是,对于WD或者Buffalo这样玩票性质的NAS最好不予考虑,他们提供那只能算是带网络服务的外置硬盘。对于数据安全性和扩展性是在是差了点。QNAP这个牌子有所考虑,但我对于它所提供的花里胡哨的Mysql/PHP/Apache服务不感兴趣,我是买NAS的又不是买共享web主机,先把数据安全性做好吧。

一番考量之后,4槽的机器正规渠道最低也要3700,用的还不是X86的CPU,千兆网下性能有瓶颈。一般大厂的机器都要在4500以上,于是萌发了自己动手组装的想法。

自己动手首先想到的是采用ATOM的CPU+主板一体的板子,功耗低而且价钱便宜。可惜INTEL为了保证低端C2D产品线的销量,对NM11芯片组采取了限制,一般都只提供了2个SATA口。即使有像技嘉这样大厂通过外接JMicro的芯片额外提供了2个SATA,也最多不过4口,并且第三方芯片提供的串口稳定性也有待商榷。只有超微Supermicro的一款X7SPA-H服务器用的ATOM主板提供了6个板载SATA(ICH9R)。可惜那块主板在国内的渠道又是个问题,工包也要1500左右,遂放弃。

在找主板的同时机箱倒是很方便的确定好了,联力的一款PC-Q08 ITX小机箱是个不错的选择,支持ITX规格主板,全尺寸ATX电源,并且还能支持6个横置的3.5寸硬盘。这简直就是为了做NAS而设计的。价钱的话淘宝差不多780的样子,不管太贵。当然,如果能接受全尺寸塔式机箱的话那三四百可以买很多提供6个3.5寸槽的机箱了。这里要提的是电源,如果你打算接4个或更多的硬盘,电源最好别考虑那种DC-ATX的小电源(无论内置外置混合置),多个硬盘在启动的时候瞬间电流很大,如果供电不足硬盘寿命大大缩短。我们弄NAS是为了数据存储,不是为了搭个硬盘棺材。全尺寸ATX电源可供选择的就太多了。这里我还是按照传统选了Antec ECO 400w。

机箱确定后,主板也只能买ITX的了。考虑INTEL H55芯片组 + i3 CPU。这样功耗比ATOM约高出30~50w,但性能强很多,万一以后不搞nas了还能做个播放器或压片机之类的。第一考虑的目标还是技嘉,但它只提供4个SATA,有点浪费机箱。最后选择了索泰H55U3,提供6个SATA,还有USB3.0口(极品,将来接外置硬盘拷贝数据太方便了)和WIFI(这个非必需),机器背板自带一个eSata口。我只能说这板子简直就是为了做NAS而设计的,6个串口和机箱配合完美。这块主板也是全固态电容,做工也还可以。WIFI是通过主板上的mini PCIE接口提供的,可以拆卸,将来换个mini PCIE的固态硬盘也不是没可能。同时主板也提供了板载千兆网卡,DVI/HDMI,接口该有的都有了。

CPU没啥好挑的,就INTEL i3 530,双核四线程,做NAS足够了。内存2G也够了(注意,上ZFS的话内存2G是有必要的)硬盘暂时就先上了一块WD的20EARS绿盘,这块硬盘用的4k sector和AFD (Advanced Format Driver)后来给我带来了不少麻烦,下文会提到。

综上所述,最后的配置如下
索泰 H55U3
INTEL i3 530
联力 PC-Q08
OCZ DDR3 1333 2G
WD 20EARS 2T
Antec Eco 400w
不带硬盘的价钱差不多是2900,可以实现6槽最大12T的容量。系统配置会在下文提到。

Posted in 服务器配置 | Tagged , | 4 Comments