Wednesday, April 15, 2009

尊重不同的世界

今天一個外包的廠商用MSN傳送一個power-point檔案給我,說要我看一下內容,我回應他

『我的notebook是沒有裝office相關套件的linux,我回去再看』

沒想到對方的回應讓我有點不解,他似乎覺得我是因為在上班所以不想看,這是我編出來的理由,或許現在有人電腦裝linux不是怪事,但連所有office套件都沒裝似乎不是這個星球的人做的事,我~~也懶得解釋了。

有趣的地方是現在似乎每個人已經習慣自己的電腦裡面有『每個人都應該有』的軟體,所以當你把文件丟給別人的時候不會問別人『你有沒有xxx軟體可以看』,因為~~沒有是你自己有問題。但每個人的需求都不同,甚至對軟體的喜好也不同,這些就像是身處不同世界的人看著對方的詭異行徑。

其實就算使用openoffice,也有許多用微軟office的軟體製造出來的檔案無法顯示完全正常,恩~~我知道是微軟的問題,但另外的問題是現在的使用者已經習慣一個單一而制式化的無趣世界。所以其實我是支持公開格式的人,如果格式是公開的~~~誰管你用啥軟體。

但這樣的情況在產業界卻不容易發生,每一間廠商都用獨特的格式來包裹使用者,讓使用者變成必須被一直壓榨的對象,這種現象台灣在一個產業格外明顯:導航地圖。說實在的台灣的地圖資料提供商並沒有太多,很多起步的公司也是用運研所的基本圖來改,但是所有的廠商都會做一件事情,把這些格式轉成另一種別人讀不出來的格式,轉換的重點不只是效率(往往效率是最後的考量),而是~~防止複製。在國外的地圖有些不太一樣的發展,有一些專門只做圖資的公司專心的維護資料收取費用,而軟體公司專心研發更友善與更有效率的軟體,所以產業才會進步。

其實文書處理軟體也是相同的狀況,不知道從何時開始,好像你沒有開啟.doc檔案的能力,你的電腦就被宣告成廢物,不過~~或許我可以產生tex文件但對方無法使用,這又是不同世界的差異,但應該要尊重與你不同世界人的人。

在公司裡面因為開發linux的程式,所以我也就理所當然的把PC裝上linux,不過其他人卻是都是winxp+vmware,其實只要能夠工作,我也懶得管你用啥OS,不過當你要拿奇怪的windows程式的資料給別人的時候,我想應該要考慮到對方是否可以使用,而不是~~我有盜版的軟體,要的跟我拿。

莫名其妙被誤會成使用鳥藉口~~這~~還真是一個鳥世界呀。

Monday, April 13, 2009

iPhone

最近朋友介紹一個開發iPhone小程式的外包給我,雖然說我沒有mac寫程式的經驗,不過對方還是覺得ok(我想是因為我便宜吧~~~哈,反正我是抱持好玩學習的心態),因此開始了我的第一個iPhone與mac程式經驗。

不過Apple這死要錢的公司真是過份,還要開發者交一年99美金才能把程式放到iPhone上面,這~~我~~當然不付錢,這個時後就覺得Open Source真是親切呀~~連這都有人幫大家解決~~ㄏㄏ。使用一些破解的方式可以讓iPhone不綁SIM卡而且還可以安裝自己的軟體上去(透過cross-compiler,不是用XCode),不過台灣的中華電信版本iPhone已經是不鎖sim卡的版本,因此只要安裝installer與ldid這些軟體就好,透過網路就可以把軟體丟上iPhone(透過ssh)。

更自由的iPhone開機出現了~~~~鳳梨~~~ㄏㄏ


有terminal看起來更順眼了~~ㄏㄏ



新的經驗~~objc並不會太複雜,只是覺得interface builder暗地裡幫工程師做太多有的沒的,因此決定不用interface builder,反倒覺得程式比較好寫(這叫犯賤嗎~~哈),不過~~要我去買一台mac我倒是會猶豫了,因為我覺得還是linux好用,不過如果跟M$比Mac還是有優勢啦~~哈。

Wednesday, March 25, 2009

軟體合法

今天在Slashdot看到一篇文章講到在工作上因為前一位職員幫公司內的PC都裝了盜版軟體,我想這個位置應該是類似MIS的工作吧,但是當他接手後,如果跟公司員工解釋說公司內部沒有這些軟體或是他是非法的,通常會讓對方非常生氣,因為~~以前那位仁兄都可以生出來。

其實在資訊產業上班,尤其是小公司,這類的問題層出不窮,有時候甚至你不得不低頭,以我的例子來說,之前曾經在一個軟體公司,裡面的開發環境都是windows-base,當然沒辦法需要使用VC這類的編譯環境。上司拿給我盜版的軟體,安裝呢~~總覺得自己是這邪惡海盜王國的幫凶,不裝呢~~我怎麼工作?我想我是不會自己去買一套正版的,因為除了工作之外我根本不用windows。

除了工作之外,生活上也是一樣的問題,因為自己從事軟體這行,親朋好友似乎把你當成補帖商,要啥軟體就跟我要,每一次要解釋這些版權的問題總是會引起一些『你是不想幫我吧』的感覺。介紹他們自由軟體~~恩,他們一點興趣都沒有,只想要使用那些『已經會使用』的軟體。

所以現在我現在大多找linux上面的軟體設計工作,不過~~在linux上面開發軟體使用linux的機器對很多公司主管來說也是把我當怪人~~哈,很多從事linux程式設計的工程師都用windows平台,當然現在的VM都做的很有效率,不過總是缺乏一種使用者的觀感。這樣的問題或許在Mac與PC之間更為明顯,因為操作方式更大的差異(所以我也用WindowMaker來減少落差~~哈)。

軟體合不合法在道德層面是件簡單的思考,我想大多數人都會義正詞嚴的說要保護智慧財產權,但當自己需要使用的時候,道德~~就留給跟小孩說教的時候使用。我喜歡我的linux box~~~因為~~我不用感到我是海盜的擁護者。

Slashdot文章在此

Friday, February 27, 2009

爭論點

那天跟公司的研發主管報告專案的程式部份,對我來說要跟別人解釋自己的程式重點我會放在架構,因此我把大多數的時間放在我怎樣使用共用的介面函數指標建立共用的物件(C語言),中間我提到一個東西被轟整場的,我說到~『我的callback function的prototype定義為.....』。

後來這些老大們開始活絡起來(本來好像快睡著的樣子),他們突然開始說『callback function的定義是一定要有signal的事件引發一個function才能叫做callback function』,或許我才疏學淺吧,我怎麼印象中只要使用function pointer指到一特定的函數位置,讓某一機制的程式碼去呼叫這些函數就稱為callback,我印象中跟signal好像沒有直接關係。

不過呢~~爭論一下下我就發現糟糕,因為其實這並不是重點,重點是這是主管要下『指導棋』的時候,所以其實我應該是要說『恩,原來我沒有注意到這麼深的學問』(ㄟ~~吐好看一點啦)。但我覺得很怪的是針對一個程式專案要討論或研究,架構才是重點,但老是把事情放在這種雞毛蒜皮的事情上面,難怪我很討厭開會~~ㄏㄏ。

其實這也是我覺得我們的開發流程有問題的地方,我們一直把焦點放在GUI library上面,也就是大家都在討論~~~哪一個widget可以用、有沒有辦法用更簡單的方式把GUI拉好、顏色怎麼改.....等等,當然我不是說這不重要,只是這些東西在這些GUI論壇或甚至是google一下都可以有解答,但一個程式絕對不是有GUI就完成。(只要GUI不完成任何事的程式不就是示範程式嗎~~ㄏㄏ)

這也讓我想到常常會有人問~~『你對某某library熟不熟』,我常常都不知道怎麼回答,我很少『熟悉』一個library,所以我寫程式一定要有網路,因為我要一直查API的網頁~~ㄏㄏ,但是我發現他們好強歐,用背的耶~~我的天呀。我對SQLite熟不熟~~『恩,我有使用SQL關聯式資料庫的概念,SQLite我知道他是用檔案式的小型資料庫』,這樣的回答基本上我的同事與長官們是會把我當異類的~~ㄏㄏ。

哪些library有哪些API~~我沒有半個熟的,要用的時候我會上網查或甚至把include file打開搜尋一下也可以有個概念,但~~~不論開會的目的是啥,我想應該最終都是要解決問題,因此爭論點是否可以放在『我覺得這樣的架構有....的缺點』、『如果....設計是不是更好』,至於其他展現熟悉度與高深學問的爭議~~我就免了,畢竟~~我本來就不是高材生呀~~ㄏㄏ。

Monday, February 09, 2009

一樣?

以前常常會跟PM吵架,現在大多我已經不吵了,原因大多數是因為工作職權分責。

最近一些軟體專案要開始運作,不過往往負責規劃的人都很會拖,當然我也知道可以把一些基本架構寫好,不過至少要知道這個專案到底要完成哪些工作吧。其實大多數我遇到的狀況都是告知一個很大的框架,然後~~~~工程師應該可以寫了吧。

以前記得有一間公司要做車用資訊系統,規劃的PM很有架式的把工程師叫進去,講了一推CarPC的未來多麼不可限量,然後~~要做啥?我當然知道是車上的資訊系統,只是除非是研發經費無限大、系統能力無限多、研發工程師要多少有多少....不然,還是得有個規劃吧。

以前最常遇到的狀況是~~『阿你不會去看競爭對手有啥功能歐』,其實我很討厭這句話,當然我並不反對參考別人的設計,但那必須是去思考別人的設計用意為何,是否是個適合我們的設計方式,在我們的產品中是否該做如何的轉變。不過~~事實上~~上面的回覆通常是:跟他們一樣就好,比較安全。而且~更讓我奇怪的是,為何這些事情都變成工程師要去想辦法的?

一樣的產品,何必在研發一次呢?當然我知道很多老闆都會用價格來取勝,但除非你偷到別人的設計原始稿會是原始碼,否則很多的東西都是複製表面的狀況,自然~~這類的產品破壞市場的功能多於創造新產品。

現在的狀況其實變化不大,今天總部的PM來討論我對於設計上我覺得不太好用的功能與設計,對方的回答是『你說的其實我都同意,不過競爭對手都是這樣,我們就一樣就好』,一樣~~好吧~~那就一起浮沈吧。