2010年2月3日星期三

5D ByeBye~

自從小狗子多了個妹妹後,全家出遊的時間也少了,出遊的地點也少了,自然拍照的機會就更少了。

去年下半年,被工作搞的快吐血了,加班加到連兒子女兒長高了都不知道,更別說什麼拿相機去哪裡玩了。

就在上個月底,同事找我婚攝,拍來拍去,說真的不知道在拍什麼,一整場下來,拍不到200張。其實並不是不愛拍照了,而是,不知道要拍什麼東西。

也許這就是器材控的必經之路吧! 發了瘋買一堆,但卻發現,器材越多,拍出來的東西,遠比只有1機1鏡時拍出來的無趣很多。所以,心中油然而生的一股想把器材全部推出去賣了的念頭。

想了幾天,唉~ 還是趁5D還能賣到幾個錢,還有人要的時候,趕緊推出去賣吧。還有那顆不知道多久沒碰的17﹣40也推出去了。 不到1週,5D現在已經在黑貓手上,正準備迎接它的新主人。 17﹣40則是問的人多,真的要買的沒半個。

不得不讓我想起,防潮箱裡還有一支久未見面的小白~。 很想一一推出去賣了,但狗媽問,那小狗子的畢業活動,沒有相機沒有長炮,怎麼拍? 啊~ 是啊,想起去年的聖誕趴,就是因為有 5D+小白,我才能不用跟別的家長一樣,擠在台下擠破了頭,就能拍到清楚又美美的照片。

唉~ 如今5D已經出去了,我的下一步呢?還要再買一台數位單眼嗎? 會不會1,2年後,又是一樣的想法呢?到時又要賣?這台5D,以我買賣的價差除以我實際拍攝張數,平均每按一次快門,需要花快2塊台幣!

我原本有個想法,買台OK的1DSII回來,現在大約7萬左右,雖然年份久遠,但至少1系列耐用度不用太去質疑。可是,會不會熱潮過了,我又想賣,結果再過2年,完全沒有人想買一台已經5,6年的1DS II 了?

另外一個重點是,1DSII一整個很大台很重啊!跟我的1VHS比大台的!有必要搞醬大嗎?

不過,不管我下一步是如何! Bye 了~ 真心感謝陪伴我1年半,帶給我無限歡樂的 5D。

2010年1月10日星期日

白金漢 Billingham 445

其實之前在敗Leica M6的時候有“順便”敗了一個白金漢for leica的包包,質感很好,也很低調。
不論是車邊,布料,和皮質以及扣環的地方,都做的讓人無從挑剔。可是呢,有看過m6的人都知道,那是一台小不拉G的相機,
所以咧,for leica的白金漢包的大小,是可想而知的。

只裝得下m6+50/2,然後連我NB的power adapter 和 mouse都放不下了。不得不讓我有了再敗一個的念頭。

另外就是我的NB現在都是手提袋裝著,所以有時候早上要出門時,一手抱小孩,另一手拿NB,還有小孩的書包,自己的早餐,拉裡拉雜的一大堆,有時真的很怕NB去敲到。有時候還要在出門前,自已先把NB拿到樓下車上放著再上樓抱小孩,實在有點給他不太方便。

就在昨天,有機會去了台北漢口相機街,特地還帶macbook pro去裝看看,所有的型號只有這款445放的下macbook pro.
說真的,他還真的有點大啊! 只是如果把放相機地的方的底板拿下來,其實整個包包就扁下來了,看起來,充其量不過是大了一些些的電腦包。

包包的正面,拿35/1.4來做個reference好了。


側面照


背面照﹣看得出來這真的是很大一個包啊!


從上面看


底部 ﹣ 看得出來有2層,靠上層是裝NB,下層是相機,但我覺得,隨便裝啦!


我發現到一個變型的用法,把原本最外層的2條皮帶,穿到背部下側的2個環裡,整體看起來就小滿多的了


有沒有感覺沒這麼巨大了呢?但Nell還是在喊,這根本是咖皮箱嘛!! ...


NB這麼放


我是不會瘋到要把1機N鏡外帶NB背出門的!但至少這裡看得出來,1機1鏡+哈蘇是很容易就能帶出門而且都不會互相碰撞。


其實底板拿掉後,整個包包是扁扁的,但Nell還是一直在喊,這麼大的包哪會實用......


跟 Billingham for leica 比一比




大致上這個包包長相就是這樣,說真的,憑心而論,這個包包CP值非常的低,原因為以下幾點
  • 價格太貴
  • 視覺效果的扣環太多
  • 取/收相機太麻煩﹣機動性不佳
  • 太厚
Nell一直在喊,這個價錢可以買好幾個一般的電腦包。我也沒有否認的立場,因為事實如此;可是,坊間電腦包不外乎就是尼隆的,全黑的,不只布料薄薄的,連背帶都窄窄的,難看又難背。

雖然我老實說,這個包實在有點不小,可是,以我的需求來說,我需要
一個上下班背的電腦包
一個假日背出去的相機包
一個偶爾幫朋友拍照時能裝的下2機3鏡的包包
一個假日出門可放相機也夠裝小朋友尿布的包包

把上述總整後,我就覺得445其實就不大了,因為我上下班都開車,假日帶小朋友出門也是定點遊玩型,並不會因為背的包包太大而有行動不便的困擾,因為,有小孩的人都知道,一下尿布,一下奶瓶,一下又溼紙巾;所以,如果能把這些和我的相機都放在一個包裡,對我來說真的比較方便。

只是,最後要提醒,對此包包有興趣的人,我覺得至少要是身材壯碩或體型中等。
因為這個包包他雖然沒有非常大,但以一個側背包來說,他算是“很厚”的了。所以如果體型太小,我覺得背起來會有點不協調。
再來就是,要想塞滿他,不會個1機4鏡或2機3鏡外加閃燈是塞不滿的,不論什麼廠牌,光1機4鏡,我想,一般沒人沒練過,一定不可能可以背上個半天還不肩膀酸的吧!!

所以,要買的人,真的要3思,想一想,你的需求是什麼,再下手吧!

2010年1月9日星期六

Attitude !!

最近工作到有點倦了,最難過的是,想換還換不了,因為懂的東西也不多,說句實在的,如果換來換去還是做一樣的工作,那有什麼換的必要?

前一陣子聽了網路名人Robin的演講,她說了一些idea,還是給我當頭棒喝。

她說,員工總是嫌工時太長,pay 太低,他有沒有想過,老闆付你一個人一天8小時薪水,你真的有好好認真工作8小時?

我仔細想想,嗯~~ 的確! 我有沒有很努力,非常專注的做滿8小時呢?其實是有的,但我在公司每天呆滿13小時。13小時裡只有8小時努力,其他的5小時不外乎是吃東西,哈啦,聊天,上網,顧盤,逛Y拍。 那說真的,我有什麼立場嫌老闆不給我加班費? 我有什麼立場質疑為什麼現在都要搞責任制? 其實...老闆並沒有虧待我,他付給我一天努力為他賣命的時數的終點費。

Robin又繼續說,是不是覺得每天或一陣子就會在做類似一樣的事,弄的自已很煩很想跳脫。她又問,如果答案是“YES”,那為什麼不找個方法,讓這些很煩鎮又重復的事,變成一種制度,如此一來,不就可以省下很多時間嗎?

一針見血的問題如雨一樣打在我耳裡,你的產能是什麼?你在team裡的value在哪裡?你每天上工作是有什麼產質和產能?

這些話在我腦裡轉了又轉,說真的,很多事情都是跟心有關,沒心在工作,再怎麼有趣的東西都會被覺得厭煩,再怎麼合理的工作都變成是老闆的折磨。 心態真的很重要。很多事情掉下來了,如果沒有正確的心態去迎接,通常,都會end up with a mess. 搞的亂七八糟的。

像前一陣子,狗爸被assign要在lighttpd 裡實做session的機制,雖然心裡有百般的不願,但是還是強迫自已以正面的心態去完成這個屎缺。 雖然期間做的很北送,但其實結果是令人滿意的。雖然這個東西不會讓狗爸的積效被加多少分,或多領多少錢,但至少能確定一件事,那就是,以正面的心態去面對一切事情,不論是簡單或是挑戰,不管事情有多屎,it will all end up with a good result!!

cheers~

2009年6月5日星期五

lighttpd web server - configure 篇 (issues)

其實在一個embedded system裡,要用lighttpd來達到所有web ui的工作,真的還滿複雜的,這裡說一下我所遇到的難題。

1. FireWare upgrade:
在案子開發初期,要能有FW upgrade功能是一定要的!! 但很其怪的是,我cgi那裡,明明就有很明確的把要lighttpd從client那裡要檔案,但為什麼總是傳一傳就斷了呢?! 我想了半天,也許是lighttpd本身default的最大上傳檔案size有限制,所以我在 lighttpd.conf裡,加了以下:

server.max-request-size = 900000000
server.network-backend="write"
server.upload-dirs=( "/tmp" )

這裡的意思是,讓lighttpd能接受的檔案變大。 再來就是告知lighttpd在有檔案進來時,要存在哪裡。

加了這一段後,再大的檔案都丟的進來,當然啦,不能大過你自已設的 max-request-size

這個問題我是靠"lighttpd upload limitation" 來找到答案的!

2. 在我們這裡遇到一個非常奇妙的事,就是只要用IE來access 板子上的htm檔,他就會被cache住,而且都不會去reload。使得我們有很多很奇怪的issue發生;像是: reset to default。因為檔案被cache住,所以就算底層的data已經被改成default, 但你從網頁看,所有欄位資料還是原本的,造成reset to default FAIL!

後來,發現,從lighttpd出去的封包裡,server-header裡,並沒有"cache-control=no-cache";於是,我抱著試驗的心態,把以下的 mod_setenv和一些configure加上去

server.modules 裡,要加 "mod_setenv", 然後還要加上這些configure

$HTTP["url"] =~ "^/(.*)" {
setenv.add-response-header = ( "Cache-Control" => "no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=-1" )
}

我稱之他為 "lighttpd cache-control" !

lighttpd web server - configure 篇 (default)

前一篇說了怎麼porting lighttpd,這裡就說一下,要怎麼讓這隻daemon很聽說的動起來。

首先,要注意到,這隻lighttpd要能起來,必須要吃一個叫 lighttpd.conf的檔案,也就是俗稱的conf 檔,上網找,可以找到很多很多sample.

基本上,在doc子目錄下面,你可以找到算是滿不錯的解釋,來教你怎麼大致上使用這個conf檔,來控制lighttpd. 像是,如果你要有user loggin的功能,你就把最上面那個 mod_auth 前的 #拿掉,在lighttpd起來時,他就會有loggin的功能了。 順帶一提,如果你要有loggin 功能,你必須提供 lighttpd.user的user:password的檔案,這樣子,lighttpd才知道你所能接受的使用者名稱和密碼。

如果你只是需要一個web server,那現在你只要執行 "lighttpd -f /etc/lighttpd/lighttpd.conf",你的lighttpd 就應該能被叫起來,這時,你從別台電腦連上去,應該就能在web browser裡能link得到了。

好了,基本的config到這裡應該是夠了,如果有遇到什麼問題,可以提出來大家討討論。

lighttpd web server - porting 篇

因為工作的關係,最近在研究一個很輕巧,很好用,而且功能算強大的web server - lighttpd (lighty)

在embedded system porting lighttpd 說實話算是很簡單,在這裡大約介紹一下

1. 到網路上下載 lighttpd,我的版本是 1.4.20. 下載連結請找google大神。
2. 如果只想在x86上面跑,沒有需要cross compile,或是不需要針對function做一些增減的話,可以直接make; make install.
3. 如果是要在embedded system上跑的話,必須要先編寫makefile, 我這裡提供一下範例

TARGETDIR=$(shell pwd)/target
SSL_CFLAGS += -I$(ROOTDIR)/lib/libssl/include/

CONFIGURE_CFG = \
--host=$(CROSS_COMPILE:-=) \
--target="" \
--build="" \
--htmldir="/www" \
--disable-ipv6 \
PCRECONFIG="$(ROOTDIR)/lib/pcre-7.8/pcre-config" \
PCRE_LIB="-L$(ROOTDIR)/lib/pcre-7.8/.libs -lpcre"

# --with-pcre="$(ROOTDIR)/lib/pcre-7.6" \

CONFIGURE_CFG += \
--with-pcre \
--without-bzip2 \
--without-zlib \
--with-openssl \
--with-openssl-libs=$(ROOTDIR)/lib/libssl/ \
--with-openssl-includes=$(ROOTDIR)/lib/libssl/include/

all: wwwlink Makefile
AM_MAKEFLAGS="-f Makefile" \
$(MAKE) -f Makefile

# CFLAGS="$(SSL_CFLAGS) -I$(ROOTDIR)/lib/pcre-7.6/" LDFLAGS="$(SSL_LDFLAGS) -L$(ROOTDIR)/lib/pcre-7.6/.libs -lpcre" LIBS="$(SSL_LIBS)" \
CFLAGS="$(SSL_CFLAGS) -I$(ROOTDIR)/lib/pcre-7.6 -DHAVE_PCRE_H=1 -DHAVE_LIBPCRE=1" \
LDFLAGS="$(SSL_LDFLAGS) -L$(ROOTDIR)/lib/pcre7.6/.lib -lpcre" LIBS="$(SSL_LIBS)" \
CFLAGS="$(SSL_CFLAGS) -I$(ROOTDIR)/lib/pcre-7.6 -DHAVE_PCRE_H=1 -DHAVE_LIBPCRE=1" LDFLAGS="$(SSL_LDFLAGS)" LIBS="$(SSL_LIBS)" \


wwwlink:
-rm -f www
ifeq ($(CONFIG_CTM_WWW_DIR),)
@if [ ! -d $(PRODUCTDIR)/www ] ; then \
echo "ERROR: There is no www directory in $(PRODUCTDIR)/www." ; \
exit 1 ; \
fi
ln -sf $(PRODUCTDIR)/www www
else
@if [ ! -d $(PRODUCTDIR)/$(CONFIG_CTM_WWW_DIR) ] ; then \
echo "ERROR: There is no $(CONFIG_CTM_WWW_DIR) directory in $(PRODUCTDIR)/$(CONFIG_CTM_WWW_DIR)." ; \
exit 1 ; \
fi
ln -sf $(PRODUCTDIR)/$(CONFIG_CTM_WWW_DIR) www
endif


Makefile:
chmod u+x ./configure; \
CFLAGS="$(SSL_CFLAGS) -I$(ROOTDIR)/lib/pcre-7.8/ -DHAVE_PCRE_H=1 -DHAVE_LIBPCRE=1" LDFLAGS="$(SSL_LDFLAGS)" LIBS="$(SSL_LIBS)" \
./configure $(CONFIGURE_CFG)

clean:
rm -rf $(TARGETDIR)
rm -f www
AM_MAKEFLAGS="-f Makefile" \
$(MAKE) -f Makefile distclean

preinstall:
rm -rf $(TARGETDIR)
mkdir -p $(TARGETDIR)
DESTDIR=$(TARGETDIR) \
AM_MAKEFLAGS="-f Makefile" \
$(MAKE) -f Makefile install

romfs:
$(ROMFSINST) -p 755 src/.libs/lighttpd /usr/bin/lighttpd
$(ROMFSINST) -p 755 src/lighttpd-angel /usr/bin/lighttpd-angel
mkdir -p $(ROMFSDIR)/lighttpd_www
$(ROMFSINST) www /lighttpd_www
$(ROMFSINST) -s /var/config.bin /lighttpd_www/config.bin
$(ROMFSINST) -p 755 lighttpd.conf /usr/lighttpd_old.conf
$(ROMFSINST) -p 755 lighttpd.user /usr/lighttpd.user
$(ROMFSINST) -p 755 src/.libs/mod_indexfile.so /usr/local/lib/mod_indexfile.so
$(ROMFSINST) -p 755 src/.libs/mod_access.so /usr/local/lib/mod_access.so
$(ROMFSINST) -p 755 src/.libs/mod_auth.so /usr/local/lib/mod_auth.so
$(ROMFSINST) -p 755 src/.libs/mod_cgi.so /usr/local/lib/mod_cgi.so
$(ROMFSINST) -p 755 src/.libs/mod_ssi.so /usr/local/lib/mod_ssi.so
$(ROMFSINST) -p 755 src/.libs/mod_dirlisting.so /usr/local/lib/mod_dirlisting.so
$(ROMFSINST) -p 755 src/.libs/mod_staticfile.so /usr/local/lib/mod_staticfile.so
$(ROMFSINST) -p 755 src/.libs/mod_evasive.so /usr/local/lib/mod_evasive.so
$(ROMFSINST) -p 755 src/.libs/mod_setenv.so /usr/local/lib/mod_setenv.so
$(ROMFSINST) -p 755 src/.libs/mod_redirect.so /usr/local/lib/mod_redirect.so
$(ROMFSINST) -p 755 server.pem /usr/server.pem

4. 請注意,我在這裡遇到的第1個問題是,pcre的問題,看的出來,lighttpd和pcre有dependence的關係,要能成功的讓lighttpd 找到 pcre的resource,你必須要像我這樣寫,不然,lighttpd會去reference到你本機的pcre,也就是說,就算你build 好了,丟到板子上,也不會動,因為他會說 pcre is not supported.

5. 在romfs方面,則要看你想包什麼功能進去,所以這裡建議,用到什麼包什麼,不要全部包包進去,除非沒有空間限制。

6. 到這裡,打make下去,應該在 src/ 下找到 lighttpd-angel, 和 src/.lib/ 下找到 lighttpd 和一堆 mod_xxx.so。 這些都是最後要等到target board上的必要檔案。

Porting 到這裡,應該算是成功,接下來就要看你把檔案等到target board上能不能動了。

2009年6月4日星期四

前十字韌帶「又斷」了

其實早就知道右膝又出毛病,也許是因為不想接受手術失敗的結果,所以一直都是不用想他。

唉,可是,我才30出頭,就不能跑跳,會不會也太難過了一點?! 好吧,牙一咬,就跟韓偉醫師橋了開刀的時間。韓醫師的診所也許是因為是自費的關係,很多事情進行的會比一般健保醫院來的快很多,像是照MRI,我記得之前在北醫看診時,要先看診3週,才能約MRI的時間,也就是「至少」要等4週才能看到片子,知道膝蓋裡的情況。

而韓醫師這裡呢?星期5看診,就約了隔週2照MRI,照MRI當天可以拿到片子,如果你看得懂的話,可以先帶回家看一下。當週的星期五,韓醫師就會針對MRI的結果解說。然後告知手術是要怎麼進行,會做些什麼事,你是釘子會從哪裡進,哪裡出。新的韌帶會接在哪個位置,以及半月板需不需要修復等等...  我是覺得很仔細,很令人放心。

好啦~ 開刀前一天晚上8點,到台北市中山醫院報到,抽抽血,辦辦paperwork... 很快就到病房,護士也都很nice,會告知隔天幾點開刀,幾點要換衣服,有的沒的一堆...

開刀當天,因為是10點刀,6,7點就叫我換衣服,打點滴,還有做最後術前教育,像是麻醉有的沒的一堆...

最令人感到驚訝的是,8點接到韓醫師的電話,來詢問還有沒有什麼疑問,有沒有需要什麼的.. 實在又是一整個令人很放心,覺得這位醫生還滿細心的。

嗯,不一會兒,輪到我進手術房了,冰冰冷冷的手術房裡擠了不少人,有護士,有麻醉醫師,有助理醫師,有的沒的,當然,韓醫師己經在手術房等我了。 手術前又是一陣介紹,要麻醉,會怎麼麻醉;接下來韓醫師還是會問,有沒有什麼問題..  我這時不免心裡想著:「都己經躺在手術房了,還能有什麼問題?」 可是,還是那句,很令人放心!

半身麻醉後,身旁的護士說:「我現在要打針讓你睡一下囉!」 真的,就在當她問完那句話後,我就在倒數,看我幾秒會睡著,結果,不騙人,就當我決定要開始讀秒後的下一個知覺就是 ... 醒來時,韓醫師在說:「手術快好囉,你看,這些白白的東西就是你的韌帶哦!」 我才意會過來,啊,手術己經要到尾聲了...

不一下子,手術好了,傷口也縫好了,眼睛閉起來瞇一下;一下子,就發現人在復原室,然後韓醫師正拿著幾張照片在跟我解譯剛才做了些什麼。這個時候,整個人昏沉沉的,也不太記得他說了什麼。

記得才沒瞇多久,人就被推回病房,大概昏了有好幾小時吧,然後伴隨著麻藥退去的是一陣陣的嘔心想吐。好加在我忍住了,差不多到隔天早上才真的正完全恢復,不會想吐,然後正常吃喝東西。

而我的膝蓋呢?! 一直包著冰敷器,很重,然後傷口又會痛,所以我都不太想動,但護士小姐說,如果我不下床尿尿,他就要來催尿了!嚇的我趕緊東抓西扶,搖搖晃晃的去尿尿。 沒錯,手術當天就可以下床走動了,只是當然用的不是那支會痛的腳,但說真的,沒有真的痛到哪裡去,可以用那隻腳站立,會覺得傷口漲痛漲痛,但不至於到痛到站不了。

接下來進入了1整個星期平躺的恢復期,住院我只住了3天,韓醫師就說可以出院了;吩復我要24hr的冰敷。真的! 那個冰敷器可以說是救命用的啊! 每次半夜冰敷器裡的冰都溶了,不夠冰的時候,膝蓋馬上發熱,只要冰塊一下去~~ 哇哈哈,一整個舒服!

術後到現在己經1個月,大概能彎100度左右,能正常走路和上樓梯;因為大腿沒啥力,下樓梯可能還要一陣子。但至少我現在能強烈感受到新做上去的韌帶很緊! 因為我是2次手術,所以一開始的2個星期,韓醫師限制我不能彎,所以現在有點緊! 聽我朋友說,第1次手術的人,第2週就要彎到90度囉!

總結是,手術我認為很成功,但復健真的很痛很辛苦!

至於費用方面,在這裡寫個大概,有需要的人可以看看當做 reference.

手術費+冰桶+住院3天 : $65000 左右
護膝: $46000
看診第1次 $1200,之後每次 $1000
復健1次 $1200,可使用新光教育會館的遊泳池

診所全名:新光骨科運動醫學中心
採預約制,所以,要先電話預約,walk in是沒辦法看的,可以google 一下囉!

算一算,要10多萬,如果沒保險,說真的,是個非常重的負擔,好在,我自己有保險,然後公司團保也可以給付,所以自己要出的錢其實還好。

最後,非常感謝韓偉醫師給予我一個新的膝蓋!