2008年4月24日 星期四

Valgrind - Find Memory leak & invalid Memory Use

Memory Leak, 簡單說就是忘了釋放Memory

Memory Leak使得程式浪費多餘的Memory

造成系統Performance的下降

所以在coding時都要儘量避免Memory Leak

不過人總是會出錯,總是會有漏掉的bug

這時Valgrind就派上用場了

使用的方式很簡單

就…

[略](爆 XD)

最近有點懶,就直接參考官網的文件囉

Google上找"Valgrind"也有很多HOW-TO

這是wikipedia上的條目

2008年4月23日 星期三

Linux下自定hotkey

也是從逛來的

actkbd - A keyboard shortcut daemon

自動mount USB Sotrage

在網路上逛到的時候發現的

使用 usbmount 搭配 udev 就可以自動mount USB Sotrage

sudo apt-get install usbmount
vi /etc/usbmount/usbmount.conf
更改內容如下:
+++++++++++++++++++++++++++++++++++++++++++
FILESYSTEMS="ext2 ext3 vfat"
FS_MOUNTOPTIONS="-fstype=vfat,iocharset=big5"
VERBOSE="yes"
+++++++++++++++++++++++++++++++++++++++++++
/etc/init.d/udev restart
記下囉

Minicom & usb to RS232線材

現在NB上幾乎沒有在配RS232的serial port了,

都是用usb取而代之,方便歸方便,要用到的時候還是麻煩。

所以就有了usb to RS232這種adapter

這東西有貴有便宜,以後還是記得買Prolific和FTDI的chip組

在windows底下使用時,自動會產生一個對應的com port,

超級終端機開了就可以連

在linux底下可以用minicom取代超級終端機的功能

要注意的是minicom的設定

連接的serial port要設成"/dev/ttyUSB0"

Ubuntu上的 IM軟體

因為桌面環境是Gnome的關係

IM都是用pidgin(gaim)一次解決

amsnKopete也不是沒用過後

只是最後還是回到pidgin(gaim)而已

前陣子開始改用emesene,只是gtalk就沒得上線了

因為emesene只針對msn而已

剛剛又翻到個Gajim,這是中文維基介紹

專門用來做XMPP/Jabber的Client,

剛裝上,也還不知道順不順手,目前就這樣囉。

Unix 指令速查 & Ubuntu 指令速查

FOSSwire之前推出個Unix 指令速查表

最近又推出了Ubuntu 指令速查表

就留著以備不時之需囉。

2008年4月22日 星期二

在Ubuntu下連上VPN

懶得打字了 :p

以後應該有用到的時候,先記下吧

參考自Ubuntu GeekHowto Connect to Windows VPN server (PPTP) with Ubuntu 7.10 (Gutsy Gibbon)

2008年4月16日 星期三

SSH Tunnel 整理

現在無線網路滿地都是,有沒有得連是一回事,

連上了安不安全又是另一回事了。

避免不必要的資訊外流,整理一下SSH Tunnel吧

以下都是轉貼來的,分別使用到putty, plink

----------------------------------------------------
Case 1:使用putty從win32平台連線至某主機A並使用
SSH Tunnel進行安全的POP3傳輸


  1. 使用putty連線至主機A
  2. 在工具列上的這個putty視窗按右鍵選擇Change Settings
  3. 在Tunnels分頁,Source port是用來當作local端的連線,
    在這邊用8888
  4. Destination填 hostA.narahuang.com:110
    也就是主機A的POP3 port
  5. 到Session分頁去把這個設定存在某個Session裡
  6. 按Apply完成設定

使用ssh連線到主機A,
這時候在命令列下使用netstat -na就會發現我們剛剛
設定的port 8888已經開始listen,
在郵件軟體設定向localhost:8888,並使用主機A上的帳號密碼
來收信,可以成功收信的話就是成功了。


Case 2:使用plink從win32平台至某主機A並透過主機A
連線至主機B的port 80 (httpd)


plink是putty作者提供,在win32下的命令列程式,
可以讓我們打一行指令就可以進行SSH Tunnel連線。

  1. 把plink放到windows資料夾裡面(為了方便)
  2. 在命令列字元打:
    plink -ssh -L 9000:hostB.narahuang.com:80 user@hostA.narahuang.com
  3. 在輸入user在hostA的密碼之後,就進到hostA的Shell,
    這時候通到hostB的SSH Tunnel就完成了。

使用瀏覽器連線 http://localhost:9000/ ,
若是可以連線到主機B就是成功了。
但是要注意的是,這段連線中安全的部分只有從local到hostA,
從hostA到hostB這段是沒有加密的。


Case 3:從Unix-like的Shell開啟SSH Tunnel至hostB的POP3 port


$ssh -N -f -L 9000:hostB.narahuang.com:21 user@hostB.narahuang.com

-N 參數的用途是"不建立shell"

-f 參數的用途是"連線後執行於背景"

輸入完密碼後即會回到原來的shell,
建立Tunnel之後的操作就跟前面差不多了。


Case 4:Firefox使用SSH Tunnel


直接參考小惡魔電腦技術那篇參考資料 (有圖有真相)

其它常用到軟體的SSH Tunnel可以參考Jamyy's Weblog那篇

裡面有MSN, Outlook, 網芳等的設定說明


參考資料:

gslin長輩穿越公司的Firewall

gslin長輩: Firefox over SSH Tunnel


良好的無奈:第一次用SSH Tunnel就上手

Jamyy's Weblog
PuTTY - SSH Tunnel 運用備忘 (有圖有真相)

小惡魔電腦技術
ssh Tunnel 運用在 Linux and Windows FireFox

SSH Port Forwarding


sth-SSH Tunnel (有圖有真相)


2008年4月1日 星期二

mplayer & ffmpeg

這裡來的 :p,Jamyy's Weblog整理的

都只拿mplayer來看影片,沒給他好好研究一下 ..

最後一項視訊的記得多研究一下

查看 DVD 結構

mplayer dvd:// -identify -endpos 0 | grep ID_DVD

ID_DVD_TITLES=2 (總共有兩個標題)
ID_DVD_TITLE_1_CHAPTERS=11 (第一個標題有十一個章節)
ID_DVD_TITLE_1_ANGLES=1 (第一個標題只有一種視角)
ID_DVD_TITLE_2_CHAPTERS=8 (第二個標題有八個章節)
ID_DVD_TITLE_2_ANGLES=1 (第二個標題只有一種視角)

dvd:// → DVD
vcd:// → VCD
cdda:// → Audio CD
cddb:// → Audio CD


擷錄 DVD 影片

#擷錄 TITLE 1, CHAPTER 8
mplayer dvd://1 -chapter 8-8 -dumpstream -dumpfile myfile.vob

-dumpstream: Video + Audio
-dumpvideo: Video only
-dumpaudio: Audio only (-dumpfile filename.pcm)


修剪影音檔案

#從第 11 秒的地方開始擷錄 (去除前面 10 秒內容)
ffmpeg -i input_file -ss 11 -acodec libmp3lame -ab 192k output.mp3

#從 -ss hh:mm:ss 開始擷錄, 且只錄製 -t hh:mm:ss 長度
ffmpeg -i input_file -ss hh:mm:ss -t hh:mm:ss -acodec copy -ab 192k output_file


下載影音串流檔案

#下載 mms:// 影音串流
mplayer mms://host/hot_mv.asf -dumpstream -dumpfile myfile.asf


Webcam 應用

#播放 Webcam 視訊
mplayer tv:// -fps 30

#錄製 Webcam 影像
ffmpeg -i /dev/video -f video4linux2 -s 320x240 -f m4v myvideo.m4v