Lasik 雷射手術記事 – 手術過程


Lasik 是現在最成熟的手術方式, 若角膜太薄的人, 可以做 Lasek. 那麼 Lasik 是什麼呢? 說理論太單調了, 我把我去手術的過程都寫下來吧! 剛開始的幾件事有點離題, 不過與我心境有關, 請忍耐.

1. 依小姐的建議, 星期五請假一天, 充份休息.

2. 因為術後一個月眼睛不能碰水, 所以我決定乾脆去理髮!

3. 出門前我又想:既然我不賣股票也不買股票, 還有很多錢放在活存, 這樣好像太浪費了, 順便去辦個定存吧! 於是我拿了存褶和印章.

4. 走到樓梯口, 我想掏一下錢包. 結果印章滾下樓. 我用了 11 年的印章碎掉了, 名字碎成好幾片…..哇咧….大….兇…..啊!

5. 沒關係! 我不怕! 我來沖個喜好了! 於是我又拿了中了獎的發票和樂透彩 (別亂想, 各 200), 決定今天一定要去兌獎, 錢再少也要換點 CASH 回來!

6. 我想, 乾脆來更換印鑑好了. 舊的不去新的不來. 我把兩家主要往來銀行的印鑑全換掉好了. 反正舊的也碎了, 遲早要換新!

7. 東市兌發票, 西市領樂透, 南市辦定存, 北市換印鑑, 最後再去理個髮, 總算一切都搞定了.

8. 吃晚飯. 因為大學眼科說要給我吃藥, 先吃飯才不會反胃.

9. 當天到了大學眼科, 6:00pm 剛剛好. 藥師果然拿了一包藥叫我吃, 聽他的語氣像是鎮定劑吧!? 吃!

10. 護士小姐做術前講解, 發給我一包眼鏡, 護眼罩, 這些是術後要用的. 因為她自己也做過 Lasik 手術, 所以講起來很有說服力.

11. 再做一次驗光, 以此度數來手術. 因為我選擇前導波手術, 所以多做了角膜掃瞄.

12. 因我老婆去接小孩放學了, 以致我人單勢孤. 等我做完檢查, 那一小包贈品已經不翼而飛了. 所以我又和護士要了一份, 她是好人,又給了我一份.

13. 換上手術衣和手術帽, 掛上名牌, 進入等待區.

14. 醫生一天約做 10 個人, 我預約第五個 (去年預約的, 還真熱門), 所以等了別人一段時間.

15. 對眼睛散瞳 (這是選擇性的, 看機台而定, 我沒經歷到).

16. 對眼睛滴麻藥, 讓眼睛失去知覺.

17. 在眼睛四週擦藥水消毒.

18. 有個護士出來對名牌, 查我的名字, 身份證字號, 生日. 這些東西也會寫在那個磁片上. 做得好! 我不想拿錯別人的磁片!!! 南部有一家連鎖店就有兩床互相開錯度數的記錄.

19. 又等了一會兒, 護士帶我進手術室. 我很想看清楚環境, 不過我沒戴眼鏡, 什麼也看不清. 護士說我們以後不會再用到眼鏡, 所以眼鏡已留在外面的桌上了.

20. 躺在手術台上, 頭部固定在一個凹槽裡. 拿了一個小枕頭給我抱抱.

21. 把整個臉用貼紙貼起來, 只露出眼睛.

22. 用一個不知名的東西, 把眼皮固定住, 使我們不能眨眼.

23. 機台上有一個綠色光點和一片紅光, 醫生說我們得專心看著那個光點.

24. 醫生再問一次, 你是右眼近視 450, 散光 150, 左眼 350, 散光 125 的那個人嗎? 我想說…呃…我平日左眼散光 100 而已耶, 今天為何多 25 度. 不過我想算了.可能今天真的太累了…^^

25. 驗明正身之後. 醫生用角膜環切刀, 對角膜切出一個大圓弧, 只留下一部份還連著. 這個部份是唯一考驗醫生功\力的地方, 後面幾乎都是自動化的. 這部份據說未來也會改成雷射, 到時醫生真的快沒事做了.

26. 切開角膜沒什麼痛的感覺, 但是稍微有點震動的感覺. 切出的角膜瓣會用一個吸力環吸住, 像是吸塵器那樣. 吸力太小, 角膜瓣會鬆掉, 掉回來就會產生皺摺, 導致不規則散光. 如果是在雷射中掉下來, 報上登過有失明的例子. 吸力太大也會把角膜吸受傷.

27. 角膜瓣被掀開後, 喔喔, 整個世界只看到灰色, 我覺得失明了. 好可怖!

28. 角膜都被撥掉 160 um 後, 我已經看不到綠光點了, 只看到出現了一片塗鴉出來的紅色色塊.

29. 據悉如果你角膜薄的話, 有些醫生會試著切 120 um or 90 um, 但是相對較危險. 至於角膜基座, 必須有 410 um 才是安全的. 雷射氣化後至少要剩下 250 um.

30. 此時護士猛倒消炎藥與人工淚\液, 這樣才不會因為想眨眼而眼珠亂轉. 不然應該沒有人可以眼睛睜著幾分鐘不閉吧!

31. 醫生要求我注視那片亂七八糟的紅光, 開始雷射囉.

32. 這時雷射會氣化掉我的部份角膜, 形成一個透鏡.

33. 答答答..放電的聲音吧, 我就只聽到這個. 過程大約幾十秒鐘. 我什麼也不敢想, 因為想事情眼珠就會轉, 只好拿出近四十年修為的定力, 專心看那片紅光的幾何中心位置. 因為那紅光的形狀也隨時在改變, 所以我也要很快地計算出新的幾何中心, 這是我努力可及的部份.

34. 護士蠻有人情味的, 在旁邊幫我加油, 說我表現得很好. 其實大家試著把自己弄瞎看看, 就是有那麼恐懼.

35. 護士說用嘴巴呼吸, 以免影響到眼睛. 我當然照著做了. 恐懼也消失了一點.

36. 雷射完畢, 醫生把角膜從外角放回來. 然後拿一個白色的小刷子, 把角膜刷平. 醫生還不賴, 很有耐心, 刷了好久,

[註] 本篇大約寫於 2005 年 1 月, 所以資訊老舊, 請留意.

D 端子規格

D 端子規格分為 D1, D2, D3, D4, D5.

 

規格中的數字愈大, 就包含前面較小數字的所有規格,

亦即 D i 包含 D 1-Di-1.D1

支援 480i
D2
支援 480P + D1

D3 支援 1080i + D1D2

D4 支援 720p + D1D3

D5 支援 1080p + D1D4


[Note] i  = Interlace, p = Progressive

AJAX 小檔案

AJAX 就是 asynchronous Javascript + XML 的縮寫. 其中有時候會牽涉到 DOM (Document Object Model), 因為無論是 XML 或是 HTML, 都會需要一個文件的介面.

Javascript 的歷史悠久, 十幾年前就相當風行, 應該無庸贅述. XML 也行之有年, 為什麼會和 asynchronous Java script 扯在一起呢? 大家可以想像, 如果只是一個靜態的 XML, 可以做的事情畢竟是有限的. 反之, 如果可以和使用者互動, 依據使用者的指令來產生動態的 XML 介面, Javascript 正好可以做這件事. 但此處的 Java 為何會強調 asynchronous 呢? 它主要是指在 client 端和 server 端的 XML 可以是不一樣的, client 端看到的 XML, 並不是 server 端所 generate 出來的, 而是依據 Javascript 所動態生成的. 它最直接的好處就是節省了 server 的計算量以及網路頻寬. 從 client 端透過 SOAP 和 server 端做必要的溝通, 可以使得網路流量只剩 5% (參考 Wiki).

現在很多網路的應用都使用了 AJAX 的技術, 以至於各位所看到的網路頁面, 真正是獨一無二的, 因為連 server 上的那一份都和我們所維護的這個版本不同. 一旦我們想回到上一頁, 重新整理, 或是 IE 突然當掉…, 那個珍貴的畫面就再也回不來了. 比方說我寫 Blog 就會偶爾遇到這款代誌. 後來有很多人寫一些撇步來解決回到上一頁的問題, 不過問題總是比較多, 有利就有弊. 如果肯犧牲 client 端硬碟空間的話, 我想大概甚麼問題都可以解決.

AJAX 一個先天上的難題在於 client 端的狀況百百種, 不一定會使用哪一種瀏覽器, 外掛也不一定會全部都開得好好的, 比方說 Javascript 被關掉了, 很多東西就不對了. 在真實的狀況下, 網路應用可能大部分的功\能都留在 server 上, 把 client 端只當作一個顯示的介面. 這樣可以減少 client 端相容性的問題, 但是 client 端連邏輯判斷的能力都沒有的話, 可以做出來的功\能也就沒甚麼看頭了 (thin client 的 case).

另外值得一提的是, AJAX 的 server 要應付 multi-thread, muti-user, 如果兩個 user 用同一個帳號存取同一個郵箱, server 勢必要做 error handling. 凡此種種都要靠開發套件來幫忙簡化問題, 不然只靠苦工做一套出來 demo 還簡單, 要能夠全面商品話就困難了.

以上是一點點了解, 以後再更正與補充之.

TCL 小心得

今天為了改一個 TCL 檔, 用了很多新的東西. 因為從來沒有從 TCL 的基本學起, 所以還是摸索了一下. 簡單整理今天遇到的困擾:

1. 最常出現的 bug:  把 if { …. } 寫成 if ( …. ), 常常一眼看不出來.

2. 對 list 的觀念不清. Parsing 到有花括號 { 的檔案, 用 lsearch, lreplace 都會出問題. 首先將 list 做 split

      set newlist [split $line]  

   這樣 line 裡面的 tab, {, 都會變成 list, 這個時候 newlist 就可以被 lsearch, lreplace 了

3. 但是從 split 過的 newlist 裡面找到的位置, 並不代表它在 line 裡面的位置. 不做 split 好像又不能 parse 有花括號的檔案. 所以我用了一個蠢方法. 第一道先 lsearch $newlist, 等到確定有我要的字串, 再改用 lsearch $line.

4. 十進位數字轉十六進位數字

   set hexspace [format %x $space]  

   但 TCL 並不會自動幫我們加 0x~ 以資區別. 所以我還是手動把它加上去.

   set space “0x"
   append space $hexspace

5. lrange 格式

   lrange $line 1 3  表示把第一個到第三個 element 都做成一個 list

   lreplace 類似 lrange 但多出一到多個 element, 取到代第一個到第三個

   若 lreplace first last …. 的 first < last 它就變成 insert 功\能

6. /t 表示 tab,  但 puts $File “tabc" 並不會印出 tab, puts $File t"abc" 才會

7. 該用 append 不要混淆成 lappend, 兩者不同

  append “a" “b" —> “ab"

  lappend “a" “b" —> “a {b}"

8 需要數學計算時用 expr, 如; set a [expr c * b], 這表示 a = c * b

大概就是這樣了. 有用的網址如下:

http://tmml.sourceforge.net/doc/tcl/

http://tmml.sourceforge.net/doc/tcl/keyword-index.html#KW-index 

http://www.dev.idv.tw:8080/mediawiki/index.php/Tcl%E7%9A%84%E8%AE%8A%E6%95%B8%E4%BB%8B%E7%B4%B9 TCL 的變數介紹

反正書到用時方恨少, 只要程式寫得出來就不想買書了,寫不出來的時候就會想 “下班先去買書"….