January 8, 2014
喜獲麟兒初為父
我家小伙子在 2014 / 01 /04 的 PM 08:47 出生了!
適逢新舊工作交替的時間,我在一月六號報到以前還有寥寥幾天的空閒。由於小孩的預產期是一月十八號,太座大人小桃在那之前安排了兩週的假日用作待產,即使小孩提早一點出世,也能夠休息到幾天。
於是一月三號那天是她生產前最後一天上班,傍晚算準了時間我去接她下班準備產檢,前往醫院的路上太座大人說:「今天下午開始肚子有點痛耶」我帶著玩笑的語氣說:『唔?該不會今天就要生吧?』「應該不會啦,聽朋友說生產前會有一些假性宮縮,當作熱身運動,今天是我第一次感覺到痛」。聽了寬心,我倆就一直開著今天就會生的玩笑直到醫院。
檢查時主治醫師說道:「小孩的頭部發育很正常,不過肚子小了一週,有點瘦。喔!妳的胎位移得很下面囉」聽起來就是很快要生的意思,我心想,如果今天開始假性宮縮,好日子應該剩沒幾天了。天真如我以為還能夠樂上一段時間。
產檢完到附近的平價牛排館吃晚餐,加減補充一點紅肉,看看能不能把小孩的體重拉高一點。吃沒兩口小桃就說肚子還是會痛。「還會痛?該不會很規律吧?」『嗯,感覺好像一段時間就痛一下』「.........我們趕快吃完回家洗澡好了」
我們已經做好最壞的心理準備:小桃連第一天假都還沒開始放就準備入監服刑。草草吃完晚餐,趕緊回家洗澡,確認生產包沒有漏誤,上線取消 g0v 的新年松報名(淚)。
約莫晚上十點鐘,小桃的陣痛開始變得明顯且規律,十分鐘痛一次。「來了!」我心裡這麼想著,趁隙硬是闔上眼睛瞇一下,為接下來的長期抗戰儲備體力。 這天到三點多就醒來無法再睡,小桃因為十分鐘陣痛一次也是徹夜未眠。每個人陣痛的狀況略有不同,她的狀況像是大卡車輾過去再倒車,如此來回持續一分鐘。就這樣碾到天亮實在無法再忍受,我們就整裝出發前往醫院。
到了醫院護士檢查過後冷靜地說:「這樣只有開一指,你們先去到處走走」「已經開一指了,不用擔心啦,這兩天一定會生」護士嘗試安慰我們,卻完全起不了效用。一來最後的假期完全宣告報銷,二來小桃聽到「兩天」這個字幾近崩潰,被卡車撞幾個小時已經很慘了,還要撞兩天也太殘忍。
我們從早上八點多開始在醫院走走停停,走是為了讓進度快一些,停是因為痛到動不了,就這樣捱到下午一點仍然只有開一指,正式確認被退貨,打道回府。
回家之後小桃躺在床上,陣痛的頻率從十分鐘到五分鐘之間不停改變,疼痛的程度更是愈加劇烈。我在一旁沒什麼能作的,只能夠拿著手機不斷給陣痛計時。回想起來頗為趣味,當下覺得陣痛難以忍耐,卻又希望快點多痛一些好讓自己解脫。直到晚上六點終於突破門檻,大約三四分鐘陣痛一次,行了!火速衝向醫院,一看開了一指半,順利收入產房。
無痛分娩乃是一種麻醉方式,進分娩室之前在背部注入麻藥,減緩分娩前的陣痛。當我們要求進行麻醉時,護士問:「真的要打嗎?看情況很快就會生了耶,打了很浪費錢」我當機立斷回答:『要!再不打就換我有危險了』
麻藥大約十分鐘之後開始生效,慢慢減緩陣痛,再過二十分鐘果然已經開到四指半被推進分娩室。短短一會兒就燒掉幾千元,即便如此我們還是覺得很值得,小桃在那二十分鐘找回求生的意志,我在那二十分鐘挽救了自己下半輩子的人生。
分娩室的氛圍相當奇妙,接生的醫生護士專業地指導產婦,什麼時候該呼吸、用力;同時也歡樂地閒聊(好像是)昨天尾牙誰抽到什麼獎品。小桃在生產檯上疼痛哀號,我在旁邊拿著手機錄影,心裡想的是怎麼拍會比較不血腥,手要拿穩別讓鏡頭晃動太大。據小桃的說法,我好像是路過進來拍紀錄片的。
進度很快,約莫十分鐘左右小孩子就出生了,配著響亮的哭聲,紫色的皮膚滿是皺摺,當護士們熟練地為小孩剪臍帶,抽取鼻腔內的羊水時。我看著這張陌生的臉孔,心想著這就是我的孩子,我這輩子都會被他叫做爸爸,就像我對他爺爺那樣叫。我第一次看見他,卻已經註定這輩子他最親的幾個人其中一位就是我。
不知道其他人所謂「當爸爸的感覺」是什麼,真要比喻我的感覺,好像是心房裡挪出一個重要位置,你知道眼前只會哭的這位陌生人,很快就會坐上去了。他的地位將會跟那些你已經熟識好多年的人一樣重要,甚至更重要些,即便你還跟他很陌生。
小朋友很快就止住哭聲,張大眼睛東瞧西瞧,不知這時候他是不是真能看見,一雙大眼不停轉動,俊挺的鼻子跟他娘還真像。我默默地看著他,心中想起伍佰的【真世界】這首歌。
啊!感慨是一回事,太早出生這件事還是要計較,等到聽得懂人話時再來虧他。
小朋友的體重是 2035g,身高 44cm,按照院方的標準要 2200g 才能夠出院,於是甫出生就進了病房觀察,所幸體重輕一點之外沒什麼大礙。接下來一週除了在家張羅必需品,就是勤跑醫院送母奶。至於收集母奶的辛苦,那又是另一個故事了。只能說做母親實在不簡單,從懷孕開始一連串的不舒服、陣痛、分娩,接踵而來的是漲奶、半夜擠乳、給小孩把屎把尿。每個男人實在要對老婆多疼愛一些。
適逢新舊工作交替的時間,我在一月六號報到以前還有寥寥幾天的空閒。由於小孩的預產期是一月十八號,太座大人小桃在那之前安排了兩週的假日用作待產,即使小孩提早一點出世,也能夠休息到幾天。
於是一月三號那天是她生產前最後一天上班,傍晚算準了時間我去接她下班準備產檢,前往醫院的路上太座大人說:「今天下午開始肚子有點痛耶」我帶著玩笑的語氣說:『唔?該不會今天就要生吧?』「應該不會啦,聽朋友說生產前會有一些假性宮縮,當作熱身運動,今天是我第一次感覺到痛」。聽了寬心,我倆就一直開著今天就會生的玩笑直到醫院。
檢查時主治醫師說道:「小孩的頭部發育很正常,不過肚子小了一週,有點瘦。喔!妳的胎位移得很下面囉」聽起來就是很快要生的意思,我心想,如果今天開始假性宮縮,好日子應該剩沒幾天了。天真如我以為還能夠樂上一段時間。
產檢完到附近的平價牛排館吃晚餐,加減補充一點紅肉,看看能不能把小孩的體重拉高一點。吃沒兩口小桃就說肚子還是會痛。「還會痛?該不會很規律吧?」『嗯,感覺好像一段時間就痛一下』「.........我們趕快吃完回家洗澡好了」
我們已經做好最壞的心理準備:小桃連第一天假都還沒開始放就準備入監服刑。草草吃完晚餐,趕緊回家洗澡,確認生產包沒有漏誤,上線取消 g0v 的新年松報名(淚)。
約莫晚上十點鐘,小桃的陣痛開始變得明顯且規律,十分鐘痛一次。「來了!」我心裡這麼想著,趁隙硬是闔上眼睛瞇一下,為接下來的長期抗戰儲備體力。 這天到三點多就醒來無法再睡,小桃因為十分鐘陣痛一次也是徹夜未眠。每個人陣痛的狀況略有不同,她的狀況像是大卡車輾過去再倒車,如此來回持續一分鐘。就這樣碾到天亮實在無法再忍受,我們就整裝出發前往醫院。
到了醫院護士檢查過後冷靜地說:「這樣只有開一指,你們先去到處走走」「已經開一指了,不用擔心啦,這兩天一定會生」護士嘗試安慰我們,卻完全起不了效用。一來最後的假期完全宣告報銷,二來小桃聽到「兩天」這個字幾近崩潰,被卡車撞幾個小時已經很慘了,還要撞兩天也太殘忍。
我們從早上八點多開始在醫院走走停停,走是為了讓進度快一些,停是因為痛到動不了,就這樣捱到下午一點仍然只有開一指,正式確認被退貨,打道回府。
回家之後小桃躺在床上,陣痛的頻率從十分鐘到五分鐘之間不停改變,疼痛的程度更是愈加劇烈。我在一旁沒什麼能作的,只能夠拿著手機不斷給陣痛計時。回想起來頗為趣味,當下覺得陣痛難以忍耐,卻又希望快點多痛一些好讓自己解脫。直到晚上六點終於突破門檻,大約三四分鐘陣痛一次,行了!火速衝向醫院,一看開了一指半,順利收入產房。
無痛分娩乃是一種麻醉方式,進分娩室之前在背部注入麻藥,減緩分娩前的陣痛。當我們要求進行麻醉時,護士問:「真的要打嗎?看情況很快就會生了耶,打了很浪費錢」我當機立斷回答:『要!再不打就換我有危險了』
麻藥大約十分鐘之後開始生效,慢慢減緩陣痛,再過二十分鐘果然已經開到四指半被推進分娩室。短短一會兒就燒掉幾千元,即便如此我們還是覺得很值得,小桃在那二十分鐘找回求生的意志,我在那二十分鐘挽救了自己下半輩子的人生。
分娩室的氛圍相當奇妙,接生的醫生護士專業地指導產婦,什麼時候該呼吸、用力;同時也歡樂地閒聊(好像是)昨天尾牙誰抽到什麼獎品。小桃在生產檯上疼痛哀號,我在旁邊拿著手機錄影,心裡想的是怎麼拍會比較不血腥,手要拿穩別讓鏡頭晃動太大。據小桃的說法,我好像是路過進來拍紀錄片的。
進度很快,約莫十分鐘左右小孩子就出生了,配著響亮的哭聲,紫色的皮膚滿是皺摺,當護士們熟練地為小孩剪臍帶,抽取鼻腔內的羊水時。我看著這張陌生的臉孔,心想著這就是我的孩子,我這輩子都會被他叫做爸爸,就像我對他爺爺那樣叫。我第一次看見他,卻已經註定這輩子他最親的幾個人其中一位就是我。
不知道其他人所謂「當爸爸的感覺」是什麼,真要比喻我的感覺,好像是心房裡挪出一個重要位置,你知道眼前只會哭的這位陌生人,很快就會坐上去了。他的地位將會跟那些你已經熟識好多年的人一樣重要,甚至更重要些,即便你還跟他很陌生。
小朋友很快就止住哭聲,張大眼睛東瞧西瞧,不知這時候他是不是真能看見,一雙大眼不停轉動,俊挺的鼻子跟他娘還真像。我默默地看著他,心中想起伍佰的【真世界】這首歌。
啊!感慨是一回事,太早出生這件事還是要計較,等到聽得懂人話時再來虧他。
小朋友的體重是 2035g,身高 44cm,按照院方的標準要 2200g 才能夠出院,於是甫出生就進了病房觀察,所幸體重輕一點之外沒什麼大礙。接下來一週除了在家張羅必需品,就是勤跑醫院送母奶。至於收集母奶的辛苦,那又是另一個故事了。只能說做母親實在不簡單,從懷孕開始一連串的不舒服、陣痛、分娩,接踵而來的是漲奶、半夜擠乳、給小孩把屎把尿。每個男人實在要對老婆多疼愛一些。
December 4, 2013
Libreoffice 合併列印地址標籤
晚間收到一個需求,老媽的朋友有一大筆通訊錄儲存成 Office 的 excel 檔,想要列印到 A4 大小的空白標籤貼紙上,寄送郵件的時候只要依序撕下、黏貼即可。這是相當常見的需求,不過以前沒作過也算是新鮮,因此在這邊做了點紀錄。
首先將檔案視為資料庫匯入,這是我摸索出來的作法,應該會有比較正確的作法
如此一來 xls 檔就被當成資料庫了,此時可以先把這個 writer 關掉,回到 xls 檔。接著來編輯 template
接著將資料庫的內容填入
最後拿到了 pdf 檔就可以用來列印,仔細一查卻發現,第一筆資料不見了!但我覺得之前的動作都挺合邏輯,猜想可能有 bug,insert content 的時候有 array index 的問題(唉,我對 office 軟體很沒信心)
另外中文翻譯有時是「合併郵件精靈」,但是打開的視窗標題又變成「合併列印精靈」 :-(
Update:
刪除資料庫的方法
- 使用 Libreoffice 4.1.3.2
- A4 大小的標籤貼紙,已經預先裁好 2 欄(columns) 11 列(rows)
- 每一格是 10.5 cm x 2.7 cm
首先將檔案視為資料庫匯入,這是我摸索出來的作法,應該會有比較正確的作法
- 打開 xls 檔案
- 開新檔案,選 Libreoffice Writer
- 工具 / 合併郵件精靈 / 3. 插入地址區塊 / 選擇地址清單 / 加入 xls 檔
如此一來 xls 檔就被當成資料庫了,此時可以先把這個 writer 關掉,回到 xls 檔。接著來編輯 template
- 從 xls 檔的「檔案」 / 「新增」 / 「標籤」
- 在「格式」那一頁先編輯一下
- 水平間隔、寬度為 10.5 cm
- 垂直間隔、高度為 2.7 cm
- 邊框為 0 cm
- 2 欄 11 列
- 頁寬 21 cm 頁高 29.71 cm (A4)
- 隨便存個名字,好比 "Print Label"
- 在「選項」那一頁
- 選取整頁
- 勾選內容同步化
- 回到「標籤」那一頁開始編輯
- 勾選「地址」
- 資料庫:選擇剛剛增加的 database
- 選取 database 裡面的 table
- 資料庫欄位,依序加入左邊,左邊亦可編輯 (這一步要注意!左方的 template 連結到的是資料庫欄位,如果改用不同的資料庫,會發生找不到資料的情況。意思就是:換資料庫,這一步驟就要重作)
- 格式選「連續」
- 商標、類型選剛剛儲存的格式 (ex: Print Label)
- 按下新增
接著將資料庫的內容填入
- 工具 / 合併郵件精靈
- 使用目前的文件
- 書信
- 一路繼續下去到最後一項
- 儲存合併的文件 / 儲存為單一文件,此時就能另存為 odt 或是 pdf 檔了
最後拿到了 pdf 檔就可以用來列印,仔細一查卻發現,第一筆資料不見了!但我覺得之前的動作都挺合邏輯,猜想可能有 bug,insert content 的時候有 array index 的問題(唉,我對 office 軟體很沒信心)
另外中文翻譯有時是「合併郵件精靈」,但是打開的視窗標題又變成「合併列印精靈」 :-(
Update:
刪除資料庫的方法
- 打開一個文件,選上方的工具 / 選項
- Libreoffice Base / 資料庫
- 選擇不要的資料庫 / 刪除
November 10, 2013
做與不做之間
間接聽到朋友參加的一場座談會,有前輩認為一般民眾不應該作太多事情,這樣是鼓勵政府的不作為。
如此涉及判斷的問題,不論正反方總是可以找到各種支持的理由。選擇不作為者其實只要等著看別人失敗就可證明自己的睿智,有點類似犬儒主義卻又不那麼典型。
世界是如此多種可能,從結果來詮釋一件事相當容易,但在發生以前,選擇做或不做就有點困難,而我們不喜歡失敗的社會風氣,又或著「中國人的渾圓智慧」,使得太積極的人往往被視為熱血躁進。
我仍然覺得這是價值選擇的問題,沒有對與錯。選擇哪種方式,就只關乎人的個性。有人穩重,認為沒什麼好奉獻的,不如顧好飯碗。有人熱血,寧願少吃一碗也要多抬一擔。選哪種都不錯,只要老的時候回顧一切覺得值得,人生也就多圓滿幾分了。
我始終相信「要拯救世界就要先懂得幫媽媽洗碗」,有些人天生是英雄,要幹大事業。我不是,我要從我做得到的小地方,持續地做下去。
如此涉及判斷的問題,不論正反方總是可以找到各種支持的理由。選擇不作為者其實只要等著看別人失敗就可證明自己的睿智,有點類似犬儒主義卻又不那麼典型。
世界是如此多種可能,從結果來詮釋一件事相當容易,但在發生以前,選擇做或不做就有點困難,而我們不喜歡失敗的社會風氣,又或著「中國人的渾圓智慧」,使得太積極的人往往被視為熱血躁進。
我仍然覺得這是價值選擇的問題,沒有對與錯。選擇哪種方式,就只關乎人的個性。有人穩重,認為沒什麼好奉獻的,不如顧好飯碗。有人熱血,寧願少吃一碗也要多抬一擔。選哪種都不錯,只要老的時候回顧一切覺得值得,人生也就多圓滿幾分了。
我始終相信「要拯救世界就要先懂得幫媽媽洗碗」,有些人天生是英雄,要幹大事業。我不是,我要從我做得到的小地方,持續地做下去。
October 21, 2013
小英在竹南
民進黨前主席,小英基金會的現任董事長蔡英文上週五應邀到竹南演講,朋友丟了這個訊息給我,下班之後我們就一起過去。由於邀請單位的性質,聽眾大多數都是年紀大的長者,像我們一般三十歲上下的年輕人(?)沒幾個。
小英的演講題目相當大:「臺灣當前的挑戰,還有我們的未來」。雖然聽說小英經過選舉歷練之後,變得比較像政治人物。這次的演講如果不看底下的人,還以為聽講對象是研究生。演講內容大多數都是提出當前的問題,範圍其實不出平常跟好友的討論。換個角度說,只要平常比較關心政治的人,對於臺灣現有問題應該都有共識。
有趣的是,現場提問時,小英對於現今公民運動的看法,回應得相當直接明確。演講中她也引述好幾句 1985 行動聯盟的發言,大致可以揣測對兩黨之外的公民運動相當重視。她的看法是,公民運動應該更有組織,以更強的力道去壓迫政黨。是否同意這個看法見仁見智,但我相信,現在年輕人要嘛是不關心政治,關心政治的人對兩個黨都不耐煩了。
小英的演講題目相當大:「臺灣當前的挑戰,還有我們的未來」。雖然聽說小英經過選舉歷練之後,變得比較像政治人物。這次的演講如果不看底下的人,還以為聽講對象是研究生。演講內容大多數都是提出當前的問題,範圍其實不出平常跟好友的討論。換個角度說,只要平常比較關心政治的人,對於臺灣現有問題應該都有共識。
有趣的是,現場提問時,小英對於現今公民運動的看法,回應得相當直接明確。演講中她也引述好幾句 1985 行動聯盟的發言,大致可以揣測對兩黨之外的公民運動相當重視。她的看法是,公民運動應該更有組織,以更強的力道去壓迫政黨。是否同意這個看法見仁見智,但我相信,現在年輕人要嘛是不關心政治,關心政治的人對兩個黨都不耐煩了。
October 8, 2013
Livescript Backcall
最近因緣際會之下開始碰 Livescript
原本好不容易把 Javascript 打通,以為可以開始用某種語言痛快說話時,突然又來了 Livescript,只好又開始牙牙學語
初碰 Livescript 總感覺到有無形的牆擋在前面,怎麼唸也不順,直到聽見高村長提到關鍵字「Perl」,心中好像有什麼結被打開了,與其把它當成某種 javascript 的變型,似乎把它當成 Perl 的變型要好一點,雖然原作者可能不這麼想 XD
心結打開就舒坦了一些
高村長又曾經開示 Livescript 重要的特色之一就是 backcall。如果沒有誤解,backcall 要解決的問題之一就是 javascript 可怕的 callback 地獄。以一段 pseudocode 來說
這段話可以如此解釋:從 http 取得一份資料,成功取得就打開檔案,然後把取得的資料存進檔案裡面。這些動作相當仰賴 callback,我們會一層又一層地將 function 物件傳進去,太多層就是 callback hell !!
用 Livescript 就可以透過 backcall 的方式這麼寫
看起來比較簡潔,先來理解 backcall 的形式
箭頭的右側就是我們最先呼叫的 function,箭頭的左側則是傳入的 callback 參數,下方是 callback 的主體。也因此右側自成一組,左側與下方自成一組,看程式碼的時候就要這麼看它
從形式上來看會是「執行 open_file 的 callback 是底下那一塊,左方是 callback 參數」。
既然要閱讀程式碼,就要能夠「唸」出來。我自己的念法就會是「http fetch data 之後就打開檔案,打開檔案之後就存入」,至於 parameters 的部份都忽略不看
update: 因為 callback chain 的關係,經常 callback 只會接受一個參數,也就是上一個 function call 的 return value。(不然就是再多一個 exception) 。在此前提下閱讀 backcall 就會簡單很多,上面的例子就是: http fetch data 的回傳值是 json,打開檔案回傳值是 filename,接著把 json 存進去 filename
這是我個人的理解方式,希望給同樣頭痛的人一點幫助
ps. 由於 backcall 底下都會是 callback body,若有不屬於 body 的 statements,用 do 就可以解決了
原本好不容易把 Javascript 打通,以為可以開始用某種語言痛快說話時,突然又來了 Livescript,只好又開始牙牙學語
初碰 Livescript 總感覺到有無形的牆擋在前面,怎麼唸也不順,直到聽見高村長提到關鍵字「Perl」,心中好像有什麼結被打開了,與其把它當成某種 javascript 的變型,似乎把它當成 Perl 的變型要好一點,雖然原作者可能不這麼想 XD
心結打開就舒坦了一些
高村長又曾經開示 Livescript 重要的特色之一就是 backcall。如果沒有誤解,backcall 要解決的問題之一就是 javascript 可怕的 callback 地獄。以一段 pseudocode 來說
http.fetch_data(function(json) {
open_file(function(filename) {
save_to_file(filename, json);
});
});
這段話可以如此解釋:從 http 取得一份資料,成功取得就打開檔案,然後把取得的資料存進檔案裡面。這些動作相當仰賴 callback,我們會一層又一層地將 function 物件傳進去,太多層就是 callback hell !!
用 Livescript 就可以透過 backcall 的方式這麼寫
json <- http.fetch_data filename <- open_file save_to_file filename, json
看起來比較簡潔,先來理解 backcall 的形式
callback_parameter <- caller_function callback_body
箭頭的右側就是我們最先呼叫的 function,箭頭的左側則是傳入的 callback 參數,下方是 callback 的主體。也因此右側自成一組,左側與下方自成一組,看程式碼的時候就要這麼看它
json <- http.fetch_data filename <- open_file save_to_file filename, json
從形式上來看會是「執行 open_file 的 callback 是底下那一塊,左方是 callback 參數」。
既然要閱讀程式碼,就要能夠「唸」出來。我自己的念法就會是「http fetch data 之後就打開檔案,打開檔案之後就存入」,至於 parameters 的部份都忽略不看
update: 因為 callback chain 的關係,經常 callback 只會接受一個參數,也就是上一個 function call 的 return value。(不然就是再多一個 exception) 。在此前提下閱讀 backcall 就會簡單很多,上面的例子就是: http fetch data 的回傳值是 json,打開檔案回傳值是 filename,接著把 json 存進去 filename
這是我個人的理解方式,希望給同樣頭痛的人一點幫助
ps. 由於 backcall 底下都會是 callback body,若有不屬於 body 的 statements,用 do 就可以解決了
do json <- http.fetch_data filename <- open_file save_to_file filename, json this_is_in_callback \yeah this_is_not_in_callback \yeah
Subscribe to:
Posts (Atom)



