<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hung-Yi Chen&#039;s Blog &#187; 電腦相關</title>
	<atom:link href="http://blog.hychen.org/category/%e9%9b%bb%e8%85%a6%e7%9b%b8%e9%97%9c/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hychen.org</link>
	<description></description>
	<lastBuildDate>Tue, 17 May 2011 05:14:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>SOAP on Android(using ksoap2 for android)</title>
		<link>http://blog.hychen.org/2011/04/25/56/</link>
		<comments>http://blog.hychen.org/2011/04/25/56/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 20:45:12 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=56</guid>
		<description><![CDATA[最近 android team 新人的 training 題目有一題是實作一個 mantis 的 android client。 稍微看了一下新人試過但是據說試不出來的 mantisconnect java api，發現其實單純只是用 SOAP 跟 mantis 做溝通罷了。 所以就應 android team leader 所求，寫了一個簡單的 client，示範如何透過 soap 跟 mantis server 溝通。 剛好最近幫以前實驗室學長實作他手上專案要開放給廠商的 api，也是用 SOAP 的方式讓廠商橋接，所以就決定不用 mantisconnect java api，改用 ksoap2 去實作一個 general soap client，順便可以 demo 給廠商驗證。 廢話不多說，請看 code:p]]></description>
			<content:encoded><![CDATA[<p>最近 android team 新人的 training 題目有一題是實作一個 <a href="http://www.mantisbt.org/">mantis</a> 的 android client。</p>
<p>稍微看了一下新人試過但是據說試不出來的 <a href="http://www.futureware.biz/mantisconnect/">mantisconnect</a> java api，發現其實單純只是用 SOAP 跟 mantis 做溝通罷了。</p>
<p>所以就應 android team leader 所求，寫了一個簡單的 client，示範如何透過 soap 跟 mantis server 溝通。</p>
<p>剛好最近幫以前實驗室學長實作他手上專案要開放給廠商的 api，也是用 SOAP 的方式讓廠商橋接，所以就決定不用 <a href="http://www.futureware.biz/mantisconnect/">mantisconnect</a> java api，改用 <a href="http://code.google.com/p/ksoap2-android/">ksoap2</a> 去實作一個 general soap client，順便可以 demo 給廠商驗證。</p>
<p>廢話不多說，請看 <a href="http://blog.hychen.org/download/MantisConnectExample.rar">code</a>:p</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2011/04/25/56/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>開啟 RT-N16 的 tomato pppoe relay</title>
		<link>http://blog.hychen.org/2011/01/10/45/</link>
		<comments>http://blog.hychen.org/2011/01/10/45/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 22:44:21 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[Linux相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=45</guid>
		<description><![CDATA[一直都以為刷了 tomato （我刷中文版）的 RT-N16 有 pppoe relay（asus 原廠韌體有），不過昨天怎麼桌機撥接都一直得到錯誤代碼 651。 仔細看了一下，原來 tomato 其實並沒有把 pppoe relay 包進 generic firmware。 稍微 survey 了一下，其實要掛上 pppoe relay 功能還蠻簡單的:p 首先要先打開 tomato 的 ssh 或 telnet service：路由器管理&#8211;遠端登入及密碼（基於安全性考量，建議開 ssh 並關閉遠端登入功能） 再來要打開 JFFS：路由器管理&#8211;JFFS&#8211;啟用，啟用後記得點選下方的格式化/清除，否則無法 mount。 接著，用剛剛開啟的 ssh/telnet 登入 RT-N16，可以用 PuTTY（這裡有我自行打包 patch 過的中文化版本:p） 帳號是 root，密碼則跟 Web 登入密碼相同 接下來是需要敲幾個簡單的指令，登入後依序敲入： 1. mkdir -p /tmp/test; cd /tmp/test 2. wget http://kamikaze.openwrt.org/8.09.2/brcm-2.4/packages/rp-pppoe-relay_3.10-1_mipsel.ipk [...]]]></description>
			<content:encoded><![CDATA[<p>一直都以為刷了 tomato （我刷<a href="http://code.google.com/p/twtomato/">中文版</a>）的 RT-N16 有 pppoe relay（asus 原廠韌體有），不過昨天怎麼桌機撥接都一直得到錯誤代碼 651。</p>
<p>仔細看了一下，原來 tomato 其實並沒有把 pppoe relay 包進 generic firmware。</p>
<p>稍微 survey 了一下，其實要掛上 pppoe relay 功能還蠻簡單的:p</p>
<p>首先要先打開 tomato 的 ssh 或 telnet service：路由器管理&#8211;遠端登入及密碼（基於安全性考量，建議開 ssh 並關閉遠端登入功能）</p>
<p>再來要打開 JFFS：路由器管理&#8211;JFFS&#8211;啟用，啟用後記得點選下方的格式化/清除，否則無法 mount。</p>
<p>接著，用剛剛開啟的 ssh/telnet 登入 RT-N16，可以用 PuTTY（<a href="http://cse.tw/putty.exe">這裡</a>有我自行打包 patch 過的中文化版本:p）</p>
<p>帳號是 root，密碼則跟 Web 登入密碼相同</p>
<p>接下來是需要敲幾個簡單的指令，登入後依序敲入：</p>
<p>1. mkdir -p /tmp/test; cd /tmp/test</p>
<p>2. wget http://kamikaze.openwrt.org/8.09.2/brcm-2.4/packages/rp-pppoe-relay_3.10-1_mipsel.ipk</p>
<p>3. tar xzf rp-pppoe-relay_3.10-1_mipsel.ipk</p>
<p>4. tar xzf data.tar.gz</p>
<p>5. cp usr/sbin/pppoe-relay /jffs</p>
<p>6. cd /; rm -rf /tmp/test</p>
<p>7. /jffs/pppoe-relay -S vlan2 -C br0</p>
<p>最後，我們要讓 tomato 在開機時都能執行 pppoe relay，</p>
<p>所以要在 tomato 的 web 設定頁面（路由器管理&#8211;系統指令）輸入</p>
<p><em>sleep 10 &amp;&amp; /jffs/pppoe-relay -S vlan2 -C br0</em></p>
<p>這樣就大功告成了:p</p>
<p>ps. 如果是 dd-wrt，同樣也適用本方法，唯一要注意的是可能需要將指令中的 vlan2 換成 vlan1。</p>
<p>另外，因為是把 pppoe-relay 指令放在 jffs 掛載區，所以如果之後升級韌體後，上述動作需要重做一次。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2011/01/10/45/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build a git project on hudson &amp; some git plug-in bugs&#8230;</title>
		<link>http://blog.hychen.org/2010/07/02/41/</link>
		<comments>http://blog.hychen.org/2010/07/02/41/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 06:43:59 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[FreeBSD相關]]></category>
		<category><![CDATA[Linux相關]]></category>
		<category><![CDATA[軟體相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=41</guid>
		<description><![CDATA[最近在處理 daily build system，要把某些 project 透過 hudson 建置成無人值守的自動化編譯系統。 不過在 git plug-in 上吃鱉&#8230;.。 簡單描述一下我的狀況及解決辦法： 我在 github 上開了個 android project，想要設定 hudson 自動檢查 github 上的 code 是否有變更，有變動的話就抓回來編一份丟給 QA 去測試。 而這個 project 有兩個 branch，分別是 master 跟 bugfix。 為了清楚明瞭，在 hudson 上開了兩個不同的 project，一個專門 build master branch，另一個則專門 build bugfix branch。 這時候怪事來了&#8230;.bugfix 的 SCM polling check log 看起來似乎抓到了 master 的 commit，而 master 的 [...]]]></description>
			<content:encoded><![CDATA[<p>最近在處理 daily build system，要把某些 project 透過 hudson 建置成無人值守的自動化編譯系統。</p>
<p>不過在 git plug-in 上吃鱉&#8230;.。</p>
<p>簡單描述一下我的狀況及解決辦法：</p>
<p>我在 github 上開了個 android project，想要設定 hudson 自動檢查 github 上的 code 是否有變更，有變動的話就抓回來編一份丟給 QA 去測試。</p>
<p>而這個 project 有兩個 branch，分別是 master 跟 bugfix。</p>
<p>為了清楚明瞭，在 hudson 上開了兩個不同的 project，一個專門 build master branch，另一個則專門 build bugfix branch。</p>
<p>這時候怪事來了&#8230;.bugfix 的 SCM polling check log 看起來似乎抓到了 master 的 commit，而 master 的 polling check log 好像也抓到了 bugfix 的 commit。</p>
<p>本來以為是其他開發人員不小心把兩個 branch 做了 merge，不過仔細一看卻又不像這麼一回事。</p>
<p>稍微思考了一下，決定從 hudson 的 build log 下手。</p>
<p>結果發現了這種東西&#8230;.</p>
<blockquote><p>[workspace] $ c:\cygwin\bin\git.exe fetch -t git@github.com:gaod/android.git +refs/heads/bugfix:refs/remotes/origin/bugfix<br />
[workspace] $ c:\cygwin\bin\git.exe ls-tree HEAD<br />
[workspace] $ c:\cygwin\bin\git.exe log &#8211;all &#8211;pretty=format:&#8217;%H#%ct&#8217; origin/bugfix</p></blockquote>
<p>等等，為什麼是 git log &#8211;all 呢？！</p>
<p>抓到兇手！git log &#8211;all 會去抓整個 project 的所有 branch commit log 啊！那難怪一直出現奇怪現象&#8230;</p>
<p>（不過奇怪的是，我搜尋了一下，似乎沒看到有人遇到這問題？）</p>
<p>解法就是，自己去抓 git plug-in 回來修掉這部分，拿掉做 git log 時傳入的 &#8211;all 參數，果然就好了！</p>
<p>下面附上 hudson 上這個 github 的 project 的 project 設定檔（好繞口:p）</p>
<blockquote><p>URL of repository：git@github.com:gaod/android.git<br />
Name of repository：origin<br />
Refspec：+refs/heads/bugfix:refs/remotes/origin/bugfix<br />
Branch Specifier：origin/bugfix</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2010/07/02/41/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD mount iso file</title>
		<link>http://blog.hychen.org/2010/05/16/38/</link>
		<comments>http://blog.hychen.org/2010/05/16/38/#comments</comments>
		<pubDate>Sun, 16 May 2010 15:27:39 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[FreeBSD相關]]></category>
		<category><![CDATA[軟體相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=38</guid>
		<description><![CDATA[在 FreeBSD 上掛載 iso 檔其實很簡單&#8230; 掛載： mdconfig -a -t vnode -f xxx.iso -u 0 mount -t cd9660 /dev/md0 /mnt 卸載： umount /mnt mdconfig -d -u 0]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">
<div id="_mcePaste">在 FreeBSD 上掛載 iso 檔其實很簡單&#8230;</div>
<div></div>
<div>掛載：</div>
<div>mdconfig -a -t vnode -f xxx.iso -u 0</div>
<div id="_mcePaste">mount -t cd9660 /dev/md0 /mnt</div>
<div id="_mcePaste">卸載：</div>
<div id="_mcePaste">umount /mnt</div>
<div id="_mcePaste">mdconfig -d -u 0</div>
<div></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2010/05/16/38/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS 轉換到 Git</title>
		<link>http://blog.hychen.org/2010/05/15/30/</link>
		<comments>http://blog.hychen.org/2010/05/15/30/#comments</comments>
		<pubDate>Fri, 14 May 2010 21:15:27 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[FreeBSD相關]]></category>
		<category><![CDATA[Linux相關]]></category>
		<category><![CDATA[軟體相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=30</guid>
		<description><![CDATA[下面是用某公司內部神秘專案 KKK 做例子的示範，將整個專案內容從 cvs 搬移到 github 上，不過也適用於其他 git hosting/server 由於 code 中 big5 與 utf-8 混雜，但是 comment log 又都是 big5，導致沒辦法直接用 git cvsimport 來處理（git cvsimport 無法處理這種混亂的編碼狀況） 原先 Izero 長輩提供的做法是 cvs to svn，svn to git，切成兩段來做。但是太麻煩了，這樣還得架 svn server 才能處理。 這邊提供一個經過測試後可行的簡單完美做法&#8230; 有幾件事情當然得先做 1. 註冊 github 帳號 2. 在要 access github 上資訊的電腦做 ssh2 key，把 public key 上傳到 github 3. 在 github [...]]]></description>
			<content:encoded><![CDATA[<p>下面是用某公司內部神秘專案 KKK 做例子的示範，將整個專案內容從 cvs 搬移到 github 上，不過也適用於其他 git hosting/server</p>
<p>由於 code 中 big5 與 utf-8 混雜，但是 comment log 又都是 big5，導致沒辦法直接用 git cvsimport 來處理（git cvsimport 無法處理這種混亂的編碼狀況）</p>
<p>原先 Izero 長輩提供的做法是 cvs to svn，svn to git，切成兩段來做。但是太麻煩了，這樣還得架 svn server 才能處理。</p>
<p>這邊提供一個經過測試後可行的簡單完美做法&#8230;</p>
<p>有幾件事情當然得先做<br />
1. 註冊 github 帳號<br />
2. 在要 access github 上資訊的電腦做 ssh2 key，把 public key 上傳到 github<br />
3. 在 github 開個專案</p>
<p>確認已經可以存取 github 上的專案內容後<br />
1. 取得 cvs server 上的 CVSROOT &amp; KKK repository，解開丟到 /home/cvsroot 後切換到 /home/cvsroot<br />
2. 裝 cvs2svn(<a href="http://cvs2svn.tigris.org/" target="_top">cvs2svn</a>)，待會兒將透過 cvs2svn 中的 cvs2git 這個工具來做轉移<br />
3. cvs2git &#8211;blobfile /tmp/cvs2git.blob &#8211;dumpfile /tmp/cvs2git.dump &#8211;fallback-encoding=utf-8 &#8211;encoding=big5 KKK &#8211;username gaod<br />
(用 cvs 上的 gaod 身分把 KKK 專案在 cvs 上的東西 dump 到 /tmp/cvs2git.{blog,dump}。cvs 上程式碼編碼是 big5 &amp; utf-8 混雜，comment log 則是 big5)<br />
4. cd /tmp;git init KKK;cd KKK<br />
(先 git init 建目錄後切換過去建出來的 KKK)<br />
5. cat /tmp/cvs2git.{blob,dump} | git fast-import &#8211;force<br />
(把 cvs 上的東西倒進去剛剛 git init 出來的目錄)<br />
6. git remote add origin <a href="mailto:git@github.com">git@github.com:gaod/KKK.git</a><br />
7. git push &#8211;force<br />
(force push 到 remote)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2010/05/15/30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN repository remote dump</title>
		<link>http://blog.hychen.org/2010/04/28/27/</link>
		<comments>http://blog.hychen.org/2010/04/28/27/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 10:10:21 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[FreeBSD相關]]></category>
		<category><![CDATA[Linux相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=27</guid>
		<description><![CDATA[早上 JoeHorn 告訴我，OpenSVN 要收了，所以原本 host 在 OpenSVN 上的 Maple-itoc project 顯然得趕快換地方了。雖然 OpenSVN 公告說五月一日開始會提供 repository dump，不過既然都要搬家了，自己 dump 一下當作練習也是不錯。 Survey 了一下，大部份的文章都是教學用 svnsync 來處理，不過我發現另一個工具也是很好用：rsvndump。 差別在於，svnsync 可以直接 mirror 整個 repository，而 rsvndump 則是 dump 成一個檔案。 svnsync 我的做法： 1.  cd ${SVNHOME}; svnadmin create Maple-itoc # 到 svn server 的 repos 目錄 2. 修改 ${SVNHOME}/Maple-itoc/hooks/pre-revprop-change，我是懶得設，直接丟個空白檔案然後 chmod +x 3. svnsync init file:///${SVNHOME}/Maple-itoc https://opensvn.csie.org/MapleBBSitoc [...]]]></description>
			<content:encoded><![CDATA[<p>早上 <a href="http://www.joehorn.idv.tw/" target="_blank">JoeHorn </a>告訴我，<a href="https://opensvn.csie.org" target="_blank">OpenSVN</a> 要收了，所以原本 host 在 <a href="https://opensvn.csie.org" target="_blank">OpenSVN</a> 上的 Maple-itoc project 顯然得趕快換地方了。雖然 <a href="https://opensvn.csie.org" target="_blank">OpenSVN</a> 公告說五月一日開始會提供 repository dump，不過既然都要搬家了，自己 dump 一下當作練習也是不錯。</p>
<p>Survey 了一下，大部份的文章都是教學用 svnsync 來處理，不過我發現另一個工具也是很好用：rsvndump。</p>
<p>差別在於，svnsync 可以直接 mirror 整個 repository，而 rsvndump 則是 dump 成一個檔案。</p>
<p>svnsync 我的做法：</p>
<p>1.  cd ${SVNHOME}; svnadmin create Maple-itoc</p>
<p># 到 svn server 的 repos 目錄</p>
<p>2. 修改 ${SVNHOME}/Maple-itoc/hooks/pre-revprop-change，我是懶得設，直接丟個空白檔案然後 chmod +x</p>
<p>3. svnsync init file:///${SVNHOME}/Maple-itoc <a href="https://opensvn.csie.org/MapleBBSitoc">https://opensvn.csie.org/MapleBBSitoc</a></p>
<p># 初始化 dest repos，可以用 svnsync init help 看詳細參數，這裡都是匿名存取所以不需帳號密碼</p>
<p>4. svnsync sync <a href="file:///${SVNHOME}/Maple-itoc">file:///${SVNHOME}/Maple-itoc</a></p>
<p># 開始 sync&#8230;.</p>
<div>rsvndump 的話，我的做法是：</div>
<div>1. rsvndump http://OpenSVN.csie.org/MapleBBSitoc &gt; Maple-itoc.dump</div>
<div># 把整個 remote repos dump 出來存到 Maple-itoc.dump</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2010/04/28/27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RT-N16 從 3rd-party 韌體刷回原廠韌體</title>
		<link>http://blog.hychen.org/2010/04/11/23/</link>
		<comments>http://blog.hychen.org/2010/04/11/23/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 01:29:26 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=23</guid>
		<description><![CDATA[1. 先將PC設定為 192.168.1.2，子網路遮罩為255.255.255.0 2. 用有線網路將電腦接上 RT-N16 3. 將 RT-N16 關機，按住 restore 鍵不放，開啟電源，直到 RT-N16 power LED開始閃爍後才放開 restore 鍵 4. tftp -i 192.168.1.1 PUT RT-N16_9.9.3.7.trx，大約 20 秒（RT-N16_9.9.3.7.trx 從華碩官網抓） 5. 等五分鐘，重開 RT-N16，大功告成]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">1. 先將PC設定為 192.168.1.2，子網路遮罩為255.255.255.0</div>
<div id="_mcePaste">2. 用有線網路將電腦接上 RT-N16</div>
<div id="_mcePaste">3. 將 RT-N16 關機，按住 restore 鍵不放，開啟電源，直到 RT-N16 power LED開始閃爍後才放開 restore 鍵</div>
<div id="_mcePaste">4. tftp -i 192.168.1.1 PUT RT-N16_9.9.3.7.trx，大約 20 秒（RT-N16_9.9.3.7.trx 從華碩官網抓）</div>
<div id="_mcePaste">5. 等五分鐘，重開 RT-N16，大功告成</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2010/04/11/23/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinSCP 正體中文翻譯</title>
		<link>http://blog.hychen.org/2007/04/17/11/</link>
		<comments>http://blog.hychen.org/2007/04/17/11/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 11:07:24 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[軟體相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/2007/04/17/18</guid>
		<description><![CDATA[一年前開始做 WinSCP 的正體中文翻譯，感謝 Mark Lin，今天終於全部翻譯完畢。需要的人請自行安裝 WinSCP 英文版，再抓翻譯檔下來放在 WinSCP 安裝目錄下，進入 WinSCP後即可選擇中文介面。但是因為功蓋許問題，WinSCP的作者不知道怎麼處理，所以有不少詞彙只能暫時用同義字替代，這個我還會跟 Martin Prikryl 問問，能不能我自己 compile 後再丟給他放官網:p如果發現誤義或是翻的不好，還請告訴我，謝謝:)]]></description>
			<content:encoded><![CDATA[<p>一年前開始做 <a href="http://www.winscp.net">WinSCP</a> 的正體中文翻譯，感謝 Mark Lin，今天終於全部翻譯完畢。需要的人請自行安裝 WinSCP 英文版，再抓<a href="http://winscp.net/translations/dll/ch.zip">翻譯檔</a>下來放在 WinSCP 安裝目錄下，進入 WinSCP後即可選擇中文介面。但是因為功蓋許問題，WinSCP的作者不知道怎麼處理，所以有不少詞彙只能暫時用同義字替代，這個我還會跟 Martin Prikryl 問問，能不能我自己 compile 後再丟給他放<a href="http://www.winscp.net/">官網</a>:p如果發現誤義或是翻的不好，還請告訴我，謝謝:)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2007/04/17/11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一些 Subversion reference</title>
		<link>http://blog.hychen.org/2007/04/04/10/</link>
		<comments>http://blog.hychen.org/2007/04/04/10/#comments</comments>
		<pubDate>Wed, 04 Apr 2007 00:15:38 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[FreeBSD相關]]></category>
		<category><![CDATA[Linux相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=15</guid>
		<description><![CDATA[HomePage http://subversion.tigris.org/ Book http://svnbook.red-bean.com/ Chinese ver http://freebsd.sinica.edu.tw/~plasma/svnbook/book.html (失效很久了，真可惜當時沒有先 mi 下來:~) cvs2svn http://cvs2svn.tigris.org/ viewcvs http://viewcvs.sourceforge.net/ QuiteGuide http://in2.wiki.ptt.cc/-SubversionQuickStart http://www.me.ccu.edu.tw/svninfo/svnbook.html]]></description>
			<content:encoded><![CDATA[<p>HomePage</p>
<p>http://subversion.tigris.org/</p>
<p>Book</p>
<p>http://svnbook.red-bean.com/</p>
<p>Chinese ver<br />
http://freebsd.sinica.edu.tw/~plasma/svnbook/book.html (失效很久了，真可惜當時沒有先 mi 下來:~)</p>
<p>cvs2svn</p>
<p>http://cvs2svn.tigris.org/</p>
<p>viewcvs</p>
<p>http://viewcvs.sourceforge.net/</p>
<p>QuiteGuide</p>
<p>http://in2.wiki.ptt.cc/-SubversionQuickStart</p>
<p>http://www.me.ccu.edu.tw/svninfo/svnbook.html</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2007/04/04/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debug in FreeBSD</title>
		<link>http://blog.hychen.org/2007/04/04/9/</link>
		<comments>http://blog.hychen.org/2007/04/04/9/#comments</comments>
		<pubDate>Wed, 04 Apr 2007 00:11:59 +0000</pubDate>
		<dc:creator>gaod</dc:creator>
				<category><![CDATA[Linux相關]]></category>
		<category><![CDATA[電腦相關]]></category>

		<guid isPermaLink="false">http://blog.hychen.org/?p=14</guid>
		<description><![CDATA[1. 在 compile 時加入 -g 的參數 如果要 debug 的是 compile 過的 program 最簡單的方式就是在 compile 的時候 加入 -g 的參數 這樣 compiler ( 如 gcc ) 就會在 compile 時， 加入給 debugger ( 如 gdb ) 用的資訊 接下來產生的執行檔就能很方便的讓我們來 debug 能夠用 gdb debug 的情況有.. 1. 用 gdb 來跑 program &#62; gdb your_prog 然後在下 run 來跑程式，或設 breakpoint 等等 ( 關於 [...]]]></description>
			<content:encoded><![CDATA[<p>1. 在 compile 時加入 -g 的參數<br />
如果要 debug 的是 compile 過的 program<br />
最簡單的方式就是在 compile 的時候 加入 -g 的參數<br />
這樣 compiler ( 如 gcc ) 就會在 compile 時，<br />
加入給 debugger ( 如 gdb ) 用的資訊<br />
接下來產生的執行檔就能很方便的讓我們來 debug</p>
<p>能夠用 gdb debug 的情況有..</p>
<p>1. 用 gdb 來跑 program<br />
&gt; gdb your_prog<br />
然後在下 run<br />
來跑程式，或設 breakpoint 等等<br />
( 關於 gdb 的使用，請參照 reference )<br />
2. 用 gdb 來 detach 正在跑的 program<br />
&gt; gdb your_program process_id<br />
這個方法就是先查出你要查的 process id<br />
然後用 gdb 把這個程式停下來<br />
來檢查看看問題出在哪<br />
3. 有時候有的程式因為一些因素 ( 如 memory access violation )<br />
而造成 core dump ( 這個會在作業系統留下 xxx core dump 的 message )<br />
通常會在程式執行的 dir 產生 xxx.core 的 core file<br />
這時候我們也可以用<br />
&gt; gdb your_program core_file<br />
來做 debug 的動作<br />
4. 最後，我們可以用 gcore(1) 這個程式<br />
把正在跑的程式在 memory 的 image 抓成一個 core file<br />
再用 gdb 來觀察這個 core file<br />
5. 另外，在程式沒有 compile with -g option 的情況下<br />
我們還是很常用到 gdb 的一個方法是 backtrace 這個指令<br />
這個可以用來觀察程式的 call stack。<br />
可以知道程式卡/死在哪個 function call 內</p>
<p>2. 觀察和 process 有關的資訊</p>
<p>很多情況下，我們的程式不一定有加上 -g 的 debug 參數<br />
這個時候，有一些比較能 locate 問題的 system utils 可以幫助我們</p>
<p>1. truss(1)<br />
這個可以用來觀察某個 program 使用的 system call<br />
比如說 open(), close() 等等<br />
這個可以讓我們了解到這個 program 正在 access 哪些檔案<br />
卡死在哪個地方<br />
ex: &gt; truss -p process_pid<br />
2. fstat or sockstat<br />
用 sockstat | grep process_pid<br />
可以查到這個程式開的 local address/port 及 foreign address/port</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hychen.org/2007/04/04/9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

