วันพฤหัสบดี, เมษายน 27, 2549

XSCF ของ PRIMEPOWER 250

config by execute /opt/FJSVmadm/sbin/madmin
แล้ว เราก็จะเห็น hostname, IP, ssh-enabled/disabled, web interface-enabled/disabled
จากนั้นก็ connect to the xscf console via ssh

วันพฤหัสบดี, มีนาคม 30, 2549

คำศัพท์ที่ใช้ในไวยากรณ์ภาษาญี่ปุ่น (Words used in Japanese Grammar)

Access Levels
JA TH
文法ไวยากรณ์

ประโยค

วลี

อนุประโยค
単語
คำศัพท์
修飾(しゅうしょく)
การขยายคำ (modify)


名詞
คำนาม
動詞
คำกริยา
助詞
คำบุพบท
副詞
คำวิเศษณ์
接続詞
คำสันธาน
数詞
คำบอกจำนวน
助数詞
คำลักษณะนาม
疑問詞
คำแสดงคำถาม


主語
ประธาน(หัวเรื่อง)
述語
ส่วนขยาย
目的語
กรรม
主題
หัวข้อเรื่องหลัก


肯定(こうてい)
บอกเล่า
否定
ปฏิเสธ
完了
สมบูรณ์
未完了
ไม่สมบูรณ์
過去
อดีต
非過去
ไม่อดีต

วันพุธ, มีนาคม 22, 2549

LaTeX package for typesetting books, reports

Memoir is a LaTeX package which has predefined primitives ex. chapter, page, caption and styles.
It can potentially help in typesetting a book.
I'm to check it later.

วันศุกร์, มีนาคม 10, 2549

Upgrade MediaWiki to 1.57 and Apache 2

หลังจากอัพเกรด Mac OS X ไปเป็น Tiger 10.4 แล้ว wiki ก็ไม่เวิร์ค วันนี้จะ troubleshoot แล้วก็เลย
ถือโอกาส อัพเกรดไปพร้อมๆกันเลย

รายละเอียดเริ่มอ้างอิงจากที่นี่
http://meta.wikimedia.org/wiki/Running_MediaWiki_on_Mac_OS_X

==== Apache 2 ====
download Apache 2 จาก http://www.serverlogistics.com/downloads.php
Files ต่างๆของ Apache 2 ถูกติดตั้งลงไปยัง /Library/Apache2 ไม่ทับ Apache ที่ติดมากับ OS
แต่ดั้งเดิม. นอกจาก start กับ stop แล้ว ยังมี graceful ที่ใช้เป็น parameter สำหรับ apachectl ได้
# /Library/Apache2/bin/apachectl {start,stop,graceful}
ลง preference pane เพิ่ม ได้ที่ /Library/PreferencePanes หรือ $HOME/Library/PreferencePanes เวลาจะ uninstall ก็อย่าลืมเอาออกด้วย

Preference pane ของ Apache 2 ที่ติดตั้งลงไปมันจะทำการเซตค่า APACHE2 ใน /etc/hostconfig
เพื่อกำหนดว่าจะให้ Apache 2 start ตอน boot หรือไม่
จะ uninstall ก็ลบไดเรคทอรี่เหล่านี้ออกซะ (อ้างอิง Install Guide ใน dmg installer file)

/Library/Apache2
/Library/StartupItems/Apache2
/Library/Receipts/Apache2.pkg



==== MySQL ====
MySQL เดี้ยงต้องจัดการก่อน เพราะเคยลง CompleteMySQL 4.0.21 ของ serverlogistics ไว้ แต่มันใช้กับ Tiger ไม่ได้?? หรือได้หว่า??

การลบ CompleteMySQL (อ้างอิงจาก Install Guide ที่อยู่ใน dmg installer file) ออกทำโดย:
- Backup databases ที่มีอยู่ทั้งหมดก่อน
- ลบ directory เหล่านี้
  • /Library/MySQL
  • /Library/StartupItems/MySQL
  • /Library/Receipts/MySQL.pkg
- หากต้องการ/จำเป็น ลบ mysql user ออกจากระบบด้วยก็
# sudo niutil -destroy . /users/mysql
- ลบ MySQL.prefPane ออกจาก /Library/PreferencePanes หรือ $HOME/Library/PreferencePanes


การติดตั้ง MySQL 5
(ดูเพิ่มเติม http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html)
- download mysql-standard-5.0.18-osx10.4-powerpc-64bit.dmg จาก
http://dev.mysql.com/downloads/mysql/5.0.html
- MySQL จะ install ไปที่ /usr/local/mysql-VERSION และทำ symbolic link ชี้มาจาก /usr/local/mysql
- หลัง install แล้วต้องทำ
- Install MySQLStartupItem.pkg ถ้าต้องการให้ MySQL start up automatically ตอน system
startup Startup Item for MySQL 5.0 is installed into
`/Library/StartupItems/MySQLCOM'. (Before MySQL 4.1.2, the location was
`/Library/StartupItems/MySQL)
- secure the default accounts หลังจากติดตั้ง MySQL เสร็จใหม่ๆ installer ของ Mac มันจะ initialize database ให้อยู่แล้ว (mysql_install_db) แต่ grant tables ที่มัน init มาให้จะไม่มี password ดังนั้นเราต้องเซต password ด้วยเพื่อความปลอดภัย
  • start MySQL server ด้วย คำสั่ง #sudo ./mysqld_safe [-u mysql] (ใน [...] optional)
  • ทดสอบ ด้วยคำสั่ง #sudo ./mysqlshow mysql
  • เซต password หรือลบ MySQL's anonymous account ออก และเซต password ให้ MySQL's root account. ข้อควรระวัง: มันมี anonymous account อยู่สองแบบ คือ ของ localhost กับของ host_name. ของ localhost มันจะมี privilege เท่า root ดังนั้นอันตราย ในครั้งนี้เราจะลบ anonymous account ทิ้งและเซตพาสเวิร์ดให้ root โดย
    • shell> mysql -u root
      mysql> DELETE FROM mysql.user WHERE User='';
      mysql> FLUSH PRIVILEGES;
    • shell> mysql -u root
      mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_pasword');
      mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('new_password');
    • ตรง User=''; นั้นเป็น single quote 2 อัน ไม่ใช่ double quote.
    • ถ้าจะเช็คให้แน่ใจว่า host_name ควรเป็นอะไร ใช้คำสั่ง
      mysql> SELECT Host, User FROM mysql.user;
  • ดูรายละเอียดจาก หน้านี้ http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html

ปล. มี CocoaMySQL ที่เคยลงไว้ มันเป็น client เอาไว้ connect ไปจัดการกับ MySQL server แต่ CocoaMySQL ใช้กับ version 4.0.21 ได้ แต่ไม่สามารถใช้กับ version 5 ได้เพราะว่า password
encryption มันต่างกัน ต้องไปใช้ CocoaMySQL version beta0.7 ถึงเวิร์ค
- copy database ที่ dump ออกมาจากตัวเก่าไปยัง version ใหม่
(อ้างอิง: http://dev.mysql.com/doc/refman/5.0/en/upgrading-to-arch.html?ff=nopfpls)
  • shell> cat /some/where/dumped_db.mysql | mysql -u root -p db_name
หลังจาก upgrade จาก Panther ไปเป็น 10.4 Tiger แล้ว PHP communication with MySQL server มีปัญหาเพราะ socket ถูกย้ายด้วยเหตุผลทางด้าน security (อ้างอิง: http://docs.info.apple.com/article.html?artnum=301457, http://docs.info.apple.com/article.html?artnum=302977)
Mac OS X Server 10.4: Issues connecting PHP to MySQL (ลองดูใน script mysqld_safe ดูได้ว่ามันเรียกไปยัง /tmp/mysql.sock)

When running MySQL and PHP on the same Mac OS X 10.4 server, you may find that PHP cannot connect to MySQL. When PHP is communicating with a MySQL server on the same host, it uses a socket file to communicate, and looks for it at /tmp/mysql.sock. On Mac OS X Server 10.4, MySQL creates this socket file at /var/mysql/mysql.sock.

To resolve this issue, you can either change the location where MySQL creates its socket file, or modify the location where PHP looks for the file. Please note that the first option is less secure than the second. Before delving in, you should also review new information relevant to PHP and MySQL on Mac OS X Server 10.4.4 and later.

To change the location where MySQL creates its socket file, do this:

  1. Open your preferred text editor and create a plain text file.
  2. Type this text (on two lines as shown):

    [mysqld]
    socket=/tmp/mysql.sock


  3. Save the file as: /etc/my.cnf

To change the location where PHP looks for the socket file, follow these steps:

  1. In Terminal: sudo cp /etc/php.ini.default /etc/php.ini
  2. Open /etc/php.ini in your preferred text editor.
  3. Find the [MySQL] section, and change the mysql.default_socket directive:
         ; Default socket name for local MySQL connects.  If empty, uses
    the built-in
    ; MySQL defaults.
    mysql.default_socket = /var/mysql/mysql.sock

  4. Change the permissions on /var/mysql so that www can read the socket, by executing this in Terminal:

    sudo chmod 775 /var/mysql

การย้าย database
http://meta.wikimedia.org/wiki/How_to_move_a_MediaWiki_Database

An example command on how to dump the database on a Debian GNU/Linux machine using mysqldump:

mysqldump --user=USERNAME --password=PASSWORD --single-transaction --all-databases > BACKUPFILE.sql

dump database named "wikidb"

mysqldump -u root -B wikidb > wikidb.sql

restore database named "wikidb"

mysql -u root -B wikidb <>

Create user ใหม่ขึ้นมาบน MySQL database อันใหม่ที่เรา import เข้ามาแล้ว โดยใช้คำสั่ง GRANT
คำสั่ง GRANT จะ encrypt password ให้ดังนั้นไม่จำเป็นต้องเรียกใช้ PASSWORD('password')

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON wikidb.*
-> TO 'wikiuser'@'localhost'
-> IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.05 sec)

bossanova:~/tmp/php-5.1.2 jojo$ ./configure '--prefix=/usr/local/php5.1.2' '--with-apxs2=/Library/Apache2/bin/apxs' '--with-ldap' '--with-kerberos' '--enable-cli' '--with-zlib' '--with-xml' '--enable-exif' '--enable-ftp' '--enable-mbstring' '--enable-mbregex' '--enable-sockets' '--with-iodbc' '--with-cure' '--with-config-file-path=/usr/local/php5.1.2/etc' '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-mysql-sock=/var/mysql/mysql.sock'



Compile Turck MMCache with your PHP

download ที่นี่ --> http://turck-mmcache.sourceforge.net/
วิธีการ compile ที่นี่ --> http://www.phpmac.com/articles.php?view=166

shell> /usr/bin/phpize
shell> ./configure --enable-mmcache=shared --with-php-config=/usr/bin/php-config

shell> make
shell> sudo make install


add below to the bottom of your php.ini (/usr/local/lib/php.ini <--ผิด
ที่ถูกคือ /etc/php.ini แต่มันยังมี /private/etc/php.ini ด้วย อันหลังนี้คิดว่าคงไม่ได้ใช้)
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20020429/mmcache.so"
mmcache.shm_size="16"
mmcache.cache_dir="/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="0"
mmcache.shm_prune_period="0"
mmcache.shm_only="0"
mmcache.compress="1"


รัน install จาก web เพราะลองรัน php จาก cli ดูแล้วมันไม่เวิร์ค
กรอกข้อมูลให้ถูกต้องเหมือนของเก่า แล้วก็ไปแก้ไฟล์ LocalSettings.php ที่ installer มัน generate
มาให้ โดยอ้างอิงจาก LocalSettings.php ของเก่า แก้ไปรีเฟรช browserใหม่ไปดู เท่านี้ก็เรียบร้อย

วันอังคาร, มีนาคม 07, 2549

การ setCellRenderer / setCellEditor ใน JTable

ใน JTable หนึ่งสมมุติว่าชื่อ tbl มันจะมี defaultRenderer / defaultEditor สำหรับ วาด / แก้ ข้อมูลใน field ตาม type ต่างๆ เช่น สำหรับ String หรือ Integer หรือ Boolean เป็นต้น.

ทีนี้เราสามารถ setCellRender / setCellEditor ในแบบ per-column-basis ได้ โดยมี idiom ดังนี้

TableColumnModel tcm = tbl.getColumnModel();
TableColumn tc = tcm.getColumn( columnIndex );
TableCellRenderer thisColumnRenderer = tc.getCellRenderer(); // อันนี้จะ return null ออกมา

เพราะว่า ถ้าเราไม่เซตเอง มันจะไปใช้ defaultRenderer ของ table ดังนั้น

นอกจากนี้แล้ว การใช้คำสั่ง {get,set}InputMap, {get,set}ActionMap ในการ assign action to keyStroke เพื่อให้, ตัวอย่างเช่น, key Enter มีพฤติกรรมเหมือน, tab key ได้

วันจันทร์, กุมภาพันธ์ 27, 2549

install / uninstall codec or filter files by regsvr32 command

see this page http://www.free-codecs.com/guides/How_to_install_uninstall_DLL_and_AX_files.htm

1. Unarchive the package and use the files from Release folder if you're running Windows 9x/Me or Release Unicode if you're running Windows 2000/XP.

2. Copy DLL or AX files in system32 folder [ C:\WINDOWS\system32 ]

3. Click on Start > Run...

• To install the files, type: regsvr32 filename.dll or regsvr32 filename.ax
• To uninstall the files, use: regsvr32 -u filename.dll or regsvr32 -u filename.ax

Run dialog box




4. In the end, you should receive a message saying that your file was succesfully installed/uninstalled.

The file was succesfully installed




An easy way to register/unregister [install/uninstall] the files is to use one of these small tools:
RadLight Filter Manager - can be used to list all registered codecs and to register or unregister codecs.
DirectShow Filter Manager: helps to list, sort, find, add or remove DirectShow filters.
RegShell - a handy utility that will help you avoid the inconvenience of running regsvr32 from the start menu all the time.
Emsa DLL Register Tool - register dll/ocx filters, codecs... and get extended file informations.



Some of the more common filters

• "iviaudio.ax" - WinDVD Audio Decoder filter.
• "ivivideo.ax" - WinDVD Video Decoder filter.
• "claud.ax" - PowerDVD Audio Decoder filter.
• "clvsd.ax" - PowerDVD Video Decoder filter.
• "DSCinemAudioDecoder.dll" - CineMaster v4 Audio Decoder filter.
• "DSCinemVideoDecoder.dll" - CineMaster v4 Video Decoder filter.

Note: Sometimes you need to specify the fully qualified path name to files (i.e. c:\program files\intervideo\common\bin\iviaudio.ax)

วันอาทิตย์, กุมภาพันธ์ 26, 2549

ลิ้งก์เกี่ยวกับ EPWING

แปะไว้กันหายเฉยๆ

http://hp.vector.co.jp/authors/VA021723/dessed/

http://openlab.jp/edict/

http://hp.vector.co.jp/authors/VA000022/unixdic/index.html

http://ebsnap.lkj.jp/

http://members2.jcom.home.ne.jp/babelkund/palm05.html

http://www.yo.rim.or.jp/~mono93/mobile/linuxzau/dic_able.html

วันจันทร์, กุมภาพันธ์ 20, 2549

เกี่ยวกับ Ubuntu, Kubuntu, KNOPPIX

เช็คเกี่ยวกับแต่ละตัวว่า เป็นมายังไง, เหมาะสำหรับทำอะไร, มีอะไรเป็นจุดน่าสนใจ...

--

OliveBSD : OpenBSD แบบ LiveCD

วันจันทร์, กุมภาพันธ์ 06, 2549

วันพุธ, มกราคม 18, 2549

Installing ESC/Java2 บน FreeBSD

Today's class was a little bit boring. In the last period, I have to get ESC/Java2 installed on my machine. The problem was I have jdk1.5 installed on my windows OS and the ESCJ is not happy to run on 1.5. I don't want to add jdk1.4 so I tried to put ESCJ on the FreeBSD box.
Here is the memo.

  1. Get the file by google for ESC/Java2
  2. Unpack it probably by 'tar jxf ESCJ-binary.tbz'
  3. Edit the script called escj. For the sake of safety, let's copy it to myescj and I edited myescj instead.
  4. What need to be defined are:
    1. export ESCTOOLS_RELEASE to the absolute path of the directory in which you placed the release files.
    2. export OSTYPE='linux'; I use linux library.
    3. export SIMPLIFY environment variable to the name of one of the Simplify.linux executables contained in $ESCTOOLS_RELEASE
    4. I need to branch the executable Simplify.linux to tell the FreeBSD that it is linux binary and please use Linux ABI to execute the file:
      • $ brandelf -t Linux Simplify.linux
    5. That's it. Try exercise the edited script with an example in examples/0.0/Bag.java
  • วันพฤหัสบดี, มกราคม 12, 2549

    ogg Vorbis and QuickTime & iTunes

    Today, I googled to see how to play the Vorbis ogg audio format with iTunes which relies on QuickTime. This isn't the first time of putting my effort to allow iTunes integration with Vorbis.
    The useful information is just at my nose, the official Vorbis site .

    Well, to summarize, I need the Xiph QuickTime extension component right at http://www.xiph.org/quicktime/ , a brother site of vorbis.com. Just install the component and he player will be ready to play the Vorbis audio file just fine.

    The only problem with this under-development-version is that the tag can't properly be edited by iTunes and the mandatory information like Artist or Title which appear correctly in Cog aren't properly dislayed. I hope this problem will be fixed up in the upcoming version of Xiph QT component. Anyway, thanks for great work.

    -- after further searching --
    I found a QT component for FLAC right here FLAC decoder for quick time .

    วันพฤหัสบดี, มกราคม 05, 2549

    Hamachi

    โปรแกรมสำหรับทำ VPN บน internet น่าสนใจเลยเอามาบล็อกไว้
    Hamachi

    วันศุกร์, ธันวาคม 09, 2548

    Java : ว่าด้วยเรื่อง Inheritance, Superclass, Subclass

    คำถามคาใจ:

    ในคลาสลูก การเรียก Constructor super() ของคลาสพ่อแบบ explicit กับการไม่เรียก
    ให้ผลต่างกันอย่างไร?

    การใช้ this กับไม่ใช้ this นั้นมีผลต่อ inheritance อย่างไร คือพอถูก subclass ไปแล้ว this ที่ในคลาสพ่อก็ยังคง refer ถึงตัวคลาสพ่ออยู่ดีใช่ป่าว?

    ทั้งหมดนี้น่าจะหาำคำตอบได้ใน Java Specification Book ไว้ว่างๆ ไปเช็คแล้วจะกลับมาตอบ

    วันพฤหัสบดี, ธันวาคม 01, 2548

    Java : Windows Font Look And Feel

    สำหรับ application ที่เจาะจงว่าจะรันบนวินโด้ โดยเฉพาะนั้น เพื่อให้รูปแบบของฟอนต์สอดคล้องกับของวินโด้แต่ดั้งเดิม ควรเลือกใช้ Tahoma ขนาดตั้งแต่ 12 - 15

    Java : เกี่ยวกับเรื่องของ ชิ้นส่วนภาชนะ Container Components

    ใน Swing นั้น, เรามี Top-level Container อยู่คือ JFrame, JDialog และ JApplet.
    สิ่งที่ควรสำเหนียก เวลาใช้พวก class เหล่านี้คือ
    • ทุก component ที่จะปรากฏบนจอ จะต้องอยู่ใน containment hierarchy---เป็นต้นไม้ของ component ซึ่งมี top-level container เป็นราก
    • ทุก GUI component ถูกยัดใส่ลงภาชนะ ได้แค่ครั้งเดียว. ถ้าเราเอา component ไหนยัดลงไปใน container หนึ่งแล้ว และจับมันยัดลงไปใน container อื่นอีก, ก็หมายความว่า มันต้องถูกเอาออกมาจาก container แรกก่อนจึงถูกนำไปยัดใส่ container ที่สองได้
    • ทุก top-level container มี content pane ซึ่งกล่าวอย่างคร่าวๆได้ว่า content pane นั้น บรรจุ visible components ใน GUI ของ top-level container ทั้งโดยตรงและโดยอ้อม.
    • เราสามารถเลือกที่จะใส่ menu bar ไปที่ top-level container หรือไม่ก็ได้. ซึ่ง menu bar นั้นจะถูกวางอยู่ภายใน top-level container, แต่อยู่นอก content pane. ในบาง look and feels, เช่น Mac OS look and feel, มีทางเลือกให้เราวางตำแหน่งของ menu bar ที่อื่นซึ่งเหมาะสมกว่าได้, เช่นที่ส่วนบนสุดของหน้าจอ เป็นต้น. ดังภาพข้างล่าง

    ตัวอย่างของ containment hierarchy ลำดับชั้นของภาชนะ













    Features ของ JComponent ที่น่านำไปใช้ในโปรแกรม
    1. Tool tips กำหนดข้อความโดย setToolTipText(), ช่วยบอกเวลา user เอาเมาส์มาวางไว้. ดูเพิ่มเติมได้ที่ How to Set the Look and Feel
    2. Support for layout ใน Component class แม้จะมี methods ซึ่งเอาไว้ดู layout hint เช่น getPreferredSize and getAlignmentX. ทางเลือกอื่นสำหรับ set layout hints, JComponent class เพิ่ม setter methods — setPreferredSize, setMinimumSize, setMaximumSize, setAlignmentX, and setAlignmentY. ขึ้นมา ดูเพิ่มที่ Laying Out Components Within a Container
    3. Key bindings ทำให้ components ตอบสนองเมื่อ user กดปุ่ม keyboard ที่กำหนดไว้. เช่นเวลาเคอร์เซอร์อยู่บนปุ่ม การกด space bar ก็เหมือนกับการกดคลิ๊กบนปุ่มนั้น. look and feel เซต bindings ของการกดและปล่อย ปุ่ม Space และส่งผลนั้นไปที่ปุ่ม. เพิ่มเติมเกี่ยวกับ key bindings ดูที่ How to Use Key Bindings (in the Creating a GUI with JFC/Swing trail).

    การใช้ Text Components
    Handling Events
    (see
    Writing Event Listeners (in the Creating a GUI with JFC/Swing trail) for details)
    Method Purpose
    void addMouseListener(MouseListener)
    void removeMouseListener(MouseListener)
    Add or remove a mouse listener (in the Creating a GUI with JFC/Swing trail) to or from the component. Mouse listeners are notified when the user uses the mouse to interact with the listened-to component.
    void addMouseMotionListener(MouseMotionListener)
    void removeMouseMotionListener(MouseMotionListener)
    Add or remove a mouse motion listener (in the Creating a GUI with JFC/Swing trail) to or from the component. Mouse motion listeners are notified when the user moves the mouse within the listened-to component's bounds.
    void addKeyListener(KeyListener)
    void removeKeyListener(KeyListener)
    Add or remove a key listener (in the Creating a GUI with JFC/Swing trail) to or from the component. Key listeners are notified when the user types at the keyboard and the listened-to component has the keyboard focus.
    void addComponentListener(ComponentListener)
    void removeComponentListener(ComponentListener)
    Add or remove a component listener (in the Creating a GUI with JFC/Swing trail) to or from the component. Component listeners are notified when the listened-to component is hidden, shown, moved, or resized.
    void setTransferHandler(TransferHandler)
    TransferHandler getTransferHandler()
    Set or remove the transferHandler property. The TransferHandler supports exchanging data via cut, copy, or paste to/from a clipboard as well a drag and drop. See Drag and Drop (in the Creating a GUI with JFC/Swing trail) for more details. Introduced in 1.4.
    boolean contains(int, int)
    boolean contains(Point)
    Determine whether the specified point is within the component. The argument should be specified in terms of the component's coordinate system. The two int arguments specify x and y coordinates, respectively.
    Component getComponentAt(int, int)
    Component getComponentAt(Point)
    Return the component that contains the specified x, y position. The top-most child component is returned in the case where components overlap. This is determined by finding the component closest to the index 0 that claims to contain the given point via Component.contains().

    อ้างอิง
    จาวา ติวโตเรี่ยล

    วันอังคาร, พฤศจิกายน 29, 2548

    Eclipse plug-in UML editors และ GUI builder

    บันทึกไว้กันลืม UML editors ที่ใช้วาด UML ลองหาๆ ดูจาก
    http://www.eclipseplugincentral.com
    แล้ว list มาดังนี้

    -- UML editors --
    • UMLet ที่ http://homepage.mac.com/martin.auer/umlet/ อันนี้ฟรี
    • SDE ที่ http://www.visual-paradigm.com/product/sde/ec/index.jsp อันนี้ commercials
    • EclipseUML ที่ http://www.eclipseuml.com/screenshot.html ฟรีำสำหรับ non-commercial
    -- GUI builder --
    • VE ที่ www.eclipse.org ฟรีแท้ๆ
    • Jigloo ที่ http://www.cloudgarden.com/jigloo/ ฟรีสำหรับ non-commercial

    วันจันทร์, พฤศจิกายน 21, 2548

    โปรแกรมฟรีแวร์ สำหรับ การเงินและการบัญชี Grisbi

    นึกอยากจะทำบัญชีส่วนตัวขึ้นมา เพื่อจะได้ควบคุมการใช้จ่ายเงินอย่างมีประสิทธิภาพ จะได้ควบคุมเงินออมไว้ลงทุน ก็เลยไปคุ้ยๆ หาฟรีแวร์ที่น่าจะใช้ได้มา ไปเจอใน FreeBSD ports
    จะหมู่หรือจ่าเดี๋ยวต้องไปลองก่อน เขียนโน้ตไว้เฉยๆ รายละเอียดอยู่ที่ Grisbi

    อื่นๆ
    gnucash
    finance/emma

    follow up: เท่าที่ลองดูแล้วคิดว่า GnuCash น่าใช้ที่สุด

    วันเสาร์, ตุลาคม 29, 2548

    เข้ารหัสเสียงให้เนียนๆ

    เกิดสงสัยอยากจะเข้ารหัสไฟล์เสียงแบบ ogg ให้รองรับ 5.1 channel หรือ 6 channel
    โดยแปลงจาก VOB หรือ AC3 จะทำอย่างไร. รวบรวมแหล่งข้อมูลไว้ดังนี้

    FAQ เกี่ยวกับ audio ครอบคลุมทุกเรื่อง ดีใช้ได้
    http://forum.doom9.org/showthread.php?s=&threadid=68300
    *ฟอรัมข้างบนกล่าวว่า การจะเข้ารหัส ogg แบบ 5.1 ch นั้นจำเป็นต้อง correct channel coupling
    ทำให้บิตเรตสูงและขนาดของไฟล์ผลลัพธ์จะมีขนาดเกือบเท่า AC3 ไฟล์ต้นฉบับ ดังนั้น ทำไม่คุ้ม

    ฺฺBeLight GUI สำหรับ Besweet ใช้ง่ายกว่าน่าลอง
    http://belight.corecodec.org/

    Audio guide ของ doom9
    http://www.doom9.org/index.html?/audio-guides.htm

    วันอังคาร, ตุลาคม 25, 2548

    ssh port forwarding

    เมื่อสัปดาห์ก่อนไปร่วม 研究会 ที่ 未来館 พักโรงแรมแล้วอยากจะส่งเมล์ขึ้นมาแต่มันส่งไม่ได้เพราะว่า
    ตั้งแต่เปลี่ยนมาใช้ FreeBSD ก็พึ่งจะอยากส่งเมล์จากนอกมหาลัยเป็นครั้งแรก
    ไม่รู้จะเซตยังไง เลยส่งผ่านเว็บไป.

    วันนี้มาค้นๆ ดู มีสองทางออก
    1. ใช้ SMTP ของ localhost เพราะว่า มันรัน Sendmail อยู่แล้ว
    2. ใช้ ssh port forwarding ผ่าน เฟ้ป
    สำหรับวิธีแรก ไม่ต้องกล่าวถึง ส่วนวิธีที่สองนั้นก็กล้วยๆ ทำดังนี้
    $ ssh -L 1025:วินเมล์:25 xoguy@เฟ้ป
    note:
    ต้องตั้ง SMTP เซตติ้งใน thunderbird ให้มันส่งไปที่พอร์ต 1025 ด้วย
    reference:
    http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html

    วันศุกร์, ตุลาคม 07, 2548

    Expocity: ทำ gnome windows changer ให้เป็นแบบ Mac

    วันนี้ลง Expocity เพื่อให้เปลี่ยนวินโด้แบบเท่ๆ อย่างแมค
    พอกด alt+tab ปุ๊บ มันจะขึ้นหน้าจอที่ย่อส่วนแล้วของทุกวินโด้มาให้เลือก

    ก่อนอื่นก็ pkg_deinstall -fv metacity ก่อน จากนั้นจึง
    portinstall -PPv expocity
    แล้วก็ startx เป็นอันเรียบร้อย