ltdl library

可以輸入 info libtool 找 Module loaders for libltdl 就可以得到不少資訊.
簡單說,就是可以製作能動態載入 module/plugin 的 library, 以 linux 來說,底層其實就是 dlopen, dlsym 這些函數
這個 library 其實是一個 wrapper, 跨了好幾個平台: BSD, Linux, Win32…
configure.in 中的設定
AC_LIBLTDL_CONVENIENCE
AC_SUBST(LTLINCL)
AC_SUBST(LIBLTDL)
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
AC_CONFIG_SUBDIRS(libltdl)
Makefile.am 中的設定
SUBDIRS=libltdl
INCLUDES=$(LTDLINCL)
prog_LDFLAGS=-export-dynamic
prog_LDADD=$(LIBLTDL) “_dlopen” self “_dlopen” fxx.la
prog_DEPENDENCIES=$(LIBLTDL) fool.la
prog 指的是執行檔名稱
而 module/plugin 的 Makefile.am 設定
xxx_la_LDFLAGS=-module
函數蠻多的,可以直接從 ltdl.h 去找或參考 info
對於 Multi-Thread 也有支援.

[亂逛]WxWidget相關軟體

2003年底某天去找 WxWindows (現已更名為 WxWidget) 逛到的一些用 WxWidget 這個 framework 的軟體.
WxWidget http://www.wxwidget.org 官方網站
WxJS http://wxjs.sourceforge.net
WxBasic http://wxbasic.sourceforge.net
WxWorkshop http://wxworkshop.sourceforge.net 開發工具
poedit http://poedit.sourceforge.net 編輯 po 檔的工具,用過的感覺還不錯~~蠻好用的~~
ldaptool http://ldaptool.sourceforge.net LDAP Explorer Tool
text2rtf http://www.wxwidget.org/text2rtf/index.htm 轉換 LaTex 的文檔為 rtf / html / xlp
pgadmin3 http://pgadmin.org/pgadmin3/index.php Postgre SQL 的管理工具
WxBlogger http://homepage.mac.com/codonnell/wxBlogger/Personal Blog, blog 的內容都會轉存為 html 檔.屆時發佈這些 html 檔就行了~~

骨折記

記得 2000 年年初的時候,有一次,因為客戶有問題,處理的一肚子火,於是很生氣,就打牆壁,想說牆壁有貼一塊軟木紙,應該不會有事,就用力打.
結果……好痛……
那時候已經晚上九點多了,強忍痛意騎車去看醫生~~
照了 X 光,醫生說,”是骨折,右手手掌連接小指的那根骨頭斷了~你明天最好去大醫院看~~”
所以只幫我固定了一下~~而我仍然神勇地騎車回家……
隔天去了永和耕莘醫院,醫生看了看就說,”少年仔,跟別人打架喔~~”
我說,”不是….”
醫生說,”不要騙了啦….”
我只好不說話,因為實在不想說出原因…..
於是就打了一個月的石膏…..開始練習左手吃飯,左手打字,左手用滑鼠……
經歷了這件事情以後,我體悟到一件很重要的事情:
就是…..心情不好的時候,絕對不要自殘身體….否則…..會更痛苦…..

在 .Net 上不使用 crystal report.net 的列印方法

因為手頭並沒有 Visual Studio.Net, 理所當然也沒有 Crystal Report.Net…
所以就去找看看是不是有不用 Crystal Report.Net 就可以進行預覽列印與列印的方法.
http://www.ondotnet.com/pub/a/dotnet/2002/06/24/printing.html
這篇是介紹 c# printing 的函數,介紹的相當仔細~
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vboriprintdocumentcontrol.asp
http://samples.gotdotnet.com/quickstart/
http://www.microsoft.com/taiwan/msdn/library/2003/May-2003-tw/printwinforms.htm
這三篇則是微軟的官方資料~
前一篇是以 vb.net 做介紹,用法大致差不多~~
http://www.c-sharpcorner.com/Code/2002/July/WinFormsPrinterSel.asp
這篇則是介紹取得印表機與選擇印表機的方法~~

Linux Timezone programming HOW-TO

以前在作 NAS (Network Attached Server) 的時候,因為要取得並設定時區,所以去找到的資料.
主要是參考這篇 The GNU C Library – Time Zone Functions.還有一些其他 Linux 程式的方式來解決.
不過 GNU C 的這個 timezone functions 似乎不太 work,我想可能是我不會用吧~~後來是改用 symbolic link 的方式來解決~~
以下用問答的方式來記述:
1.如何取得目前 timezone?

在設計上,可以將 /etc/localtime symbolic link 到 /usr/share/zoneinfo 下的 zone file. 藉著取得真實路徑的函數readlink(),就可以得知是哪裡的 timezone.

2.如何設定 timezone?

同 1, 可以用 symbolic link 的方式來設定

3.和 TZ Environment Variable 的關係

如果有設定 TZ 環境變數,那麼 /etc/localtime 將會失效.
TZ 有特定格式,需要查一下,大多的 embedded system 都是直接利用 TZ 環境變數,而不使用 zone file.

4.如何瀏覽 zone??

可以直接開啟 /usr/share/zoneinfo/zone.tab 來取得列表.
此檔共有四欄: code, coordinates, TZ, comments.
照慣例,以 # 開始的該列為註解.
比較需要用到的兩個欄位: TZ 與 comments.

5.預設值??

預設值可以直接指向 /usr/share/zoneinfo/GreenWich 表示為格林威治標準時間

php adodb

php 的 adodb, 以前寫聊天室的時候有用到,用法很類似 ASP 的 ADODB,所以說是一層 把 Database 操作方法統一起來的 layer.
PHP 本身也有所謂的PEAR DB, 用途與做法也相當類似.
這裡是他的官方網站
下面的程式碼則是在逛官方網站還有這篇的時候,隨手抄下來的(不知道抄來幹麼,我想可能是抄爽的)….

include(“adodb.inc.php”);
$dbconn=NewADOConnection(“mysql”); // or postgresql(pgsql)
$dbconn->Connect(“localhost”, “username”, “password”, “databasename” ) or die(“Unable to connect!”);
$result=$dbconn->Execute( $query ) or die(“Error in query: $query.”. $dbconn->ErrorMsg() );
while( !result->EOF )
{
    echo $result->fields[1].”-“.$result->fields[2].”\n”;
    $result->MoveNext();
}
// $result->RecordCount(); // 取得筆數
// $result->FieldCount(); // 取得欄數
$dbconn->close();

也可以用 Fetch, 把 recordset 換為 object, 然後用 FetchNextObject() 取得下一筆.

while( $row=$result->FetchNextObject() )
{
  echo $row->TITLE. “-” . $row->AUTHOR. “\n”;
}

安裝的時候,放到 php 程式所在目錄下,假設為 adodb 好了,所以

<?
include( ‘adodb/adodb.inc.php’ );
$db=&ADONewConnection( $database_type ); // $database_type can be “mysql” or ….
$db->debug=true;
$db->PConnect(“$server, $user, $pw, $database );
$rs=$db->Execute( ‘select * from aaa’ );
print “<pre>”;
print_r( $rs->GetRows() );
print “</pre>”;
?>

D language?!

很有趣~~
這裡看到所謂的 D Language.
D Language 很類似 C/C++ 甚至也很類似 Java/C#, 不過這四門語言本來就或多或少有相似之處 🙂 現在又加入一個同門師兄弟啦~~真不知該感到欣慰還是悲傷 ^_^
同門師兄弟:
C, C++, Java, C#, D
有點類似又不會太類似:
PHP, Perl, Python

asia與fish的故事-2

話說, asia 心有而力不足,殺不了 fish 之後~
fish 就跟他說:”相逢自是有緣,不打不相識~~天色也快亮了,不如我們一起去復興南路那兒吃個稀飯~~”
asia 放下手邊的武器,有點頹喪地說:”好吧~~”
到了那兒,果然是菜色齊全~
asia 說:”這兒的稀飯怎麼那麼稀啊?!”
fish 就說啦:”不稀怎麼賺錢啊~~”
這個時候,也來吃早餐的 Jerry 就突然爆出一句~
“布希就是當總統賺錢的啊!!!”

Continue reading “asia與fish的故事-2”

反正大家都不認識我

我以前看過一個故事,看完以後覺得對自己遇到新事物時會害羞,卻步的個性很有幫助~~
話說,有個英國紳士老是穿的很邋遢,有天他在家附近散步的時候,有人問他說,
“為什麼不穿的稱頭一點呢??”
英國紳士答道,”反正大家都認識我啊~~”
那人想想也有道理,就不再追問了~~
後來又有一天,那人出去做生意,恰好又遇到那位英國紳士~然後他還是穿的那麼邋遢~~他忍不住又問了
“你好~~好巧又遇到你,為什麼你還是穿的這麼邋遢呢??”
英國紳士答道,”反正這裡大家都不認識我啊~~”

除蟻妙招

因為之前租來的房子裡有螞蟻作怪,所以就利用網路去搜括除蟻大全~~
結果放到現在~~只用過一招,薰衣草精油+水去拖地~~=_=
1.可以去買專殺螞蟻的除蟲劑
2.防蟻粉筆或妙奇粉筆,可到超商或五金行購買
3.橘子皮,以手壓皮,使其噴出汁液.
4.樟腦油(或香茅油,薄荷油)
5.硫酸水
6.胡椒粉,辣椒粉
7.薰衣草精油,半公升水+2~3滴精油,以薰香器蒸發亦可防蚊蟲(亦可改用薄荷,檸檬草或天竺葵)
8.以數條橡皮筋套在糖罐下方(需間隔)
9.矽藻土(永衛牌)
10.麵粉一碗,鮮奶一碗,糖兩大匙,硼酸一盒,洋蔥一顆,利用塑膠袋混合,在塑膠袋剪一小洞,擠到小紙片上,放到各角落,除可以殺蟑外,亦可防蟻,可放置五到六個月.
11.痱子粉.