2010-02-24

msnlib 體積小功用多

雖然有點後知後覺,但是這個還是不錯用!
http://blitiri.com.ar/p/msnlib/
(最新版本是2009-11-01)

之前包括centerim(centericq), finch(pidgin的副產品)
不是體積大就是update太慢以致無法通訊,直到最近找到
這個 python module msnlib 發現它又小(真正用得到的
library 及程式大約 100KB)又俱備 MSN基本功能(目前不能
傳檔)

搭配它付的 msn 就可以進行 MSN 通訊
它付的另一個 msnbot 也可以用來搭配系統做自動送訊

整個package 解開後也不必用root 身份安裝就直接可用
其實只要將其中的 msncb.py msnlib.py 及 msn msnbot
四個檔案放在任何地方的同一個 directory 內就能用了

不過原始的 msn 有點麻煩, 它一定要有
$HOME/.msn/msnrc (裡面用來放 MSN E-Mail account)
才能執行,只要稍微改一下,讓它能讀取 sys.argv[1]
來設為 MSN E-Mail account 即可.

至於 msnbot 它的原始程式有些問題,像是無法送漢字
以及每次執行完不會中斷退出,還有傳送對象以及message
都要寫死在程式內,是蠻不方便的

加上 import os 以及 m.encoding = os.environ['LANG']
就可以正確傳送漢字(或其它非 iso-8859-1 的字集)

在 do_work() 這個 function 裡將原本的延遲時間
起始為15 秒,結束的30 秒都嫌太久了,所以改成各為 4 秒
,使用上並未發現問題

m.sendmsg( ... ) 原本寫死,改成讀取 sys.argv

執行時帶入參數的用法改為
msnbot Your-EMail Contact-EMail "message"

msnbot Your-EMail Contact-EMail "message" Password

可以利用 if len(sys.argv) < 4, 或 == 4 或 == 5 來引入

原程式裡用 sys.exit(0) 事實上並無法中斷 thread 所以
執行完後 process 仍存活,所以改成
os.system('pkill msnbot') 讓它自殺

這樣改過之後可用度就變得更高了,例如利用 crond 來
執行它, 將系統 information 即時傳給 MSN, 如果要送出
較多的 msg 時可以改成像是
msnbot Your-EMail Contact-EMail "`df`" Password
這樣就可以看到系統磁碟空間

總之 msnbot 可以做出千變萬化的各種應用,又不花一毛錢!

2010-02-04

限制 user 只能 git 不能進機組亂逛, 以及透過 tor 來 git

git server 使用ssh protocol 時,不想讓user 進機組亂逛,只讓user 可以
git pull/push, 怎麼辦?

很簡單!不要往 sshd 往 chroot 往 rbash 那些方向想,因為那太費事了。

Torvalds 大神早就想到、做好了!

請直接把該user 的login shell 從system default 的/bin/bash 換成 /usr/bin/git-shell
一切就搞定。(user 便不能ssh 或sftp 進機組)

然後以root 身份到user $HOME mkdir 一個git dir 再做git 最基本的 init add commit
完成後記得 chown -R user_id.user_id 這個dir, 然後請user 第一次以clone 抓回去
往後就可以修改再push 回git server 了.

可以將user 這個git dir link 到system git 下, 便可以讓任何人以git protocol
直接clone 抓回去用了.

?? 忽然想到git 如何透過tor pull/push ??

找到這一篇 http://threebytesfull.com/2008/04/git-with-and-without-proxy/

但是當自行跑tor 時port 不同, 要將 1080 改成 9050
基本做法就是要設定 GIT_SSH 跟 GIT_PROXY_COMMAND 這兩個環境變數

首先在path 的$HOME/bin/下建立第一個 script, 名子例如叫 tor-ssh 內容有三行
export GIT_SSH="${HOME}/bin/socks-ssh"
export GIT_PROXY_COMMAND="$HOME/bin/socks-gw"
$@

不過可以在起頭加上提示如何使用參數
if [ "$1x" == "x" ]; then
echo "$0 git command ssh://ID@host/path/GIT"
exit 1
fi

接下來建立 socks-ssh 內容是
ssh -o ProxyCommand="$HOME/bin/socks-gw %h %p" $@

以及另一個 socks-gw 內容是
/usr/bin/connect -4 -S localhost:9050 $@
(該作者用的proxy port 是1080)

這樣如果要透過 tor 來git 就是下令
tor-ssh git command options
不透過tor 的話就是
git command options

2009-11-06

要鼓勵、協助更生人

媒體跟拍、報導白賊義跟黑道出國共遊、「喬」事情。

白賊義屎口否認他跟黑道關係匪淺
白賊義說殺人放火的是「更生人」,不是黑道
白賊義說那些「更生人」造就地方很多「就業機會」,
大家要鼓勵、協助「更生人」

所以
中華職棒只是「鼓勵、協助更生人」去創造很多
「就業機會」以及創造很多「經濟價值」!
不要誣衊職棒是「打假球」!

所以
兄弟象那些球員都是被檢方誣陷的!

聰明的檢方,你們聽到白賊義的話了嗎?
要鼓勵、協助更生人,
趕快放了那些無辜的球員!

2009-11-05

台灣真是個偉大的國家

話說在歐巴馬贏得美國選總統大選後,美國人對台灣人說
「你看,我們美國沒有種族歧視,連黑人也可以當總統!」
台灣人聽了感到慚愧,因為台灣還沒有黑人當總統。

不過經過2009年底,台灣政府大舉開放美國牛肉進口事件之後,
台灣人反而嬌傲的向美國人說
「嘿!你們美國沒有種族歧視有什麼了不起?
我們台灣連『智力歧視』都沒有,
你看!白痴都可以當台灣總統!」

P.S.
台灣總統說「不能重啟牛肉談判,因為重啟談判表示沒有信用」
台灣官員說「美國人吃老牛,給台灣人吃嫩牛,你們還挑肥撿瘦的」
台灣總統說「問題牛肉由人民自己把關就可以,不必由政府把關」

看來台灣政府接下來是要開放海洛因、槍枝,然後也由人民自己把關就可以!

2009-10-07

使用Atom CPU 的 機器人

不少新聞裡提到Robovie-PC這款機器人,可是翻譯上漏東漏西的,不少重要的資料
都沒寫出來或是沒寫清楚,這裡補充一些給有興趣的朋友參考,像是:

主CPU: Atom Z530(1.6HGz) -- AXIOMTEK PICO820
副CPU: ARM7(60MHz) -- VS-RC003HV
130萬像素USB 照相鏡頭
RGB(VGA?)輸出可接螢幕
USB(2.0) port x2 可接老鼠、鍵盤、其它USB devices
LAN: 10/100/1000
可以跑Linux或Windows(XP/Vista/(7為計劃中))
39公分,2.2公斤
20 degree of freedom(日文為「軸自由度, 腳6軸x2,腕3軸x2,頭2軸)
(不少都只翻成「20級」這會讓人以為像空手道的分級)
7.2V 2000mAh 鎳氫電池
一個3 軸加速計
兩個2 軸陀螺儀 (日文沒說兩個, 英文說兩個)
(並非內建無線網路(某些新聞說內建),而是利用USB port來插無線網卡)

日文資料參考 http://www.vstone.co.jp/robot/roboviepc/spec.html
英文資料參考 http://www.plasticpals.com/?p=14931

之前的 Robovie-nano, Robovie-X 都只用 ARM7 而這一款用了 Atom才更顯特殊
因為就等同一台普通的 X86 PC

2009-09-30

慶祝亡國六十週年

明天是中國共產黨躍武揚威的慶祝建國六十年的日子,更招搖的要展出
各種長程武器,這才讓人想起,原來中國國民黨那個首都在南京的國家
早已亡國六十年了!

共產黨慶祝建國六十週年的相同意義就是「慶祝國民黨亡國六十週年」
或者是「中國人民推翻貪腐無能的國民黨政權六十週年慶」!

聽說明天有一團亡國奴要去跟人家慶祝亡國!這群人大概不是奴性特強
就是精神病認知錯亂,想想看有一群猶太人去跟納粹一起慶祝屠殺猶太
人是什麼情景?不然想不出有什麼理由他們要去跟那批滅亡他的國家的
敵人同樂同歡?

那批人流亡來台灣之後就教我們要說那是「共匪竊國」,對面是「匪偽
政權」、要我們幫助他們去「消滅萬惡共匪」,結果現在跑去跟「萬惡
共匪」慶祝亡國!

或許新聞報導打錯字了吧?那批人是去「慶祝亡國六十週年」的!

2009-09-18

無恥的新聞媒體,無能的NCC


http://a7526746.pixnet.net/blog/post/24852796


http://www.youtube.com/watch?v=Ddgb7MZuFPk


無恥的新聞媒體,除了賺錢,一點點對社會有利的事都不想做!
該事件更證明NCC除了充當政黨打手之外,更是身兼財團打手,
這樣的NCC早該倒進馬桶沖掉。

2009-09-10

不知道誰洩漏出來的國家機密?

國家機密
運會上向全世界坦誠

原本以為「廖化」是很強很勇的意思,後來發現,原來是找不到人,只好推廖化出去。

廖化內閣來了!

2009-09-01

關於shugden信仰

Dalai Lama來台灣為88水災受難者祈福,原本9月3日安排在桃園巨蛋的演講,
也因為這個無能、無恥的王八蛋兒皇帝取消掉了!

新聞中那些對Dalai Lama叫吼的人之中有一個長期攻擊Dalai Lama的團體,
也就是Shugden信仰者,為什麼Shugden信仰者對Dalai Lama這麼敵視?

關於Shugden 信仰, 我找過的大概以這一篇比較完整, 它提到包括歷史、教理等等的背景

http://info-buddhismus.de/dorje_shugden_controversy.html


國內好像還沒有shugden 信仰團體的樣子, 那些抗議Dalai Lama的團體主要是以英國為
中心的 Kelsang Gyatso發展出來的 New Kedampa 為主體.
當然中國政府在後見縫插針也就不必多說了.

裡面提到很多Tibet佛教的用語, 可能得花一些時間或已經對Tibet佛教有某種瞭解才能比較清楚.
中文常見的像是 Amitayus, Avalokiteshvara, 就是阿彌陀佛, 觀世音,
Gelug(pa) 俗稱黃教, 也就是 Dalai Lama 的系統
Nyingma 俗稱紅教
Sakya 俗稱花教

打個比方,慈濟把十八王公納為「護法」,若干年後某些「十八王公護法」的信徒卻
以昄依十八王公為信仰主體,不以「佛法僧」為依止,甚至將十八王公提昇至佛的地
位,那麼慈濟開始禁止十八王公的供養,以及叫信仰十八王公的信徒離開慈濟,這可
以被指責是「違反宗教自由」嗎?

其實不止Tibet佛教,中國佛教也一樣,把別的宗教的神(鬼? 靈?)納為所謂「護法」
這樣自己就「感覺良好」!?
中國佛教把「關公」納為護法(說穿了就是看門的警衛嘛!),然後給他一個名字叫
做「伽藍菩薩」!這根本就是在污辱道教嘛!
這像不像是「你看!你們的關聖帝君只是我們的看門警衛!」
好在中國的民族性就是打混,不講是非,所以當看門警衛也好,沒人講話!

關於shugden信仰

Dalai Lama來台灣為88水災受難者祈福,原本9月3日安排在桃園巨蛋的演講,
也因為這個無能、無恥的王八蛋兒皇帝禁掉了!

新聞中那些對Dalai Lama叫吼的人之中有一個長期攻擊Dalai Lama的團體,
也就是Shugden信仰者,為什麼Shugden信仰者對Dalai Lama這麼敵視?

關於Shugden 信仰, 我找過的大概以這一篇比較完整, 它提到包括歷史、教理等等的背景


http://info-buddhismus.de/dorje_shugden_controversy.html


國內好像還沒有shugden 信仰團體的樣子, 那些抗議Dalai Lama的團體主要是以英國為
中心的 Kelsang Gyatso發展出來的 New Kedampa 為主體.
當然中國政府在後見縫插針也就不必多說了.

裡面提到很多Tibet佛教的用語, 可能得花一些時間或已經對Tibet佛教有某種瞭解才能比較清楚.
中文常見的像是 Amitayus, Avalokiteshvara, 就是阿彌陀佛, 觀世音,
Gelug(pa) 俗稱黃教, 也就是 Dalai Lama 的系統
Nyingma 俗稱紅教
Sakya 俗稱花教

打個比方,慈濟把十八王公納為「護法」,若干年後某些「十八王公護法」的信徒卻
以昄依十八王公為信仰主體,不以「佛法僧」為依止,甚至將十八王公提昇至佛的地
位,那麼慈濟開始禁止十八王公的供養,以及叫信仰十八王公的信徒離開慈濟,這可
以被指責是「違反宗教自由」嗎?

其實不止Tibet佛教,中國佛教也一樣,把別的宗教的神(鬼? 靈?)納為所謂「護法」
這樣自己就「感覺良好」!?
中國佛教把「關公」納為護法(說穿了就是看門的警衛嘛!),然後給他一個名字叫
做「伽藍菩薩」!這根本就是在污辱道教嘛!
這像不是「你看!你們的孚佑帝君」

2009-08-18

那隻無能無恥的狗

前天
那隻無能無恥的狗告訴CNN記者「我會負全部的責任」
記者問他「你要怎麼負全部的責任?」
他答說「我會去找人來負責!」

真他媽的無恥無能到極點,丟台灣的臉丟到國際上!
台灣怎麼會讓這麼無恥無能的人坐在那麼高的位子?

連南方X也跳出來批這隻狗,這個過去極力幫他化妝、護航的無恥墨客現在
良心發現,也關懷起台灣受苦的人民了嗎?

別傻了!他擔心的是這隻無能狗如果垮台,就無法執行他主子交待要併吞台灣
的偉大任務!

今天那隻狗又召開記者會,說的話、表演的動作了無新意!

不過可以確定的是那些記者們一定是打著赤腳進場的!

2009-07-30

瑞士刀125年了

原生型瑞士刀是黑把柄加一個刀刃,一個開罐頭器,一個螺絲絞(起子),這時侯的稱為「瑞士
阿兵哥刀(Swiss Soldier's Knife)」,之後的改良版多了拔瓶塞(軟木塞)器以及一付剪刀,這叫
做「瑞士軍官刀」,結被軍方採購單位認為拔瓶塞器不是求生必備,所以不予採購,軍官們
必須自行購買這款刀。


http://news.bbc.co.uk/2/hi/europe/8172917.stm


目前為止被列入珍氏紀錄的是俱有314刀(組配件)的瑞士刀。

掌年(1884)是因為瑞士軍方打算給每個士兵一把標準的刀,創始人Carl Elsener senior 專門打
造農用、廚用的刀具,於是他做出了上述黑柄三組具的瑞士刀原型!

2009-05-23

台灣行,韓國為什麼不行?

今天的國際大條新聞是「韓國前總統盧武鉉自殺」了!

讓我想到的是「韓國人太笨了!」

為什麼太笨?

找個秘書出來說發票是秘書自己弄的, 就沒罪了

韓國現任總統也太笨了, 就換一個偵辦盧武鉉的法官, 一定把他
辦到死罪就好了, 怎麼還讓他自己自殺!韓國人真是無能!

或許應該說韓國的法官太笨了, 找幾個理由, 把盧武鉉羈押、再押
、延押, 他就不可能跑去自殺了!

台灣行,韓國為什麼不行?

text mode KVM 使用serial連線

在text console下執行KVM 並且啟用serial 連接

在host OS要打開inittab 裡的
T0:123:respawn:/sbin/getty -L ttyS0 57600 vt100

在guest OS要打開
T0:23:respawn:/bin/login -f USER /dev/ttyS0 2>&1

某些embedded 的guest可以用
ttyS0::askfirst:-/bin/ash

在boot option可以加上console=ttyS0,57600n8 以便將開機
過程的messages 秀出來, 不加的話只是不顯示messages, 無礙
開機完成後的連線.

如果要充份使用RAM(超過4G), 可以換用bigmem kernel 支援到64G
其它像是啟用bridge mode以及載入CPU vt module 等等也一併進行.
不然就用-daemonize 但要先將guest OS設好IP並啟動sshd.
當然搭配screen或dvtm來執行讓一個螢幕看好幾個機組也可以, dvtm
的TERM是rxvt跟vt100似乎有問題, 改成其它TERM才能顯示.

alsa即時錄音存成ogg

alsa sound 時代就不必用sox了.(沒有 /dev/dsp)

amixer set Mic 24 unmute cap
amixer set PCM 24
amixer set Master 24
amixer set Headphone 50

test -n "$2" && SR="$2" || SR="11025"
Fname=$(date +%Y%m%d%H%M%S)
test -d $HOME/ogg || mkdir $HOME/ogg

arecord -f S16_LE -d $1 -r $SR -t wav -|oggenc - > $HOME/$Fname.ogg

$1 使用秒數來指定錄多久
$2 指用例如 22050 44100 之類的(default 給它11025 錄講話)

一分鐘大約 250K, 所以一小時也不過15MB左右, 11025的品質聽講話很足夠了。

2009-04-06

文字輸入工具ucimf+jfbterm

http://ucimf.sourceforge.net/
Debian packages: http://people.python.org.tw/~mat/debian/binary/
(這邊是for lenny的)
{
其中的fbterm/jfbterm 為二選一
除了裡面的packages之外,可能要加裝libltdl3
但事實上 openvanilla-modules 裡有一堆用不到的輸入法tables是可以不用裝的,
如果你原本是gcin 的愛用者可以把gcin 的cin 檔案link 或cp 到
/usr/lib/openvanilla/OVIMGeneric/ 之下
或 $HOME/.openvanilla/OVIMGeneric/ 之下
}

安裝完成後如果reboot, 可以加 vga=791(or 788, 785...) 來指定預載
framebuffer, 如果進系統後可以依不同顯示卡載入對應的module, 像是
vga16fb, sisfb...在 /lib/modules/xxyyzz/kernel/drivers/video/ 可以找到.

以root身份執行ucimf_keyboard 之後便可以一般user 執行jfbterm
跟gcin 用法一樣,按Ctrl-space使用輸入法,Ctrl-shift切換輸入法

之前etch可以使用ATI Radeon 9250跑3D, 但是lenny竟然連X 都進不去,正好
來用jfbterm+ucimf, 不過ucimf功能上跟gcin還差蠻多的,等作者慢慢加吧!

2009-02-23

Social networking 與健康威脅

http://www.theregister.co.uk/2009/02/20/social_networking_heath_threats/

"the isolation it causes can lead to measurable physical changes - destructive measurable physical changes."

"the number of people saying there is no one with whom they discuss important matters nearly tripled."

"Children now spend more time in the family home alone in front of TV/computer screens than doing anything else,"

"Social isolation, for example, has been shown to impair the genes involved in the development of leukocytes, those helpful cells that float around in your blood, fighting disease."

"Real-world friendships help prevent heart attacks."

2009-02-01

pygtk不用白不用

以前用過xdialog, 後來又用過zenity, 基本上就是幾種互動對話可以
搭配shell script 語法,簡單做出圖型介面, 但是這兩者有時在顯
示方面並不理想(xdialog 還要裝gtk-1.x 現在大部份程式都在用
gtk 2.x 了), 不如改用pygtk 來得划算。一來是多數系統裡都已安
裝了python 因此也大都包含了pygtk, 它跟shell script語法固然
不同,但從tutorial裡找一下便有對話的例子,稍微改一改就能上路。

awesome的好處是可以用按鍵做很多切換控制,但對按鍵不習慣也
不熟悉打字來呼叫程式的人,可以利用pygtk來寫些對話介面,從
tutorial裡的toggle button這個例子很快就能改成一個menu介面,
一開始先定義一個callback,透過os.system('%s&'%data) 叫它去
執行系統裡的某個程式, 再定義一個delete_event 來關閉介面, 接
下來定義一個__init__(self), 裡面就可以用這樣的幾行來增添更多
的項目,

button = gtk.ToggleButton("Firefox")
button.connect("toggled", self.callback, "iceweasel")
vbox.pack_start(button, True, True, 2)
button.show()

[這是故意show出名字是Firefox但執行iceweasel]

使用起來比 xdialog, zenity 簡潔美觀, 同時又俱script的即
寫即用,在這個python滿天下的時代,pygtk真是不用白不用。