Friday, March 19, 2010

上班雜感

最近上班心得很多啊,公司內大概有快 100 個寫軟體的吧,不過真正有程式人的意識的,應該不會超過一半吧。這點在台灣實在很可悲。

對話1:

A:這個東西規格開這樣好不好?這樣定你應該程式會比較好寫吧?

我:ㄟㄟ…。

OS: 喂,這東西是要給客戶用的耶,客戶只在乎這東西好不好用,不會在乎你程式好不好寫好不好?難怪連公司內部也沒幾個人會用你的東西…。

對話2:

B:你的程式會造成我的東西爛掉耶。

我:可是我只是呼叫你的 API 啊,而且我的程式碼都沒改,改的是你的程式,我要怎麼幫你看?幫你 debug 你的程式嗎?

OS:x大的耶…怎麼會是這付德性。有聽過微軟要使用者幫它 debug Windows 的 bug 嗎?

所以他們寫的程式實在很鳥,鳥到上層應用程式的呼叫方式還得配合他們定的方式才行,不然他們不負責 debug,我剛進公司的時候,最常聽過的一句話:『可是 xxx 應用程式不會啊』。廢話!因為 xxx 應用程式是你們寫的,球員兼裁判,程式怎麼寫都不會出現問題啊。只要應用程式不是依照某個流程,有問題就自己想辦法吧。這種方式在客戶有求於你的時候,當然是可行的,不過客戶應該也是敢怒不敢言吧。一旦公司競爭力下降,或是競爭對手能力上升,應該會很慘吧。

最近要幫他們寫個轉換工具,結果他們的思維還是一樣:『我們有提供轉換工具喔,不過格式要照我們定的格式才可以轉換成功』。我聽到差點昏倒。

轉換工具存在的前提是客戶不需要改動任何程式碼,就可以轉換過去新平台。今天你還要客戶改程式才能套用轉換程式,那客戶直接把程式改完就好了啊,幹嘛要你的轉換程式?況且,用一些文字編輯軟體來作文字替換也是同樣可以達到相同的目的,那這個轉換工具存在的意義到底在哪裡?難道只是可以跟客戶宣稱『嘿嘿,我們有提供轉換工具喔』。

Monday, January 04, 2010

AutoShutDown

自動關機程式。因為電腦有預約錄影的關係,所以自動開機完之後如果沒開啟錄影程式就得自動關機,不然電費就很貴了…。

之前找了很久,不是要錢就是不合需求,後來在這裡 http://plog.tcc.edu.tw/post/530/8256 找到合用的,它是用 windows 內建的 shutdown.exe 加上排程完成需求。不過有個缺點就是會強制關機,不會詢問使用者…常常電腦用到一半就強制關機了。

所以因緣際會下就自己寫一個吧,其實沒有花很多時間,只是寫程式時需要很專心罷了。

需求:

  • 可以分每週的哪一天,那個時候關機。
  • 不需安裝。
  • 開機自動執行
  • 要關機前先等30秒,之後沒回應自動關機。

自動關機是呼叫 ExitWindowsEx() 或 InitiateSystemShutdown(),不過 InitiateSystemShutdown() 有範例可以抄。

開機自動執行很簡單,直接寫 registry 就行。不過在 Windows Vista/7 可能行不通。目前應該不會用 Windows 7 啦,實在太貴了。

config 檔案是用 xml 格式,parser library 用 xerces,好像有點牛刀殺雞?

結果花比較多時間的是透過 WMI 取得系統資訊…。

下載地點:http://cid-1afa215285f12424.skydrive.live.com/self.aspx/.Public/AutoShutDown.7z

Friday, April 24, 2009

發洩一下

唉,最近上班的感覺很差啊,都是人的問題。感覺公司內,只要打嘴泡贏就好了。

拿今天的對話來說好了:

老闆:『東西傳一傳會掉耶。』

我:『啊 protocol 的定義就是會掉啊。』

老闆:『可是某某某說幾乎不會掉。而且 protocol 只定義可以掉,並不代表會掉!』

我:『…』

OS:如果都不會掉,那幹嘛定個可以容忍掉 packet 的 protocol?反駁的話搞不好會被叫去證明我的論點,算了,還是乖乖閉嘴好了。當手下又不能叫老闆證明他的論點…。而且我已經答應要去看看掉的情況了,這個也要先作假設嗎?

老闆:『正常情況下應該是不能掉!』

我:『…』

OS:我也知道啊,問題是什麼叫『正常狀況』?出問題的環境是正常狀況嗎?算了,還是不要多事情好了。而且,如果 protocol 說可以掉,它又沒定義掉多少算不正常,所以本來就要想到掉的狀況啊。或許老闆是對的,但是在證據還沒出現之前,會不會太武斷了點。

這讓我想到之前類似的對話:

『小孩三歲前學這個,以後的個性會內向!』

『可是有的有學,看起來還是很外向啊?』

『因為他內心還是內向,外向是裝出來的!』

喔,這樣是要我怎樣接話。

codeblock