在Fred’s blog 的另一篇文章中『用C呼叫 rand() 每次都回傳相同結果?』學到了一個不錯的技巧喔…嗯嗯, 用srand(time(0)+getpid()); 真是個好方法.
從Fred’s blog中看到一個有關於Coding Style 的連結『Prpoer Linux Kernel Coding Sytle』, 想到最近寫的程式, 為了變數該取什麼名字較容易懂而非常傷腦筋, 就立刻連進去看了一下, 雖然是英文的文章, 英文程度不好的我, 也只好努力的K了一下囉, 嗯嗯, 看來自己的coding style 還要再加強, 尤其是』註解』的地方…是我最需改進的了.
這個連結裡有其它的網友對於上面的coding style有不同意見喔
搞了兩天, 我的超小型RTOS, 在linux(FC5) 下用gcc -O2 的option compile完後, 執行總是會出現segmentation fault. 但是-O0 就ok了. 本以為是我的multi-thread 出問題了, 查了好久, 才發現是在我的RTOS中的context switch(for x86)中會死掉, 跳到不知名的地方去了. 當初context switch 中的code 是參考eCos 改過來的. 想了一想, eCos 似乎只支援i386相容的PC. 難道gcc -O2 的option 會使用i386以外的暫存器, 來做最佳化嗎??
果真, 在Makefile 中gcc 的option 中加入-march=i386 就解決了. 後來測試-march=i486 或i586 也都可以, 但用i686 就會segmentation fault. 嗯嗯, 自從學校學過i386 組合語言後, 再也不知道486 以上的CPU到底多了哪些功能. 只知道變快了, 且i386相容. 看來要最佳化自己的程式, 還是得多了解一下CPU 已經改到啥地步了. 尤其是在我的RTOS, 裡面有部份的code 是跟CPU有關的
L7-filter (Application Layer Packet Classifier for Linux), 是 Linux netfilter 的外掛模組, 它能讓 Linux 的 iptables 支援 Layer 7 (Application 應用層) 封包過濾功能, 限制 P2P、即時通訊等使用動態埠口的網路軟體.
參考網站:
http://l7-filter.sourceforge.net/
http://l7-filter.sourceforge.net/protocols
http://l7-filter.sourceforge.net/L7-HOWTO-Netfilter
[分享]打造 Linux 具有 L7-Filter Function?
http://cha.homeip.net/blog/archives/2005/12/l7filter.html
昨天, 和YF兄聊到做事的品質時, 他說出了一句讓我深思的話.
要做一件事情之前, 要從』如何做好事』 的角度來思考,而非』如何好做事』的角度來思考
其實一般工程師(尤其是台灣的工程師), 做事的角度, 大多是後者. 從日本回來後, 發現, 日本的工程師, 其思考的角度卻是前者.
這也難怪, 產品在品質上會有如此的差異.
還有, 這句話也讓我聯想到, 如果在規劃一個架構的時候, 從』如何做好事』的角度來想, 剛開始相對難度或許較高較高.開發時間較長, 但卻可以讓這個架構更完整, 有彈性. 尤其規劃很大的架構時, 更顯出』完整』 及』彈性』 的重要性.
一個台灣工程師, 做起事來會比一個國外的工程師來的強, 但3個台灣工程師組成的團隊, 卻遠遠輸給3個國外工程師的團隊.
每個台灣的工程師, 只從如何讓自己好做事的角度來思考, 其團隊戰力一定會互相抵減, 所以造成1+1+1 < 3.
如果每個人從如何做好事的角度來思考, 對於做事的品質一定可以做到1+1+1 > 3的情況.
從』如何做好事』的角度來看, 往往需要蹲馬步很久, 在初期是很難看出其好處的, 往往在Project 的後半段, 才知道瓶頸在哪裡, 若馬步蹲的穩, 就容易突破困難. 蹲不穩的人, 其schedule 就一直不斷的延後, 或者是挖東牆補西牆的方式來度過困難, 終究很難蓋成摩天大樓的.
這個網站教你如何用C++ 來作hardware(HDL) 的驗證.
FC5 ==> 到http://rpm.pbone.net/index.php3/stat/4/idpl/3441291/com/firefox-2.0-1.fc5.remi.i386.rpm.html抓RPM 安裝即可.
FC6 ==> 將yumex 中的repos->development 打勾, 再更新firefox 就有2.0可以選了.
雖然http://rpm.pbone.net中也有firefox 2.0 for fc6 的rpm 檔, 但我裝的時候, 他還需要gecko-libs 的rpm , 但我找不到, 所以就用上面方法(google 上有人說的)先借用fc7的packages啦.
因為最近工作上的需要, 要在linux 下抓幾張圖.
用google search 結果, 看起來較方便使用的抓圖軟體, 有下列兩套:
(1) xv
(2)ksnapshot
xv的使用參考
而在FC5中, ksnapshot 是放在kdegraphics 這個rpm中
[2006/12/21 更新]
在CreMaker’s in-life Blog 中看到一個在gnome 下的抓圖軟體gsnapshot