2006/04/29

[筆記] PostgreSQL 的 UNION 用法

情境
有兩個不同的表格,分別存放不同的交易資料,其中包含交易日期以及客戶編號

問題
欲取出兩個資料表中的交易日期,並且同時顯示在一個 column 中,並且交易日期不可重複、最新的日期排在前面、僅輸出十筆資料,並且只取其中一個客戶的資料。

語法
SELECT DISTINCT t1."pubDate" FROM public."Table1" AS t1 WHERE t1.custId = {0} UNION (SELECT t2."pubDate" FROM public."Table2" AS t2 WHERE t2.custId = {0} ) ORDER BY "pubDate" LIMIT 10

備註
用 PostgreSQL 的欄位名稱最好不要用大小寫如 CustId, 而應該採用 cust_id 這種方式。否則使用大小寫的欄位名稱時,都必須加註雙引號。

2006/04/25

gaim plugins 的 hello world!

這幾天跟 rhythmbox 的源碼、還有 gaim plugin 的奮戰,終於寫出 Hello World 啦!太高興了 ^^

我修改了一下 gaim/plugin/simple.c ,讓模組一載入的時候,會跳出 libnotify 的通知小視窗。

gaim_plugin

酷耶!真希望趕快完成阿,衝衝衝衝衝衝衝衝衝衝!!!

2006/04/24

[筆記] GNOME 顯示 Notify 訊息 — libnotify

libnotify.png

最近為了想做出跟 rhythmbox 一樣的 notify 訊息,研究了一下 code。後來發現只要使用 libnotify 這個函式庫就可以做出這樣的效果。

源碼也很短,就下面這些:
#include<libnotify/notify.h>
#include<gdk-pixbuf/gdk-pixbuf.h>

int main() {
NotifyNotification *not;
GdkPixbuf *pixbuf;
//GdkPixbufLoader *loader;

notify_init('test');
//loader = gdk_pixbuf_loader_new_with_type('png', NULL);
//gdk_pixbuf_loader_write(loader, 'icon.png'
pixbuf = gdk_pixbuf_new_from_file('logo.png', NULL);
not = notify_notification_new('測試訊息', '這是一個測試訊息', NULL, NULL);
notify_notification_set_timeout(not, 10000);
notify_notification_set_icon_from_pixbuf(not, pixbuf);
notify_notification_set_hint_int32 (not, 'x', 1000);
notify_notification_set_hint_int32 (not, 'y', 50);
notify_notification_show(not, NULL);

return 0;
}




相當的簡單。不過花了我好多天的時間 trace, 功力真是不足 :(

2006/04/17

[tip] gaim 中把 irc 頻道加入好友清單

之前每次用 gaim 進入 irc 都要打 /join #blah,#blah 的,其實根本就不用這麼麻煩,一直作蠢事 = =
順便推廣一下,我通常會在 freenode 的 irc 上,網址為 irc.freenode.net
linux 社群的朋友通常都會待在 #dot, #ubuntu-tw, #gentoo-tw 這三個頻道,有空來坐阿。
gaim 上 irc 的方法可以參考 Tetralet 的文章

2006/04/16

[感想] 一個 GTK+ 菜鳥

感覺還真怪阿。

明明寫著 C 語言,但是用的 GUI library 卻是 Object Oriented 的設計方式,對一個用慣 Java Swing/C# window.form 的人來說,真是百感交集。

2006/04/14

Unofficial Debian TW logo

某天的下午做的。

debian-tw-2 debian-tw

[update]
重繪了台灣地圖,加上了一些材質、貼圖
debian-tw-4 debian-tw-3

2006/04/12

eclipse 的自動補齊程式碼

受到 gugodOSDC.TW 上講的利器善事 (我猜這個簡報只能用 Firefox 開) 的啟發,找了一下 eclipse 中是否有自動補齊的功能,結果當然是有的。

請先用 eclipse 開一個 Java 檔案,先鍵入『for』接著再按下 [alt] + [?],此時會跳出一個選單,有很多 for 樣式可以選。

eclipse 中 for 迴圈的樣式

直接按 [enter] 選擇第一個樣式,這樣 for 迴圈就寫好了,按 [tab] 鍵可以在各個變數之前移動。

for 迴圈使用變數 i

那如果在大括號之間再使用一次勒?就會出現以 j 作為變數的 for 迴圈!

eclipse 產生的兩層 for 迴圈

看來我還不夠了解我的 IDE 阿,下次再多研究。另外我覺得有一天,猴子也可以寫程式。

猴子對 eclipse 講:『吱吱吱~』
eclipse 就寫出一支香蕉程式來。

2006/04/10

國際駭客發動網路戰

來源:Rex’s blah blah blah » 國際駭客發動網路戰

最近主流媒體上發佈了國際駭客發動網路站的新聞,但事實上並不是他們報導的那樣,而是調查局的錢世傑所發佈出來的新聞並不正確,並且有炒作新聞之嫌。詳情請見 chihchun 的 blog。

2006/04/06

OSDC

各位朋友,OSDC 見啦!

May the source be with you, 願源碼與你同在 :)

絕對的對錯

文舖掛掉的第二天,我好恨 blogspot 阿…。

這幾年慢慢的讓自己逐漸遠離,那個喜歡爭辯對錯的背影。雖然說有時候還是會有點衝動,但是過一下子就打消念頭了。很多事情不一定要試著說服對方瞭解,因為沒有必要這麼作。每個人看事情的角度多少都會有些差異,而再怎麼辯論,也是徒費脣舌。更何況每件事物的價值,也不會因爭辯輸贏而改變。

這幾年我也不再傳教。來者不拒,去者不留。什麼作業系統好不好用,從不同的觀點來看也是差異十足。

2006/04/05

更改版面

恩,變更了些版面。

雖然說還是有使用 800x600 解析度的使用者,不過也不至於影響要傳播的資訊。變更為不定寬版面之後,可視範圍大很多 :)

BTW, 我還是很喜歡右上角的企鵝,有時間一定要重繪過。

謙卑

咳、因為文舖掛掉。所以難得把心情寫在這裡。

從五專開始,就開始接受社團、實驗室的資訊以及訓練。距離現在的七年內,我學到了很多東西。然而,在前幾年也開始產生了一種叫做『自傲』的感情因素。人在某個領域打滾久了,就會慢慢的覺得自己是這塊的長者。開始對別人的想法聽不進去。面對許多事情開始有了自尊這種想法。我不得不承認,這真是個愚蠢的想法。

而現在我卻覺得在這七年內最終所學到,最大的收穫,則是謙卑。

對我來說,這是一段漫漫長路,最後才得到的成果,也算是磨練了許久,現在心裡的形狀。總有一天,我會體認到無論說了多少話、或者是別人說了多少話,都不能改變真正的自我。唯一可以改變自己的,是時間、每天閱讀的成果、還有際遇。與其低頭看初心者,不如抬頭看那成千百萬在你頭上、資深的人。

說了太多話,也只會讓初心者覺得臭屁、讓長者對你的能力嗤之以鼻。到了研究所有件很重要的事情,就是希望自己可以少說點話,多作點事情。

Access Linux Platform 在 LinuxWorld 亮相

新聞來源:Access Linux Platform Shown at LinuxWorld

在 PlamSource 被 Access 併購一陣子後,最近終於在 LinuxWorld 中展出了他們開發成果。雖然說新平台也支援 GTK+,不過 Access 還提供了另外一個 UI Framework: MAX。下面這張圖展示了 Access Linux Platform 的架構:
access_linux_table_L

不知道新上市的 tero 700p 是否會採用新平台呢?還蠻期待的 :)

2006/04/04

[感想] 微軟終止Windows 98、Me技術支援

新聞:微軟終止Windows 98、Me技術支援

其中裡面一段提到:
不過受影響的使用者可能也不會很多。陳宣霈表示,依據台灣微軟技術中心(MTC)接到的技術求助電話來看,這三種作業系統的「使用者比例相當低,在個位數以下。」她說。


我想台灣微軟可能沒有深入的調查過,還有多少非科技產業還在使用 Windows 98。畢竟會注意到支援期限,而使用『技術求助電話』的企業,對資訊都還有一定的瞭解程度,那傳統產業呢?