新增加一个”读书”栏目

新增加一个”读书”栏目

日常偶尔读点书,享受一点阅读的乐趣,也许需要记点什么,就开辟这个栏目。

现在正在读的书是南怀瑾先生的全集,好多本啊,累死我了。另外正在学习的技术类书籍(说文档可能更合适)是37signals的GettingReal,也是一篇让人拿起就放不下的文章。

希望自己能好好学习,天天向上。

RapidSVN: Working copy locked

RapidSVN: Working copy locked

昨天Commit代码时,网络意外中断。今天再次Commit时,RapidSVN提示出错:

Error: Error while performing action: Working copy ‘… …’ locked.

看这描述的意思,是本地文件在上次操作时进行了锁定,由于没有正常退出解锁,导致后续操作无法再继续。

要解决也很容易,将上次的操作clean掉即可,点击菜单 Extras -> Cleanup,清理完成后,重新Commit即可成功。

Google开放实时通信框架WebRTC

Google开放实时通信框架WebRTC

据说WebRTC是Web方式进行语音、视频实时通信的框架。项目地址如下:

http://sites.google.com/site/webrtc/ (需翻墙浏览?)

暂时还不太清楚这个技术的细节,不过如果像Google宣传的那样,就可以实现高质量的web通信方式。传统的SIP软终端就面临很大的挑战,从另一方面来说,可能也是一次打破现有格局的机遇。

在ubuntu环境中运行SIPp

在ubuntu环境中运行SIPp

SIPp是一个非常好的SIP性能测试工具,我们一直用它,:-) 不过一直是在windows环境中使用这个软件。

而最近忙于将已有系统迁移到Linux环境,因此就有必要研究一下linux环境下的SIPp,我们以ubuntu环境为主。在ubuntu环境中安装、运行SIPp基本是非常简单的,因为ubuntu的软件源中已经加入了SIPp,不过运行时有些地方需要注意。

下面我们逐一进行介绍:

step 1: 安装SIPp

sudo apt-get install sip-tester

step 2: 运行SIPp

命令与windows环境的SIPp一样,需要注意的是Ubuntu/Kubuntu的网络环境中,缺省会安装一个循环网卡,如果运行SIPp时不指定本地地址,SIPp很可能会以该Loopback的地址填写SIP消息中的各项参数,导致大量呼损。因此我们只需注意以-i指定本地地址,以-p指定本地端口即可。下面是两个示例:

运行SIPp接收端程序:sipp -sn uas -i 192.168.1.10 -p 5060

运行SIPp发起端程序:sipp 192.168.1.20:5060 -sn uac -i 192.168.1.10 -p 5061 -r 3 -rp 1000 -m 30000

Kubuntu 11.04环境中安装adobe flash plugin

Kubuntu 11.04环境中安装adobe flash plugin

11.04版本缺省没有安装Flash插件,使用firefox浏览网页时,会提示安装插件。

可是直接点击图标进行安装是失败的,firefox提示“进行手工安装”,并将页面导向Adobe的安装页面。

以前的版本(例如ubuntu 10.04)是可以通过这种方式安装成功,可是在11.04版本中,会提示无法安装,原因是“The channel ‘natty-partner’ is not known”。

最后发现可以通过Kubuntu的软件管理中心(system setting / get and remove software)安装,先搜索”flashplugin-installer”,然后安装即可。

有点曲折啊。

Ubuntu/Debian系统包管理常用命令

Ubuntu/Debian系统包管理常用命令

sudo apt-get update 同步软件源中的软件索引文件,并更新本地的cache

sudo apt-get upgrade 根据软件源的要求,安装(升级)最新的软件包。注意,所谓“最新”是指当前系统版本所能支持的最新软件包,而不是最新系统版本所能支持的软件包。

sudo apt-get autoremove 自动删除某些不再需要的软件包。

sudo apt-get install 安装具体某个软件,例如sudo apt-get install qtcreator就是安装qtcreator软件。

sudo apt-get remove 卸载某个软件包

下面是两个常用的软件包查询命令:

sudo apt-cache search 搜索某个软件。最好和grep配合起来用,很方便。例如sudo apt-cache search python | grep mysql 就是所有python软件包中,与mysql相关的包。

sudo apt-cache show 显示某个软件包的具体信息,包括依赖关系等。

修改QT的编译开关

修改QT的编译开关

linux系统环境的qmake工具生成的makefile文件,缺省没有打开优化开关-o2,我们可以修改pro文件来打开这个开关,如下:

unix {
QMAKE_CXXFLAGS += -o2
}

如果是采用gcc编译,则需要根据版本情况,设置QMAKE_CFLAGS_RELEASE或者QMAKE_CFLAGS_DEBUG即可。

以上配置基于Kubuntu 11.04环境。

Gmail新功能:mark as important

Gmail新功能:mark as important

登录Gmail,发现新增加了两个小按钮:mark as important以及mark as not important。

感觉这两个按钮的功能有点奇怪啊。以前不是可以将邮件标记为starred么?一般我觉得重要的邮件,就会打上starred。这个功能与新增的两个按钮至少在我看来是重复了。

Google推这两个按钮的目的是什么呢?难道是学习Facebook的like按钮?

这两天学习了37signals的一篇文章,感触颇深。其中一个主题意思就是产品的功能要少而精简,从这个角度看,Gmail似乎过度了。

IPv4地址紧张吗?

IPv4地址紧张吗?

传说中国已经没有可分配的公共IPv4地址了,可是美国人民还是有很多啊。

刚才在Amazon的EC2上,点击一个按钮就给绑定了一个公共IPv4地址,过程轻松愉快。看起来Amazon等美国企业手头还管理着大量的IPv4地址。

kubuntu与xp的时间问题

kubuntu与xp的时间问题

我的计算机系统稍微有点特殊:主机是XP系统,平常可以通过U盘启动Kubuntu系统。也就是说,我日常工作在双系统环境中,经常在这些系统之间进行切换。

由此发现了一个问题:在Kubuntu工作后,重启计算机切换到XP系统。发现XP的时间被修改为GMT+0时区的时间,即时间整整晚了8小时(中国是GMT+8时区)。

检查XP中的时区和时间设置,发现完全正常,XP并没有修改时区。

这个问题只发生在从Kubuntu切回XP时。反过来从XP切回Kubuntu则没有这个问题,Kubuntu中的时间和时区设置正常。

怀疑问题出在Kubuntu上,Kubuntu可能重新设置了Bios或者主板的时区设置。问题可以这样解决:

修改/etc/default/rcS文件,将UTC设置为no即可。

这个问题可能是我当初安装Kubuntu时,忽略了某项设置导致的?

关于UTC参数,系统帮助中的说明如下:

UTC This  is  used  to govern how the hardware real time clock is interpreted when it is read (e.g., at  boottime,  for  the purpose of setting the system clock) and when it is written (e.g., at shutdown).  If this option is set to no then the system clock is assumed
to be set to local time. If the option  is  set  to yes  then  the  system clock is assumed to be set to something approximating Coordinated  Universal  Time(UTC).   (POSIX systems keep a variant of UTC, without leap seconds.)

2014-01-07 updated: 在Debian系统中,该参数被调整到/etc/adjtime文件中,将UTC修改为LOCAL即可。也可以使用以下命令直接修改:

hwclock -w --localtime