Friday, March 27, 2009

My Socket Experience

Non-blocking Mode


fcntl

int flags=fcntl(sockfd, F_GETFL, 0);
flags |= O_NONBLOCK;
fcntl(sockfd, F_SETFL, flags);

ioctl

int on=1;
ioctl(sockfd, FIONBIO, &on);

Raw Socket

man 7 raw

Thursday, March 26, 2009

perl experience - module installation

perl安裝新的 module 步驟
>perl -MCPAN -e shell
>install Bundle::CPAN
>reload cpan
或其他 module
經常會遇到 Permission denied 的問題

此時,可以嘗試
>o conf make_install_make_command 'sudo make'
每次 make 時, 會先 su , 再執行 make
>o conf commit
儲存上述設定

出現這種錯誤
500 Can't connect to secure.ogone.com:443 (Invalid argument)
or
501 Protocol scheme 'https' is not supported (Crypt::SSLeay or IO::Socket::SSL not installed)
>install Crypt::SSLeay

>apt-get install perl-doc

Symptom
when executing widget, the error message "no event type or button # or keysym..." shown out.
My Tk version seemed Tk-804.028 installed by CPAN.

Solution
Manually download and install Tk-804.028_501
http://search.cpan.org/CPAN/authors/id/S/SR/SREZIC/Tk-804.028_501.tar.gz

install occurred "permission denied"
>o conf mbuild_install_build_command 'sudo ./Build'
>o conf commit

Tuesday, March 24, 2009

最近的經驗

把rx跟tx分成2個thread, 是個很大的錯誤

會有很多同步的問題要考慮並解決

Wednesday, March 18, 2009

x11 on mac

最近遇到一個問題
AUDIT: Wed Mar 18 11:08:34 2009: 243 X: client 4 rejected from IP 192.168.200.66

解決的方法, 透過 xhost
在10.4時,
1)先啟動 startx
2)再 xhost + 或 xhost +ip 即可
另外, 直接啟動xhost, 不會啟動x server, 所以記得先 startx
在10.5
由於 xhost 會再多啟動一個x server
所以直接啟動 xhost即可,不需要 startx

Friday, March 13, 2009

linked list

一般常見的linked list問題

1) delete node
2) copy structure with next pointer

Tuesday, March 10, 2009

停電篇

停電, 筆電還有電, 可以幹什麼?

1) wireless ap, 或 modem 沒電, 也不能上網
2) 沒電, 也不能用筆電看電子書
3) 只好看紙本的書
4) 沒電, 3.5吋的外接硬碟, 也不能用
5) 免外接電源的外接硬碟, 這時候就是價值所在了, 不過筆電也是要供電給它用
6) 沒電, 桌上型電腦也不能用
7) 沒電, 不能開電視, 看CSI

Thursday, March 05, 2009

聊聊

每次面試完, 都會問對方, 還有什麼要補充的或是還有什麼問題?
就被問到工作的成就感在哪裡?與是否寫一輩子的程式?

第1次寫程式, 覺得程式可以跑就很有成就感了
不過工作之後, 程式會跑, 已經無法滿足自己了
而是追求程式的穩定, 與架構的相容性
穩定度愈高, 代表當初的problem domain survey要完整, 才能夠提出相對應的solution
analysis, design, coding, unit-test and handle citical section
相容性高, 表示已經預測到將來的可能性擴充, 以相容性設計為提前

是否寫一輩子的程式, 我倒沒想過這樣子的問題
不過我的回答倒是這樣
總不能跳去做硬體吧
軟體有很多領域, 網路, 多媒體, 嵌入式等
所以, 如果可以找到自己的挑戰, 那應該無所謂是不是寫一輩子的程式吧

Wednesday, March 04, 2009

ACM problem 100

problem id 100
3n+1 problem
solved

今天終於解了
原來重點在於輸入的範圍介於i,j
其中 i不一定小於j
就因為這個一直給我wrong answer