不懷好意的董事會

隨著不小心錯過很多股東會沒領到紀念品, 緊接著就是…啊! 那支股票已經除權了!!! 手上的偉全, 恆中國, 恆香港都是這樣, 因為它們原本就沒配多少錢,  實在很難讓人發現啊! 倒是偉全不知道在漲什麼? 今天漲停(+0.9 NTD), 應該算是填權了(-0.5 NTD).

小股東非但不知道在漲什麼, 我看各家公司其實根本就不希望股東知道他們在搞什麼鬼? 以我手上的通知單而言, 除了台橡這張是白底藍字之外, 其他每一家的財務報表都是用白底小紅字呈現. 從小我們就被告知, 紅色刺眼, 不耐久視, 難道董事會諸公不知道嗎? 他們當然很清楚囉, 顯然是故意的嘛!

雖說紅色顯得喜氣, 不過在國外赤字也是虧損的意思. 即使現在已經有了網路觀測站, 所以財報都一目了然, 各家公司仍然充分表現出沒誠意的傳統…紅色小字…你看不見…你累了…你什麼都看不見….

毛毛蟲的假眼也會變大變小

我覺得標題也可以改成 “今日農村在我家" 了, 我家的蟲真多啊!

危害老婆另外一顆植物的兩隻毛毛蟲已經被以現行犯逮捕, 關進飼養箱變成寵物. 老婆說想要養看看, 好奇牠們的成蟲會是什麼模樣? 呃…我想, 應該就是雲帶天蛾吧?

但如果我提早公布解答的話, 這兩隻毛毛蟲的身價可能就會暴跌, 老婆也沒興趣養了, 所以還是保密囉! (咳咳, 等我老婆看到這一篇, 可能已經是民國 100 年了).

女兒對牠們有一個新奇的發現, 那就是牠們睡著的時候, 背上的假眼也會變小顆, 但是敲敲盒子, 把牠們弄醒, 假眼就突然變大啦!

睡著

睡醒

我讀 "How Networks Work" – End

因為最近沒有什麼比較軟的書可以讀了, 又需要用到網路的知識, 所以乾脆把這本讀了 1/3 的書一口氣讀完.

本書對於讀者建立網路的相關觀念很有幫助, 我就舉五個地方來做重點複習.

1  封包的觀念

網路上一筆 http 的 data, 會因為 MTU 或 MSS (maximum segment size) 的限制而切割在不同的 LAN 封包當中. 當路由器對 IP 的大小有所限制, 這些封包還會再切割一下, 並記錄在 IP header 裡面以便重組, 此時 TCP header 算是 IP data 的一部分, 所以 TCP header 可能會和 data 分在不同的 IP packet 裡面. 出了 LAN 之後, MAC address 和 Ethernet 的 preamble, start frame Delimiter, FCS 都沒有用了.

Preamble SFD MAC addr. IP Header TCP header data FCS
  MSS (e.g. 切割過的  http data)
 
    可以打散再重組  
  MTU
 

如果用專線連接, 自然就不需要 MAC address, ARP (address resolution protocol) 了.

flag HDLC header PPP header IP Header TCP header data FCS flag

[note] HDLC = high-level data link control

2. 轉址的觀念

無論路由器或是防火牆, 都具有轉址的觀念, 把內部的位置轉換為外部的位置. 那麼轉址的時候要不要轉通訊埠 ( port)  呢?

如果 port 不轉的話, 那麼內部位址和外部位址就只能是一對一了, 因此 port 也是要轉比較好 這麼一來, 雖然網際網路上的 port number 是 80, 但是到了 LAN 的裡面可能就變成 8080.

3. 撥接的觀念

使用電話撥接上網的那個年代, 通常用 PPP (point-to-point protocol) 進行通訊. 到了 ADSL 的時代, 上網的訊號大概經過幾個步驟:

PC   IP+data
路由器 (加 MAC header) MAC IP+data
路由器 (去 MAC header, 加 PPP header) PPP IP+data
ADSL modem ATM cell
  analog
DSLAM 局端集合式數據機 (DSL acess Multiplexer) ATM cell
ATM 網路 ATM cell
BAS 寬頻存取 (路由器) PPP IP+data
網際網路 (MAC) IP+data

如果最後的網路網路換成 ethernet, MAC 才有需要.

ADSL modem 如果兼具 router 功能, 就可以省略掉額外的路由器. 如果家裡只有一台 PC, 那麼可以用橋接式 (bridge) 的 ADSL modem.

撥接的時候, 需要做 user name 和 password 的認證, 此時 PC + TA 數據機和遠端存取伺服器 (RAS) 之間, 就是使用 HDLC + PPP 的方式, 類似專線的連接.

但 ADSL 的認證就不一樣了. 在上面的表格中, RAS 放在 ATM 網路之上, 因此要經過漫長的轉換, 最後又轉回 PPP 才能認證成功. 這個過程叫做 PPPoA (PPP over ATM).

PPPoA 如果遇到橋接式 ADSL 會有點麻煩. 因為密碼認證之後, BAS 才會把全與網址等設定訊息放進 PPP, 因為橋接式是左手進右手出, 所以 PPP 的訊息就直接到了 PC. 此時 PC 需要設定全域的網址, 而且好像得認識 ATM cell.

上述的產品的確存在, 讓 PC 用 USB 連到橋接式的 ADSL modem. 但比較普及的方法是用 PPPoE (PPP over Ethernet). 也就是把 PPP 放進 Ethernet 裡面, 再把 Ethernet 送給 ATM. 至於路由器式的 ADSL modem, PPPoE 就沒有甚麼意義了.

[note] PPP 用來認證與設定網路. 除了 PPP 之外, 設定網路可以用大家熟知的 DHCP.

4. Proxy 的觀念

Proxy 是在 user 端還是伺服器端呢?

放在 user 端的叫做 forward proxy, 用途是減少網路上的資訊量, 但是伺服器端的 cache server 就完全用不到了.

伺服器端為了增加頻寬, 有時候會用多個 cache server 來加速 user 的存取. 但是這些 cache server 的 ip address 可以相同或是不同. 如果 ip address 不同, 則 server name 會相同. 這樣 user 連上 server 的時候, 並不知道自己連上那一個 ip address. 此時會遇到的問題是, 如果 user 正在網上購物, 最後要輸入信用卡的時候, CGI (common gateway interface) 已經換到另外一個 ip address 執行, 可能就會認證失敗.

如果派出一個固定 ip address 當代表註冊到 DNS, 則應該啟用 load balance 的功能, 讓不同的 user 固定存取到最適合的一台 server. 為了避免發生中途換 server 的問題, 只要是同一個事件, 不管 server 多忙, 都不會被切換走.

此外 forward proxy 導致 user 要自己設定 proxy 的訊息, 通常我們在 browser 裡面設定的 proxy 都是 forward proxy. 比方說交大, 可能就會提供一台 proxy server, 要求同學設定到他們的 browser 裡面. 不過設定 forward proxy 這件事並不是人人都會, 為了避免出問題, 所以產生了 reserve proxy.

reserver proxy 有很多方法可以直接連到 web server, 或者說 cache server. 比方說, 它可以偷看 IP 封包, 或者要求在 http 規格中加入 host 的標頭欄位, 如此一來, reserve proxy 就知道哪些 host 可以用外部的加速.

Proxy 放在 user 端, server 端, 甚至是 ISP 端, 或是 CDSP (content delivery service provider) 端都各有利弊.

5. 防火牆的觀念

防火牆的做法可以有很多種, 最常用的一種叫做 "封包過濾".

因為 router 中紀錄的 ip-router 對應表會因日久 (其實只要幾分鐘) 被刪除的關係,假如公司不讓外面的封包進到公司來,公司的 ip 也就連不出去了.

根據 source, destination 的ip 與 port number, 大致就可以設定出防火牆的 rule. 有一個很有趣的問題是, 假如公司設立了 web 網站, 當然希望大家來瀏覽, 所以 web server 可以對外通訊. 但是如果 web server 中毒了, 我們要避免 web server 亂發 connection 要怎麼辦呢?

因為 connection 的建立, 需要在 TCP 的控制位元裡面設定 SYN, ACK 才會開始. 因此第一個動作如果來自外部, 可以視為 user 看公司的網頁. 但是第一個動作是 web server 自己發的, 就應該要攔下來. 這個是我以前沒想過的, 相當有趣.

心智圖軟體 XMind 試用

已經有很多書沒讀完, 加上前幾天又多買了兩本, 本應努力清庫存, 免得書滿為患. 但猛然想起心智圖也在我的讀書計畫當中, 於是在簡單的 survey 後, 試用了免費的 XMind, 並且在網路上找到一些別人畫的範例.

其實心智圖並沒有什麼神秘的地方, 就是把心裡所想的東西具象地表示出來. XMind 這個軟體也相當地簡單, 不需要 training 就可以上手, 至少比 UML 要簡單了 N 倍. 當我們選定一個中心主題, 就可以由它為中心去發想相關的浮動主題.

心智圖軟體的額外好處就是提供輔助工具, 比方說圖標裡的優先順序、完成比例、表情、旗標等等, 這些都不需要手繪了. 還可以隨時插入圖片、或是檔案來補充說明.

XMind 還有Pro 版以及一些外掛軟體, 比方說可以把心智圖整合到 Outlook 的行事曆之類的, 不過那些就不是免費軟體了!

我想, 心智圖就是思緒的整理, 它可以任意地在二維空間延伸, 有點像是申論題. 如果是曼陀羅 (Mandala) 圖, 就像是填空題了. 

[取材自: http://linyu.so-buy.com/ezfiles/linyu/img/img/66331/mandalnet.pps#292,39,投影片 39]

以工具品質而言, 心智圖勝過了有佛陀加持的曼陀羅, 但是要把心智圖整理得好, MECE (Mutually Exclusive Collectively Exhaustive) – 毫無重複、沒有遺漏的檢查, 應該可以更加提升整理的品質.

我讀 «極簡歐洲史» (下)

政治這個單字 (politics) 來自希臘文的城邦 (polis), 而後者我看起來像是警察…哈! 總之, 希臘實行直接的民主, 而民主的基礎又在於階級與軍隊. 因為城邦之間不免發生戰爭, 所以希臘人必須兼職當軍人 (斯巴達是個例外). 元老會議決定開戰之後, 軍人只有高喊同意, 齊唱軍歌的份.但久而久之, 民眾/軍人有了自己的思想, 他們想要優先保護自己的部落, 因此部落變成了選區, 每個選區分開投票, 成為今日選區制的源頭.

羅馬人的政治最初是君主制, 但是中間出了個被推翻的暴君, 所以變成了共和制. 在共和制之下, 羅馬人選出兩位執政官, 他們的任期只有短暫的一年, 而且兩人還要有共識, 他們的決策才算數. 執政官的權利似乎來自於公民大會. 這些 “公民" 在戰時都是軍人, 所以他們的權利大小就和他們的口袋深度或戰鬥力息息相關.

有錢的軍人可以自備坐騎, 沒錢的人就當步兵, 步兵中有錢的可以全部武裝, 但窮光蛋就只好使彈弓了. 在這些不同等級的軍人, 每個團體都有一定的選票, 總票數為 193 票 (或許是選舉人票的濫觴). 其中 98 票屬於騎兵和一等步兵, 而三、四、五等步兵的人數雖然較多, 但是在選舉人票上居於少數. 因此有錢人幾乎可以決定執政官.沒錢的平民幾經抗爭, 除了爭取到護民官的設置, 實際權力也增大不少.

不同於我們的歷史課本所告訴我們的, 堯舜禹湯的禪讓政治並非中國所獨有. 羅馬的皇帝自從奧古斯以後, 也是由前任皇帝所遴選, 再經過元老院同意通過.在兩百年間 (BC27 起算), 皇帝的繼承人都有一定的表現, 沒發生過甚麼重大失誤.

不過第三世紀的日耳曼人的入侵, 使得羅馬帝國變得民生凋敝. 皇帝戴克里先為了遏止通膨, 甚至下令哄抬物價者死刑, 禁止商人轉業, 也禁止商人的兒子轉業! 使出這一連串的非經濟手段, 其實已經是狗急跳牆了. AD 313 年, 君士坦丁大帝面臨更嚴苛的考驗, 他對羅馬的神明已經失去信心, 因此轉向基督教的懷抱. 在君士坦丁大帝之後的皇帝據說更加地離譜, 他們開始模仿波斯皇帝 (就像 300 壯士的 Xerxes 那樣) 把自己當作神, 但是他們再也不走出皇宮了.

西羅馬帝國完蛋之後,日耳曼人的社會實施封建制度. 於是領主握有實權, 而國王擁有正統的名分. 此後國王都把王位傳給子女, 並透過封賞領主來確立自己的地位. 不過國家大事已經不是國王說了算, 神職人員, 貴族和平民三種不同地位的人必須都到國會去開會.

地位 (estate) 和階級 (class) 不代表同樣的同西. 金銀滿溢的平民, 富甲一方的貴族, 腰纏萬貫的主教才能夠去開會, 窮人當然就無法參與政事. 英國保留了這個傳統, 所以貴族和主教在上議院開會, 而平民代表在下議院開會. 中世紀的君主並不需要常常召開三級會議, 如果要開會, 幾乎都是為了加稅以便打仗. 隨著人口的增加, 都市的管轄權也下放到了市長和市議會, 這點和現在沒有太大的差異.  

到了十五世紀, 君主們想到一個不必經過議會就可以建立軍隊的方法 – 那就是賣官. 國王把鹽稅、酒稅都外包之後, 就可以買進大砲來對付不聽話的貴族. 然而, 國會這一方自然不甘心讓國王的勢力坐大, 於是國王和國會也發生了角力. 在英國發生的 “光榮革命" 就是國會決定王位繼承權的例子. 

說到繼承權, 日耳曼人原本是繼承制與選舉制的混合. 基本上能夠被選上的國王, 本身就是貴族. 法國由於有很長的一段時間, 爸爸都生出好兒子, 因此慢慢就變成了繼承制. 但德國的國王可能比較不會生, 所以後來全靠選舉來決定. 想當國王, 除了要巴結這些 “選舉人" 之外, 還得要搞好和教會的關係. 因為有時候, 1/3~1/2 的國土其實是由教會所掌管的.

英國、法國、西班牙都崛起成為強國之際, 中歐國家則陷於上面所提到的那種混亂. 雖然國王管不動他的國家, 文藝復興和宗教改革倒是都得到了成長所需要的空間.

再說到語言這個有趣的議題, 羅馬帝國的境內, 西邊說拉丁語, 而東邊說希臘語. 時至今日, 羅馬人所用的拉丁文, 隨著羅馬帝國的分裂, 幾乎已經沒有人在使用了.所謂的羅曼語系、羅馬語系、拉丁語系, 都是指源自羅馬人的語言. 其中以法文、義大利文和西班牙文較具代表性.

那麼, 為何原來的拉丁文會變得亂七八糟呢? 作者說, 拉丁文以字尾變化來決定一個字在一句話裡的意思, 所以原本不需要介係詞 (in or of). 英文的西元是 in the year of the lord, 但拉丁文就是 anno domini, 就算倒過來變成 domini annon 也不會改變它的意思.

但久而久之, 不喜歡背那麼多字尾變化的人, 就採用假借法來代替正規的文法. 拉丁文用來強調的 “那個" ille 或 illa 就變成了法文的 le 或 la, 義大利文的 il 或 la, 西班牙文的 el 或 la. 作者提了一個問題, 那日耳曼人呢? 他們的影響力到哪裡去了? 答案是: 他們主要在北方 (如: 多瑙河以北) 發揮作用. 而斯拉夫語系的民族則是固守傳統, 他們沒有受到日耳曼民族或是拉丁文的影響.

整體而言, 作者認為這些語言的差異有一定的限度, 因為他們可能都來自印歐語系. 原先的語言學家認為, 人類所說的話應該源自亞當和夏娃的希伯來語, 不過那只是附會聖經而已. [note] 匈牙利和芬蘭的語系並不是印歐語系, 因為他們的祖先來自亞洲.

最後 review 一下英國人說法文這件事. 原本英國就經歷過多個王朝的統治, 日耳曼語系在英國比較占上風. AD 1066 年, 威廉公爵帶著夾雜拉丁文的羅曼語系法文進入了英國. 於是乎, 英文的單字幾乎都有兩套, “國王" 和 “國王的" 既可以是 king, kingly, 也是 royal, regal, sovereign. 作者說, 這就是為何英文單字比法文和德文多的原因, 畢竟英文是德文加法文的混合加總.