跳到主要內容

發表文章

目前顯示的是 2009的文章

WBR-G54 install Tomato Firmware

看到 D-Link DIR-300分享(DD-WRT改機篇) 獲得如此高的效能,激起我更新手邊舊型的 WBR-G54 念頭。 查了一下不少人說 dd-wrt 沒有 Tomato 穩,雖然說 Tomato 只支援Broadcom晶片的無線基地台,剛好 WBR-G54 在支援之列。 I saw  D-Link DIR-300分享(DD-WRT改機篇)   obtained very good performance, inspired me to install third party's  firmware on my old  WBR-G54 . Some people say that  dd-wrt  is not as stable as Tomato , although  Tomato  only supports Broadcom chip based wireless access point,  WBR-G54  is one of the supported model.

自製Chrome Extension之我也會/ AV-Tokei Chrome Extension

由於某位很低調的學弟一直鼓吹Chrome Extension,所以今天花了半小時看了一下;似乎不會很難寫,剛好又看到 上官神人 貼的大人的美人時計avtokei,就簡單試做成一個extension。 I followed  Hello World  wrote a AV-Tokei Chrome Extension as an exercise. 簡單地說,就是照著 Hello World 的內容,再改寫自己的popup.html。目前這個av tokei就是點下去出現目前時間的美女圖,原網站是日本當地時間,我是盜連它的圖,應該沒幾天就不能連了,哈! To put it simply, I only rewrite popup.html. You can download the crx here . 下載網址: 這裏 其實我是希望能做出一個自己用的簡繁轉換,因為還沒看完Tutorial,所以先做一個垃圾玩玩。 Update: 似乎有朋友誤會我的意思,重點在可以自製,而不是盜連圖片呀!因為再增加DigGirl extension示範。

Convert from vmdk/vhd to VDI format 將vmdk/vhd轉換為VDI格式

上網找到的都是舊資料,現在不再需要vditool或qemu,直接利用VirtualBox附的VBoxManage就可以轉換虛擬硬碟的格式。 把vmdk或vhd轉成vdi的指令: VBoxManage clonehd source.vmdk target.vdi --format VDI --format 是指target的格式,source的格式似乎會自動判斷 Your are no longer needed to use vditool, the tool "VBoxManage" comes with recent revision VirtualBox. Just type the command: VBoxManage clonehd source.vmdk target.vdi --format VDI - format refers to the target format, source format seems to be automatically determined. VirtualBox Command Line Management Interface Version 3.1.0 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Usage: VBoxManage clonehd | [--format VDI|VMDK|VHD|RAW| ] [--variant Standard,Fixed,Split2G,Stream,ESX] [--type normal|writethrough|immutable] [--remember] [--existing]

某醫院的掛號系統 A registration system crash picture

由於某位不要我說他很帥的學弟表示,寫英文Blog可以增加英文程度,因此開始練習雙語blog。 昨天看到某間醫院的掛號系統當機,拍張照留念。 I saw a registration system crash in a hospital yesterday, thus I take a picture souvenir.

木馬,你實在太強了

  今天早上覺得網路比較慢,連到 pfSense 防火牆用 bandwidthd 和 darkstat 看流量,發現某台電腦的上傳流量高得驚人(是的,敝公司很窮也很省,所以沒有可以monitor網路的switch),占了全公司上傳流量的90%。   用XP的nbtstat -A [ip],找出是公司的工讀生用的電腦,此時在下敝人小弟我,連忙拿出 Process Explorer 和 Active Ports 、 WireShark 來監控,想當然爾光靠 Process Explorer 是找不出東西,但是很明顯在 Active Ports 有不明的程式在送出網路流量。這支木馬很聰明,只要keyboard和mouse有在使用就不動作,等到停下來時才開始送出封包,所以使用者雖然覺得電腦變慢,卻不會覺得慢到無法忍受。   此時我只能用 IceSword 來找出這支木馬,不過由於有千人斬實力的工讀生要先備份資料,所以抓毒的事明日請早。

給微軟的建議:IE6 theme

因為IE9的預告,最近很網路上很多朋友又開始談IE 6。 我覺得微軟要負最大的責任,為什麼呢?其實低階使用者若不肯換瀏覽器,大都是因為介面使用的習慣。其實只當初若把IE 7做出個 IE 6操作模式的 介面切換(theme)並設成預設值,Windows Update下去也不會知道呀! 當然這是不考慮舊的DHTML方式設計的網頁,嘿嘿。不過在下就真的遇到不少人,是因為介面而不肯升級,Vista/Windows 7亦然,微軟應該還原出XP theme給 食古不化 保守的使用者呀!

Tekram DC-390 U4W的driver:mptscsih

  又是一篇個人日誌,再用到的機會不大...   今天浪費些時間在找Tekram DC-390 U4W的driver,原因是一台舊的Linux Server硬體有點問題,開始會不正常當機。本來想Linux不太會挑硬體,隨便找一台機器就可以裝,於是把檔案系統修一修就用TrueImage備份起來,再還原到一台DL380 G2上。   這台DL 380 G2上的SmartArray 5i常會抓不到,因此就拿手邊一張DC-390 U4W SCSI卡接兩台舊的SCSI 73GB硬碟。因為以前自己有一張DC-390U,以為還是用sym53c8xx的driver,而且DC-390 U4W上頭有個風扇,所以也看不到晶片資訊(別叫我插到XP的PC上,我手上也沒有driver光碟,還要拆機太麻煩了),就一直誤以為是sym53c8xx,結果一直kernel panic開不了機。   後來在噗浪上問人,強人 蘇老 雖然沒在玩Linux但告知DC-390 U4W已經不是53c8xx,晶片換成LSI 53C1030,於是找了一下看到 這則新聞 才知道要找Fusion-MPT的driver,Linux上叫做mptscsih,需要mptbase。(其實 LSI 53c1030 的網頁有提到,但在第一個tab的最下方,我沒注意到) 若是用FreeBSD,在GENERIC檔有寫LSI Logic MPT-Fusion就叫mpt,而我原來用的sym53c8xx是sym,若是Tekram DC395U/UW/F DC315U 則是trm (FreeBSD真是簡單多了) 由於舊Server是很早期的Linux 2.4,原來的kernel也沒有mptbase,再去抓2.4.37.7,沒想到還需要gcc 3.x版才能編譯,於是又抓了gcc 3.4.6(因為我手賤升級到4.4.2),繞了一大圈才成功把舊系統搬到DL380 G2上。 編譯核心請參考: http://linux.vbird.org/linux_basic/redhat6.1/linux_10kernel.php 和 http://www.jollen.org/blog/2006/05/kernel_26.html 因為是2.4版,所以我的步驟如下: cd /usr/src/linux-2.4.37.7 make menuc

找出SQLServe某個Database裏每個table的使用量

印象中在下用的某個架站機有Log功能,剛才發現DB成長到500MB,但是忘記是哪個table在Log,於是找到 Script to analyze table space usage ,找出此資料庫中列數最多或使用磁碟容量最多的table,就可以解決。 Update: 強者 evi1[c] 在回應中提供了他的SQL,語法精簡效率超高,我已改用他的版本,特此誌謝。

又遇到arp病毒

最近敝公司網路偶爾會斷,有些人連不上file server,在下當時就懷疑有人中arp病毒,但是因為剛好NOD32 4.0造成File Server死當,所以無法確定。 前兩天在下把File Server的防毒換另一家的產品,但每天到下午五點左右就有某幾台小hub會掛點,造成某幾位同仁網路中斷。今天到機房檢查一台故障的server時,機房的值班人員說昨天機有hub當掉,造成相關企業的服務中斷。在下檢查正常的Server有看到IP衝突的訊息,可見在網路上有機器中arp病毒,造成網路上大量封包,才會讓小hub當機。 目前看起來只有改變網路架構才能解決,而這已經超出在下的權限了呀呀呀呀.....

卡皇沒啥鳥用

看到 這則新聞 原本嚇一大跳,以為有什麼驚人的技術,後來再看到NOWnews才知道只能破WEP,最近幾年的無線基地台都是 WPA 以上的加密方式,再加上大部份的人都知道要鎖網卡 MAC Address ,真正拿在路上也很難找到可用的訊號呀... 另外一點,要一般使用者用Linux光碟開機,實在是辛苦了點... 參考資料: 黃金版卡皇終結版 (找到"原廠"資料了) [技術] 什麼是卡皇? 為什麼它可以破解無線網路密碼? 我要怎麼預防被入侵?

外行人編譯GCC

因為手上有某台很舊的伺服器,想要在上面編譯某個程式執行,無奈GCC版本是2.96編不過,於是興起自己編譯gcc的念頭。原本還想更新GLIBC,看了一下 Glibc 2 HOWTO 中文版 和 使用源代码将 Glibc 升级到 2.6 就暫時打消念頭。

Putty的successor:KiTTY

話說在Windows下最佳的SSH Client一般公認是 PuTTY ,但是 PuTTY 已經兩年沒更新,而且最近的更新也都只是安全性修正,沒有功能性的更新。 PuTTY 缺少懶人最需要的記憶密碼;雖然說以資訊安全的角度而言,記憶密碼是非常危險的事,但對於多數連線軟體這是不可或缺的功能。

在Mac OS X 10.6 開啟原生NTFS讀寫支援

看到 10.6限定 - 開啟原生NTFS讀寫支援 ,馬上就來測試。 因為前幾天再裝了Paragon NTFS for Mac測試版,連忙再去下載dmg檔,利用裏頭的Uninstaller反安裝,執行完會要求重開機,幸好有成功移除。 先去下載N TFS Mounter 安裝,但不知為何執行時沒有問我的密碼,因此也並沒有幫我新增或修改 /etc/fstab。 後來關掉NTFS Mounter自己手動 sudo vi /etc/fstab,幸好試一次就成功,寫入和中文等都沒什麼問題。再切換到64 bit kernel開機,一切仍然正常。 不知道是有穩定性問題還是版權問題才沒有預設NTFS write支援?真希望Apple說明一下。 註:原文有點小錯誤,只要umount再重新mount就會生效,不需要重新開機,這可是Mac呢^_^

iRobot Roomba 550 開箱文

最近天氣太熱了,讓人容易不小心手滑... 前兩天快遞送來一個箱子

Panasonic 42吋Full HD液晶顯示器 TH-L42B12W 開箱文

家裏十年高齡的舊電視忽然無法開機,有時候拔掉插頭放個一天又可以看,為了眼睛健康(謎之音:藉口)決定不送修換一台LCD TV。 很可惜燦坤的特賣會剛過,沒辦法像VB超人一樣抱一台超便宜的Sony LCD,只好退而求其次選了這台 Panasonic 42吋Full HD液晶顯示器 TH-L42B12W。 舊的Sony 26吋特麗霓虹,掰掰! 42吋LCD也不輕,放在我小小的客廳看起來大小剛好

Mini DisplayPort to HDMI 開箱文

因為某種黑暗原因,在下忍不住去買了Mini DisplayPort to HDMI 以上是我在家裏用的轉接線,由左而右是HDMI to DVI、Mini DisplayPort to HDMI、Mini DisplayPort to DVI

暮光之城(Twilight)電影閱後感

因為種種理由,將近一年的時間錯過不少好電影,因此有空就去借一些DVD回來看。 首先,照慣例一定要說滴,以下有大量劇情,未看過電影/小說者會影響看影片時的快感;且由於本部落格是宅男寫的,當然就是以宅男觀點出發,女性讀者請斟酌。 鳥毅很愛看科幻片與鬼片,所以有名的吸血鬼電影大概都看過了。我看過覺得最沉悶的一部吸血鬼片就是 Bram Stoker's Dracula (台灣譯名:真愛不死--Dracula),那部是以Bram Stoker的原著為基礎使用唯美手法拍攝,讓我想到香港的楊姓三級片導演,不過似乎女姓觀眾反應還不差。 (圖來自官網) 暮光之城 運鏡手法仍然是唯美,但是劇情起伏大,又是高中校園愛情片,最後再來段精彩的追殺,算是以男性角度來看也不差的影片。型男加上不是美女的組合,總是讓女性觀眾為之瘋狂(別忘了偉大的票房冠軍 鐵達尼號 ),這是很成功的商業片。 純以電影中陳述的故事來說,算是相當地老套,個性怪怪的女主角喜歡上酷酷的型男帥哥,結果帥哥是吸血鬼,而且帥哥無可自拔地被女主角吸引住。看了十幾分鐘我就確定這是女性影片,當時還不知道作者是誰,但我心裏就在想一定是女性寫的小說;如果是以男性主導的影片,一定大量加入色情與暴力,至少也要在校園裏多加幾個性感暴露的辣妹:P,若我是導演可能會找個像Lindsay Lohan的豐滿女主角(逃~)。 總而言之,這部片還滿好看,很適合用來把妹,年底第二集上映時,別忘了帶女友(或想追的女生)去看。 參考: 暮光之城台灣電影網站 暮光之城官方網站

750GB硬碟掛點

今天回家就發現一顆13個月大的750GB硬碟掛點了,怎麼接BIOS都無法找到,明天到公司再看能不能再活過來,我可憐的火影和秘片呀.... 看型號是ST3750330AS,Firmware是SD15,似乎是傳說中 韌體有問題的硬碟 ,我慘了 (To be continued ...)

在Server 2003 x64上安裝GPMC

最近因為Domain Controller太老舊,就找台新PC重裝Server 2003 x64 R2,沒想到 GPMC ( Group Policy Management Console ) 裝不起來。 原因是GPMC需要.net framework 1.1,鳥毅勉強在Server 2003 x64上裝起.net framework 1.1,也把GPMC安裝進去,但是在執行時仍然有錯誤訊息。 經過一番google後(對,現在google是動詞,表示search),找到 Using GPMC (Group Policy Management Console) on Windows 2003 x64 ,原來還要把rsop.msc 複製到 %systemroot%SysWOW64 ,而且只要用Orca改gpmc.msi就可以不用安裝.net framework 1.1。此外,我並沒有 gepedit.msc ,不知是不是作者對gpmc.msc的typo呢?

程式設計師提升生產力之秘笈讀後感

昨天抽空到信義誠品逛,無意中看到 程式設計師提升生產力之秘笈 ,雖然我的工作沒有寫程式,還是好奇拿來看一下。 作者Neal Ford是 ThoughtWorks 的員工,一位專業顧問。基本上,這本書花了很多的篇幅在介紹各種作業系統(Windows、Mac與Linux)上的快速啟動程式與快捷鍵設定。當然也少不了編輯器/IDE的介紹。這本書在快速鍵的部份對我的幫助並不大,大部份的觀念和技巧都和我用的差不多,但我比較好奇快銀( QuickSilver )的神奇功能,得抽空仔細的玩玩。 Neal提到質疑權威是我覺得最猛的一章,他還提到Java上很多過度工程化的例子,對於許多愛寫framework的人的確是當頭棒。我覺得和 沒有銀子彈 ( No Silver Bullet )同樣是程序員必讀的文章。 還有最重要的一點,降低干擾,所以快關掉你的Plurk和MSN吧 XD

數位恆溫瓦斯熱水器開箱

咳,最近都在花錢。 家裏的熱水器用了快十年,最近天氣熱,洗澡的熱水也變得熱到不像話;我自己是直接洗冷水,但家中其他人就受不了。於是向網購專家VB超人詢問,電熱水器可能會獲得高額的電費帳單,而且還必需要拉220V的電線,最好的解決之道就是換一台恆溫瓦斯熱水器。 其實也沒有太多的選擇,因為頂多兩間浴室一起洗,不用太大容量。依照VB超人的建議,選擇日本國花牌12公升的強制排氣數位恆溫熱水器,於是找了網路上唯一有現金折價的店家買,隔天就安裝,所以今天就請假在家等。 原本是訂上圖這台,但是後來看到

Macbook Pro 13"開箱

早上一到辦公室就踢到一個紙箱 轉過來一看

賣Notebook用DDR3 1GB兩條(已賣出)

賣兩條Notebook用DDR3 1GB,從Macbook Pro 13吋上拔下來的原廠RAM,只有開機使用10分鐘。廠牌是SAMSUNG。 隨便出價吧,不要太誇張我就隨便賣了。 Update:刊到 Yahoo拍賣 了。 再Update:在歪拍賣掉了。

不專業之重構心得分享

最近有位同事和我聊到他做的幾個案子,都略有差異,但因為這些差異讓原來的程式一改再改,很難共用。 這正是 重構 存在的真正意義呀! 最簡單的重構是從Rename Varibale和Rename Method開始,接著熟練後便開始Extract Method,進一步則是Pull Up、Push Down,再來則是Generalize Type。 我自己做時只有兩個原則:異中求同、同中求異。 異中求同是指在不同的method裏找出相同的區塊,萃出成一個method或是公用class(例如有關數值運算、轉型、中文數字等等);或是不同的class中找出相同的行為,extract為有相關的class pattern(例如Factory、Abstract Factory等pattern)。 同中求異是指在複製貼上的動作後,找出相同的區塊做Extract Method,若有許多子類別則可以Pull Up,諸如此類的應用。 所有的書都寫得類似,重構就像開車,一點一點地修正方向盤,慢慢地就安全抵達目的。個人的經驗是每天都寫code,經過幾年後就會不知不覺地學到重構的方法。 這只是在下不專業的看法,正統的重構技巧請看 重構:改善既有程式的設計 (二版) P.S. 我不擅長Web重構,高手 jaceju 有篇 非常優秀的簡報 。

今天早上做的怪夢

從小就夢想成為專職的程序員,結果昨天夢到進入一間名為Roogle的公司,辦公室在地下室。 在Roogle必須從實習生幹起,非常辛苦,每個同事都是天才。夢中唯一出現認識的人是一位前公司的朋友,他原本就是天才型的人。其他的同事都是邋遢到不行的超級宅男,帶我介紹公司的是一位身高180cm,約40歲出頭的鮪魚肚男。 在Roogle的第一個任務是學Android程式,從source看起,接下來要靠自己的想像力,寫出一支Android應用。 再看這個應用的好壞,決定去留,所以每天都工作16小時 (其實我在前公司的頭三個月也是每天工作16小時呀),但似乎體力不濟,覺得很辛苦。 後來被鬧鐘吵醒,因為夢太真實了,特此誌之。

Subversion merge後在commit時發生File not found錯誤

最近遇到好幾次 Subversion merge後在commit時發生File not found錯誤,和 這裏 一樣。 可是在 subversion Issue 1673 裏早就寫Status: Resolved, Resolution: Fixed,令我非常不滿。 原本svn之外的版本控管軟體沒有Visual Studio整合,剛才再查了一下發現 Mercurial 已經有 VisualHG 這樣的好東西可用。還有 TortoiseHG 的加持,決定再花時間測試一下,如果沒什麼大問題,應該就會報告優秀長官,以 Mercurial 取代 Subversion 。 Update:經過兩天的努力....我放棄了。 Mercurial 在Windows仍舊有中文問題,這不算是成熟的solution,只好繼續當隨call隨到的服務專員。

Chrome設定最小字體(最小字型)大小

最近發現某些網站字體設定得很小,最近又裝了防窺片,完全看不清楚,所以找了一下Chrome設定最小字體(最小字型)的方法,在一個設定檔中。 Vista/Win7在 "C:\Users\使用者帳號\AppData\Local\Google\Chrome\User Data\Default\Preferences" 也就是 "%LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences" XP在 "C:\Documents and Settings\使用者帳號\Local Settings\Application Data\Google\Chrome\User Data\Default\Preferences" 也就是 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Preferences" Linux在 "~/.config/google-chrome/Default/Preferences" 記得先關掉Chrome,再以文字編輯器打開Preferences,尋找webkit的關鍵字,重點是以下紅字這兩行 "webkit": { "webprefs": { "default_fixed_font_size": 16, "default_font_size": 16, "fixed_font_family": "\u7D30\u660E\u9AD4", "minimum_font_size": 14, "minimum_logical_font_size": 14, "sansserif_font_family": "\u65B0\u7D30\u660E\u9AD4", "serif_font_family": "\u65B0\u7D30\

我看ASP.NET MVC

本篇有很多錯誤觀念,非請勿入。 最近要幫忙做一個小東西,為了和現有企業架構整合,採用ASP.NET開發。 因為很久沒有寫程式,看了一下 ASP.NET MVC ,嗯,很好,以前學的WebForm控制項完全派不上用場。 (以下誤) 個人覺得SilverLight一定推不起來,所以ASP.NET 4.0開始讓程度比較好的程序員用MVC,程度差的用WebForm。MVC搭配template和jQuery,不但能夠提昇網頁反應速度,也避免因為使用UpdatePanel帶來的奇怪錯誤。 (以下大誤) 可以預見,未來的趨勢是使用ASP.Net MVC開發Web AP,大量依賴AJAX互動(也就是向Google看齊啦...),所以我要趕緊K jQuery了。

鳥毅是畜生的代名詞

今兒個因為雨聲太大04:00醒來,看到以下留言通知: 鳥毅是畜生的代名詞 已針對您的文章「 另一顆奇異果 」留下新意見: 呸!!你個x大xx系畢業的就多了不起?? 這兒的內容一點技術水平都沒有,可見作者的水準有多麼低下!! 怎不關了乾脆? 還留著污染網民的眼睛. 垃圾. 這位老兄文筆不錯呀,是對岸來的吧?老兄都沒看清楚,我在Blog標題就有寫"BLOG就是自已寫爽的",是自爽用的,不是介紹技術呀!而且我也不是T大+MIT,真是一整個無厘頭呀... 補充:其實早上我寫到一半就吃包子去了,還有一半沒寫完。 我看到他寫的一點都沒生氣,反而想到禽獸不如的笑話,憑印象大致上如: 一對男女朋友去pub玩,晚上結束後又喝了酒很累,就去Hotel休息。 隔天早上女生醒來就啜泣: 「嗚~你這個禽獸,對我做了什麼...」 男生回說:「昨天太累,我什麼都沒做呀!」 女生大怒,生氣地說:「你這個禽獸不如的傢伙!」 所以我寧可當 禽獸/畜生也不要禽獸不如呀XD

在有TPM的機器啟用VT

一直覺得很奇怪,桌機的CPU明明支援VT,但是xpmode一直說未啟用VT。看了 List of Intel Processors that support XPMode ,也用 SecurAble 顯示 ,仔細看才發現有個"Click for more"。 因此下載了 vt.zip ,才發現雖然BIOS有啟動VT,但是卻沒生效!

Windows 2003 x64無法安裝之處理

又一篇個人筆記,最近實在沒有生產力呀... 今天用一台桌上型商用PC灌Windows 2003 Server x64,一直灌不起來,調整BIOS裏各種參數均無效。Windows 2003 Server x64安裝程式無法進入安裝畫面,load driver後就 BSoD ,連死在哪個.sys都沒有。這已經是我用nLite做出的整合光碟,沒有更新的driver了。 原本用兩顆HD做Raid 1,但似乎有嚴重的問題,不但開機光碟進不去,連TrueImage都只能進Safe Mode,調整回AHCI模式才能使用TrueImage的Full Mode。但是Windows 2003 Server x64安裝程式仍舊是無法進入安裝畫面,幸好有以前同機型的tib備份檔,就使用TrueImage還原到AHCI模式的硬碟。 這件事告訴我們:以後要灌Windows Server,還是買台真正Server吧。(除非灌Linux/FreeBSD)

寫.Net程式時慎選專案名稱

小時候我們寫程式時,老師有說過不要亂取變數名稱(誤,我小時候沒上過電腦課),有許多保留字像class等不要用。 今天遇到的非常鳥的錯誤,試著寫一個行事曆,於是把專案名字叫 Calendar ,變數名稱與Class名稱我都很小心地避開Calendar這種有內建Class的字,但是事情就這麼發生了... 會用Visual Studio寫Asp.net的朋友都知道,Visual Studio會 用專案名稱當做namespace ,所以編譯時都過了,在有一個叫Site1.master的MasterPage情況下,執行時出現下面的錯誤訊息。 編譯器錯誤訊息: CS0426: 型別 'System.Web.UI.WebControls.Calendar' 中沒有型別名稱 'Site1' 這就是在下喜歡Java的命名方式,namespace都會叫com.foo.xxx。唉,我果然不適合寫code呀...

Visual Studio連線到 SQL Server Express 2008問題

故事背景: 某個無聊網管在公司把自己工作用PC灌了Ubuntu玩到膩之後,今年開始裝Windows 7 beta 64 bit,前陣子更新到Windows 7 RC build 7100時發現 SQL Express 2008是32bit,於是移掉改裝為SQL Exress 2008 64bit,結果遇到 連線到 SQL Server 檔案 (mdf) 都需要 SQL Server Express 2005,才能正確運作。 請確認從 URL 下載的元件的安裝: http://go.microsoft.com/fwlink/?LinkId=49251 過程: 看 這裏 有官方解說,用白話解說如下: 老子不讓你用64bit啦,這是進階功能,要用的話拿小朋友來換。 是的,有patch但不能下載。 鳥毅不像VB超人的偶像 璉璉 有免費點數可用,只好摸摸鼻子換回32bit,結果遇到另一個問題: 由於無法啟動使用者執行個體的處理而無法產生SQL Server 的使用者執行個體。此連接將會關閉 ,幸好有解,在XP把 %USERPROFILE%\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS 目錄刪除就可用,Vista/2008/Win7是在 %USERPROFILE%\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS 。 正當終於用32 bit SQL Express 2008時,又看到 SQL Express 2008 x64 Integration with Visual Studio 2008 SP1 ,原來國外的高手找到方法( hotfixr )可以 直接下載patch 。可別忘了啟動Named Pipes呀! 結論: 64bit Windows之路真是辛苦,此時我真的希望微軟能夠學Mac把程式包成一個package直接用呀!

64bit SQLServer無法匯入Excel問題

同事遇到在64bit SQLServer無法在SQLServer直接匯入Excel檔的問題,原因是Jet Engine並沒有64bit版本。 事實上,MS Office並沒有64bit版本,所以Jet Engine也沒有64bit版本呀! 類似 http://www.eggheadcafe.com/software/aspnet/32766378/excel-import.aspx 的情形。 不過,如果選完整安裝的朋友,會在工具列看到「匯出和匯入資料(32位元)」,這個就是32bit版的DTS精靈,產生出來的SSIS封裝可以存在64bit SQLServer上,也可以直接執行。 所以會用Visual Studio寫SSIS封裝的朋友,就可以放心寫了。 什麼?要在Stored Procedure匯入Excel?請參考 How to call SSIS package from the stored procedure 參考資料: 64-bit Considerations for Integration Services how to call a stored procedure in SSIS

解開intel晶片組driver infinst_autol.exe的方法

又一篇個人筆記。 為了替優秀長官在VAIO Z上安裝Windows Server 2003,之前用 nLite 做的Windows Server 2003 整合 ich9 driver開機光碟已經不能用,所以只好再找driver來整合。 但是Intel現在已經更新 infinst_autol.exe 的做法,解開安裝後馬上又刪除原始檔,所以我只好輸入infinst_autol.exe /?看有什麼參數可用,最後用infinst_autol.exe -a -f2 C:\temp ,這樣會在C:\temp產生log檔,再從log找到安裝的暫存目錄,這時候就會發現暫存目錄並未刪除。若未加參數時,Log檔會在 C:\Intel\Logs\IntelChipSet.Log,裏面寫的暫存目錄是立即刪除,連安裝過程切換視窗都找不到。

列舉目錄下所有檔案的C# class

剛在噗浪上看到有人花了不少時間寫列舉目錄下所有檔案的class,記得當初鳥毅也在CodeProject上找了一會兒,以下是鳥毅改寫的Code(原始出處忘了留:P ),授權以原始出處為準(逃~) Update:我改寫的class似乎太像(十年前的)Java,請看回應laneser寫的版本,這才是.Net風格呀。 using System; using System.Collections; using System.IO; namespace tenyi.io { public class FileExplorer { public ArrayList FileList = new ArrayList(); public ArrayList extensionLists = null; private string myPath = null; private bool recursive = true; private DateTime lastDateTime = new DateTime(1, 1, 1); public DateTime LastDateTime { get { return lastDateTime; } } public FileExplorer(string path) { myPath = path; recursive = false; FileList = GetFiles(myPath); } public FileExplorer(string path, string filter) { myPath = path; recursive = false; FileList = GetFiles(myPath, filter); } public FileExplorer(string path, ArrayList extensions) { myPath = path; extensionLists = extensions; recursive = false; FileList = GetFiles(myPath); } public FileExplorer(string path, ArrayList extensions, string filter) { myPath = path; extensi

Subversion不能merge時的處理

又是一篇個人筆記。 優秀主管帶領的優秀團隊在MCSD.Net Joseph兄的努力之下,目前已經進到coding階段,Joseph兄指導其他同仁把自己開發的模組放到branch避免干擾,但開始發現SVN令人詬病的merge問題。 由於處於開發初期,某些核心程式還不斷地更新,因此Joseph必須常更新trunk上的程式,而其他成員把trunk合併到自己的branch時常遇到問題。 以下為merge的標準步驟: 先commit自己的branch 再update自己的branch(這是因為TortoiseSVN的要求,不做不能merge) 把trunk合併到自己的branch 解決衝突 最後commit解決衝突的branch 必要時再把branch合併到trunk,方法如1~5。 講起來容易做起來難,尤其是遇到奇怪現象時需要靠經驗解決,有時候設定了svn:ignore的性質變動,會造成每次merge都有衝突,此時砍掉重練branch似乎比較快呀Orz 今天有兩位同事把TortoiseSVN從1.6.0升級到1.6.1後,合併時出現infinite depth的錯誤,個人猜測是.svn裏不知出什麼錯,也是砍掉重練才正常。 結論:終於知道為什麼gslin要把全公司的repository換成Git了。

試用多個Subversion GUI Client

為了協助優秀長官的計畫,先協助導入 Subversion ,我用 Apache+SSPI/NTLM整合認證 。接著要讓組員們能夠上手 svn 。要瞭解trunk/branches/tags的用法真是花了不少口水,雖然在公用磁碟有放jserv老大的優秀投影片,但同事們都趕著做案子沒看。我只能個別指導,公司找我這個時薪200元的打雜網管,有些不划算(加班就乘以1.33了呀) =_= 首先建議同事們用 TortoiseSVN ,在Windows下是首選(我自己用command line),再配合 AnkhSVN 在Visual Studio整合使用。 TortoiseSVN 現在有版本圖,與我4年前使用時大不同,穩定性也高。相對之下, RapidSVN 就遜多了,在Linux下也會常crash,因此不予考慮。 但是問題來了,有修改目錄性質後,trunk與branch的merge常會發生衝突, TortoiseSVN 在這方面雖然有進步,但仍然不強,所以我就試一下其他的 Subversion GUI Client。 首先用的是 SmartSVN ,雖然說功能比較強,但Java的速度就比不上native的client,當然可能與 SVNKit 實作方式有關,不過時間就是金錢,等到有衝突時再來測,這方面可以參考 http://selainsoft.blogspot.com/2008/01/smartsvn-and-svnkit-javasvn.html 。 接著測 eSVN ,看來是打算和 RapidSVN 拼,但從2007年後就沒有新版看來,又是一個無疾而終的專案。再測 SubCommander ,介面有點類似 SmartSVN ,但是功能遜多了。 最後一定要提: Subversion 的working copy會自動升級,因此若使用最新版的 TortoiseSVN 後,就無法再使用 RapidSVN 、 SubCommander 等GUI,只能與 SmartSVN beta合併使用,其實會造成困擾,所以若想同時用多種client,只能用舊版的 TortoiseSVN 或 AnkhSVN 。 結論:對大部份的使用者而言,在Windows用 TortoiseSVN 是最好的選擇;若是 idea 的瘋狂愛用者,可以選擇 SmartSVN 。遇到衝突時,就call團隊裏的高手

用CSS達成BorderColorLight及BorderColorDark的效果

今天在改一個asp的舊網頁,用CSS怎麼都設不出原來用html的BorderColorLight及BorderColorDark畫面好看,後來google找到 http://www.zeali.net/entry/412 原來要放棄CSS的簡單設定法 table { border: 3px outlet #ade1ff; } 要設成類似 table { border-top: 3px solid #ade1ff; border-left: 3px solid #ade1ff; border-right: 3px solid #4284e4; border-bottom: 3px solid #4284e4; padding: 0px; margin: 0px; border-spacing: 0px; border-collapse: collapse; }

機瘟

今天真不是個開玩笑的好日子。 星期一早上,正準備開始寫要交給優秀長官的報告時,有人反映網路磁碟不太穩,到了九點多,整台機器完全連不上去。跑到機房去看,根本整台hang住,連ping都沒反應。只好hard reset,經過2小時漫長的check disk後,幸好沒有嚴重的錯誤,等到13:00也重開成功。沒想到才半小時,機器又當掉了,這次不敢再讓機器慢慢的check disk,重開後先停用NOD32。記得在NOD32 3.0剛發布時也有類似的情況,這次有可能是NOD32 4.0惹得禍,不由得懷念起表現得中規中矩的OfficeScan。 昨天下午公司忽然網路出現異狀,查看之下發現有電腦亂發arp資訊,相信是中了arp病毒。 本部落格的忠實讀者應該記得,敝公司和相關企業是class B broadcast的網段,總公司與分公司也透過VPN連線,約有1000台PC在一個Lan... 因此,整個企業的網路就這樣被一台中毒的PC癱瘓。記得十幾年前,中央大學全校走一個gateway,因為某一台電腦把自己的IP設成gateway而造成全校網路不通。 由於Core Switch是相關企業負責,等了2小時後,相關企業資訊部查出來是敝公司的分部殺的人,小弟只好先拔VPN,今天再去 擦屁股 找出元兇。 早上八點就趕往分部,沒想到遇到白爛司機,說話比史特龍還不清楚,假設史特龍含了一顆蛋,他大概含了兩顆蛋。雖然敝公司分部位於市郊,但好歹也算是台北市,居然有司機路搞不清楚,叫他走平面就硬給我走高架橋,多繞了兩公里;又在單行道開過頭,害我平時150元能到的地方硬是跑到220元。 由於借了部門經理的高檔Notebook出門,當然到了分部就把Notebook接上switch hub,用二分法找出元兇,這部份花不到半小時就搞定。但因為分部的網路線拉得很怪異,本來想用埠號找出元兇實行上很困難,只好在SZ上偷偷地裝了 WinPcap 和 WireShark ,其實這個狀況用 SmartSniff 就夠了,因為我是把連到元兇的網路線直接插上SZ,只要能看到IP或Windows機器名稱即可。找到機器後用Trendmicro提供的好工具 iClean 去掃毒,可惜沒掃完 iClean 就hang住,試了幾次無效只好帶回公司重灌。 回到公司已經中午,下午處理些雜事後幫優秀長官的team開了一個 Subversion

Subversion+Apache的NTLM/SSPI認證

簡單地說明原因,公司的Subversion Repository要用NTLM認證,我在Windows上用Apache架SVN Server。 當然先下載Apache 2.2和對應Apache 2.2的Subversion,接著下載 mod_auth_sspi ,modules和bin都放好應該有的檔案後,在 httpd.conf 裏加上 LoadModule sspi_auth_module modules/mod_auth_sspi.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 接下來要設定權限,找到的範例要用 AuthzSVNAccessFile ,但我怎麼設定都不對,所以把Require user改成Require group,在 httpd.conf 設定如下 <Location /projectrepository> DAV svn SVNPath E:/projectrepository AuthType SSPI AuthName "Project Repository" # Require valid-user Require group "網域名\群組名" "網域名\群組2" SSPIAuth On SSPIAuthoritative On SSPIDomain 網域名 SSPIOfferBasic On # AuthzSVNAccessFile E:/projectrepository/svnaccess.txt </Location> 若有先進願提供正確的SSPI AuthzSVNAccessFile範例,不勝感激。 參考資料: http://www.wretch.cc/blog/mogula/22956644

從龍櫻看考試

耶~久違的閒聊文回來了。 最近工作壓力過大,今天出差就看了舊連續劇 龍櫻 (台灣譯名: 東大特訓班 ),我對這部戲特別有感覺呀!不是因為長澤雅美或是新垣結衣,因為我是社會上的輸家。 如果這部漫畫能夠早個十幾年出現,大概會改變我的人生吧?小時候我老媽每天只會叫我看書,只看書能考上台大嗎?保證不會! 為什麼呢?因為人都有盲點,除了愛聽好話外,人也會不自覺地看自己想知道的知識,對於不喜歡或沒興趣的東西會不自覺地忽略。所以除了看書,要多做題目才會完整地瞭解。和 東大特訓班 的方法一致,對吧? 我到考完研究所才體會到考試和研究不同,櫻木建二說得沒錯,考試最大的優點就是公平。但是考試有時間限制,必須把自己變成解答機器,才能快速地寫出答案。以前大學時鳥毅的成績不好,因為鳥毅不喜歡做試題,更不看考古題。這種堅持都是屁!不過就是個考試,不代表你的實力好壞,但別人卻用分數衡量你,所以要讓自己機械化。至於如何自我訓練在 龍櫻 裏都有,我就不多說了。 前幾年考SCJP時,由於教材頗多,我先花一個星期看超級速讀自學教材。平常我看書就不算慢,但是Java相關的細節頗多,所以把看書速度提升,之後再花一個星期看書,並把書後面的題目做兩遍。但是結果並不如我預期,才70幾分,約一年後我考SCWCD時,其實我對那些Pattern並不熟悉,但是直接用超級速讀的方式死背,加上做兩遍考古題,居然考了85分。所以我才說:考試的分數並不代表實力。 在台灣考大學要進台大實在很難,所以鳥毅班主任要告訴各位一個捷徑:考研究所碩士班。就算只有五專畢業,工作滿3年後就可以直接考碩士班,所以鳥毅實在很後悔沒讀五專呀!。但要先聲明不是百分之百有用,這個社會不是努力就會成功。如果不在乎什麼科系,找個冷門報名人數少的,找個十年的考古題做熟,基本觀念都不錯,其實就有很大的希望。但是盡量找不要口試的系所,不然像鳥毅一樣筆試高分卻被某大老以口試30分刷下來。(我當年口試若有60就穩上,他才出此下策,台大口試一般都會打60分,對於想讓他進來的學生都有80分以上。) 若是博士班,聽說要先找好指導教授才去報名,我也沒唸過博士班,所以請另找高明。哦,忘了提,某些工學院的系所缺正妹,除非妳像呂X妮被老師們排擠,否則正妹的口試分數一定高。(這兩天才知道,T大正妹大學也不是讀台大...) 後記: 這篇並不是純唬爛,鳥毅一位朋友就是大器晚成的考試達人。

Beyond RTFM

最近協助前單位做的專案,由於舊系統過多,經過一個月仍然停留在瞭解舊系統的階段。這幾天想起十幾年前學到的一個術語: RTFM 。 事實上,一個系統經過幾次的修改後,已經多少與原始設計不同,RTFM還不如RTFS。這個專案是敝公司第一次與該公司合作,其他的舊系統均為其他廠商所開發,因此取得源碼亦有困難,多半只拿到簡單的系統手冊與不一定能執行的二進位碼,某些系統連資料庫都不肯給,只給DB Schema的文件。 這幾天優秀長官要鳥毅看一個重要系統的asp,由於只有asp而缺乏可用的DB與VB 6 dll 源碼,讀起來非常痛苦。事實上,如果是可執行的系統,慢慢地trace或許可以找出脈絡。以這個重要系統為例,手上的文件只有操作手冊與DB schema,對於系統分析與設計除了介面外幾乎沒有幫助。但是仔細深入源碼後,卻發現asp內部與許多其他系統連結,而且源碼經過幾個人的修改,以風格及命名方式看來,應該是一間以上外包公司的傑作。 最近又得知為符合法規修正,此系統又要修改。這種時候若得不到客戶的幫助,我只能說:砍掉重練比較快。 當然大部分的長官不會同意全部重寫,因此在這種情況下需要3rd party的協助,我找到 Source Insight 這個工具,可以試用30天,所以... 小華 說 SlickEdit 也不錯,不過時間有限,所以只試用 Source Insight 。結果當然不出所料,對於這種近乎純網頁的asp,又大量利用script轉址, Source Insight 或 SlickEdit 根本找不到連結,所以畫不出call graph,其他的API之類就更別提了。 可預見的未來,這個系統一定會砍掉重練,只是遲早的問題。

遠來的和尚會唸經

根據線人指出,若找獨孤求敗當顧問,時薪是$3,000NTD/HR;所以敝公司找一個時薪$1,500NTD/HR的有名高手。(當然這是和他簽長期約才有的優惠)說實在話,鳥毅對高手顧問並沒有很高的期待,因為高手的主要專長在於資料庫,但這次的的需求是系統整合,雖然高手的經驗豐富,但多半也是開發新系統,對於這種舊系統整合,又充滿不確定性的專案應該還是首次吧? 由於高手的時薪很貴,和他meeting時鳥毅不在與會之列(意見太多不受歡迎?),據同事所言,高手說test只有在預算很高的大公司才有實行。這點鳥毅實在很詫異,微軟推TDD( Test-driven development )也幾年了;看一下 王克明介紹Test Driven Development By Examples 吧,鳥毅雖然不才,但經過國際大嘴巴顧問朋友的介紹,也深知Test First的好處。我很難想像,一個具有十幾年軟體開發經驗的人,怎麼會不懂測試的重要?當然,我承認懂得迎合長官的喜好與人際關係是在技術之上,但是從一位高手口中說出,還是令我難以置信。 在鳥毅短暫的程序員生涯裏,多人開發大型專案時,必須有固定的測試人員以確保系統行為與設計文件相同;因此若能有Test Case可以執行,將可大幅度減少人工測試的時間。一個顧問在輔導開發團隊時,首要之務不是應該建立Code Conventions與導入Repository和Test概念嗎? 在 你管別人怎麼想 中,費曼指出他在調查挑戰者號太空梭失事原因時,其實不是他自己找出原因;而是一位沒沒無名的工程師,藉由費曼這位物理學大師之口說出橡膠在低溫下未如預期般有彈性的事實。 在一個有迫切時程壓力的系統開發時,找個非常有名的顧問,並不一定會比你手下的無名小卒做得好,唯一的差別在於:時薪很貴的顧問說的話主管聽得進去。

將YouTube上的影片存成avi或mp3

帥學弟奉女友之命要抓一首歌,因為他女友在YouTube上看到這首歌很喜歡,打算放在手機裏。因為很難找,所以鳥毅就和帥學弟說直接轉檔的方法。 在Firefox上安裝 Flash Video Resources Downloader ,存成flv檔後,再利用 Extra.FLV 轉成mp3/avi即可。 如果無法用Extra.FLV開啟,有可能是因為解碼器未安裝,加裝K-Lite Codec Pack之類即可。(建議到 軟體王 下載,載點皆是台灣大專院校,網路上其他載點可能附贈木馬) 若是Mac/FreeBSD/Linux,在命令列輸入 ffmpeg -i xxx.flv xxx.mp3 即可。

好樣的Microsoft Word 2003

今天有位使用者反映,他某個Microsoft Word檔案編輯3~5個小時後,電腦會當掉。我本來以為是什麼幾百頁的大報告,他說只不過是一頁公文簽呈,只是習慣開檔就放著,有時候因為開會或出差不在,回來就掛了。 因為在下敝人小弟我從來就不擅長寫報告,就算是寫論文也是虎頭蛇尾,從未打開word不關超過1小時,所以只好放著測試。原本用Word 2003打開約18MB,經過一小時之後,確實成長到29MB,但其實並不算很大。我向長官報告Word可能有memory leak時,維修電腦的同事說,這是拼字檢查的原因。 於是在下連續按了十次F7(拼字及文法檢查的快速鍵),有建議跳出時就按取消,神奇的事發生了。Word使用的記憶體以每秒200k的速度成長,雖然我的桌機有4GB,但是一個32 bit Process應該也只能用到2GB,於是我在Word使用到150MB時趕緊關掉Word,以免系統crash。 註:並不是每個Word檔都會有這麼神奇的效果,可能是某個巨集或某種版面造成的;但是可以確定Word 2003的拼字檢查有嚴重的Bug,在Word 97測試相同檔案則無此問題。以往的經驗是幾十MB的大檔比較容易發生,在這種僅一頁的簽呈發生倒是頭一次遇到。 以下摘錄自 如何最佳化 Word 2003、Word 2002 和 Word 2000 這篇官方文件 關閉自動拼字與文法檢查 根據預設值,Word 會自動在您輸入時檢查拼字和文法。拼字錯誤是使用紅色的波浪狀底線來標示,而文法錯誤則使用綠色的波浪狀底線來標示。在某些電腦上,這些選項可能對效能產生負面影響。 如果要關閉自動拼字與文法檢查,請依照下列步驟執行: 啟動 Word。 在 [工具] 功能表上,按一下 [選項] ,然後按一下 [拼字與文法檢查] 索引標籤。 按一下以清除 [自動拼字檢查] 及 [自動文法檢查] 核取方塊,然後按一下 [確定] 。 使用幕後儲存選項 根據預設,會開啟 [允許幕後儲存檔案] 選項。透過這個選項,您可以一邊儲存文件,一邊繼續使用 Word。 這個選項會使用額外的系統記憶體。如果要節省系統資源,您最好關閉這個選項。如果要開啟或關閉 [允許幕後儲存檔案] 選項,請依照下列步驟執行: 啟動 Word。 在 [工具] 功能表上,按一下

近況報告

每隔一陣子沒什麼好寫時,我都會來個近況報告,表示這個Blog還沒死.... 忠實讀者一定有發現,我今年的產量非常少。原因無他,嘴炮打多了,口渴去喝水.... 在王土之下、浩瀚的 宇宙裏,嘴炮王已經很多了,我今年要幫忙前部門做案子,但原來的工作仍照舊。因此原來的 打混摸魚 充實自己的時間都在做事,手邊一堆片子都沒看,哦,是借來的米國連續劇,不是妖精打架啦(雖然也沒時間看,不過都是舊片)。平常上班的時間都沒空看新聞,下班看個網路新聞再開個Google Reader看幾篇就準備睡覺。 這麼忙當然也不會完全沒進步,首先花時間看HTML/CSS終於有些明白,至少知道 「標準遵循模式」和「Quirks 模式」的分別,也知道IE在UTF-8和Big5編碼字體會大小不同的特色(是feature不是bug)。以後用Visual Studio拉網頁後手工修版面的技術會好一些。 咳,總之,今後會盡量減少打嘴炮,致力於 累積宅的能量 充實IT技術。至於好用軟體的介紹,還是留給專業的 不來恩 ,我這個不專業白爛網管就專心打雜吧。

OpenWebMail的HTML Editor在Chrome無法使用

我很少寫email用HTML格式,今天想用表格才發現OpenWebMail的HTML Editor不准Chrome使用,但其實是相容的,因此小小修改一下。只要在openwebmail-send.pl 第2631列加上 if( $u=~m!Chrome!) # Chrome patch { return 1; } patch file 如下: --- openwebmail-send.pl 2009-01-06 16:48:24.000000000 +0800 +++ /usr/local/www/cgi-bin/openwebmail/openwebmail-send.pl 2009-02-22 22:33:41.000000000 +0800 @@ -2631,6 +2631,11 @@ ########## HTMLAREA_COMPATIBLE ################################### sub htmlarea_compatible { my $u=$ENV{'HTTP_USER_AGENT'}; + + if( $u=~m!Chrome!) # Chrome patch + { + return 1; + } if ( $u=~m!Mozilla/4.0! && $u=~m!compatible;!) { return 0 if ($u=~m!Opera!); # not Opera

Google Maps Control for ASP.Net

某優秀長官的新專案要開發Google Maps應用,他希望能夠用現成的control,不要人工維護JavaScript,也較容易開發成模組使用。因此在下就去找了一些用ASP.Net開發的相關資料: 如何在 ASP.NET 中使用 Google Map 之範例 Google Maps and ASP.NET Google's Static Map API WebControl Mapping with a GPS and C# A .NET API for the Google Maps Geocoder Lat Lays Flat - Part 1 : A Google Maps .NET Control Lat Lays Flat - Part 2: Advanced Google Maps .NET Control Usage Lat Lays Flat - Part 3: Creating A Google Maps .NET Control Lat Lays Flat - Part 4: An ASP.NET 2.0 Google Maps Control Google Maps Control for ASP.NET - Part 1 Google Maps Control for ASP.NET - Part 2 GMap.NET - Great Maps for Windows Forms & Presentation GMap.NET GoogleMap Control 目前尚未試用,歡迎有經驗的朋友分享。

DocProject安裝

又是另一篇個人筆記。以前寫過 .Net的HTML文件產生器 ,不知道 DocProject 是什麼可以先看,簡單地說就是 SandCastle 的Visual Studio Add-on,而現在的 1.11.0 RC Jun 8 2008比我當初試用的版本穩定 ,新版的 SandCastle 也比較快。 下載安裝後有精靈可以設定,所以不用花太多腦筋,其實產生chm就夠了,HxS我也打不開:P 這次安裝又遇到 .Net的HTML文件產生器 提到的bug,我猜是因為裝了Visual Studio SDK,把裝好最新版的 SandCastle 複製到有問題的目錄,重新產生 DocProject 專案就正常。 參考資料:http://www.cnblogs.com/hwade/articles/885020.html

Xuite改html結構

Xuite的Blog改了html結構,目前不知道變動多大,造成Blog Backup無法備份,等我有空去看看,但最近很忙,可能會拖很久(主要是我自己沒用Xuite呀!)。 歡迎加入本計畫共同修改。 (本篇同步發表於 Blog Backup )

在Linux驅動Buffalo WLI-CB-G54A

這篇是自己的備忘錄 Buffalo WLI-CB-G54A沒有Linux上的驅動程式,所以只好靠ndiswrapper,和Project Evil相同的東西 。 前幾年借同事的usb無線網卡用,就懶得管它,今天剛好看到 https://moto.debian.org.tw/viewtopic.php?t=8203&view=previous&sid=31fa522fb41ca0c037e550477edd6446 ,就把這張搞了幾年都沒成功驅動的卡拿出來。 安裝步驟: sudo apt-get install ndisgtk ndiswrapper-common ndiswrapper-utils-1.9 照高手的做法,下載 ftp://ftp.dell.com/network/R74092us.EXE 解開,高手實在強,能找到正確的driver,當年我用Buffalo的driver不能用就放棄了。 再用ndisgtk安裝driver,小綠燈應該亮了,若沒亮可能得重開機 sudo iwconfig wlan0 essid [你的SSID] sudo ifconfig wlan0 up sudo dhclient wlan0

關於Agile Software Development

最近鳥毅的twitter多了一位訂閱者,原來是高手 ihower ,看到他寫 採用敏捷方法的軟體開發合約該怎麼簽? ,就想到最近遇到的狀況。 由於前兩年換部門,因此coding的機會少很多,已經不太需要寫code,大部份都在做網管工作。最近前部門接到一個公家機關的案子,主要是整合現有系統,因為是專業領域,所以敝公司從打敗現有的資訊公司得標。 但其實此單位在招標書就寫著不合理的期程,把不甚明確的規格和很短的deadline寫在裏面。前部門的優秀長官也在苦思如何應對,找了一間號稱使用 XP 的優秀資訊公司商討合作可能性。 鳥毅與該資訊公司代表稍微聊了一下,大致上知道他們都是有不短的coding經驗,再找幾個年輕人訓練來做專案。 本來想建議優秀長官也使用 Agile Software Development ,但他表示由於時程太趕,光是訪談->需求分析->coding,就沒多少時間,不太可能像 XP 一個phase一個phase地做,必須採用Waterfall方式。其實優秀長官有點誤會 XP 的意思,快速開發並快速地將需求變化回饋到code裏,才是 XP 所追求的目標。 鳥毅對其他敏捷開發方法論並不瞭解,只知道 XP 的開發方式。不過 XP 所提倡的Test First等等觀念,幾乎都已被廣為使用,唯一被視為難做到的就是Pair Programming。連優秀資訊公司都 錯誤地 表示人的成本太高,所以做不到Pair Programming。事實上,根據 ingramchen 的親身見證,Pair Programming會產生1+1>2的效果,只是對coding的人很累,因為完全不能打混呀... ihower 有寫一系列「實戰敏捷開發 Practices of an Agile Developer 」,裏頭有不少新的Agile觀念與做法,讓在下獲益良多呀! P.S. 在下從國中學寫Apple Basic開始,過了十幾年看到 XP 才赫然有種相見恨晚的感覺,應該是每天埋首coding的人才比較容易喜歡 Agile Software Development 吧?

OpenSolaris吃的RAM

原本早就要玩OpenSolaris 0811版,拖到今天才有時間裝,果然是有RAM盡量用的最好典範,比Vista/Windows 7還猛。 Update:可能我沒說清楚,這是剛開完機,什麼都還沒跑的狀況... 請玩過OpenSolaris和FreeBSD/Linux/OSX/Windows 7/Vista再來刮我的鬍子,謝謝。 最後Update:這篇只是貼個紀念,沒想到一直有人留言,我又沒評論好壞呀! OpenSolaris用很多RAM並不是沒裝好,而是用在Cache,在Cache什麼呢?檔案呀!因為ZFS會在背景偷偷地搬檔案,確保檔案沒有損壞,這是Sun的工程師說的,不是我個人的看法。

Java的bzip2函式庫

前幾年以Java寫Mail Server上log檔的判斷程式,原本是gzip格式,後來FreeBSD改成bzip2,因此必須找個bzip2的library。 找到 bzip2 library from Apache Ant ,去修改原本的程式卻不work,一直說檔案應該是'h'開頭卻得到'B',bzip2檔案格式明明是BZ開頭呀?再深入去找到 這 才知道Ant的這個library只寫了一半,必須自己處理前兩個byte。所以讀的時候要處理成: try { InputStream is = new FileInputStream(infile); is.read(); is.read(); BufferedReader br = new BufferedReader(new InputStreamReader(new CBZip2InputStream(is))); 真是太鳥了呀...

Lazybuntu已支援AMD64版

Lazybuntu 的開發者之一雨蒼昨天留言給我,才知道 Lazybuntu 已經支援AMD64版了,是很想試試,但我該裝的全都裝了呀....等我下次再裝Ubuntu amd64時一定會試試,感謝雨蒼提供的訊息與他的努力。

OpenWebMail中文檔名附件問題

最近鳥事很多,加上放假都去看車,所以沒有更新Blog。(對,我懶:P) OpenWebMail自從2.53版後UTF-8做得相當好,但是在IE卻會發生中文檔名附件無法下載;用Big5介面則無此問題,但這樣實在太鳥了,尤其是敝公司有幾位員工名字有unicode字元,這樣就不能正常顯示,決定動手去硬改完全不懂的Openwebmail Perl程式碼。 把openwebmail-viewatt.pl改掉,在269列前,加上 } elsif ( $ENV{'HTTP_USER_AGENT'}=~/MSIE/ or $ENV{'HTTP_USER_AGENT'}=~/Chrome/ ) { my $filename_encoded = uri_escape($filename); $attheader.=qq|Content-Disposition: attachment; filename="$filename_encoded"\n|; 最前面也要加上 use URI::Escape; 由於小弟手賤,把所有員工的openwebmailrc都改成utf-8,就不管以上hack在big5是否正常了:P (會變亂碼,但仍然可以下載...) Update :做成patch file,如下: --- openwebmail-viewatt.pl 2009-01-06 16:48:24.000000000 +0800 +++ /usr/local/www/cgi-bin/openwebmail/openwebmail-viewatt.pl 2009-01-06 16:14:24.000000000 +0800 @@ -4,6 +4,8 @@ # use vars qw($SCRIPT_DIR); +use URI::Escape; + if ( $0 =~ m!^(\S*)/[\w\d\-\.]+\.pl! ) { local $1; $SCRIPT_DIR=$1 } if ($SCRIPT_DIR eq '' && open(F, '/etc/openwebmail_path.conf')) { $_= ; close(F); if ( $_=~/^(\S*)/