Neutron's Blog : OpenSource - Open my mind.

Saturday, February 24, 2007

SWAP กระทำการ "ทุรยศ!"

ความเดิม...

หลังจากเมื่อคราวที่แล้ว "ความเดิม" ที่ได้ Build iceweasel-libthai ตัวล่าสุดที่ได้รับมาจาก พี่เทพ และก็ส่งขึ้นไปที่ LTN APT เรียบร้อยแล้วนั้น ก็หามีปัญหาใด ๆ ไม่ นอกเสียจากว่า การสังเกตของข้าพเจ้า ได้พบว่า package ก่อนหน้าที่ได้ทำไว้แล้วนั้น มีบาง package ที่มิสมประดี โดยความนี้หารือกับพี่เทพแล้ว ได้สรุปเป็นลายลักษณ์อักษร ผ่านมาทางจดหมายอิเล็กทรอนิกส์ หรือ อีเมล ความว่า หากไม่ทำการ Build(Compile) package ก่อนหน้านี้ ก็มิเสียหายอะไร เนื่องจาก package ดังกล่าว ถ้าว่าไปแล้ว ก็เหมือนว่า จักมิได้ใช้งานเป็นแน่แท้ แต่ถ้าหากจัก Build ใหม่ เพื่อเป็นการฝึกฝีมือ พี่เทพก็มิขัดข้องหมองใจใด ๆ ได้ฟังความดังนั้น ข้าพเจ้า ก็จักมิรอช้า เร่งสั่งให้ Compaq Presario V1115AP ทำการ Build package ดังกล่าวโดยพลัน.....

เกิดปัญหา....

ปัญหาที่ข้าพเจ้าประสบอยู่นั้น คือ Build ไปรอบ สองรอบแล้ว ก็มิมีวี่แววว่าจะสำเร็จ ตรวจสอบ Build log แล้ว ก็ได้ขอสรุปว่า มีปัญหาตอนที่ จะทำการ link กับ library ต่าง ๆ (ld) ซึ่งก่อนหน้านี้ปัญหานี้ไม่เคยปรากฏ เป็นเหตุให้จักต้องลองครั้งที่สาม โดยตรวจสอบสภาพแวดล้อมในการ Build พร้อมไปด้วย

  • % CPU: ก็เห็นควรสรุปว่า ปกติดี มีบางครั้งบางคราที่ ต้องทำงานหนักจนล่วงไปถึง 100%
  • RAM: ก็เห็นว่า น่าจะมิมีปัญหาใด ๆ ก็มี อยู่ 512MB ร่วมรับใช้กันมาก็หลายปีดีดัก
  • HDD Space: ก็มีถึง 20GB ที่ว่าง ๆ มิได้ใช้เพื่อการใด
  • SWAP: ก็เห็นจะเหลือเจ้านี่เป็นตัวสุดท้ายแล้ว ที่น่าสงสัย และก็เป็นเยี่ยงนั้นจริง ๆ ด้วย .... 248MB ปรากฏต่อหน้าข้าพเจ้า มิน่าเป็นไปได้ มันขัดต่อหลักการตั้งค่า SWAP ที่จักต้องเกินกว่าขนาดของ RAM สักประมาณสองเท่าได้ ส่วนมูลเหตุให้เกิดเหตุการณ์นี้นั้นมิทราบแน่ชัด ว่าเกิดได้อย่างไร อาจเป็นเพราะความประมาทเลินเล่อของตัวข้าพเจ้าเองก็จักเป็นได้ ส่วนการณ์นี้เห็นจะมิดีแน่หากมิเร่งกระทำการใด ๆ จะก่อให้เกิดความฉิบหายกับการใหญ่ของข้าพเจ้าในภายภาคหน้าเป็นแน่แท้ .... งั้นจงเร่งมืออย่ารอช้า

เพิ่ม SWAP.....

  1. 1024MB swap file (1024 * 1024MB = 1048576 block size):
  2. # dd if=/dev/zero of=/home/swapfile bs=1024 count=1048576
  3. สร้างไฟล์ SWAP เพื่อเตรียมไว้ใช้งาน
  4. # mkswap /home/swapfile
  5. เปิดใช้งาน /home/swapfile
  6. # swapon /home/swapfile
  7. ตั้งค่าให้ SWAP เริ่มทำงานตั้งแต่เปิดเครื่อง
  8. /etc/fstab
    เพิ่มบรรทัดนี้เข้าไป
    /home/swapfile none swap sw 0 0
  9. การตรวจสอบว่า SWAP ใหม่เริ่มใช้งานหรือยัง
  10. $ free -m

คราวนี้ ก็รอดพ้นจากการอันทุรยศของ SWAP ไปได้แล้ว ในภายภาคหน้า จักพร้อมรับมือต่อการใหญ่ในการ Build Package สืบต่อไป .... :P

ปล. ขำขำครับ ..... ไม่รู้ภาษาจักวิบัติเพราะข้าพเจ้าในครานี้หรือไม่ หึหึ :D

Friday, February 23, 2007

IceWeasel+Libthai patch มาเร็วจัง!

เพิ่ง Build 3thai2_i386 เสร็จได้ยังไม่ถึงวัน 4thai1_i386 มาให้ Build ต่อแล้วครับผม!

พี่เทพแจ้งให้ทราบว่า เนื่องจากทาง Developer หลัก ได้ตรวจพบ Bug ที่จำเป็นต้องแก้ไขเร่งด่วน เลยต้องออก patch: iceweasel_2.0.0.1+dfsg-4 ออกมาติด ๆ หลังจากรุ่นก่อนหน้าออกมาได้ยังไม่ถึงหนึ่งวันดีด้วยซ้ำ และพี่เทพส่งข่าวต่ออีกว่า มีผู้ร่วมชะตากรรม คือ พี่ MrChoke เพิ่ง Build 3thai2 (เอะ...หรือว่า 4thai1 ผมก็เบลอ ๆ อยู่ด้วย) ให้ Linux TLE เสร็จหมาด ๆ เหมือนกันครับ อยากบอกว่า ... คราวนี้เพิ่งมานั่งดูตลอดการ Build --> CPU 100% ตลอดเลยครับผม (Centrino 1.5 GHz Ram 512 :P แฮ่ ๆ อยากเพิ่ม แต่ไม่มีตังค์ครับผม)


และก็เช่นเคยครับ ... โยนไฟล์ไว้ให้พี่เทพเข้ามาตรวจ ftp://neutron.debianclub.com/debian-neutron/iceweasel/


ปล. หากต้องการทดสอบ สามารถเพิ่มลงไปใน /etc/apt/sources.list

 deb ftp://neutron.debianclub.com/debian-neutron/ ./ 
เป็น Packages สำหรับ Debian ที่ Build โดยผมเอง ก่อนหน้านี้โยน ๆ ไว้ ตอนนี้เลยลองสร้าง Index ดู ทดสอบแล้ว ติดตั้งได้ครับผม :)

Wednesday, February 21, 2007

ช่วยพี่เทพ Build IceWeasel+Libthai Package!

IceWeasel+Libthai (ตัดคำ)

หลังจากที่พี่เทพ ทดสอบว่า Package IceWeasel+Libthai สามารถ Build ผ่านใน Arch: amd64 แล้ว ก็เหมือนเคยครับ อยากช่วย.... ก็เลยอาสา Build Arch: i386 ให้ ก็ใช้เวลาพอสมควรกับการงมว่า ทำไม Build ไม่ผ่านซักที ทั้ง ๆ ที่พี่เทพบอกว่า Build ได้สำเร็จแล้วใน amd64

ไม่ได้ลง libdatrie0-dev

libdatrie0-dev (Double-Array Trie Implementation Library) ที่ใช้ร่วมกับ libthai เพื่อใช้ในการตัดคำใน IceWeasel และเป็นจุดประสงค์ของการ Build Package ในครั้งนี้

ในที่สุดก็ผ่านจนได้.....

หลังจากที่ลง libdatrie0-dev และลอง Build IceWeasel ใหม่ ก็สำเร็จจนได้

ดึกพอสมควรแล้ว.... โยนไฟล์ไปเก็บไว้ ให้พี่เทพมาตรวจพรุ่งนี้ ftp://neutron.debianclub.com/debian-neutron/iceweasel/ ถ้าใช้งานได้ ก็จะได้เข้าไปอยู่ที่ http://linux.thai.net/apt ต่อไป

Sunday, February 18, 2007

Why do I love Debian?

รัก....เพราะเต็มใจที่จะรัก

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

จริง ๆ Debian ก็เกิดมาหลายปีดีดักแล้ว ส่วนเราก็ใช้ Linux มาก็หลายปีเช่นกัน ยังนึกสงสารตัวเองเลยว่า "เราน่าจะได้ใช้ Debian ให้เร็วกว่านี้ จะได้ตั้งใจ และเร่งฝีมือตัวเองให้เพิ่มขึ้น และช่วยเขาพัฒนาบ้าง เล็ก ๆ น้อย ๆ ก็ยังดี"


และเมื่อได้ฟังคำนี้ก็รู้สึกไม่สบายใจ "Debian vs Ubuntu?" ในเมื่อเราได้ชื่อว่า เป็นวงศาคณาญาติ กันแล้ว เหตุใดเล่าเราต้องมาทะเลาะเบาะแว้งกัน ในการที่จะบอกว่า "ใครดี ใครเด่น กว่ากัน" ในเมื่อ Debian และ Ubuntu มีแนวทางพัฒนาที่คล้ายคลึงกัน นักพัฒนาที่ทำงานหนัก ส่วนหนึ่งก็มาจากส่วนเดียวกัน พัฒนาแบบพึ่งพาอาศัยกัน ประโยชน์ก็ตกที่ผู้ใช้เต็ม ๆ


Debian พัฒนา และยึดหลักการที่ให้ไว้ต่อประชาคมอย่างเคร่งครัด จนหลายคนมองว่า นักพัฒนา Debian เป็นพวกอนุรักษ์นิยม โดยส่วนตัวผมแล้ว หลักการที่ให้ไว้ต่อประชาคมนี่ไม่ใช่เหรอที่ทำให้ Debain เป็น Debian อยู่ได้ถึงทุกวันนี้ กฏเหล็กต่าง ๆ ที่เราเห็น เราได้ยิน และบางคนได้สัมผัส นี่แหละทำให้ Debian เป็นหนึ่งใน distro คุณภาพที่หลาย ๆ คนยอมรับ


ไม่อยากให้ทัศนคติเรื่องการแข่งขันระหว่าง Debian กับ Ubuntu เกิดขึ้น นั่นเพราะคิดว่าเราอาจจะทำลายบ้านตัวเอง ด้วยมือตัวเองนั่นเอง หลายครั้งหลายคราที่มีคนถามผมว่า "จะเริ่มต้นใช้ Linux ควรใช้ distro ไหนดี" คำตอบที่ผมให้ไป ดันไม่ใช่ "Debian" แต่เป็น "Ubuntu" ด้วยเหตุผลที่เราเข้าใจ ธรรมชาติของคนถาม ว่า "ตัวไหนที่มันจะง่ายสำหรับเขา" แต่หากถามผมว่า "Linux ตัวไหนเจ๋ง" อันนี้ก็แน่นอน ผมต้องตอบว่า ผมใช้ "Debian" นั่นก็ด้วยเหตุผลส่วนตัว ที่กล่าวไว้แล้วข้างต้น



ถามครั้งสุดท้าย ทำไมยังใช้ Debian ไม่เปลี่ยนไปใช้ Ubuntu เหมือนคนอื่น ๆ เค้า


คำตอบก็คือ

"ก็ผมชอบ....ครับ" :)

ปล. "ไม่มีใครเข้าใจเรา ได้ดีเท่าเราเข้าใจตัวเอง"

Thursday, February 15, 2007

FreeDNS ที่ ฟรีจริง ๆ !

EveryDNS.net ... The final destination!

หลังจากใช้เวลาเกือบค่อนวัน เพื่อค้นหา DNS Server ที่ให้เราเข้าไปใช้ฟรี และเท่าที่ค้น ๆ มาก็เจออยู่สองตัวที่น่าสนใจ คือ www.zoneedit.com และก็ www.everydns.net โดยจุดประสงค์หลักในครั้งนี้คือต้องการ ทำ DynamicDNS สำหรับ Domain ที่เราจดทะเบียนเอง อย่างเช่น foo.com, foo.org เพื่อให้เครื่องเซิร์ฟเวอร์ที่ต่ออยู่กับ ADSL เป็นอินเตอร์เน็ตเซิร์ฟเวอร์ (Web, Mail, FTP, SSH) เลยเอาสองตัวนี้มานั่งเปรียบเทียบกันดู

ZoneEdit (Free account)

  • จำกัด Request Data แค่ 200MB/เดือน
  • จำกัด Domain ที่ดูแลได้ไม่เกิน 5 โดเมน
  • Update domain ผ่านทาง HTTP protocol
  • เคยใช้มาก่อนหน้านี้บ้างแล้ว

EveryDNS

  • ไม่จำกัด Request Data
  • โดเมนที่ดูแลสูงสุด 20 โดเมน (200 เรคอร์ด)
  • Update domain ผ่านทาง HTTP protocol
  • ยังไม่เคยใช้บริการมาก่อนหน้านี้
จากข้อมูลข้างต้น เลยตัดสินในเลือก everydns.net เพื่อทำการทดสอบในครั้งนี้ และถ้าผลเป็นที่น่าพอใจ ก็คงใช้ต่อไปเรื่อย ๆ ในขณะที่ยังไม่มี Server เป็นของตัวเอง (ไม่มี $$$ ครับผม :P) ส่วนรายละเอียด น่าจะได้แปะไว้ที่ Debian Club แต่ต้องรอให้ว่างก่อน เพราะพรุ่งนี้จะสอบอีกแล้วครับท่าน :P ก่อนสอบทีไร ต้องอ่านหนังสือเผาหัวทุกที :)

ปล. อยากทำสหกรณ์ OpenSource Solutions (รวบรวมยอดฝีมือใกล้ตัว ที่มีแนวความคิดแบบเดียวกัน รับเป็น Job เป็น Project ก็ว่ากันไป) เปิดแบบ SME เล็ก ๆ เผื่อมีรายได้จุนเจอครอบครัวบ้าง T-T ก็เลยคิดจะทำเว็ปก่อนละกัน แต่ด้วยไม่มีเงินไปเช่า Hosting และก็ใช้ ADSL อยู่เป็นประจำอยู่แล้ว ก็เลยต้องลองดู

Monday, February 12, 2007

เข้าร่วมแข่งขัน NLC#7.....

เข้าร่วมแข่งขัน NLC#7.....

การเข้าร่วมงานครั้งนี้ ก็อย่างเคยคือ ตื่นเต้น ไม่แพ้ครั้งที่ผ่าน ๆ มา ยิ่งเริ่มลง Debian (sarge) เข้าไปในเครื่องที่ใช้ทำการแข่งขัน แล้ว "Kernel Panic!" นี่ หัวใจหล่นไปอยู่ที่ตาตุ่มเลยหละครับ ดีแต่ยังลงไปใหม่ ใช้ Kernel 2.6 แทน 2.4 ได้ไม่มีปัญหา เลยรอดตายอย่างหวุดหวิด แต่ก็เหลือเวลาให้ติดตั้งตามโจทย์ไม่มากเท่าไร ผ่านช่วงเช้าเวลาหมดลง คิดว่าทำทันตามที่โจทย์กำหนด แต่ไม่ได้ตรวจสอบเลย (สงสัยมีหลุดแหงม ๆ :P)

ช่วงบ่าย.....: ได้อ่านโจทย์ก็นึกอยู่ว่าจะทำยังไงกับการ เพิ่ม user เข้าไปในระบบพร้อม password ทีละหลายชื่อพร้อมกัน แฮะ ๆ คิดไม่ออก ข้ามไปทำข้ออื่นก่อนละกัน ผ่านไปจนเกือบหมด ก็เลยมาติดที่ รับ-ส่ง เมล์ กับเพิ่ม user เวลาก็ค่อย ๆ หมด สุดท้ายก็ไม่ได้เพิ่ม user (แฮะ ... มั่วไปหลายอย่าง ไม่ได้ซักอย่างแฮะ :P) ส่วนรับ-ส่งเมล์ ก็ส่งไปข้างนอก Domain ตัวเองไม่ได้ สรุป ... ปีนี้ก็ตายที่เมล์เซิร์ฟเวอร์เหมือนเดิม ฮึฮึ

จะเดินทางกลับที่พัก.....

เรื่องเดิม ๆ คือ หลงทางในกรุงเทพฯ อีกแล้วครับท่าน หลังแข่งเสร็จออกมานั่งทำหน้าละห้อยหน้า แฟร์ชันไอร์แลนด์ มีรถ แต่ไม่รู้จะไปทางไหนดี เพื่อนที่นำทางมาตอนเช้า ก็ติดเรียน สี่ทุ่มถึงจะเลิก ดูเวลาแล้วก็แค่ 2 ทุ่มกว่า ๆ โทรถามทางกับเพื่อนแล้ว ก็ไล่ทิศไม่ถูก ไปไม่ได้อยู่ดี พอดีเจอพี่ "ต้อม" ที่มาร่วมงานแข่งขันด้วยกัน ได้คุยกับพี่เขาเมื่อตอนเที่ยง ๆ และก่อนออกมาก็แยกกันได้แป๊บเดียว เห็นพี่เขาต้องไปทำธุระเลยไม่กล้าชวนให้พี่เขาช่วยนำทางให้ แต่จนแล้วจนรอด พี่ต้อมเดินออกมาหน้าห้าง เห็นหน้าตาสิ้นหวังของน้องชายตาดำ ๆ คนนี้ เลยยื่นมือเข้าช่วยเหลือ นำทางให้ไปจนถึง ม.เกษตรศาสตร์ นัดกับเพื่อนไว้ที่นั่น ขอบคุณพี่ต้อมมาก ๆ ครับ

เจอเพื่อนแล้ว.....

หลังจากรอซักชั่วโมงกว่า ๆ เพื่อนก็มาถึง บอกกับเพื่อนซะดิบดีว่าได้ที่จอดใน ม.เกษตร แต่เวลา ณ ขณะนั้นคือ สี่ทุ่มเศษ ประตู ม. ปิดเกือบทุกประตูแล้ว อ้าว....ซวยหละตู จอดรถไว้ข้างใน แต่ดีที่ลุงยามช่วยเปิดประตูให้ แต่ก็หลงวนไปวนมาใน ม. หลายรอบ กว่าจะออกมาได้ และที่หมายยังไม่ชัดเจน เพราะคิดว่าวันรุ่งขึ้นจะเดินทางไป ระยอง เพื่อนเลยพยายาม หาที่พักที่ใกล้ทางที่สุด (มันกลัวเราหลง) สุดท้ายได้ที่พัก เป็นบ้านญาติของเพื่อนอยู่ที่ สน.ปทุมวัน รู้แต่ว่าอยู่แถว ๆ ม.จุฬาฯ หิวเหมือนกันตอนนั้น ดูเวลาก็เกือบ ๆ ตีหนึ่งแล้ว ได้ก๋วยเตี๋ยวปลาแถวนั้นประทังชีวิต กลับห้อง หลับเป็นตาย ตื่นมาอีกทีก็เช้าแล้ว

มุ่งหน้าไประยอง.....ไหง?

เพื่อนออกมาส่งอย่างดี จนถึงทางขึ้นทางด่วน "ดินแดง" บอกว่าดูป้าย "บางนา" เราก็ทำตาม เพื่อนบอกว่าไปไม่ไกลก็ถึงบางนาแล้ว แต่ขับไปขับมา ไม่เห็นมีป้ายบางนาหว่า เลยไปออกนู่น วิภาวดีรังสิต ถึงจะไม่ค่อยรู้ทางเท่าไหร่ แต่ก็รู้ว่ามันคนละฟากเมืองแล้วนะนี่ เลยติดสินใจขึ้นทางด่วนกลับอีกที แล้วก็โทรถาม "พ่อ - อ.สุทิน" และพ่อเราก็พึ่งได้เสมอ กางแผนที่และก็บอกว่าให้ออก พระราม 9 แล้วก็ดิ่งตรงไป Motor Way เลย และตอนเกือบเที่ยง ก็มาถึงระยองโดยสวัสดิภาพ รอดตายแล้วเรา :P แต่ว่า นั่งนับบิลทางด่วนได้ตั้ง 6-7 แผ่น จ่ายค่าทางด่วนไปมากเหมือนกันแฮะเรา :P แต่ไม่เป็นไร ดีกว่าหลงทางในกรุงเทพฯ ฮึฮึ

Thursday, February 01, 2007

ใกล้ถึงวันแล้ว..... NLC#7

ยังไม่ได้เตรียมตัวเข้าร่วมแข่งขัน NLC#7 เลย....

ปีนี้ก็เป็นอีกปี ที่ฟลุ๊กผ่านเข้ารอบ NLC#7 เพราะข้อสอบที่สอบตอนข้อเขียนนี่ มหาหิน คนออกข้อสอบนี่...ไม่เห็นใจ "นักศึกษาตาดำ ๆ" บ้างเลย แต่ว่าไปแล้วนี่ก็แค่จุดเริ่มต้น (จริงปะครับ...กรรมการ) และถ้าเดาไม่ผิด ข้อสอบก็คงออกก่อนวันสอบซัก 1-2 ชั่วโมงเหมือนเดิม กันข้อสอบรั่ว(หรือเปล่า) :P
แต่ยังไงก็ตื่นเต้นทุกครั้งที่ได้เข้าไปร่วมงาน ปีนี้มีหลายคน ที่ชื่อไม่คุ้น ส่วนที่คุ้น ๆ ก็รู้ ๆ กันว่า "เป็นคนพันธุ์เดียวกัน" แต่ก็ดีใจ ที่จะได้ต้อนรับน้องใหม่ เอะ... เรียกน้องใหม่ไม่รู้จะถูกหรือเปล่า ลืมเช็คอายุเหมือนกัน บางคนเป็นรุ่นพี่ บางคนก็รุ่นน้อง เป็นโอกาสที่ดีที่จะได้แลกเปลี่ยนความรู้กัน ทำไงได้ คนเราน้อย ไม่เหมือนฝั่ง พี่ MS เขา คนเขาเยอะ ฝั่งเรานาน ๆ จะมีคนเพิ่มซักที ขอให้โครงการนี้อยู่ไปนาน ๆ นะครับ และขอย้ำเหมือนทุก ๆ ปีว่า "เราแข่งขันเพื่อแลกประสบการณ์ เพื่อการแบ่งปันความรู้กัน ตามแนวทางซอฟต์แวร์แบบเปิด ส่วนเงินรางวัล และของรางวัล เป็นผลพลอยได้อิอิ :) ได้ก็ดี ไม่ได้ก็ไม่เป็นไร ยังไงก็ได้ค่ารถกลับบ้านทุกปี :P

:::ขอบคุณ NECTEC ที่ไม่ทอดทิ้งเรา"

ปล: ปีนี้ตั้งใจจะไม่ ... เมา ... ก่อนเข้าสอบแล้วครับ ท่านกรรมการ ... :P (เพื่อน ๆ จบหมดแล้ว คราวไปแข่งธรรมศาสตร์ รังสิต เพื่อนเยอะไปหน่อย อิอิ :P)