สัปดาห์ที่แล้วพี่บอกว่าโปรแกรมที่เขียนไปมีบั๊ก ให้หาให้หน่อยว่าเกิดจากอะไร การทำงานของมันก็ง่ายคือ โปรแกรมแรกรับคำสั่งจากผู้ใช้มาดูว่าจะเรียก โปรแกรมอื่นอย่างไร จากนั้นก็เลือกโปรแกรมมาทำงาน ถ้าใช้งานตามปกติสั่งคำสั่งเสร็จแล้วกดออก มันก็ไม่มีอะไรผิดปกติ แต่อาการผิดปกติจะเกิดขึ้น เมื่อสั่งเสร็จแล้วกดปิด terminal ทิ้งทันที ดูตอนแรกก็คิดไปถึงเรื่อง process ของลินุกซ์ว่าต้องเป็นเรื่อง process แม่เรียก process ลูกแน่ๆ แต่ขุดไปขุดมาดันไม่เกี่ยวซะงั้นแต่เกิดจากตัวที่ คาดไม่ถึงคือ signal แถมเป็น signal ที่ไม่คิดว่าจะเจอด้วยคือ hang up (คือไม่เคยเจอมาก่อนหนะ ) เป็น signal ที่เกิดเมื่อมีการปิด terminal ไป(เหมือนกับวางหูโทรศัพท์อะไรประมาณนั้นมั้ง ไม่งั้นจะชื่อ hang up หรอ) หรือ connection หลุดจาก server ที่เราต่ออยู่ วิธีแก้ก็ง่ายแสนง่าย แทนที่โปรแกรม แรกจะเรียกโปรแกรมสองตามปกติ ก็เติมคำสั่ง nohup ไปข้างหน้าซะ signal นี้ก็จะไม่มากวนอีกต่อไป หรือ จะเขียนโปรแกรมที่สอง ให้ดัก signal [...]
ลบข้อความใน vi สามบรรทัด
วันนี้ได้อ่านข้อสอบเด็กๆ ที่พี่เอาไปทดสอบคนที่มาสมัครงาน เจอคำถามข้อนึงอ่านคำตอบหลายคนแล้วขำดีแต่ มีคนนึงตอบแล้วต้องมาคิดเพราะ เขียนมาว่า กด d ติดกันหกครั้ง จะว่าไปมันก็ถูกนะ แต่พี่ที่ทำงานคงอยากให้ตอบว่า กด d เลขสาม แล้วกดลูกศร ลงหรือขึ้น เอา แต่ถ้าใช้งานจริงๆ สงสัยจะกด d ติดกันซะมากกว่า หรือผมคิดไปเองเนี๊ยะ เพราะอาศัยจากพฤติกรรมส่วนตัว ก็การกด d แล้วกดจำนวนบรรทัดว่าจะลบข้อมูลไปเท่าไหร่ต้องมานั่งดู ว่าเราจะลบข้อความจากไหนถึงไหน แล้ว vi ก็แสนดีเหลือเกินไม่แสดง เลขบรรทัดซะด้วย (หรือมี option ให้กด ว่าจะแสดงหรือไม่แสดงหว่า) เวลาจะลบอะไรทีผมก็เลยเหมือน interpreter ไปโดยปริยายคอยดูว่าที่ลบไป หนะถึงไหนแล้วพอถึงบรรทัดที่ต้องการแล้วค่อยหยุดกด คิดว่าคงที่ตอบคำถามแบบนี้ก็คงเป็นเหมือนกันเลยตอบมาอย่างนี้ แต่ถ้าถามไปใหม่ว่า ถ้าจะให้ลบข้อความหนึ่งร้อยบรรทัดจะกดยังไง ไม่แน่คำตอบอาจจะเปลี่ยนไปก็ได้จริงมะ (หรือว่าจะตอบว่ากด d ติดต่อกันสองร้อยทีหว่า หึหึหึ)
Screen
หลายวันก่อนพี่ที่ทำงานแนะนำโปรแกรมนึงมาให้ลองเล่นกับโปรแกรมโหลดบิตในเร้าเตอร์ชื่อว่า screen พี่บอกว่าทำให้สลับโปรแกรมใน terminal ได้ถ้าใครนึกภาพไม่ออกก็นึกถึงหน้าต่างในวินโดว์นั่นแหละ แต่อันนี้มันอยู่ในหน้าจอดำๆ แบบดอส แต่พี่บอกว่าจำไม่ได้แล้วว่าใช้ยังไง เลยลองไปขุดๆ ดูว่า wl500gp มันทำได้หรือป่าว เพราะเครื่อง desktop ใช้หน้าต่างธรรมดาดีกว่า ปรากฏว่ามันมีด้วย เลยจัดการลองบนเร้าเตอร์ซะเลย ขั้นแรกดาวโหลดมาติดในเร้าเตอร์ก่อน ด้วยความง่ายของ firmware ที่ใช้อยู่(oleg) เลยใช้คำสั่งแค่ $ipkg install screen รอมันโหลดแล้วติดตั้งให้ก็ใช้ได้แล้ว สะดวกเหมือนอยู่บน debian หึหึ จากนั้นเวลาจะให้เร้าเตอร์โหลดอะไรจากปกติที่จะให้โปรแกรมรันเป็น daemon ด้วยคำสั่งนี้ $enhanced-ctorrent -d file.torrent ก็เปลี่ยนเป็น $screen enhanced-ctorrent ซะแล้วมันจะขึ้นหน้าจอเหมือน ctorrent ปกติแบบไม่ได้ให้รัน daemon ก็จะมีรายละเอียดต่างๆ ว่าไฟล์ดาวโหลดไปถึงไหนแล้ว ขณะนี้ดาวโหลดด้วยความเร็วเท่าไหร่ seed เท่าไหร่ peer เท่าไหร่ พอเบื่อไม่อยากดูต่อก็กด ctrl+a+d เพื่อ detach หน้าต่างออกไป เข้าสู่ [...]
คัดลอกซีดีแบบเร่งด่วนผ่าน shell
อาทิตย์ที่ผ่านมาต้องคัดลอกดีวีดีแบบเร่งด่วนจำนวนสองแผ่น แต่ว่ายังไม่ได้ติดโปรแกรมเขียนซีดีที่มีหน้าจอสวยงามให้กดๆ ได้เลย ต้องมานั่งหาคำสั่งเอาว่า fedora8 ใจดีให้อะไรมาอยู่แล้วบ้าง แล้วก็เจอตัวช่วยสองตัว นั่นคือ dd กับ cdrecord dd เอาไว้เอาซีดีหรือดีวีดีมาเก็บเป็นไฟล์ไว้ในเครื่องก่อน (โน๊ตบุ๊กมีเครื่องอ่านเขียนดีวีดีอยู่ตัวเดียวยังไงก็ต้องเก็บเป็นไฟล์ไว้ในเครื่องก่อนหละ) ด้วยคำสั่ง dd if=/dev/dvd of=[file.iso] หลังจากรอจนมันอ่านออกมาเป็นไฟล์เรียบร้อยแล้ว ก็ต้องเขียนไปยังแผ่นใหม่ด้วยคำสั่ง cdrecord cdrecord dev=/dev/dvd [file.iso] แค่นี้ก็ไม่ต้องติดโปรแกรมสำหรับเขียนซีดีเพิ่มหละ
ภาษาไทยใน Fedora8
หลังจากได้โน๊ตบุ๊กใหม่มาเมื่อวันพฤหัส (dell latitude d630) ก็หาระบบต่างๆ มาลงเริ่มจาก debian ก็ลงตามปกติไม่มีอะไรแปลกประหลาด แต่หลังจากอัพเกรดเป็น testing ก็เจอเหตุการณ์น่าหงุดหงิดเข้า นั่นคือเปิด xwindow ไม่ขึ้นเจอแต่จอดำๆ ต้องลง gnome-desktop-environment ใหม่ เสาร์-อาทิตย์ ที่ผ่านมาก็เลยหาทางเลือกใหม่ นั่นคือ fedora8 ทางเลือกนี้จะว่าไปก็ไม่ใหม่เท่าไหร่ เพราะเคยลองกับเครื่อง acer ตัวเก่ามาก่อนแล้ว แต่ติดปัญหาที่ไดรเวอร์จอกับแลนไร้สาย ก็เลยพับเก็บไปแบบลืมๆ จนได้เครื่องใหม่มานี่แหละกับการ์ดจอ intel ลงเสร็จไม่ต้องติดอะไรเพิ่มก็เล่นได้เลยแต่รอบแรกนั้นไม่รู้ว่าไดรเวอร์ iwl3945 ที่ใช้กับแลนไร้สายของ intel นั้นมันใช้ได้เพราะไฟสถานะไม่ขึ้นเลยพยายามเอา ipw3945 ไดรเวอร์เก่ามาติด แล้วก็สรุปไปว่ามันห่วยใช้ไม่ได้ไป จนวันอาทิตย์อยากลอง ของเล่นใหม่ dream linux 3 beta 2 เลยเอามาลงซะหน่อย + พิงค์กี้ (pFz) บอกว่าจริงๆ มันใช้ได้ ก็เลยเอา fedora8 กลับมาลงอีกครั้ง (หึหึหึ ลอง [...]