Qt5 with ANGLE library

看起來 Qt5 已經半正式支援 ANGLE 了,找個時間來看看是不是合用 XD [Development] Quick2 and Directx11 backend (Angle)http://lists.qt-project.org/pipermail/development/2012-May/003980.html Microsoft DirectX Back-End Support For...

做早餐 vs 做軟體 – 早餐店老闆也該看人月神話

家裡附近有幾家早餐店,其中一家大部份只有老闆娘一個人獨撐大局,另外二家則是有好幾個員工。每家早餐店的客人數量感覺都差不多,不過員工多的反而常常出餐慢、上錯餐點,而一人早餐店卻可以做的非常有條理,速度也不錯。根據我長久以來的觀察,我發現了其中的奧秘… 一人早餐店:老闆娘具備了明星早餐店員工該有的特質:...

[SOFT] 高效程式開發筆記 #1 – Thread Profiler

要打造一個效能良好的 Multi-Thread Application 是難度相當高的一件事,一般來說第一個會碰到的問題就是因為 synchronization objects 的 contention 造成的效能下降,通常可以用 atomic operator 及 lock-free algorithm 做一些改善。而隨著現在 CPU 的核心數愈來愈多,又把難度向上提高了不少 Orz。其它常碰到的問題包括了:第一個是 Load imbalance:假設你的電腦是 4 cores,理想上開 4 threads...

[DEBUG] 丟掉VS.NET,用 WinDbg 才是王道 Part 1

在 debug 時最常用到的就是 symbol file / symbol server,然而相信常有 load 不到 symbol file 的經驗,不管怎麼按,怎麼換,不對就是不對,有時覺得明明就放對了,還是不能用 Orz。如果你用的是 VS.NET,應該永遠都只能繼續怨天尤人、哭天搶地了,但如果你用的是 windbg 的話,那麼請照著下面步驟來解決這個問題。例如我在追查memory leak的時候,去分析一個 address 的 call stack!heap -p -a 0x12344545結果得到的 callstack...

[SOFT] 如何整合 TeamCity 與 Boost Unit Testing Framework

上次介紹的 TeamCity 預設是不支援 Boost Unit Testing Framework 的,需要額外的 plugin 才能將Boost UTF 的測試報告整合進 TeamCity 中。首先先到 TeamCity 官方網站下載 plugin,檔案在http://confluence.jetbrains.net/display/TW/Cpp+Unit+Test+Reporting裡面有一個 teamcity-boost-1.2.zip for Boost.Test...

軟體開發之道 – 大教堂和市集

大教堂和市集(The Cathedral and the Bazaar) 是一篇相當有名的文章,不過之前一直沒有看,直到後來讀了Dreaming in Code 一書後,才把這篇文章仔細讀完。這篇文章是由 Eric Steven Raymond 所寫,內容在描述 Linux 的開發模式(市集)及Raymond 自己仿照這個模式開發 fetchmail...