2012年11月11日 星期日

Prostate Surgery

攝護腺/前列腺是男性才有的小器官, 它在膀胱下, 包覆著尿道. 隨著年齡增長, 它也慢慢增生, 開始壓迫尿道, 致使解尿不順及頻尿, 情況較嚴重者則須做手術, 否則可引發尿毒症(要洗腎).

2012年11月4日 星期日

Year 0, Month 12

小汪, 你媽媽這個月很忙, 常常加班並且很晚回家, 爸爸晚上就一個人去接你回家, 幫你洗澡及陪睡. 爸爸幫你洗澡時, 把你放到浴缸裡用蓮蓬頭沖澡, 你就大哭, 會一直哭到洗完澡, 不過爸爸發現你大哭過後, 躺在床上就很快睡著, 這樣爸爸不用陪你睡太久. :-)

2012年10月29日 星期一

2012年10月4日 星期四

Year 0, Month 11

這個月小汪搬家囉! 新家有更大的空間可以給你爬, 你還有自己的房間, 看你高興地在地上爬來爬去, 一點都沒有適應不良的情況喔!

2012年9月4日 星期二

Year 0, Month 10

小汪你這個月第一週就感冒了! 這個月初, 爸爸在加班, 媽媽就帶你坐高鐵來回娘家, 隔天回到台北後, 就發現你開始有感冒症狀了! 醫生說你肺部發炎, 鼻腔發炎及耳朵發炎, 聽了就覺得嚴重! 我想媽媽一定很自責, 所以爸爸也不能唸她, 而你呢! 又得乖乖吃藥, 大約兩週你才康復.

2012年8月29日 星期三

Picking Up Substrings From an Excel Cell

在 Excel 中的 A1 儲存格中有以下字串 "5.0-7.0-9.0", 可用 Excel 內建 "公式" 將 "5.0", "7.0" 及 "9.0" 挑出:

2012年8月4日 星期六

Year 0, Month 9

小汪你愈來愈愛講話, 園所老師說你可以在園所講一下午的話, 我們在想...老師的意思是"其他小朋友都被你吵得睡不著了啦!"

2012年7月4日 星期三

Year 0, Month 8

小汪的下排門牙兩顆已長出來了! 你這個月超會爬, 把你抓到床的一邊, 你可以飛快地衝到床的另一頭, 如果沒人擋住你, 你就會掉到床下啦~~ 園所老師也說你可以參加爬行比賽了. 此外, 你會想要抓著東西起身站立, 爸爸扶著你站, 你會笑得很開心呢!

2012年6月21日 星期四

Chicco Lite Way Stroller

小汪已七個多月, 一直以來都是使用恩典牌小推車, 不過這推車的把手高度太低, 我們都要彎著腰推小汪, 另外這推車沒辦法平躺, 小汪沒辦法舒服地睡睡. 爸爸媽媽我們不舒服就勉強忍住了, 可是某一次看到小汪想睡又沒辦法好好入睡, 小汪媽非常不忍, 因此吵著要買新推車.

2012年6月20日 星期三

Sleepy Allergen Barrier Bedding

小汪出生後就一直被醫生告知有過敏症狀, 醫生建議喝水解蛋白奶粉降低發生率, 並利用空氣清淨機/除濕機來調整室內環境以改善此情況.

2012年6月4日 星期一

Year 0, Month 7

小汪! 你這個月開始可以吃副食品了, 園所老師有先給你試米精, 並且試不同的配料, 像是紅蘿蔔, 南瓜等. 你媽媽也自己熬了地瓜粥, 磨成泥狀, 給你試吃, 不過你不領情, 給了媽媽"拍甲 "的表情, 最後整碗都給媽媽自行吸收.

2012年5月23日 星期三

HID Descriptor

HID(Human Interface Device) class 裝置與 HID class 驅動程式間的資料描述是透過 HID descriptor. 以下是 HID descriptor 於 USB device descriptor 中的位置:

2012年5月19日 星期六

Using HID Header Files

在程式裡引用 HID 標頭檔:
#include <hidsdi.h>
並在 Additional Include Directories 加入 DDK 標頭檔路徑(如 c:\winddk\inc\api)後, 編譯時會遇到一卡車的錯誤:

2012年5月8日 星期二

2012年5月4日 星期五

Year 0, Month 6

小汪半歲囉! 這個月你超會鬼叫, 月初還會發出短聲的"嘛嘛..嘛嘛", 然而在爸爸特訓後, 月中以後就只會發出短聲的"拔拔..拔拔", 害媽媽嫉妒的要死. 這個月你的翻身功夫有明顯長進, 隨隨便便就可以連翻個兩圈, 所以現在爸爸媽媽都要很小心, 即使離開一下子, 都要先把你抓進遊戲床裡.

2012年4月23日 星期一

Highlight Words in Visual Studio

標記程式中同一文字對程式設計師來說非常方便,  如果能顯示該文字在整份文件中的分部情形, 那更是如虎添翼.

Flicker Free Drawing

在程式中要畫點, 畫線或是畫圓等, 都要直接對 DC(device context) 操作, 但如果直接對 DC 作畫, 畫面會有明顯的閃爍(flicker), 尤其是整個畫面要重畫時, 最為明顯, 原因是每一次畫的動作, 都會存取到繪圖裝置, 將資料輸出至螢幕, 因此如果減少對繪圖裝置的存取, 畫面閃爍的情況就會好轉, 甚至消失.

2012年4月20日 星期五

Calling Out with Alien

Alien 是 Lua 的擴充函式庫之一, 它提供了 FFI(Foreign Function Interface), 可以很輕易地在 Lua 中呼叫動態聯結函式庫中的函式.

2012年4月12日 星期四

HID over I2C

HID over I2C 即 HID protocol 在 I2C 通訊介面上的實作, 以觸控板裝置為例, 在 Windows 8 中的驅動程式堆疊如下:

2012年4月4日 星期三

Year 0, Month 5

小汪滿五個月了! 這個月你比較不愛躺著, 有時把你放下躺著, 你就要哭哭, 有時愛跟我們玩另類的仰臥起坐, 也就是你會緊握爸爸媽媽的食指, 用自己的腰力坐起來.

G11n = I18n + L10n

Quote:
I18n - Internationalization - Providing some kind of framework so that you can easily swap out strings, graphics, sounds and other resources and generally handling different conventions of communication.

2012年4月2日 星期一

Shell_NotifyIcon Fails with ERROR_NO_TOKEN

要新增一個 tray icon 時, 我們會呼叫 Shell_NotifyIcon(), 但不知為什麼, 偶爾會失敗, 而且更慘的是都在客戶的機器上發生, 從網上討論區中也發現其他人也有遇到這種情況, 也看到了一些解決方案, 譬如在 NIM_ADD 失敗後, 就先 NIM_DELETE 再重試, 也的確有效, 就這樣撐了好幾年.

2012年3月24日 星期六

The Scripting Language Lua

Lua(發音露亞, 在葡萄牙語是月亮的意思) 是個描述語言, 專為嵌入其它程式語言(尤其是 C/C++)而設計, 其本身是以函式庫的形式存在, 因此需要一個宿主(host)程式才能夠運作. Lua 的優點:

2012年3月20日 星期二

Message Queue & Loop

在 Windows 中, 一個 thread 在建立後並不會馬上擁有自己的 message queue, 而是在需要時才會被建立, 譬如在這個 thread 中呼叫了 CreateWindow() 等函式.

2012年3月16日 星期五

2012年3月11日 星期日

Event Shared Between Kernel and User Modes

要避免應用程式沒效率地監看驅動程式的事件, 我們會很直覺地想到使用 event, 但一般只有在 user mode 或是 kernel mode 各別使用, 如果要在 user mode 及 kernel mode 使用同一個 event, 要怎麼做呢?

2012年3月4日 星期日

Year 0, Month 4

第四個月的小汪, 你竟然感冒了, 因為托兒所老師說那邊沒有人感冒, 所以可能是在接送過程中受寒了. 感冒的第一天, 開始聽到你偶爾咳幾聲, 隔天就聽到你呼吸有鼻涕聲了, 爸爸媽媽都很擔心, 一大早就請假帶你去給醫生看, 醫生用機器吸了鼻子, "唰唰...."吸出了一堆鼻涕, 醫生說鼻涕是黃的, 是病毒感染, 也因為才出生三個多月, 醫生想了一下, 開了比較安全的藥.

2012年2月22日 星期三

Certificate Chain: Intermediate CA Certificates

每次還原系統後都忘記要再安裝 Intermediate CA Certificates, 而浪費時間在解決數位簽章不能做 code signing 的問題, 這次又溫習了一次, 趕緊記下來.

2012年2月4日 星期六

Year 0, Month 3

小汪! 在第三個月, 你愈來愈會跟我們互動了, 很愛咿咿呀呀講話, 我們也學你咿咿呀呀, 你還會回話, 非常好玩! 農曆新年也在這個月, 依照農歷年歲數算法, 你過了這年竟然就兩歲了, 會不會太扯!?

2012年2月3日 星期五

Copy and Rename Files in INF

我們的驅動程式安裝包內有 32-bit 及 64-bit 的版本::
package\bt32.dll
package\bt64.dll

2012年1月17日 星期二

Lower The Privilege of Executables


設想一種情況:
  1. 客戶給的執行檔要包在我們的安裝包裡並且在開機時自動執行
  2. 該執行檔在 build 時被設定為需要管理者權限來執行, 結果開機自動執行時都會跳出需要確認權限的對話框

2012年1月4日 星期三

Year 0, Month 2

小汪, 第二個月有把你抓回台北一星期, 每天看到你都好興奮喔! 因為在台北, 不會有阿媽一聽到哭聲就跑來的情況, 我就可以好好實施軍式管理...嘿嘿!!