Sunday, December 31, 2006

22 Dec 2006 Christmas for Folks的活动报告

(懒了很久。今天心情好,赶快写一个活动报告…)

上次我自告奋勇说要加入策划服务中心的活动,22 Dec的 Christmas for Folks就是第一个。

不过后来也没有什么策划到。活动的大概一个星期前,我去服务中心找 Seow Hong 开会,Seow Hong 已经把流程都安排好了。11am布置,12 - 2pm活动。

Seow Hong说,我负责游戏就可以了。惨,我要想给年长者的游戏。年长者的行动迟缓,游戏要慢,不用移动,大家都能玩的。难过,怎样想? 而且我最怕用脑想了。幸好 Seow Hong 提议了传东西的概念,我们激荡讨论了之后,出了两个游戏。

所以活动的细节如下:
5-10分钟  牧师讲圣诞节的故事
15分钟   传气球游戏 (1)
1小时   吃午饭
15分钟   唱圣诞歌
15分钟   用吸水管传胶圈游戏 (2) (Optional)
10分钟   交换礼物

(1) 年长者随着音乐传气球。音乐停止,谁手上有气球,牧师就发问。问题来自之前讲的圣诞节故事。

(2) 分组竞争用吸水管传胶圈。(后来发现,给年长者分组其实很麻烦。不过我已经设计出一个适合团体围圆圈玩游戏的阵法。改天才写。)

过了一个平静的礼拜,活动当天,刚好也是冬至。那天风很大,布置圣诞节的饰物有点麻烦。当年长者和食物(很多食物,包括汤圆) 陆陆续续到达之后,活动开始。Seow Hong 直接把麦克风交给我,说你去主持吧。我傻眼,我几时是主持人了? 还有,牧师勒? Seow Hong 说没有牧师,直接玩传气球游戏。

要命,我没有主持经验。但说什么我都是受过 YAH 培训的催化员,所以我二话不说,就跳出去假装一下。所以之后讲话含糊不清,没有条理,中英并用,到底合不合格? 我不知道,只有 Tricia 知道。

没有牧师讲故事在先,我不知道要如何处罚年长者,要罚他们讲圣诞节故事吗? 幸好这些年长者有些是 K 歌和舞蹈高手,请他们上来唱歌跳舞,还行。主持过程中,脑里面我回忆陈树承如何主持普威之夜,所以后来我第一个问题就问他们的名字,那里来,怎样来。不然,空空洞洞的,冷场,我不知道要和年长者讲什么。

除了开头的这个意外,其他的吃午饭,唱圣诞歌,传胶圈游戏,交换礼物的流程就如计划进行。当然,进程颠簸,不过还可以。

照片:
http://picasaweb.google.com/yangchengsoon

回馈:
1. 饭,应该不要淋太多汤汁,因为纸盘都软了。
2. 如果有行动不便或记忆力不好的年长者,我们可以请义工特别盯住他们。

Tuesday, December 12, 2006

OracleAS1012 vs OracleAS1013

A minor version difference between the number 1012 and 1013, however the underlying mechanisms and libraries have huge changes.

AS1012AS1013
JDK Version1.4.21.5
JDBC Versionclasses12.jarojdbc14.jar
Corresponding JDeveloper VersionJDeveloper 1012JDeveloper 1013
ClusteringManual joining server farm via EMDynamic Discovery with broadcasting address in opmn.xml
JSF SupportNeed extra tweakingSupported
WEB-INF/web.xml (plain)Define namespace such as xmlns:xsi, xsi:schemaLocation, etc, which is not compatible with AS1012
Misc Java librariesWorking with JDK1.4.2Working with JDK1.5. Not completely compatible with AS1012.
Startupopmnctl and emctlopmnctl

Enterprise Manager

http://machine:1810http://machine/em

The above are the list of difference I have encountered.

What it means is that, at this point of time when you develop web application, you need to explicitly synchronize Oracle AS version and environment.

For example, you use JDeveloper 1013 to develop web application and deploy it into OracleAS1013 only. If you try to deploy it into AS1012, it is very problematic. You need to manually edit web.xml and bundle older underlying libraries (such as classes12.jar) into your EAR file.

Friday, December 08, 2006

Burning CD for Linux and in Linux

Reference:
1. http://linuxlab.dk/tipsntricks/cdburning
2. http://sourceforge.net/projects/jcdwriter/

Burning CD/DVD for Linux and in Linux is quite a challenging experience.

Oracle softwares are downloaded in cpio format and come in multiple disks. It is disk space and time consuming to extract each cpio each time. So, my idea is to create 1 DVD to consist of all multiple CDs, hence save the trouble to swap disks.

For example, DVD_ROOT:
+ AS1012
+ Disk1
+ Disk2
+ Disk3
+ Disk4
+ AS1013
+ Disk1

Intuitively I simply extracted cpio in Linux, ftp the extracted files to Windows, then use Roxio CD Creator to burn DVD.

Problem: Windows-burned DVD has lost the ownership and execution privilege of all files. I cannot simply “runInstaller” off the DVD. The DVD is useless.

Hence, the next plan is to burn DVD directly on Linux and hope that Linux will keep the correct execution privilege.

By default, Linux has already come with 2 command line utilities to produce CD/DVD:
1. mkisofs - create the iso image of the files.
2. cdrecord - burn CD from iso image.

There are 3 steps to produce CD in Linux:

1. Produce ISO image.

% mkisofs -graft-point -R -J -l -D -o /tmp/filename.iso /AS1012/=/tmp/OracleAS/AS1012/ /AS1013/=/tmp/OracleAS/AS1013/

... where,
-J : Generate Joliet directory records in addition to regular iso9660 file names. This is primarily useful when the discs are to be used on Windows-NT or Windows-95 machines. The Joliet filenames are specified in Unicode and each path component can be up to 64 Unicode characters long.

-l: Allow full 31 character filenames.

-D: Do not use deep directory relocation, and instead just pack them in the way we see them.

The above 3 arguments are necessary. Otherwise default Linux-burned CD will have seriously messed-up filename (capitalized and truncated) and directory structure (relocated deep directory).

2. Detect the CD-Writer.

% cdrecord -scanbus
Cdrecord-Clone 2.01-dvd (i686-pc-linux-gnu) Copyright (C) 1995-2004 JÃrg Schilling
Note: This version is an unofficial (modified) version with DVD support
scsibus2:
2,0,0 200) '_NEC ' 'DVD_RW ND-1300A ' '1.0B' Removable CD-ROM
2,1,0 201) *
2,2,0 202) *
2,3,0 203) *
2,4,0 204) *
2,5,0 205) *
2,6,0 206) *
2,7,0 207) *


3. Burn CD from ISO image.

% cdrecord -v dev=2,0,0 speed=2 --eject /tmp/filename.iso

... where
dev=devicename:scsibus,target,lun is the id of the CD-Writer scanned from step 2.
--eject: Eject after burned CD.