因為要對 log,所以有此需求,印象中vim 可以做到,但不知道指令。
後來 google 了一下,找到是 cursorline,輸入 :set cursorline! ,游標所在列就會出現光棒或是有底線 (視 vim 所在環境而定)。有游標列,就有游標行,:set corsorcolumn! 就是了。
Just thinking more…
因為要對 log,所以有此需求,印象中vim 可以做到,但不知道指令。
後來 google 了一下,找到是 cursorline,輸入 :set cursorline! ,游標所在列就會出現光棒或是有底線 (視 vim 所在環境而定)。有游標列,就有游標行,:set corsorcolumn! 就是了。
主要是看資料連線會怎麼個重試法。
從 ConnectivityManagerService 可以看到有追蹤 Mobile data state (MobileDataStateTracker),這裡會呼叫到 Phone 裡的 enableApnType(),這個函式最終是呼叫到 DataConnectionTracker.enableApnType(),而這個 method 其實是 virtual 的,分別由 CdmaDataConnectionTracker 與 GsmDataConnectionTracker 這兩個類別去實作。
在 CdmaDataConnectionTracker 裡可以看到利用 ALARM_SERVICE 進行重試連線的機制。Intent 名稱是 INTENT_RECONNECT_ALARM,而重試時間則是由 nextReconnectDelay 決定。nextReconnectDelay 則是從 mRetryMgr.getRetryTimer() 取得。mRetryMgr.getRetryTimer() 其實是依據 mRetryArray 裡的值來回傳,mRetryArray 則是在 mRetryMgr 被建立時,用 configure() 方法去初始的。configure() 收一個字串,CdmaDataConnectionTracker 裡會先看 ro.cdma.data_retry_config 這個 property,如果沒有,就丟 DataConnectionTracker.DEFAULT_DATA_RETRY_CONFIG 這個字串給 mRetryMgr.configure() 去解析。
字串裡的格式,主要以逗號分隔,可以有這四種:
DEFAULT_DATA_RETRY_CONFIG 裡是這麼寫的:default_randomization=2000,5000,10000,20000,40000,80000:5000,160000:5000,320000:5000,640000:5000,1280000:5000,1800000:5000 ,解析以後,會把 5000 到後面的值都放到 mRetryArray 裡,所以 mRetryArray 就有十個元素。
運作時會依據 mRetryArray 的值進行重試 (單位是 ms 亦即除以 1000 就是秒),當連線失敗,會等待 5 秒+亂數2秒,然後重試;如果失敗,接著會等待 10 秒+亂數2秒,然後重試;如果又失敗,接著會等待 20秒+亂數2秒,然後重試;依此類推;當重試超過第十次時,就會一直用第十次的值,繼續去重試。
這個重試的過程會一直持續下去,直到沒訊號、 漫遊或是設定裡的 Data Enabled 被關閉為止。
安裝碰到的問題,安裝時會要編譯,所以需要安裝必要的開發套件,其實也就3個:libclutter-1.0-dev、libmx-dev、libclutter-gst-dev,然後再安裝 jsdx-toolkit 即可:npm install jsdx-toolkit
奇怪的是我執行了兩次 npm install jsdx-toolkit 才成功。
父親往生了,因為慌亂,沒請醫院開死亡證明,葬儀社就找了醫生來幫忙開死亡證明。
遺體送到殯儀館時,醫生已經在那邊等了,不知道是不是等太久,從我們口中無法得知正確死因時,他看起來有點生氣。後來聽他抱怨之後,才知道,現在其實很多死亡證明都是隨便開開。在殯葬界,有好幾組醫生是專門在開死亡證明的,他所知道的這些醫生,其實都是有執照但沒開業的醫生,在開的時候,都是助理寫一寫,醫生在旁邊看,所以死因都是一些器官衰竭、心臟麻痹……等千篇一律的病名。也因為這樣,他抱怨政府在這方面的鬆散,跟衛生署建議,衛生署也不理,衛生署的十大死因根本就不準確。我想他是相當嚴謹的人,只是想把自己本份做好,不想這樣隨便把死亡證明開出去,這樣的人值得佩服。
聽了抱怨之後,醫師接下來要我們去聯絡醫院主治醫師,他口頭詢問。還好妹妹剛好有去醫院申請診斷證明書,就請她幫忙找主治醫師。之後,葬儀社的師兄來了,就跟他小吵了一下,說醫院現況大部份都是你自行出院時,院方不負責開立死亡證明。講了好一會兒,醫師最後還是答應開,就根據我們所說的,儘可能符合現況,在開完的時候,妹妹聯絡到醫生了,他們通了電話之後,確定跟剛剛所開立的死亡證明相符,開死亡證明這件事情就此落幕。
上次裝 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 自己編譯。
昨天在用 Calibre 時,突然想到如果可以直接在 Calibre 裡直接做搜索與下載的動作不是很好嗎?原本是先去好讀網站上搜索,然後下載到某個資料夾以後,再放到 Calibre 裡,這樣的動作很繁瑣。
有起了念,就趕緊去找,之前是看過幾次寫 Calibre plugin 的文,但這次是增加對書籍的搜索,不知道是不是可以寫這樣的 Plugin。在 Calibre 的源碼裡翻找了一下,大致知道這樣是要寫個 Store,所以就用 Calibre store plugin 去搜索,就找到 Store plugin 的討論串。這個討論串裡面正好有提供框架,就直接拿來改了。今天改了一上午,就改的差不多了,源碼放在 github 上 。有需要的人就自行取用,使用上有一天一百次的限制,這是 Google APIs 的限制,你可以試著申請 developer key,然後把 haodoo.py 裡的 key 改掉,就可以自己擁有一天 100 次 query 的限額。
順便記錄一下幾個心得: