2008年7月26日 星期六

People know we are from CUHK because......

1, we consider Shatin as a luxurious place to hang out
2, meals cost higher than 10 bucks are expensive to us
3, a pair of slippers is our all-time fashion
4, we are good at jogging.
5, we don't really *admire* hall cultures
6, we are pissed off if we miss the school bus.
7, we like yum cha in UC can
8, we are afraid of IT test.
9, Kowloon Tong is a totally different world for us.
10, we never swim in campus
11, we never have hair-cut in campus
12, we went to "Tai Yuen" to have late dinner at night.
13, Sha Kok is an alternative for late dinner.
14, we know Shatin better than people living there.
15, we hate mosquito more than shit.
16, we are more "fashionable" than other Uni students in HK.
17, we have at home too many camp tees with various uncaccetable colours .
18, we like making 47.
19, we have sense of belonging to our college.
20, we need to spend 15 mins every morning to queue at the bus stop.
21, Maxim is a good resort for dinner.
22, we miss 果道.
23, we like making *weird short forms for convenience purpose. e.g. 中同,大同,組聚......
24, we may not get a student accomodation even we live on Hong Kong Island.
25, We start being less picky on the taste of food.
26, We never know the origin of the name "Million Avenue", and we are not interested in it.
27, Usually clinic keeps your body healthy. BUT going to Clinic takes risk to your health.
28, We like doing exercise soooo much that we can hardly skipi any single PE lesson.
29, Bik Chau is our second home during "deadline" period.
30, We are jealous that HKU and LKF are so near.
31, We know that frog shouts louder than birds do at night.
32, We have a well-designed stdent cards中大通.
33, We sing "happy corner to you" instead of happy birthday to you, more than once a year.
34, We spend more time climbing up and down as working out than in the gym
35, We dont go to united bars with exchange students instead of locals!
36, We know how to climb up the hill in the shortest time, mainly by the art of taking elevatorS
37, We calculate how much time you spent in Pi Chiu in terms of NIGHTS literally not hours
38, We enjoy high quality of life - we get used to eating by swimming pool.
39, CUHK is a romantic place for dating for us, especially at night.
40, Shopping in Pakin shop in campus is an entertainment, pathetically.
41, our campus is more like a university than our "rival" university.

2008年7月7日 星期一

DNS系統的強化與保護

前言:
  隨著網路服務的進步,DNS 伺服器管理與維護問題也愈來愈受到重視。DNS 運作主要
目的是將主機名稱 (hostname) 對應到 IP 位址,近年來 DNS 服務傳遞的資訊常發生被
竄改、惡意詐欺…等事件,可能造成使用者的重要資訊在不察的情況下被盜取。舉列而言
,像是透過 DNS Spoofing 技術,竄改正確的 DNS 名稱查詢服務回應,導致使用者權利
受損。

為避免上述情況發生,本文將以身為 DNS 管理者日常應如何維護 DNS 伺服器之介紹為主
,說明 DNS 系統查詢或 log 檔觀察所應注意的事項,另介紹 TSIG 的實作與 SIG 的簡
易說明。

一、DNS 管理者的日常工作
  做為 DNS 伺服器管理者,除了需注意查看 DNS 系統是否正常存活之外,仍需檢查系
統紀錄,可透過檢查系統紀錄中發現是否有些異常的事件發生,底下將教導以簡易的方式
來監看 DNS 伺服器的正常性與安全性。

1.查詢 DNS 系統是否正常:
  指令(一):nslookup,主要是用來查詢網域名稱與 IP 對應的偵錯模式。它隨附在
BIND 套件中發行,但由於 nslookup 有缺點存在,BIND 9 所流通的套件已將逐漸淘汰、
不再維護,但仍因其使用普遍,故仍以予介紹。
語法:nslookup [-option ...] [host-to-find | -[server]]
簡易範例:
[root@dns root]# nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the 'dig' or 'host' programs instead. Run nslookup with
the '-sil[ent]' option to prevent this message from appearing.

查看目前的 DNS 系統是哪一台:
>server
Default server: 168.95.1.1
Address: 168.95.1.1#53

將目前的 DNS 系統轉移到要查詢的 DNS 系統上:
> server dns.mis.stu.edu.tw
Default server: dns.mis.stu.edu.tw
Address: 210.71.14.66#53

指定要查詢 DNS 系統底下的某一特定 domain name:
> www.mis.stu.edu.tw
Server: dns.mis.stu.edu.tw
Address: 210.71.14.66#53

Name: www.mis.stu.edu.tw
Address: 210.71.14.65
>

以上是透過使用 nslookup 指令來查詢 DNS 系統是否有異常,若查詢到 domain name 與
IP 沒對應時,則管理者需注意查看 DNS 系統設定是否有誤或是可能被入侵…等問題。

指令(二):dig,藉由對 DNS 伺服器來對 domain name 做查詢。
語法:dig @dns_server domain
簡易範例:
[root@backup root]# dig @dns.mis.stu.edu.tw www.mis.stu.edu.tw
; <<>> DiG 9.2.2-P3 <<>> @dns.mis.stu.edu.tw www.mis.stu.edu.tw
;; global options: printcmd
;; Got answer:
……
;; QUESTION SECTION:
;www.mis.stu.edu.tw.      IN   A
;; ANSWER SECTION:
www.mis.stu.edu.tw.  3600   IN   A   210.71.14.65
以下結果將省略

當查詢結果中若沒”ANSWER SECTION”的話,即欲查詢的 domain name 是不存在的。

2.檢查系統紀錄:
以 Linux 系統為列,事件紀錄檔通常存於 /var/log 底下,當系統管理者要做一般日常
工作檢查時,需檢查的 log 檔如 corn、messages、secure 這三個檔案。corn 作用在
於紀錄定時起動的事件,messages 作用在於系統紀錄檔,secure 作用在於登入者資訊。
定期的檢查事件紀錄檔能有助於回溯事發狀態。

(1).corn Log:用來紀錄crontab 例行服務的內容。
(2).messages Log檔:是系統中最重要的紀錄檔,系統發生的錯誤訊息或重要資訊都將記
錄在此檔案中。此外,此檔需經設定,否則光伺服器的啟動、使用者狀態等等紀錄相加起
來是個很龐大的檔案。
(3).secure Log:作用在於記錄並統計使者用者登入系統存取資料、服務相關的訊息,如
telnet、ssh、ftp 等都將被紀錄在此檔案中,從此檔案可觀察出是否有不正常之登入情
況。

二、一般強化功能
1.ACLs:存取控制清單 (Access Control Lists),主要目的在於產生具名的位址配對清
單。在此也介紹位址匹對清單,其是一份設定項清單,可包含單一的 IP 位址、IP prefix
或一個具名的 ACLs。
語法:acl “name” { address_match_list };
   address_match_list:位址匹對清單。
範例:acl “mis”{192.168.200.15,192.168.143.192/26};

2.Forwarders:代詢伺服器機制,它將自己無法解析的查詢轉送到某特定的伺服器。
語法:forwarders ip_address_liest
範例:以下是建議的 forwarders 設定(在/etc/named.conf中)
   orwarders { // 指定提供查詢的上層 DNS。
   www.twnic.net.tw ; // 到上層 (twnic) 的 DNS 查詢。
   };
需注意的是通常我們指定的是到本身上一層 dns,但也可能因 dns cache 有誤而轉送到
錯誤的伺服器上。盡可能的讓上一層指向到像 twnic 或較正常組織比較安全的 dns 上,
這樣的指定較有公信力,不要讓伺服器隨便指到另一台伺服器上面。

3.allow-transfer:目的在於只允許授權的網域主機能更新、讀取 DNS 轄區內的記錄。
語法:allow-transfer { <address_match_list> };
   address_match_list:允許進行 DNS 轄區資料傳輸主機的 IP 列表。

4.allow-update:目的在於指定能向本 dns 伺服器提交動態 dns 更新的主機
語法:allow-update { <address_match_list> };
   address_match_list:允許能向本 DNS 伺服器提交動態 DNS 更新的主機 IP 列表

5.allow-query:目的在於限制對 DNS 伺服器進行域名查詢的主機,也就是允許在 IP 列
表中的主機才能對 DNS 伺服器進行域名查詢。
語法:allow-query { <address_match_list> };
   address_match_list:允許進行域名查詢的主機 IP 列表。

範列:在 /etc/named.conf 中設定 allow-transfer、allow-update 與 allow-query,
可以讓資料資料更安全,不輕易的外洩。
zone "wsl.sinica.edu.tw" {
type master;
file "/dbfile/db.wsl";
allow-transfer { 192.168.0/24; 192.168.1.1; };
// zone transfer 的時候,只限於 192.168.0/24; 192.168.1.1; 這些 ip 可以進行
zone transfer 的動作
allow-query { 192.168.200/16;};
allow-update {192.168.143.152};
};

三、進階保護功能
  動態 DNS 的金鑰選擇分為 TSIG (transaction signature) 與 SIG0 (SIGnature)
兩種。該如何選擇金鑰呢? 首先,要先判斷 client 與 server 間的信任關係為何,若是
可信任者,可選擇對稱式金鑰的 TSIG。TSIG 只有一組密碼,並無公開/私密金鑰之分;
若是非完全信任者,可選擇非對稱式金鑰的 SIG0,雖有公開/私密金鑰之分,相對的,設
定上也較複雜。至於要選用哪種較適合,就由自己來判斷。在此將詳述 TSIG 的實作;至
於 SIG0,因設定上較複雜,故在此只簡介何謂 SIG0。

1.TSIG技術
  交易簽章 (TSIG;RFC 2845),是為了保護 DNS 訊息安全而發展的。BIND 8.2 導入
了 TSIG 機制,其驗證 DNS 訊息方式是使用共享金鑰 (Secret Key) 及單向雜湊函式
(One-way hash function) 來提供訊息的驗證和資料的完整性。主要針對 ZONE Transfer
進行保護的作用,利用密碼學編碼方式為通訊傳輸資訊加密以保證 DNS 訊息的安全,特
別是回應與更新的訊息資料。也就是說在DNS伺服器之間進行轄區傳送時所提供保護的機
制,以確保傳輸資料不被竊取及監聽。

範例 (以 BIND 為例):
在開始之前,必須為 master DNS 與 slave DNS 進行時間同步化的設定,否則會造成
Zone Transfer 的失敗。

步驟一:執行 dnssec-keygen function 產生加密金鑰,一個為 public key 檔,另一個
為 private key 檔
‧產生加密金鑰:
dnssec-keygen –a hmac-md5 –b 512 –n ZONE dns.ca
‧公開金鑰- -kdns.ca.key:
$cat Kdns.ca.+157+06543.key
Dns.ca. IN KEY 256 3 157
cuernF5WpC81bs6phLbraw7VjSzX4OGoEfLNj1NjLzjkxE/S/Qxr3NksFMA
GlQJC00DRPXveoDvTBeLwdQ/Rsq9LQ= =
‧私密金鑰- -kdns.ca.private:
$cat Kdns.ca.+157+06543.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: FPQCxP1e4ZJH4M6DBFkBEw= =
cuernF5WpC81bs6phLbraw7VjSzX4OGoEfLNj1NjLzjkxE/S/Qxr3NksFMA
GlQJC00DRPXveoDvTBeLwdQ/Rsq9LQ= =

步驟二:TSIG 金鑰,master DNS 與 slave DNS 之設定檔皆需加入 TSIG 金鑰
‧primary master的named.conf設定:
key dns.ca. {
  algorithm hmac-md5;
secret “cuernF5WpC81bs6phLbraw7VJsZx4ogOeF1nJlZJKXe/s/
Qxr3NksFMAGlQJC00DRPXveoDvTBeLwdQ/Rsq9LQ= =”;
};

步驟三:設定allow-transfer清單
‧設定master DNS的named.conf:
zone "dns.ca" IN {
  type master;
  file "master";
  allow-transfer { key dns.ca.; };
  notify yes;
};

步驟四:設定allow-transfer清單
‧設定slave DNS 的named.conf:
server 192.168.1.10 {
  keys { dns.ca.; };
};

zone “dns.ca" IN{
type slave;
file "/var/named/slave";
masters { 192.168.1.10; };
};

步驟五:再次啟動與載入設定檔並檢查是否有錯誤
‧使用 ndc reconfig nameserver,先停止再重新啟動。
‧查看 system log 檔是否有 warnings 或 error 的發生。

為確保安全性的問題,TSIG 可確認 DNS 之資訊是由某特定 DNS Server 所提供。通常
TSIG 應用於 DNS 間的 ZONE Transfer,確保資料不會被篡改或產生 dns spoofing。

2.SIG0 技術
SIG0,March 1999 由 IBM D. Eastlake 提出成為標準。其是利用公開金鑰機制為轄區資
料進行數位簽章的動作,以保證每筆傳輸的 source record 具有可驗證性與不可否認性。
實際上 SIG0 才是防止 DNS Spoofing 發生最主要的技術,SIG0 是使用公開金鑰加密法,
讓轄區管理者為其轄區資料加上數位簽章,由此證明轄區資料的可信賴性。除此之外,
SIG0 保有是否選擇認證機制的彈性,以及可靈活地配合自訂的安全機制。

以下是利用 SIG0 技術加上數位簽章後的部分轄區資料:

mails.apacer.dnssec.test.edu.tw. 3600 IN A 210.71.14.x
3600 RRSIG A 5 7 3600 20050206095648 (
  20050107095648 51176 apacer.dnssec.teset.stu.edu.tw.
  TR1V0WXczhNg3034/JNR+SgE6SZtRskR5JHV
  fp1Shemp1heTB0dbnZC0DeOBg+ACsbn5/KG4
  F6THmRYejoY+Ag== )
  3600 NSEC apacer.dnssec.mis.stu.edu.tw. A RRSIG NSEC
3600 RRSIG NSEC 5 7 3600 20050206095648 (
  20050107095648 51176 apacer.dnssec.test.stu.edu.tw.
  dQd7HZ9IUFcS9IR/NFTJ/Em4zy03qxvVkAvO
  vbzb8rC0YFjQknjd/5r6+AJIe7RH/T6mQRKp
  P3uJGDH8O9jtlA== )

因 SIG0 技術的設定並啟動,其複雜性並非一般管理者所能接受並使用。除非該 DNS 伺
服器內有極為重要的資訊,如金融機構的 IP 位址,才有必要利用 DNSSEC 機制來保護相
關訊息。

四、結論
  相信許多人期待在日新月異的網際網路中看到創新的網路技術,並能提供更好的網路
應用服務。重要的一點,我們不能忽略基礎網路服務的重要性,而 DNS 服務就是這些基
礎網路服務中最重要之一,持續維持 DNS 服務的運作並讓 DNS 服務所提供的資訊是正確
的。本文除了提供 DNS 管理者能簡易的維護 DNS 伺服器之外,也期許能降低一般管理者
進入 DNSSEC 的門檻。透過對 DNS 伺服器的維護與管理,不但能強化 DNS 伺服器所提供
的資訊的安全,也有助於減少 DNS Spoofing 攻擊的發生,增進網路使用者對網際網路使
用的信任,杜絕資訊系統遭受入侵與攻擊的產生。

五、參考文獻
[1]Paul Albitz & Circket Liu 著,蔣大偉 編譯,DNS and BIND管理 4/e,2003年4月。
[2]陳威安,DNS 安全研討會-DNS 安全機制實作,
http://cu.nsysu.edu.tw/1000112970/93-01/pdfdoc/DNS_vulnerability4.pdf
[3]鄭進興、陳威安、林敬皇、陳嘉玫,DNSSEC 安全機制實作研究,TANET2004

釐清DNS常犯的3大錯誤

網管人員對DNS的概念不清楚,經常導致DNS安全性的漏洞,若只有使用修補程式,無法解決全部的問題,必須從釐清觀念下手,才能徹底杜絕問題產生。

DNS(Domain Name System)是目前最常使用的網路服務之一,網際網路的興起帶動IP位址蓬勃發展,也讓名稱解析服務日趨重要,但是根據TWNIC 9月資料顯示,約有80%的DNS主機具有安全性漏洞,例如若不設定allow-transfer,其他DNS主機則可以自由謮取本機DNS的資料,當成 Master-Slave架構,轉移DNS名稱解析,類似網路釣魚手法,網路使用者在不知覺的情況下,導入另一個類似的網頁,造成資料遭竊取等問題。

DNS安全性漏洞除了透過修補程式補強外,大部分都是網管人員不正常操作導致,特別是採用Windows伺服器當成DNS服務時,只要依據精靈模式操作,就可以完成設定的情況下,很多人對DNS的概念不清楚,若將來需要更動服務時,錯誤的設定方式,經常讓DNS解析錯誤。
DNS要指向根節點(Root)查詢,非上層查詢

若DNS無法正常解析名稱,最常的處理方式是重新啟動DNS服務,但還必須了解為什麼解析錯誤,大多認為DNS查詢不到資料時,是向上層查詢,由上層負責解析資料,例如TWNIC負責各企業組織的網域、臺北市資訊中心負責臺北市中小學資訊網路,當使用者指定本機DNS為解析名稱伺服器時,若本機無法提供對應的名稱,則會向上層配送網域的組織查詢名稱資料,但是事實上是指向根節點查詢,才能正確解析名稱資料,因為DNS最重要的概念就是提供最佳尋找路徑,如果本機DNS是第1次查詢名稱,快取記載檔並沒有任何記錄時,會分析「.」的位址,從資料庫中找出最接近的位址分類,並依據查詢的內容,提供最佳的尋找路徑。

DNS只能從本機資料庫中分類位址,並指向另1臺DNS解析,當其他DNS也發生相同問題時,也採用相同的方式處理,因此,DNS只會告知向哪1 臺主機查詢,並不會指定哪1臺主機對自己查詢,當本機DNS無法解析名稱時,必須指向根節點查詢,由根節點一層層向下指定最佳尋找路徑,才能正確查詢到服務名稱,因為若指向上層查詢,而上層DNS也沒有記錄資料,則無法提供最佳的尋找路徑,就會導致DNS無法解析的問題。
反解的IP位址只是符號,正解與反解沒有直接關係

對DNS而言,反解的IP位址只是一連串的符號,例如子網域211.72.210.0/24的反解則為210.72.211.in- adrr.apra,雖然從字面上還是數字,但實際上,反解已經不具備IP位址的特性,單純只是符號,所以我們可以在反解資料中插入其他符號,或將內容前後調動,並不會有影響。

此外,DNS階層式架構中,最頂層是根節點,其下有.tw、.com、.net、 .cn、.arpa等多種子節點(目前有243個國碼型及13個全球型的頂級網域),而反解則由.arpa負責外,其他都負責正解部分,因此,IP位址的正解與反解由不同的組織負責,並沒有直接關係。

若DNS主機不設定反解資訊,單純從正解邏輯下,依然可以正確提供名稱解析服務,只是依據TWNIC的統計資料顯示,DNS查詢時,正解約占 40%、反解則占60%,許多服務像郵件伺服器、系統記錄服務、檔案伺服器等都會要求反解查詢,設定反解查詢除了增加連線速度外,郵件伺服器也可以反解信件來源,確保是否為垃圾郵件,提供阻礙垃圾訊息的第一道關卡,建議將正、反解設定為相同,以防止DNS名稱查詢失敗。
若要指向非管轄的DNS主機,要告知對方,以防無法解析名稱

當本機指定某臺DNS為名稱解析服務時,若該臺DNS並沒有在此網域運行,則會造成解析錯誤等訊息,特別在新版Bind 9.x中,以舊版Bind 8.x為例,當我們查詢www.xxx.com.tw的主機時,若該網域的DNS只有xxx.com.tw,NS Record無法查詢到www主機時,會自動向A Record查詢,只要A Record具備www主機的IP位址,依然會導向www主機,然而新版Bind 9.x中,則會一直查詢NS Record的資料,無法釋放資料,造成解析錯誤。國內大多數企業都將DNS指向Hinet,而Hinet則是採用舊版系統,比較沒有這種問題,若指向 TWNIC的DNS,則因為採用新版系統,可能造成DNS無法授權。

還有1種DNS指定錯誤稱為Lame Server,因為一般大多會建置2臺DNS,以提供負載平衡或備援使用,但是可能因為預算因素,只有建置1臺,另1臺則指向像Hinet等主機服務,當對方寄信件到公司郵件伺服器時,DNS會隨機指向自己或Hinet的主機,若信件從Hinet主機解析,則會被當成外部郵件,重新等到下次回寄到公司的郵件伺服器,此時,又會隨機選擇是公司或Hinet的DNS主機,若是重要的電子信件,就會延遲送達時間,建議公司最好建置2臺DNS主機,或與上層組織要求將該DNS設定成第2臺主機,以避免Lame Server問題產生。
操作資源記錄要注意小細節

最後就是DNS設定上的錯誤。DNS可分為權威與快取等2種主機類型,其中權威主機又可分為Master與Slave等2種,可以將Master 與Slave主機視為負載平衡或備援用途,只需要操作Master,就可以自動同步到Slave上,而Master與Slaver的同步依據就是序號(Serial)參數,每次更動Master DNS設定時,序號也必須跟隨改變(加1),否則Slave無法同步資料,建議直接採用年月日版本的方式,例如2005101001。

若只申請1個IP位址,而企業內部卻有許多網路服務主機時,DNS常會利用Cname別名的方式,導引到各種網路服務主機,但是若在NS及MX Record,採用Cname,則會造成無法辨認電子郵件伺服器的問題,我們可以直接改用A Record指定的方式解決,例如同時將211.72.211.80同時以in A的方式指向www.xxx.com.tw及ftp.xxx.com.tw主機,減少別名產生的問題。

最後為了安全性考量,建議指定Master與Slave主機的IP位址,避免將Master的資料同步到其他不合法的主機上,這也是造成網路釣魚的原因之一,損失使用者的權益。

[舊文] CentOS Lite 發佈新聞 + 製作 MiniFedora手冊

以前我曾參考此文而製作CentOS Lite.這是那時(2004年尾)的發佈新聞


最小的 Distribution - CentOS Lite

新聞主題: 開放源碼

不知大家有沒有用過 MiniFedora,它是一個把 Fedora 的套件數量簡化到最小的 Distribution,同時加入了 apt-get 的支援,適合用來建立伺服器。

可惜 MiniFedora 使用 Fedora Core 作為核心,Fedora Core 1 早已不官方支援清單上,不可能在需要安全更新伺服器上使用。


因此,我以 CentOS 作為核心,按照 MiniFedora 的手法制作了 CentOS Lite



測試版下載


----------------------------------------------------------------------------------
製作 MiniFedora手冊

製作 MiniFedora 並沒有什麼特殊的地方啊,就是依你個人的喜好把不要的套件刪除,把要的套件加進去,然後再重新製作一個 iso 檔而已,因此,只要你會製作 RedHat/Fedora 安裝光碟,理論上你就會做 MiniFedora 了

1. 複製一份 FC3,
例:
# 放入 CD1
mount /mnt/cdrom
cp -a /mnt/cdrom /var/ftp/
umount /mnt/cdrom
# 放入 CD2
mount /mnt/cdrom
cp -a /mnt/cdrom /var/ftp/
umount /mnt/cdrom
# 重覆一直到把四片CD都複製完畢,SRPMS 部份不需要,可以刪除掉
# 把後再把 cdrom 改名成 mfc3
mv /var/ftp/cdrom /var/ftp/mfc3

2. 增減套件
所有的套件都放在 /var/ftp/mfc3/Fedora/RPMS/ 目錄底下,請依個人的需求進行增減,把不要的 rpm 刪除,把要新增的 rpm 移到此目錄底下

3. 修改 comps.xml
修改 /var/ftp/mfc3/Fedora/base/comps.xml,把你移除掉的套件名稱,從 comps.xml 中刪除,把你新增的套件加到 comps.xml 中
注意,新增的可以不必加到 comps.xml 中,但移除的,一定要從 comps.xml 中拿掉,不然開機安裝一啟動 anaconda 時就會出問題

4. genhdlist
你必須先安裝 anaconda anaconda-runtime 等套件,裡面的程式在製作 iso 檔時會用到 /usr/lib/anaconda-runtime/genhdlist /var/ftp/mfc3

5. mkisofs
cd /var/ftp/mfc3
mkisofs -v -l -L -r -J -x TOOLS -o /var/ftp/mfc3.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

6. implantisomd5
/usr/lib/anaconda-runtime/implantisomd5 -f /var/ftp/mfc3.iso

討厭的 Linux

不知道我這樣說話,會不會使網友以為入錯站呢? Sticking out tongue

最近因為幫人家建站時又順便幫自己建站,為了使一切在 Data Center 跑得更好,便跟人家一起重新的安裝所有伺服器。裝的過程發現到一件事,就是 Linux 實在超級的博大精深,每當以為自己學多了一點,才發覺自己識的越來越少。使用 Windows, Mac OS-X 可不會有這樣的感覺吧?左 Click Click 右 Click Click,不成也變成吧。大不了 Reboot 多幾次一定能搞定吧。Linux 可不是,句句的都是文字,全部都要自己去慢慢找出用法。Google 大神也不是每次都幫到我呢。

跟 Linux 在一起,就跟你的伴侶一樣,對得越久,你便會忘記他/她的好處,只會天天在埋怨,諸多不滿。初戀的激情沒有了,取而代之的就是日日在難受。不過,愛情 (還是對 Linux 的感情?) 就是這樣吧。始終有一天,你會明白到對方的好處以及內在美,就像普洱茶一般要泡久一點才會出來呢。像 Windows 只靠外表那般的花樣包裝,很快便會成為過去,甚至使你痛苦一生 (伺服器重裝可是人世間最痛苦之事之一吧…)。

總之我知道,走完這一陣子的安裝苦路,想起將會在 Data Center 超勁冷氣下流著汗水,看到 Linux 在超便宜硬體下狂飆時的快感,這一切的苦痛都不算得什麼。

算不算自我安慰呢?哈哈!

熱切期待 Debian HK 搬站後帶來的快感! Sticking out tongue

延續管理: 留住員工的腦袋

其七大知識中斷危機是:
  • 危機一、知識真空
    少數擁有重要關鍵知識的員工離職,重要關鍵知識隨之消失,造成知識真空。
  • 危機二、知識恐慌
    當組織中的某個人或某份文件有新聘人員所需要的知識,卻只有離職員工知道這個人或文件在哪裡的時候,稱之為「知識恐慌」。
  • 危機三、知識困惑
    繼任員工雖可取得知識,但取得的知識不夠充足、不易理解或過於凌亂,無法有效利用。
  • 危機四、資訊過量卻缺乏知識
    在資訊凌亂、分類錯誤或未依重要性排列的情況下,資訊無法及時轉換成知識,就等於沒有資訊。
  • 危機五、知識填鴨
    將一大堆過時、不正確或不重要的資訊丟給新聘人員,要分析、整合或決定放棄這麼多知識相當耗時,根本不值得處理。不但不能提升繼任員工的生產力,反而有反效果。
  • 危機六、知識狂想
    知識不足,繼任員工在一無所知的迷宮漫遊,發展出錯誤的假設、邏輯謬誤的理論來做出決策、引導行動。
  • 危機七、知識僵固
    源自於不願改變、抗拒修正行事方法的組織文化。

2008年7月2日 星期三

Instant Messaging Helps Productivity

Study Finds Instant Messaging Helps Productivity - HotHardware
The results of a recently published study of workers' instant messaging (IM) use shows that IM can actually improve workplace productivity. This contradicts a widely held belief that IM in the workplace is a hindrance to productivity. IM is often perceived as an interruption, and as such, "it can significantly hinder productivity by disrupting thought processes and work flows, causing individuals to take longer to complete tasks."

2008年7月1日 星期二

Junction PHP: Persistent Object Container « PHP::Impact ( [str Blog] )
When developing PHP applications a great deal of time and effort is wasted writing tedious SQL queries to create, read, update, and delete (CRUD) entities. This situation is exacerbated when working with objects because relational database management systems, with which most persistent storage is maintained, can only store scalar values organized into tables. The developer is responsible for translating objects into a series of scalar values. This translation process is often very time consuming.

junction - Google Code
ez PersistentObject

首頁 - MBA智库百科
專註於經濟管理領域的自由百科全書
Poisson distribution - Wikipedia, the free encyclopedia
Poisson distribution is a discrete probability distribution that expresses the probability of a number of events occurring in a fixed period of time if these events occur with a known average rate and independently of the time since the last even
Consistent Hashing at Gea-Suan Lin’s BLOG
以往資料要放到 n 台機器上,最簡單的方法就是取餘數 (hash_value % n) 然後放到對應的機器上,但在這個架構上面如果要加機器,會使得資料大幅度的移動。Consistent Hashing 所解決的就是讓資料的搬移量降低。
Wireless mesh network - Wikipedia, the free encyclopedia
A wireless mesh network is a communications network made up of radio nodes organized in a mesh topology
雙城記 - Wikipedia
書的開卷語,“那是最美好的時代,那是最糟糕的時代”(It was the best of times. It was the worst of times)已經成為文學史中的經典名句。
無限猴子定理 - 維基百科,自由的百科全書
一隻猴子隨機在打字機鍵盤上按鍵,最後必然可以打出法國國家圖書館中的每本書。
Dual_EC_DRBG - Wikipedia, the free encyclopedia
Dual_EC_DRBG is a controversial pseudorandom number generator (PRNG) designed and published by the National Security Agency.
Quantum computer may be capable of seeing the big picture
The point of quantum computing is that, during a calculation, the bits (called qubits) that are being manipulated are never in a definite one or zero state.
一九八四 - 維基百科,自由的百科全書
1984年的世界被三個超級大國所瓜分——大洋國、歐亞國和東亞國,三個國家之間的戰爭不斷,國家內部社會結構被徹底打破,均實行高度集權統治,以改變歷史、改變語言(如「新語」-Newspeak)、打破家庭等極端手段鉗制人們的思想和本能,以具有監視功能的“電幕”控制人們的行為,以對領袖的個人崇拜和對國內外敵人的仇恨維持社會的運轉。

故事中主人公所在的國家大洋國只有一個政黨--英格蘭社會主義,按照新語,簡稱英社。社會也根據與黨的關係被分為核心黨員、外圍黨員和無產者三個階層。政府機構分為四個部門:和平部負責戰爭,友愛部負責維護秩序,真理部負責文化和教育,富裕部負責經濟,按照新語,分別簡稱為和部,愛部,真部,富部。
摩菲定理 - Wikipedia
墨菲定律是指「任何有可能出錯的事將會出錯。(Anything that can go wrong will go wrong.)」。引申為「所有的程序都有缺陷」,或「若缺陷有很多個可能性,則它必然會朝往令情況最壞的方向發展」。
零和博弈 - 維基百科,自由的百科全書
博弈各方的收益和損失相加總和永遠為“零”。雙方不存在合作的可能
在幽默範疇裏,零和博弈被引申為「快樂守恆定律」(Conservation of Happiness),意思是「有人快樂,就必定有人失落」,也就是「快樂必須要建築於別人的痛苦身上」。
Cr mimetic - Wikipedia, the free encyclopedia
Caloric restriction mimetics try to mimic the substantial anti-aging effects caloric restriction has on many laboratory animals.
Six degrees of separation - Wikipedia, the free encyclopedia
Six degrees of separation refers to the idea that, if a person is one step away from each person they know and two steps away from each person who is known by one of the people they know, then everyone is an average of six "steps" away from each person on Earth.
Zeno's paradoxes - Wikipedia, the free encyclopedia
* 1.1 Achilles and the tortoise
* 1.2 The dichotomy paradox
* 1.3 The arrow paradox
李天命 - Wikipedia
辯論賽後有不少作家及基督徒撰文討論該次賽事,李天命曾回應一部分此類文章。有人認為李天命沒有在辯論中否定神的存在是不恰當及失敗,但李氏認為反方的目標在於推翻正方的論據,即證明神的存在不一定合理,而非證明神不合理。