Wikipedia Affiliate Button

10/23/2004

Glitz

哈哈, 把這篇看完了,
http://www.cs.umu.se/~c99drn/opengl_freenix04.pdf

真期待Mac OSX 上面畫面轉化效果呈現在電視上, 一定炫呆了.

survey一下 via epia, 這看起來是目前能找到的最便宜 opengl system, 唉! 什麼時候能有空 try一下?

10/20/2004

wxWidgets v.s. Qt3

嘿嘿.....終於需要寫windows程式了, framework方面, MFC當然不列入考慮, 並不是我有反微軟情結, 而是

程式要能跨平台才夠屌嘛!


survey 下來剩兩套, Qt3wxWidgets, 我的需求如下

  1. windows port 要能用
  2. 要有 sqlite wrapper
  3. locale & unicode 支援必須良好
  4. 要有UI 產生器
  5. 成功案例要夠多

4 方面, Qt 的 UI designer 看起來強多了, 可是論5 的話, wxWidgets 在windows的
的軟體似乎多很多套

Why is Malloc Different Under uClinux

David McCullough 寫的文章 Why is Malloc Different Under uClinux ,
做點筆記好了
  1. 在 mmu-less 的CPU上, malloc()無法以 sbrk/brk 來implement
  2. uclinux目前的做法是用 mmap() 直接向 kernel global pool要
  3. 用mmap有兩個問題,
  • 每個memory block, 要花56 bytes來booking, 對作許多次 small allocation的app來說並不划算
  • 標準kernel allocator, 每次配置size 是以二的乘方為單位, 比如要33k, 會直接給64k

uclinux提出新的allocator, Kmalloc2, 特色如下

為了避免fragmentation, 小於8kb從尾端 allocate, 大於8kb的block則從前端allocate




debugging memory leaks on uClinux

專案程式已經膨脹到超過 50 個 .c, 外加 link 一份超大 C++ binary object, 這麼大的程式要在uclinux 上debug memory leak還真麻煩......

好啦, 我承認當初不應該輕易打破 portability原則, 搞得現在沒辦法在 x86 debug.

uclibc 好像有提供一些支援, 看到了這個
>make menuconfig
uClibc development/debugging options
Build malloc with debugging support

希望這招有效, 明天來驗證

10/19/2004

好用的 ssh client for windows -- piaip's putty

好啦, 我知道很多人介紹過了, 這也不是什麼新聞, 不過我早說過這個blog是用來當我的個人筆記本

http://ntu.csie.org/~piaip/prjs/pputty/

10/17/2004

something about UI

http://cairographics.org/
http://www.xulplanet.com/

唉, 有空再研究了

SVN book 中文版

呵... 真好, 感謝 plasma, 雖然沒見過你, 感謝你的貢獻.
http://freebsd.sinica.edu.tw/~plasma/svnbook/

這邊還有快速上手文件
http://in2.wiki.ptt.cc/-SubversionQuickStart

BTW, 要讓說服所有同事還有主管 follow version control 觀念才是最麻煩的事

const char const *

從出社會到現在, C 已經練很久了, 不過偶而還是會發現新的東西, 今天在 sayya 看到的,

const char * const str

乍看還真有點眼花撩亂, 平常都只用過一個 const, 這次怎麼兩個 const? 分開來看就比較清楚

考慮下面兩種宣告
  1. const char *str
  2. char * const str

上面代表 str 所指向的資料不能改寫, 下面代表 str pointer本身不能移動

還不懂嗎? 可以試著對這兩種型別作下面兩個動作, 看看compiler的反應
  1. *str='a'
  2. str++

Reconsidering Custom Memory Allocation

昨天無意間看到的論文
Reconsidering Custom Memory Allocation

作者比較了八套內部自行implement memory allocator的軟體, 發現其中有六個並沒有比 general allocator 來得效率好,

我在這個業界已經四年了, 自以為聰明的工程師還不少, 喜歡不照標準, 自己搞一套, 不只是memory allocator, 其他encryptor, protocol 我都看過例子, 如果真的有比較好就算了, 偏偏大部分都很buggy 且缺乏文件, 後續maintain十分困難.

當物理學家遇到bug

well, 我不是要討論高速平行物理運算.

今天在看 man assert(3), 發現一些對bug有趣的比擬,
都記載在 jargon's file

heisenbug -- 開始試著debug就消失的bug, 就是我們常抱怨的, 為什麼一加printf就正常, 拿掉就不對?

mandelbug -- 每次執行, 表現行為反覆不定, 常常是一片混亂, 原因難究的bug, 唉...我每次寫multithread 程式都會遇到這種bug.

bohr bug -- repeatable bug. 這種比較好解啦



reconsider hosting a blog yourself.

本來想弄個簡單的blog當筆記本, 可是花了半個小時搞 pyblosxm 才弄到一個醜醜的頁面, 且挖勒還要自己用文字檔編輯.....

還是來申請個公共 blog 比較方便, Wow! blogger.com 內建的這個 editor還真是強耶. 只用html就做得出來嗎?

標題改怎麼下呢? 學學昨天看到的論文題目好了,
-- reconsider hosting a blog yourself.

還是一句老話, 自己弄不會比較屌啦!