Tommy 碎碎念

Tommy Wu's blog

Google
 
修正 Pure-ftpd 1.0.22 在使用 TLS 協定時, 下傳檔案續傳不正確的問題.
post by tommy @ 04 六月, 2009 19:13

一個多月之前, Pure-ftpd 推出了新的 1.0.22 版, 對我來說, 其中最重大的改變就是支援在 TLS/SSL 時也對傳送的資料加密. 所以... 我馬上就裝起來用了. 不過... 隔天確發現下載的檔案都有問題, 不過我試了幾個小檔案, 發現又很正常. 後來想到這兒的網路狀況有點不好, 或許是斷線後續傳造成的, 再測試一下, 果然經過續傳後, 檔案大小在傳送後就不一樣了.

 (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
自製 tpfnf9.exe 取代 ThinkPad EasyEject 程式
post by tommy @ 18 五月, 2009 11:28

最近因為 Windows 7 RC 推出, 所以就裝了一套來測試看看. 多數我常用的軟體似乎都運作正常, 不過... 在 ThinkPad 上頭有個 EasyEject 程式並無法正常運作.

雖然 Windows 本身就有這類退出硬體的功能, 不過... 在 Windows 7 上頭, 那個圖案預設是在工具列上隱藏的, 就算設定成在工具列上顯示, 仍然要移動滑鼠去點選才能執行, 並沒有以往使用 EasyEject 時, 只要按 Fn+F9 的快速鍵就可以運作.

而 ThinkPad 本身附的 Hotkey 程式, 是可以正常運作的. 在沒有安裝 EasyEject 時, 仍可以按 Fn+F9, 這時會顯示你並沒有安裝 EasyEject. 再看一下安裝後的目錄下頭, 有個 tpfnf9.exe 的程式, 看起來應該就是當使用者按下 Fn+F9 時, 就會去執行這個檔案.

而 Windows 本身的那個安全退出硬體的對話盒, 我們一樣也可以用下列的指令來執行:

rundll32 Shell32.dll,Control_RunDLL HotPlug.dll

所以, 看來我們只要自己寫個程式來取代原本的 tpfnf9.exe, 並執行上頭的指令, 就應該可以在按 Fn+F9 時, 把這個安全退出硬體的對話盒叫出來, 這樣子與原本 EasyEject 所提供的功能, 應該也差不到那兒去了.

下頭就是我寫的一個小程式, 在我這兒運作正常, 有興趣的自己抓回去用吧:

http://www.teatime.com.tw/~tommy/files/tpfnf9.7z

本人不保證程式運作的任何結果, 使用後有任何問題請自行負責, 不要來找我. :-)

 


2009/05/19:

 

用了一天, 發現怪怪的, Windows 7 裡頭的 hotplug.dll 似乎有問題, 因為雖然叫的出來移除硬體的畫面, 但是多數時候都無法退出.
不過同時使用工具列上的圖示來做退出的動作又很正常.

看來也許是 bug, 也許是在 Windows 7 裡頭改了做法.

 

Del.icio.us Furl HEMiDEMi Technorati MyShare
修正在 FPDF UTF-8 簡繁中文支援裡頭, AliasNbPages 沒有作用的問題
post by tommy @ 24 四月, 2009 16:31

在之前有提過有人寫了一個 FPDF UTF-8 簡繁中文支援的方案 (作者不是我), 不過, 有使用者反應會造成 AliasNbPages 沒有作用. 剛剛 trace 了一下, 發現在 chinese-unicode.php 裡頭, 就直接把字串轉成 unicode 內碼的十六進位字串了, 所以後來原本的 FPDF 在轉換 AliasNbPages 這個變數時, 自然不會有任何的作用.

舉例來說, 一般內定的 AliasNbPages 是用 {nb} 這個字串, 會變成 007b006e0062007d 的內容, 而在原本的 FPDF 依然是找 {nb}, 自然不會轉換. 因此我們需要針對 chinese-unicode.php 來特別處理這個部份.

你可以在 chinese-unicode.php 的 function PDF_Unicode() 之後,  加上一個 function Uni_putpages() 如下:

function Uni_putpages()
{
if(!empty($this->AliasNbPages)) {
//Replace number of pages
 
// find the pages alias already converted to hex string
$search = '';
$len = strlen($this->AliasNbPages);
for ($i = 0; $i < $len; $i++)
$search .= sprintf("%04x", ord($this->AliasNbPages[$i]));
 
// replace the pages alias with page number (hex format)
$replace = '';
$total_pages = ''.$this->page.'';
$len = strlen($total_pages);
for ($i = 0; $i < $len; $i++)
$replace .= sprintf("%04x", ord($total_pages[$i]));
 
// replace it now
for ($n = 1; $n <= $this->page; $n++)
$this->pages[$n] = str_replace($search, $replace, $this->pages[$n]);
}
}

然後在使用時, 在最後產生 PDF 之前, 記得呼叫這個 function, 如:

$pdf->Uni_putpages();
$pdf->Output();

這樣子應該就可以把頁數轉換出來了.

不過這樣子的處理, 並不保證那個轉換不會造成別的問題. 以內定的 {nb} 來說, 因為只是單純比對 007b006e0062007d 來轉換, 雖然機率不大, 還是有可能會轉錯的. 如果有碰到, 還想避免這個問題, 可以考慮弄個比較複雜的 alias 來使用吧.

Del.icio.us Furl HEMiDEMi Technorati MyShare
WD TV 媒體播放器
post by tommy @ 14 三月, 2009 12:03

最近市面上多了許多的媒體播放器, 有的是針對高清影像, 有些是針對 rmvb, 各有各的好處, 不過... 似乎仍沒有一個完美的產品出現. 至少... 我們幾年前就在使用的 GeeXboX 在處理影像的能力上頭, 都比這些產品來的好. 不過... GeeXboX 要自己弄台電腦來跑, 就體積與使用搖控器操作上頭來說, 對於家裡的老人家來說, 實在不是個方便的產品. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
無窮無盡的 XP 啟用?
post by tommy @ 11 三月, 2009 11:12

前天回到菲律賓時, 老闆說他房間的電腦, 上星期就一直出現要啟用的訊息 (奇怪... 也沒換硬體, 為什麼要重新啟用?), 不過.... 每次他點啟用就說啟用成功, 但是重開機後, 一樣又提醒要重新啟用. 結果... 這星期就再也進不去系統了, 每次登入就要求啟用, 點了啟用之後就說啟用成功... 但一樣又回到登入的畫面... 變成一個無窮迴圈了. 嘗試用安全模式仍可以進入, 但是只要是安全模式加上網路的功能就一樣無法登入. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
LevelOne FUS-3100 MFP Server
post by tommy @ 11 三月, 2009 09:53

前一陣子把 Laptop 的系統由 XP 換成 Vista 之後, 發現家裡的 Edimax PS-1026MF 搭配 HP 3050z 並無法正常使用. 只能透過  TCP/IP 方式來當成網路印表機使用. 至於傳真與掃瞄功能都無法使用. 查了一下網頁上的相容性說明, 應該是可以在 Vista 使用才對... 不過我安裝後... 是可以抓到機器, 不過... 連測試頁的印不出來. 寫了一封 email 問 Edimax.... 不過兩個月過去了, 還沒收到回信. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
No Squint 在 Firefox 3.1 beta 3 無法正常使用?
post by tommy @ 11 三月, 2009 09:40

剛剛把 Firefox 換成 3.1 beta 3 (終於解決了一不小心就把 tab 開到另一個新視窗的問題), 發現 No Squint 似乎沒有辦法正常運作了.

雖然在每次網頁打開時, 狀態列上頭出現的放大比率是對的, 可是... 實際上放大率並不是那個數字. 而且好像不是所有的網頁都不正常, 因為某些網頁又是正常的.

試了一下, 原本還想換回去 3.1 beta 2 的版本. 不過... 突然想到, 原本 Firefox 就有記憶每個網頁上次使用的放大率是多少的功能, 會不會是這功能與 No Squint 本身的功能有衝突呢 (不過... 為什麼之前用 Beta 2 就沒問題) ?

試著把 browser.zoom.siteSpecific 改成 false, 果然... 一切就正常了. 

Del.icio.us Furl HEMiDEMi Technorati MyShare
可以在 Thunderbird 3 使用的 SmtpSelect
post by tommy @ 24 二月, 2009 22:25

Thunderbird 3.0 beta1 出了有一陣子了, 我在剛推出時就換到這個版本, 使用上頭, 除了原本使用的 SmtpSelect 這個程式沒辦法運作外, 其他的都還算正常. 原本想找看看有沒有什麼能夠替代的程式可以用. 不過前一陣子在 Addons 上頭能夠找到的, 都一樣不能在 3.0 beta1 中使用. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
MSYS 發生 Couldn't reserve space for cygwin's heap 的錯誤
post by tommy @ 21 二月, 2009 18:50

今天 FileZilla 推出了新的版本, 所以就試著為 FileZillaPV 製做相對應的版本. 不過... 當執行 MSYS 之後, 在處理 patch 指令時, 出現了 Couldn't reserve space for cygwin's heap 之類的錯誤. 由於之前都是在 XP 裡頭執行, 現在換到 Vista 使用, 難道是與 Vista 不相容嗎? (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 All CPU Meter 搭配 CoreTemp 使用
post by tommy @ 17 二月, 2009 12:41

由於 SpeedFan 在我的 T60 機器上頭跑起來怪怪的, 所以就改用 CoreTemp 來偵測溫度. 由於 CoreTemp 本身就有提供一個 gadget 的 sample, 所以改起來並不會太困難.

加上溫度後就順便加上 CPU 速度的顯示與 uptime 的顯示. 同樣的, 我沒有四核心的機器, 所以不確定這個東西在四核心上頭的顯示結果會不會正常, 有的人就自己試看看吧.

由於修改的部份還有一些 dll 的檔案, 所以就不提供 patch 的檔案了, 有需要就自己去比對兩者之間的差異吧.

檔案可以由這兒抓取: http://www.teatime.com.tw/~tommy/files/AllCPUMeterByTommyWithCoreTemp.gadget

Del.icio.us Furl HEMiDEMi Technorati MyShare
修改某些 Vista Sidebar Gadget
post by tommy @ 11 二月, 2009 16:23

最近終於開始接觸 Vista 了, 自然也用了 Windows Sidebar 這個程式. 找了一些 gadget 回來用, 不過有些 Gadget 是不錯用, 不過總覺得少了某個小功能, 為了做到該功能, 可能要多放幾個 gadget 來取代... 不過... 桌面就那麼大, 放太多總是不好, 所以就自己動手改了幾個來用. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
使用 xtables-addons 取代 ipp2p 需要 patch 核心的動作
post by tommy @ 01 二月, 2009 22:45

由於 ipp2p 這個 netfilter 的模組已經很久沒有更新了, 所以每次更換核心時, 都必須透過 patch-o-matic-ng 來處理, 也就是每次都要去 patch 核心後再去編譯. 不過... patch-o-matic-ng 也是很久都沒異動了, 而且... 由 2008 年 11 月底時, 連 snapshot 的版本都不見了. 更麻煩的是... 這個 patch 核心的動作, 並不一定每次都可以正常的運作. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
在使用 phpmsnclass 傳送離線訊息出現 q0:MessageTooLarge 錯誤的處理
post by tommy @ 08 元月, 2009 21:16

在 2009 的開始, 有人突然跟我反應在傳送 MSN 的離線訊息時, 會出現 q0:MessageTooLarge 的錯誤. 而以前似乎並沒有這個錯誤.

我試了一下, 發現果然在傳送訊息超過 315 個字元組時, 就會出現這個錯誤, 而在以前的測試, 我記得當初至少測到 3000 個字以上, 都不會有問題. 看來, 應該是 MS 的 WebService 伺服器上頭最近才加上的限制吧.

如果你有使用到 phpmsnclass 的離線訊息的話, 在下一個版本推出之前 (也許要一年半載之後吧), 請自行由 Google Code 中抓取最新的 SVN 版本來用吧.

Del.icio.us Furl HEMiDEMi Technorati MyShare
HSBC 終於有跨行轉帳手續費回饋了
post by tommy @ 03 元月, 2009 12:53

我記得幾年前的 HSBC 卓越理財對於跨行轉帳的手續費也會在下個月退回, 不過好像那時在推電子帳單時就取消了, 從此之後, 就再也沒退過了. 這一點我跟 HSBC 抱怨過好幾次, 同樣的白金理財戶, 在別的銀行或多或少都有跨行轉帳免手續費的服務, 唯獨 HSBC 沒有, 一點都沒有 VIP 理財的感覺.

不過這幾天登入網路銀行時, 終於看到這則消息, 由 2009/1/1 開始, 對於卓越理財戶, 每個月可以有 50 次的跨行轉帳手續費回饋. 雖然之前為了這個去開了 HSBC Direct 帳戶來用, 不過只有五個帳戶可以轉帳, 有點不夠用, 正打算用老婆的名義再去開一個戶頭來用, 看來這個動作可以省下來了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
mdadm 找不到 RAID 的時候, 該怎麼處理呢?
post by tommy @ 07 十二月, 2008 15:10

這星期把兩個硬碟弄成一個 RAID0 的設備, 用來備份另一台主機上頭的檔案. 原本就有使用 mdadm 來管理另一台主機的 RAID, 所以用起來並不會很困難, 跑一下 mdadm 的指令就產生新的 RAID 了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
phpmsnclass v1.9
post by tommy @ 23 十月, 2008 23:24

更新 phpmsnclass 版本為 1.9. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Cisco VPN Client behind Netfilter
post by tommy @ 02 十月, 2008 09:52

最近公司的 VPN 改用 Cisco 的設備來處理, 所以目前都使用 Cisco VPN Client 來連線. 之前在公司的宿舍中, 使用 Linksys 的 Wireless Router 時, 發現無法正常使用, 結果居然是要把 Router 上頭的 VPN Passthrough 的功能關閉才能使用 (firmware 寫錯了嗎? 怎麼與我的認知剛好相反?). 而這星期回台灣後, 發現在家裡透過 Linux Netfilter 的 firewall 連線時, 可以登入, 但是登入後沒有任何的回應. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
在 Win32 下的 PHP 使用 ftp_ssl_connect()
post by tommy @ 07 九月, 2008 10:17

在 php 官方的說明文件中, 提到要使用 ftp_ssl_connect() 必須要有 openssl 的支援才可以. 而且在 Windows 下頭, 必須要自行重新編譯一個內建 openssl 支援的版本才可以. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
系統時間跑的飛快?
post by tommy @ 03 九月, 2008 12:12

前幾天突然發現家裡的伺服器時間不對, 快了約半天左右. 因為上頭有跑 ntpd, 照理應該會自動對時, 機器也跑了一年, 之前的時間都很正常, 至少我可以確定在上星期的時候還是正常的. 試著把時間用 ntpdate 對時一次, 隔了不久, 發現時間又不對了, 仔細檢查一下, 發現每分鐘會快六秒, 有 10% 的誤差. 而用 hwclock 看一下 CMOS 上頭的時間, 並沒有相同的問題, 也就是硬體上頭的時間是正常的, 但是 Linux 所計算的時間會愈來愈快. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
MySPAM v0.0.5
post by tommy @ 06 八月, 2008 13:48

MySPAM v0.0.5 推出. 其實也沒改到什麼, 這些修正好像都至少有半年了. 與前一版本的差異如下:

  • + 新增對同一主機多網域帳號的支援. 登入時請使用 user@domain 的方式登入即可.
  • ! 檢查信件第一行是否為 'From xxx@xxx.xxx.xx' 這個非 header 的內容 (某些 postfix 有這行?), 如有就略過.
  • ! 如果沒有 SIZE 環境變數, 就自行計算信件大小.
程式可以由這兒抓取: http://www.teatime.com.tw/~tommy/myspam/myspam-0.0.5.tgz
或由這兒抓取最後一個版本: http://www.teatime.com.tw/~tommy/myspam/myspam.tgz
0.0.4a to 0.0.5 的 patch: http://www.teatime.com.tw/~tommy/myspam/myspam_004a_to_005.patch  
Del.icio.us Furl HEMiDEMi Technorati MyShare
MyTV 0.0.2
post by tommy @ 03 八月, 2008 18:18

更新 MyTV 為 0.0.2 版. 修正如下:

  • 加入 check_session.sh, 把超過一段時間沒有連線的 producer 結束運作
  • 加入預約錄影的功能

主要就是加上預約錄影的功能. 並可以直接用 web 介面抓取或刪除錄影的檔案.

可以由這兒抓取: http://www.teatime.com.tw/~tommy/files/mytv-0.0.2.7z

Del.icio.us Furl HEMiDEMi Technorati MyShare
TortoisePlink 出現 Unable to write to Standard output 錯誤
post by tommy @ 03 八月, 2008 17:59

這幾天在家裡的伺服器弄了 subversion 上去, 要把目前 laptop 上頭一些程式放到上頭去. 結果, 每次一執行 TortoiseSVN 要連線時, 就會出現一個 TortoisePlink 的 Unable to write to Standard output 的錯誤訊息. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
奇怪的 2.6.26 saa7134 驅動程式, tuner 參數無作用?
post by tommy @ 21 七月, 2008 19:20

上星期回台時, 順便更新了機器用的 kernel 到 2.6.26, 結果, 今天要出國前, 特地試了一下上頭的網路電視有沒有問題, 結果... 發現看到的就像斷訊一般的畫面與雜音. 原本以為是第四台的線沒接好, 結果, 交換測試了一下, 發現不管那一條線, 只要接到主機上頭的 Compro VideoMate M355 的卡上, 就是看不到電視的內容. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
由 ADSL 換到 FTTB 了
post by tommy @ 16 七月, 2008 09:58

上個月開始, Hinet 開放了光世代多機型的測試申請, 而由這個月開始, 就開始對外開放申請了. 由於家裡原本使用的 ADSL 12M/1M 多機型, 雖然下傳的頻寬比光世代的 10M 少了一些, 但是上傳的頻寬, 光世代的 2M 可是足足比 ADSL 的 1M 多了一倍. 而且允許保留原本的 IP. 光是上傳多出的 1M, 就值得升級了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
PostgreSQL ODBC 連線的 client encoding mismatch 錯誤修正
post by tommy @ 01 七月, 2008 11:20

記得去年我們升級 PostgreSQL 之後, 造成在 Windows 上頭使用 ODBC 的程式無法連線, 雖然後來是另外建立一個使用者, 限定使用 LATIN1 來避開這個問題, 因為在這方面處理的都是數字, 所以這個方法也就一直用到了現在都沒什麼問題.

最近有另外的需求, 一樣是在 Windows 平台上頭, 使用 psqlODBC 來連線, 但是程式上頭會用到一些字串, 如果只使用 LATIN1 的話會有問題. 抓了目前最新的版本回來使用, 發現不管使用 PostgreSQL ANSI 或者是 PostgreSQL UNICODE 的 driver, 都不會出現 client encoding mismatch 的錯誤了. 目前使用上也一切正常了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
1 2 3 4 5 6 7 8 9 10 11 12  下一篇»
Bad Behavior 已經阻擋了 6929 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS