2009年12月30日 星期三

[shell] 批次改檔名

把*.html的檔案改成.html.php
for f in *.html; do
base=`basename $f .html`
mv $f $base.html.php
done
如果學了sed或awk不知道可不可以一行幹掉...

2009年12月29日 星期二

[C] 錯誤訊息 stdio.h, -std=c99

錯誤訊息:
/usr/include/stdio.h:397: error: expected identifier or ‘(’ before ‘int’
這裡?!
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));


加了compile時加-std=c99就好了...

[Linux] Cmake筆記 (隨時會改)

cmake_minimum_required (VERSION 2.6)
# 計劃名稱
project (XXX)
# 把原始碼都設成變數MY_SRCS
set (MY_SRCS foo.c bar.c...)
# include資料夾
include_directories (${XXX_SOURCE_DIR}/inc)
# 編譯C的參數
set (CMAKE_C_FLAGS "-O2 -g -W...")
# 設定執行檔
add_executable (runxxx ${MY_SRCS} )
# 加入libm
find_library(M_LIB m)
target_link_libraries(mpegdec ${M_LIB})


參考:
「貓也會的 CMake」簡報上線
CMake Useful Variables
CMake FAQ
Cross-Platform Software Development Using CMake

2009年12月25日 星期五

[Linux] Crontab速查

crontab [-l|-e|-r], [列出|編輯|刪除]

每個星期五晚上10點做一次
0 22 * * 5 /home/moogoo/test.sh

每五分鐘做一次
*/5 * * * * /home/moogoo/test.sh

設定檔
/etc/crontab

參考: 循環執行的例行性工作排程

2009年12月23日 星期三

小試Dvorak鍵盤layout

開始鼓起勇氣鍵盤排列換成Dvorak,打字開始慢的跟剛學電腦時一樣,一時還懷念起來,想到那時的蠢樣(現在好像也沒好到那裡)。

在openSUSE裡的shell打setxkbmap dvorak就可以換過去了,但是最近有很多事要處理,所以還是不要自找麻煩一開機就設成dvorak。

但是中打就是一個大問題了,常用的倉頡還是注音順序就完全變了,自己還要先想,原本的字碼在那裡,然後現在要對映到那裡...不可能,殺了我吧。還好gcin有注音的dvorak mapping,可以暫時先用這樣。

本來還想順便也學行列,因為我倉頡打很久還是常常拆不了字,還是要搬注音出來啊...

參考: Dvorak 與行列輸入法

練習:
ABCD: A Basic Course in Dvorak

2009年12月14日 星期一

[openSUSE] Audacity 1.3.8不支援import mp3?

用zypper install安裝的Audacity不支援mp3的import,但是可以export~
裝了lame也指令路徑了也是一樣,到pacman抓最新1.3.10的rpm。
結果還缺libSoundTouch0和libtwolame,libSoundTouch0用zypper install就可以了,libtwolame竟然連software.opensuse.org都沒有,結果還是在pacman找到rpm直接安裝,果然就可以import mp3了。

2009年12月3日 星期四

[MySQL] Subqueries with ANY,喜歡A的人也會喜歡...

有一個資料表table, 紀錄使用者(user)喜歡的物品(item),然後在顯示這個物品時,也列出喜歡這個物品的人也會喜歡xxx。

SELECT item FROM table WHERE item != {$this_item} AND user = ANY(SELECT user FROM table WHERE item = {$this_item})
我的做法是,用MySQL的Subquery,先選出這個物品(item)同時也有其他使用者(user)喜歡,然後再用找到的這些使用者去選出他們也喜歡的物品,但是喜歡這個物品的人可能會很多。超過一個時,這個Subquery就會錯,所以要用MySQL的ANY功能。

頭腦不是很清楚,感覺弄的很複雜,不知道有沒有更好的作法。