2011年12月19日星期一

Rational Team Concert v3.0.1 client on Ubuntu Oneiric

As an RTC user on Ubuntu 11.10, I'm sorry to hear that "Canonical decided to remove the xulrunner-1.9.2 in Oneiric and further versions" although I know it's the right direction to remove such individual gecko runtime because Gnome 3 is heavily using gecko.

But work is still there since RTC v3.0.1 still depends on xulrunner-1.9.2. So we need it runs on Oneiric. Follow these step and proceed (assuming you run i386 version).

download RTC v3.0 iFix1 (e.g., /home/shawnzhu/Downloads/) once you logged into jazz.net
  1. unzip RTC client plugins
     
    mkdir -p /home/shawnzhu/eclipse_plugins/
    unzip /home/shawnzhu/Downloads/RTC-Eclipse-Client-repo-3.0.1.1.zip
    mv /home/shawnzhu/Downloads/im/repo/rtc-client-offering /home/shawnzhu/eclipse_plugins/
    cd /home/shawnzhu/eclipse_plugins/rtc-client-offering
    mv offering-repo/ eclipse/
     
  2. install eclipse (ignore this step if you installed eclipse already)
     
    sudo apt-get install eclipse-platform eclipse-emf
    # if you runs ubuntu 1110, you need download xulrunner 1.9.2 from launchpad since it's exlcuded
    wget http://launchpadlibrarian.net/70321863/xulrunner-1.9.2_1.9.2.17%2Bbuild3%2Bnobinonly-0ubuntu1_i386.deb
    sudo dpkg -i xulrunner-1.9.2_1.9.2.17+build3+nobinonly-0ubuntu1_i386.deb
     
  3. step3: install RTC v3.0.1 into eclipse in the link style:
     
    sudo echo "path=/home/shawnzhu/eclipse_plugins/rtc-client-offering" > /usr/lib/eclipse/links/rtc-v3.link
     
    # if using x86_64, you need to echo this to /usr/lib64/eclipse/links/rtc-v3.link

2011年11月19日星期六

how to change fedora16 login background

I searched some hits from google but no luck. so I dig into the file system and my guess works.

it uses /usr/share/backgrounds/verne/default/verne.xml to config login screen picture in fedora16. so you can change it to use your favouriate picture instead of yours.

I uses wide screen of thinkpad t420 so my change is:

15c15
<     <size width="1920" height="1200">/usr/share/backgrounds/verne/default/wide/keltern.png</size>
---
>     <size width="1920" height="1200">/usr/share/backgrounds/verne/default/wide/verne.png</size>

Please logout and re-login again after this change then enjoy the it :)
--
朱可
http://www.netvibes.com/shawnzhu

2011年11月10日星期四

开源 dojo toolkit 编程广场小程序

受 google code playground 项目的启发,我开发了这个练习 dojo toolkit 编程的小程序:

https://github.com/shawnzhu/Ajax-web-development-education/

WD321 课程的练习课上,学生们的最初接触 Ajax 编程,又遇上dojotoolkit 这样大个的程序库,起步的确有些困难:缺少基本的服务器端编程经验,大量使用JavaScript,不甚了解 HTTP 协议的基本内容。

这个程序仅有一个 HTML 页面,dojo library 全部由 google api 的 CDN 来提供,只要打开就可以自动从网络加载。

举例来说:
在文本域中填入以下代码(在 blogger 的编辑器里加代码真不容易!):






点击 "run" 按钮,你就可以立即看到结果:一个正常工作的 dijit 风格的按钮。如果你打开 Firebug 还可以看到 dojo 如何加载后台的资源。

2011年11月7日星期一

用2的方式去教2的东西

最近参与一个大学合作课程,使用4天时间完成一门 Ajax and Web 2.0 Application Development 课程,主要目标为软件学院的学生。
第一天课毕,我的提问包括:
  • 最早触网时间?
  • 最常使用的网络工具?浏览器、qq、社交网站等等
  • 智能手机的操作系统?iOS? Android? (我很惊讶今天的一年级研究生居然大部分还在用Symbian...) 看来是 @heqian 这种异类的 Apple 教徒还让我以为大家都在赶时髦
从回答问题的情况来看,把Web开发那么多内容压缩到4天时间还真是紧凑,还不包括2天时间的上机实验。大家感兴趣的话题集中在翻墙、未来职位、技术探讨等等,想找一些 hacker 级别的学生还不那么容易。
我在学校看到很多人已经习惯抱着笔记本上自习了,所以奇怪还有“上机实验”的部分。课后我才发现,其实大家还是传统上课听讲的课程模式,所以我打算尝试2一些:
  • 课程资料和参考内容:google docs
  • google calendar 做课表:

  • 本博客做内容发布
  • 微博答疑: @shawnzhu #WD321 或新浪微博: @xynzhu #WD321#
希望这种方式能够身体力行,课程上体验 Web2.0

2011年9月25日星期日

使用Linux Traffic Control控制带宽

Linux Traffic Control 是内核直接提供的网络功能,用来管理和控制包传输过程,在2.2和2.4内核中已经成为非常成熟的网络质量管理技术。以下用一个非常简单的例子说明:
* 场景:控制网卡eth0上文件下载的带宽至512kbit/s

step1: 为eth0创建默认的包传输控制队列:
# tc qdisc add dev eth0 root handle 1:0 htb

step2: 创建一个质量控制分类:限速 256 kbit/s, 最大 512 kbit/s
# tc class add dev eth0 parent 1:1 classid 1:6 htb rate 256kbit ceil 512kbit

step3: 在 eth0 上创建一个规则来应用刚才创建好的分类。这里简单使用目的地址来测试
# tc filter add dev eth0 parent 1:0 protocol ip prio 5 u32 match ip dst YOUR-HOST-IP flowid 1:6

查看eth0上规则是否创建成功:
# tc filter show dev eth0

好了,下来你可以用另一台机器试试效果:
# wget http://YOUR-HOST-IP/sample-file

你可以用 iptraf 来查看下载速度,是不是没那么快了?如果要取消刚才创建的规则,也很容易:
# tc filter del dev eth0 parent 1:0 protocol ip prio 5 u32 match ip dst YOUR-HOST-IP flowid 1:6

如果你持续查看下载速度的话,可以非常直观的看到速度立即回复到了之前的水平 :)

2011年3月12日星期六

dojox.grid.DataGrid tricks: Quickly enable system context menu

I'm fighting with dojox.grid.DataGrid event system and found it's really complicated to hack its event propagation because it's pluggable design.

If you want to use system context menu on DataGrid, try this code:


dojo.mixin(dijit.byId("your-datagrid").focus, {
doContextMenu: function(e){}
});

Then it brings the browser context menu when you right click mouse on your data grid :)
--
朱可
http://www.netvibes.com/shawnzhu

2011年3月9日星期三

从硬盘安装 RedHat 6 到第二块硬盘

为 Thinkpad 多加了块硬盘,这样终于可以不用卸载 ubuntu 安装 Redhat 了。
目的很简单,我需要ubuntu 来办公, Redhat 来做开发,而且需要两个 boot loader,这样任何一台硬盘坏掉都还可以启动 (CD-ROM的位置被第二块硬盘占了)。

安装步骤:
1. 启动 ubuntu, 在第一块硬盘上准备一个足够放下 RHEL6 iso 文件的分区,比如可以使用挂载 /home 的分区 /dev/sda7
2. 将 RHEL6.iso 镜像文件放在 /home 文件夹下
3. 使用 Archive Manager 从 RHEL6.iso 中提取 vmlinuz 和 initrd.img 文件。这两个文件放在 /home 目录下任何子目录均可
4. 从 RHEL6.iso 提取 /images 目录并且保存在 /home 目录下
5. 重启: # reboot

6. 在机器重启的时候按住 Shift 键,这样就可以进入GRUB的操作系统选择界面,当你看到GRUB选项的时候,键入"c"输入如下命令从分区 /dev/sda7 引导安装程序
grub> linux (hd0,7)/vmlinuz
grub> initrd (hd0,7)/initrd.img

如果提示找不到文件,请确认分区编号是否输入正确

7. 成功引导安装程序后,会提示选择语言和键盘类型,选择 English 和 US 即可
8. 选择从 Hard Drive 加载 install image
9. 选择 /dev/sda7, 然后输入 / 作为查找路径

一切顺利的话你就可以进入 RHEL6 的安装过程了。
提示:如果提示找不到install image, 先确认步骤4中提取的 /images 文件夹中的 install.img 是否成功提取,并且要确保 RHEL6.iso 放在分区 /dev/sda7的根目录下。  

建议将 RHEL6 的 boot loader 安装在第二块硬盘上,这样你可以在开机时选择 F12 进入选择启动设备,这时选择第二块硬盘就可以直接引导 RHEL6了。你也可以选择修改 Ubuntu 的 /boot/grub/grub.cfg 来使用 Ubuntu 的 bootloader 引导 RHEL6 启动。