轉眼間, 過去的軟體 team leader 離職一年了, 公司完全沒有再補軟體的人的任何打算, 也完全放棄任何軟體面的建設, 不管是知識管理, 還是專案的檢討能力, 基本上對於有兩個軟體 RD 都覺的太多的老闆, 軟體本來就是零成本, 零功勞的東西, 沒有它也都是理所當然, 因為硬體有眼前的利潤可賺. 軟體的利潤在哪?
那自己呢? 看看自己, 每天為了客戶一堆天馬行空的要求加班, 方向在哪裡? 自己的價值累積到哪裡? 翻開過去的履歷, 能夠多增加上去些什麼? 也許很多也許琳瑯滿目, 但是真正有價值的有哪些? 甚至這樣說, 客戶覺的你的價值在哪?
RD 只是個 technology maker 而不是 money maker 嗎? 很多 RD 很樂意去做 technology maker, 很樂意去把一個 know-how 全然的佔為己有, 的確, know-how 就是 RD 的資產, 卻很少去思考這些技術是不是市場需要的, 這些 know-how 有沒有能力助於解決市場上存在的問題? 只是想要做自己想做的, 忽略市場需求, 不要說 RD, 很多老闆也都是這樣子, 自我感覺非常的良好, 以為自己是下一個 MTK, 下一個 TSMC, 下一個 apple, 下一個 Microsoft. 就是不會想到資金週轉不靈時自己會在哪.
企業的目標就是追求利潤, 當自己覺的想要更好的工作時, 老闆同樣的也會想從你身上可以壓榨出多少你應得但不屬於你的利潤, 老闆覺的可以賺的更多, 或省的越少, 才有那個可能用更多的錢請你, 當然, 這是願打與願挨的問題, 但也是最現實的問題, 很多老闆可能終其一生不懂員工的價值在哪, 但你自己, 瞭解你的價值, 在哪? 如果不懂, 那又怎麼去說服顧用你的人.. ?
我這樣問我自己.
2012年7月16日 星期一
2012年6月23日 星期六
另一種 system();
就是用 CreateProcess 取代.
不過一般 CreateProcess 是開一個 task 以多工的方式跑另一個執行檔, 和 system() 不一樣, system() 會等待那個執行檔執行結束.
CreateProcess 也可以在該執行檔結束時發一個 event 通知, 像這樣:
PROCESS_INFORMATION tPI = { 0 };
CreateProcess(TEXT("exe.exe"), 0, 0, 0, 0, 0, 0, 0, 0, &tPI);
WaitForSingleObject(tPI.hProcess, INFINITE);
exe.exe 就是要執行的, 這樣就會無限時等待 exe.exe 執行完畢.
會寫這篇是因為 1.太久沒更新 2.CE 上沒有 system() 可用.
不過一般 CreateProcess 是開一個 task 以多工的方式跑另一個執行檔, 和 system() 不一樣, system() 會等待那個執行檔執行結束.
CreateProcess 也可以在該執行檔結束時發一個 event 通知, 像這樣:
PROCESS_INFORMATION tPI = { 0 };
CreateProcess(TEXT("exe.exe"), 0, 0, 0, 0, 0, 0, 0, 0, &tPI);
WaitForSingleObject(tPI.hProcess, INFINITE);
exe.exe 就是要執行的, 這樣就會無限時等待 exe.exe 執行完畢.
會寫這篇是因為 1.太久沒更新 2.CE 上沒有 system() 可用.
2012年6月17日 星期日
論鏡頭轉接..
從有 GF2 開始, 就開始嘗試一些老鏡的轉接實驗, 以目前手邊有的鏡頭跟轉接環就有 M42, nikon-F (G鏡), canon EOS, canon FL, leica L39 等, 但是這裡面個人覺的比較好用的, 是 nikon F-mount. 用幾張圖說明一下...
這是 AF-D 接環, 鏡頭是 50mm F1.4D, 這種本身是沒有鏡頭馬達, 需要機身供應動力來完成自動對焦的鏡頭, 下圖中紅圈的地方就是它的光圈撥桿. 而就在下所知, nikon 從 Ai 鏡開始就有這個光圈撥桿可用, 後面 AiS 是差在能不能測光等等, ok 那不是重點, 重點是有光圈撥桿.
M42 跟 L39... 目前用過的都是可以調光圈的...
於是這就是為什麼, 我後來跳來用 nikon 系統的原因, nikon 家的東西跟 canon 跟 sony 比起來都各有長短, 但唯獨鏡頭接環的支援這一點, 我覺的比起 canon/sony 要好用一點..
但是... 以機身, 接各家的鏡頭的便利性來說, 我會覺的 sony NEX 的最有利 (鏡後距最短, 18mm 而已, 軟體有支援峰值對焦方便支援老鏡), 再來是 canon. canon 因為接環最大, 只要鏡後距允許, 幾乎都可以無痛轉接.
這是 AF-S 接環, 鏡頭是 16-35 F4G, 這是有內建對焦馬達的鏡頭, 而 nikon 的新鏡頭絕大多數都改採用這種接環. ok, 重點也在那個光圈撥桿 (圖中紅圈), 可以看的到, 即使是很新出的鏡頭, 也有保留這麼一個光圈撥桿可用.
這就是轉 M4/3 的轉接環.
有做一個撥桿去調光圈. 只要是 nikon F-mount 的鏡頭, 大多數都可以靠轉接環上這個撥桿來手動調光圈, 這是這篇的重點....
這是接上去後的樣子. 不過老實講... 16-35 F4G 這隻鏡頭的有效光圈原本就非常小 (4mm直徑) 了, 對於 GF2 來講, 幾乎沒有調光圈縮光圈的機會...
這樣一來, 鏡頭除了 AF 跟 VR 沒有作用以外, 其他像變焦/對焦/調光圈都可以自由操作, 而且是對 nikon 家新出的鏡頭也仍然可以這樣做. 其它的 mount 並不是不可以調光圈, 而是大多數廠商的接頭, 大多是過去還沒有電子接點時的鏡頭才可以調光圈...
canon FL/FD, 轉接環可以調開放光圈與光圈環設定光圈, 算是最好用的一種, 不過 FD/FL 接頭的鏡頭早已不再生產. 取而代之的是 EOS.
canon EOS 有廠商 (如 kipon) 做出有光圈環的轉接環, 但老實講, 一點都不好用, 有很多鏡頭入光量大到要把光圈縮到比指示範圍還要更小的光圈, 成像才收斂的起來... 老實講非常可惜, 因為 canon EOS 是一隻非常大的鏡頭族群, 有很多焦段/光圈的鏡頭產品比 nikon 齊全的多...
於是這就是為什麼, 我後來跳來用 nikon 系統的原因, nikon 家的東西跟 canon 跟 sony 比起來都各有長短, 但唯獨鏡頭接環的支援這一點, 我覺的比起 canon/sony 要好用一點..
但是... 以機身, 接各家的鏡頭的便利性來說, 我會覺的 sony NEX 的最有利 (鏡後距最短, 18mm 而已, 軟體有支援峰值對焦方便支援老鏡), 再來是 canon. canon 因為接環最大, 只要鏡後距允許, 幾乎都可以無痛轉接.
2012年5月27日 星期日
Panasonic GF2 的電池...
後來才發現, 更新到某版 firmware (現在是 ver.1.1) 後, 用副廠 (好像也是那麼一千零一家..) 的電池會有這種現像:
ps. 2013/04/07 後記. 後來發現只要解析度設定在 4000x3000 以下 (不含 4000x3000) 就沒有問題的樣子... 可能耗電量過大吧...
後記文章
不只是畫面髒的亂七八糟, 拍出來每一張圖的預覽放大到 8x 時爛的慘不忍睹....
雖然這是很久以前的事, 我也換到 D90 了, GF2 很偶爾拿出來用而已, 還是要提一下..
ps. 2013/04/07 後記. 後來發現只要解析度設定在 4000x3000 以下 (不含 4000x3000) 就沒有問題的樣子... 可能耗電量過大吧...
後記文章
2012年5月8日 星期二
備份一下這篇好文... 人腦超壓
http://reocities.com/enchantedforest/8025/joke36.htm
(原出處作者已經老到不可考了...)
新世紀密技--人腦超壓
CPU 超頻?落伍啦! 風扇超壓?趕不上流行了~~ 硬碟超壓?你還在 信那一套嗎?不管你怎麼超,電腦還是電腦,他並不能幫你解決所有的事情,也不能幫 你考試、談戀愛... 俗諺有云:「靠山山倒,靠人人老,靠自己最好!」 所以,現在最新的超法--人腦超壓。
-------------------------------------------------------------------------------------------------------
大家都知道,CPU 在超壓的情況下,會產生大量的熱能,而這些多餘的熱 能會使 CPU 中的電路產生電子位移的現象,因而危害 CPU 的壽命。 人腦也一樣,在超壓的情況下也一樣有這類現象,只是此種現象是慢慢累 積的,等到現象出現時已經來不及挽救,所以要人腦超壓的人,應該要待 在冷氣房中,以維持良好的散熱。
首先,人腦要怎麼超壓呢?我們都知道,正常人的血壓,收縮壓是 110-130 mm-Hg ,舒張壓是 70-90 mm-Hg。只要你有辦法提昇腦部的血壓 ,就可以達到人腦超壓的效果。
要如何提高血壓呢?這可不是一件容易的事情。我們可以從醫學上知道, 要維持正常的血壓,除了要常保良好的心情外,還要有均衡的飲食,適當 的運動,和正常的作息。想要提高血壓,就請長時間的反其道而行,就可 以達成了。
※注意:這是一件長時間的工程,若沒有耐性請勿嘗試。
另一方面,在超壓成功後,一些處理就必須非常小心。前文提到要保持良 好的散熱,那是否代表溫度越低越好呢?很不幸的,人腦是一種非常精密 的『儀器』,溫度並不是越低越好,因為過低的溫度反而會傷害到腦神經 。這可不像 CPU 壞了可以換,人腦若被凍傷,那可是沒得救的。因此溫 度的保持必須看你超壓的程度來決定。一般來說,超壓越高,所處的室溫 也是要越低。但是我們沒有切確的計算公式,因此超壓的人得要自己慢慢 做測試。我們可以看到電視上的一些達官貴人,為什麼他們可以到達如此 的地位,就是因為他們頭腦超壓、智力提昇的結果。但是由於散熱處理不 當,因此你常常可以看到許多的光頭在螢幕前晃來晃去。
※注意:目前已知掉頭髮是散熱不當的前期徵兆,後期會如何,目前尚未 有報告出來。
以下是頭腦超壓和智力影響的表格,事實證明頭腦超壓會在智力上有明顯 的改進。(表中的是「建國高中入學智力測驗」所測的智力 IQ 商數)
個案 --------未超壓----------------超壓 50 mm-Hg----------------超壓 100 mm-Hg
個案一--------117----------------------------165-------------------------------203
個案二----------53---------------------------102--------------------------------164
個案三----------97---------------------------143--------------------------------195
心動嗎?羨慕嗎?不要懷疑,立刻進行你的超壓生活,你會發現,人生更 有意義。
--------------------------------------------------------------------------------------------------
************
** FAQ **
************
FAQ 1 : 為何在超壓後,我常常感覺頭腦漲漲的、頭痛,無法思考?
ANS 1 : 可能你的頭腦無法超壓,或是散熱不良。請請教醫生降壓的方法 或是降低腦部溫度。
FAQ 2 : 為何在超壓後,我常常覺得心臟跳動很快,手腳無力?
ANS 2 : 可能你的頭腦無法超壓,或是散熱不良。請請教醫生降壓的方法 或是降低腦部溫度。
(原出處作者已經老到不可考了...)
新世紀密技--人腦超壓
CPU 超頻?落伍啦! 風扇超壓?趕不上流行了~~ 硬碟超壓?你還在 信那一套嗎?不管你怎麼超,電腦還是電腦,他並不能幫你解決所有的事情,也不能幫 你考試、談戀愛... 俗諺有云:「靠山山倒,靠人人老,靠自己最好!」 所以,現在最新的超法--人腦超壓。
-------------------------------------------------------------------------------------------------------
大家都知道,CPU 在超壓的情況下,會產生大量的熱能,而這些多餘的熱 能會使 CPU 中的電路產生電子位移的現象,因而危害 CPU 的壽命。 人腦也一樣,在超壓的情況下也一樣有這類現象,只是此種現象是慢慢累 積的,等到現象出現時已經來不及挽救,所以要人腦超壓的人,應該要待 在冷氣房中,以維持良好的散熱。
首先,人腦要怎麼超壓呢?我們都知道,正常人的血壓,收縮壓是 110-130 mm-Hg ,舒張壓是 70-90 mm-Hg。只要你有辦法提昇腦部的血壓 ,就可以達到人腦超壓的效果。
要如何提高血壓呢?這可不是一件容易的事情。我們可以從醫學上知道, 要維持正常的血壓,除了要常保良好的心情外,還要有均衡的飲食,適當 的運動,和正常的作息。想要提高血壓,就請長時間的反其道而行,就可 以達成了。
※注意:這是一件長時間的工程,若沒有耐性請勿嘗試。
另一方面,在超壓成功後,一些處理就必須非常小心。前文提到要保持良 好的散熱,那是否代表溫度越低越好呢?很不幸的,人腦是一種非常精密 的『儀器』,溫度並不是越低越好,因為過低的溫度反而會傷害到腦神經 。這可不像 CPU 壞了可以換,人腦若被凍傷,那可是沒得救的。因此溫 度的保持必須看你超壓的程度來決定。一般來說,超壓越高,所處的室溫 也是要越低。但是我們沒有切確的計算公式,因此超壓的人得要自己慢慢 做測試。我們可以看到電視上的一些達官貴人,為什麼他們可以到達如此 的地位,就是因為他們頭腦超壓、智力提昇的結果。但是由於散熱處理不 當,因此你常常可以看到許多的光頭在螢幕前晃來晃去。
※注意:目前已知掉頭髮是散熱不當的前期徵兆,後期會如何,目前尚未 有報告出來。
以下是頭腦超壓和智力影響的表格,事實證明頭腦超壓會在智力上有明顯 的改進。(表中的是「建國高中入學智力測驗」所測的智力 IQ 商數)
個案 --------未超壓----------------超壓 50 mm-Hg----------------超壓 100 mm-Hg
個案一--------117----------------------------165-------------------------------203
個案二----------53---------------------------102--------------------------------164
個案三----------97---------------------------143--------------------------------195
心動嗎?羨慕嗎?不要懷疑,立刻進行你的超壓生活,你會發現,人生更 有意義。
--------------------------------------------------------------------------------------------------
************
** FAQ **
************
FAQ 1 : 為何在超壓後,我常常感覺頭腦漲漲的、頭痛,無法思考?
ANS 1 : 可能你的頭腦無法超壓,或是散熱不良。請請教醫生降壓的方法 或是降低腦部溫度。
FAQ 2 : 為何在超壓後,我常常覺得心臟跳動很快,手腳無力?
ANS 2 : 可能你的頭腦無法超壓,或是散熱不良。請請教醫生降壓的方法 或是降低腦部溫度。
2012年5月7日 星期一
有關攝影...
從最早的 Panasonic FS-12, 到後來的 Panasonic GF2, 現在的 Nikon D90, 全部的時間將近三年, 這三年間, 我拍下所有我想要回想起來的地方, 所有想要回想起來的經過, 有些地方, 可能一輩子裡就只來過這麼一次, 有些地方一天之內都會走過好幾次, 足惜的程度不一, 唯一不變的, 就是已經過去的時間, 就這樣一去不再複返, 照片, 能讓你回想起過去, 照相的那段時間, 發生過什麼事, 經歷過什麼經驗, 靠著照片, 就好像穿過時光隧道般, 幾乎都可以如數家珍般的回想起來....
2012年4月8日 星期日
[Win32] Disk raw data read/write
會特別寫這篇就是因為, raw data 讀寫在 linux 下是很簡單的工作, 在 windows 下我卻找了很久才找到方法.
讀寫方法要用 CreateFile/ReadFile/WriteFile/DeviceIoControl 的方法下去操作, 而 CreateFile 要用
\\PhysicalDriveN
這個名字, N 從 0 開始, 而哪一個數字代表哪一個磁碟機, 可以在 windows 管理裡看的到:
理想上 PhysicalDrive 號碼是連續的, 但實際上通常不是, 所以最好還是依號去掃描看看哪一個是可以用的.
抓出 PhysicalDrive 後, 就可以用 ReadFile 跟 WriteFile 讀寫每一顆硬碟的 MBR 跟實體磁區資料, 但這樣做太危險了, 所以這裡只對可熱插拔 removable 的下手. 而要知道哪一個 physicaldrive 是 removable disk, 就要用 DeviceIoControl 搭 IOCTL_DISK_GET_DRIVE_GEOMETRY 去查, 如這一頁寫的 code:
DISK_GEOMETRY 裡的成員 MediaType 值如果是 11(dec), 就是可移除的.
至於怎麼抓出被 mount 到哪一個 label, 重改 MBR 時怎麼 unmount, 那就再研究....
[後記 2012/04/26]
直接去找 PhysicalDrive 有好有壞, 好處是即使不被 OS mount 起來也可以找的到 (例如檔案系統如果是 ExtFS 或 linux swap 時), 壞處是無法直接推得它被 OS mount 到哪一個 driver letter 去. 在後者, 比較好的做法, 是從已被 mount 上 OS 後的 driver letter 去回推它是哪一個 physical driver. 如果要知道目前有哪些 driver letter 是有效的, 可以用:
DWORD GetLogicalDrives(void);
的回傳值取得, 因為 windows 只能 A: ~ Z: 共 26 個代號, 所以分別是 bit 0 ~ bit 25, 該 bit 為 1, 就表示這個 driver letter 存在.
然後再用
DeviceIoControl 的
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
命令取得有多少 physical driver 被 mount 到這個 driver letter 來 (因為在 NTFS 裡可以這樣做),
VOLUME_DISK_EXTENTS[0].DiskNumber 就是被找出的第一個 PhysicalDrive 數字代號.
嗯, 然後回到原來的文章, 這樣就可以從指定 driver letter 去做實體層磁區的讀寫動作.
[後記 2012/11/18]
如果是對 SD 卡讀寫, 而且 SD 卡要被用在非 windows 族 OS 上讀寫的話, 可能要注意一下 SD 卡對應 c/h/s 參數的問題, 因為在 windows 下會被統一設定成 255 heads, 63 sectors by track. 但 linux 或 BSD 底下看到的就不一定是這樣的數字...
解決方法嘛... 個人會建議把整張卡 geometric 重做, 當然, 重做之前要記得備份...
重設 geometric 的方法:
http://processors.wiki.ti.com/index.php/SD/MMC_format_for_OMAP3_boot
[後記 2012/04/26]
直接去找 PhysicalDrive 有好有壞, 好處是即使不被 OS mount 起來也可以找的到 (例如檔案系統如果是 ExtFS 或 linux swap 時), 壞處是無法直接推得它被 OS mount 到哪一個 driver letter 去. 在後者, 比較好的做法, 是從已被 mount 上 OS 後的 driver letter 去回推它是哪一個 physical driver. 如果要知道目前有哪些 driver letter 是有效的, 可以用:
DWORD GetLogicalDrives(void);
的回傳值取得, 因為 windows 只能 A: ~ Z: 共 26 個代號, 所以分別是 bit 0 ~ bit 25, 該 bit 為 1, 就表示這個 driver letter 存在.
然後再用
DeviceIoControl 的
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
命令取得有多少 physical driver 被 mount 到這個 driver letter 來 (因為在 NTFS 裡可以這樣做),
VOLUME_DISK_EXTENTS[0].DiskNumber 就是被找出的第一個 PhysicalDrive 數字代號.
嗯, 然後回到原來的文章, 這樣就可以從指定 driver letter 去做實體層磁區的讀寫動作.
[後記 2012/11/18]
如果是對 SD 卡讀寫, 而且 SD 卡要被用在非 windows 族 OS 上讀寫的話, 可能要注意一下 SD 卡對應 c/h/s 參數的問題, 因為在 windows 下會被統一設定成 255 heads, 63 sectors by track. 但 linux 或 BSD 底下看到的就不一定是這樣的數字...
解決方法嘛... 個人會建議把整張卡 geometric 重做, 當然, 重做之前要記得備份...
重設 geometric 的方法:
http://processors.wiki.ti.com/index.php/SD/MMC_format_for_OMAP3_boot
訂閱:
文章 (Atom)



