死亡證明這件事

父親往生了,因為慌亂,沒請醫院開死亡證明,葬儀社就找了醫生來幫忙開死亡證明。

遺體送到殯儀館時,醫生已經在那邊等了,不知道是不是等太久,從我們口中無法得知正確死因時,他看起來有點生氣。後來聽他抱怨之後,才知道,現在其實很多死亡證明都是隨便開開。在殯葬界,有好幾組醫生是專門在開死亡證明的,他所知道的這些醫生,其實都是有執照但沒開業的醫生,在開的時候,都是助理寫一寫,醫生在旁邊看,所以死因都是一些器官衰竭、心臟麻痹……等千篇一律的病名。也因為這樣,他抱怨政府在這方面的鬆散,跟衛生署建議,衛生署也不理,衛生署的十大死因根本就不準確。我想他是相當嚴謹的人,只是想把自己本份做好,不想這樣隨便把死亡證明開出去,這樣的人值得佩服。

聽了抱怨之後,醫師接下來要我們去聯絡醫院主治醫師,他口頭詢問。還好妹妹剛好有去醫院申請診斷證明書,就請她幫忙找主治醫師。之後,葬儀社的師兄來了,就跟他小吵了一下,說醫院現況大部份都是你自行出院時,院方不負責開立死亡證明。講了好一會兒,醫師最後還是答應開,就根據我們所說的,儘可能符合現況,在開完的時候,妹妹聯絡到醫生了,他們通了電話之後,確定跟剛剛所開立的死亡證明相符,開死亡證明這件事情就此落幕。

 

FreeBSD 9 小記

上次裝 FreeBSD,是在 FreeBSD 4 的時候,換言之,已經是差不多快十年前的事情了。

首先當然是下載光碟,我下載了 DVD 版本,下載完畢,就用來開機。開機以後,安裝步驟出乎意料的簡單,問了鍵盤配置、網路、磁碟等等,不超過五個問題,就開始安裝。安裝完以後,就可以開機進去了。

進去以後,想要裝一些趁手的軟體,安裝是使用 pkg_add。pkg_add 預設是使用 FTP 去下載軟體來安裝,因為公司網路對 FTP 的封包非常不友善,於是要改為 HTTP,這裡要用 setenv PACKAGESITE http://ftp.tw.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/ 把預定要下載的網站改為台灣的伺服器,同時也將 ftp:// 改為 http:// ,這樣就好多了。

目前就先裝了 vim 跟 kde4,晚點再來試試用 ports 自己編譯。

電影流水帳(2012/7/13~2012/7/31)

brooklyn-decker-gallery-2

  • Battleship(IMDB, Wikipedia),中譯:超級戰艦。電影的故事很合理,外星人的確未必是友善的。地球人主動向外太空可能有生命的地方發射訊號,導致了外星人派出先遣部隊來犯。剛好,降落的地方就在夏威夷舉行軍事演習的地方,就展開了一場戰役。一開始,地球人是處於弱勢的,但是在後期掌握足夠的資訊以後,開始反擊。是說後面也有點誇張,一艘老戰艦竟然還能運作並且作戰。還不錯看啦,只是對於那個男主角,真的很想巴下去,到底是在孬種的什麼勁,該開口跟女友父親說的就快說啊,真是的。男主角正巧就是上次看過的 John Carter 的男主角,表現還不錯,但他的女友才是亮點(如上圖)。
  • Safe house(IMDB, Wikipedia),中譯:狡兔計畫。CIA 在各地都有租用公寓,作為秘密行動時可以使用,被稱為Safe house。這次則是逮到大咖的人 Tobin Frost,他拿了一份秘密的名單遭到追捕,到了男主角 Matt 在顧的公寓,要開始嚴刑拷打。想不到卻被追殺,所有人都被殺了,Matt 帶著 Tobin 要到下個 Safe house 去。Tobin 一直想逃掉,一度也逃掉過,但是在 Matt 鍥而不捨的追查下,還是抓到。在追查的過程中,Tobin 慢慢跟 Matt 分享為什麼他叛逃 CIA 並握有名單的原因。原來是因為 CIA 內部有嚴重的收賄問題,而他握有的名單就是這些人的名單,這也是被追殺的原因。這些追殺他的人其實也是 CIA 的人。最後 Matt 與 Tobin 聯手消滅了追兵,但 Tobin 受傷太重而死去。Matt 回到局裡以後,上了假報告,然後把這份名單偷偷發給媒體,於是高層展開調查…

 

 

calibre-haodoosearch 為 Calibre 增加搜索好讀網站並下載的功能

昨天在用 Calibre 時,突然想到如果可以直接在 Calibre 裡直接做搜索與下載的動作不是很好嗎?原本是先去好讀網站上搜索,然後下載到某個資料夾以後,再放到 Calibre 裡,這樣的動作很繁瑣。

有起了念,就趕緊去找,之前是看過幾次寫 Calibre plugin 的文,但這次是增加對書籍的搜索,不知道是不是可以寫這樣的 Plugin。在 Calibre 的源碼裡翻找了一下,大致知道這樣是要寫個 Store,所以就用 Calibre store plugin 去搜索,就找到 Store plugin 的討論串。這個討論串裡面正好有提供框架,就直接拿來改了。今天改了一上午,就改的差不多了,源碼放在 github 上 。有需要的人就自行取用,使用上有一天一百次的限制,這是 Google APIs 的限制,你可以試著申請 developer key,然後把 haodoo.py 裡的 key 改掉,就可以自己擁有一天 100 次 query 的限額。

順便記錄一下幾個心得:

  • 可以直接用 print() 印訊息,然後搭配 calibre-debug 就可以看到輸出。
  • 在設定 actual_plugin 時,搞了好久,然後才發現是自己忽略了框架plugin裡的 .txt 檔案。這個檔案名稱決定了 actual_plugin 屬性該怎麼寫。
  • 實驗結果,Calibre 從 UI 傳下來的字串是 utf-8,然後直接宣告字串變數的話,該字串變數則是 unicode 。
  • 最好不要使用 Calibre 裡面沒包的 library,要不然會很麻煩。我本來是打算用 Google API client library 來執行 custom search,但是後來發現有太多依存關係,就放棄了。
  • 有些字串在印完會丟出例外,我後來乾脆都用 try except 包起來,要不然會沒辦法繼續執行/除錯。
  • 可以自己寫批次檔來做快速佈署的工作,這在 Writing your own plugins to extend calibre‘s functionality 有介紹,會省掉很多工夫。主要就是 calibre-customize 這指令,當這樣用時 calibre-customize -b /your_plugin/ ,會自動幫你把 your_plugin 壓縮成 your_plugin.zip ,並且放到 Calibre 的 plugins 目錄 (Windows 上是在 $USERPROFILE\Application Data\calibre\plugins )。

 

電影流水帳(2012/6/30~2012/7/12)

A Princess of Mars

  • John Carter(IMDB, Wikipedia),中譯:強卡特戰記。這是改編小說的電影,小說的原名是A Princess of Mars(火星的公主),原文小說可以在古騰堡計畫裡下載。故事採取倒敘法,一開始主角就突然死去,留下家產給他的姪子,他的姪子趕緊趕來,然後開始閱讀他的日記。歷史背景是在美國建國初期,主角原本是個軍人,他把自己奉獻給國家,但是後來卻因為妻小被殺害,萬念俱灰,就不再從軍,改去淘金。淘金時,他被軍隊抓住,之後他挾持軍隊的長官逃出,逃到某個洞穴時,遇到 Thern,被傳送到火星去。在火星,由於重力的關係,主角變得很厲害,一開始是被Tharks(火星上的某個種族)抓住的,之後救了Dejah公主,之後在一連串冒險之後,他找到自己的目標,就在Dejah為了Helium的和平與Zodanga結婚之時,帶領著Tharks打倒Zodanga救了Dejah公主。然後新郎就變成了主角,主角與Dejah公主成親的當晚,他把Thern的項鍊丟掉,決定不再回地球,造化弄人,Thern的領袖突然出現,把他傳送回了地球。主角為了再回到火星,開始運用他找到的金子四處考古,想找到那個可以傳送他回火星的項鍊,但一直都沒找到。這一天,他突然想到一個方法,於是他就發電報找了他的姪子回來…結尾的這個梗我覺得很有趣,暗示了可能拍下一集,我就不破梗了。
  • The RAID: Redemption(IMDB, Wikipedia),中譯:全面突襲。超讚的動作片,從頭打到尾,氣氛跟武打都很到位!主角是個特警,局裡出任務,正好是要去他弟弟所在的地方進行勦滅任務。進去那個屋子以後,就開始打打打,打的很精彩,也很血腥。最後靠著他弟弟的幫忙,打倒了大魔王,然後也帶回那個串通敵方的人。

Calibre小補強

是這樣的,我在公司的電腦安裝了Calibre,想利用send to kindle把電子書寄到指定的e-mail位址,這樣Kindle就會自動更新。但是公司的郵件伺服器不提供SMTP,而Calibre本身的郵件設定又只有跟SMTP相關的部份,因此只能作罷。

這幾天想了又想,本來已經放棄,想要開始hack Calibre源碼,自己作一個 plugin 來補強了。但是正好看到有Open With這個 plugin ,靈機一動,就想到有這個,不就可以自己寫一個 script 來搭配使用了嗎?於是就開始實驗。

  1. 先開始一個 sendmail.vbs 檔案,然後利用 WScript.Arguments 來取參數。這裡首先遇到的問題是 Calibre 直接呼叫 sendmail.vbs 時,會出現 Error 193 的錯誤。這是因為 python subprocess 模組(Calibre是用Python寫得)不認為 sendmail.vbs 可以被執行,所以要繞路一下,多寫一個 sendmail.cmd,裡面則是用 wscript sendmail.vbs 來呼叫,這樣就可以了。
  2. 取得的參數是帶有完整路徑的檔名,因為我不想郵件的主旨又臭又長,所以就用 Scripting.FileSystemObject 的 GetFileName ,這樣就可以只取得檔案名稱。
  3. 寄信,需要附件,我是參考這篇,利用 Outlook 來寄信。使用 Outlook 寄信會跳出一個安全警告,這個沒辦法避掉,要避掉就只能改用 CDO 或其他方式,暫時就這樣用吧。

 

django-navbar

django-navbar 簡單說就是提供 navigation 的解決方案,類同於 ASP.Net 裡的 sitemap。

使用方法不難,但也讓我摸索了一陣子,這邊記錄一下:

  1. INSTALLED_APPS 加入 navbar
  2. TEMPLATE_CONTEXT_PROCESSORS 要加入 “navbar.context_processors.crumbs”, “navbar.context_processors.navbar”, “navbar.context_processors.navtree”, “navbar.context_processors.navbars”,預設原來的 settings 裡並沒有 TEMPLATE_CONTEXT_PROCESSORS,所以要自己加。但不是只加入這4個就好,而是還要加入原來的幾個
  3. 要 syncdb ,這會加入兩個 table。
  4. admin 裡會多出 NavBarEntry 的項目設置,注意:在 admin 設置完成以後,要重新 runserver,這是因為 navbar 是把資料預先塞到 Context Processor 裡,只有一開始才會去資料庫撈資料。
  5. 樣板有好幾個用法,但都要先 {%load navbar%},這可以參考 navbar/templates/navbar/ 下的檔案來進行使用。
  6. 有提供 breadcrumbs (就類似 “首頁 / 大功能 / 小功能” 這樣),但是沒有提供樣板,你可以自己刻,變數是在 crumbs 裡,用 {{ crumbs }} 就可以看到。

電影流水帳(2012/6/15~2012/6/29)

6.1.12 - "Piranha 3DD"

  • Colombiana(IMDB, Wikipedia),中譯:黑蘭嬌。九歲小女孩的父親想要洗手不幹,老大不想,就把他全家滅了口。小女孩很幸運,靠著父親留下的證據跟快腳,得到美國庇護,逃出了哥倫比亞,到美國投靠叔叔。小女孩跟叔叔表示不想唸書,想要當殺手幫父母復仇,叔叔很清楚的告訴他,不管怎麼樣都要唸書,學校所教的是我沒辦法教你的。於是時光飛逝,小女孩長大成人成了一個獨當一面的女殺手。在殺了某個人之後,FBI決定公開連續殺人事件,於是她殺人的手法也曝光,她的叔叔很生氣,說這樣會害了整個家族。果然過了不久,叔叔的整個家族都死光了,凶手一樣是當初害死她父母的人,她非常後悔,也很生氣,就對 FBI 負責偵辦的人下手,逼迫他去找出當初害死她全家的人的地址。原來當初害死她父母的人也透過美國 CIA 的證人保護計畫而躲了起來,經過施壓與威嚇 CIA 負責該案件的人之後,終於取得地址,然後展開復仇。不難看的女性復仇電影,場面相當精彩。
  • 名探偵コナン 沈黙の15分(IMDB, Wikipedia),中譯:名偵探柯南-沈默的15分鐘。越來越不好看了,推理就是在中間理所當然地被推斷出來,少了很多懸疑點。凶手就是為了取出沈在水庫裡的鑽石,才寫信去威嚇都知事,之後,柯南想說就去水壩所在的村子進行調查。然後遇到村子裡的一伙人,很順利地推斷出去坐過牢的山尾就是主凶,而且還想把水壩炸掉以取得裡面的鑽石。這邊可以發覺到柯南已經快成了超人了,居然可以比破堤的大水還快,還可以引發雪崩去阻止大水,太神了。
  • Piranha 3DD(IMDB, Wikipedia),中譯:3D食人魚2:全面獵殺。很可惡也很噁爛的片,明明就知道導演在那個段子有埋梗,會嚇到人,可是偏偏還是被嚇到,導演就是有辦法在你鬆懈的一瞬間嚇到你。這片比上次有更多的裸露、更多的血腥,不過就故事情節來說,比上次弱。片尾有李麥克(David Hasselhoff)出來插花,相當逗趣,片尾好像為了湊時間,故意弄了一個假片尾,然後丟了一些拍片花絮上去,湊滿快90分鐘。片子裡有從人肚子跑出食人魚的情節,感覺上是有被咬到,就有可能會在身體裡產卵,後面沒有對這點多做解釋。結尾,教授的食人魚從魚缸裡逃出來,然後游泳池有魚在地上爬的畫面,莫非還會有第3集,拜託,不要了吧?!

 

django-grid

django 裡面怎麼好像沒有內建的 grid 產生器? 沒有在 admin app 裡找,後來是找到這個 django-grid ,看起來用法很簡單,就用了。一開始是照著用,然後還去改了他原來的 template,後來才想到應該在自己要用到 grid 的 template 裡用 {% include ‘grid/object_list.html’ %} 才對,這樣就可以不用更動到原來的 template。

grid 裡已經有處理分頁的部分,官方的文件沒提到的幾點:

  1. 自訂 column 的標題:如果你的 model 裡已經有加上去的話,它會自動去抓,但是如果是自訂的欄位,就要這樣用:columns = ( (‘field1’, ‘欄位1’), (‘field2’, ‘欄位2’), )
  2. 刪除:grid 有定義這個,在定義 columns 的時候,要使用 __delete__,例如: columns = ( (‘field1’, ‘欄位1’), (‘field2’, ‘欄位2’), (‘__delete__’, ‘刪除’), )
  3. 自行定義欄位:要額外增加 custom_columns,其形態是 dict,grid 在遇到裡面指定的元素時,會改用你定義的 template 去顯示,來達到自定義的效果:custom_columns={ ‘field1’: ‘app/custom_field1.html’ }
  4. l10n:grid 沒有做這部分,這就要自己去改 template 了。

總結範例:[python]from grid import Grid
class MyGrid(grid):
model = your_model
columns = ( (‘field1’, ‘欄位1’), (‘field2’, ‘欄位2’), )
sortable = (‘field1’,)
custom_columns={ ‘field1’: ‘app/custom_field1.html’ }
[/python]

用imagemagick合併圖片

今年年初時買了 Canon 的事務機,裡面有掃描的功能,所以就開始了掃描大公子作品的計畫。大公子都是畫在那種大大張的日曆紙上面(約為A3大小),掃描時,就需要折半來掃描(折半就是A4)。可是折半掃描為圖檔以後,到了電腦就要合成,之前都是利用繪圖軟體,像 paint.net 或 gimp,先把畫布尺寸擴大為兩倍,再把第2張圖貼上,這樣很花時間,調整起來也很麻煩。

處理了幾次之後,終於受不了了,想說應該有好用的工具可以一次搞定。之前知道有 imagemagick,就用 imagemagick cat image 丟下去找,看到 cat 了嗎? 會用 cat 是因為想到 linux 下有個好用的 cat 指令,一般可以用這個把兩個檔案串到一起,然後用 pipe 輸出到新檔案。但是 cat 就是貓啊!!! 所以找到了一堆跟貓照片有關的文章。@_@

找著找著,終於發現自己的錯誤,應該要用 merge 啊!!! 於是就找到了 montage 這個指令,這個其實就包在 imagemagick 套件裡,用法是這樣子的:montage 1.jpg 2.jpg -tile 1×2 -geometry +0+0 output.jpg ,這樣就可以把兩張圖接起來,一張在上面,一張在下面。如果要左右接,就把 -tile 拿掉即可。