星期六, 8月 26, 2006
move to csdn
新的位置
http://blog.csdn.net/mike0
在blogger上貼代碼還真是麻煩,csdn用fckeditor,貼代碼簡單多了,可以省下不少時間
星期二, 8月 22, 2006
NeXTSTEP 3 Demo
A VHS ripoff showing a demo of NeXTSTEP Release 3 by Steve Jobs. Although the demo Steve shows is very common today, it's a fantanstic job in that time. Very inspired and encouraged. |
星期日, 8月 20, 2006
install bakefile 2.0 by installer on windows
install it
test code reference here
---test msvc---
vcvas32
nmake /f makefile.vc clean
nmake /f makefile.vc DEBUG=1
hello
---test msvc6prj---
bakefile -f msvc6prj hello.bkl
open dsw and build
caution default setting is Release
---test mingw---
SET PATH=C:\MinGW\bin;%PATH%
mingw32-make -f makefile.gcc clean
mingw32-make -f makefile.gcc
hello
install bakefile 2.0 from source code on windows fail
download swig 1.3.29
decompress
install bakefile
downlaod bakefile-0.2.0.tar.gz
decompress
modify makefile.vc
---------------------
PYTHONDIR=c:\python24
PYTHONVERSION=24
---------------------
nmake -f makefile.vc clean
nmake -f makefile.vc
把source code下的
output, presets, rules和
src下的*.exe *.py *.pyd
複製至PYTHONDIR(c:\python24)下
test code reference here
執行c:python c:bakefile.py -f msvc hello.bkl
出現錯誤
Z:\mike\test\bakefile\hello>usage: bakefile.py [options] inputfile.bkl
bakefile.py: error: invalid format
available formats are:
Z:\mike\test\bakefile\hello>
install bakefile 2.0 from source code on linux
apt-get install python2.3-libxml2
apt-get install python2.3-dev
wget http://keihanna.dl.sourceforge.net/sourceforge/bakefile/bakefile-0.2.0.tar.gz
tar xvfz bakefile-0.2.0.tar.gz
cd bakefile-0.2.0
./configure
make
su
make install
ln -s /usr/local/share/aclocal/bakefile-lang.m4 bakefile-lang.m4
ln -s /usr/local/share/aclocal/bakefile.m4 bakefile.m4
exit
test
---hello.c---
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}
---hello.bkl---
<?xml version="1.0"?>
<makefile>
<include file="presets/simple.bkl"/>
<exe id="hello" template="simple">
<sources>hello.c</sources>
</exe>
</makefile>
---configure.ac---
AC_PREREQ(2.53)
AC_INIT(aclocal.m4)
AC_CANONICAL_SYSTEM
AC_ARG_ENABLE(debug,
[ --enable-debug Enable debugging information],
USE_DEBUG="$enableval", USE_DEBUG="no")
if test $USE_DEBUG = yes ; then
DEBUG=1
dnl Bakefile doesn't touch {C,CPP,CXX,LD}FLAGS in autoconf format, we
dnl have to do it ourselves. This will work with many compilers
dnl (but not all, proper configure script would check if the compiler
dnl supports it):
CFLAGS="$CFLAGS -g"
else
DEBUG=0
fi
AC_BAKEFILE([m4_include(autoconf_inc.m4)])
AC_OUTPUT([Makefile])
------
bakefile -f autoconf hello.bkl
bakefilize --copy &&amp;amp; aclocal && autoconf
./configure --help
./configure --enable-debug
make
./hello
星期六, 8月 19, 2006
visual studio 6 visual c++ version
vc6 original
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
vc6 sp6
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
links:
- Visual Studio 6 Service Pack 6
- Service Pack 6 Full Version - Single Download
- Service Pack 6 Full Version - Multiple Part Download
星期五, 8月 18, 2006
Linux I/O Redirection
make -f Makefile.x86 1>make.log 2>&1
把stderr轉向到stdout,把stdout轉向到make.log
make -f Makefile.x86 1 > out.txt 2 > err.txt
把stdout轉向到out.txt,stderr轉向到err.txt
星期四, 8月 17, 2006
轉貼-QEMU in ubuntu(vmware)
QEMU in ubuntu(vmware)
現在 IE 的市佔率還是在高點, 頁面設計還是得要以 IE 為主, 以 Linux 當 Desktop 的情況, 還是會遇到不得已, 非得要灌 Windows 的狀況(在 Linux 裝 IE 看起來實在太辛苦了)
不過 qemu 在灌 XP, 實在是異常的辛苦(光灌放在那邊就等了 8 個多小時才灌好)..
以下來記錄一下整個流程.
ubuntu 可以很簡單的使用 apt-get install qemu 來裝(不過因下述原因, 最後還是用官方版的, 就不用此 qemu package).
安裝完成後, XP開啟後速度太慢, 需要 kqemu 來加速(速度差很多, kqemu 據說是能讓速度到跟電腦平常速度差不多), 但是 debian package 的版本無法支援 kqemu, 所以最後把 ubuntu 的 qemu 移除了, 直接去官方網站抓qemu-0.8.1-i386.tar.gz(Binary distribution for linux-i38) 和 kqemu-1.3.0pre9.tar.gz 這兩個來用.
我測試的結果, 加上 kqemu 是快很多, 但是還是跟電腦平常使用上差蠻多的就是了.
安裝方法很簡單. 如下很快就可以裝好
- tar zxvf kqemu.xxxx.tar.gz
- cd kqemu.xxx/;./configure;make;make install
- # qemu 的安裝方法可以有兩種, 官方說法是 cd /;tar zxvf qemu.xxxx.tar.gz 即可.
- # 但是個人習慣還是放在自己目錄下比較好, 所以下面有另外介紹另一種做法
再來就是整個建置的步驟如下:
1. 建立 img 檔(之後所有運作(虛擬電腦)都會在此 img file 中)
qemu-img create /backup/winxp/windows.img 15000M
2. 再來光碟開機, 開始安裝(-win2k-hack 是參數, 不管你裝 98 還是 XP 都一樣用此參數)
qemu -hda /backup/winxp/windows.img -cdrom /dev/cdrom -localtime -boot d -win2k-hack -m 512
3. 再來就是漫長的等待安裝完成.
4. 設定網路, 需要再安裝 apt-get install bridge-utils
5. 再來就是照以下的 script, 跑完網路就設好(XP 就可以使用網路)
#!/bin/bash
##iface bridge inet
ifconfig eth0 0.0.0.0 promisc up
# 建立一個名為 bridge 的 Bridge 介面
brctl addbr bridge
# 轉送延遲時間,Bridge 切換至 listening 及 learning 狀態所需時間
# Bridge 會花一點時間來記錄每個實體介面的 MAC Address
brctl setfd bridge 0
# 傳送 STP Hello 封包的頻率。設定為 0 因為我們不使用 STP 這個功能
brctl sethello bridge 0
# 關閉 spanning tree protocol 功能。用不著...
brctl stp bridge off
brctl addif bridge eth0
ifup bridge
dhclient bridge
6. 在整個安裝結束後, 之後要再開啟 Windows 的方法:
qemu -hda /backup/winxp/windows.img -localtime -m 512
7. 要全營幕顯示的方法 ctrl+alt+f 就可以切換, ctrl+alt 可以跳出 qemu 的視窗
再來簡單寫一下我目前的安裝法和使用的 Script.
- mkdir ~/qemu;cd qemu
- tar zxvf qemu.xxx.tar.gz;tar zxvf kqemu.xxx.tar.gz
- mv kqemu.xxx kqemu;cd kqemu;./configure;make;make install
- cd ~/qemu;cp kqemu/kqemu.ko ~/qemu/
- 寫以下 Script: qemu.sh, 之後只要執行此 script 即可進入 qemu
- Script:
#!/bin/bash
$HOME/qemu/kqemu/install.sh
modprobe kqemu
ln -s $HOME/qemu/usr/local/share/qemu/ /usr/local/share/qemu
ifconfig eth0 0.0.0.0 promisc up
brctl addbr bridge
brctl setfd bridge 0
brctl sethello bridge 0
brctl stp bridge off
brctl addif bridge eth0
ifup bridge
dhclient bridge
$HOME/qemu/usr/local/bin/qemu -hda /backup/winxp/windows.img -localtime -m 512 - 之後只要執行 qemu/qemu.sh 即可啟動
來附張圖
參考網站:
轉貼-遠端執行命令、多台機器管理(Push.sh)
當手上有 1 台機器, 管理的方法是 ssh 到那台機器做事.
當手上有 5 台機器, 管理的方法就會想要遠端執行, 就會使用
用法: ssh 主機名稱 "要執行指令"
ssh hostname 'sudo cp http.conf /usr/local/apache/conf/'
ssh hostname "ls"
ssh hostnmae "sudo /usr/local/apache/bin/apachectl restart"
當手上有 30 台機器的時後, 管理的方法就會如下:
用法: for i in i的值; do 目前機器要下的命令 '遠端機器要下的命令'; done;
for i in 1 2 3; do scp xxx.conf w$i.hostname:; done;
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo mv xxx.conf /usr/loca/conf'
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo ls /'; done;
1 2 3 ... 自己寫要幾台都行, 可以改成自己其它取的值
注意: 目前機器要下的命令, 不要用 " 或 ' 包起來, 只有要給 遠端機器 的指令才要用 " 或 ' 包起來.
當我覺得這樣子已經很懶的時後, 總會有個 強者我同事 說~ 這樣子還不夠, 他已經寫成一隻 Script, 專門做前端上百台 Push 的動作. 有興趣想更加了解此強者, 可以參觀 他的blog: George Lee's blog
以下來看一下此 script, push.sh:
#!/bin/sh
#for A in 8 9 10 11 12; do
A=1;
MAX=12;
PREFIX=w;
SOURCE="/xxx/http.conf";
REMOTEDIR="/usr/local/apache/conf"
while [ $A -le $MAX ]; do
HOST="$PREFIX$A.hostname";
echo "$HOST :";
rsync -arvz --rsh=ssh $SOURCE $HOST:$REMOTEDIR/.
#sudo rsync -arvz --rsh=ssh $SOURCE $HOST:$REMOTEDIR/.
#scp parse_search.php $HOST:.
#rsync -arvz --rsh=ssh xxx.so $HOST:.
#rsync -arvz --rsh=ssh xxx.conf $HOST:$REMOTEDIR/.
A=`expr $A + 1`;
done;
雖然以上我都有做過一些馬賽克, 但是有些歷史遺蹟還是要把他留下來, ex: for A in 8 9 10 11 12; do, 看此行就知道已經經歷過上面的寫到 "管理 30 台機器" 的風風雨雨, 然後才轉變到現在, 寫一支超方便的 Script 來用, 不愧是長輩 Orz....
此 Script 的用法很簡單, 只要以下步驟即可使用:
- 把此 Script 抓下來, 存成 push.sh
- 修改此 Script 的粗體字的地方
- chmod +x push.sh
- ./push.sh
- A, MAX: 從 1 ~ 12 (如上範例會變成 w1, w2 ....w12 )
- PREFIX: 機器名字前面要叫什麼字, 加了後會類同( w1, w2 ....)
- SOURCE: 現在機器下的檔案在哪邊
- REMOTEDIR: 打算要將此檔放到遠端機器哪邊
- HOST的 hostname: 遠端主機的名字
注意:
- 此 Script 只限使用在有機器名字是連續數字的狀況 PS: A=`expr $A + 1`; 此行會將值一直加 1
- 此 Script 有很多活用的範例, 都 # 註解掉, 但可以簡單看一下程式, 會是相當方便的工具
- 若那 機器名稱(數字)列表 中, 有機器不存在或死掉, 不用擔心, 程式還是會繼續跑下去, 只是會有錯誤訊息叫幾聲罷了~
星期六, 8月 12, 2006
Blogger tag
測試了半年,還是沒用。不過,blogger已經支援tag了,這篇就留作紀念吧
利用greasemonkey,technorati,和幾個這裡找到的scripts,當然還要搭配firefox所組成的功能,不知是否奏效
測試吧
blogger mike0
blogger mike0 leisure
blogger mike0 photoing
blogger mike0it
星期二, 8月 08, 2006
unix使用變數的技巧
export DAS2440_BUILD_PATH=~/tmp/build
export DAS2440_FILE_PATH=~/dl/s3c2440
export DAS2440_INSTALL_PATH=/opt/host
cd $DAS2440_BUILD_PATH
tar xfj $DAS2440_FILE_PATH/s3c2440/binutils-2.11.2.tar.bz2
cd binutils-2.11.2
./configure --target=armv4l-unknown-linux --prefix=$DAS2440_INSTALL_PATH/armv4l
make
su -c "make install"
這樣一來,如果要改變任何一個目錄,只要改變變數即可
但是,這是有風險的,而今天就發生在我的身上
事情是這樣的,上面是我改過的版本,之前的版本是
export DAS2440_INSTALL_PATH=/opt/host/armv4l
cd $DAS2440_BUILD_PATH/gcc-2.95.3
./configure --target=armv4l-unknown-linux --with-libs=$DAS2440_INSTALL_PATH/lib --with-headers=$DAS2440_INSTALL_PATH/include --prefix=$DAS2440_INSTALL_PATH
make LANGUAGES="c c++"
su -c "make LANGUAGES="c c++" install"
結果,我在執行最後一步時,忘了設定DAS2440_INSTALL_PATH的值(理論上應該一開始就設好,不過因為我還在try這個方法,所以沒設到),結果安裝的時候就安裝到根目錄下,而且,安裝的不是別隻程式,而是libc,所以我的x86的libc就被換成arm的libc了,然後,後面的程式就無法執行了,而且,也開不了機了。改善的方法,就是把安裝路徑往上縮一層,這樣即使變數忘記設定,也不至於安裝到根目錄下了。
星期日, 7月 30, 2006
在微軟視窗上安裝 GIMP 2.2 的注意事項
經過了許多版本的更新和修訂,GIMP 2.2 的 Windows 視窗版現在已可正常顯示中文介面了。然而,卻有另一個新的 script-fu error bug 出現:官方的 Bugzilla 除錯紀錄表示這個問題正在修正中,而 GIMP for Windows 用戶電郵列表上對此 bug 之討論亦未有明確頭緒,所以暫時只好用一些方法繞過這個錯誤訊息。
【更新】:此問題應已於 GIMP 2.2.10 更新版上獲得修正,詳見內文。
需要的 GIMP for Windows 軟件可以在這個地址下載:
http://gimp-win.sourceforge.net/
安裝 Windows 版的 GIMP 2.2.x 注意事項:
- 安裝 GTK 2.6.9 for Windows 時,你亦可順道安裝 GTK-Wimp theme 介面主題:中文介面已可正常無誤地顯示了
- 修改介面字型大小:在安裝了 GTK-Wimp 主題後,若你想調較介面的字型大小,請修改 C:\Program Files\Common Files\GTK\2.0\etc\gtk-2.0\gtkrc
把 font_name="Sans 9" 加到下面一段設定之內:
style "msw-default"
{
GtkWidget::interior_focus = 1
GtkOptionMenu::indicator_size = { 9, 5 }
GtkOptionMenu::indicator_spacing = { 7, 5, 2, 2 }
GtkToolbar::shadow-type = etched-in
GtkHandleBox::shadow-type = etched-in
GtkSpinButton::shadow-type = in
GtkComboBox::add-tearoffs = false
GtkTreeView::allow-rules = 0
GtkTreeView::expander_size = 11
GtkUIManager::add-tearoffs = false
font_name="Sans 9"
engine "wimp"
{
}
}
class "*" style "msw-default" - 新的 GTK-2.6.9 for Windows 已提供自己的語言選擇工具 Select language:你只須在 Start Menu > Programs > GTK+ Runtime Environment > Select language 作設定,便可轉到你想指定的介面語言。
- 繞過 Script-fu 的錯誤訊息
當你使用 Select language 設定選用非英語的介面時(像繁體中文 zh_TW),啟動 GIMP 2.2.8 時會遇到 Script-fu crash 的錯誤訊息。Windows 版的官方開發人員已在研究修正此 bug。在此期間,你可藉以下方法暫時避過這個錯誤:
【更新】:此問題應已於 GIMP 2.2.10 更新版中獲得修正,更新以後,應無須再使用以下所提之繞道辦法。- 暫時只設定使用英語介面
- 把位於 C:\Program Files\GIMP-2.0\lib\gimp\2.0\plug-ins\script-fu.exe 之檔案,暫時移到別的目錄,這樣便不會有錯誤訊息。可是卻會失去 script-fu plugin 腳本插件功能。
- 有用戶發覺將 script-fu.exe 此檔之 OS 相容性改為 「Windows 2000」 也可避過 error 錯誤訊息;不過要碰下運氣:有些用戶即使這樣做以後仍發生錯誤
- 另有用戶表示先移除 script-fu.exe,然後安裝 Tiny-fu 便可解決,可是也有人表示這個方法不行,所以大家亦只好試試。
在微軟視窗上安裝 GIMP 2.0 的注意事項
GIMP 是 Linux 上的內定圖像軟件,地位與 Photoshop 在 MAC 或 Windows 相約。可能一般使用者未發現原來 GIMP 也有開放源碼的 Windows 版本,且而連 GIMP 2.0 也可以安娤在 Windows 之上。可能有種種理由,閣下還需要停留一些時間在 Windows 上工作,但如果要處理圖像而不想支付數千圓的購買 Photoshop,那 GIMP 2.0 當然是閣下的一個理想的替代軟件。在這裡和各位分享安裝 GIMP 2.0 在 Windows 上時的一些竅門。
需要的 GIMP for Windows 軟件可以在這個地址下載:http://gimp-win.sourceforge.net/
安裝 Windows 版的 GIMP 2.0 注意事項:
1) 在安裝 GTK 時,請不要安裝 GTK-Wimp theme 這個介面主題, 因為它會令中文介面不能顯示,變成方格。
2) 修改介面字型大小:在沒有安裝 GTK-Wimp 這個主題,你可修改
C:\Program Files\Common Files\GTK2.0\etc\gtk-2.0\gtkrc
此檔案來改變 GIMP 的介面字型大小:
修改 "gtkrc" 的內容成如下:
gtk-font-name="Sans 9"
(註:切記句首並沒有'#'號。另你可隨情況使用 9 以外的數值)
存檔,重新啟動 GIMP,便會發現介面字體大小改變了。
Windows 2000/XP 用戶注意
若你想替不同的用戶設定不同的 GTK 介面字型大小,你可建立一個新的檔案 ".gtkrc-2.0"(檔名無引號),並如上加入 gtk-font-name="Sans 9" 的內容,存檔,把該檔放在這個目錄位置:
C:\Documents and Settings\username (username 為你的登入帳號名字)
3) 要改變 GIMP 使用中文或其他語言介面,你可以:
* 在 Windows 95/98/98SE 系統 *
把以下任何一句加入 C:\AUTOEXEC.BAT 檔內:
set LANG=zh_TW (設定繁體中文介面)
set LANG=zh_CN (設定簡體中文介面)
set LANG=jp_JP (設定日文介面)
set LANG=en (設定英文介面)
set LANG=en_US
接著重新 reboot 啟動系統。
* 在 Windows NT/2000/XP 系統 *
滑鼠右鈕按 My Computer > 選擇 Properties > 接著選擇 Advanced tab,然後按 Environmental Variables 這個按鈕。
打開新視窗後,按 New 按鈕加入
把 Variable name 設定成 LANG
把 Variable Value 設定成 en
(或 zh_TW, zh_CN, jp_JP 其中一項,其代表意思見上)
不管在 User 或 System variables 中設定都同樣有效,但若設定成 System variables,那 GTK 介面語言亦將適用於其他登入帳號的用戶。
4) 在沒有 Administrator 權限的 Windows NT/2000/XP 系統安裝 GIMP 2.0
安裝後執行以下部驟,這樣便可在 GIMP 載入 filter/plugins 時, 避過 missing DLL 的錯誤訊息:
把所有位於 Gimp-2.0\bin 目錄的 *.dll 檔 複製至 Gimp-2.0\lib\gimp2.0\plug-ins 目錄
例:COPY C:\Program Files\GIMP-2.0\bin\*.dll
C:\Program Files\Gimp-2.0\lib\gimp2.0\plug-ins
5) Adobe Photoshop 用戶可以修改 GIMP 使用
Photoshop 的熱鍵設定 (hotkey),以配合你的使用習慣。
修改方法: 請到這個目錄位置
C:\Program Files\GIMP-2.0\etc\gimp\2.0
把檔案 ps-menurc 更名為 menurc,然後重新啟動 GIMP。
進一步請參看這個網頁:
http://epierce.freeshell.org/gimp/gimp_ps.php
6) GIMP-2.0 Windows 版推介 Plugin(選擇性安裝):
=> Windows File-Open Plugin
(轉用 Windows 本身的檔案開啟介面)
http://registry.gimp.org/plugin?id=3908
=> Deweirdifyer Plugin
(改善 Windows 版因多重視窗,不利於 Ctrl-Tab 熱鍵切換當前軟件的問題)
http://registry.gimp.org/plugin?id=3892
http://gug.sunsite.dk/forum/?threadid=1630
星期日, 7月 16, 2006
gmail contact group
另外,還發現一個介紹gmail的好站,叫做GmailTip.com,裡面有很多不錯的小技巧哦
install xawtv
tar xvfz xawtv-3.94.tar.gz
apt-get install libasound2-dev aalib1-dev liblircclient-dev xlibs-static-dev libdv4-dev libxv-dev x-dev libxext-dev libxt-dev libxrender-dev libxrandr-dev lesstif-dev libzvbi-dev xlibmesa-gl-dev libquicktime-dev libxaw7-dev
./configure --include /usr/src/linux/include
su
make install
exit
Install Kaffe
wget ftp://ftp.kaffe.org/pub/kaffe/v1.1.x-development/kaffe-1.1.5.tar.gz
tar xvfz kaffe-1.1.5.tar.gz
apt-get install xgettext libart-2.0-dev libxtst-dev libxt-dev
libgtk2.0-dev zlib1g-dev zip unzip libasound2-dev libgmp3-dev jikes
./configure
su
make install
exit
vi Hello.java
export CLASSPATH=.:/usr/local/kaffe/jre/lib/rt.jar:/usr/local/kaffe/jre/lib/tools.jar
jikes Hello.java
java Hello
[Hello, world!!!]
bash - for.sh
COMMANDS=(
dmesg "cat /proc/asconf_info"
"cat /proc/cpuinfo"
)
#COMMANDS=(xxx yyy zz)
for i in ${COMMANDS}; do
echo item:$i
done
echo "#="${#COMMANDS[*]}
i=0
while [ $i -lt ${#COMMANDS[*]} ]; do
echo while:${COMMANDS[$i]}
let i=i+1
done
echo ${COMMANDS[0]}
echo ${COMMANDS[1]}
echo ${COMMANDS[2]}
my kurobox
mike@kurobox:>dmesg
Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.17_mvl21 (root@toda_dev.melcoinc.co.jp) (gcc version 2.95.3 20010315 (release/MontaVista)) #24 2004年 10月 19日 火曜日 17:17:03 JST
KURO-BOX (C) 2004 KUROUTO-SHIKOU.
On node 0 totalpages: 32768
zone(0): 32768 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/hda1
OpenPIC Version 1.2 (1 CPUs and 139 IRQ sources) at 80040000
decrementer frequency = 32.493625 MHz
Calibrating delay loop... 172.85 BogoMIPS
Memory: 124760k available (1244k kernel code, 556k data, 188k init, 0k highmem)
Dentry-cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes)
Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Disabling the Out Of Memory Killer
Journalled Block Device driver loaded
pty: 256 Unix98 ptys configured
MELCO INC. RTC driver ver 1.00
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x80004600 (irq = 138) is a 16550A
ttyS01 at 0x80004500 (irq = 137) is a 16550A
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 10000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
CMD680: IDE controller on PCI bus 00 dev 60
CMD680: chipset revision 2
CMD680: 100% native mode on irq 17
ide0: BM-DMA at 0xbffed0-0xbffed7, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xbffed8-0xbffedf, BIOS settings: hdc:pio, hdd:pio
hda: WDC WD2500JB-00REA0, ATA DISK drive
ide0 at 0xbffef8-0xbffeff,0xbffef6 on irq 17
hda: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
Partition check:
hda: hda1 hda2 hda3
FLASHDISK:Initialized [FUJITSU MBM29PL32TM]
eth0: Identified chip type is 'RTL8169s/8110s'.
eth0: RTL8169s/8110s Gigabit Ethernet driver supports Jambo Frame 1.8n4b <2004-3-16> at 0xc9000f00, 00:0d:0b:69:6f:d6, IRQ 16
eth0: Auto-negotiation Enabled.
eth0: 100Mbps Full-duplex operation.
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: Root fs not mounted
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
hcd.c: ehci-hcd @ 00:0e.2, PCI device 1033:00e0 (NEC Corporation)
hcd.c: irq 19, pci mem c9002f00
usb.c: new USB bus registered, assigned bus number 1
hcd/ehci-hcd.c: USB 2.0 support enabled, EHCI rev 1. 0
hub.c: USB hub found
hub.c: 5 ports detected
usb-ohci.c: USB OHCI at membase 0xc9004000, IRQ 19
usb-ohci.c: usb-00:0e.0, NEC Corporation USB
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 3 ports detected
usb-ohci.c: USB OHCI at membase 0xc9006000, IRQ 19
usb-ohci.c: usb-00:0e.1, NEC Corporation USB (#2)
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver usblp
printer.c: v0.11: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 8192 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: AppleTalk 0.18a for Linux NET4.0
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 2137k freed
fff70000:4f4b4f4b
EXT2-fs warning: checktime reached, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
fff70000:4f4b4f4b
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
change_root: old root has d_count=2
Freeing unused kernel memory: 188k init
Adding Swap: 530136k swap-space (priority -1)
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,1), internal journal
Trying to free nonexistent resource <80004600-80004607>
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,3), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
NTFS driver v1.1.21 [Flags: R/O MODULE]
mike@kurobox:>cat /proc/asconf_info
PRODUCTNAME=KURO-BOX/HG(IESHIGE)
VERSION=1.00
SUBVERSION=FLASH 1.0
PRODUCTID=0x00001002
BUILDDATE=2004/10/19 17:18:54
BOOTFLAG=OK
mike@kurobox:>cat /proc/cpuinfo
cpu : 82xx
revision : 16.20 (pvr 8081 1014)
bogomips : 172.85
vendor : Motorola SPS
machine : Sandpoint
processor : PVID: 0x80811014, vendor: Motorola
mike@kurobox:>cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 130138112 122347520 7790592 0 16420864 74362880
Swap: 542859264 1847296 541011968
MemTotal: 127088 kB
MemFree: 7608 kB
MemShared: 0 kB
Buffers: 16036 kB
Cached: 71272 kB
SwapCached: 1348 kB
Active: 69264 kB
Inactive: 35964 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 127088 kB
LowFree: 7608 kB
SwapTotal: 530136 kB
SwapFree: 528332 kB
mike@kurobox:>free
total used free shared buffers cached
Mem: 127088 119492 7596 0 16036 71272
-/+ buffers/cache: 32184 94904
Swap: 530136 1804 528332
mike@kurobox:>mount
/dev/hda1 on / type ext3 (rw,noatime,errors=remount-ro)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda3 on /mnt type ext3 (rw,noatime)
mike@kurobox:>df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 10325748 407036 9394192 5% /
/dev/hda3 229516916 32828 217825316 1% /mnt
mike@kurobox:>apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/ ~~ ~~
...."Have you mooed today?"...
bash - printinfo.sh
COMMANDS=(dmesg
"cat /proc/asconf_info" "cat /proc/cpuinfo"
"cat /proc/meminfo" free mount df "apt-get moo"
)
function info {
echo
echo "$user@$host:>$*"
$*
}
user=`who | awk '{print $1}'`
host=`hostname`
uname -a
i=0
while [ $i -lt ${#COMMANDS[*]} ]; do
cmd=${COMMANDS[$i]}
#if cat then check file is exist
if [ "${cmd:0:3}" = "cat" ]; then
if [ -e ${cmd:4} ]; then
info $cmd
fi
else
info $cmd
fi
let i=i+1
done
How to develop GTK2 program on windows
all files coming from http://www.gimp.org/~tml/gimp/win32/downloads.html
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/glib-2.6.5.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/glib-dev-2.6.5.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/gtk+-2.6.8.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/gtk+-dev-2.6.8.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/pango-1.8.0.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/pango-dev-1.8.0.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/atk-1.9.0.zip
ftp://ftp.gtk.org/pub/gtk/v2.6/win32/atk-dev-1.9.0.zip
2.extract them to the same directory
my case is D:\work\test\vc\gtk2\devel
3.edit your environment variable
call System Properties dialog
press Enviorment variable button
add a system variable GTK2DEVEL
append your devel directory to Path variable
4.start your VC6
5.new a Win32 Console Application
6.choose An empty project.
7.Insert a file into project named "hello.c"
8.copy and paste the hello world code and save
here is the code
http://www.gtk.org/tutorial/ch-gettingstarted.html#SEC-HELLOWORLD
9.choose menu /Project/Settings and C/C++ tab with Category Code Generation then modify Use run-time library to Debug Multithreaded DLL
10.choose Category Preprocessor then modify Additional include directories to
$(GTK2DEVEL)/include,$(GTK2DEVEL)/include/gtk-2.0,$(GTK2DEVEL)/include/glib-2.0,$(GTK2DEVEL)/lib/glib-2.0/include,$(GTK2DEVEL)/include/pango-1.0,$(GTK2DEVEL)/lib/gtk-2.0/include,$(GTK2DEVEL)/include/atk-1.0
11.change to Link tab and Category Input then append Object/library modules with
gobject-2.0.lib glib-2.0.lib gtk-win32-2.0.lib gdk-win32-2.0.lib gdk_pixbuf-2.0.lib iconv.lib
12.modify Additional library path to
$(GTK2DEVEL)/lib
13.compile it
14.run and hello world
LaTTe和Kaffe的不同
http://latte.snu.ac.kr/doc/difference_kaffe.shtml
LaTTe一開始是建立於Kaffe 0.9.2的源碼上,是個自由免費的Java virtual machine.不過Java virtual machine的核心部份幾乎被改寫.包括了bytecode execution engines, garbage collector, exception manager及thread synchronization mechanism.
首先,LaTTe的執行引擎(例如:JIT compiler and the interpreter)是從頭寫起.因為,Kaffe把重點放在可移植性及支援多平台上,它有的是一個相對簡單的JIT compiler和有點慢的interpreter.相反的,LaTTe有的是用組合語言精心撰寫的JIT compiler及相當快的interpreter.此外,LaTTe可以同時使用JIT compiler及interpreter,而Kaffe只可以使用其中一個.
garbage collector對效能有很大的影響.Kaffe提供了一個老式的標記-清除的garbage collector.LaTTe也使用了標記-清除的garbage collector,但只有部分用了老方法.LaTTe的garbage collector的內部結構和Kaffe完全不同.而且實作後在LaTTe上表現的非常快.
LaTTe並沒有在轉譯method時,轉譯Java method中的exception handlers.而是當process丟出例外時才轉譯.因此,LaTTe的exception manager的作法和Kaffe不同.此外,不論例外是由已轉譯的程式碼,或是由interpreter中丟出,對LaTTe來說都是毫無影響,但對Kaffe就不然.
LaTTe使用了經過少許修改的Kaffe的user-level thread system.但是,支援Java monitors的thread synchronization mechanism是重新設計的,為的是要比Kaffe快.這個新的synchronization的設計,使得物件架構變的不同.
Install Linux VServer
Linux VServer Project
apt-get install libncurses5-dev gcc g++ make patch kernel-package
wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.30.tar.bz2
tar xvfj linux-2.4.30.tar.bz2
wget http://www.13thfloor.at/vserver/s_release/v1.2.10/patch-2.4.30-vs1.2.10.diff.bz2
bunzip2 patch-2.4.30-vs1.2.10.diff.bz2
cat patch-2.4.30-vs1.2.10.diff patch -p1
make menuconfig
make dep
make-kpkg kernel_image
su
make-kpkg kernel_image
dpkg -i kernel-image-2.4.30-vs1.2.10_10.00.Custom_i386.deb
wget http://www.13thfloor.at/vserver/s_release/v1.2.10/util-vserver-0.30.tar.bz2
tar xvfj util-vserver-0.30.tar.bz2
./configure
make install
mkdir /vservers
chmod 000 /vservers
chattr +t /vservers
wget http://www.paul.sladen.org/vserver/debian/debian-newvserver.sh
chmod +x debian-newvserver.sh
vi debian-newvserver.sh
[MIRROR="http://debian.linux.org.tw/debian"]
[EXTRA_PACKAGES=""]
debian-newvserver.sh --hostname vs1 --domain domain --ip 192.168.0.221
vserver vs1 enter
vi /etc/ssh/sshd_config
[Port 221]
exit
vserver vs1 start
ssh -p 221 192.168.0.221