Thursday, November 3, 2011

Berkeley DB Useful Commands

To create the database.  Create a text file, name it a.txt,
which has keys and values like this:

key_0
value_0
key_1
value_1

Run:

 $ db_load -T -t hash -f a.txt a.db

Wednesday, July 20, 2011

Tuesday, July 12, 2011

cannot run screen after su -

This error message:

Cannot open your terminal '/dev/pts/0' - please check.

occurs when you try to run screen after you "su -" to someone else.  You can skip this error by:

script -c "screen -S main" /dev/null

Friday, July 8, 2011

how to set up vsftpd with pam authentication for name-based virtual hosting

I was surprised how vsftpd didn't work out of the box to support authentication without unix system account.  It took me 2 days to research and did trial and error before I could make it work.  Here is the result.

system: debian

# apt-get install libpam-pwdfile
# mkdir /etc/vsftpd
# cd /etc/vsftpd
# htpasswd -c passwd_ftp a_sample_website

Here I assume that the root directory of your virtual host is /vhdocs/a_sample_website/.

# cd /etc/pam.d
# vi vsftpd

Make sure it looks exactly like this:

# Standard behaviour for ftpd(8).
auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own.  Do not enable
# pam_ftp.so.

# Standard blurb.
#@include common-account
#@include common-session

#@include common-auth
#auth   required        pam_shells.so

# Customized login using htpasswd file
auth    required pam_pwdfile.so pwdfile /etc/vsftpd/passwd_ftp
account required pam_permit.so

Then edit vsftpd's config file:

# vi /etc/vsftpd.conf

It is a long config file.  I will tell you only required lines:

write_enable=YES
local_umask=022
chroot_local_user=YES
# addtitional settings by chaitat
virtual_use_local_privs=YES
connect_from_port_20=YES
guest_enable=YES
guest_username=ftp
user_sub_token=$USER
local_root=/vhdocs/$USER
hide_ids=YES

Restart vsftpd:

# /etc/init.d/vsftpd restart

Modify files' owner:

# chown -R ftp.nogroup /vhdocs/a_sample_website

--
unsigned_nerd

Thursday, July 7, 2011

.htaccess and .htpasswd

sample .htaccess and .htpasswd

.htaccess

AuthUserFile /var/www/tmp/.htpasswd
AuthName "My Private Directory"
AuthType Basic
require valid-user

.htpasswd

admin:$apr1$Y5J7envl$dYoDhqywTT.mD4L6MQIAU/

Sunday, July 3, 2011

debian apt NO_PUBKEY error

A sample error message:

W: GPG error: http://download.virtualbox.org lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 54422A4B98AB5139

You can fix it by adding the missing public key by:

# gpg --keyserver subkeys.pgp.net --recv 54422A4B98AB5139
# gpg --export --armor 54422A4B98AB5139 | apt-key add -

how to fix apache warning message: Could not determine the server's fully qualified domain name

Could not determine the server's fully qualified domain name


Newly installation of Apache gave this warning message.  We can fix it by adding this line to your httpd.conf:

# ServerName is to be specified to avoid warning during reload
ServerName MYSERVER

MYSERVER is your host's domain name.

how to block bittorrent

# iptables -I FORWARD -m ipp2p --bit -j DROP

Monday, May 16, 2011

how to change data dir of mysql

It is very easy.  You just move /var/lib/mysql to where you want and edit this property "datadir" in mysql config file /etc/mysql/my.cnf.

Saturday, April 30, 2011

แฮก sony digital reader PRS-505

หลังจากซื้อ digital reader ตัวนี้มาได้เกือบๆสองปี ก็ได้ฤกษ์ upgrade มันเสียหน่อย

PRS-505 (สีแดง) ภายในรัน MontaVista Linux ซึ่งหลายปีก่อนจำได้ว่่าเคยเจอแฮกเกอร์คนนึงได้เขียนโปรแกรมขึ้นมา (ด้วยภาษา Python) ซึ่งสามารถเข้าไปเรียกจัดการไฟล์ต่างๆใน digital reader ตัวนี้ได้ผ่านทางสาย usb (ไว้หาเจอแล้วจะแจ้งให้ทราบ)

อย่างไรก็ตามการแฮก PRS-505 ในครั้งนี้ไม่ได้เกี่ยวกับระบบลินุกซ์ที่อยู่ภายใน หากแต่เกี่ยวกับระดับที่สูงกว่านั้น

คุณ msukhiashvili ได้ทำ firmware ตัวใหม่ขึ้นมาซึ่งติดตั้งได้ง่าย โดยจะมีคุณประโยชน์ ณ เวอร์ชั่นปัจจุบัน (1.1.3) เป็นต้นว่า
  • มีเกมส์ Sudoku, Five Balls และ Mahjong
  • ทำ screenshot ได้
  • มี file browser
  • โปรแกรม dictionary
อ้างอิง

ควรสร้างหลายพาร์ทิชั่นในวินโดวส์ เช่นเป็น c: และ d: หรือไม่ อย่างไร อะไร ยังไง

จากประสบการณ์ของผมที่ในหลายๆโอกาสที่มี ความจำเป็นต้องข้องเกี่ยวกับระบบ ปฏิบัติการณ์ windows xp, windows 7, windows vista, windows server 2003 และ อื่นๆ อย่างช่วยไม่ได้ ทำให้ผมค้นพบว่าแท้จริงแล้วเราควรมีเพียง partition เดียวคือ C: partition (ความเห็นส่วนตัวนะครับ) โดยมีเหตุผลหลักๆ ดังนี้:
  1. Microsoft Windows Updates จำเป็นต้องดาวโหลดไฟล์ update ต่างๆ มาใส่ใน C: partition เท่านั้น และ microsoft เองก็ไม่แนะนำให้ user ทำการลบไฟล์พวกนั้นทิ้งด้วยหลังจาก install update เสร็จ เนื่องจากไฟล์เหล่านั้นมีตัว uninstaller อยู่ สำหรับกรณีที่ windows updates สร้างปัญหาให้กับระบบวินโดวส์ของเรา เราจะได้ uninstall มันได้

    ด้วยเหตุนี้ ในทางทฤษฏี ที่สุดแล้ว C: partition ของ windows ก็จะเต็ม และทำให้ระบบหยุดทำงานลงนั่นเอง ๕๕๕ ดังนั้นคำถามที่ไม่มีคำตอบก็คือ หากเราจะสร้าง 2 partitions คือ C: กับ D: แล้วไซร้ เราควรแบ่งที่ให้ C: เท่าไหร่หละ? ซึ่งมันไม่มีคำตอบครับ โอเคบางคนอาจจะเถียงว่าก็แบ่งให้ C: สัก 100GB สิ.... อือผมก็ว่า ถ้าให้ C: 100GB ยังไงเสียกว่าจะลง windows update จน harddisk เต็มก็อาจจะกินเวลาถึงปีหรือสองปีได้ ซึ่งกว่าจะถึงตอนนั้น windows ของท่านก็อาจจะถูก virus เล่นงานจนต้องลง windows ใหม่ไปแล้วรอบหรือสองรอบก็เป็นได้ ก็ถ้าคิดเห็นเช่นนั้นก็ตามสะดวกครับ ส่วนตัวผมนั้น มี harddisk ที่จะทิ้งให้ C: ไปดูเล่นได้ไม่ถึง 100GB ก็เลยมีความเห็นว่า ให้ C: ไปทั้ง harddisk เนี่ยแหละครับดีที่สุด ส่วนเรื่อง partition สำหรับ backup นั้นให้ไปดูต่อที่ ข้อ 2.
  2. การ backup ข้อมูลลงอีก partition นึงเช่น D: partition ที่ได้ยินได้ฟังมาว่ามีคนจำนวนมากนิยมทำกันนั้น สำหรับผมแล้ว ย่ิงในยุคนี้ harddisk external มีราคาถูกมากๆ ด้วยนี่ ผมไม่เห็นด้วย เคยได้ยินไหมครับ คำว่า การ backup ที่ดีนั้น เราควร backup ให้ backup files เนี่ยมันถูกเก็บไว้ที่ไหนก็ตามที่อยู่คนละที่กับไอ่เครื่องคอมพิวเตอร์ที่ เราจะ backup มัน กล่าวง่ายๆ ก็คือเราควรเก็บ backup files ไว้นอกเครื่องครับ เช่น external harddisks, computer เครื่องอื่นที่มี harddisk ใหญ่ๆ เป็นต้น (เหตุผลก็เช่น คอมพิวเตอร์อาจระเบิดได้และจะทำให้ file backup ที่ไว้ในเครื่องเดียวกันเนี่ยหายไปด้วย)
  3. โปรแกรมจำนวนมากในวินโดวส์มีความคาดหวังว่าคอมพิวเตอร์มีเพียง drive c: เพียงไดรว์ฟเดียว เป็นต้นว่า Microsoft SQL Server และ IIS

    เมื่อเราทำการติดตั้งโปรแกรมทั้ง ๒  นี้ database data files, log files, และ IIS log files by default จะไปออกันอยู่ใน c: ซึ่งมักเป็นสาเหตุอันดับต้นๆที่ทำให้ server down หาก database และ website ต่างๆถูก setup ด้วยค่า defaults
Blogged with the Flock Browser

astv online (streaming) - ดูโทรทัศน์ออนไลน์

ขอขอบคุณ tv.spacezap.com ที่ได้เปิดให้บริการทีวีออนไลน์์์์์์์์์์์กันฟรี ซึ่งเป็นประโยชน์กับผมอย่างยิ่ง
เพราะที่บ้านผมนั้นไม่มีโทรทัศน์... มาหลายปีแล้ว วิธีที่ง่ายที่สุดที่จะเข้าชมเห็นจะเป็นการเข้าสู่เว็บไซต์ด้วย web browser ตรงๆ ที่นี่:
http://tv.spacezap.com/tvonline_astvnews1.html
เมื่อเข้าไปในนั้นจะพบว่ายังมีทีวีอีกหลายช่องให้เราเลือกชมได้
ทีนี้สำหรับผู้ที่ไม่อยากดูทีวีผ่านเว็บไซต์นั้นย่อมสามารถทำได้โดยง่ายเนื่องจากผู้ทำเว็บไซต์นี้ใช้วิธี
นำ streaming อย่างตรงไปตรงมา เป็นที่เข้าใจได้ง่าย มีมาตรฐานกลาง ของ astv มาแสดงผลในเว็บ
นั่นคือให้บริการผ่าน mms protocol นั่นเอง ซึ่ง url ของ astv ที่ให้บริการ tv streaming นั้นคือ:
mms://broadcast.manager.co.th/11news1
ด้วย url นี้เองเราสามารถใช้โปรแกรมดูหนังที่เราชอบดูทีวีออนไลน์ของ astv ได้ เช่น หากคุณ
ใช้ mplayer (บน linux) ก้อเปิดทีวีดูดังนี้:

$ mplayer mms://broadcast.manager.co.th/11news1

อย่างไรก็ดี ณ ขณะนี้ผมกำลังรับชม astv online ด้วย quicktime player บน macosx
ของผมอยู่อย่างมีความสุข ช่วงนี้ผมกลับมาใช้ macosx สักพักเพราะหาไดรเวอร์การ์ดจอของ SiS สำหรับจอขนาด 1440x900 สำหรับ linux ไม่เจอสักที อยากใช้จอใหญ่ก็เลยยอมใช้ macosx ไปพลางๆ
ก่อน ผู้ใช้ลินุกซ์หากจะใช้ 1440x900 แนะนำเลยครับว่าอย่าใช้การ์ดจอห่วยแตกของ
SiS

save image firefox addon

เคยไหมที่เปิดหน้าเว็บเพจสักหน้าที่มีรูปสาวเอ็กซ์ๆสุดเซ็กซี่เรียงรายมากมายในหน้าเดียว

เคยไหมที่เปิดหน้าเว็บเพจสักสามสิบหน้าใน 30 tabs ที่มีรูปสาวเอ็กซ์ๆสุดเซ็กซี่เรียบรายมากมายในแต่ละ tab

การนั่งกด save รูปทีละรูปคงเป็นงานที่ไม่น่าพึงกระทำนัก แต่มันจะไม่เป็นปัญหาอีกต่อไป ด้วย Save Images FIrefox Addon!

https://addons.mozilla.org/en-US/firefox/addon/3404/

addon ตัวนี้สามารถ save images ทั้งหมดออกมาใส่ยัง directory ที่เราระบุได้ รวดเดียว สะดวกกันไปเลย
Blogged with the Flock Browser

backup ntfs partition ผ่าน network

เมื่อไม่กี่วันมานี้เพื่อนร่วมโลกท่านหนึ่งที่ผมได้เคยให้ยืม computer laptop ของ vaio ไป ได้นำมันกลับมาคืนให้กับผมเนื่องจากมันไม่มีประโยชน์อันใดกับเขาอีกแล้ว อีกทั้งเขายังมีคอมพิวเตอร์เครื่องใหม่ไปแล้วด้วย ก็นับว่าเป็นเรื่องที่น่ายินดีต่อทุกฝ่าย

คอมพิวเตอร์เครื่องนี้มี Windows XP Pro ติดตั้งไว้อยู่ โดยแบ่ง partition ไว้สองอันได้แก่ C: partition และ D: partition ซึ่งโดยส่วนตัวแล้วผมนิยมให้ Windows ที่ผมใช้มีเพียง partition เดียวเท่านั้นคือ C: (สามารถดู blog ที่เกี่ยวเนื่องได้ ที่นี่ {หากลิงก์ไม่เวิร์กแสดงว่าผมยังไม่ได้เขียน})

ด้วยเหตุนี้ผมจึงทำการติดตั้งโปรแกรมตัวหนึ่งซึ่งค้นเจอจาก google ชื่อ EASEUS Partition Master Home Edition:


http://www.easeus.com/download.htm

ลงไปใน Windows XP ตัวนี้ จากนั้นก็ทำการ ลบ D: partition ให้เรียบร้อยซึ่งมันจะถูกเปลี่ยนไปเป็น free space แล้วเราจึงสามารถขยาย C: partition ให้เต็ม ทั้ง harddisk ได้โดยง่าย (อย่าลืม backup ข้อมูลที่อยู่ใน D: partition ก่อนนะครับ)

ทีนี้ผมเพิ่งสังเกตเห็นว่าเจ้าเครื่องอ่านแผ่น cd/dvd ของคอมเครื่องนี้มันอ่านแผ่นไม่ได้ซะแล้ว เหอ เหอ ประกันก็หมด นี่หมายความว่าหากผมต้องทำการติดตั้งวินโดวส์ใหม่นี่คงต้องไปหาซื้อ external cdrom ไรงี้มาแหงเลย

แอะ แต่ช้าก่อน ไอ่ vaio เครื่องนี้นี่จำได้ว่ามัน boot จาก usb ได้นี่นา วะ ฮะ ฮะ แบบนี้ต้องใช้ประโยชน์จาก grml สักหน่อยแล้ว

เมื่อปลายปีที่แล้วผมได้ทำการติดตั้ง grml ลงไปใน usb handy drive ขนาด 8GB ของผมโดยการบู้ท grml ขึ้นมาจาก live cd, เสียบ usb handy drive เข้าไป จากนั้นก็เพียงใช้คำสั่ง:

# grml2hd /dev/sda1

grml ก็จะถูกติดตั้งลงไปยัง handy drive เป็นอันเรียบร้อย ในที่นี้ผมได้แบ่ง partition ไว้หนึ่งอันคือ /dev/sda1 สำหรับเนื้อที่ก็ทั้งหมดที่มือก็ประมาณ 8GB นั่นแล

ทีนี้ก็นำไอ่ grml usb อันนี้มาเสียบกับเจ้า vaio น้อย เปิดเครื่อง ขึ้นมา กด f2 หากต้องการเข้า bios เพื่อเข้าไปตั้งค่าให้ boot จาก usb ได้

เมื่อ boot ขึ้นมาแล้วผมก็ใช้ fdisk -l ก็พบว่า windows xp นั้นถูก install อยู่ใน /dev/sda1 โดย ใช้ file system format เป็น ntfs ตามคาด ทีนี้ก็ backup มันทั้ง parition ซะเลยเวลามีปัญหาจะได้ลงใหม่ง่ายๆ ก็เปิดเครื่อง unix อีกเครื่องใน LAN เดียวกันเอาไว้ ที่มี sshd รันอยู่นะครับ ในกรณีผมก็เป็น macosx สมมติว่า ชื่อเครื่อง mymacosx ละกันนะครับ ที่ grml usb บน vaio เราก็พิมว่า:

# mkdir macosx
# sshfs unsigned_nerd@mymacosx:backup macosx
# ntfsclone --save-image --output macosx/anyname.img /dev/sda1

ถ้าใช้ sshfs ไม่เป็น comment มาถามกันได้นะครับ

ก็ถือเป็นโชคดีของเราหละนะครับที่มีคำสั่งเฉพาะสำหรับการสร้าง disk image ของ partition ที่เป็น ntfs ไม่งั้นเนี่ยถ้าต้องใช้ dd มาทำแล้วมันจะช้ากว่า ยากกว่า ต้องมานั่งคิดว่าจะใส่ option ต่างๆ แบบไหนถึงจะเหมาะสม ใส่ผิดเดี๋ยวยุ่งอีก

อันที่จริงอีกโปรแกรมที่ดีก็คือ partimage แต่ว่าจาก man page (ของ grml 2009.10 Hello-Wein) พบว่า partimage ยังไม่รองรับ ntfs file format อย่างสมบูรน์ (experimental only) ผมก็เลยคิดว่าเราใช้ ntfsclone ไปก่อนดีกว่า เพื่อความปลอดภัย

google public dns - Free DNS Server สำหรับทุกคน

เมื่อสักประมาณหลายเดือนที่ผ่านมาผมได้ข่าวว่า Google ได้เปิดให้บริการฟรี dns server สำหรับชาวโลกผู้มีเกียรติทุกท่าน โดยชาวโลกผู้มีเกียรติทุกท่านสามารถใช้บริการได้โดยการกำหนดค่า primary dns server และ secondary server ให้เป็น ip address ดังนี้ตามลำดับ:
  • 8.8.8.8
  • 8.8.4.4
อย่าๆ ผมรู้ว่าชาวโลกทุกท่านคงตกใจ โอบร๊ะเจ้า ip address บร๊ะเจ้าเหาโลกไหนกันนี่ โอ้แม่ช่างสวยงามอะไรเยี่ยงนี้ ตัวเลข 8 ที่ดูเหมือนตัว g ซึ่งเป็นสัญลักษณ์หนึ่งที่สื่อถึง บริษัท Google ip address แบบนี้มันสวยงามซะยิ่งกว่า domain name แพงๆ มากมายบนโลกใบนี้เสียอีก... อึ้ง

สำหรับท่านใดที่ยังทำการกำหนดค่า dns บนลินุกซ์ โดยเฉพาะอย่างยิ่ง grml linux หรือ debian based linux ต่างๆ ไม่เป็น สามารถดูขั้นตอนต่างๆ ได้ที่:
OpenDNS - Free DNS Server สำหรับทุกคน
ผมจำเป็นต้องกล่าวถึงข้อดีอย่างหนึ่งของ google public dns ที่เหนือกว่า OpenDNS นั่นคือ ไอ่เจ้า OpenDNS นี่เวลาเราพิมพ์ url ที่ต้องการเปิดดูผิด หรือ เราเผลอไปพิมพ์ search keyword แล้วไอ่เจ้า web browser ที่นิยมของเราดั้นไปตีความว่าไอ่ search keyword ของเราเป็น domain name ไอ่ OpenDNS นี่จะรีบนำ url ที่เราพิมพ์ผิด หรือ ไอ่ search keyword ของเรา ไปเลือก โฆษณา ที่จ่ายเงินให้กับ OpenDNS ขึ้นมาให้เราเลือกเป็น search result ซึ่งมักจะบังก่อให้เกิดความน่ารำคาญใจเป็นอย่างยิ่ง เดี๋ยวนี้ผมก็เลยเลิกใช้ OpenDNS แล้วมาใช้ google public dns เอง ด้วยประการฉะนี้

อ้างอิง

ubunchu - การ์ตูนญี่ปุ่นเกี่ยวกับ ubuntu linux

วันนี้ได้ข่าวจากเพื่อนๆใน twitter ว่าคนญี่ปุ่นได้เขียนการ์ตูนเรื่อง ubunchu ขึ้นมาโดยจะเป็นเรื่องราวเกี่ยวกับ ubuntu linux ซึ่งเป็น linux distro (distro เป็นคำย่อของคำว่า distribution) ยอดนิยมในปัจจุบัน


ทุกท่านสามารถเข้าไปดาวน์โหลดการ์ตูนออนไลน์มาอ่านได้ที่:

http://divajutta.com/doctormo/ubunchu/c.html

เดี๋ยวผมต้องจัดสรรเวลาว่างมาอ่านสักเพลาเช่นเดียวกันครับ ฮี่ๆ

ชื่อไฟล์ที่ขึ้นต้นด้วย ขีด (-) มีปัญหากับ shell ใน unix / linux

ในหลายเพลา เรามักจะพบว่า ไฟล์ที่เราได้รับมาจากผู้อื่นนั้นมีการใช้ dash (ขีด, -) นำหน้าชื่อไฟล์ เช่น:

-abc.torrent

    การที่ชื่อไฟล์ขึ้นต้นด้วย - นั้นจะสร้างปัญหาให้กับ shell ที่เราใช้อยู่ สืบเนื่องจาก shell จะไปเข้าใจว่า "-" ขีดเส้นนั้นเป็น command line option (ซึ่งมักขึ้นต้นด้วย ขีด นั่นเอง)

    วิธีแก้ปัญหานี้คือ ให้ใส่ ขีดสองตัวติดกัน (--) ต่อท้ายคำสั่งที่เราเรียกใช้นั่นเอง แล้วหลังจากนั้นจึงเป็นชื่อไฟล์ที่เป็นปัญหา ตัวอย่างเช่น:

    $ mv -- -abc.torrent abc.torrent

    จึงขอประกาศให้ทราบโดยทั่วกัน

    อ้างอิง:

    Grml Linux - จีอาร์เอ็มแอล ลินุกซ์ - ลินุกซ์สำหรับ ผู้ดูแลระบบ และ/หรือ ผู้นิยมโปรแกรมประเภท text-based

    *

    หลังจากที่ผมใช้เวลาอยู่กับ Ubuntu Linux มาเกือบสองปี ก็บังเอิญโชคดีได้มีโอกาสพบกับ unix geek ท่านหนึ่ง ที่อุตส่าห์แนะนำผมให้รู้จักกับ ลินุกซ์ ที่เขาใช้อยู่ นั่นก็คือ Grml Linux ซึ่งจากการพบกันครั้งนั้น ทำให้ผมถึงกับเลิกใช้ Ubuntu Linux และหันมาใช้ Grml Linux แทน ไม่ว่าจะเป็นที่บ้าน, ที่ทำงาน หรือ live cd สำหรับ กู้ระบบคอมพิวเตอร์ที่ล้มเหลว

    Grml Linux เป็นลินุกซ์สัญชาติ ออสเตรีย โดยมีหัวหน้าใหญ่คือ Michael Prokop ชื่อเล่นว่า mika (ไมก้า):

    และทีมของเขา:
    *******
    เราสามารถพูดคุยกับ ไมก้า และ ทีมของเขาได้ผ่านทาง irc:

    host: irc.freenode.net
    channel: #grml

    ถึงแม้ภาษาราชการของเขาจะเป็น ภาษาเยอรมัน แต่พวกเขาทุกคนพูดภาษาอังกฤษได้นะครับ ไม่ต้องห่วง

    การออกเสียง Grml อย่างถูกวิธี สามารถฟังเสียงที่ถูกต้องได้โดยใช้คำสั่ง:

    flite -o play -t gremel
    ซึ่งเป็นโปรแกรมที่มีอยู่ใน Grml นะครับ

    Grml Linux แรกเริ่มเดิมทีนั้นได้พัฒนาต่อยอดมาจาก Knoppix ซึ่งเป็น Live CD distro หนึ่ง และ ต่อมา Grml เองก็ได้เปลี่ยนไป based อยู่บน Debian แทน จนถึงปัจจุบันนี้ โดย เวอร์ชั่นปัจจุบัน จะ based อยู่บน Debian Unstable (as of 201003130614PMICT)

    ลักษณะเด่นของ Grml Linux คือ เป็น distro ที่เต็มไปด้วย program แบบ text-based เจ๋งๆ มากมายมหาศาล พร้อม configurations จำนวนมากมาย ที่ถูกปรับแต่ง คัดสรรมาอย่างดี สำหรับทุกโปรแกรม ซึ่งจะสร้าง ความสนุกสนานให้กับผู้ใช้อย่างพวกเราเป็นอย่างมาก นอกจากนี้ ยังสะดวกต่อการติดตั้งลง usb drive หรือ ใช้งานผ่าน cd rom ได้โดยง่าย

    ณ ขณะนี้ Grml อยู่ในลำดับที่ 224 โดยการจัดลำดับโดย DistroWatch.com

    อย่าตกใจไปที่ลำดับความนิยมของ Grml นั้นดูช่างต่ำเสียเหลือเกิน แล้วมันจะดีแน่หรือ?  คำตอบคือ ดีแน่นอน... ผมรับประกัน : D  ที่กล้ารับประกันก็เนื่องจาก Grml นี่จริงๆ แล้วก็คือ Debian Unstable นั่นเอง เขาแค่เอามา customize และ pre-install โปรแกรมเจ๋งๆ เข้าไปเฉยๆ ครับ

    หมายเหตุ ทีม Grml แนะนำว่าไม่ควรใช้ Grml เป็น production server เนื่องจาก Grml นั้น based อยู่บน Debian Unstable จึงประกอบไปด้วย โปรแกรมมากมาย ที่ยังไม่ผ่านการ test จนถึงขั้นตอนสุดท้ายของ ทีมผู้พัฒนา Debian นั่นเอง


    grml.org

    อ้างอิง

    Blogged with the Flock Browser

    OpenDNS - Free DNS Server สำหรับทุกคน

    ที่บ้านผมใช้ ADSL Internet ของ True

    ตั้งแต่เมื่อประมาณสามวันที่แล้ว ผมพบว่าเวลาเปิดเว็บต่างๆ จะหลุดบ้างติดบ้าง แต่เนื่องจากงานผมยุ่งมาก กลับบ้านก็ดึกมากแล้ว จึงไม่ได้มีเวลามาตรวจสอบดูว่ามันเป็นเพราะอะไร

    เมื่อคืนนี้โชคดีที่ผมป่วยมีไข้ปวดหัว จึงมีโอกาสลางานขอกลับบ้านเร็วมานอนพักผ่อน เมื่อตื่นขึ้นมาเปิดคอมพิวเตอร์ และก็เจอปัญหาเดิม แต่คราวนี้สมองแจ่มใส ทำให้นึกถึง วิธีการแก้ปัญหาเบื้องต้น นั่นก็คือ การทำการตรวจสอบ dns (domain name server) ว่ามันทำงานเป็นปกติอ๊ะป่าว

    วิธีตรวจสอบง่ายๆ ก็เช่น ลองเปิด http://www.google.com ด้วย web browser ของเรา ปรากฎว่ามันขึ้น server not found error บน web browser ที่ผมใช้ จากนั้นผมก็ไปค้นหา ip address ของ www.google.com มา เช่นอาจจะถามเพื่อน หรือ อาจจะลองใช้คำสั่ง ping ดูที่เครื่องของเราเอง เพราะในหลายๆ ครั้ง เครื่องของเราจะยังจำ ip ของ domain ที่เราเข้าบ่อยได้ แต่ web browser ไม่สามารถเรียกมาใช้งานได้ เพราะอะไรสักอย่าง ทีนี้พอเราได้ ip address มา เราก็เอาไปกรอกในช่อง address bar ของ web browser เช่น: http://216.239.61.104/ ผมปรากฏว่า ผมเปิด google ได้ เมื่อเปิดเว็บผ่าน ip address ซึ่งทำให้สรุปผลได้ว่า dns ของ True Internet มีปัญหาอะไรสักอย่าง

    ที่ผ่านมาผมใช้ dns ของ True Internet มาตลอด ซึ่งมีสอง ip ดังนี้:

    nameserver 203.144.255.71
    nameserver 203.144.255.72

    แต่ตอนนี้มันเจ๊ง ผมเลยนึกถึง OpenDNS ที่เคยได้ยินมาว่าเป็น dns ที่เปิดให้ใช้บริการฟรี (รู้สึกของ google เองก็มีทำ dns ให้ใช้ฟรีเหมือนกัน) โดยเราแค่เปลี่ยนค่า dns ที่เราใช้บริการอยู่ให้เป็น:

    nameserver 208.67.222.222
    nameserver 208.67.220.220

    เพียงเท่านี้ ผมก็แก้ปัญหาเรื่อง dns ที่เจ๊งอยู่ของ True ไปได้ และทำให้เปิดเว็บต่างๆ ได้เป็นปกติ

    OpenDNS home

    อ้างอิง



      สำหรับผู้ที่อาจจะยังตั้งค่า dns ใน Grml Linux ไม่เป็น ผมขอแนะนำสามวิธีนะครับ

      1. วิธีตั้งค่าแบบชั่วคราว กล่าวคือ หลังการ reboot ค่าที่เราตั้งไว้จะหายไป ทำดังนี้:

      # resolvconf -a eth0
      nameserver 208.67.222.222
      nameserver 208.67.220.220

      แล้วกด control + d

      ในตัวอย่างของผม คอมพิวเตอร์ของผมต่อสายแลนอยู่โดย ลินุกซ์มองเห็น
      ethernet card อันนั้นเป็น eth0 ถ้าคุณมี ethernet card หลายอัน
      มันก็อาจจะเป็น eth1, eth2, eth3, ไปเรื่อยๆ ถ้าอยากรู้ว่ามี eth
      กี่อันในคอมพิวเตอร์ของคุณ ก็อาจจะ ใช้คำสั่งนี้:

      $ dmesg | grep eth

      2. วิธีตั้งค่าแบบถาวร วิธีที่หนึ่ง แก้ไฟล์ config ด้วยตัวเอง ดังนี้:

      # vi /etc/network/interfaces

      จากนั้นก็ edit file ให้มีลักษณะคล้ายตัวอย่างนี้:

      auto lo
      iface lo inet loopback

      auto eth0
      iface eth0 inet static
      address 192.168.0.100
      netmask 255.255.255.0
      network 192.168.0.0
      broadcast 192.168.0.255
      gateway 192.168.0.1
      dns-nameservers 208.67.222.222 208.67.220.220

      ที่สำคัญที่ต้องแก้คือ ตรง dns-namervers ซึ่งเป็นที่ๆ ใช้กำหนดว่า เราจะใช้ dns server อะไรนั่นเอง

      หลังจากนั้นต้อง restart networking service ดังนี้:

      /etc/init.d/networking restart

      3. วิธีตั้งค่าแบบถาวร วิธีที่สอง ใช้ tool ของ Grml ตั้งค่า ดังนี้:

      # grml-network

      มันจะมีฟอร์มต่างๆ ให้เราเลือก และ ตั้งค่าต่างๆ ใหม่ โดยตอนระบุ dns ให้ใส่ค่า:

      208.67.222.222 208.67.220.220

      ที่สำคัญคือต้องคั่นด้วย space นะครับ

      สวัสดีชาวโลก

      ผมเป็นคนหนึ่งที่ใช้ระบบปฏิบัติการลินุกซ์ในชีวิตประจำวันเป็นหลัก ไม่ว่าอยู่ที่บ้าน หรือ ที่ทำงาน แต่ก็มีการใช้งาน Windows และ MacOSX บ้างในบางครั้ง เนื่องด้วยเหตุผลบางประการดังนี้:

      ใช้ Windows เพราะ
      • เพื่อน ร่วมงานใช้โปรแกรม Microsoft Office ในการทำเอกสารต่างๆ ไม่ว่าจะเป็น Microsoft Words, Microsoft Excel หรือ Microsoft PowerPoint
      • ต้องใช้โปรแกรมชื่อ Toad for Oracle ซึ่งเป็น GUI Oracle Client ที่ดีตัวหนึ่ง ซึ่งผมยังหาตัวที่ใช้ทดแทนกันได้ในลินุกซ์ไม่พบ (ในลินุกซ์มีโปรแกรมที่ทำเลียนแบบมาชื่อ Tora ซึ่งติดตั้งลำบากเกินไปสำหรับผม และไม่รองรับ Oracle11g ณ ขณะเวลาที่เขียน blog นี้อยู่)
      • ต้องใช้ Microsoft Outlook ในเวลาที่ผมจำเป็นต้องจัดการ Exchange Rules ต่างๆ ซึ่ง Microsoft Exchange Server เท่าที่ผมค้นหาข้อมูลมา อนุญาติให้ผู้ใช้ทำการตั้งค่าต่างๆ ใน Exchange Server ได้ผ่านทาง Microsoft Outlook หรือ Microsoft Entourage (for MacOSX) เท่านั้น (น่าเศร้าจริงๆ)
      • ต้องใช้ Internet Explorer สำหรับทำการทดสอบเว็บไซต์ให้ลูกค้าที่ใช้ Internet Explorer
      ใช้ MacOSX เพราะ
      • จะได้ไปนั่งที่ร้านกาแฟ Starbucks ได้ไม่อายชาวบ้าน
      • คิดถึงคนใกล้ชิดที่ต้องมาใช้คอมพิวเตอร์ของผม MacOSX นั้นใช้งานง่าย ดูเว็บที่มี flash ได้เป็นปกติ และ รองรับ hardware ต่างๆ มากมาย ผมเลยคิดว่าคงต้องมีเอาไว้ให้คนใกล้ชิดได้ใช้บ้าง เนื่องจากว่าหากใช้ลินุกซ์ แล้วเกิดมีปัญหากับ flash หรือ hardware ต่างๆ จะโดนด่าได้ อีกทั้ง MacOSX นั้นเป็น ระบบแบบเดียวกับ unix เลยมีความสเถียร และปลอดภัย สูง ทำให้ผมไม่ต้องมานั่งลงระบบปฏิบัติการใหม่เป็นระยะๆ หรือ มานั่งปวดหัวกับ ไวรัส เหมือนสมัยที่ใช้ Windows
      ผมรู้จักลินุกซ์เป็นครั้งแรกเมื่อสมัยที่ NECTEC กำลังโปรโมท LinuxTLE (ลินุกซ์ทะเล) ซึ่งได้นำ Redhat Linux มาปรับแต่งให้ใช้งานภาษาไทยได้โดย default ซึ่งเป็นจังหวะเวลาที่ผมกำลังอ่านหนังสือเกี่ยวกับ unix อยู่ และต้องการหาระบบ unix มาทดสอบการใช้งานที่บ้าน ตอนนั้นความรู้เกี่ยวกับคอมพิวเตอร์ของผมน้อยมาก ผมไม่รู้เลยว่าเราสามารถดาวน์โหลด Linux ได้จาก Internet ผมจึงเดินทางไปพันธ์ทิพย์พลาซ๋าเพื่อซื้อแผ่น LinuxTLE

      เมื่อกลับมาถึงบ้าน ผมก็รีบทำการติดตั้งตามคู่มือที่อุตส่าห์ไปซื้อหนังสือมาอีกเล่ม (ราคาเป็นร้อย หรือสองร้อยบาท) แต่ปรากฎว่าผมเจอกับ _kernel panic_ ใน error message ที่เกิดขึ้นระหว่างการติดตั้ง ซึ่งทำให้ผมเศร้าโศกเสียใจเป็นอย่างยิ่ง เรียกว่า มืดแปดด้านเลยทีเดียว จากวันนั้นผมก็หยุดความพยายามที่จะใช้ลินุกซ์ไป... (ซึ่งสืบทราบต่อมาในภายหลังว่าไอ้แผ่นที่ผมซื้อมามันเสีย)

      ในระหว่างที่ยังไม่มีลินุกซ์ใช้นั้น ผมก็ได้แต่เรียนรู้ unix ผ่านทาง server ของมหาวิทยาลัยที่เรียนอยู่ซึ่งเป็น Sun Solaris ไปพลางๆ ยิ่งลองก็ยิ่งพบว่ามันช่างงดงาม มีเหตุมีผลเสียเหลือเกิน และเริ่มสงสัยกับการคงอยู่ของ Windows 98/ME/XP

      มาได้พบกับลินุกซ์อีกครั้งหนึ่งก็อีกประมาณสองปีหลังจากนั้นเนื่องจากได้มีโอกาสไปช่วยงานองค์กรแห่งหนึ่งซึ่งเขาใช้ลินุกซ์กันอยู่ เราจึงได้ผลพลอยได้เป็นแผ่น Mandrake Linux ที่ไม่เสีย มา และทำการ install ได้สำเร็จเป็นครั้งแรก (Mandrake กับ Redhat ก็ไม่ได้แตกต่างกันเท่าไหร่ ในความเห็นของผม) ซึ่ง window manager ในขณะนั้นก้อมี kde และ gnome ให้เลือกใช้แล้ว แต่อารมณ์ผมก็ยังไม่สู้ดีนัก เนื่องจาก RPM (Redhat Package Manager) ในขณะนั้น เป็นอะไรที่ผมไม่ชอบอย่างมาก จะติดตั้งโปรแกรมอะไรก็ยุ่งยากไปหมด เนื่องจากติดปัญหาเรื่อง package dependencies ต่างๆ ซึ่ง rpm ไม่สามารถแก้ไขปัญหาด้วยตัวเองได้ ทำให้เราต้องไปค้นหา rpm ที่มัน required มา install ตามลำดับ มันถึงจะพอใจ

      จากนั้นก็ได้ทราบว่าไอ้ distro ของ linux ทั้งหลายนั้นสามารถดาวน์โหลดได้ใน Internet ซึ่งทำให้ผมได้มีโอกาสลอง อีกหลายเจ้า เช่น Redhat, Mandrake, Debian, YellowDog (สำหรับ PowerPC), Ubuntu และ FreeBSD (ไม่ใช่ linux)

      ซึ่งหลายคนคงไม่แปลกใจหากผมจะบอกว่า distro ที่ดูจะเหมาะเหม็งที่สุดนะขณะนั้น (ประมาณสี่ถึงห้าปีที่แล้ว) ก็เห็นจะเป็น ubuntu linux ซึ่งลอกแบบมาจาก debian แต่มีการปรับแต่งให้ user friendly มากกว่า และมี package manager แบบ gui ทำให้ใช้งานสะดวกสำหรับผู้ใช้ที่นียม gui หรือ มือใหม่หัดขับ (ผู้นิยม gui ไม่จำเป็นต้องเป็นมือใหม่หัดขับ อย่างเช่น mr linus torvalds เองก็ชอบใช้ kde และมีความเชื่อส่วนตัวของเขาที่ว่า โปรแกรมที่ดีต้องสามารถปรับแต่งได้ด้วย gui) และแล้วผมก็กลายเป็นแฟนของ ubuntu linux อยู่เป็นเวลากว่าสองปีด้วยกัน

      to be continued



      Blogged with the Flock Browser

      Friday, April 29, 2011

      การแหกคุกทวิตเตอร์เวลาโดนขัง

      twitter เขามี limit ของเขาซึ่งหากเรา tweet ถี่เกินไปเราจะโดนระงับการ tweet เป็นเวลาหลายชั่วโมงด้วยกันซึ่งทำให้ผู้ใช้บริการ twitter หลายๆคนไม่พอใจเนื่องจากเขาเองก็มิใช่ spammer ส่วนคนที่เจอ tweet รัวๆของเขาก็พร้อมใจมา follow เขาเอง แล้วงี้ twitter จะถือกรรมสิทธิ์อะไรมาตัดสินว่าใคร tweet ถี่เกินไปต้องโดนขัง

      แต่บังเอิ้น บังเอิญ เรามี identi.ca ที่เรา link เข้ากับ twitter ทำให้ notice ที่เรา post ใน identi.ca จะถูกส่งไปเป็น tweet บน twitter แล้ววันนั้นที่เราโดนขังเราก็ไปนั่ง update notice ใน identi.ca แล้วจู่ๆเราก็สังเกตเห็นว่าข้อความที่เรา post ใน identi.ca ไปโผล่ใน twitter ทั้งๆที่เราโดนขังอยู่ เราเลยรีบกลับไปลอง tweet ดูปรากฎว่า tweet ได้เป็นปกติทันที... สงสัยจะเป็น bug ใน twitter... จุ๊ๆๆๆคนไทยทั้งหลายรู้แล้วก็อย่าไปบอกใครหละ ยิ่งพวกฝรั่งหัวทอง เดี๋ยวมันไปเล่าเป็นภาษาอังกฤษแล้วปวดหัว twitter จับได้ว่าเราแหกคุกจะซวยกันเป็นแถบๆ

      Thursday, April 14, 2011

      encrypted partition with macosx

      ง่ายมากเลย เพียงท่านเปิดโปรแกรม Disk Utility ขึ้นมาแล้วทำการสร้าง disk image ใหม่ขึ้นมา ในหน้าฟอร์มการสร้างนั้นจะมี option ให้เลือกว่าต้องการ encrypted disk image : ) เมื่อสร้างเสร็จเวลาต้องการใช้งานก็เพียง double click disk image นั้นขึ้นมามันจะ prompt ถาม passphrase เมื่อกรอกเสร็จก็จะเห็นเป็นอีก partition หนึ่งใน Finder

      อ้างอิง

      Tuesday, April 12, 2011

      ปัญหาที่ ๒ ของ samsung galaxy tab: ชนิดของ 3G

      3G มีความถี่ที่แตกต่างกันอยู่อย่างน้อย 2 ความถี่ต่ำ กับ ความถี่สูง เราเองก็ไม่รู้รายละเอียดว่าเป็นอย่างไร เรารู้แค่ว่าไอ่แบบความถี่ต่ำคือแบบที่ truemove ใช้ ส่วนแบบความถี่สูงคือแบบที่ tot ใช้ ปัญหามันเกิดเนื่องจาก samsung galaxy tab ดันมี 2 รุ่น รุ่นนึงเก่ากว่าใช้ได้แต่กับความถี่สูง ส่วนอีกรุ่นใหม่กว่าใช้ได้ทั้งแบบความถี่สูง และต่ำ เราดันใจร้อนซื้อโดยไม่ศึกษาข้อมูลให้ดีก่อนไปเอารุ่นที่ใช้ได้แต่กับ 3G ความถี่สูงมา เลยใช้ได้แต่ edge by truemove but not 3G ...​เสียใจ

      ปัญหาที่ ๓ ของ samsung galaxy tab: การสร้าง screen shot

      เรื่องมันมีอยู่ว่า samsung galaxy tab ป่าวประกาศว่าการสร้าง screenshot นั้นง่ายเหลือเกินไม่ต้องลงโปรแกรมอันใดก็สามารถทำได้เลย... ด้วยการกดปุ่ม power พร้อมๆกับปุ่ม back ขณะที่อยู่ในหน้าที่ต้องการทำ screenshot ดูเผินๆก็สะดวกดีแต่ทว่า...

      ไอ่การที่เขาเลือกใช้ปุ่ม back นี่หละที่มันก่อให้เกิดปัญหา เพราะปุ่ม back นั้นหน้าที่หลักของมันคือการกดออกจากโปรแกรมหรือการถอยหลังไปยัง screen ก่อนหน้าในหน้าจอ ทีนี้บางโปรแกรมเวลากด back ปุ้บมันจะรีบเปลี่ยนไปหน้าก่อนหน้าก่อนเลย แทนที่จะอยู่หน้าเดิม แม้เราจะพยายามกดกี่ที่เพื่อให้ปุ่ม power กับ back ถูกกดพร้อมๆกันมันก็จะกลับไปหน้าก่อนหน้าทำให้เราได้ screenshot แบบเพี้ยนๆ หรือไม่ก็ได้ของหน้าที่ถุกเปลี่ยนไป หรือไม่ก็ไม่ได้เลย ปัญหานี้จะเป็นกับบางหน้าของบางโปรแกรม เช่น facebook comment เป็นต้น สร้างความปวดเศียรเวียนเกล้าให้กับข้าพเจ้าเป็นอย่างยิ่ง

      เราเองก็ลองไปค้นๆหาโปรแกรมอื่นๆที่จะสร้าง screenshot ได้โดยการกดปุ่มอื่นแต่เขาบอกว่าต้อง root android ก่อนจึงจะลงได้ ขณะนี้ยังไม่มีเวลาลอง root ดูจึงยังต้องทนอยู่กับวิธีเดิมๆไปก่อน ฉะนั้น

      ปัญหาที่ ๑ ของ samsung galaxy tab: เวลา

      หลังจากที่ได้ซื้อ samsung galaxy tab 3G มาเราเองก็ได้เริ่มต้นใช้งานมันครั้งแรกโดยยังมิได้ใส่ sim card โทรศัพท์ลงไป แต่เพียงเล่นกับ wifi อย่างเดียว การณ์ปรากฎว่าเจอ bugs ดังนี้:

      1. google talk
      ในโปรแกรม google talk ข้อความ chat ไม่ sort ตามเวลาที่ข้อความถูกสร้างแต่กลับไปแบ่งเป็นสองกลุ่มครึ่งบนของนาย ก. ส่วนครึ่งล่างของนาย ข. ดังภาพ:


      จากภาพจะเห็นข้อความทั้งหมด ๕ ข้อความเรียงลำดับแบบแบ่งกลุ่ม แต่อันที่จริงแล้วลำดับของ chat message ของมันจะเป็นดังนี้:

      1. [me]: Test
      2. [friend]: ****
      3. [me]: Can we talk here instead?  Shittttt
      4. [friend]: **** yes
      5. [me:] Wait don't type
      2. timestamp ที่แสดงกำกับแต่ละ tweet แสดงผิดเพี้ยนหมดเลย
      ที่เราเองเจอจะเป็นว่ามันแสดงเป็น "1d" (1 day) หมดเลย ซึ่งแปลว่า ทุก tweet นั้นถูก tweet เมื่อเวลา 1 วันที่แล้วซึ่งไม่ช่ายเลย ผิดหมด โปรดดูภาพ:


      อันที่จริงแล้วค่าที่ถูกต้องของแต่ละ tweet แทนที่จะเป็น 1d หมดเลยมันต้องแสดงเป็น ตัวอย่างเช่น 1m (1 minute), 2m, 4m, 4m, 10m, 15m, 15m, 15m, 15m, .... 1d คือหมายความว่า อันนี้ tweet เมื่อ 1 นาทีที่แล้ว, 2 นาทีที่แล้ว, ไปเรื่อยๆ

      2 bugs ประหลาดนี้เป็นตลอดไม่ว่าผมจะลองกับ twitter client ตัวไหนบน android นี้ หรือจะปรับค่าเวลาระบบกลับไปกลับมาระหว่างแบบ automatic update time กับ manual ก็ไม่ช่วยอะไรเลย

      จนกระทั่งอีกวัน เราเองเอา sim card มือถือเสียบลงไปเพราะต้องเดินทางไกลอยู่บนรถจึงกะจะใช้ mobile internet เล่นแทน ตอนเสียบไปทีแรกนั้นนาฬิการะบบยังตั้งเป็นแบบ manual อยู่ 2 bugs นั้นก็ยังสำแดงเดชดังเดิม แล้วตอนหลังเราเองลองเปลี่ยนให้มันเป็นแบบ automatic update time ปุ้บ คราวนี้ bug 2 อันนั้นหายเกลี้ยง.... ซึ่งเราเองก็ไม่เข้าใจหรอกว่าทำไม แต่ก็ดีแล้วหละ...

      ลองอ่านนี่ดูเป็น bug report ของปัญหาเดียวกัน ดูราวกับว่าบางคนก็ฟลุคแก้ได้ บางคนก็แก้ไม่ได้ ดูมั่วๆทีเดียว:

      Saturday, April 9, 2011

      การ configure ระบบเบื้องต้นหลังจากติดตั้ง grml 2010.12 เสร็จใหม่ๆ

      หลังจากนำ notebook sony vaio vgn-cr13s ไปซ่อมระบบพลังงานมาก็ถึงเวลาได้ลง operating system ใหม่ ทั้งนี้เราเองได้ทำการ replace harddisk ลูกเดิมจาก 100GB กลายเป็น 500GB มาด้วย

      ด้วยเหตุผลบางประการเราเองจำเป็นต้องแบ่งเนื้อที่เผื่อไว้อาจจะลง Windows XP สัก 100GB บน primary partition แรก (ในกรณีของเราคือ /dev/sda1) และด้วยความอยากลองใช้ extended partition (แม้ว่าเราเองต้องการอีกแค่ 3 partitions สำหรับ linux อันได้แก่ /, /data และ swap ซึ่ง เพียงพอต่อการทำให้ทั้งหมดเป็น primary partition ก็ตาม ) เราเองจึงได้ทำการสร้าง extended partition บน /dev/sda2 และในนั้นเองเราก็สร้าง 3 logical partitions อันได้แก่:
      • /dev/sda5 สำหรับ root partition (/)
      • /dev/sda6 สำหรับ data partition (/data)
      • /dev/sda7 สำหรับ swap partition
      หลังจากแบ่ง partition เสร็จเราเองก็ทำการ install grml ด้วยการใช้คำสั่งแบบนี้:

      # grml2hd /dev/sda5

      เป็นอันเสร็จพิธี เมื่อ reboot เครื่องก็จะเข้ามายัง grml linux สดๆใหม่พร้อมให้เรา configure ค่าต่างๆตามต้องการ

      สิ่งที่เราเองต้องการทำมีดังนี้
      • ปรับความสว่างของจอภาพให้พอดี
      • setup wireless lan device เพราะสาย lan ที่บ้านหมด
      • กำจัด tab ด้านบนใน urxvt
      • สลับปุ่ม control กับ caps lock
      • set ปุ่มสำหรับ switch keyboard layout ไทย / อังกฤษ โดยใช้การกด shift 2 ข้างพร้อมกัน
      • enable swap space
      • ทำ partition ที่เข้ารหัส
      • ติดตั้ง VirtualBox และ WindowsXP บน Virtual Machine
      • ตั้งค่า pptp vpn client
      การปรับความสว่างของจอภาพให้พอดี


      ไม่รู้อย่างไรความสว่างของจอภาพมันต่ำไป (มืดไป) เราจึงลองตรวจค่าดูด้วย:

      cat /proc/acpi/video/EVGA/LCD/brightness

      ได้ output ดังนี้:

      levels: 4 16 28 40 52 64 76 88 100
      current: 52

      เราจึงทำการปรับค่าใหม่ดังนี้

      echo "64" > /proc/acpi/video/EVGA/LCD/brightness

      จอภาพก็สว่างขึ้นตามต้องการ


      การ setup wireless lan device เพราะสาย lan ที่บ้านหมด


      wireless ที่บ้านผมใช้ WPA2 ก็ config ง่ายๆเลยนำ settings ด้านล่างนี้ไปใส่ในไฟล์ /etc/network/interfaces:

      auto wlan0
      iface wlan0 inet dhcp
      wpa-ssid underworld
      wpa-psk ********** # here is your password


      จากนั้นก็ restart networking service:

      # /etc/init.d/networking restart


      การกำจัด tab ด้านบนใน urxvt


      เราเองก็ไม่เข้าใจว่าเหตุใด urxvt จึงต้องทำ feature tab ขึ้นมาให้มันเสียแรง เสียเพลาด้วย ก็ในเมื่อโลกทั้งโลกก็รู้อยู่แล้วว่ามี screen และก็ชัดเจนว่า screen มันเทพมาก ด้วยประการฉะนี้เราเองจึงจำเป็นต้องทำการ disable feature นี้ทิ้งไปเสียโดยการแก้ไขไฟล์ ~/.Xresources บรรทัดประมาณนี้:

      ! extensions:
      URxvt.perl-ext: default,matcher,tabbed
      URxvt.perl-ext-common: default,matcher,tabbed

      เราก็ลบไอ่ tabbed นั่นออกไปซะจากทั้งสองบรรทัด ลบคอมมาตัวสุดท้ายของแต่ละบรรทัดด้วยแหละ จากนั้นก็ restart x window เป็นอันเสร็จพิธี อ๊ะๆๆ ช้าก่อน หากท่านไม่ต้องการ restart x window ก็ทำได้ ท่านก็ใช้ xrdb สั่ง reload .Xresources ใหม่เองอะนะ ไม่บอกหรอกว่าทำอย่างไรไปหาเอง แบบนี้ก็ไม่จำเป็นต้อง restart x window ฉะนั้น

      - to be continued -

      .xxx top level domain

      top level domain (TLD) คือ string ที่อยู่หลังจุด (.) อันสุดท้าย เช่น .com, .net, .us. .th และอื่นๆอีกมากมายก่ายกอง ระยะหลังมานี้ท่านคงได้พบเห็น top level แปลกๆใหม่มากมายเช่น .cc, .me. .gl และอื่นๆ

      เราเองได้ยินเรื่อง top level domain ตัวใหม่ .xxx มาสักพักหนึ่งแล้ว ที่ ICANN บอกว่าจะเอามาให้ใช้สำหรับจดโดเมนของเว็บโป๊ โดยมีคนเสนอ TLD นี้มาตั้งแต่ปี ค.ศ. 2000 โดยประมาณการว่าค่าโดเมนภายใต้ .xxx นี้ราคาอาจตกอยู่ที่ usd 60 ต่อ ปีเลยทีเดียว (ประมาณ 2,000 บาท) ซึ่งถือว่าแพงมากๆ เนื่องจาก domain name ปกติราคาจะประมาณ 250 บาทถึง 400 บาทต่อปีเพียงเท่านั้น

      ตอนนี้พวกเรากำลังเฝ้ารอกันอย่างใจจดใจจ่อว่ามันจะอนุญาติให้ประชาชนตาดำๆอย่างเราๆท่านๆจดกันได้ตั้งแต่เมื่อไหร่ รู้แล้วบอกด้วย จักเป็นพระคุณอย่างสูง

      Apache "Options MultiViews"

      #เราเอง เกลียด option MultiViews ของ Apache

      พื้นฐานความคิดของ MultiViews น่าจะอ่านได้ที่นี่:

      http://httpd.apache.org/docs/current/content-negotiation.html

      Content Negotiation กล่าวสั้นๆคือเป็นกระบวนการของ Apache ที่จะช่วยเหลือ client ที่สร้าง request มาร้องขอข้อมูลโดยที่คำร้องที่ client ส่งมานั้นอาจจะไม่สมบูรณ์แต่ Apache ก็จะช่วยเดาให้และส่งข้อมูลออกไป ตัวอย่างเช่น client ร้องขอไฟล์ (หรือ directory) hello แต่ Apache ตรวจดูบน VirtualHost แล้วไม่พบไฟล์นี้ พบแต่ hello.php ดังนั้น Apache จึงส่ง output จาก hello.php ไปให้ client แทน

      ดูเผินๆก็คงเห็นว่ามันฉลาดดี หาไม่เจอก็เลือกเอาอันที่ใกล้เคียงตอบกลับไปให้... แต่ทว่า เราเองไม่ชอบส่ิงอันใดที่มันไม่ชัดเจน คาดเดาลำบาก ดู url เสร็จต้องมาเดาชื่อไฟล์ต่อ แล้วถ้ามันมี hello.php, hello.pl, hello.cgi, hello.jpg อยู่ใน directory เดียวกันหละ จะเอาอย่างไร

      โดยปกติเราจึงมักที่จะ disable option MultiViews นี้ไปเสีย

      stdin: is not a tty

      ผมทิ้งโน้ทเรื่องเกี่ยวกับ error message อันนี้ไว้นานเกินไปจนจำไม่ค่อยได้แล้วว่าเหตุการณ์มันเป็นอย่างไร แต่คร่าวๆน่าจะเป็นว่า เวลาผมใช้คำสั่ง scp หรือ rsync แล้วเจอ error message ว่า:

      stdin: is not a tty

      ให้ลองไปดู file /etc/bashrc บน server แล้ว comment บรรทัดที่เขียนว่า mesg y ซะ ปัญหาจักหมดไป ฉะนั้น

      Thursday, April 7, 2011

      ลบ tweets เก่าของคุณ ด้วย TwitWipe!!!


      การทิ้งข้อความ tweet ทุกอันของเราไว้บน server ของ twitter อาจไม่ใช่เรื่องที่ฉลาดนักสำหรับบางคน ถึงแม้ว่าการย้อนกลับไปดู tweet อันเก่าๆจะทำได้ยากขึ้นเพราะ twitter (และ facebook ก็ด้วย) จู่ๆก็เลิกใช้ระบบการแบ่งหน้าแบบ pagination แต่กลับทำเป็นปุ่ม view more ที่พอกดแล้ว ajax / javascript จะทำการโหลดข้อมูลเก่ามาเพิ่มที่ส่วนท้ายของหน้าเว็บเพจที่เรากำลังดูอยู่ไปเรื่อยๆ ซึ่งเมื่อมากถึงจุดหนึ่ง ram ของท่านก็อาจจะหมดและทำให้ท่านไม่สามารถดูย้อนหลังอีกต่อไปได้ ฉะนั้น

      อย่างไรก็ตาม หากมีผู้ที่มีความอยากสู่รู้สู่เห็นในเรื่องของเราอย่างหาที่สุดมิได้ เขาก็อาจจะไปซื้อแรมมาให้มันมากพอสำหรับการย้อนอ่าน tweet ทั้งหมดของเราก็ได้ หรือหากเขามีความรู้ในการเขียนโปรแกรมสักเล็กน้อย เขาก็อาจจะเขียน script ที่ไปเรียกใช้ twitter api เพื่อทำการดาวน์โหลด tweet ย้อนหลังทั้งหมดของเราไปนอนอ่านเล่นก็เป็นไปได้อีก

      เมื่อนึกได้ดังนี้ก็ลองไปค้นๆดูใน google ก็พบ TwitWipe ที่หน้าเว็บดูมีชาติตระกูลพอใช้ได้ ลองเข้าไปดู:

      http://twitwipe.com

      ...​แต่ไม่กล้าใช้ ヾ(* ̄д ̄)ツ !!!

      ก็ดูมันบอกว่าโห ลบทีเดียวหมดเบยแบบนี้ ใครมันจะกล้าใช้เล่า อย่างน้อยก็ควรกำหนดช่วงเพลาที่ต้องการจะลบได้จริงไหม...

      Tuesday, March 29, 2011

      wish list ของ porn star


      ผม follow porn star คนนึงอยู่ชื่อ Kritina Rose (@kristinarosexxx : http://twitter.com/kristinarosexxx) บน bio ของเธอมี link ไปยัง wish list ของเธอบน amazon:

      http://www.amazon.com/Kristina-Rose/wishlist/3BY1BMX3ZNNZA/ref=cm_wl_search_bin_1?tag=533633855-20

      ในนั้นจะมีรายการสิ่งของที่เธออยากได้และมีขายบน amazon อ่านรายละเอียดที่เธอเขียนแล้วเดาได้ว่า หากใครซื้อสิ่งของใดๆใน wish list ให้เธอแล้วเธอจะส่งสิ่งตอบแทนให้กลับทาง mail เช่นกัน เดาว่าคงเป็นพวก กางเกงในใช้แล้วไม่ซักของเธอ หรืออะไรประมาณนั้น ไอเดียฟังดูขำดี

      Thursday, March 24, 2011

      How to install a virtual machine in VirtualBox headlessly

      Sure I know there are plenty of documentations and how-to's about this.  But this is my blog and this is where I log what I want for myself : )

      Starting by installing an extension pack for VRDP support:

      To create a virtual machine, follow these steps:
      • Register a VM: VBoxManage createvm --name "miyabi" --ostype Windows2003 --register
      • Setting RAM, boot device: VBoxManage modifyvm "miyabi" --memory 1024 --acpi on --boot1 dvd
      • Settings bridged mode networking: VBoxManage modifyvm "miyabi" --nic1 bridged --bridgeadapter1 eth0
      • Create a virtual harddisk (in this case 60GB in size):  VBoxManage createhd --filename "miyabi.vdi" --size 60000
      • Add an IDE Controller to the new VM: VBoxManage storagectl "miyabi" --name "IDE Controller" --add ide --controller PIIX4
      • Set the VDI file created above as the first virtual hard disk of the new VM: VBoxManage storageattach "miyabi" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "miyabi.vdi"
      • Attach the ISO file that contains the operating system installation that you want to install later to the virtual machine, so the machine can boot from it (use --medium emptydrive to detach the iso): VBoxManage storageattach "miyabi" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /full/path/to/win2003.iso
      VRDE set up
      • vboxmanage modifyvm miyabi --vrde on
      • vboxmanage modifyvm miyabi --vrdeport 7001 
      • vboxmanage modifyvm miyabi --vrdeauthtype external
      • VBoxManage setproperty vrdeauthlibrary "VBoxAuthSimple"
      • VBoxManage internalcommands passwordhash "your_password"
      • VBoxManage setextradata miyabi "VBoxAuthSimple/users/debian" 404f753f57f...

      Others

      •  
      • As root, run:  /etc/init.d/vboxdrv setup
      • If you find error, you may want to try this: insmod /lib/modules/2.6.33-grml/updates/dkms/vboxnetflt.ko
      • I put the command above to my /etc/rc.local .
      Useful commands:
      • To start a vm: VBoxHeadless --startvm
      • To get a list of valid ostypes: VBoxManage list ostypes
      References:

      Wednesday, March 23, 2011

      firefox 4 with macosx 10.5 (leopard)

      I run macosx 10.5 (leopard).  Today, I decided to replace my Firefox 3.x with Firefox 4.0.  Then I tried to call Firefox Profile but failed:

      % /Applications/Firefox.app/Contents/MacOS/firefox-bin -P -no-remote
      dyld: unknown required load command 0x80000022
      Trace/BPT trap

      Zzz... I just CAN'T LIVE WITHOUT FIREFOX PROFILE!!!

      OK, thanks to asqueella.blogspot.com!  I have no idea what he is talking about but the solution is to:

      % arch -i386 /Applications/Firefox.app/Contents/MacOS/firefox-bin -P -no-remote

      Reference

      using apt-get through proxy

      # export http_proxy=http://username:password@server:port
      # export https_proxy=http://username:password@server:port

      Export them before using apt-get command :  )

      Wednesday, March 16, 2011

      how to disable facebook's new photo viewer (aka theatre)

      you can install greasemonkey firefox addon and then install this userscript: http://userscripts.org/scripts/show/96773

      then you won't see the new photo viewer na

      Friday, February 25, 2011

      how to access vmware virtual infrastructure web access

      After I had installed vmware server 2 on an ubuntu linux server running remotely, I followed the instruction to access the vmware console from a web browser by going to this url from the Internet, remotely:

      http://the-remote-server.nerd:8222

      The page then redirected me to another https url on port 8333.  Then, I always got requested timeout.  It also seemed like it was reloading the page forever.  I really had no idea what was going on.  I did a 4 hours research on google.  I found many people experienced the same issue.  But, unfortunately, there was no single resolution.  (Some said that I needed to use another linux distro instead of ubuntu.)

      For some unknown reason, I had come up with an idea to try to access that url locally.  *locally* with a server which is located far far away from me? ... With the great ssh client from OpenSSH suite, we can easily create a SOCKS proxy server and configure Firefox which can act as a SOCKS client so that it will use this SOCKS proxy server as a connection.  This is a sample command I use to create it:

      % ssh -D localhost:5555 unsigned_nerd@the-remote-server.nerd

      Then in Firefox, I configure it to use connection from SOCKS host: localhost port: 5555.  After that any websites I browse in Firefox are proxied through the-remote-server.nerd.  Therefore, when I browse http://localhost:8222, I can get to the vmware virtual infrastructure web access.  It's a big surprise that ... everything works smoothly without a problem.

      I guess there are some bugs in it.  But the problem is gone if we browse the control panel locally for some unknown reason.

      Good luck!

      --
      unsigned_nerd

      Thursday, February 10, 2011

      how to add pub key to gpg and add it into apt keyring

      # gpg --keyserver subkeys.pgp.net --recv-keys <KEY_ID>
      # gpg -a --export <KEY_ID> | apt-key add -

      Wednesday, February 9, 2011

      how to force install perl module from cpan

      perl -MCPAN -e "CPAN::Shell->force(qw(install IO::Socket::SSL));"