i'm sam

C++|WorkFlowy|軟體開發|數位筆記

LINE 是假的,專注才是真的
career

LINE 是假的,專注才是真的

底下一位小朋友,老愛在上班時間 LINE 來 LINE 去,假裝專心上班卻一點不專心。寫了一封未指名的公開信,希望他能即時醒悟。 -------------------------------------------------------------------------------- 專注的時間越長,能完成的事情越多。有深度的任務,需要長時間專注處理。我需要你們把心專注在公司的專案,分心是因為不得已,不是「我願意」。 * 因為 LINE,忘了處理那件事,漏掉那個... * 因為上班的關係,無法立即回覆 LINE... 以一個僱員的角色來看,各位覺得哪一個比較合理? 我不相信有人能夠一邊 LINE,一邊「專心上班」。別再自欺欺人認為你做得到,停止自我催眠,花點時間反省。 為了降低分心因子,你有幾件事可以做: * 讓對方知道上班時間你沒辦法隨時注意訊息,更難即時回應他。 * 定好幾個特定時段,非緊急的事最好在這時間段內聯絡。例如:12pm ~ 1pm,下午四點。 我知道長時間保持專注不是輕鬆簡單的事,偶爾放鬆做點別的事無可厚非,也是好事。重點是,你要拿捏好分
2 min read
JUCE Diary #2: Introjucer
Programming

JUCE Diary #2: Introjucer

為了解決每次新增專案都要面對的煩人鎖事,JUCE 提供一個工具叫 Introjucer。(我猜這是 Introduce + JUCE 的結合,頗具巧思)。 Introjucer [http://www.juce.com/learn/introjucer] 是所有 JUCE 專案的起手式,專案建置都靠它。主要的功能有: * 產生並管理主流開發 IDE(Visual Studio, Xcode, etc.)適用的專案檔 * 產生適合翻譯的檔案 * 使用者介面設計工具 Introjucer [http://www.juce.com/learn/introjucer] 的功能看似陽春但其實相當精實,只做該做的事,其他工作如編譯原始碼,就交由各平台主流 IDE。 我很認同 JUCE 創作者的哲學: > Don't repeat
1 min read
VS Diary #1: Child Process Debugging
Visual Studio

VS Diary #1: Child Process Debugging

我的專案由數支程式(.exe)組成,其中一支程式甲,只能由程式乙執行並給予適當的參數。甲有隻難纏的蟲,要活抓,得下功夫... 由於甲只聽命於乙,我必須在甲執行後用 Visual Studio or WinDbg 撲上去(Attach to Process)才能開始偵錯。這樣不僅效率低,如果臭蟲在程式一開始執行時才會出現,有可能在我撲上去前蟲就「跑」掉了。如果能「事先擺好陷阱」,待 Process 出現自動撲上去,該有多好! 有一好用的 Visual Studio 專門做這活兒-Microsoft Child Process Debugging Power Tool。可免費到這裡下載: * https://visualstudiogallery.msdn.microsoft.com/a1141bff-463f-465f-9b6d-d29b7b503d7a 安裝完成後,到選單 Debug
2 min read
Fix Building Windows 10 WDK Sample Error
Windows 10

Fix Building Windows 10 WDK Sample Error

Microsoft 很聰明地將 Windows 10 驅動程式範例程式放到了 GitHub [http://bit.ly/1LMUPNx] 。這陣子手上剛好有需求,於是「非常不浪費時間地」的安裝了以下軟體(按順序): 1. Visual Studio 2015 2. Windows 10 SDK 3. Windows 10 WDK (10075) 興高采烈地編譯起 vhidmini2,結果遇到了下列錯誤: > ..\vhidmini.c : fatal error C1083: Cannot open include file: '\warning.h': No such file or directory
1 min read
Programming

WhenLeaveDo

我相當討厭 goto [https://en.wikipedia.org/wiki/Goto],幾乎不用它。常見的 goto 用法是把清理資源的程式碼放到函數尾端,程式執行過程一遇到問題,就 goto 到該資源清理區,然後離開。 這是很常見的需求,我希望利用 C++ 語言特性來實作,需求如下: * 待清理的「資源」不固定 * 函數跳離前(包含 Exception)需保證資源被清理 WhenLeaveDo 的用法: WhenLeaveDo cleanup([]() { // Cleanup code. }); 實作 template <typename Task> class WhenLeaveDo { WhenLeaveDo(Task t) : task_{t} {} ~WhenLeaveDo() { if
Programming

成為專業程式設計師的第一步

> “成為專業程式設計師的第一步:不要用細明體寫程式。” – Sam Tsai pic.twitter.com/g0FnpNJU37 [http://t.co/g0FnpNJU37] — sam (@mhtx) April 14, 2015 [https://twitter.com/mhtx/status/587971145955209216] > 記得以前提出「不要用細明體寫程式」,竟然有人反對,有夠痛苦。 這不在「個人喜好不同」的層次。細明體不只看起來不專業,寫起來不專業,根本重頭到尾就不是專業的程式碼字體。每次看到有人用她寫程式,感覺像是對人一直說:我好不專業喔! 還有,「新」細明體沒有比較好! — sam (@mhtx) April 14, 2015 [https://twitter.com/mhtx/
1 min read
螢幕截圖老不修:Windows Clippings | Part II
Windows

螢幕截圖老不修:Windows Clippings | Part II

先前介紹了各種截圖方式,今天來看「截圖效果」。 Windows Clippings 的 Visual Effects 選項如下: 1Windows Clippings Visual Effects Include window shadow(截圖含視窗陰影效果) 先看看有陰影效果的截圖: 再來看看沒有陰影效果的截圖: 放大二倍來比較 WC, Alt + PrintScreen, Skitch 的表現: Windows Clippings 去視窗陰影的表現明顯優於另二個。 半透明的視窗邊框 使用 WC 截圖,連視窗的 Aero Glass 效果都保留下來: Include mouse pointer 功能用來選擇要不要截入滑鼠指標。Disable font smoothing 老實說我看不太出來差異。 Use delay to prepare selection(截取前倒數)
3 min read