最近本網誌慘被枕邊人說成「瘋人瘋語」!但想深一層,不明此網誌的人真的會覺得只是一個瘋人在說瘋語,不過我又樂在其中。

說回正題,這兩星期是外訪周,上周要走訪幾間中學,今天到沙田找楊大哥(這篇網誌在他學校完成的);主力要向眾人介紹ZFS。如果兩位楊校長及陳博士都收貨的話,其他人都應該可以過關的!在探訪的過程中,除了講述上文提及的ZFS的好處及彈性外,主打就是令人感動的snapshot功能:

Snapshot就是一個快照功能,可以看成是一個備份。不過這快照會紀錄檔案系統的改變,而不是將整個檔案系統複製一次,所以就會十分慳位,每個都只是幾KB至幾十MB。由於慳位,所以每數分鐘就可以做一次!

下面是backup主機的快照: 
------------------------------------------------------
[root@ip86 /home/.zfs/snapshot]# ls
auto-2010-06-21_13.00   auto-2010-06-23_13.00   auto-2010-06-25_13.00
auto-2010-06-21_16.00   auto-2010-06-23_16.00   auto-2010-06-25_16.00
auto-2010-06-21_19.00   auto-2010-06-23_19.00   auto-2010-06-25_19.00
auto-2010-06-21_22.00   auto-2010-06-23_22.00   auto-2010-06-25_22.00
auto-2010-06-22_01.00   auto-2010-06-24_01.00   auto-2010-06-26_01.00
auto-2010-06-22_04.00   auto-2010-06-24_04.00   auto-2010-06-26_04.00
auto-2010-06-22_07.00   auto-2010-06-24_07.00   auto-2010-06-28_08.30
auto-2010-06-22_10.00   auto-2010-06-24_10.00   auto-2010-06-28_09.00
auto-2010-06-22_13.00   auto-2010-06-24_13.00   auto-2010-06-28_09.30
auto-2010-06-22_16.00   auto-2010-06-24_16.00   auto-2010-06-28_10.00
auto-2010-06-22_19.00   auto-2010-06-24_19.00   auto-2010-06-28_10.30
auto-2010-06-22_22.00   auto-2010-06-24_22.00   auto-2010-06-28_11.00
auto-2010-06-23_01.00   auto-2010-06-25_01.00   auto-2010-06-28_11.20
auto-2010-06-23_04.00   auto-2010-06-25_04.00   auto-2010-06-28_11.30
auto-2010-06-23_07.00   auto-2010-06-25_07.00   auto-2010-06-28_11.40
auto-2010-06-23_10.00   auto-2010-06-25_10.00   auto-2010-06-28_12.40
------------------------------------------------------

如果真的要找回被人誤刪的檔案,只需進入個別快照,抄回那個檔案至系統即可! 
------------------------------------------------------
[root@ip86 /home/.zfs/snapshot]# cd auto-2010-06-28_12.40/
[root@ip86 /home/.zfs/snapshot/auto-2010-06-28_12.40]# ls
30th_dinner     info            parents         temp1
chanwk          ip90_etc        students        try
friends         openbsd         teachers
------------------------------------------------------

下面是快照的資料:前面的數字就是快照的大小,後面是整個tank的使用容量! 
------------------------------------------------------
tank/home@auto-2010-06-28_09.00   43.2K      -   129G  -
tank/home@auto-2010-06-28_09.30   43.2K      -   129G  -
tank/home@auto-2010-06-28_10.00       0      -   129G  -
tank/home@auto-2010-06-28_10.30       0      -   129G  -
tank/home@auto-2010-06-28_11.00       0      -   129G  -
tank/home@auto-2010-06-28_11.30       0      -   129G  -
tank/home@auto-2010-06-28_11.40       0      -   129G  -
tank/home@auto-2010-06-28_12.40       0      -   129G  -
tank/home@auto-2010-06-28_12.50       0      -   129G  -
tank/nfs@auto-2010-06-25_04.00    31.5K      -  6.49G  -
tank/nfs@auto-2010-06-26_04.00    31.5K      -  6.49G  -
tank/share@auto-2010-06-25_04.00  15.9M      -  29.4G  -
tank/share@auto-2010-06-26_04.00  13.7M      -  29.4G  -
------------------------------------------------------ 

相信大家都會發覺,home資料夾會十分鐘做一次快照、nfs及share就會每天才做!因為大家有不同的重要性,home是全校的家目錄,其餘只是一些普通的網站備份。home的快照會隨著時間而刪除,所有快照就會保留七天,但中間只會保留三十分鐘(較新的)及三小時(較舊的)的快照。

經過幾位高人的法眼,都一致認同此方案可以幫助學校解決現今的伺服器管理及備份問題。亦一致地決定引入此系統,真的令人感動!
 

在早前的分享會,提及到伺服器管理及備份方案。除了Shell Script及FreeNAS這個「即食麵」外,當然要介紹ZFS。

ZFS是由Sun提出的,跟著就移植至FreeBSD;現在只有Solaris/Open Solaris及FreeBSD可以運行!ZFS是一個128-bit的檔案系統,號稱「The Last Word in Filesystems」。介紹可在下面找到:

ZFS - 維基百科
這般「潮」的檔案系統,當然要找一部機先試試,成功後就可以將其他伺服器慢慢轉換。
經過一輪測試後,相信這是一個好用的檔案系統,於是便添置硬件去砌機:

買來一塊BioStar底板,內有六個SATA插口,CPU為AMD Athlon(tm) II X2 240 Processor (2800.28-MHz K8-class CPU)及4GB RAM。先用20GB IDE硬碟去裝FreeBSD 8,之後一口氣放入了六隻1.5TB的硬碟。

只需一個指令,便可建立一個RAID 5的Storage Pool(tank)。

zpool create tank raidz1 /dev/ad4 /dev/ad6 /dev/ad8 /dev/ad10 /dev/ad12 /dev/ad14 

要多少時間才建好?少於一分鐘吧!之後便可以有6.5TB的空間立刻使用了。 

[root@ip86 ~]# df -h
Filesystem                          Size    Used   Avail Capacity  Mounted on
/dev/ad18s1a                     15G    3.1G     11G    22%    /
devfs                               1.0K    1.0K      0B   100%    /dev
tank                                6.5T    128K    6.5T     0%    /tank

如要在tank內做一個volume(home),只需輸入另一個指令(合共兩個指令而已):

zfs create tank/home

在上述指令中,可以設定compression及quota等選項。

 

經過這兩個步驟後,伺服器已有相當空間給自己使用。但這般大的儲存系統,最好可以作為全校的總儲存裝置,給其他伺服器共用!這便形成了一個Storage Area Network的雛型了。這部份會在隨後的網誌再討論! 

但是這個檔案系統對學校的IT管理有甚麼好處?在我看來,除了價錢平之外(不計硬碟,硬件只需二千多元吧!),最重要是它的靈活性:它的RAID是可以跟隨硬碟變大的,例如我將其中一隻壞的硬碟換了一隻更大容量的,它也可以接受,並即時加大整個容量。這在從前的世界是不可能發生的!另外,它的備份功能亦十分厲害,足以令所以的IT老師及TSS感動,這個亦會跟著再發表。

註:ZFS暫時並不適合作為FreeBSD的根目錄檔案系統,所以要用20GB IDE Hard Disk來安裝。 

 

 

五月及六月主持了幾場的分享會,內容是伺服器管理及備份方案。又是將李一諤經驗與與會老師分享,反應尚算理想!

當中提到本校有二十台伺服器,都是安裝FreeBSD的。詳細資料可參考下面的連結:

本校的資訊科技介紹

老師們都覺得很奇怪,為何我們有這麼多的資源去添置硬件?因為我們本著「知機善任、各司其職」來安排伺服器的工作,我們不介意用舊的或二手的硬件,前題當然是要運作良好。。

首先,那些伺服器並不全是正統的伺服器,可能只是一部個人電腦的硬件,不過安裝了FreeBSD,並全日運作。例如:

1‧學校的主網站就只是一個價值二千元的「黃金機」。

2‧DNS就用四部Sun Sparc的舊伺服器,並改為安裝FreeBSD 8 sparc64版本。

3‧LDAP伺服器就用了一部Pentium III舊伺服器。

4‧老師簽到的伺服器就用了一部舊SAMS伺服器。

這些的伺服器就可以用一般的配置,不用高級的硬件!

當中,最近購入了兩部NEC 1U伺服器,平均每部價值一千八百多元(因為分兩次買:($1980+$1780)/2)。硬件資料及相片就如下:

------------------------------------------------------

CPU: AMD Opteron(tm) Processor 250 (2392.55-MHz K8-class CPU)
Origin = "AuthenticAMD"  Id = 0xf5a  Stepping = 10
  Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
  AMD Features=0xe0500800<SYSCALL,NX,MMX+,LM,3DNow!+,3DNow!>
real memory  = 4227268608 (4031 MB)
avail memory = 4065804288 (3877 MB)
ACPI APIC Table: <PTLTD          APIC  >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 2 package(s) x 1 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1

bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x2003> mem 0xfe010000-0xfe01ffff,0xfe000000-0xfe00ffff irq 24 at device 1.0 on pci2
miibus0: <MII bus> on bge0
brgphy0: <BCM5704 10/100/1000baseTX PHY> PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge0: Ethernet address: 00:11:09:74:d2:46
bge0: [ITHREAD]
bge1: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x2003> mem 0xfe030000-0xfe03ffff,0xfe020000-0xfe02ffff irq 25 at device 1.1 on pci2

da0: <SEAGATE ST336753LC 0006> Fixed Direct Access SCSI-3 device
da0: 320.000MB/s transfers (160.000MHz, offset 63, 16bit)
da0: Command Queueing enabled
da0: 34688MB (71041024 512 byte sectors: 255H 63S/T 4422C)
da1 at mpt0 bus 0 target 1 lun 0
da1: <SEAGATE ST336753LC 0006> Fixed Direct Access SCSI-3 device
da1: 320.000MB/s transfers (160.000MHz, offset 63, 16bit)
------------------------------------------------------

這部電腦現在做了全校的網址過濾防火牆,效能十分良好。最新消息是那舖頭現在只剩下六部未買出!

當然,本校也有一些非常貴重的伺服器,主要作為電郵及osTube之用,每部價值兩萬多元,不過效能感覺與這部千多元的伺服器差別不大!最多的分別就是用了大錢,感覺比較踏實,又可有原廠保養吧!

另一部NEC將會做甚麼?與ZFS相配搭做一個Storage Network。

 

在李一諤的IT發展中,除了應用FreeBSD是一個里程碑外,引入OpenLDAP亦是一個十分重要的措施。FreeBSD帶給我們速度、穩定及信心;OpenLDAP則令戶口及密碼管理更容易,變相令推動資訊科技更有效率。

OpenLDAP是一個目錄服務,除了密碼外,亦記錄其他的個人資料,如:登入名稱及全名等。它可以將數個OpenLDAP伺服器連在一起,作replication之用。李一諤現在有十個這樣的伺服器,"ldap.lynms.edu.hk"作為master,其餘就做slaves。這樣的做法,好處是可以備援,亦可分散工作量;最重要是各伺服器的密碼可以保持一致。

我們現在提供一個網頁介面去讓使用者更改密碼:(如下圖)

lynldap
 

使用者在上述頁面改動密碼後,其他伺服器也會跟著更動。

現在可用LDAP的服務有: mail、ftp、ssh、jabber等!

 

這是一個很簡單及有效的方案。以本校的教師簽到系統為例,只需要將MySQL每天備份一次即可。當然要安排電腦何時做此動作(每天早上五時執行):

[root@ip96 /backup]#crontab -e
加入下面的字句:
0 5 * * * /etc/lyn_backup

Script的內容如下:
tar -zcvf /backup/mysql_backup/teasign.db.`date '+%Y%m%d'`.tgz /var/db/mysql/teasign/

系統便會將每日的資料備份至"/backup/mysql_backup/"文件夾中,並會加上日期呢!

-rw-r--r--  1 root    wheel   1406380 May  1 05:00 teasign.db.20100501.tgz
-rw-r--r--  1 root    wheel   1406380 May  2 05:00 teasign.db.20100502.tgz
-rw-r--r--  1 root    wheel   1406380 May  3 05:00 teasign.db.20100503.tgz
-rw-r--r--  1 root    wheel   1407341 May  4 05:00 teasign.db.20100504.tgz
-rw-r--r--  1 root    wheel   1408339 May  5 05:00 teasign.db.20100505.tgz
-rw-r--r--  1 root    wheel   1409241 May  6 05:00 teasign.db.20100506.tgz

如果能將這些檔案備份至其他NAS或SAN中,安全會更有保障。

要寫這個,是因為要做工作坊。同時因為工作坊時間短、內容多,只好讓老師回家做吧!

(下面連結有效至30-6-2010)

1.下載http://staff.lynms.edu.hk/iso/usb_img/img/ubuntu10048gc.img到視窗的"c:"碟中。

2.將http://staff.lynms.edu.hk/iso/usb_img/g4l/g4l-v0.33.iso下載並燒錄成開機光碟。

3.利用G4L光碟開機,並等待畫面如下:

4.插入空的8GB手指,並留意出現的編號(如下圖即表示該手指為sdb):

5.輸入指令"g4l":

 

6.請選"RAW Mode":

7.請選"Local use":

8.選Pick drive, 並選擇sda1(即"c:"碟的名稱,這個可能會改的,小心!):

9.再選IMG檔名(ubuntu10048gc.img): 

10.之後,就是要選"F. Restore",並用SpaceBar在sdb前按出一粒"*"(要用整個sdb的手指):  

11.再看多一次,無問題就按"Yes":  

12.最後,等呀等:   

註:

1.密碼會在工作坊上公佈;

2.該IMG不會定時更新,如下載使用可能會有風險,並請自行更新。

最近參加到了一個華東五天旅行團,一家三口外出遊玩一番。

這個旅行令我印象深刻的,不是那個天天去不同城市的行程,而是我們那位小寶!

他已經第二次跟團,第一次年紀太小,作不出惡;今次就來一個大爆發。

不論在車上、或是參觀景點,都好像上堂一樣,踴躍發言。閒來又會與他人說說他的投資及玩具,亦會用普通話與內地人交談等等...

很快便有些渾號出現了:小天才、才子、神童等等,但他聽來就好像沒甚麼反應,我們就一味苦笑,亦深怕他信以為真,自大自狂。

幾天下來,情況開始不受控,他變得越來越興奮。到了第四天的晚飯,他得到媽媽的教訓。幾小時後,在黃浦江上,他又再口不擇言,我迫他向人家道歉,之後又再哭了!這次真新鮮,他居然可以企著來睡覺(他是從不在交通工具上睡覺的,因為要觀賞周圍的環境。),最後我要抱著他到那些桌子上睡。那時我真後悔,不知遲些要否抱著他上岸?早知便在酒店才教訓他!幸運地,船泊岸時他便自動起身了。我有絲絲懷疑他假睡呢!

其實,寫這篇文章,都是來個反思,這些表現是我小時的行為,相信是遺傳自我吧!那麼在他長大後,是會變得沉默的!

那天是零七年二月二日,受到同事的邀請,一起到海下參與生態遊活動。當日的重點一定是玻璃船了,亦拍攝了一些影片!

下面就是那隻很大的水母:

 

為甚麼會有不堪回首的感覺?因為在兩星期後,父親就中風入院,一月後就離世。該日彷彿就是帶來傷痛的開始:十多天的心情起伏、坐立不安。中間還夾著農曆新年,團年飯獨缺了「一家之主」,是這麼多年的唯一一次。那時就會懊悔為何我不是醫生,還要是腦科的,這樣就不需要假手於人了!但想深一層,我也是「腦醫生」,不過專注為電腦伺服器換OS罷了!

兩年半後的今天,我才可將那些影片放上osTube,不知那隻大水母還健在否?

這個標題起得有些特別,原先是應用在二人相處的「神奇數字」;怎麼會用在電腦上?

話說兩星期前學校的其中一部重要設備--SAMS router出了問題,技術員黎生早上致電給我,說火牛壞了;我便請他更換。他說他已換了,但網卡又好像不通;我又請他換另一張網卡及用指令check 個網絡是否開通等......

就是這樣搞了半小時,他不來電話了,即是代表SAMS router又再投入服務了。

回到辦公室,看看可否遙控那個Router。成功,又再見回老朋友了!反正都登入了,便順手check一check部機。一看,就見到這部老朋友是在二零零二年四月三十日安裝,已運作了整整七年。記憶中,沒有任何損壞報告,只是搬過一次家而己。

home目錄資料如下:

drwxr-xr-x   3 root  wheel      512 Apr 30  2002 home

本來這不是甚麼的big deal,一般的網絡設備可能也有此壽命。但其實這是一部運行OpenBSD 3.0的舊電腦,資料如下:

OpenBSD 3.0 (GENERIC) #94: Thu Oct 18 14:48:27 MDT 2001
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD K6-2 ("AuthenticAMD" 586-class) 401 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX
real mem  = 196718592 (192108K)
avail mem = 176828416 (172684K)
using 2426 buffers containing 9936896 bytes (9704K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(aa) BIOS, date 01/28/00, BIOS32 rev. 0 @ 0xfb400

它未做這份差事時,已被用上一段時間了。即是說,這部電腦己是一個古董。

整件事的重點,是反映開放源碼軟體對資訊科技教育的影響是深遠的:

回想那年要換WebSAMS,教育當局為了公平原則,所有學校都派相若的錢去換機。採購物品包括:伺服器、路由器、HTTP伺服器及工作站等。但是我們想添置多些工作站給老師用,於是在徵得當局同意後,只將錢用來買伺服器及更多工作站。其餘的路由器及HTTP伺服器就用校內的舊機吧!這是一個困難而正確的決定,但需有無比的勇氣--因為本校相信是唯一一間用自建路由器的。

經過一輪苦幹後(其實過程已開始淡忘),自製路由器的設定終於成功了。那次之後,本校可以有十部WebSAMS工作站,而且全都配上LCD(那時是CRT的年代)。一般學校只可買三至四部吧!這些只是看得到的好處,看不到還包括零管理及擴展性方面。當然,一般學校是不會或不懂去管理路由器,但我們可以自行開放或停止一些網絡服務到SAMS網絡;最重要還可在需要時,可升級路由器的軟件及硬件。例如:操作系統及網絡卡等。這些都是硬件路由器不能做的!

還有一件有趣事就是教育當局知悉我們沒有購買路由器後,便以為我們不顧安全,將WebSAMS與ITEd網絡放在一起。及後,要我們寫信解釋我們是自建,不是不用,他們才放心! 

現在已有三間學校用這個方案,遲些還有另一間。因為早前有位舊同事告訴我,他的學校的路由器壞了,供應商要收三千多元。他也要自建呢!

 

前兩晚,璋璋嚷著叫我教他數學,他說路老師教的他不太明白。其實由星期日我已說要教他,只不過他實太忙,又不懂善用時間,以致沒有空檔給我教他。

課題是除法的直式,這是一個不簡單的課題。因為要一位二年級的小朋友了解當中那個是被除數、除數、商數及餘數,都不是容易的事,所以要從實際例子入手。再將例子寫成直式,要他牢記了便可以。完成了一題,再多討論幾條題目,便教完了。他亦全部掌握,數學老師亦可下課。

這是我一貫的教學方法,先完全弄清楚一個事例,再以數學方式演示。完成後再討論多一兩條相似但更深入的題目,整課就教完了!堂課及家課便是這個課題的延伸,是幫助同學去記憶及應用的。

至於為何不主動地教璋璋數學,是怕他早學會了,上課時不專心,或是變得有恃無恐,又或是養成倚賴家中的兩位老師。所以這部份是要拿捏得很準繩的。做父母真不簡單啊!

 

 

早前有人留言希望可知道一些RAID在FreeBSD的應用,現在就來寫它一寫。但寫的時候,亦難免會勾起一些不快回憶。因為本人在IT上的最大災難就出在RAID 5之上。那次是可以整台電郵伺服器全部資料都消失得無影無踪,幸好老闆及同事們都很體諒,才不致出大事!同時,亦不忘提點自己:請各同事自己定期做好備份的工作。

言歸正傳,FreeBSD內可以用Hardware RAID及Software RAID。Hardware RAID最易用,因為只需底板及硬件支援,在開機前build up個RAID即可。及後安裝FreeBSD時,自動便當成一隻硬碟,照著一般的做法安裝即成。但壞處是不能將個RAID改動,否則災難會隨時降臨。

至於Software RAID,其實歷史都不太短了。從前的Red Hat 7/8/9年代便有,但我一直都不敢用,因為總覺得效果會不太理想。直至早前要幫Doctor間學校起osTube,他真是盛意拳拳,買了四隻600GB的硬碟給我。於是便用這個去做:

[root@wetube /]# df -h
Filesystem                Size    Used   Avail Capacity  Mounted on
/dev/ad8s1a               572G     17G    509G     3%    /
devfs                     1.0K    1.0K      0B   100%    /dev
/dev/gvinum/raid5_vol1    1.1T     22G    1.0T     2%    /usr/home/schoolweb/

先用第一隻HDD去安裝整個FreeBSD,其餘三隻便按下面的連結的方法去做RAID 5:

連結

運行至今,這部機都是安全和可靠的!阿彌陀佛! 

 

在前幾天,校長發表他的講話;我便請黎先生加入「校長的話」網誌。這個動作都是行之有效,應該沒有甚麼難度。

但奇怪的地方是,加入完成後再看看,發覺得出的是完全的空白頁,內裡是很少HTML code的。不論用FireFox或IE 6及7去看,也是相同結果。最後又是刪除cache、重新啟動服務、重裝等。搞了一整天亦不得要領,便睡了再說。

今早起來,想去再試試,又可以看到了,但其實我甚麼也沒做。高興之餘,又是整個腦袋也是問號。 

於是將這事件列入X_Files。

 

今天早上和陳彥仔一起上學,只有我和他,就可以談很多的話題。由昨天的二百人介紹會、時間管理、醉酒害了六條命的司機、迷途的鯨魚、再到股票投資,最後提到這個網誌。

其實每個話題,都是希望他從事件中有所得著。長大後可以自我管理及負責任,善用時間,精於理財,不受金融機構欺負,做一個有用的人。每個父母都希望自己的子女如此,所以都給子女一個有意思的名字。

至於常在網誌內提及,是因為他是我倆的縮影。看到他,就像看到從前的自己:我的外貌,媽媽的內心。

陳彥仔,明白未?

昨天是外出的支援日,走了幾場,沒有車子的話就不能做這麼多事了。先到沙田大圍去救電郵伺服器,有空檔便回自己學校救LDAP,之後再到青衣傳授如何使用Lifetype。

原本看似簡單的任務,也會出現「狀況」。在那裡?就是自己的學校。

話說早上救回電郵伺服器後,便回校救LDAP,它己經闊別在線兩星期了!因為之前將它升級至FreeBSD 7.1,之後便不能正常開機了。但救它用不了多少時間,距離下一個約會還有些時間,又想起可以升級至PHP5.2.9。因為PHP5.2.8的GD有安全漏洞,長時間都沒有新的ports tree公佈,心裡始終有一條刺。看到可以升級,便把心一橫,先用ostube那部機試試吧!

升級的步驟並不新鮮,只需清了舊的PHP及PECL,再裝回即可!一切看似簡單,但危險經已在前面......

升級後便要重啟網頁伺服器,跟著所有網站(一機host多網站)便出現error。隨後的六個多小時,便忙碌了!重裝、重裝、再重裝,頭頂滿是問號,又夾雜著無奈、後悔、憤怒、無助、恐懼、悲哀!上網又找不到方法,只好將一些較重要的網站搬至其他伺服器,再改DNS(自己host的好處就在此)。回家思索後,將範圍收窄至PHP5-pcre。咦,找到問題的根源了!因為那個套件並沒有將所有的settings加入,以致出現error。之後,看回心愛的ostube,真是彷若隔世。

其實,今次也算不幸中之大幸。首先是只影響自己學校,同時時間也不太長(但短些更佳)。最後,今次提供了一次很好出汗的機會,我的整個背部也濕了!

最近我重操故業,做了璋璋的「補習老師」。每晚都坐在他身邊看他做功課,因為他的老師們(不論日校或公文式)都投訴他的「墨寶」,全是「行書」,甚或「狂草」。 還直接影響了他的默書成績......

為何之前不做? 因為有理論說不可在太年幼時去練字,亦不想他有依賴我們的心。但發覺情況有些不妙,都是時候要出手了。否則,就應了「養不教,父之過;教不嚴,師之惰!」因為我有這雙重的身份呢!

經過個多星期,好評不絕!公文教室更給了一個「字體進步獎」給他,又將他的字貼出來。他知道後,更「感動」了多次(即眼泛淚光)。

可能我也受了激勵,也強化了自己的行動,昨天便對他更嚴苛。本來也無事,徧徧給媽媽開解,又遇到家傭的垂詢,跟著便一發不可收拾。去到激動處,就說我誤會他,寃枉他沒有用間尺來間直線。但素來我面對指責,也會冷靜處理;今次還多了幾分容讓。

媽媽今次笑得很開懷,還說前半生有她自己「無理取鬧」;現在到他來接力云云。但之後再問他要誰給他補習,他還是選我。