2005/08/30 

stone應用 Client ->stone ->proxy ->internel

Tuesday, August 30, 2005
8/30/2005 4:42:21 AM
stone應用 Client ->stone ->proxy ->internel
Stone is a TCP/IP packet repeater in the application layer
因為公司只許可我的工作單機經由公司內部的proxy-A Port 80上網,所以我架了一個stone在我的工作單機上(假設為proxy-B port8080)
其它要上網的機器只要設定proxy為proxy-A port 8080 就可以用工作單機當跳板了

工作單機stone參數如下
stone proxy-a:80/proxy 8080 "Proxy-Authorization: Basic xxxxxxxxxxx"
xxxxxxxxxx 為[username&password] 的base64編碼,但本人實際使用時username/password隨便給就好了,browser那邊還會再輸入一次.

2005/08/19 

安裝AlsaPlayer在Fedora

Friday, August 19, 2005
8/19/2005 12:40:02 AM
安裝AlsaPlayer在Fedora

今天只想要很快的找到一個mp3 player在我的Fedora4,試一下新安裝好的RealTek HD Audio是不是正常的work。
因為要快,所以我只想要找一個現成的rpm,因為想說只要 rpm -ivh xxxplayer.rpm就一切太平了,果然Google很快幫我找到了AlsaPlayer,而且下了rpm -ivh,但我發現至少還要有二個lib要安裝,但在alsaplayer project網站上並不容易找到,最後(之所說最後,是因為我第一個選的是VLC,它要數十個相關lib)我發現,當你確定你的rpm名稱時,最好到http://rpm.pbone.net/這樣的網站下載,它能夠指明所有的下載(含所有相關rpm)及source來源,可以節省不少花在Google的時間。

不知有沒有人知道Linux怎麼上802.1x EAP-MSCHAP v2. 我的Linux都不能上網

暫時只好在windows安裝了stone當proxy用

2005/08/10 

find + grep 範例

Wednesday, August 10, 2005
8/10/2005 1:37:23 AM
find + grep 範例

1.
find ./ -name \*.c -exec grep -wl main {} \;
找(find)目前目錄下所有*.c的檔案
再由grep過瀘出有含main這個單字的檔案
-w 完整單字為main的才符合
-l 列出檔名

2.
find ./ -name \*.c -exec grep -wnHA5 main {} \;
找(find)目前目錄下所有*.c的檔案
再由grep過瀘出有含main這個單字的檔案
-H 顯示路徑及檔名
-n 顯示行號
-A5 並顯示以下五行內容(共六行)
-B5 同上,但為以上五行

3.
grep -inP "^\w+\s+main\s" xxx.c
找出xxx.c任一行中,第二個單字為main
-i 乎略大小寫
-P perl regular expression
^ 開頭
\w 第一個字完
\s 空白

4.聽說這個可以計算程式的行數
find . -name '*.[cCh]' -or -name '*.in' -or -name '*.cpp' | xargs wc -l

5.試試這個吧
# find /usr/include/ -name "*.h" -exec cp {} ~/include/

2005/08/03 

Optimizing Memcpy improves speed

Thursday, August 4, 2005
8/3/2005 10:51:11 PM
Source:embedded.com
Optimizing Memcpy improves speed
void * memcpy(void * dst, void const * src, size_t len)
{
long * plDst = (long *) dst;
long const * plSrc = (long const *) src;

if (!(src & 0xFFFFFFFC) && !(dst & 0xFFFFFFFC))
{
while (len >= 4)
{
*plDst++ = *plSrc++;
len -= 4;
}
}

char * pcDst = (char *) plDst;
char const * pcDst = (char const *) plSrc;


while (len--)
{
*pcDst++ = *pcSrc++;
}

return (dst);
}
一次複製一個long(4bytes)會比一次搬一個char快多了,最後再把不足一個long的複製完
(只看迴圈部份就由len一次加減1變為 4,就省下不少啦.......
做video audio stream, buffer 的人一定要用啦!

About me

  • I'm Martin's blog 馬汀的部落格
  • From 中壢市, 桃園縣, Taiwan
  • -----BEGIN GEEK CODE BLOCK----- Version: 3.1 Comment: For info see http://www.geekcode.com GC/CS/CC/E/IT/TW d- s a C++++ L++++ P+ L++++ E--- W+++ N++ o+ K- w+++ O- M- V- PS+ PE++ Y+ PGP+ t 5- X++ R- tv- b+++ DI+ D-- G e+++ h+ r+ y+ z? ------END GEEK CODE BLOCK------ /**************************** 旅行是我生命的動力 它的樂趣從計劃旅行開始 我樂於分享旅行及Linux Kernel上的每一件事. ****************************/
My profile