Miro 的 Proxy 設定

Miro 是個好東西,但是很不幸,公司的網路政策不允許下載串流影音檔案,也就沒辦法在 Miro 裡搜索。官方的說法也很妙,就是叫你開控制台的網際網路設定去改 proxy。既然官方說法這麼無奈,只好自力救濟。

印象中,Miro 好像是用 xulrunner,但不很確定,就打開安裝所在的資料夾來看,有看到 etc 資料夾,裡面有個 gtk-2.0,喔~這是用 GTK 寫的;等等,看到 xulrunner 資料夾了,再去看裡面,有個 greprefs.js ,打開看看,賓果,是設定檔。於是就找了 network.proxy,改了下面幾個設定:

  • network.proxy.type 改為 1:依照 Mozilla 的說明,1 表示手動指定 proxy,原來的值是 5,表示使用系統預設值。
  • network.proxy.http / network.proxy.http_port :改為指定的 proxy 與 proxy port。
  • network.proxy.ssl / network.proxy.ssl_port :這是 SSL 的,一樣改成指定的 proxy 與 proxy port

這樣就大功告成了,突破!!

ubuntu 12.04 ia32-libs 無法安裝

約莫半年前,我的桌機從 11.10 升級到 12.04 precise 以後,就沒辦法安裝 ia32-libs,這問題一直卡關,卡到現在才找到解。

安裝的時候,apt 會告訴你:

  • ia32-libs 相依於 ia32-libs-multiarch
  • ia32-libs-multiarch 相依於 bluez-alsa:i386
  • bluez-alsa:i386 相依於 bluez:i386
  • bluez:i386 相依於 python-dbus-dev:i386
  • 族繁不及備載…bala…bala…

有發現有人提報了這個問題,也有人貼到討論區上討論,但是都沒解。

其實主要問題是卡在 bluez 上面,後來用 bluez:i386 ia32-libs-multiarch 這幾個關鍵字去找,就找到:Solving ia32-libs installation problem in Ubuntu 12.04 precise pangolin ,然後就照著他的方法去做,順利解決了問題。

他的方法是這樣子的:

  1. 移除 ia32-libs 跟 bluez 等相關套件:sudo apt-get remove bluez ia32-libs
  2. 安裝 ia32-libs-multiarch:i386 :sudo apt-get install ia32-libs-multiarch:i386
  3. 安裝 ia32-libs :sudo apt-get install ia32-libs

是故,現在可以用 google earth,也可以編譯 Android 4.x 了。

 

avant-window-navigator 設定檔位置

Ubuntu 12.04 用的是 0.4.x ,設定檔主要是放在 HOME 目錄下,有兩個地方:

  • ~/.config/desktop-agnostic ,這邊主要是 .ini,各個 applet 的設定都在這裡。
  • ~/.config/awn ,這邊主要是 launcher (*.desktop)、themes..等等的。

原本以為改改 .ini ,就可以順利回復到上次的設定,豈料不行,所以還是乖乖手動自己加 task launcher…囧。

批次改 wordpress 文章可見度為 Private (私有)

有在用 SEO 的話,這功能應該是用不到,剛好有用到,就研究了一下。

一開始是想,有 plugin 可以做到這件事情,所以就找 plugin 看看。先找到 PrivatePostDefault,這可以把預設發文的可見度改為私有,但沒找到可以批次修改的 plugin。胡亂找了半天,終於發現我是白痴,原來早就有這功能,只是不知道怎麼用。先選到 All posts,然後選右上角的 screen options,設一頁可顯示的筆數,這時候是愈多愈好。保存以後,選 Public,勾選所有文章,在 Bulk action 的地方,改選 Edit,然後按下 Apply,再把 Status 改為 Private 即可。打完收工。

電影流水帳(2012/10/1~2012/10/15)

DSC08351_ZAG

  • The Hunger games (IMDB, Wikipedia),中譯:饑餓遊戲。去年有看過書的三部曲了,所以看電影的目的就只是想要看看跟書上的差距有多少。我個人是覺得還可以,可是有些劇情的開展,並不如小說來的清楚。例如,Rue (捲髮小女孩,很會躲)那一段,沒看過小說的人應該會覺得莫名其妙,電影裡只交代了「果」,就是他們一起設計去燒了物資,並沒有交代他們怎麼會認識並成為好朋友。還有就是跟 Peeta 的糾葛,怎麼會又愛又冷的感覺。很多人都說劇情有點像是大逃殺,我個人覺得是不相同的類型,應該算是那種浩劫餘生,資源被強國掌握,被迫要照強國安排走的的悲慘局面。為了走出這局面,男女主角以相較於以往不同的方式來反抗,而湊巧這就跟以往一直在地下游走的反抗勢力結合,這部分會在後續兩部電影交代。
  • 痞子英雄首部曲:全面開戰 (IMDB, Wikipedia),英譯:Black & White Episode I: The Dawn of Assault。是電視劇的前傳,劇情有撲朔迷離到,然後也有誇張到,相當緊湊,還不錯看。徐達夫為了女人,冒險去做黑市交易,豈料卻捲入陰謀之中。然後就跟吳英雄結合查案,最後發現是SPARK公司為利,要讓恐怖份子與海港城發生戰爭,然後解決危機這樣。整部片裡我覺得最有趣的是戴立忍以標準國語解說為什麼他要這樣做的部分,不,並不是戴立忍演技有問題,只是這樣的口音跟解說實在是讓人覺得有突兀感,就這樣。

 

scraperwiki

scraperwiki.com 是一個可以讓你寫網路爬蟲程式的網站,在網站上寫,立刻就能執行並看到結果。語言的話可以用 PHP/Python/Ruby 這三種程式語言,而資料是儲存到 sqlite3 資料庫裡。

Android螢幕解析度

需要寫一個程式同時支援平版跟手機,是故,螢幕解析度就是一個討厭的問題了。上網 Google 了一下,在 StackOverflow 裡看到一篇:Android : App support for multiple tablet screen resolutions,雖然還沒投票選出最佳答案。但是第一個回覆蠻中肯的,他建議先去看 Android 開發網站的這篇 Using new size qualifiers ,就是一般的就用原來的 layout,那平版就用 layout-sw600dp 或 layout-sw720dp ,甚至乾脆就用 layout-v11。總之,Android 開發網站上 Best practice 裡的 Support multiple screens 很值得一看,有提到設計的原則、圖形怎麼選用與縮放,也提到怎麼測試。

說真的,其實現在也不知道用的平板是那一塊,就先弄一般手機 layout 的就好,等知道了平板的解析度,再來調整也不遲。

 

EditText 的 setOnEditorActionListener

還是紀錄一下好了。

在改 2.3.3 Phone app 裡的 GetPin2Screen 時,很妙的一點,它只有去設置 mPin2Field 的 onClick 事件,這樣的結果是導致輸入完 PIN2,按下 Done 以後,一點反應都沒有。

上網 Google 了一下,看了一堆 EditText 的介紹/密技以後,發現是要用 setOnEditorActionListener 去攔截按下 Done 的動作。所以就老實地實作了 OnEditorActionListener 介面,然後 setOnEditorActionListener()。原本 mClicked 裏面的 code 則被我整理成 function,給 OnEditorActionListener 呼叫。軟體鍵盤右下角的 “Enter” 可以透過改 layout 解決,要幫 EditText 增加一個 attribute:android:imeOptions=”actionDone” 。

主要參考資料:

 

 

vim調整split後的區域大小

按下 ctrl+w s 與 ctrl+w v 以後分割出來的區域,vim 裡是叫作 window,所以用 google 去找 vim split window size 就可以找到說明。

要調整 window 的方法,也是要先按下 ctrl+w:

  • ctrl+w +、ctrl+w -:先按下 ctrl+w 再按下加號或減號,是增加或減少列數,也就是調整上下分割時用的。
  • ctrl+w >、ctrl+w <:先按下 ctrl+w 再按下大於或小於符號,是左右分隔線向右或向左的意思,主要是調整左右分割實用的。

以前就很想知道這功能了,其實早就應該去查了,這樣才會記的住,才不會老是在想說該怎麼弄。

Python Performance Enhancement Tips筆記

以下是摘要:
  • python -m cProfile -s cumulative $1
  • time 指令
  • 用 pypy 與 python 對比:time python a.py 與 time pypy a.py
  • 可以考慮組合應用,一部份用 pypy,一部份用 python,因為 pypy 無法使用某些模組。
  • thread 效能不彰,因為 GIL 的關係,儘量使用 multiprocessing module 來代替 thread。要注意不可以使用函式內的函式,否則會有 Exception 發生,參數函式跟回傳值都要是 pickable 的。
  • 可以考慮使用 gevent:淺談coroutine與gevent