星期三, 7月 30, 2008

又見Vista負面新聞

有位在電子媒體業工作不願具名的朋友告訴我,媒體對於著作權的要求是引用就要錢,新聞若標題全文引用也是不允許。所以在此必須做些小修改,爾後均依此原則辦理,請見諒。
過半只愛用XP不喜歡VISTA 消基會:微軟應該回應
不愛用Vista想換回XP 消基會要求微軟七天內出面
使用者不愛用微軟Vista作業系統 微軟回應:不習慣所致
微軟推Vista 強迫用戶升級?
根據鳥毅最近兩個月密集測試Vista的結果,其實幾乎所有的軟體都有對應Vista的升級版本(當然,絕版的要除外),例如Total Commander,必須用7.0以上才會正常顯示。但若是沿用舊版,則會有許多不可預期的結果,尤其在Vista amd64+UAC的情況下。對於一般使用者,鳥毅還是覺得關掉UAC最省事。另外driver的部份則很棘手,Logitech許多舊型webcam都沒有Vista的driver,更別說一些scanner或專屬頡取卡。

結論:若用舊機,請繼續用XP;買新機附Vista的朋友,若沒有必要的舊程式,只好丟了他換新版。至於買新機又想用XP,得求神保佑所有的硬體都找得到driver(現在比一年前好找多了,真是奇蹟呀)。
Update:台灣微軟 Windows 部門經理 葉怡君 寫的
我也愛 XP
Vista為何那麼機車...

mvdis不太穩

機車的行照到期,正想連上mvdis網站換照時,就發現....掛了。雖然是下午六點,但也不要這麼容易掛嘛~ …

星期二, 7月 29, 2008

避免系統被super programmer獨霸

因為有位"An Embedded System Engineer"問要如何解決"系統被super programmer獨霸",鳥毅在留言已回答要採用Pair Programming。

但若照本宣科實行上一定會遇到困難,就鳥毅所認識的朋友裏,沒有一間資訊公司採用Pair Programming。所以在此推薦一位高手:ingramchen。他在這篇提到採用Pair Programming,另外幾篇請看此搜尋結果

若對Pair Programming沒啥概念,可以先參考Q大寫的 程式碼共同擁有,有助能力提升

星期一, 7月 28, 2008

重構不是萬靈丹

若是公司資訊主管,又沒有公用的源碼 repository,請你就別往下看了。

上星期看到Q大 程式碼共有下的團隊開發 馬上就轉寄給主管看。

其實Q大寫得很客氣,一間公司的系統沒有明確的code conventions,又不推動code share,只是讓這個系統綁死在某個programmer手上。

就算這個高手再強,品德再好,他總有一天會因為業務關係而不得不把舊系統交由他人維護。拿敝公司來舉例,VB超人和鳥毅交情好,他寫的程式也很簡捷,但是風格差異實在過大。當鳥毅接收VB超人所開發的瀏覽程式時,根本無從下手。這兩年有需要修改的部份,仍然要請VB超人撥冗修改。就算鳥毅有心想要花時間研究,但來自使用者的壓力與其他業務根本不允許花幾天去看別人的程式。

此時或許會有朋友說:重構就好了嘛!在VB6沒有重構工具的情況下,要不影響原程式重構實在很困難;就算能重構,光修改變數和物件,就不知道要花幾天時間。

侯捷在重構的譯序裏提到:
我比較擔心,閱歷不足的程序員在讀過本書後可能發酵出「先動手再說,死活可重構」的心態,輕忽了事前優秀設計的重要性。任何技術上的說法都必須有基本假設;雖然重構(或更向說 XP,eXtreme Programming)的精神的確是「不妨先動手」,但若草率行事,代價還是很高的。重型開發和輕型開發各有所長,各有應用,世間並無萬應靈藥,任何東西都不能極端。過猶不及,皆不可取!
事實就是如此,重構不是萬靈丹,好的開發方法與演算法遠勝過程式技巧。事前的需求分析與架構的設計,在一開始就決定軟體的未來。(這幾年已漸漸沒在寫code,所以看到 重構-向範式前進 雖然很想買,但看了也用不到,還是作罷。)

XP和CMMI不同,並不是空泛的教戰守則,而是大師的經驗法則。勿以善小而不為,用在XP上亦然呀!拿一間已被收購的入口網站舉例:這間公司在香蕉國拿下超高流量,但是裏頭RD各寫各的程式,雖然每個人的code都有交出來,程式技術也夠,但是卻因為沒有好的code conventions,舊服務大改版時幾乎都得重寫,服務移交給新人維護時也有許多困難,常常得找原開發者。我想這在許多中小企業也是一樣吧?只是MIS流動率較低,通常還找得到原開發者。

星期日, 7月 27, 2008

轉型有困難

不願具名的朋友看到鳥毅最近貼同事素人照,希望鳥毅轉型成正妹照部落格,但這....實在有困難呀!理由如下:
  1. 目前看到的正妹照,除了自拍照外,轉貼皆有版權問題。(除非你姓簡...)
  2. 就算我每天厚顏無恥去拜託同事,公司裏的妹數量有限,又不像正妹百人斬有正當理由拜託(當兵)。 
  3. 鳥毅希望在廣大網海中繼續保持暱名(除非有人高薪請鳥毅具名寫文)。
基於以上三點,只好自己摸著鼻子寫些IT的心得。
為回報廣大讀者,最後告訴各位宅男一個好消息:在mobile01爆紅的美少女瑤瑤,她已經成為中視數位遊戲王的美少女,相信瑤瑤出現在偶像劇之日不遠。


星期二, 7月 22, 2008

掛羊頭賣狗肉

今天敝公司來了兩個人,說是CPR推廣協會,講不到一半就開始介紹高血壓。CPR是沒錯,但怎麼會介紹高血壓呢?鳥毅好歹也參加過急救和滅火課程,這實在很怪呀!

果然,後來就開始所謂的置入性行銷,說他們用的血壓計很好用,只是因某些因素所以沒有在台灣賣等等。反正結果和大家預料的一樣,開始賣一台NTD$4500的電子式水銀血壓計。其實我也不覺得很貴,只是他們還特別成立一個防高血壓協會,真是用心良苦呀XD (對他們手法有興趣的朋友請搜 "GLS-909",台灣的部落格)

在此提醒各位,水銀體溫計在今年7/1起禁賣,水銀血壓計原本也會禁止之列,但因某些原因還未禁賣。水銀血壓計確實比較準確,但使用上較麻煩,所以家庭使用還是以電子式血壓計為主。

不再廢話,附上該協會的正妹照一張:(想見她就自己打電話給該協會,請她去宣導CPR吧:P)

星期一, 7月 21, 2008

星期六, 7月 19, 2008

Asp.Net的TreeView Checked事件

美麗的MIS小姐希望在asp.net的TreeView點選節點時,會自動選取子節點,但TreeView為了不讓畫面一直閃動,所以沒有支援Node裏CheckBox的AutoPostBack。 這種時候,身為閒人的鳥毅當然要幫事務繁忙的MIS小姐找solution,對岸的高手早利用JavaScript與asp.net的Attribute做出來,參考:asp.net TreeView 一些操作

簡單描述一下:在aspx加上

<script language="javascript" type="text/javascript">
function TreeNodeChecked() {
var ele = window.event.srcElement;
if(ele.type=='checkbox')
{
var childrenDivID = ele.id.replace('CheckBox','Nodes');
var div = document.getElementById(childrenDivID);
if(div==null)return;
var checkBoxs = div.getElementsByTagName('INPUT');
for(var i=0;i<checkBoxs.length;i++)
{
if(checkBoxs[i].type=='checkbox')
checkBoxs[i].checked=ele.checked;
}
}
}
}
</script>
在aspx.cs的Page_Load修改為

protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add("onclick", "TreeNodeChecked();");
}


最後,為拉抬人氣,附上美麗的MIS小姐倩影:

星期五, 7月 18, 2008

恭喜祥哥

前兩個星期假日很忙,就是因為南下去幫忙祥哥訂婚和結婚。 在此恭喜祥哥終於抱得有容妹歸,附上兩張爛手機拍的照片,證明確實有容。(等當事人從意大利回來,再看是否能取得清晰版的照片)



星期三, 7月 16, 2008

今日正妹

原創!!!

另一位美貌與才藝兼備的T大碩士高材生正妹同事




這位神秘正妹,當然有男友。可惜沒照到她桌下的短裙和美腿呀...
問我為什麼要馬賽克處理?其實是GIMP的高斯模糊:P 因為怕別人認出她,就知道鳥毅在哪間公司服務,到時候演出追殺比爾就不好玩了XD...

星期二, 7月 15, 2008

捷運的分析行控軟體

上星期的某天早上,經過台北捷運某站時驚見此畫面,隨即用爛爛的照相手機拍下。 (可惜不夠清楚,若有手機商願意贊助具自動對焦的手機請留言XD)

星期一, 7月 14, 2008

VB 6 ActiveX 在IE7的Modal Dialog失效問題

最近遇到ActiveX Modal Dialogs do not work in IE7相同的問題,解決方法在FIX: You can still interact with Internet Explorer 7 when a Visual Basic 6.0 modal form is displayed from an ActiveX control in Internet Explorer 7

以下翻譯成人話。

問題描述:IE7切換到ActiveX Modal視窗時,會"卡住"無法切換;IE6無此問題。
解決方法:安裝6.0.98.02版的Msvbvm60.dll。

原本安裝到XP SP3應該都會順便更新Msvbvm60.dll,但是好死不死,這次User使用的程式元件有用到額外的ocx,因此下載cab包裝時,把新的Msvbvm60.dll換回舊版,才發生此現象。

以上供提供給和鳥毅一樣悲情還在維護VB6 ActiveX的朋友。

辣妹同事

原本想學朱學恒每天貼一張正妹照,但是想想會有法律問題,鳥毅這麼窮,被告大概就等著坐牢了。參考大河馬寫的:小心,網路警察就在你身邊!

因此今天特地情商七年級的辣妹同事,讓鳥毅拍張照片貼上來。
這是原創呀!!!
這位辣妹,咳,是活會。可惜今天沒穿短裙和網襪,不然又一堆人流口水了。

註:在獲得當事人同意前,照片禁止轉貼轉載。

星期五, 7月 11, 2008

HiNet IPS,有效嗎?

公司最近將上網的ADSL升級為FTTB,因為搭上Hinet優惠,所以得到免費HiNet IPS。剛想到就去大炮開講找最新的受害網站,決定拿國立教育廣播電台電子賀卡中心網站被植入惡意連結當做測試範例,用IE7連上國立教育廣播電台電子賀卡中心,沒想到Google和Firefox都會警告,IE7和HiNet IPS卻都沒警告。

本來以為HiNet IPS完全沒效果,但是直接連 http://www.lokriet.com/ngg.js 卻無法下載(此為後門,勿隨便測試),看來還是有防護效果。還是我弄錯了?有人能告訴我嗎?

Python的編輯器

在下一直不瞭解Python,但前幾天抓了一支小程式下來看,內建的idle太遜了,於是找到SPE IDE來用。SPE是用Python寫的,所以當然用起來沒有太大的問題,用wxPython肯定可以跨平台。

後來又發現DrPython,也是利用wxPython寫的,不過我試用有些問題,覺得SPE比較好。

另外基於GTK+的多功能編輯器Geany編寫Python也很棒,支援的平台也很多(缺Mac)。

以上三個編輯器在Ubuntu都有內建,可直接從套件管理程式點選安裝;Windows平台也可以使用。

當FCKeditor.Net遇上Ajax.asp.net

原本使用FCKeditor.Net這個Open Source的Rich Text Editor一段時間,但是網頁加上Ajax.asp.net的Update Panel時,FCKeditor.Net就會發生問題。

幸好國外高手已找出解決之道:Easy way to get FCKEditor to work inside an ASP.Net AJAX UpdatePanel,希望下一版本的FCKeditor.Net直接相容Update Panel呀!

星期四, 7月 10, 2008

淺談專家系統

因為Fyodor Yarochkin在SyScan提到Knowledge Machine,讓鳥毅回想起年少時學人工智慧的經驗,剛好最近沒啥主題寫Blog,就來簡單介紹一下目前已不受重視的專家系統

Fyodor用的KM算是很簡單的RBES(Rule Based Expert system),leeym的指導教授謝尚賢在有提到專家系統從RBES發展到CBES(Case Based Expert System)。CBES是以案例訓練的專家系統,"理論上"不用自己去找出法則,但實務上應該還是類神經網路(又稱人工神經網路)比較常見。類神經網路計算時,仍然要自己找出各種因子,以矩陣運算找出相關係數矩陣。

在台灣人工智慧/專家系統的書籍應該是葉怡成教授著作最多,印象中他擅長類神經網路。記得交大以前有個人工智慧實驗室,不過現在找不到了。

人工智慧最常用的程式語言應該就是LISP,現在應該是GNU CLISP最常見,還有FSF之父RMS寫的Emacs,其他的請參考Emacs本身除了是編輯器外,也是LISP的interpreter,按ctrl-x ctrl-e就可以執行目前的LISP片段,在撰寫LISP時非常好用,初學LISP也不用裝CLISP,只要Emacs就足夠。據鳥毅所知淡江大學王人牧教授的LISP功力深厚。

另一個常見的人工智慧語言是Prolog,Prolog特別之處就是內建推論引擎,現在似乎是SWI-Prolog比較強,在下沒用過,請自己玩。

最後介紹一個真正有完整功能並Open Source的專家系統CLIPSCLIPS原本要研究單位或付費才能取得source code,現在改到sourceforge,成為NASA的public domain software。CLIPS也是採用LISP語法,本身有推論機。對CLIPS有興趣的朋友,可以與王人牧教授討論,他有好幾年的CLIPS開發經驗。

Blogger愈來愈強了

今天寫Blog時稍微設成晚一點點的時間...結果居然變成scheduled!Blogger愈來愈強了,真不愧是Google旗下呀!只是... 怎麼還是沒有trackback呢?

星期三, 7月 09, 2008

參加2008 SyScan 前瞻資安技術年會(下)

現場參加的駭客不少人用Ubuntu,也有用Mac,著實令在下羨慕。
第二天的議程都是中文,因此心情放鬆,也比較好睡:P

邱大炮介紹的活逮惡意程式,在工具出來前有些麻煩,所以一般公司的MIS大概也還是用重灌大絕招。

TrendMicro的Sean介紹嵌入式script攻擊,他以程式分析的方式來看,幾乎都在介紹機器碼和組合語言;鳥毅只玩過6502組合語言(早忘光了,想學的人找lukhnos吧),所以中間小睡了幾次,實在抱歉XD 不過還是學到不少東西啦!

鳥人的演講功力愈來愈好,他似乎有看到敝小站的文章,感謝他替鳥毅廣告XD
至於工具痕因我對Windows實在不夠瞭解,只能希望他的工具盡快做出來,造福人群。不過敝公司不管他的工具做出來否,還是要靠重灌解決user中毒XD

PK處理記憶體保存的功力實在太強,讓我想disable Notebook的1394 :P 很慶幸自己不是駭客呀!

Kuon長得比我想像中更像駭客呀!只是我對Python不甚瞭解,唯一知道的是新版Python沒有decompiler XD

Nanika對PocketPC 5上的rootkit展示也頗驚人,很慶幸自己沒有Win手機XD

這兩天聽完的結論:網路實在是太不安全,世界變成非常不安全,凡事自己要多小心呀!

今天上班一堆事情等著鳥毅,忙到不行,所以等到現在才寫完。SyScan官方Blog快點補上正妹照吧!

星期一, 7月 07, 2008

參加2008 SyScan 前瞻資安技術年會(上)

昨天很晚才回家,非常地累,所以今天睡到八點才起床。
起來後打開電腦確定到台大醫院國際會議中心,決定坐捷運淡水線到台大醫院站,所以看一下diggirl再出門。

下車後走了一段到才到,走上二樓嚇我一跳,人非常多,而且接待的外國人中文都說的不錯,是阿碼科技的員工嗎?重點是居然還有正妹,猜測是大公司的資安工程師,敝公司只有鳥毅一個人要負責網管+防毒+防駭+伺服器管理+幫MIS寫爹不疼娘不愛的系統,唉~ 若不是現場禁止照相,鳥毅很想偷拍正妹貼上來,這件事可能要拜托Kuon幫忙:P 坐在鳥毅後面一排似乎是電信警察,都以學長學弟相稱,只是有人把鳥人與鳥哥弄混,他們年紀差了快一輪吧XD

課程內容倒是不令人意外,Wayne幾乎都在官方Blog預告,對了,Wayne的開場講得很好。

Adam Laurie打開飯店保險箱,看來只是短路而已吧?有點在唬外行人。至於他可以覆寫RFID的廠商ID當然就是技術囉~這真的很猛,可惜Adam沒有demo解MIFARE卡。

Fyodor Yarochkin果然有俄國駭客之風,口音很重,一開始不習慣有些單字聽不太懂,結果後來有人以中文發問時,他居然以中文回答,唉,早點用中文說就好嘛!鳥毅聽慣美式英文,Richard Smith的英國口音也聽不慣,對台灣人來說Fyodor的中文比英文還好:P 大家似乎都對他以Lisp寫KM的rule太過有興趣,重點不在這呀!鳥毅十幾年前學AutoCAD時玩過一點Lisp,所以知道很多Expert System都用Lisp語法,讓Knowledge Base與資料合一,這是沒玩過Expert System的朋友比較不瞭解的部份。用不用SQL不重要,重點是在他的botnet system呀!目前的惡意程式大都以P2P(Peer to Peer)的方式形成Botnet,但遇到防火牆則很難主動聯絡,只能由Client向Server讀取命令,因此大部份會有一個中控網址可追踪;Fyodor設計即時通訊模式,則只需要有一個可聯絡的Google talk即時通訊帳號即可。

Petr Matousek其實講得很好,但是他機器人式的平淡語音,讓全場睡倒不少人。Wayne要不要教他中文,請他下次用中文講? XD

Richard Smith的攻擊手法真的是未來式...相信短期內不會有利用firmware攻擊。

(待續)

星期五, 7月 04, 2008

史上最囧的山寨online game

看到《仙劍Online》內部開發版本外流?! 令人震驚的遊戲內容公開,著實令小弟佩服;接著到官網看到關於網絡上談論本遊戲的謠言解答

看了官方說法再看留言,
如果沒有山寨,我們生存的意義何在?
沒有山寨,國將不國!
支持你們,走自己的路,讓鳥人飛去吧
實在是太妙了,真不愧是史上最囧的山寨online game!

星期三, 7月 02, 2008

增加廉價磁碟陣列

公司的Mail Server空間不足,愈來愈多user喜歡用webmail,都選擇leave mail on server,而且開始丟大檔上去當web hd。

因為長官不想花大錢,但是鳥毅希望至少有Raid 1,所以去找SR3620-2S-SB2這台廉價磁碟陣列。原來的Mail Server用外接SCSI HD很穩定,但最近聲音變大,可能快到大限,再加上空間不太夠,用得更加心驚膽顫。用外接式硬碟不但可以在當機時移機容易,而且可以有效降低電腦機體內的廢熱,很想在家裏也買一台。

用SATA硬碟(750G)硬體成本大概只有SCSI(73G)的一半,容量卻大了10倍,想想google和yahoo用PC當server實在有道理。(Kimo用的是貨真價實的Server,不是PC喲~)買SR3620實在很後悔,早知道就買SR3610-2S-SB2;因為SR3620只有燈號,害我重灌一次。

原來買的HD有一顆出問題,所以SR3620開機後開始閃紅燈,而且發出非常大的聲響,幸好有多買一顆HD,換了後卻還要電腦開機後才會開始rebuild,而不是SR3620開機就開始rebuild,電腦重開機SR3620還會重新rebuild...

所以第一次安裝FreeBSD時速度非常慢,以為是FreeBSD不支援,重灌時就飛快,至於多工能力就等上線測試了。

星期二, 7月 01, 2008

Google動作頻繁

Google最近動作頻繁,一方面準備對Flash開始搜尋,又將停止Adsense推薦,還有「e-mail上癮者」(e-mail addict)工具(參考),看來網路王者與追隨者的距離愈來愈遠了呀...