公告版位
我是公告

目前分類:電腦筆記 (47)

瀏覽方式: 標題列表 簡短摘要
上個月買了台新電腦,主機板是 MSI K9VGM-V
大致上沒什麼問題,但是有一個煩惱我很久的問題
就是機殼前面板的耳機孔插耳機沒聲音
我以為自己接線接錯,把機殼拆開來也沒發現有接錯

之後 Google 找了一下, MSI 的用戶討論區是教到瑞昱高傳音裡面
把「停用前面板連接孔偵測功能」關掉
的確前面耳機孔就有聲音了
但是我插上耳機時,喇叭還是會有聲音
這樣還滿沒意義的
我會想要插耳機的時候就是希望喇叭能靜音,拔掉耳機時喇叭就自動會有聲音
如果一定會兩個都有聲音,那我就沒有插耳機的意義了
雖然也有可以用設定的方法讓後面喇叭不發出聲音,只有前面耳機會發出
但是每次都要一直重新設定很麻煩

我一直都以為是主機板的 bug ,每天在等出新的 BIOS 解決這問題
不過今天終於找到答案了

我的主機板的音效晶片使用的是 HD Audio 的標準,機殼是舊的 AC'97
雖然說 AC'97 的線還是可以接在 HD Audio 上面
但是就失去了偵測前面板的功能,變成只能同時發出聲音
因此不換機殼這問題應該無解(電機系的人說不定會自己重新接線吧 XD)

所以如果要買新電腦的人,如果你有想要在機殼前面插上耳機喇叭就會靜音的功能
就注意一下機殼的前置音效規格是不是跟主機板一樣吧!
確認一下機殼是否有 HD Audio 的線
(不過我也不知道要怎麼確認就是了,
賣機殼的好像也不會標示前置音效插孔是 AC'97 還是 HD Audio 的
買之前問老闆看看吧...)

榮尼王 發表在 痞客邦 留言(4) 人氣()

之前想寫個 MSN 機器人,結果花了兩天的研究時間之後宣告放棄
因為現在看到的 MSN Library 功能都有些不足
看來有空自己刻應該會比較好一點吧 XD 畢竟 MSN 都已經公開 Protocol 了....

我先介紹一下我用過的 MSN Library ,讓有興趣的人可以研究看看吧

1. libmsn
  這在 Freebsd ports 裡面有,在 /usr/ports/net-im/libmsn ,功能在當時還算滿完整的
  是用 C 寫的 library ,像是以前的 centericq 就是用 libmsn
  不過從 2005 年到現在很久沒更新了,很多功能像是 「個人訊息」、「P2P傳檔案」、「顯示圖片」、「離線訊息」 等功能都已經不支援了
  他只支援到 MSNP8 而已 (現在已經到 MSNP15了)

2. libpurple
  Pidgin 是一套功能很完整的 GUI 的 MSN 程式,而且到現在持續都有在更新中,他有將其中 MSN Library 分離出來,名字就叫做 libpurple
  libpurple 是用 C 寫的,也有人包成其他語言的 Library 來用,像是 Ruby 的 rupurple, php 的 phpurple
  功能雖然很完整,但是還是有缺少一些功能,像是他傳檔案只支援透過 Server 傳檔,還不支援 P2P 傳檔,所以速度較慢一點
  最重要缺少的一點功能是,他不支援更改暱稱 (其實有更改暱稱的函式,但是這函式只能用 gtk 去呼叫,沒辦法在 console 下呼叫...)
  另外在 Freebsd ports 裡面的版本預設是不支援「個人訊息」(就是可以輸入心情的那一串)
  在編譯前要去改 configure 裡面,把 enable_msnp14=no 改成 enable_msnp14=yes 才行
  這邊是寫死在 configure 裡面的,所以沒法透過 Makefile 那邊加參數修改
  編完後除了可以抓和修改個人訊息以外,也可以編輯聽音樂資料
  (只是不能改暱稱這點真的是很大的問題....)
  另外他雖然有支援離線訊息,但是離線訊息好像有時候會造成 core dumped
  這邊用的版本是 2.4.0 ,以後有新版有沒有解決這些問題就不確定了。

3. pymsn
  這是用 python 寫的,不同於上面兩者這是一個熱血人寫的,而且他的目標還滿大的,
  目前顯示圖示、個人訊息、離線訊息功能都有,甚至自訂表情符號都可以加入
  他的目標是要把 P2P 傳檔都寫進去
  只是這套目前有個很大的問題,就是在遇到你被人家加好友時,他會自動加進來,完全沒有選擇拒絕的餘地
  這點對 MSN 機器人來說算是很大的問題吧
  使用版本是 3.1

之前花了滿多天試這幾套,最後結果是宣告放棄
不過現在 MSN 已經公開 Protocol 了,如果要直接用 MSN Protocol 來寫想要的功能應該也不難
以後有多點空閒時間再自己寫好了

榮尼王 發表在 痞客邦 留言(0) 人氣()

http://booker.tw/

這是我做的書櫃網站...
構想是來自 del.ic.ious
也就是把自己擁有的書都登記進去
然後可以看到這本書有哪些人擁有
這些人又擁有哪些書

現在網站 beta 中
歡迎大家試用給給意見 :)

個人書櫃位置 http://booker.tw/shelf/ronnywang

發表在 痞客邦 留言(6) 人氣()

cyrus-imapd 其中有一個 c 權限
在 document 中寫的是 create - The user may create new sub-mailboxes of the mailbox, or delete or rename the current mailbox.

可是我有個 mailbox 沒有 c 權限
竟然還可以建 sub-mailbox
然後因為建出來的會延續他的 parent-mailbox 的權限
所以建出來的 sub-mailbox 就沒辦法自砍...

這樣很鳥...
正在 Google 中其他人怎麼解決這問題
不過我總覺得改 code 好像會比較快..我已經找到有問題的 code 大概在哪裡
---
update:
不是 bug..
是有一個 implicit_owner_rights 這個要設成 l
(預設是 lca, 這個 option 是設定 user 在自己的 mailbox 下最基本的權限, 原先的 lca 表示他在自己家一定會有 lookup, create, acl 權限...現在改成 l 就表示在自己家裡就不一定會有 create 這權限了,這個 options 在 example 的 imapd.conf 沒有寫 Orz)

看了半天 code 才找到這個 option Orz

發表在 痞客邦 留言(1) 人氣()

postfix 2.2.x 會將 recipient 全部改成小寫
像是 fooBAR@foo.com.tw 會自動被換成 foobar@foo.com.tw
這在大多情況是不會有影響的
但是在使用 foo+BAR@foo.com.tw 這種寫法時
想要丟進 foo 這個使用者的 BAR 信件夾時
就會因為被轉成 foo+bar 因為找不到 bar 這資料夾而把信件搞丟

這兩天看了一堆 postfix document,也 Google 了很多討論
都找不到解決的方法
有看到有人的解決方法是... imap 那邊資料夾不要用大寫字 =.=

結果今天把 postfix 升到 2.3
一切問題都解決了 Orz
===
好久沒寫 Blog 了,這次這事情讓我忙這麼久我非寫不可啊 XD

發表在 痞客邦 留言(0) 人氣()

有時候編 perl 會失敗..錯誤訊息如下

===> Building for perl-5.8.8
`sh cflags "optimize='-O2 -pipe -march=opteron'" toke.o` -fpic toke.c
CCCMD = cc -DPERL_CORE -c -DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O2 -pipe -march=opteron -Wall
toke.c: In function `S_scan_formline':
toke.c:10596: error: invalid operands to binary +
toke.c:10596: error: invalid lvalue in unary `&'
toke.c:10596: error: invalid lvalue in unary `&'
*** Error code 1

Stop in /usr/ports/lang/perl5.8/work/perl-5.8.8.
*** Error code 1

Stop in /usr/ports/lang/perl5.8.

結果這 bug 出現的原因有點鳥

原因是因為跑這程式的人家目錄下有一隻叫 test 的程式
造成用 ports 安裝 perl 時會先去跑那程式而出問題
所以遇到這問題就看你自己家裡有沒有 test 這程式..有的話表示 ports 跑到你家去跑你那隻不知道幹嘛的 test 了......

發表在 痞客邦 留言(5) 人氣()

去年辦了一張自然人憑證後,除了上網無聊看看戶籍謄本以外,都沒有用到別的用途,總覺得只是再錢包裡面多一張沒用的卡而已。又沒辦法像捐血榮譽卡或是器官捐贈卡當作好人卡現給別人看,昨天晚上花了一個晚上研究怎麼用讀卡機加密用自然人憑證上網。只是好像沒有什麼實質用處的感覺。
我把步驟大概貼一下吧。

Client 部分:
1. 到 內政部憑證管理中心下載檔案 下載 SafeSign
SafeSign 的功能是把讀卡機裡面的 Smart Card 的加解密功能匯入到瀏覽器中(比較奇怪的是,現在只有Firefox 裡面有增加我的自然人憑證,IE一直都沒看到 @@)
安裝完後重開機之後,Firefox 應該就會多一個 PKCS#11 的憑證,這個就是自然人憑證裡面的
2. 接下來要把內政部的憑證匯入到瀏覽器中。這樣子 Client 端的設定就完成了。

Server端:
Server 端這邊是以 apache + mod_ssl 設定法,如果不設定的話 Client 端還是可以用自然人憑證加密上網,只是 Server 端就分不清楚 Client 是用自然人憑證還是用瀏覽器自己產生的憑證加密的了, Server 設定完後就可以認出 Client 是誰了。

1. 先把 MOICA憑證GRCA憑證下載到自己電腦中,不過他的格式apache mod_ssl 不支援,所以要用 openssl 轉檔,轉檔指令如下
* openssl x509 -in MOICA.cer -inform d -out MOICA.crt
* openssl x509 -in GRCA.cer -inform d -out GRCA.crt
轉換成 pem 的格式。
MOICA 是內政部自然人憑證的 CA,GRCA 是政府憑證管理中心的 CA,也是 Root CA

2. 把 上面兩個 MOICA.crt 和 GRCA.crt 加到 /usr/local/etc/apache2/certs 並在 apache 的設定檔加入
* SSLCACertificatePath /usr/local/etc/apache2/certs/
並重跑 apache

3. 可以用 openssl s_client -connect [你的ip]:443 連進去看你的機器現在認得哪些 CA
裡面有一段
Acceptable client certificate CA names
/C=TW/O=Government Root Certification Authority
/C=TW/O=\xE8\xA1\x8C\xE6\x94\xBF\xE9\x99\xA2/OU=\xE5\x85\xA7\xE6\x94\xBF\xE9\x83\xA8\xE6\x86\x91\xE8\xAD\x89\xE7\xAE\xA1\xE7\x90\x86\xE4\xB8\xAD\xE5\xBF\x83
如果有這一段就表示你的 CA 已經裝好了,這樣 Server 部分也完成了。

之後只要用自然人憑證加密上網,就會看到 SSL_CLIENT_VERIFY 這個環境變數變成 SUCCESS
然後 SSL_CLIENT_S_DN_CN 這環境變數是使用者的本名 (像我是"王向榮")
SSL_CLIENT_S_DN 是 /C=TW/CN=王向榮/serialNumber=xxxxxxxxxx
(SSL_CLIENT_S_DN 就可以拿來做身份的判定)

其他相關的變數( SSL_CLIENT_* )都可以從 phpinfo() 裡面看到。

( 不過只用本名和卡內的序號做判定感覺還是有點不夠,如果能再把身份證讀出來就好了,不過自然人憑證中能直接讀出來的身份證字號只有四位而已,而且放身份證的那欄位 mod_ssl 好像讀不到。)
之後就把我自己電腦裡面的一些 service 的都改成用自然人憑證登入不用輸入密碼吧~

發表在 痞客邦 留言(6) 人氣()

剛剛在架 D2 的 imapd..因為老大有計畫要將 D2 升到一人 2G
如果用原來的 tpop3d 一定會慢到不行而且也撐不上去
所以一定要換成 imapd...

結果剛在 starbucks 裡面怎麼試都沒法試成功 cyrus_imapd 裡面的 pop3
明明同一組帳密在 imap 登入順利
在 pop3 卻一直說密碼錯誤....

試了兩三個小時都找不到原因,..

結果剛剛終於找到了 0rz...
原來是 cyrus_imapd 裡面 pop3 用的 pam 檔名是 /etc/pam.d/pop 而不是 /etc/pam.d/pop3

吐血啊啊啊啊啊啊啊

發表在 痞客邦 留言(4) 人氣()

昨天有人問我這問題,他說他在 Google 上找很久都沒找到。所以我就把這問題貼在 blog 上面,看看能不能幫助後人在搜尋時能夠更方便找到。

有些php函式出問題時會在最前面顯示 Warning 的訊息,如何讓這訊息不顯示出來呢?

只要在函式前面加上 @ 就可以了。

例如 mysql_connect( ) 函式,在對方 mysql 主機連不到時會顯示
Warning: mysql_connect(): Can't connect to MySQL server on '[主機位置]' (4) in [php路徑] on line 1

如果不想要讓他顯示出來的話,在呼叫 mysql_connect( ) 就用 @mysql_connect( ) 就可以了。

發表在 痞客邦 留言(2) 人氣()

這篇是我之前跟一些高中同學推廣 Blog 時 po 的文章,因為高中同學玩 Blog 的人不多,大多人都還在 BBS 上面晃,所以我就把一些我對 Blog 的介紹 po 出來,也把他貼過來吧。
文章裡面有講到 "RSS/comment/trackback 這三項我覺得 “blog 之所以會是 blog” 的東西" " 是 ijliao 長輩橘逾淮則為枳 一文中提到的,我很喜歡這種說法就借這句話來用了,另外還有參考一些 Jedi 長輩在 2005/5/18 在交大所講的內容(投影片)。在下面就是我寫的內容,麻煩大家給點意見或是更正我的錯誤吧 :) 當然也歡迎轉載囉,我的 Blog 上面的東西要轉載不需要透過我的同意,留個 trackback 就好了 :) 如果是要經過我同意才能轉載的東西我就不會丟到 Blog 上面了 XD

發表在 痞客邦 留言(2) 人氣()

之前為了讓自己的 FreeBSD 全面 UTF-8 化,搞了很多東西,像是 samba、ftp(client好像都是Big5的),其中最麻煩的就是 BBS ,之前有兩個解決法,一個是用 X11 的 luit,另外一個就是用 screen 自己本身的 encoding。
我使用的是 luit ,主要原因是因為 screen 的 CJK 字寬判斷不是很好,還有他自己本身 utf-8 和 big5 之間的 map 錯誤很多,雖然說是裝好 screen 之後把這兩個地方修正一下就 ok 了,但是我個人習慣不好,喜歡沒事就 make update; portupgrade -a 一下,如果 screen 一有修改,字寬和map又爛掉一次,相當麻煩。比起來 luit 一裝起來就都沒什麼問題。但因為我自己不使用 X-Window,裝了 170MB xorg 只為了用一個 37KB 的 luit 感覺很蠢,而且配上我的壞習慣 portupgrade -a,xorg 每次要重裝就要裝超久的啊。(雖然說 portupgrade 都是在 screen 的一個小窗跑不會影響到我自己的東西)
screen encoding 的 mapping 問題主要是在 utf8encodings/18 這個檔案身上,偏偏這檔是一個 binary 檔,沒法塞進 misc/screen/files 裡面 patch 修正,如果把正確的 18 這個檔直接塞進 files 裡面,並修改 Makefile 叫他直接把 18 copy 進去,只要 make update 一次 Makefile 又被改掉了就沒用了。昨天 ijliao 長輩提供了一個方法,用 Master/Slave ports 解決,搞一個 chinese/screen 出來, master 還是原來的 misc/screen,這樣子不會影響到原來的 ports 也可以在 misc/screen 有任何 update 之後這邊也可以同步更新。
剛剛因為考完試心情大不爽,所以打算弄點東西發洩一下。研究了一下 chinese/tin 是怎麼做的,生出了一個 chinese/screen,裡面只有做兩件事,一個是把 files/18 換進 utf8encodings 裡面,另一個是將 mhsin 長輩的 screen patch 加進來,裝好之後跟原來用 luit maping 的差不多了,看來可以把 luit 丟掉了。
包出來的 port zh-screen.tgz,把這個檔解壓縮到 /usr/ports/chinese 下面,就有一個新的 /usr/ports/chinese/screen 了,再安裝這個 screen 就可以解決掉 18 和字寬的問題了。

發表在 痞客邦 留言(3) 人氣()

今天出現了一堆 Bug..其中包括了每分鐘都丟一次訊息給某個人 (有些人被我的機器人攻擊了 @@ 真是對不起),看來以後應該要多測試一下再公開來的。
現在應該把一些 Bug 都幹掉了,希望這幾天不會再有人被攻擊了啊~

發表在 痞客邦 留言(3) 人氣()

去年十二月本來有要寫 MSN 機器人的計畫,只是抓下來的 p5-Net-MSN 研究了半天還是不會用,就作罷了。
前幾天看到君翰長輩的奈奈,我又打算再試一次 MSN 機器人,這次改用 libmsn 用 C 來寫,總算研究出怎麼寫了。
機器人知道怎麼寫了,卻想不到該怎麼用這隻機器人,就用 perl 寫了一個 Feed aggregator,幫這機器人加上 Feed通知功能,結果後來好像都是在寫 Feed 功能,都不是在弄機器人 @@。

現在機器人的位置在 ronnywang at ronny dot idv dot tw,這隻只是測試用的,未來如果真的想把他搞大的話應該會換別的 e-mail,目前也只有 Feed 的功能,可以吃的指令有四個
"addfeed [feedurl]" 會將 feed url 加進通知中,有新的文章時就會丟 MSN 通知
"listfeed" 列出所有你有訂閱的 feed url 和 feed id
"removefeed [feedid]" 刪除你訂閱過的 feed 的 ID
"listerrorfeed" 列出你所訂閱的 feed 中,有下載出問題的 feed。

就只有這四個指令,未來打算增加發離線訊息,鬧鐘,遊戲配對功能..不過先把期末作業趕一趕才是最重要的吧 @@ (每當期中期末考時,就越想寫一些自己的程式 @@)

乾脆先幫 mailadm@nctu.edu.tw 寫一隻機器人好了
D2 的使用者可以把 mailadm@nctu.edu.tw 加好友..以後有問題就可以丟 MSN 問...
機器人會把訊息 forward 給 admin... admin 再把回覆丟給機器人..機器人又會 forward 給 user
平常機器人也可以提供一些新信通知或空間不足之類的通知
應該滿方便的吧? 期末考完後就先來做這個好了

發表在 痞客邦 留言(9) 人氣()

今天第一次用 poll 寫網路程式,結果出現很神秘的 Segment fault ,神秘的地方是只要加一行 printf 就不會 Segment fault,程式完全正常執行 @_@,害我現在連用 printf debug 法都不行 =_=。
算了,先加一個 printf(""); 就好了。看起來好像就沒問題了。

發表在 痞客邦 留言(1) 人氣()

  • May 14 Sat 2005 21:33
  • jail

本來不太清楚 jail 是啥,只是以為是一個FreeBSD下的FreeBSD模擬器。因為這學期OS作業要改kernel,怕把kernel改爛,要是能有個模擬器來玩就安全多了,所以就把 jail 架起來。裝完才知道 jail 並沒有到模擬器的程度,他頂多只算是 chroot 加強版(不過也加的滿強的 :) ),只能改 world不能改 kernel。 雖然這次作業 jail 幫不上忙了,不過以後有些東西應該可以放進 jail 裡面跑安全一點吧。
剛裝完 jail 之後我的本機打 dmesg 都會出現 "dmesg: couldn't open jail console: Permission denied
",剛剛找出原因了,原因是我本機那邊有裝 jailer,所以他都跑去跑了 jailer 裡面的 dmesg,只有 jail 裡面需要裝 jailer,jail 外面不需要裝 jailer 。拿掉 jail 外面的 jailer 就 ok 了。

發表在 痞客邦 留言(2) 人氣()

不過不是一口氣加,是慢慢加慢慢加,加到2G為止
現在到 http://www.gmail.com 就可以看到首頁上寫的空間越變越大
GMail一歲的生日禮物啊

發表在 痞客邦 留言(2) 人氣()

常常按 Ctrl+Space 要切換輸入法時會按到 Fn+Space,在IBM裡面好像Fn+Space是切換解析度
解析度就被切換到800x600了
今天終於把這功能拿掉了(雖然我也很久沒有按Ctrl+Space按到Fn+Space了..都是在借電腦給別人時別人會按到)

拿掉的方法:
開始=>所有程式=>Access IBM=>ThinkPad Software Installer
選 "Uninstall currently installed driver or ThinkPad software"
按下一步等他把所有driver找出來後
把 "ThinkPad FullScreen Magnifier" 移除
重新開機之後 Fn+Space 就無效了
(其他的Fn功能都還是正常的,包括切換CRT,LCD)

發表在 痞客邦 留言(0) 人氣()

  • Jan 03 Mon 2005 23:34
  • vicq

/usr/ports/net/vicq

安裝後, 先隨便登入一次
他就會產生一個 ~/.vicq/config
然後在 config 裡面的 [options] section 加入一行 password xxxx (你的ICQ密碼)
以後輸入 vicq 就會自動登入了

然後產生一個檔案 test
內容是 sms +886916123456/wahaha (916123456 是你的手機號碼)
然後 vicq < test
過一會兒你就會很感動的收到一通免費的短訊了
(放進 crontab 就可以自動發簡訊給自己囉)

天啊....真是太讚了啊啊啊

發表在 痞客邦 留言(5) 人氣()

icq可以免費發簡訊到遠傳 (第一次覺得手中這隻遠傳不錯 @_@)
剛剛googling時, 有查到有個 vicq
/usr/ports/net/vicq
一個文字介面的 icq client
用這個登入之後
輸入 sms +886916123456/wahahahahaha
就可以利用ICQ的SMS功能免費發簡訊給 0916123456 這隻電話了
爽啊...以後就可以用這功能用電腦自動傳簡訊囉.....
===
虧我昨天還跑去買30點pchome一元簡訊....
ICQ這邊還有免費的可以用 =_=
===
寫隻perl script來用這個自動發吧

發表在 痞客邦 留言(3) 人氣()

可以讓 cyrus 自動建立 folder 的 patch
http://email.uoa.gr/projects/cyrus/autocreate/

將diff加進去重編之後
在 imapd.conf 裡面多加兩行

createonpost: yes
autocreateinboxfolders: Spam|drafts|sent-mail|trash

第一行是有新信進來時就新增資料夾
第二行是要增加什麼資料夾

發表在 痞客邦 留言(0) 人氣()

«12 3