ย้ายบล็อกไปที่ bact.cc แล้วนะครับ

พ.ร.บ.คอมพิวเตอร์
หยุด ร่างพ.ร.บ.คอมพิวเตอร์
พื้นที่เก็บข้อมูลออนไลน์ ฟรี 2GB จาก Dropbox (sync กับ Windows, Linux, Mac, iPhone, Android ฯลฯ ได้)
Showing posts with label how-to. Show all posts
Showing posts with label how-to. Show all posts

2009-05-14

change JRE/JDK default version in Mac OS X to Java SE 6 (1.6)

(Update 2009.05.16: add JAVA_JVM_VERSION setting)

To build Nutch 1.0, you need JDK 1.6. Unless you'll got [javac] class file has wrong version 50.0, should be 49.0 error message.

For a system that has more than one version of JDK installed. It is possible to change to a desired version only at the time you need it (look for j16 script in this thread). I found myself more convenient with just changed the default version.

เปลี่ยนรุ่นปริยายของ Java Runtime และ JDK ใน Mac OS X ให้เป็น Java SE 6 (1.6)

  1. Install Java SE 6 first. ก่อนอื่น ถ้ายังไม่มี Java SE 6 ในเครื่อง ก็ให้ติดตั้งก่อน. โดย Java SE 6 จะอยู่ใน Java for Mac OS X 10.5 Update 2, ดาวน์โหลดได้ที่เว็บไซต์ developer.apple.com/java. หรือจะปรับรุ่นผ่าน Software Update ก็ได้.
  2. Run Java Preferences app to set the default version. หลังจากติดตั้งเรียบร้อยแล้ว ก็เรียกโปรแกรม Java Preferences ขึ้นมา (อยู่ใน /Applications/Utilities/Java/ หรือพิมพ์ชื่อลง spotlight เลยก็ได้) เพื่อเลือกว่าจะใช้รุ่นไหนก่อนหลัง. ใช้วิธี ลาก วาง. เสร็จแล้วก็ออกจากโปรแกรม.
  3. Point CurrentJDK dynamic link to 1.6. ไปตั้ง dynamic link ของไดเรกทอรี CurrentJDK ให้ชี้ไปหารุ่นที่ต้องการด้วย. เช่น ถ้าอยากให้ 1.6 เป็นรุ่นปริยาย ก็ทำแบบนี้ :
    cd /System/Library/Frameworks/JavaVM.framework/Versions
    sudo rm CurrentJDK
    sudo ln -s 1.6 CurrentJDK
    
  4. Set JAVA_JVM_VERSION environment variable. ใน ~/.profile ตั้งค่าตัวแปรสภาพแวดล้อม JAVA_JVM_VERSION เป็นรุ่นที่ต้องการ โดยเพิ่มบรรทัดนี้เข้าไป :
    export JAVA_JVM_VERSION=1.6
    
  5. [optional ไม่ทำก็ได้] Set JAVA_HOME environment variable. ใน ~/.profile อาจจะตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME ไว้ด้วย เพิ่มบรรทัดนี้เข้าไป :
    export JAVA_HOME=/Library/Java/Home
    
  6. [optional แล้วแต่] Set Applet Preferences. ถ้าอยากแก้อะไรกุ๊ก ๆ กิ๊ก ๆ เกี่ยวกับการรันแอปเพล็ต ก็เข้าไปแก้ได้ที่แฟ้ม ~/Library/Caches/Java/deployment.properties. ดูวิธีที่ Java for Mac OS X 10.5 Update 2: Setting Java Applet preferences. เช่น อาจแก้ให้ใช้ font-smoothing/anti-alias กับทุกแอปเพล็ตเลย ก็เพิ่มบรรทัดนี้เข้าไป :
    javaplugin.smoothText=true
    

เสร็จแว้ว

แถม : สำหรับคนที่ใช้ MacPorts, Porticus เป็น GUI ที่สะดวกดี. (ประมาณ apt กับ Synaptic Package Manager, แต่ Porticus โง่กว่านิดนึง)

technorati tags: , ,

2009-04-20

modifying setup.py for libthai Python binding in MacPorts environment

(ปรับปรุง 2009.04.21 พบท่าง่ายกว่าเดิม ดูด้านล่าง)

เอา libthai Python binding ที่วีร์ทำเอาไว้มาใช้บน Mac OS X + MacPorts ต้องดัดแปลง setup script นิดนึง

เนื่องจากผมติดตั้ง libthai ผ่านทาง MacPorts (ด้วยคำสั่ง sudo port install libthai) ดังนั้นแฟ้มไลบรารี (libthai.a) กับแฟ้ม include (*.h) ทั้งหลาย จึงไม่ได้อยู่ในตำแหน่งปกติที่ apple-gcc จะวิ่งไปหา (ผมใช้ i686-apple-darwin9-gcc-4.0.1 ลองใช้ gcc-4.2, gcc-mp-4.4 ที่อยู่ในเครื่องแล้ว มันบอกไม่รู้จัก flag โน้น flag นี้ ผมก็เซ็ตไม่เป็นด้วย เลยใช้ gcc ตัวที่เขาให้มาแต่เดิมนี่แหละ) จึงจำเป็นต้องแก้ไข setup.py นิดหน่อย เพื่อบอกตำแหน่งของ include_dirs และ library_dirs ใหม่ ตามนี้ :


from distutils.core import setup, Extension

setup(name="libthai", version="0.0.1",
      ext_modules=[ 
        Extension('libthai', 
                  include_dirs = ['/opt/local/include'],
                  libraries = ['thai'],
                  library_dirs = ['/opt/local/lib'],
                  sources = ['libthai.c']
)])

ก็จะสามารถ build และ install ได้ครับ - ของใครอยู่ที่อื่น ก็แก้ไปตามนั้นครับ - ผมดูตัวอย่างจากเอกสารหน้านี้ : 3. Building C and C++ Extensions with distutils

หมายเหตุ: libthai ที่ใช้นี้ยังเป็นรุ่น 0.1.9 อยู่ ตอนนี้รุ่นล่าสุดคือ 0.1.11 ออกมาไล่ ๆ กับ libdatrie และ swath ตัวใหม่ ติดตามข่าวได้ที่ linux.thai.net / ขอบคุณคุณวีร์ พี่เทพ และทุกท่าน


อัปเดต 2009.04.21: เพิ่งเจอท่าที่ง่ายกว่า ไม่ต้องแก้ setup.py คือเรากำหนดไดเรกทอรีได้ที่บรรทัดคำสั่งเลย ตอน build จากนั้นค่อยสั่ง install อีกที เช่น :


$ sudo python setup.py build_ext --include-dirs=/opt/local/include --library-dirs=/opt/local/lib
$ sudo python setup.py install

หรือจะกำหนดไว้ในแฟ้ม setup.cfg ก็ได้ เผื่อใช้หลายรอบ :


[build_ext]
include-dirs=/opt/local/include
library-dirs=/opt/local/lib

ทั้งหมดนี้ ดูตามเอกสาร 3. Writing the Setup Configuration File

ก่อน build อย่าลืมเปลี่ยน gcc ให้เป็นรุ่นที่เหมาะสม=ใช้แล้วคอมไพล์ผ่าน เช่นกรณีนี้ ผมต้องใช้ gcc 4.0 ก็ให้เลือกด้วย gcc_select (หรือ ln symbolic link เอาเองก็ได้)

$ sudo gcc_select gcc40

ถ้าอยากรู้ว่ามีอะไรให้เลือกบ้าง สั่ง gcc_select -l (ไม่ต้องตกใจ ถ้ามันแสดงน้อยกว่าที่เรามี gcc_select มันแสดงเฉพาะตัวที่มันหาเจอเท่านั้น ก็คือที่มี symbolic link อยู่ในไดเรกทอรีเดียวกับตัว gcc_select มันเอง ... กรณีนั้น ก็ แหะ ๆ ใช้ ln ไปตามเดิมครับ - -")

เช่นเดียวกัน ก่อน install ก็อย่าลืมเปลี่ยน Python ให้เป็นรุ่นที่เหมาะสม=รุ่นที่เราอยากจะติดตั้งตัว extension นี้เข้าไป กรณีผม ผมอยากติดตั้งลงไปใช้กับ Python 2.5 ก็คล้าย ๆ เดิม เลือกด้วย python_select (หรือ ln symbolic link เอาเองก็ได้ เช่นกัน)

$ sudo python_select python25-apple

ป.ล. อะไรคือ mp-gcc ?

technorati tags: , ,

2008-05-10

Read Windows Help on Ubuntu/Linux

ใช้ลีนุกซ์ เกิดจำเป็นต้องอ่านเอกสารในรูปแบบ CHM (Microsoft Compiled HTML Help) ขึ้นมาจะทำไง ?

สำหรับคนใช้ GNOME เรามี GnoCHM ครับ
(ส่วนพลพรรค KDE ลอง KchmViewer ดู – เหมือนอินเทอร์เฟซในการค้นหาจะสะดวกกว่าแฮะ)

บน Ubuntu ติดตั้ง GnoCHM ง่าย ๆ :

sudo apt-get install gnochm

หน้าตาเป็นงี้ (เปิดดู Rails CHM Documentation)

CHM viewer on GNOME

หรือใครสะดวกเป็น PDF กว่า เช่นจะเอาไปพิมพ์ลงกระดาษ ลอง chm2pdf ลงง่าย ๆ เช่นกัน :

sudo apt-get install chm2pdf

ทุกอย่างทำได้ (บางทีก็เหนื่อยหน่อย) ด้วยซอฟต์แวร์เสรี

technorati tags: , ,

2008-05-07

How to install Tahoma font, Ubuntu Studio theme and preload in Ubuntu (+ OpenSolaris 2008.05 debut)

from Ubuntu Forums - HOWTO: Tahoma Font in Breezy by Casey

ถึงจะใช้โอเพนซอร์ส บางทีเราก็จำเป็นต้อง/ถูกบังคับให้ใช้ฟอนต์ที่ไม่ใช่ซอฟต์แวร์เสรี
เช่น รายงานความคืบหน้าการวิจัยของเนคเทค ที่แม้จะระบุให้ใช้ OpenDocument Text (มาตรฐานเปิด-เยี่ยม) แต่ในขณะเดียวกันก็ระบุว่าให้ใช้ฟอนต์ Tahoma (เฉพาะระบบของไมโครซอฟท์-เฮ้ย)

วิธีติดตั้งฟอนต์ Tahoma บน Ubuntu (กนู/ลีนุกซ์ดิสโทรอื่น ๆ ก็ปรับ ๆ เอานะครับ)

  1. ลงแพคเกจ msttcorefonts ก่อน :
    sudo apt-get install msttcorefonts
  2. ดาวน์โหลดฟอนต์ Tahoma จาก http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/IELPKTH.CAB :
    wget http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/IELPKTH.CAB
  3. แตกแฟ้ม IELPKTH.CAB ออกมา, ในที่นี้เราจะใส่ไว้โฟลเดอร์ชั่วคราว tahomafont :
    cabextract -d tahomafont IELPKTH.CAB
  4. คัดลอกแฟ้มฟอนต์ทั้งหมดไปที่โฟลเดอร์ฟอนต์ msttcorefonts ของ Ubuntu :
    sudo cp tahomafont/*.ttf /usr/share/fonts/truetype/msttcorefonts/
  5. ลบโฟลเดอร์ชั่วคราว tahomafont เมื่อสักครู่นั้นทิ้ง :
    rm -rf tahomafont

เสร็จ

เกร็ด: น่าสนใจว่าแพคเกจ IELPKTH.CAB นี้ มันคือ Thai Language Pack ของ Internet Explorer ซึ่งนอกจากฟอนต์แล้ว ยังมีผังแป้นพิมพ์ไทย และรหัสอักขระไทย (CP 874) ด้วย


แถม : ลงธีมของ Ubuntu Studio บน Ubuntu ปกติ (เห็นใน twitter)

ถ้าจะเอาทั้งชุดเลย (รวมหน้าจอล็อกอิน, โปรแกรมเสริมบน desktop) :
sudo apt-get install ubuntustudio-look

ถ้าจะเอาแค่ธีม ไอคอน พื้นหลัง :
sudo apt-get install ubuntustudio-theme ubuntustudio-icon-theme ubuntustudio-wallpapers

ลงแล้วสวยดี แต่กับบางโปรแกรมใช้แล้วจะมองไม่ค่อยเห็น ปวดตาหน่อย ๆ เช่น Firefox 3 นี่ จะมีปัญหาเรื่องสีกับตรงช่องที่อยู่ address bar คือสีที่ไฟร์ฟ็อกซ์ใช้สำหรับลิงก์ มันเป็นสีเขียว แล้วสีของพื้นหลังของ widget ใน Ubuntu Studio นี่มันเป็นสีเทาดำ มันเลยอ่านยากมาก ไม่ดีเท่าไหร่ หรืออย่างเวลาทำไฮไลท์ข้อความในช่องที่อยู่ มันก็ไม่เปลี่ยนสีพื้นหลัง เปลี่ยนแต่สีอักษร ดูยากไปนิดนึง โปรแกรมอื่นไม่เป็นนะ เป็นแต่กับไฟร์ฟ็อกซ์นี่แหละ เข้าว่าเป็นเพราะไม่ได้เป็น GTK+


แถม 2 (ใจดี) : OpenSolaris 2008.05 ออกแล้ว (ข่าวที่ OSNews) เป็นดิสโทรอีกดิสโทรหนึ่งของ OpenSolaris (เอ่อ ชื่อดันเหมือนกันอีก คือนอกจาก OpenSolaris ที่เป็นดิสโทรแล้วเนี่ย ยังมีคนเอาซอร์สโค้ดจาก OpenSolaris.org ไปทำดิสโทรอื่น ๆ อีก เช่น Nexenta) มี Live CD ด้วย

ดิสโทร OpenSolaris นี้ ใช้ตัวจัดการแพกเกจตัวใหม่ที่ชื่อว่า Image Packaging System (IPS) ซึ่งเจ้า IPS นี่ ใช้ประโยชน์จากระบบแฟ้ม ZFS เช่นการทำ rollback กรณี โอ๊ะ ติดตั้งแพกเกจใหม่เข้าไปแล้วเจ๊ง จะย้อนกลับ ก็ใช้ความสามารถของ ZFS ทำ (ดิสโทรอย่าง Nexenta นั้นใช้ apt ซึ่งผู้ใช้ลีนุกซ์ค่าย Debian, Ubuntu จะคุ้นเคยกว่า)

รีวิวค่อนข้างดี แต่ก็ยังมีจุดต้องปรับปรุงเช่นเรื่องการแชร์แฟ้มกับ Samba ที่ยุ่งยากเกินไป ในรีวิวนั้นมีภาพจับหน้าจอให้ดูหลายรูป ดูในรูปคล้าย Linux Desktop ทั่วไปมาก เพราะใช้ GNOME 2.22 เหมือน ๆ กัน (ในภาพนั้นใช้ธีม Nimbus แบบเดียวกับที่มีใน Java 6 Update 10)

ถ้าไม่อยากดาวน์โหลด หรืออยากได้แผ่นมาเก็บ สั่งได้นะครับ ฟรี ค่าส่งก็ไม่คิด ผมสั่งไปแล้ว อยากรู้ว่าจะสวยเหมือนโลโก้รึเปล่า :D


แถม 3 (ชิงร้อยชิงล้าน) : ในลีนุกซ์ เราสามารถเร่งความเร็วการโหลดโปรแกรมที่เราใช้บ่อย ๆ ได้โดยใช้โปรแกรม preload โปรแกรมนี้มันจะคอยดูพฤติกรรมการใช้งานโปรแกรมของเรา และก็ไปโหลดบางส่วนของโปรแกรมที่เราใช้บ่อย ๆ ขึ้นมารอไว้ในหน่วยความจำล่วงหน้า (เรียกอีกอย่างก็คือ โกง น่ะ) วิธีพวกนี้เราเรียกว่า pre-fetching ใน Windows XP ก็มี

วิธีติดตั้ง preload บน Ubuntu :
sudo apt-get install preload
แค่นั้นเลย แล้วมันก็จะทำงานอัตโนมัติอยู่หลังฉาก

ถ้าอยากดูว่ามันทำอะไรอยู่ ก็ :
sudo tail -f /var/log/preload.log
หรือถ้าอยากดูละเอียด ๆ เป็นรายแฟ้มเลย ก็ :
sudo less /var/lib/preload/preload.state

ที่มา : Linux Journal ฉบับล่าสุด (ล่าสุดที่เมืองไทยใน Bookazine นะ ไม่รู้ล่าสุดแค่ไหน), LifeHacker, และ Techthrob.com (อันหลังสุดนี่ละเอียดมาก มีวิธีการตั้งค่าโดยละเอียดด้วย)

technorati tags: , , , , , ,

2008-04-14

install Python alternatives

สวัสดีปีใหม่ — 12-14 เม.ย. ผมและเพื่อน ๆ อยู่ที่ Thai Firefox L10n sprint

po2moz ใช้กับ Python 2.5 ไม่ได้ ต้องเป็นรุ่นต่ำกว่านั้น

ลง Python (และโปรแกรมอื่น ๆ) หลาย ๆ รุ่นในเครื่อง และวิธีตั้งค่ารุ่นปริยาย

ลงที่รุ่นที่อยากได้

apt-get install python2.4

บอกเครื่อง ว่าเรามีหลายรุ่นนะ

update-alternatives --install /usr/lib/python python /usr/lib/python2.3 9
update-alternatives --install /usr/lib/python python /usr/lib/python2.4 5
update-alternatives --install /usr/lib/python python /usr/lib/python2.5 1

(--install ลิงก์คำสั่งปริยาย ชื่อคำสั่ง ลิงก์ไปหารุ่นที่ระบุ ลำดับความสำคัญ)

จากนั้นก็เลือกรุ่นที่อยากใช้

update-alternatives --config python

จะเมนูขึ้น เลือก


เอามาจาก Ubuntu Forums อีกแล้ว


*** ในเวลาเดียวกันนี้ ที่ IRC ห้อง #tlwg irc://irc.linux.in.th#tlwg ก็มี OSS glossary sprint ด้วย — จัดการเก็บกวาด คลังศัพท์กลาง Glossary for Open Source Software ไปแจมกันได้

รายละเอียด ข้อมูลเกี่ยวกับการแปล/localization ดูได้ที่ l10n.opentle.org

technorati tags: , ,

2008-04-08

enable mod_rewrite in Apache

ทดสอบ CakePHP ในเครื่อง ต้องหาทางเปิด mod_rewrite ไปเจอที่ Ubuntu Forums อีกตามเคย ขอแปลมาไว้ที่นี่:

เปิดใช้ mod_rewrite ใน Apache2 (บน Ubuntu)

เปิดใช้โมดูล mod_rewrite (เอาไว้ทำ url อ่านง่าย ๆ) ใน Apache ใน 3+1 ขั้นตอน:

ขั้นหนึ่ง: ระบุให้โหลด rewrite โดยการทำซิมบอลิกลิงก์ไฟล์ rewrite.load ใส่ไว้ใน /etc/apache2/mods-enabled/

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

เพิ่มเติม 2008.04.08: อ.มะนาวบอกว่า ใช้ a2enmod ก็ได้ ง่ายกว่ากันเยอะ .. จริง ๆ ด้วย! ดังนั้น ทำแบบนี้ก็ได้

sudo a2enmod rewrite

(a2enmod ว่าตามตัวคือ apache2 enable module; ถ้าอยากเอาตัวไหนออก ก็ใช้ a2dismod - apache2 disable module)

ขั้นสอง: แก้ไฟล์คอนฟิกของ apache

sudo vi /etc/apache2/sites-enabled/000-default

เปลี่ยนค่าของ AllowOverride ไปเป็น all สำหรับ document root directory ที่ต้องการ (default จะเป็น /var/www/)

ตัวอย่างเช่น:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all
</Directory>

ขั้นสาม: รีสตาร์ท apache

sudo /etc/init.d/apache2 restart

อันนี้ก็จะเสร็จทางฝั่ง apache ละ ต่อไปก็เป็นทางฝั่งเว็บแอพพลิเคชัน/สคริปต์

ขั้นสุดท้าย: แก้/สร้างไฟล์ .htaccess ในไดเรกทอรีที่ต้องการใช้ rewrite โดยระบุค่า RewriteEngine เป็น On

RewriteEngine On

เท่านี้ก็จะใช้ mod_rewrite ได้แล้ว

ส่วนวิธีเขียนกฎ rewrite นั้น ลองศึกษาได้จาก URL Rewriting Guide, cheat sheet

[credits to jalanbuntu of Ubuntu Forums]

technorati tags: , ,

2008-03-14

Rename USB drive on Linux

It is this difficult to rename a usb drive on Ubuntu/Linux! (and you also need different labeler tool for different file system... well, ...)

ซื้อแฮนดี้ไดร์ฟมาใหม่ (8GB 1,500 บาท เดินถัดไปอีกไม่กี่ร้าน 1,200 บาท .. แบบเดียวกันเป๊ะ!! — ราคาของในมาบุญครองมันมั่วจริง ๆ) จะฟอร์แมตของเดิม ที่รก ๆ และมีชื่อไดเรกทอรีประหลาด ๆ ที่ลบไม่ได้ (runauto...) งมหาอยู่นาน ทั้งใน mkdosfs ทั้งใน parted/gparted - ไม่เจอ

สุดท้ายไปเจอในเน็ต โห ต้องเล่นท่ายาก

ปรากฎว่า แต่ละระบบไฟล์ จะใช้โปรแกรมในการเปลี่ยนชื่อไม่เหมือนกัน เช่น FAT ใช้ mtools, NTFS ใช้ ntfsprogs, ext2/3 ใช้ e2label, ...

ผมใช้เป็น FAT32 ก็ต้องลง mtools (sudo apt-get install mtools)
แล้วใช้โปรแกรมชื่อ mlabel ในการเปลี่ยนชื่อ ประมาณนี้:

sudo mlabel -i /dev/sdd1 ::GO-BACT

เปลี่ยน /dev/sdd1 เป็น device ที่จะเปลี่ยน (ใน Ubuntu ลอง ls /dev/disk ดูได้)
เปลี่ยน GO-BACT เป็นชื่อที่อยากได้

เสียบครั้งต่อไป ก็จะแสดงเป็นชื่อใหม่ละ

technorati tags: , ,

2008-03-11

How to install ANYTHING in Ubuntu

in apt or not in apt is not a question.

How to install ANYTHING in Ubuntu — from Synaptic to .deb, apt-get to alien, desktop theme to .exe, and more!

technorati tags: ,

2008-02-07

Fixing Java GUI on Hardy Heron

เพิ่งลง Hardy Heron เมื่อคืนก่อน ปรากฎว่า NetBeans 6.0 รันไม่ได้

ปัญหาอยู่ที่ libmawt ของ JVM มันลิงก์กันไม่ได้กับ libxcb/libX11 ของ Hardy Heron แนว ๆ นี้ ดูจาก backtrace อ่ะนะ เราก็ไม่รู้ว่าจะแก้ยังไงหรอก

ไปเจอ workaround ที่ Ubuntu Forums ลองดูแล้ว ใช้ได้ เอามาแบ่งกัน

If you have problem with Java GUI apps (for example, NetBeans) on Hardy Heron (Ubuntu 8.04 LTS pre-release), try run this line in your terminal (as root) รันคำสั่งนี้ในเทอร์มินัล:

for 32-bit Ubuntu:
$ sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so

for 64-bit Ubuntu:
$ sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/amd64/xawt/libmawt.so

(Notes: the path name may not be exactly as ones shown above, you may need to change to version number and/or the architecture of your JVM. Look your /usr/lib/jvm for the exact name to use. อย่าลืมเปลี่ยนชื่อพาธให้ตรงกับ JVM ที่อยู่ในเครื่องของเรา)

If that doesn't work for you, try add this line into your .bash_profile file ถ้าไม่เวิร์กก็ลองเพิ่มบรรทัดนี้เข้าไปที่ .bash_profile:

export LIBXCB_ALLOW_SLOPPY_LOCK=true

ผมลองวิธีแล้วแล้วมันใช้ได้นะ NetBeans 6.0 + JVM 1.6.0.04 + Hardy Heron Alpha 4 — WORKSFORME

ตอนนี้กำลังลองเล่น Google Web Toolkit มีสำหรับ NetBeans ด้วยนะ (gwt4nb)

สวัสดีปีใหม่จีน

technorati tags: , ,

2007-11-10

fix long boot time in Ubuntu 7.10

ผมแก้ตามนี้ แล้วเวลาในการบูต ลดจาก 3 นาทีครึ่ง เหลือ 40 วิ !

แก้ไฟล์ /etc/initramfs-tools/modules
เพิ่มสามบรรทัดนี้เข้าไป:

vga16fb
fbcon
vesafb

แก้ไฟล์ /etc/modprobe.d/blacklist-framebuffer
คอมเมนท์สองบรรทัดนี้ออก (เติม # ไว้หน้าบรรทัด):

blacklist vesafb
blacklist vga16fb

รันคำสั่งนี้:

sudo update-initramfs -u

แล้วลองบูตใหม่
ใช้ได้ไม่ได้ ลองแจ้งไปที่ Ubuntu Forums

ขอบคุณ Ubuntu Forums: Long boot time on Gutsy / Black boot screen

technorati tags: , ,

2007-10-13

edit PDF metadata using pdftk

แก้เมตาดาตา (อภิข้อมูล/ข้อมูลที่อธิบายข้อมูล) ด้วย pdftk
ง่ายมาก ๆ (แม้ทุกอย่างจะเป็นคอมมานด์ไลน์ก็เถอะ)

ก่อนอื่นไปดาวน์โหลด pdftk ก่อน
(เป็นซอฟต์แวร์เสรีด้วยนะ ฟรี — ถ้าใครใช้ Ubuntu ก็ sudo apt-get install pdftk ได้เลย, สำหรับ Windows ก็ดาวน์โหลดไฟล์ .exe มาใช้ได้เลย ไม่ต้องติดตั้ง)

แล้วทำตามนี่เลย Setting PDF Metadata

ขั้นตอนโดยคร่าวก็คือ สกัดเมตาดาตาออกมาเก็บไว้ในไฟล์ข้อความก่อน
จากนั้นก็ไปแก้ไฟล์ข้อความนั้นจนพอใจ (ตามฟอร์แมตที่กำหนด เป็นคู่ของ InfoKey และ InfoValue)
แล้วสุดท้ายก็เขียนเมตาดาตาใหม่ จากไฟล์ข้อความที่ปรับปรุงแล้ว

ตัวอย่างไฟล์ PDF ที่ผ่านการแก้ไขเมตาดาตาโดย pdftk


โปรแกรม pdftk เป็น command-line front-end ของไลบรารี iText ซึ่งเป็นไลบรารีสำหรับสร้างและแก้ไขไฟล์ PDF เขียนด้วย Java ... เพื่อความสะดวก pdftk ใช้วิธีคอมไพล์ iText ด้วย gcj ให้เป็น native code แล้วเอามาลิงก์กับโปรแกรม pdftk ซึ่งเขียนด้วย C++

นอกจากจะใช้แก้เมตาดาตาอย่างตัวอย่างข้างบนแล้ว ยังสร้างใช้ pdftk ในการแยกหน้า รวมหน้า หมุนหน้า ฯลฯ ได้ด้วย ลองดูตัวอย่างการใช้

สำหรับคนที่จะเขียนโปรแกรมอ่านเขียน PDF:
iText นี่ใช้สำหรับสร้างและแก้ไข ส่วนถ้าจะอ่าน/parse ให้ใช้ PDFBox
... PDF Processing (is) Fun

technorati tags: ,

2007-09-09

Prison Survival Guide

ทำอะไรบ้านนี้เมืองนี้เวลานี้ วันดีคืนดีอาจจะโชคดี มีคนขับรถพาไปนอนเล่นในคุกก็เป็นได้

เผื่อเหลือเผื่อขาด อ่าน “คู่มือติดคุก” เอาไว้ก่อน จะได้ชิลชิล เวลาต้องไปนอนจริง ๆ :P

คู่มือนี้ มีแนะนำตั้งแต่ “อยู่คุกไหนดี ?” “เช็คอิน-เข้าคุกวันแรก” “วิธีนอนให้สบายในคุก” ไปจนถึง “10 วิธีคลายเครียดในคุก”

มีสองอันที่น่าศึกษาเอาไว้ เพราะเป็นสิทธิของเราที่ควรรู้ จะได้ไม่ถูกละเมิด/เรียกร้องได้ ในหัวข้อ “สิทธิของผู้ต้องขัง” และ “ติดคุกฟรี ใครรับผิดชอบ”

ขอยกมาเลยละกัน เขาเขียนไว้อ่านง่ายดี


ตัวอย่างของการติดคุกฟรี

  1. ถูกจับเข้ามาอยู่ในเรือนจำ แล้วต่อมา มีหลักฐานชัดเจนว่าไม่ได้ทำผิด จนมีการถอนฟ้อง
  2. ศาลพิพากษาว่าจำเลยไม่ได้ทำผิด ให้ปล่อยตัวไป

เมื่อติดคุกฟรี และถูกปล่อยตัวแล้ว สิ่งที่มักจะตามมา (ตามประสาคนไทย) ก็คือ

  1. ไปหาหลวงพ่อ รดน้ำมนต์สะเดาะเคราะห์ ส่วนการที่ต้องเสียเวลาเข้ามาอยู่ในคุก ถูกไล่ออกจากงาน จนป่านนี้ก็ยังหางานทำไม่ได้ ก็ถือว่าฟาดเคราะห์ไป.....เวรกรรม.....
  2. ญาติพี่น้องเพื่อนฝูง พาไปเลี้ยงฉลองที่ไม่ต้องติดคุก...ไชโย ๆ ๆ...ส่วนที่ต้องหลง เข้ามาอยู่ในคุกเป็นเดือนหรือเป็นปี ก็ถือว่าแล้วกันไป...ขอกันกินมากกว่านี้

ถ้าท่านพอใจอยู่แค่นี้ ความยุติธรรมจะมีเหลืออยู่อีกหรือ ?

เราขอแนะนำให้ผู้ต้องขังที่ต้องติดคุกฟรีทุกคน ใช้สิทธิเรียกร้องค่าทดแทนและค่าใช้จ่ายซึ่ง เรื่องนี้รัฐบาลจะเป็นผู้รับผิดชอบ โดย

  1. จ่ายเงินชดเชยที่ต้องเข้ามาอยู่ในคุก โดยนับเป็นรายวัน ติดคุกนานก็ได้รับเงินค่าชดเชยมาก
  2. จ่ายค่ารักษาพยาบาลทั้งทางด้านร่างกายและจิตใจ ถ้าความเจ็บป่วยเป็นผลโดยตรงจากการถูกดำเนินคดี
  3. ถ้าติดคุกแล้วตาย และการตายเป็นผลจากการถูกดำเนินคดี รัฐบาลต้องจ่ายในอัตราที่กำหนดไว้ในกฎกระทรวงฯ
  4. ระหว่างติดคุก ไม่ได้ทำงาน ครอบครัวขาดรายได้ ก็ต้องได้รับเงินชดเชยด้วย
  5. ค่าใช้จ่ายที่จำเป็นในการต่อสู้คดี รัฐบาลก็ต้องรับผิดชอบ

อยู่ประเทศเสรีเมื่อไม่ได้รับความเป็นธรรม ก็ต้องใช้สิทธิโวย

อยากรู้รายละเอียดเพิ่มเติมก็ติดต่อไปได้เลยครับ ที่

สำนักงานช่วยเหลือทางการเงินแก่ผู้เสียหายและจำเลยในคดีอาญา
ชั้น 25 ตึกกระทรวงยุติธรรม
99 หมู่ 4 ถ.แจ้งวัฒนะ
อ.ปากเกร็ด จ.นนทบุรี 11120
โทรศัพท์ 0-2502-8083, 0-2502-6539

ที่สำคัญก็คือ ต้องเรียกร้องภายในกำหนดเวลา 1 ปี
มิฉะนั้นหมดสิทธิ.....นะ...จะบอกให้


เป็นเว็บภาครัฐที่ทำเนื้อหาได้ดีจริง ๆ ขำดีด้วย เป็นกันเอง :D

[ ผ่าน ทัณฑสถานโรงพยาบาลราชทัณฑ์ ]

technorati tags: , ,

2007-05-26

Private surfing in Ubuntu - using Tor+Privoxy

ท่องเว็บเงียบ ๆ ในอูบุนตูลีนุกซ์

(สำหรับวินโดวส์ ดูที่ http://wonam.exteen.com/20060923/tor )

Tor (ตอร์) เป็นเครือข่ายและโปรแกรมช่วยเพิ่มความเป็นส่วนตัวในการท่องเว็บ นอกจากนี้ยังอาจช่วยให้เราสามารถเข้าเว็บที่ถูกบล็อกได้อีกด้วย

Privoxy (ไพรว็อกซี่) เป็นโปรแกรมพร็อกซี่ที่ช่วยเพิ่มความเป็นส่วนตัวในการท่องเว็บเช่นกัน โดยสามารถดักจับ 'คุกกี้' และกรองเนื้อหาบางอย่าง เช่น โฆษณา ออกไปได้

ติดตั้ง Tor และ Privoxy ใน Ubuntu

1 - ติดตั้งแพคเกจ “tor” และ “privoxy”
จะใช้เมนู System -> Administration -> Synaptic Package Manager
หรือจะใช้คำสั่งที่คอมมานด์ไลน์ก็ได้ คือ:

sudo apt-get install tor privoxy

2 - ปรับตั้งค่าของ Privoxy โดยแก้ไฟล์ /etc/privoxy/config:

sudo gedit /etc/privoxy/config

3 - เพิ่มบรรทัดนี้เข้าไป (รวม จุด ตรงท้ายสุดด้วย):

forward-socks4a / localhost:9050 .

โดยจะเพิ่มเข้าไปที่ไหนของไฟล์ก็ได้
(เพื่อความอ่านง่าย แนะนำให้เพิ่มแถว ๆ ส่วนที่ชื่อว่า “FORWARDING” / “forward-socks4”)

4 - (ทำหรือไม่ก็ได้) หากไม่ต้องการให้บันทึกปูมการทำงานของโปรแกรม (log) ให้ใส่ # หน้าบรรทัดที่เขียนว่า “logfile logfile”

5 - (ทำหรือไม่ก็ได้) หากไม่ต้องการให้บันทึกคุกกี้ที่ถูกดักจับ ให้ใส่ # หน้าบรรทัดที่เขียนว่า “jarfile jarfile”

6 - รีสตาร์ท Privoxy ใหม่ โดยใช้คำสั่ง:

sudo /etc/init.d/privoxy restart


ตั้งค่า Firefox ให้ใช้งาน Tor

ในที่นี้ จะใช้ปลั๊กอิน Torbutton เนื่องจากไม่ซับซ้อน ติดตั้งง่าย.
ปลั๊กอินอื่น ๆ ที่ใช้ได้เช่นกัน โดยอาจมีลูกเล่นมากกว่า/ซับซ้อนกว่า เช่น FoxyProxy

1 - ติดตั้ง Torbutton โดยไปที่หน้าเว็บ: https://addons.mozilla.org/en-US/firefox/addon/2275

2 - ปิดไฟร์ฟ็อกซ์ และเปิดใหม่

3 - ที่มุมล่างขวา จะเห็นข้อความว่า “Tor Disabled” (ตอร์ปิดใช้งาน)

4 - เมื่อต้องการความเป็นส่วนตัวมากขึ้น หรือต้องการเข้าเว็บที่ถูกบล็อก ให้คลิกที่ข้อความข้างต้น มันจะเปลี่ยนเป็นคำว่า “Tor Enabled” (ตอร์เปิดใช้งาน)

5 - ท่องเว็บได้ :)


เรียบเรียงจาก Step by step with Tor ที่ Ubuntu Forums
ลีนุกซ์ดิสโทรอื่น ๆ ทำคล้าย ๆ กัน แต่จะแตกต่างกันเรื่องตำแหน่งไฟล์ตั้งค่า (คอนฟิก)

updated 2007.05.30: เอกสารโดยละเอียด (ภาษาอังกฤษ) ดูที่:
Running the Tor client on Linux/BSD/Unix - ติดตั้ง client (สำหรับใช้งานดูเว็บ); และ
Configuring a Tor server - ติดตั้ง server (เพื่อช่วยให้คนอื่นดูเว็บได้ดีขึ้น - ยิ่งมี Tor server เยอะ ก็ยิ่งทำให้เครือข่าย Tor มีประสิทธิภาพดี)

updated 2007.05.31: เพิ่งเห็นว่า ที่ ubuntuclub ก็มีลงไปแล้ว

technorati tags: , ,

2007-05-25

Touchpad tapping way too sensitive in Ubuntu - how to fix it

การทดลองใช้ GNU/Linux (Ubuntu 7.04) กับโน๊ตบุ๊ค ยังคงพบปัญหาจุกจิกกวนใจอยู่ทั่วไป แต่จะพยายามแก้ไปเรื่อย ๆ จนกว่าจะทนไม่ไหว (ไม่คุ้มกับเวลาที่เสียไป)

ปัญหาอย่างหนึ่งที่กวนใจมากก็คือ tapping (การ 'คลิก' โดยกดที่ทัชแพด แทนที่จะกดที่ปุ่ม) มันเร็วเกินไป แตะโดนนิดหน่อย ๆ ก็จะหาว่าเราคลิกซะแล้ว ทำให้ทำงานลำบากมาก เช่น ไล่ดูหน้าเว็บอยู่ดี ๆ มันก็จะคลิกลิงก์ให้เราเฉย หรือว่าพิมพ์เอกสารอยู่ แล้วมือเผลอไปโดน เคอร์เซอร์ก็จะเปลี่ยนตำแหน่งไปที่อื่น-บางทีก็ทำงานเละได้

วิธีแก้ (ดูจาก Ubuntu Forums)

ลงแพคเกจที่ชื่อ gsynaptics (หรือ ksynaptics, qsynaptics ตามเดสก์ทอปที่ใช้ - และคำว่า synaptics ในชื่อแพคเกจ มาจากชื่อ Xorg Synaptics Touch Pad Driver - ไม่เกี่ยวกับตัว Synaptic Package Manager ของ Ubuntu แต่อย่างใด)

sudo apt-get install gsynaptics

แพคเกจนี้จะเพิ่มตัวปรับแต่ง Touchpad ลงไปในเมนู Preferences

แต่ก่อนจะใช้ได้ ต้องไปแก้ /etc/X11/xorg.conf ก่อน, โดยมองหา


Section "InputDevice"
 Identifier "Synaptics Touchpad"
 Driver  "synaptics"
 ...
EndSection

แล้วเพิ่มบรรทัดนี้


 Option  "SHMConfig"  "true"

ต่อท้าย (ก่อน EndSection)

แล้วรีสตาร์ท X ใหม่

ได้แล้วลองปรับตรง tapping ดู หรือถ้าไม่ไหวจริง ๆ ก็ยกเลิกไปเลย (เอาเครื่องหมายถูก ที่ Enable tapping ออก)

ถ้าอยากปรับแต่งโดยละเอียดในไฟล์ xorg.conf ดูตัวอย่างได้ที่ LinuxQuestions.org

technorati tags: ,

2007-01-23

Bloggers Handbook in Thai

คู่มือสำหรับบล็อกเกอร์ และนักเคลื่อนไหวไซเบอร์
แปลจาก Handbook for Bloggers and Cyber-dissidents ของ องค์กรนักข่าวไร้พรมแดน (Reporters without Borders หรือ RSF)
แนะนำวิธีการใช้อินเทอร์เน็ตเพื่อการเคลื่อนไหวทางสังคม ตั้งแต่วิธีการเลือกเครื่องมือ แนวปฏิบัติ และเทคนิคในการเขียนบล็อกแบบไม่เปิดเผยตัวตน

ฉบับภาษาไทย แปลเสร็จแล้วสองบท (จาก 13 บท)

ขอขอบคุณ คุณคนชายขอบ ที่ได้กรุณาแปลสองบทแรกให้อย่างรวดเร็ว รวมถึงผู้ร่วมตรวจทานทุกท่านไว้ ณ ที่นี้ด้วย
หากท่านใดได้แปลเพิ่มเติม สามารถส่งมาได้ที่ facthai AT gmail.com — ขอบพระคุณเป็นอย่างสูง

[ลิงก์ คู่มือสำหรับบล็อกเกอร์ และนักเคลื่อนไหวไซเบอร์ @ เว็บล็อก กลุ่มเสรีภาพต่อต้านการเซ็นเซอร์แห่งประเทศไทย (FACT)]

technorati tags: , ,

2007-01-04

KnowledgeVolution installation how-to

วิธีติดตั้ง KnowledgeVolution
(ระบบที่ใช้ใน GotoKnow.org, Learners.in.th, Researchers.in.th, ...)

หลายขั้นตอนอยู่เหมือนกัน แต่ทำตามไปเรื่อย ๆ ได้

technorati tags: , ,

2006-03-19

Handbook for bloggers and cyber-dissidents

Handbook for bloggers and cyber-dissidents
by Reporters Without Borders

What is a blog ?
How to build and write one ?
Blog ethics.
How to write anonymously, and
Technical ways to get around censorship.

update 2007.05.26: Thai version available

2006-01-10

MSc in Geeks Management

How to Manage Geeks
a.k.a. “ How to manage people who cannot properly manage their own life ” :P

แบบเนิร์ด ๆ (มีเพียงโคไซน์ สายลม และกำลังสองของเรา)

2005-11-10

Subversion permission problem ?

Got this ?


svn: Unable to open an ra_local session to URL 
svn: Unable to open repository 'file:///svnroot/project' 
svn: Berkeley DB error while opening environment for filesystem /svnroot/db: 
Permission denied

Just open a read/write access to the repository, esp the db directory ... something like (but more fine-grained than) chmod -R g+w /svnroot

2005-09-23

How to keeps your blog under the radar

CNN -- Guide aims to help bloggers beat censors

PARIS, France (AP) -- A Paris-based media watchdog has released an ABC guide of tips for bloggers and dissidents to sneak past Internet censors in countries from China to Iran.

เขียนบล็อกยังไงไม่ให้โดนเซ็นเซอร์ และไม่มีใครรู้ว่าเราเขียน

update 2007.05.26: Thai version available - มีฉบับภาษาไทยแล้ว