<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5452259614743399826</id><updated>2012-02-10T21:58:19.416+08:00</updated><category term='html css jQuery'/><category term='PHP'/><category term='jquery'/><category term='FreeBSD'/><category term='Lifetype'/><category term='release'/><category term='Tcl/Tk'/><category term='software'/><category term='html'/><category term='hardware'/><title type='text'>Silent Melody</title><subtitle type='html'>We are the Priests of the Temples of Syrinx, Our great computers fill the hallowed halls</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1575304256969347468</id><published>2012-02-02T17:14:00.006+08:00</published><updated>2012-02-02T17:14:57.780+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 8)</title><content type='html'>&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正 wretch 密碼相簿無法下載&lt;/li&gt;&lt;li&gt;修正部分 wretch 相簿無法下載&lt;/li&gt;&lt;li&gt;修正部分 pchome 相簿無法下載、漏列出相簿&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1575304256969347468?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1575304256969347468/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2012/02/wget-282-patch-8.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1575304256969347468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1575304256969347468'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2012/02/wget-282-patch-8.html' title='WGet 2.8.2 (patch 8)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-4976668118739271627</id><published>2011-12-15T18:41:00.000+08:00</published><updated>2011-12-15T19:05:10.069+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tcl TLS + Nginx SSL</title><content type='html'>使用 tcl http + tls 從 nginx 取得資料。根據之前的經驗&lt;br /&gt;&lt;pre class="brush: tcl"&gt;package require http&lt;br /&gt;package require tls&lt;br /&gt;http::register https 443 ::tls::socket&lt;br /&gt;set tok [::http::geturl "https://192.168.72.77/index.html"]&lt;br /&gt;&lt;/pre&gt;結果出現錯誤...&lt;br /&gt;&lt;pre class="brush: plain"&gt;error reading "sock580": software caused connection abort&lt;br /&gt;SSL channel "sock580": error: tls invalid ecpointformat list&lt;br /&gt;&lt;/pre&gt;用 tls 試看看，出現相同的錯誤...&lt;br /&gt;&lt;pre class="brush: tcl"&gt;set sck [tls::socket 192.168.72.77 443]&lt;br /&gt;tls::handshake $sck&lt;br /&gt;&lt;/pre&gt;看起來在 handshake 就掛了，google 不到相關資料。奇怪的是 http server 改成 apache 後就沒問題，害我一開始花不少時間研究 nginx 的 ssl 設定。最後的解決方法有：&lt;br /&gt;&lt;b&gt;1. tls enable tls1&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush: tcl"&gt;http::register https 443 [list ::tls::socket -tls1 1]&lt;br /&gt;set tok [::http::geturl "https://192.168.72.77/index.html"]&lt;/pre&gt;&lt;b&gt;2. 別用 tls 1.6.1 (怒)&lt;/b&gt;，另一台電腦上用的是 tls 1.6 就沒問題&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-4976668118739271627?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/4976668118739271627/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/12/tcl-tls-nginx-ssl.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4976668118739271627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4976668118739271627'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/12/tcl-tls-nginx-ssl.html' title='Tcl TLS + Nginx SSL'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1574253911433878383</id><published>2011-12-13T12:18:00.000+08:00</published><updated>2011-12-13T12:19:44.621+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tcl exec run as administrator</title><content type='html'>有些需要管理者權限的命令無法用 exec 執行，例如設定 ip &lt;br /&gt;&lt;pre class="brush: tcl"&gt;% exec netsh interface ipv4 add address 10 192.168.0.222&lt;br /&gt;要求的作業需要提高的權限 (以系統管理員身分執行)。&lt;br /&gt;child process exited abnormally&lt;/pre&gt;使用 &lt;a href="http://twapi.magicsplat.com/" target="_blank"&gt;twapi&lt;/a&gt; 的 shell_execute 加上 -verb runas 解決&lt;br /&gt;&lt;pre class="brush: tcl"&gt;::twapi::shell_execute -path "c:/windows/system32/netsh.exe" -params "interface ipv4 delete address 10 192.168.0.222" -verb runas&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1574253911433878383?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1574253911433878383/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/12/tcl-exec-run-as-administrator.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1574253911433878383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1574253911433878383'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/12/tcl-exec-run-as-administrator.html' title='Tcl exec run as administrator'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-7165553795485068501</id><published>2011-10-26T16:28:00.001+08:00</published><updated>2011-12-13T12:19:08.583+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>CKEditor + KCFinder 筆記</title><content type='html'>CKEditor 的 config.js 中加入&lt;br /&gt;&lt;pre class="brush: js"&gt;config.filebrowserBrowseUrl = 'lib/kcfinder/browse.php?type=files';&lt;br /&gt;config.filebrowserImageBrowseUrl = 'lib/kcfinder/browse.php?type=images';&lt;br /&gt;config.filebrowserFlashBrowseUrl = 'lib/kcfinder/browse.php?type=flash';&lt;br /&gt;config.filebrowserUploadUrl = 'lib/kcfinder/upload.php?type=files';&lt;br /&gt;config.filebrowserImageUploadUrl = 'lib/kcfinder/upload.php?type=images';&lt;br /&gt;config.filebrowserFlashUploadUrl = 'lib/kcfinder/upload.php?type=flash';&lt;br /&gt;&lt;/pre&gt;KCFinder 的 config.php 設定 session，user 登入後再設定 $_SESSION['mysite']['KCFINDER']['disabled'] = false;&lt;br /&gt;&lt;pre class="brush:php"&gt;'_sessionVar' =&amp;gt; &amp;amp;$_SESSION['mysite']['KCFINDER'],&lt;br /&gt;&lt;/pre&gt;要放在 jQuery UI 的 dialog 中時忘記遇到什麼問題，後來改成在 dialog open 時才將 ckeditor 載入，dialog close 時再清掉。&lt;br /&gt;&lt;pre class="brush: js"&gt;$("#dialog-news").dialog({&lt;br /&gt;  open: function () {&lt;br /&gt;    $(this).find('textarea').ckeditor({height:360});&lt;br /&gt;  },&lt;br /&gt;  close: function () {&lt;br /&gt;    $(this).find('textarea').val('').ckeditorGet().destroy();&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;嵌入 KCFinder (例如按下某個 button 後跳出 KCFinder browser 的視窗，選擇檔案後返回)&lt;br /&gt;&lt;pre class="brush: js"&gt;$('#dialog-news button[name="attach"]').click(function(){&lt;br /&gt;  window.KCFinder = {&lt;br /&gt;    callBack: function(url) {&lt;br /&gt;      window.KCFinder = null;&lt;br /&gt;        $('#dialog-news input[name="link"]').val('.'+url);&lt;br /&gt;      }&lt;br /&gt;    };&lt;br /&gt;  window.open('lib/kcfinder/browse.php?type=files&amp;amp;dir=files/attachment', 'kcfinder_textbox',&lt;br /&gt;    'status=0, toolbar=0, location=0, menubar=0, directories=0, ' +&lt;br /&gt;    'resizable=1, scrollbars=0, width=800, height=600'&lt;br /&gt;  );&lt;br /&gt;  return false;&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;KCFinder 上傳檔案改成 time stamp 加檔名，修改 core/uploader.php 中 public function upload()&lt;br /&gt;&lt;pre class="brush:php"&gt;$filename = date('YmdHis') . '-' . $this-&amp;gt;normalizeFilename($file['name']);&lt;br /&gt;  $target = file::getInexistantFilename($dir . $filename);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-7165553795485068501?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/7165553795485068501/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/10/ckeditor-kcfinder.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7165553795485068501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7165553795485068501'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/10/ckeditor-kcfinder.html' title='CKEditor + KCFinder 筆記'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-7657566544375821406</id><published>2011-10-15T17:54:00.000+08:00</published><updated>2011-10-15T17:54:11.960+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 7)</title><content type='html'>&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正 moko、pixnet 問題&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-7657566544375821406?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/7657566544375821406/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/10/wget-282-patch-7.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7657566544375821406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7657566544375821406'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/10/wget-282-patch-7.html' title='WGet 2.8.2 (patch 7)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1143739998436542893</id><published>2011-08-04T12:52:00.000+08:00</published><updated>2011-08-04T12:52:20.379+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 6)</title><content type='html'>&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正 pixnet 新版面抓取與分析錯誤問題&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1143739998436542893?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1143739998436542893/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/08/wget-282-patch-6.html#comment-form' title='9 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1143739998436542893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1143739998436542893'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/08/wget-282-patch-6.html' title='WGet 2.8.2 (patch 6)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-299883791595788437</id><published>2011-03-30T17:50:00.000+08:00</published><updated>2011-03-30T17:50:23.271+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 5)</title><content type='html'>WGet 2.8.2 (patch 5)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正 pchome 部分相簿會導致 wget 當掉&lt;/li&gt;&lt;li&gt;修正 pchome 部分相簿列出不完整&lt;/li&gt;&lt;li&gt;修正 xuite 相簿全為密碼相簿時無法列出&lt;/li&gt;&lt;li&gt;修正 yam 帳號含大寫字母的相簿無法下載&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-299883791595788437?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/299883791595788437/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/03/wget-282-patch-5.html#comment-form' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/299883791595788437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/299883791595788437'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/03/wget-282-patch-5.html' title='WGet 2.8.2 (patch 5)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-7882959624925720750</id><published>2011-03-11T15:56:00.000+08:00</published><updated>2011-03-11T15:56:32.739+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 4)</title><content type='html'>WGet 2.8.2 (patch 4)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正部分 yam 相簿無法瀏覽與下載&lt;/li&gt;&lt;li&gt;修正 pixnet 新版面抓取與分析錯誤問題&lt;/li&gt;&lt;li&gt;修正 pixnet 新版面項目ID與原本不同造成重複下載問題&lt;/li&gt;&lt;li&gt;修正 pixnet 使用專屬網址之帳號無法下載&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;pixnet 新版面目前僅針對有回報錯誤的帳號測試，不保證全部帳號都沒問題，遇到有問題的請留言告知。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-7882959624925720750?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/7882959624925720750/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/03/wget-282-patch-4.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7882959624925720750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7882959624925720750'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/03/wget-282-patch-4.html' title='WGet 2.8.2 (patch 4)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-9021383128593610286</id><published>2011-03-03T13:54:00.000+08:00</published><updated>2011-03-03T13:54:46.674+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>用 TreeCtrl 做 notebook widget</title><content type='html'>和上一篇的 menu widget 一樣，因為 ttk::notebook 太醜，且 tab 那行不能再放其他的 widget，只好又自己用 TreeCtrl 打造。本來想說要做 tab 並不難，定義好 tab 的 element 和 style，每個 tab 當做一個 tree item 即可，不過我想要做的是像 FireFox 3.6 一樣的 tab，花了不少時間才搞定。&lt;br /&gt;&lt;br /&gt;tab 的底線部分：selected 的 tab item 可以用 open s，其他的 tab item 就完整 outline，但是沒有 tab 的地方也要有底線。很不幸的是 tree widget 能夠設定 border，但和其他的 widget 一樣不能指定哪些方向要有 border。我想到的解法是用貼底圖的方式，先建立一個 1x1 的灰色圖形，用 -bgimage 指定，並設定 -bgimageanchor s -bgimagetile x，這樣就可以在 tree widget 的底部畫出一條線。 &lt;br /&gt;&lt;br /&gt;與 tab 同行的 widget：直覺得想法是放一個 item，其 style 是由 window element組成，但有個麻煩的地方是這個 item 寬度必須塞滿全部剩餘的空間。目前還不知道如何抓到 item 的寬度，只能每次 resize 時用 tree 寬度減掉固定寬度的 tab 算出來再更新 item 寬度，不過這太麻煩了不考慮。另一個想到的是在其中放一個超長字串的 text element 並設定成 -draw flase，靠這字串去把寬度撐開，有興趣的可以試看看可不可行。我最後採用的是用兩個 tree widget 來做，tree2 固定寬度，tree1 塞滿 x，目前看起來還沒什麼大問題。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/laby2/5493209917/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5092/5493209917_47e036a128_o.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-9021383128593610286?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/9021383128593610286/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/03/treectrl-notebook-widget.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/9021383128593610286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/9021383128593610286'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/03/treectrl-notebook-widget.html' title='用 TreeCtrl 做 notebook widget'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-2331092798507309016</id><published>2011-03-02T02:53:00.000+08:00</published><updated>2011-03-02T02:54:00.370+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 3)</title><content type='html'>WGet 2.8.2 (patch 3)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正部分 moko 相簿無法找出全部相簿&lt;/li&gt;&lt;li&gt;修正部分 moko 相簿無法顯示相簿縮圖&lt;/li&gt;&lt;li&gt;修正 xuite 相簿中最後一張無法抓到&lt;/li&gt;&lt;li&gt;修正 pixnet 新版面無法列出超過 240 張&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-2331092798507309016?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/2331092798507309016/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/03/wget-2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2331092798507309016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2331092798507309016'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/03/wget-2.html' title='WGet 2.8.2 (patch 3)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-704662055472444482</id><published>2011-02-24T00:28:00.000+08:00</published><updated>2011-03-03T00:00:39.338+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>FotoPlus features preview</title><content type='html'>目前只有假日能寫，照這進度大概得半年後才能寫完吧。寫好的部份會先放上，有什麼意見歡迎提出來討論。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #990000;"&gt;&lt;i&gt;update: 2011/03/02&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;工具列：&lt;/b&gt;提供兩種相簿輸入方式 1.直接貼上相簿相關網址 2.手動指定網站類型，在網址列輸入帳號。 &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/laby2/5470799123/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5095/5470799123_febb1c5a75_o.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;相簿瀏覽：&lt;/b&gt;還沒決定要採固定大小正方形或是照原比例大小顯示縮圖&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/laby2/5492098548/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5133/5492098548_3768b332cd_o.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/laby2/5491504745/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5020/5491504745_af97271ba8_o.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-704662055472444482?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/704662055472444482/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/foto-features-preview.html#comment-form' title='22 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/704662055472444482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/704662055472444482'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/foto-features-preview.html' title='FotoPlus features preview'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-4394079159311041852</id><published>2011-02-24T00:10:00.000+08:00</published><updated>2011-02-24T00:11:01.438+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 2)</title><content type='html'>WGet 2.8.2 (patch 2)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正 moko 部分帳號無法下載問題&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-4394079159311041852?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/4394079159311041852/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-282-patch-2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4394079159311041852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4394079159311041852'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-282-patch-2.html' title='WGet 2.8.2 (patch 2)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-5585436761043290489</id><published>2011-02-21T21:25:00.000+08:00</published><updated>2011-02-24T00:16:12.082+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>用 TreeCtrl 做 menu widget</title><content type='html'>Tile 中沒有 menu，Tk 的 menu 又太"老氣"，只好自己打造了。左邊是 Tile menubutton + Tk menu，右邊是 Tile label + TreeCtrl。做法是建立一個 toplevel，裡面放 tree，然後 bind 一堆 event 追蹤... 有時間再寫成 package 用起來會比較方便。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/laby2/5464938320/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5172/5464938320_9bb4e311b8_o.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;以下是大概的 TreeCtrl code &lt;br /&gt;&lt;pre class="brush: tcl"&gt;$tree state define HOVER&lt;br /&gt;$tree state define OPENW&lt;br /&gt;$tree state define OPENE&lt;br /&gt;       &lt;br /&gt;$tree column create -tag cIcon&lt;br /&gt;$tree column create -tag cName -expand 1&lt;br /&gt; &lt;br /&gt;$tree element create elemIcon image -image [$ibox get favicon-wretch]&lt;br /&gt;$tree element create elemName text  -justify left&lt;br /&gt;$tree gradient create grdHover -steps 4 -stops {{0.0 white} {1.0 #ebf3fd}} -orient vertical    &lt;br /&gt;$tree element create elemRect rect -fill [list  grdHover HOVER]  &lt;br /&gt;$tree element create elemRectOutline rect -rx 1 -outline [list #b8d6fb HOVER] \&lt;br /&gt;  -open [list w OPENW e OPENE]  -outlinewidth 1    &lt;br /&gt;$tree element create elemBorder rect -outline "#e2e3e3" -open nws  -outlinewidth 1&lt;br /&gt;$tree element create elemBorderS rect -outline "#ffffff" -open nws  -outlinewidth 1 &lt;br /&gt;&lt;br /&gt;# column icon &lt;br /&gt;set sty [$tree style create styIcon -orient horizontal]&lt;br /&gt;$tree style elements $sty {elemRect elemBorder elemBorderS elemRectOutline elemIcon}&lt;br /&gt;$tree style layout $sty elemRect -detach 1 -padx {2 0}  -iexpand xy&lt;br /&gt;$tree style layout $sty elemRectOutline -detach 1 -iexpand xy&lt;br /&gt;$tree style layout $sty elemBorder -detach 1 -iexpand y -padx {27 0}&lt;br /&gt;$tree style layout $sty elemBorderS -detach 1 -iexpand y -padx {28 0}&lt;br /&gt;$tree style layout $sty elemIcon -padx {6 2} -pady {2 3} -iexpand ns&lt;br /&gt;&lt;br /&gt;# column name&lt;br /&gt;set sty [$tree style create styName]&lt;br /&gt;$tree style elements $sty {elemRect elemRectOutline elemName}&lt;br /&gt;$tree style layout $sty elemRect -detach yes -padx 0 -iexpand xy&lt;br /&gt;$tree style layout $sty elemRectOutline -detach yes -iexpand xy&lt;br /&gt;$tree style layout $sty elemName -padx 6 -pady {2 3} -squeeze x -expand ns&lt;br /&gt;&lt;br /&gt;set nsList [list moko wretch pchome pixnet xuite yam]&lt;br /&gt;foreach i $nsList  {&lt;br /&gt;  set item [$tree item create -parent 0]&lt;br /&gt;  $tree item style set $item 0 styIcon 1 styName&lt;br /&gt;  $tree item element configure $item 0 elemIcon -image [$ibox get favicon-$i]&lt;br /&gt;  $tree item element configure $item 1 elemName -text $i&lt;br /&gt;}&lt;br /&gt;  &lt;br /&gt;$tree item state forcolumn all 0 "OPENE"&lt;br /&gt;$tree item state forcolumn all 1 "OPENW"&lt;br /&gt;&lt;/pre&gt;目前還遇到一個難題，就是沒有辦法做出 menu 陰影效果。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-5585436761043290489?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/5585436761043290489/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/treectrl-menu-widget.html#comment-form' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5585436761043290489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5585436761043290489'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/treectrl-menu-widget.html' title='用 TreeCtrl 做 menu widget'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-4467221491436304906</id><published>2011-02-19T04:35:00.000+08:00</published><updated>2011-02-19T04:35:09.269+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 (patch 1)</title><content type='html'>WGet 2.8.2 (patch 1)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正 pixnet 新版(?) VIP 帳號無法下載問題 &lt;/li&gt;&lt;li&gt;修正 pixnet 影片無法下載問題 &lt;/li&gt;&lt;li&gt;改善 pixnet 列出包含影片的相簿速度，新版比原本快 10 倍&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;請提供 pixnet 上類似 http://princamille.pixnet.net/album 版面的相簿給我測試。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-4467221491436304906?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/4467221491436304906/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-282-patch-1.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4467221491436304906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4467221491436304906'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-282-patch-1.html' title='WGet 2.8.2 (patch 1)'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-7125677377947655311</id><published>2011-02-17T22:25:00.000+08:00</published><updated>2011-02-17T23:51:09.881+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.2 release notes</title><content type='html'>WGet 2.8.2 (2011/02/17)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正部份操作問題 &lt;/li&gt;&lt;li&gt;修正部分 moko 相簿下載問題&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;New Features&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;支援 yam 相簿 &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;yam 相簿並無大量測試，遇到無法抓取的帳號請回報。&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Known Problems&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;剛發布新版就發現 pixnet 有新版面... 目前部分 pixnet 無法列出相簿，請待 patch。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-7125677377947655311?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/7125677377947655311/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-282-release-notes.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7125677377947655311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7125677377947655311'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-282-release-notes.html' title='WGet 2.8.2 release notes'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-7817288542560116267</id><published>2011-02-16T17:38:00.000+08:00</published><updated>2011-02-17T22:25:18.108+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.1 release notes</title><content type='html'>WGet 2.8.1 (2011/02/16)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bugs Fixed&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;修正部分 pixnet相簿下載問題&lt;/li&gt;&lt;li&gt;修正 wretch 抓取原圖問題&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;New Features&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;支援 moko 相簿 (www.moko.cc)&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;moko 目前並不打算長期支援，以後將視其改版頻率決定。 &lt;/li&gt;&lt;li&gt;因 moko 圖片無名稱欄位，檔名一律使用項目 ID，目錄名稱則可由選項中的命名規則選擇。 &lt;/li&gt;&lt;li&gt;有些看圖軟體不支援 unicode，簡體中文的目錄名稱可能無法使用，可將命名規則改成項目ID。&lt;/li&gt;&lt;li&gt;因 moko 連線速度較慢，顯示相簿列表時請耐心等待。&lt;/li&gt;&lt;li&gt;moko 相簿並無大量測試，遇到無法抓取的帳號請回報。&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-7817288542560116267?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/7817288542560116267/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-281-release.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7817288542560116267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/7817288542560116267'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/wget-281-release.html' title='WGet 2.8.1 release notes'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1692901119344606376</id><published>2011-02-13T16:56:00.000+08:00</published><updated>2011-02-23T02:36:03.174+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tcl 存取 Firefox 書籤</title><content type='html'>&lt;p&gt;Firefox 關於網址的記錄都存放在 places.sqlite 中，此檔案為 sqlite3 資料庫，檔案位置&lt;/p&gt;&lt;p&gt;&lt;b&gt;Linux &lt;/b&gt;&lt;br /&gt;&lt;i&gt;/home/&amp;lt;user&amp;gt;/.mozilla/firefox/&amp;lt;profile&amp;gt;/&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Win XP &lt;/b&gt;&lt;br /&gt;&lt;i&gt;C:\Documents and Settings\&amp;lt;user&amp;gt;\Application Data\Mozilla\Firefox\Profiles\&amp;lt;profile&amp;gt;\&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Vista / Win7 &lt;/b&gt;&lt;br /&gt;&lt;i&gt;C&lt;/i&gt;&lt;i&gt;:\Users\&amp;lt;user&amp;gt;\AppData\Roaming\Mozilla\Firefox\Profiles\&amp;lt;profile&amp;gt;\&lt;/i&gt;&lt;/p&gt;&lt;p&gt;其中的 &amp;lt;profile&amp;gt; 格式為 "亂數.default"，例如 dhyt3gd2.default，Schema 參考 &lt;a href="https://developer.mozilla.org/en/The_Places_database#Core_URL_table"&gt;The Places database&lt;/a&gt;。&lt;/p&gt;以下範例是讀出書籤中 wretch 與 xuite 網址，將使用者 id 與網站類型語名稱存入 array 。(註: 當 Firefox 正在執行時會 lock db，須先將其複製到 temp 後再存取)&lt;pre class="brush: tcl"&gt;package require sqlite3&lt;br /&gt;&lt;br /&gt;set dirList [glob -directory [file join $::env(home) AppData/Roaming/Mozilla/Firefox/Profiles] -type d *]&lt;br /&gt;foreach dir $dirList {&lt;br /&gt;  set fBookmark [file join $dir places.sqlite]&lt;br /&gt;  if { [file exists $fBookmark]  == 0 } { unset fBookmark }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [info exists fBookmark] {&lt;br /&gt;  set fDb [file join $::env(home) .wget bookmarkFF.db]&lt;br /&gt;  file copy -force $fBookmark $fDb&lt;br /&gt;  array set bookmarkList ""&lt;br /&gt;&lt;br /&gt;  db eval {SELECT url, moz_bookmarks.title FROM moz_places, moz_bookmarks \&lt;br /&gt;                WHERE moz_places.id = moz_bookmarks.fk and \&lt;br /&gt;                (url like '%www.wretch.cc%' or url like '%xuite.net%')} result {&lt;br /&gt;    regexp {http://([\w.]+)} $result(url) -&gt; host&lt;br /&gt;    foreach t {wretch xuite} {&lt;br /&gt;      if {[string first $t $host] != -1} {&lt;br /&gt;        set type $t&lt;br /&gt;        break&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    set uid ""&lt;br /&gt;    switch $type {&lt;br /&gt;      wretch {&lt;br /&gt;        regexp {http://[\w.]+/[\w]+/([\w]+)} $result(url) -&gt; uid&lt;br /&gt;      }&lt;br /&gt;      xuite {&lt;br /&gt;        regexp {http://[\w.]+/([\w.]+)} $result(url) -&gt; uid&lt;br /&gt;      }&lt;br /&gt;      set bookmarkList($type,[string tolower $uid]) $result(title)&lt;br /&gt;    } &lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;db close&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1692901119344606376?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1692901119344606376/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/tcl-firefox.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1692901119344606376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1692901119344606376'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/tcl-firefox.html' title='Tcl 存取 Firefox 書籤'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-4604200237706299419</id><published>2011-02-12T02:15:00.000+08:00</published><updated>2011-02-12T02:31:34.517+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html css jQuery'/><title type='text'>jQuery image slider 與 IE 半透明 png</title><content type='html'>手上有個網頁要做到許多張圖片輪撥 (slider)，圖片陰影部分是半透明，我使用 jQuery 的 fadeIn 和 fadeOut 來做這效果，寫好後用 FF 和 Chrome 看都沒問題，但是 IE 在淡入淡出時半透明的陰影會變成全黑，最後發現要在 img 加上和背景相同的背景顏色才能正確顯示 . . .&lt;br /&gt;&lt;br /&gt;範例：js&lt;pre class="brush: js"&gt;$(document).ready(function(){&lt;br /&gt;  //載入圖片 01~20.png&lt;br /&gt;  var photoCnt = 20;&lt;br /&gt;  var img = "";&lt;br /&gt;  for (var i = 1; i &amp;lt;= photoCnt; i++){&lt;br /&gt;    img = (i&amp;lt;=9)?'&lt;img src="./images/photo/0'+i+'.png" /&gt;':'&lt;img src="./images/photo/'+i+'.png" /&gt;';&lt;br /&gt;    $('#slide-photo').append(img);&lt;br /&gt;  }&lt;br /&gt;  $('#slide-photo img:first').show().addClass("active first");&lt;br /&gt;  $('#slide-photo img:last').addClass("last");  &lt;br /&gt;  //開始播放&lt;br /&gt;  var ival = setInterval(function() {&lt;br /&gt;    var active = $('#slide-photo img.active');&lt;br /&gt;    var next = (active.hasClass("last"))?$('#slide-photo img:first'):active.next();&lt;br /&gt;    active.fadeOut(500,function(){&lt;br /&gt;      active.removeClass('active');&lt;br /&gt;      next.addClass('active').fadeIn(500);&lt;br /&gt;    });&lt;br /&gt;  }, 3000);&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;css&lt;pre class="brush: css"&gt;#slide-photo {background-color: #0abab5;}&lt;br /&gt;#slide-photo img {width: 445px; background-color: #0abab5; display: none;}&lt;br /&gt;&lt;/pre&gt;因為美編交給我的網頁中輪播的圖片不能用絕對定位 (position:absolute)，所以在這個範例必須要淡出後隱藏才能顯示下一張再淡入，比較漂亮的做法是用絕對定位，要淡出的 z-index 降低，要淡入的 z-index 增加。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-4604200237706299419?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/4604200237706299419/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/jquery-image-slider-ie-png.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4604200237706299419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4604200237706299419'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/jquery-image-slider-ie-png.html' title='jQuery image slider 與 IE 半透明 png'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1960417174810354333</id><published>2011-02-10T00:48:00.000+08:00</published><updated>2011-02-11T23:57:29.455+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tk fullscreen</title><content type='html'>方法一&lt;br /&gt;&lt;pre class="brush: tcl"&gt;wm overrideredirect . 1&lt;br /&gt;wm geometry . [winfo screenwidth .]x[winfo screenheight .]+0+0&lt;br /&gt;wm attributes . -topmost 1&lt;br /&gt;&lt;/pre&gt;方法二 (Tk 8.5)&lt;br /&gt;&lt;pre class="brush: tcl"&gt;wm attributes . -fullscreen 1 -topmost 1&lt;br /&gt;&lt;/pre&gt;最近寫的一個程式要透過 optcl 抓 ie 來全螢幕顯示網頁，進入全螢幕時隱藏 toolbar，跳離全螢幕後顯示 toolbar。因為在全螢幕下 tk 沒辦法抓到 ie 的 event，所以設計成全螢幕時將 toolbar 高度改為1，然後在上面 bind event。以下是簡單的範例，按下放大視窗按鈕會全螢幕，在最底下滑鼠左鍵點兩下會跳離全螢幕。(註: 因 wm protocol 中沒有視窗放大的 protocol，這裡採用 bind Configure event 並判斷視窗目前狀態是否為 zoomed 來偵測按下視窗放大按鈕的動作。)&lt;br /&gt;&lt;pre class="brush: tcl"&gt;package require optcl&lt;br /&gt;&lt;br /&gt;optcl::new -window .fmeBrowser "http://www.google.com"&lt;br /&gt;frame .fmeSub -bd 0 -relief groove -height 1 &lt;br /&gt;pack .fmeBrowser -fill both -expand 1&lt;br /&gt;pack .fmeSub -fill x &lt;br /&gt;&lt;br /&gt;bind .fmeSub &amp;lt;Double-1&gt; {&lt;br /&gt;  wm state . normal&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;bind . &amp;lt;Configure&gt; {&lt;br /&gt;  if { "%W" eq [winfo toplevel "%W"] &amp;&amp;  [wm state . ] eq "zoomed"} {&lt;br /&gt;    wm attributes . -fullscreen 1 -topmost 1&lt;br /&gt;  } else {&lt;br /&gt;    wm attributes . -fullscreen 0 -topmost 0&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;如果要塞滿多顆螢幕的時候會發現用方法二只能在一顆螢幕上全螢幕顯示，此時得先抓出全部的長寬再用 wm geometry 設定。以下是用 twapi 取得各螢幕的位置後再拿最右和最下的值當作長寬，如果事先已知道執行時螢幕的總長寬也可以寫成變數比較簡單。&lt;br /&gt;&lt;pre class="brush: tcl"&gt;package require twapi&lt;br /&gt;&lt;br /&gt;foreach display [::twapi::get_multiple_display_monitor_info] {&lt;br /&gt;  lappend listx [lindex [lindex $display 1] 2]&lt;br /&gt;  lappend listy [lindex [lindex $display 1] 3]&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;wm overrideredirect . 1&lt;br /&gt;wm geometry . [lindex [lsort $listx] end]x[lindex [lsort $listy] end]+0+0&lt;br /&gt;wm attributes . -topmost 1&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1960417174810354333?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1960417174810354333/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/02/tk-fullscreen.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1960417174810354333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1960417174810354333'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/02/tk-fullscreen.html' title='Tk fullscreen'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-2766136144524272357</id><published>2011-02-01T00:48:00.000+08:00</published><updated>2011-02-01T12:56:35.889+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>台語輸入 jQuery Plugin</title><content type='html'>參考自&lt;a href="http://taigi.fhl.net/"&gt;台語信望愛&lt;/a&gt;教羅台羅轉碼工具，目前僅支援台羅輸入。&lt;br /&gt;&lt;br /&gt;todo：還很多...&lt;br /&gt;&lt;br /&gt;download：&lt;a href="http://ftpidx.googlecode.com/files/jquery.taigi.0.1.min.js"&gt;Taigi Input jQuery Plugin v0.1&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;範例 js&lt;br /&gt;&lt;pre class="brush: js"&gt;$(document).ready(function(){&lt;br /&gt;    $('input[type="text"]').taigiInput();&lt;br /&gt;    $('textarea').taigiInput();&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;html&lt;br /&gt;&lt;pre class="brush: html"&gt;&lt;input type="text" style="font-family: Taigi Unicode;"&gt;&lt;br /&gt;&lt;textarea style="font-family: Taigi Unicode;"&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;輸入 Tai5-oan5 Lo5-ma2-ji7 的結果&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/5404431392/"&gt;&lt;img src="http://farm6.static.flickr.com/5053/5404431392_11d8490dfe_o.jpg" width="600" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-2766136144524272357?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/2766136144524272357/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/01/jquery-plugin.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2766136144524272357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2766136144524272357'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/01/jquery-plugin.html' title='台語輸入 jQuery Plugin'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-4251335799013767581</id><published>2011-01-30T16:45:00.000+08:00</published><updated>2011-01-30T16:47:30.010+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>IBM ThinkPad T42 風扇維修</title><content type='html'>用了五年多的 T42 因風扇卡太多灰塵，除了聲音大外有時會因為轉不起來出現 Fan Error 而無法開機。拆開來看到風扇和散熱片是用鉚釘接在一起的，沒辦法輕易的清理和上油。網拍上一組風扇含散熱片約 1~2000，單風扇約 350，對於一台老機來說實在是不划算。&lt;br /&gt;&lt;br /&gt;只好自己拆了... 參考 &lt;a href="http://thinkbbs.zol.com.cn/26/32108_250858.html"&gt;驚險！ThinkPad風扇加油換芯片全過程&lt;/a&gt;，手上的銼刀是做鋼普拉用的，拿來銼鉚釘應該會壞掉，試著用手鑽試看看，想不到轉沒幾圈就 ok 了。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/5399945151/"&gt;&lt;img src="http://farm6.static.flickr.com/5172/5399945151_13d75a0034_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/5400545480/"&gt;&lt;img src="http://farm6.static.flickr.com/5020/5400545480_c09d5d824d_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;br /&gt;拆開後用酒精把風扇清乾淨，上了風扇專用軸承油，開機後很安靜，風量也不錯。看來這台小黑還可以再戰幾年。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/5400592122/"&gt;&lt;img src="http://farm6.static.flickr.com/5094/5400592122_04145377d7_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/5400593182/"&gt;&lt;img src="http://farm6.static.flickr.com/5294/5400593182_4459493661_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-4251335799013767581?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/4251335799013767581/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/01/ibm-thinkpad-t42.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4251335799013767581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4251335799013767581'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/01/ibm-thinkpad-t42.html' title='IBM ThinkPad T42 風扇維修'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5172/5399945151_13d75a0034_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-5879030260488466521</id><published>2011-01-25T21:08:00.000+08:00</published><updated>2011-01-25T21:08:04.336+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>關於 Eizo 螢幕</title><content type='html'>說一下最近買 Eizo 螢幕的心得，主要是 S-PVA 面板的機種。&lt;br /&gt;&lt;br /&gt;一、亮(色)度不均：看 PTT LCD 板上有人說他買的 S2243 左偏紅右偏綠，不知道這是因為每個人的眼睛敏銳度不同還是單純的買到機王? 我買了 S2233 發現左邊 1/3 很明顯的比較暗， 要亮度 80+ 對比 50+ 才比較不明顯，但這亮度看沒幾分鐘眼睛就感覺要瞎了。店家說法是亮度先開 100 熱機過後就好了，且賣過這麼多台沒聽客人抱怨過這問題。我用了一天感覺還是很嚴重，畢竟這台也要兩萬多，Dell 亮度不均還可以無視，Eizo 則是會越看越 X。雄浪的說法是本來就會亮度不均，只要在原廠規範的誤差內都是合格的，要我報修送回測試才知道。我說手上三台 L568 (PVA面板) 用起來就完全沒這問題，他說現在如果要亮度均勻的話得買有 DEU 的機種。又去店家仔細看展示的 FX2431 亮度是調 100，降到 50 後很明顯的左邊暗一塊。&lt;br /&gt;&lt;br /&gt;二、眼睛疲勞：這點很確定是個人眼睛問題。很不幸我的眼睛跟這篇 &lt;a href="http://miyahan.com/me/report/computer/070125_WUXGA_LCD/index.html#GiraTsubu"&gt;高解像度ワイド液晶ディスプレイ選び&lt;/a&gt; 的作者一樣，對我來說舒適度 Eizo L568 (PVA) &amp;gt; Dell 2209WA (e-IPS ) &amp;gt;&amp;gt;&amp;gt; Eizo S2233 (S-PVA)，不知道該怎麼形容，即使亮度調低看一小時眼睛就會覺得酸痛。&lt;br /&gt;&lt;br /&gt;原本對 Eizo 的印象一直停留在 L568，這兩點又少看到人討論，雖然 99% 的人都沒遇到這些問題，但如果剛好是那 1% 且跟我一樣龜毛 ...畢竟一台 Eizo 不便宜，買之前還是注意一下。&lt;br /&gt;&lt;br /&gt;最後呢，我買了 Eizo SX2462，用到現在非常滿意。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/5383830921/"&gt;&lt;img src="http://farm6.static.flickr.com/5213/5383830921_c55abff8f8_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-5879030260488466521?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/5879030260488466521/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/01/eizo.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5879030260488466521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5879030260488466521'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/01/eizo.html' title='關於 Eizo 螢幕'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5213/5383830921_c55abff8f8_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-3271023883393049029</id><published>2011-01-20T19:46:00.000+08:00</published><updated>2012-02-09T23:54:44.340+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>WGet 錯誤回報</title><content type='html'>&lt;span style="font-size: 130%;"&gt;如果執行 WGet 有任何問題或建議請在這裡留下您的意見。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;回報錯誤時&lt;span style="font-size: x-large;"&gt;&lt;span style="color: red;"&gt;務必&lt;/span&gt;&lt;/span&gt;附上相簿網址以便測試 (相簿不方便公開的話請來信)。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;目前已知問題&lt;br /&gt;&lt;ul&gt;&lt;li&gt;moko 無法下載全部&amp;nbsp; (2012-01 暫不修正) &lt;/li&gt;&lt;li&gt;wretch 部分相簿無法下載 (2012-02-19) &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-3271023883393049029?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/3271023883393049029/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/01/wget.html#comment-form' title='176 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/3271023883393049029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/3271023883393049029'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/01/wget.html' title='WGet 錯誤回報'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>176</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-2624785151473508750</id><published>2011-01-02T06:56:00.000+08:00</published><updated>2011-01-02T06:56:25.411+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>WGet 2.8.0</title><content type='html'>寫了一晚忘記總共改了哪些地方，總之終於更新了~ 回顧 2010&lt;br /&gt;&lt;ul&gt;&lt;li&gt;2010/01/19 - v2.7.7 (2500)&lt;/li&gt;&lt;li&gt;2010/01/30 - v2.7.8 (15000)&lt;/li&gt;&lt;li&gt;2010/06/09 - v2.7.9p2 (22000)&lt;/li&gt;&lt;li&gt;2010/07/13 - v2.7.9p3 (21000)&lt;/li&gt;&lt;/ul&gt;新的一年也請大家多多支持。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-2624785151473508750?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/2624785151473508750/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2011/01/wget-280.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2624785151473508750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2624785151473508750'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2011/01/wget-280.html' title='WGet 2.8.0'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-8168760083852739482</id><published>2010-07-15T01:58:00.000+08:00</published><updated>2011-01-31T20:58:42.836+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Dell Perc 6/i on FreeBSD</title><content type='html'>要跑 zfs 的主機還得等上一段時間才會到，先買了張便宜又大碗的 Dell Perc 6i 來用。&lt;br /&gt;&lt;br /&gt;環境&lt;br /&gt;CPU：Intel P4 3.0GHz&lt;br /&gt;RAM：512MB DDR2 x 2&lt;br /&gt;MB：Supermicro PDSLA&lt;br /&gt;HDD：Hitach 1TB (7K1000.B) x 4 &lt;br /&gt;OS：FreeBSD 8.0R i386&lt;br /&gt;&lt;br /&gt;安裝 megacli&lt;br /&gt;&lt;pre class="text"&gt;#&lt;b&gt;&lt;span style="color: #990000;"&gt;cd /usr/ports/sysutils/linux-megacli/ &amp;amp;&amp;amp; make  install clean&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;會出現須自行至 LSI 下載檔案到 /usr/ports/distfiles，下載完後若沒 load linux kernel module 記得先 kldload linux 後再 make (忘記沒 load 的話編到哪裡會出錯)。編完後照著說明編輯 loader.conf、sysctl.conf、fstab 等檔案。megacli 指令可參考 &lt;a href="http://linux.dell.com/files/whitepapers/solaris/Managing_PERC6_0714.pdf"&gt;Managing PERC 6 with MegaCli under Solaris 10&lt;/a&gt; 或是 &lt;a href="http://www.prayforyoursoul.com/?q=node/3"&gt;MegaCLI cheat sheet&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;Raid 5 效能測試&lt;pre class="text"&gt;# &lt;b&gt;&lt;span style="color: #990000;"&gt;diskinfo -t /dev/mfid0&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;/dev/mfid0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # sectorsize&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2998960914432&amp;nbsp;&amp;nbsp; # mediasize in bytes (2.7T)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5857345536&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # mediasize in sectors&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 364602&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Cylinders according to firmware.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Heads according to firmware.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Sectors according to firmware.&lt;br /&gt;&lt;br /&gt;Seek times:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Full stroke:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 250 iter in&amp;nbsp;&amp;nbsp; 1.556091 sec =&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.224 msec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Half stroke:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 250 iter in&amp;nbsp;&amp;nbsp; 2.696059 sec =&amp;nbsp;&amp;nbsp; 10.784 msec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quarter stroke:&amp;nbsp;&amp;nbsp; 500 iter in&amp;nbsp;&amp;nbsp; 4.767586 sec =&amp;nbsp;&amp;nbsp;&amp;nbsp; 9.535 msec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Short forward:&amp;nbsp;&amp;nbsp;&amp;nbsp; 400 iter in&amp;nbsp;&amp;nbsp; 2.793659 sec =&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.984 msec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Short backward:&amp;nbsp;&amp;nbsp; 400 iter in&amp;nbsp;&amp;nbsp; 2.692022 sec =&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.730 msec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq outer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2048 iter in&amp;nbsp;&amp;nbsp; 0.417360 sec =&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.204 msec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq inner:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2048 iter in&amp;nbsp;&amp;nbsp; 0.404697 sec =&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.198 msec&lt;br /&gt;Transfer rates:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outside:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 102400 kbytes in&amp;nbsp;&amp;nbsp; 0.682351 sec =&amp;nbsp;&amp;nbsp; 150069 kbytes/sec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; middle:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 102400 kbytes in&amp;nbsp;&amp;nbsp; 0.669891 sec =&amp;nbsp;&amp;nbsp; 152861 kbytes/sec&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inside:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 102400 kbytes in&amp;nbsp;&amp;nbsp; 0.694164 sec =&amp;nbsp;&amp;nbsp; 147516 kbytes/sec&lt;/pre&gt;&lt;pre class="text"&gt;#&lt;b&gt;&lt;span style="color: #990000;"&gt; bonnie -d /mnt -s 128&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;-------Sequential Output-------- ---Sequential Input-- --Random--&lt;br /&gt;&amp;nbsp;-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---&lt;br /&gt;&amp;nbsp;&amp;nbsp; MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU&amp;nbsp; /sec %CPU&lt;br /&gt;128 103562 99.9 221013 62.2 278379 85.6 101971 100.0 772229 100.0 35227.1 103.7&lt;/pre&gt;&lt;pre class="text"&gt;#&lt;b&gt; &lt;span style="color: #990000;"&gt;bonnie -d /mnt -s 4096&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;-------Sequential Output-------- ---Sequential Input-- --Random--&lt;br /&gt;&amp;nbsp;-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---&lt;br /&gt;&amp;nbsp;&amp;nbsp; MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU&amp;nbsp; /sec %CPU&lt;br /&gt;&amp;nbsp; 4096 97948 98.9 225527 69.2 70188 24.7 87023 95.1 191095 31.3 263.1&amp;nbsp; 1.3&lt;br /&gt;&lt;/pre&gt;因為卡上有 256MB 的 cache 加上有裝電池可以開啟 write back，所以 128MB 的測試根本是爆表的快，不過 4GB 的測試結果也不錯。從 win7 上的 SSD 透過 samba (Gb網路) 寫入 2GB 檔案速度大都維持在 90~100MB/s。本來還想測 rebuild 時間，但剛裝好後的 background initialization 大約 10 分鐘才跑 1%，看到要這麼久就放棄了。後來查到可以透過 megacli –adpsetprop 來設定 RebuildRate 和 BgiRate，馬上將它設定成 100% (預設是 30%)，反正遇到硬碟壞掉一定是停止檔案服務全速重建 raid。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-8168760083852739482?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/8168760083852739482/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/07/dell-perc-6i-on-freebsd.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8168760083852739482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8168760083852739482'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/07/dell-perc-6i-on-freebsd.html' title='Dell Perc 6/i on FreeBSD'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-8960963579241306970</id><published>2010-07-14T23:42:00.000+08:00</published><updated>2010-07-15T02:05:41.938+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Filco 鍵盤 + Ducky 黑同刻鍵帽</title><content type='html'>平常工作大都是用 Filco FKB104M/EB 和 FKBN87ML/EB，雖然用它寫出來的程式沒比較強，不過爽度高很多，心情好的話寫出來的程式 bug 也會比較少 XD 對我來說最大的缺點就是那兩顆 win 鍵，圓圓的凸起物觸感超差的，搞不懂為什麼要這樣設計。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/4199779196/" title="Flickr 上 laby. 的 Filco "&gt;&lt;img alt="Filco " src="http://farm5.static.flickr.com/4011/4199779196_b5e25cf762_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;br /&gt;Filco 常讓人詬病的就是鍍膜容易掉，不過我是覺得沒什麼差別，這樣看起來反而比較有使用感。另一個不太滿意的就是鍵帽很容易沾油，打起來會有種黏滯感很不舒服。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/4793611110/" title="Flickr 上 laby. 的 Filco 鍵帽最大的缺點"&gt;&lt;img alt="Filco 鍵帽最大的缺點" src="http://farm5.static.flickr.com/4093/4793611110_8e31ddb195_z.jpg" width="600" /&gt;&lt;/a&gt;&lt;br /&gt;看到 Ducky 出了黑同刻鍵帽就趕緊買來試看看，主要是想要換掉 win 鍵，且黑同刻看起來質感不錯。ABS 材質，油墨印刷，看到 "台灣製造" 即使要價 $9xx 還是爽快的買下。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/4792975339/" title="Flickr 上 laby. 的 Ducky 黑同刻鍵帽"&gt;&lt;img src="http://farm5.static.flickr.com/4118/4792975339_f1d825f43d_z.jpg" width="600" alt="Ducky 黑同刻鍵帽" /&gt;&lt;/a&gt;&lt;br /&gt;手上的拔鍵器不太好用，遇到大顆的鍵帽拔不下來，只能暴力點用手拔下。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/4793610382/" title="Flickr 上 laby. 的未命名相片"&gt;&lt;img src="http://farm5.static.flickr.com/4114/4793610382_58911c9d26_z.jpg" width="600" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;還好順利的全部裝上，看起來就很舒服啊。用了幾天後發現此款鍵帽不會像 Filco 一樣容易沾油在上面，打起來感覺清爽多了。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/laby2/4793611724/" title="Flickr 上 laby. 的 Filco FKB104M/EB + Ducky 黑同刻鍵帽"&gt;&lt;img src="http://farm5.static.flickr.com/4073/4793611724_b6fbaf7f15_z.jpg" width="600" alt="Filco FKB104M/EB + Ducky 黑同刻鍵帽" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-8960963579241306970?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/8960963579241306970/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/07/filco-ducky.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8960963579241306970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8960963579241306970'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/07/filco-ducky.html' title='Filco 鍵盤 + Ducky 黑同刻鍵帽'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4011/4199779196_b5e25cf762_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1147185469425389490</id><published>2010-06-09T22:06:00.000+08:00</published><updated>2011-01-31T21:10:45.165+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><title type='text'>FreeBSD zfs performance</title><content type='html'>昨天用五年前主機測出的數據實在是很失望，調整 zfs 參數後寫入最多也只能跑到 35MB/s，今天換台主機測看看。&lt;br /&gt;&lt;br /&gt;測試環境：&lt;br /&gt;CPU：Intel Core 2 Duo E8400&lt;br /&gt;RAM：2GB DDR2 x 3&lt;br /&gt;MB：Gigabyte GA-EP45-UD3P&lt;br /&gt;HDD：Hitach 1TB (7K1000.B) x 4&lt;br /&gt;OS：FreeBSD 8.0R amd64&lt;br /&gt;&lt;br /&gt;/boot/loader.conf&lt;br /&gt;&lt;pre class="text"&gt;ahci_load="YES"&lt;br /&gt;vm.kmem_size_max="1024M"&lt;br /&gt;vm.kmem_size="1024M"&lt;br /&gt;vfs.zfs.arc_max="100M"&amp;nbsp;&lt;/pre&gt;直接將昨天在別台主機建的 pool 裝上&lt;br /&gt;&lt;pre class="text"&gt;# &lt;b style="color: #990000;"&gt;zpool import -f tank&lt;/b&gt;&lt;/pre&gt;測試&lt;br /&gt;&lt;pre class="text"&gt;# &lt;b&gt;&lt;span style="color: #990000;"&gt;dd if=/dev/zero of=/home/dslab/data/test bs=1m count=4000&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;4000+0 records in&lt;br /&gt;4000+0 records out&lt;br /&gt;4194304000 bytes transferred in 30.429420 secs (137837133 bytes/sec)&lt;br /&gt;&lt;br /&gt;# &lt;b style="color: #990000;"&gt;dd if=/home/dslab/data/test of=/dev/null bs=1m&lt;/b&gt;&lt;br /&gt;4000+0 records in&lt;br /&gt;4000+0 records out&lt;br /&gt;4194304000 bytes transferred in 22.393339 secs (187301412 bytes/sec)&lt;br /&gt;&lt;br /&gt;# &lt;b style="color: #990000;"&gt;bonnie -d /home/dslab/data -s 4096 -m zfs&lt;/b&gt;&lt;br /&gt;              -------Sequential Output-------- ---Sequential Input-- --Random--&lt;br /&gt;              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---&lt;br /&gt;Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU&lt;br /&gt;zfs      4096 79500 44.1 106960 20.8 60252 12.9 155730 70.2 170719 13.6 121.5  0.5&lt;br /&gt;zfs      4096 78294 42.9 108320 20.8 58735 13.0 145792 64.4 167522 13.2 118.4  0.5&lt;/pre&gt;應該不用多說什麼了... 準備買新主機!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1147185469425389490?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1147185469425389490/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/06/freebsd-zfs-perfoemance.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1147185469425389490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1147185469425389490'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/06/freebsd-zfs-perfoemance.html' title='FreeBSD zfs performance'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-3962859894181628645</id><published>2010-06-09T14:42:00.000+08:00</published><updated>2011-05-05T22:23:19.592+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><title type='text'>FreeBSD zfs raidz</title><content type='html'>環境：P4 3.0GHz、2GB Ram、FreeBSD 8.0R i386、Hitachi 1TB x4&lt;br /&gt;&lt;br /&gt;開機啟動 zfs&lt;br /&gt;&lt;pre class="text"&gt;#&lt;span style="color: #3d85c6;"&gt;&lt;b&gt;&lt;span style="color: #990000;"&gt;echo 'zfs_enable="YES"' &amp;gt;&amp;gt; /etc/rc.conf &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;設定參數 (參考 &lt;a href="http://wiki.freebsd.org/ZFSTuningGuide"&gt;ZFSTuningGuide&lt;/a&gt;)&lt;br /&gt;&lt;pre class="text"&gt;#&lt;span style="color: #990000;"&gt;&lt;b&gt;ee /boot/loader.conf&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;vm.kmem_size="330M"&lt;br /&gt;vm.kmem_size_max="330M"&lt;br /&gt;vfs.zfs.arc_max="40M"&lt;br /&gt;vfs.zfs.vdev.cache.size="5M"&lt;/pre&gt;初始化硬碟 (ad4、ad6、ad8、ad10)&lt;br /&gt;&lt;pre class="text"&gt;#&lt;b&gt;&lt;span style="color: #990000;"&gt;dd if=/dev/zero of=/dev/ad4 bs=1m count=1&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;fdisk -I /dev/ad4&lt;/b&gt;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;glabel label radz11 /dev/ad4s1&lt;/b&gt;&lt;/pre&gt;建立 raidz pool 並察看&lt;br /&gt;&lt;pre class="text"&gt;#&lt;span style="color: #990000;"&gt;&lt;b&gt;zpool create tank raidz /dev/label/raidz11 /dev/label/raidz12 /dev/label/raidz13 /dev/label/raidz14&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;zpool status tank&lt;/b&gt;&lt;br /&gt;pool: tank&lt;br /&gt;state: ONLINE&lt;br /&gt;scrub: none requested&lt;br /&gt;config:&lt;br /&gt;        NAME               STATE     READ WRITE CKSUM&lt;br /&gt;        tank               ONLINE       0     0     0&lt;br /&gt;         raidz1           ONLINE       0     0     0&lt;br /&gt;            label/raidz11  ONLINE       0     0     0&lt;br /&gt;            label/raidz12  ONLINE       0     0     0&lt;br /&gt;            label/raidz13  ONLINE       0     0     0&lt;br /&gt;            label/raidz14  ONLINE       0     0     0&lt;br /&gt;&lt;br /&gt;errors: No known data errors&lt;br /&gt;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;df -H&lt;/b&gt;&lt;br /&gt;Filesystem     Size    Used   Avail Capacity  Mounted on&lt;br /&gt;tank           2.9T    0B      2.9T  0%           /tank&lt;br /&gt;&lt;br /&gt;#&lt;b style="color: #990000;"&gt; zpool list&lt;/b&gt;&lt;br /&gt;NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT&lt;br /&gt;tank   3.64T   630K  3.64T     0%    ONLINE  -&lt;/pre&gt;建立 mount point&lt;br /&gt;&lt;pre class="text"&gt;#&lt;span style="color: #990000;"&gt;&lt;b&gt;zfs set mountpoint=/home/dslab/data tank/data&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;df -H&lt;/b&gt;&lt;br /&gt;Filesystem     Size    Used   Avail Capacity  Mounted on&lt;br /&gt;tank/data      2.9T      0B    2.9T     0%         /home/dslab/data&lt;br /&gt;tank           2.9T      0B    2.9T     0%         /tank&lt;/pre&gt;測試讀寫效能&lt;br /&gt;&lt;pre class="text"&gt;#&lt;b&gt;&lt;span style="color: #990000;"&gt;dd if=/dev/zero of=/home/dslab/data/test bs=1m count=4000&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;4000+0 records in&lt;br /&gt;4000+0 records out&lt;br /&gt;4194304000 bytes transferred in 108.070644 secs (38810762 bytes/sec)&lt;br /&gt;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;dd if=/home/dslab/data/test of=/dev/null bs=1m&lt;/b&gt;&lt;br /&gt;4000+0 records in&lt;br /&gt;4000+0 records out&lt;br /&gt;4194304000 bytes transferred in 33.516918 secs (125139907 bytes/sec)&lt;br /&gt;&lt;br /&gt;#&lt;b style="color: #990000;"&gt;bonnie -d /home/dslab/data -s 4096 -m zfs&lt;/b&gt;&lt;br /&gt;              -------Sequential Output-------- ---Sequential Input-- --Random--&lt;br /&gt;              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---&lt;br /&gt;Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU&lt;br /&gt;zfs      4096 25813 36.6 33618 17.0 22683 11.5 44180 53.0 81775 15.9 107.6  1.0&lt;/pre&gt;&lt;br /&gt;結果不是很理想，應該是 cpu 不夠力。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-3962859894181628645?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/3962859894181628645/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/06/freebsd-zfs-raidz.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/3962859894181628645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/3962859894181628645'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/06/freebsd-zfs-raidz.html' title='FreeBSD zfs raidz'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-2434507714350711904</id><published>2010-06-09T14:39:00.000+08:00</published><updated>2011-01-31T21:12:13.350+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><title type='text'>WD15EARS on FreeBSD</title><content type='html'>看硬碟盒子中附的說明寫著 windows 之外的系統之接插上就可以用，不過還是去找了資料，最簡單的應該是用 gpart 吧。 &lt;br /&gt;&lt;pre class="text"&gt;#gpart create -s GPT ad10&lt;br /&gt;ad10 created&lt;br /&gt;#gpart show ad10&lt;br /&gt;=&amp;gt;   34  2930277101  ad10  GPT  (1.4T)&lt;br /&gt;     34  2930277101        - free -  (1.4T)&lt;br /&gt;&lt;/pre&gt;4k = 512x8，所以接著由 40 開始&lt;br /&gt;&lt;pre class="text"&gt;#gpart add -b 40 -s 2930277095 -t freebsd-ufs ad10&lt;br /&gt;ad10p1 added&lt;br /&gt;# gpart show ad10&lt;br /&gt;=&amp;gt;   34  2930277101  ad10  GPT  (1.4T)&lt;br /&gt;     34           6        - free -  (3.0K)&lt;br /&gt;     40  2930277095     1  freebsd-ufs  (1.4T)&lt;br /&gt;&lt;br /&gt;#newfs -S 4096 -b 32768 -f 4096 -O 2 -U -m 1 -o space /dev/ad10p1&lt;br /&gt;&lt;/pre&gt;接著測看看速度&lt;br /&gt;&lt;pre class="text"&gt;#dd if=/dev/zero of=/dev/ad10p1 bs=1m count=8k&lt;br /&gt;8192+0 records in&lt;br /&gt;8192+0 records out&lt;br /&gt;8589934592 bytes transferred in 90.180949 secs (95252209 bytes/sec)&lt;br /&gt;&lt;/pre&gt;diskinfo 看到的 sectorsize 還是 512&lt;br /&gt;&lt;pre class="text"&gt;#diskinfo -t /dev/ad10&lt;br /&gt;/dev/ad10&lt;br /&gt;        512             # sectorsize&lt;br /&gt;        1500301910016   # mediasize in bytes (1.4T)&lt;br /&gt;        2930277168      # mediasize in sectors&lt;br /&gt;        2907021         # Cylinders according to firmware.&lt;br /&gt;        16              # Heads according to firmware.&lt;br /&gt;        63              # Sectors according to firmware.&lt;br /&gt;        WD-WMAVU3127845 # Disk ident.&lt;br /&gt;&lt;br /&gt;Seek times:&lt;br /&gt;        Full stroke:      250 iter in   5.759155 sec =   23.037 msec&lt;br /&gt;        Half stroke:      250 iter in   4.177206 sec =   16.709 msec&lt;br /&gt;        Quarter stroke:   500 iter in   7.581140 sec =   15.162 msec&lt;br /&gt;        Short forward:    400 iter in   2.664591 sec =    6.661 msec&lt;br /&gt;        Short backward:   400 iter in   2.181377 sec =    5.453 msec&lt;br /&gt;        Seq outer:       2048 iter in   0.273239 sec =    0.133 msec&lt;br /&gt;        Seq inner:       2048 iter in   0.238800 sec =    0.117 msec&lt;br /&gt;Transfer rates:&lt;br /&gt;        outside:       102400 kbytes in   1.065353 sec =    96118 kbytes/sec&lt;br /&gt;        middle:        102400 kbytes in   1.264815 sec =    80960 kbytes/sec&lt;br /&gt;        inside:        102400 kbytes in   2.177371 sec =    47029 kbytes/sec&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-2434507714350711904?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/2434507714350711904/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/06/wd15ears-on-freebsd.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2434507714350711904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2434507714350711904'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/06/wd15ears-on-freebsd.html' title='WD15EARS on FreeBSD'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-5737103425784876010</id><published>2010-04-12T03:58:00.000+08:00</published><updated>2010-04-12T03:58:19.839+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tcl + Tk + html + css + javascript = ?</title><content type='html'>最近在寫一個需要漂亮 GUI 的應用程式，雖然說近年來 Tk 進步很多，但看起來還是很落伍 XD 像 wget 大概就是我目前用 Tk 能做到的極限了。過去一年都在寫 web 應用程式，用 html + css + js 可以輕鬆做出很多漂亮的操作介面，回到 Tk 後實在是很不習慣。前幾天突然想到乾脆用 html 來做 GUI 好了，寫了幾天後超快樂的，用 jquery 和一堆 plugin 就可以輕鬆就做出很現代的效果~&lt;br /&gt;&lt;br /&gt;程式大概的架構是：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;用 optcl 把 ie 丟到一個 tk frame 中，切換不同介面只需叫 ie 載入對應的 html 即可。 &lt;/li&gt;&lt;li&gt;寫一個簡單的 httpd 丟到 thread 負責 ie 和 tcl 間的通訊。&lt;/li&gt;&lt;li&gt;js 透過 httpd 的 get (我用 jquery 的 jsonp) 控制 tcl (執行 procedure、取得變數等)，tcl 透過 httpd 回傳 json 格式的結果。&lt;/li&gt;&lt;li&gt;tcl 透過 optcl 取得與設定 js 中變數的值或執行 function。(還沒試)&lt;/li&gt;&lt;/ul&gt;當然這樣做的結果就是把程式間的關係搞得很複雜，寫的時候要在 html、js、tcl 間跳來跳去，不過我是覺得省下很多時間 (前提是要對 html、css、js 很熟)，像光是一個 cover flow 的效果，用 Tcl/Tk 根本不知道要怎樣才能做出來，但改用 html 後就有一堆現成的 flash 或 js 程式可直接拿來用。因為我才用這方式寫幾天，還沒整理出漂亮的架構和寫法，過段時間再放個範例上來。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-5737103425784876010?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/5737103425784876010/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/04/tcl-tk-html-css-javascript.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5737103425784876010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5737103425784876010'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/04/tcl-tk-html-css-javascript.html' title='Tcl + Tk + html + css + javascript = ?'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-8550175952666947416</id><published>2010-03-30T14:39:00.000+08:00</published><updated>2011-01-31T21:23:55.622+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tcl 配合 Tor 取得不同 ip</title><content type='html'>&lt;p&gt;可以用來做什麼就自己想像吧 XD&lt;/p&gt;&lt;p&gt;安裝 &lt;a href="http://www.torproject.org/easy-download.html.en"&gt;Vidilia&lt;/a&gt;，到 settings -&amp;gt; advanced 把 authentication 改成 none (也可以單獨跑 Tor，不過在 windows 上跑 vidilia 方便就直接用了)。Tor 跑起來後要用 Tcl 控制可以透過 control port (預設 9051)，詳細內容在 &lt;a href="http://gitweb.torproject.org/tor.git?a=blob_plain;hb=HEAD;f=doc/spec/control-spec.txt"&gt;Tor control protocol specification&lt;/a&gt;，應用可參考 &lt;a href="http://www.thesprawl.org/memdump/?entry=8"&gt;Tor Control Commands&lt;/a&gt; 這篇文章。&lt;/p&gt;以下是透過 Tor 取得不同 ip，若拿到的 ip 已經用過則再建立新 circuit。&lt;br /&gt;&lt;pre class="brush: tcl"&gt;proc get_ip {oip} {&lt;br /&gt;&amp;nbsp; variable ipList&lt;br /&gt;&amp;nbsp; variable sck&lt;br /&gt;&amp;nbsp; set tok [http::geturl "http://whatismyip.org/" -timeout 10000 -headers [list Pragma no-cache]]&lt;br /&gt;&amp;nbsp; set nip [http::data $tok]&lt;br /&gt;&amp;nbsp; http::cleanup $tok&lt;br /&gt;&amp;nbsp; while { $oip == $nip || $nip == "" || [string length $nip] &amp;gt; 15 || [lsearch $ipList $nip] != -1 } {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set tok [http::geturl "http://whatismyip.org/" -timeout 10000 -headers [list Pragma no-cache]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set nip [http::data $tok]&lt;br /&gt;&amp;nbsp; &amp;nbsp; http::cleanup $tok&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if { [lsearch $ipList $nip] != -1 } {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set nip $oip&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts $sck "signal newnym"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; after 5000&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; lappend ipList $nip&lt;br /&gt;&amp;nbsp; return $nip&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;http::config -proxyhost 127.0.0.1 -proxyport 8118&lt;br /&gt;#connect to tor control port&lt;br /&gt;set sck [socket 127.0.0.1 9051]&lt;br /&gt;fconfigure $sck -buffering none -blocking 0 -encoding binary -translation crlf -eofchar {}&lt;br /&gt;puts $sck {authenticate ""}&lt;/pre&gt;要更有效率可以先找出全部可用的 exit node 後再建立 two hop circuit，只是這樣得多很多很多行程式，這裡簡單的用 whatismyip.org 查看目前的 ip，若已用過再 signal newnym 要求 tor 建立一個新的 circuit。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-8550175952666947416?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/8550175952666947416/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/03/tcl-tor-ip.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8550175952666947416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8550175952666947416'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/03/tcl-tor-ip.html' title='Tcl 配合 Tor 取得不同 ip'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-3420438682295447170</id><published>2010-03-30T04:27:00.000+08:00</published><updated>2011-01-31T21:24:34.412+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>Tcl 隨機產生身份證字號</title><content type='html'>平常都是用 javascript 或 php 檢查身分證號碼，想不到有一天會需要用到身分證號產生器 XD 規則網路上&lt;a href="http://www.google.com.tw/search?q=%E8%BA%AB%E4%BB%BD%E8%AD%89%E5%AD%97%E8%99%9F%E8%A6%8F%E5%89%87&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:zh-TW:official&amp;amp;client=firefox-a"&gt;很多&lt;/a&gt;，用 tcl 寫也沒幾行。&amp;nbsp; &lt;br /&gt;&lt;pre class="brush: tcl"&gt;proc random_uid {sex} {&lt;br /&gt;&amp;nbsp; set ret ""&lt;br /&gt;&amp;nbsp; set wgt 0&lt;br /&gt;&amp;nbsp; set cityList {A B C D E F G H J K L M N P Q R S T U V X Y W Z I O}&lt;br /&gt;&amp;nbsp; set city [lpick $cityList]&lt;br /&gt;&amp;nbsp; append ret $city&lt;br /&gt;&amp;nbsp; set cityNum [expr [lsearch $cityList $city] + 10]&lt;br /&gt;&amp;nbsp; set rndNum "$sex[expr {int(rand()*9000000+1000000)}]"&lt;br /&gt;&amp;nbsp; append ret $rndNum&lt;br /&gt;&amp;nbsp; set wgt [expr [expr [string index $cityNum 0] * 1] + [expr [string index $cityNum 1] * 9] ]&lt;br /&gt;&amp;nbsp; set j 8&lt;br /&gt;&amp;nbsp; for {set i 0} {$i&amp;lt;8} {incr i} {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set wgt [expr $wgt + [expr [string index $rndNum $i ] * $j]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; incr j -1&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; set chk [expr 10 - ($wgt % 10)]&lt;br /&gt;&amp;nbsp; if {$chk == 10} {set chk 0}&lt;br /&gt;&amp;nbsp; append ret $chk&lt;br /&gt;&amp;nbsp; return $ret&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-3420438682295447170?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/3420438682295447170/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/03/tcl.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/3420438682295447170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/3420438682295447170'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/03/tcl.html' title='Tcl 隨機產生身份證字號'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-1741891135196769593</id><published>2010-02-01T22:26:00.000+08:00</published><updated>2010-02-01T22:27:26.727+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Ftpidx 砍掉重練</title><content type='html'>之前寫到爛尾的 ftp 軟體又開始繼續寫了 XD&lt;br /&gt;&lt;br /&gt;先大概介紹一下，ftpidx 和其他 ftp client 最大的不同在於支援搜尋功能，一般的搜尋大概就是一個個目錄進去找，當檔案很多時得找很久，所以我在 server 端跑一支程式定時對 ftp 檔案做索引，這樣就可以透過它快速的找到檔案，因此在 client 端多了個 idx port 的選項，其它的功能跟一般 ftp 差不多。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_bUdfd1W2hqE/S2VKoDCVR5I/AAAAAAAAAEk/QJAgO2zt-jU/ftpidx05-sitemanager.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="313" src="http://lh3.ggpht.com/_bUdfd1W2hqE/S2VKoDCVR5I/AAAAAAAAAEk/QJAgO2zt-jU/ftpidx05-sitemanager.gif" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;當啟用 idx 後登入 ftp 可以查看目前 ftp 上的索引資料狀況，像圖中四十幾萬筆檔案建立索引大概花五分鐘。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_bUdfd1W2hqE/S2VKnwc2ZFI/AAAAAAAAAEY/CtMAMQVydAo/ftpidx05-idxstat.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="310" src="http://lh3.ggpht.com/_bUdfd1W2hqE/S2VKnwc2ZFI/AAAAAAAAAEY/CtMAMQVydAo/ftpidx05-idxstat.gif" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;搜尋結果畫面。找到的目錄可以點兩下進入，或是加到 queue 中下載。目前僅支援用 name 當關鍵字找，以後會加入用 timestamp，這樣可以快速列出新增的資料。另，會用到這功能的應該都是很大的站，且不希望讓別人知道有什麼內容 XD 所以搜尋結果的傳輸過程都有加密。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_bUdfd1W2hqE/S2VKoBm6oPI/AAAAAAAAAEg/G2T2hm-9U2k/ftpidx05-searchresult.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="375" src="http://lh4.ggpht.com/_bUdfd1W2hqE/S2VKoBm6oPI/AAAAAAAAAEg/G2T2hm-9U2k/ftpidx05-searchresult.gif" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;傳輸畫面，測速度約可跑到 2x MB/s，大部分情況下應該夠快了。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_bUdfd1W2hqE/S2VKoG0HhZI/AAAAAAAAAEc/Q9Id5Nx3VMM/ftpidx05-queue.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="118" src="http://lh5.ggpht.com/_bUdfd1W2hqE/S2VKoG0HhZI/AAAAAAAAAEc/Q9Id5Nx3VMM/ftpidx05-queue.gif" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;最後呢，就跟標題寫的一樣，想要整個重寫。主要是當初希望有個很簡單的操作介面 (覺得 filezilla 實在是太亂了)，寫到後來覺得太簡單反而有點難用 (好難取捨)，現在還在想怎樣的操作介面會比較適合，歡迎對這軟體有興趣的提出建議。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-1741891135196769593?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/1741891135196769593/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/02/ftpidx.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1741891135196769593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/1741891135196769593'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/02/ftpidx.html' title='Ftpidx 砍掉重練'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_bUdfd1W2hqE/S2VKoDCVR5I/AAAAAAAAAEk/QJAgO2zt-jU/s72-c/ftpidx05-sitemanager.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-8405448261079699108</id><published>2010-01-31T15:24:00.000+08:00</published><updated>2010-01-31T15:26:14.545+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>WGet 2.7.8 發佈</title><content type='html'>WGet 2.7.8 已經發佈了，這個版次修正了 Xuite 相簿中無法下載無標題圖片的問題。&lt;br /&gt;&lt;br /&gt;如果要下載WGet的朋友，請在&lt;a href="http://laby2.blogspot.com/2010/01/wget.html"&gt;這裡&lt;/a&gt;下載。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-8405448261079699108?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8405448261079699108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/8405448261079699108'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/01/wget-278.html' title='WGet 2.7.8 發佈'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-5664424605605738833</id><published>2010-01-20T00:43:00.000+08:00</published><updated>2011-02-12T02:30:22.842+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl/Tk'/><title type='text'>TkTreeCtrl &amp; shellicon</title><content type='html'>我幾乎每個程式都會用到 &lt;a href="http://tktreectrl.sourceforge.net/"&gt;TkTreeCtrl&lt;/a&gt;，最常用來顯示條列式的 item，甚至還可以拿來做分頁功能的 tab。最近寫 ftp client 時想要顯示的 icon 和本機上的一樣，TkTreeCtrl 有提供 shellicon 的 package，可藉由建立 shellicon 的 element 和指定 path 來顯示檔案的 icon。&lt;pre class="brush: tcl"&gt;$tree element create elemImg shellicon -size small&lt;br /&gt;$tree item element configure $item name elemImg -path $path&lt;/pre&gt;不過 ftp 的檔案在 server 上無法指定 path，所以我就先在本地端建立不同副檔名的檔案，要顯示時再依據副檔名將 path 指定到對應的檔案。在 windows 中有個 assoc 的指令可以列出目前所有副檔名，可由此資訊建立所需的檔案&lt;pre class ="text"&gt;C:\Documents and Settings\laby&amp;gt;assoc |more&lt;br /&gt;.264x2pass+DvD=264x2pass+DvD_auto_file&lt;br /&gt;.323=h323file&lt;br /&gt;.386=vxdfile&lt;br /&gt;.3g2=mplayerc.3g2&lt;br /&gt;.3gp=mplayerc.3gp&lt;/pre&gt;在第一次啟動程式時先預先建立好對應的檔案即可&lt;br /&gt;&lt;pre class="brush: tcl"&gt;proc ::rc::create_mine_icon {mimeDir} {&lt;br /&gt;&amp;nbsp;&amp;nbsp; file mkdir $mimeDir&lt;br /&gt;&amp;nbsp;&amp;nbsp; close [open [file join $mimeDir mime.unknow] w]&lt;br /&gt;&amp;nbsp;&amp;nbsp; set assocList [exec cmd /c assoc]&lt;br /&gt;&amp;nbsp;&amp;nbsp; foreach line $assocList {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set ext [lindex [split $line "="] 0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if { [string range $ext 0 0] eq "." } {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch {close [open [file join $mimeDir mime$ext] w]}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/pre&gt;測試建立 840 個檔案只花了約 200ms。下圖上半為預設的 icon，下半為使用 shellicon 後的效果。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_bUdfd1W2hqE/S2Ut5mAQpII/AAAAAAAAAD8/YNbEiIIXsU0/shellicon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_bUdfd1W2hqE/S2Ut5mAQpII/AAAAAAAAAD8/YNbEiIIXsU0/shellicon.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-5664424605605738833?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/5664424605605738833/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/01/tktreectrl-shellicon.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5664424605605738833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/5664424605605738833'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/01/tktreectrl-shellicon.html' title='TkTreeCtrl &amp; shellicon'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_bUdfd1W2hqE/S2Ut5mAQpII/AAAAAAAAAD8/YNbEiIIXsU0/s72-c/shellicon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-9107292238904593229</id><published>2010-01-19T18:39:00.000+08:00</published><updated>2010-01-20T04:29:39.609+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>WGet 錯誤回報</title><content type='html'>&lt;span style="font-size: 130%;"&gt;如果執行 WGet 有任何問題，請在這裡留下您的意見，回報錯誤時請附上相簿網址以便測試。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-9107292238904593229?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/9107292238904593229/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/01/wget_19.html#comment-form' title='102 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/9107292238904593229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/9107292238904593229'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/01/wget_19.html' title='WGet 錯誤回報'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>102</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-4443791643286316369</id><published>2010-01-19T18:26:00.000+08:00</published><updated>2012-02-02T17:07:59.566+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>WGet 網路相簿下載器</title><content type='html'>如果你有照片放在朋友的網路相簿裡，而你想要快速的把它們下載一份放在自己的電腦。&lt;br /&gt;如果你想要從網路相簿下載自己所有的相簿，把它們製作成影像音效具佳的DVD光碟。&lt;br /&gt;如果你找到帥哥或正妹的相簿，但苦於鎖右鍵不能下載的困擾。&lt;br /&gt;如果你是使用Linux系統的高手，但找不到類似的相簿下載軟體。&lt;br /&gt;如果你有系統潔癖不想亂裝軟體弄髒系統。&lt;br /&gt;試試看WGet吧!!它可以容易的幫助你完成上面那些工作!!。&lt;br /&gt;而且WGet是一套綠色軟體，不用安裝就可以執行。&lt;br /&gt;不想要使用時直接丟到垃圾桶就好了，別擔心它會在你的系統留下沒用的垃圾。&lt;a href="http://www.blogger.com/post-edit.g?blogID=5452259614743399826&amp;amp;postID=4443791643286316369" name="more"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;目前最新版的WGet主要有下列的功能：  &lt;br /&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;支援 Moko、Wretch、PChome、Pixnet、Xuite、Yam 網路相簿&lt;br /&gt;&lt;/li&gt;&lt;li&gt;同時預覽多本相簿內容&lt;br /&gt;&lt;/li&gt;&lt;li&gt;批次下載多個相簿、相片&lt;br /&gt;&lt;/li&gt;&lt;li&gt;支援原圖下載&lt;br /&gt;&lt;/li&gt;&lt;li&gt;鎖密碼的相簿，可以輸入密碼直接下載&lt;br /&gt;&lt;/li&gt;&lt;li&gt;封面快取，加速瀏覽過的相簿&lt;br /&gt;&lt;/li&gt;&lt;li&gt;支援代理伺服器&lt;br /&gt;&lt;/li&gt;&lt;li&gt;抓取間隔設定，防止抓太快被擋住&lt;br /&gt;&lt;/li&gt;&lt;li&gt;儲存檔案時，允許使用命名規則&lt;br /&gt;&lt;/li&gt;&lt;li&gt;跳過已下載的項目&lt;br /&gt;&lt;/li&gt;&lt;li&gt;自動檢查最新版本的軟體&lt;br /&gt;&lt;/li&gt;&lt;li&gt;書籤管理(我的最愛)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;用瀏覽器查看指定的相簿&lt;br /&gt;&lt;/li&gt;&lt;li&gt;跨平台，提供Windows、Linux等版本&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=5452259614743399826&amp;amp;postID=4443791643286316369" name="download"&gt;&lt;/a&gt; &lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;1.下載執行檔&lt;/span&gt;&lt;/h1&gt;WGet可以在Windows 或 Linux 系統上執行 請從下列的載點找出合適你系統的版本。  &lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://ftpidx.googlecode.com/files/WGet-win-2.8.2p8.zip"&gt;Ｗindows &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ftpidx.googlecode.com/files/WGet-linux-2.8.2p8.zip"&gt;Linux &lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;2.解壓縮並執行主程式&lt;/span&gt;&lt;/h1&gt;將剛剛下載的WGet最新版本的zip檔解開，像下面的圖一樣，解開後只有一個「WGet.exe」這個就是主程式，請用滑鼠左鍵快按兩下就可以執行了。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig1.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;3.設定相簿的類型&lt;/span&gt;&lt;/h1&gt;請在選單的 [選項=&amp;gt;相簿類型]挑選想要下載的網路相簿。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig2.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;4.輸入ID取回相簿清單&lt;/span&gt;&lt;/h1&gt;主程式執行後請在下面圖中紅色1指示的位置輸入朋友或你的相簿ID，然後按下ID輸入方塊右邊的按鈕(紅色2指示的位置)，稍等一下 WGet就會把對應ID的相簿清單都抓取回來並顯示在相簿瀏覽區了(紅色3指示的位置)。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig3.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;5.開始下載相簿&lt;/span&gt;&lt;/h1&gt;相簿清單抓取完成後，請在紅色1指示的相簿瀏覽區，用滑鼠左鍵挑選你有興取的相簿。按一下表示選取(黃色背景)，再按一下表示消取(灰色背景)。挑選完成後，請按下紅色2指示的「開始下載」按鈕，這樣就開始抓取相片囉!!在抓取相片時WGet預設是把相片都儲存在「C:\album」資料夾裡面，你可以按下工具列最右邊的按鍵來改變預設的儲存位置。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig4.png" /&gt;&lt;br /&gt;喝杯茶!等待稍後一下，等WGet的訊息方塊顯示下載結束 ... 。下載結束後，開啟你的檔案總管到你指定的儲存位置去看，相簿都已經儲存在磁碟了。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig5.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;6.下載單張相片&lt;/span&gt;&lt;/h1&gt;WGet也提供單張相片下載的功能，如同下載相簿的步驟一般，你只需要先由相簿瀏覽區用滑鼠左鍵挑選你有興取的相簿，然後按一下右上方的「預覽相簿」按鈕，如此一來WGet會把所選取相簿裡的相片都列出來給你看。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig6.png" /&gt;&lt;br /&gt;相簿內容：  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig7.png" /&gt;&lt;br /&gt;當然你也可以在瀏覽區裡點選你要下載的相片，然後按下右上方的「開始下載」按鈕，來抓取相片。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig8.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;7.下載原圖&lt;/span&gt;&lt;/h1&gt;如果你想要下載原圖的話，請注意下面圖片紅色框的部份，WGet可以讓你設定相簿下載時要包含的項目。(WGet 2.7.4以後的版本不提供影音及MP3下載功能)  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig9.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;8.下載鎖碼的相簿&lt;/span&gt;&lt;/h1&gt;對於有鎖碼的相簿，WGet會在相簿封面的上方顯示一個「輸入密碼」的文字方塊，請使用滑鼠的左鍵點一下文字方塊，這樣就可以輸入密碼了。  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig10.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;9.影音&lt;/span&gt;&lt;/h1&gt;下載影音的方法非常的簡單，就像下載相簿一樣，如下圖，請先切換到影音清單的頁面，然後挑選影音，最後按下載就ok了。(WGet 2.7.4以後的版本不提供影音及MP3下載功能)  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig11.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;10.如何移除WGet ?&lt;/span&gt;&lt;/h1&gt;移除WGet的方法很簡單，只要把主程式丟到垃圾桶就算移除完成了。 但如果你想要把WGet的記錄資訊一起移除的話，請刪除下面的資料夾：&lt;br /&gt;&lt;br /&gt;C:\Documents and Settings\你登入Windows的帳號\.wget&lt;br /&gt;&lt;br /&gt;OK!! 系統乾淨了，ＷGet沒有在你的電腦裡留下任何的垃圾。  &lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;11.如何下載最新版的WGet ?&lt;/span&gt;&lt;/h1&gt;如果想要下載最新版的WGet，除了可以本站下載之外WGet還有一個貼心的小地方，它內建了下載最新版的的功能，注意下面紅色箭號指示的位置：  &lt;br /&gt;&lt;img alt="" class="alignnone" src="http://got7.org/wget/fig12.png" /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;12.如果你是使用Linux的高手&lt;/span&gt;&lt;/h1&gt;下載WGet-linux.zip解壓縮後會得到WGet.bin&lt;br /&gt;使用下面的命令執行WGet&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;$ cd WGet.bin儲存的位置&lt;br /&gt;$ chmod+x WGet.bin&lt;br /&gt;$ ./WGet.bin&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;記錄檔放在 ~/.wget&lt;br /&gt;&lt;br /&gt;最後要特別謝謝 所有曾經回報錯誤給我的朋友 謝啦!! &lt;br /&gt;&lt;div id="hide_comment" width="100"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-4443791643286316369?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4443791643286316369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/4443791643286316369'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/01/wget.html' title='WGet 網路相簿下載器'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-2280450571748717041</id><published>2010-01-18T19:10:00.000+08:00</published><updated>2010-01-19T02:44:23.534+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><title type='text'>Windtop BBS + FreeBSD 8.0</title><content type='html'>之前一直龜在 FreeBSD 6.x 很多新硬體新功能不能用，前幾天換硬體時升級到 FreeBSD 8.0 (想玩 zfs)。重編 bbs 時因系統預設的 gcc 是 4.2.1 出現一堆錯誤，google 不到相關的資料只好慢慢試。&lt;br /&gt;安裝 gcc34&lt;code&gt;cd /usr/ports/lang/gcc34/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;rehash&lt;/code&gt;修改 ~/bbs/src/lib/Makefile，把 CC 改成gcc34&lt;code&gt;CC      = gcc34&lt;/code&gt;修改 ~/bbs/src/其他/Makefile，把 freebsd 的 CC 改成 gcc34&lt;code&gt;freebsd: @$(MAKE) CC=gcc34&lt;/code&gt;freebsd 在 8.0 後移掉 sgtty.h 只好自己建立 /usr/include/sgtty.h 加入&lt;code&gt;#ifndef USE_OLD_TTY&lt;br /&gt;#define USE_OLD_TTY&lt;br /&gt;#endif&lt;br /&gt;#include &amp;lt;sys&amp;#47;ioctl.h&amp;gt;&lt;br /&gt;&lt;/code&gt;接著照原本的編譯方式即可。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-2280450571748717041?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/2280450571748717041/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/01/test44.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2280450571748717041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2280450571748717041'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/01/test44.html' title='Windtop BBS + FreeBSD 8.0'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5452259614743399826.post-2366767672986854632</id><published>2010-01-14T15:41:00.001+08:00</published><updated>2010-01-19T04:07:49.327+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Lifetype'/><title type='text'>Lifetype + APC</title><content type='html'>有人反應修改 lifetype template 後在 blog 上沒有改變，想說近期只有把 eAccelerator 換成 APC，去 apc 管理介面看果然 template 都被 cache 住了，第一次用 apc 沒注意到這個問題，不過感覺上應該要知道 template 有改變過才是(?)，懶得研究 apc cache、lifetype/tmp、template 間的關係，直接用 google 找 apc lifetype template，很失望的看了幾頁都沒人遇到這問題，乾脆去看 APC 手冊比較快。其中有個 apc.filters  string，可以用 reg exp 設定哪些檔案不要 cache，直接在 php.ini 的 apc 部分加入&lt;code&gt;apc.filters= .template.php&lt;br /&gt;&lt;/code&gt;重開 apache，清 apc chahe 後果然就沒問題了~ 話說，裝了 APC 後感覺真的快很多。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5452259614743399826-2366767672986854632?l=laby2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laby2.blogspot.com/feeds/2366767672986854632/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://laby2.blogspot.com/2010/01/test.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2366767672986854632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5452259614743399826/posts/default/2366767672986854632'/><link rel='alternate' type='text/html' href='http://laby2.blogspot.com/2010/01/test.html' title='Lifetype + APC'/><author><name>Laby</name><uri>http://www.blogger.com/profile/15224449045262998596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bUdfd1W2hqE/S1R5vU-7UKI/AAAAAAAAAAY/3npB97HyqhQ/S220/n100000170168612_1005.jpg'/></author><thr:total>3</thr:total></entry></feed>
