เมื่อวานนี้มันวันอะไรวะเนี่ย. จากเสื้อม่อฮ่อม มันกลายเป็น iconv -c ได้ยังไง.
- กลางวันเมื่อวาน นั่งคิดว่าเสื้อม่อฮ่อมถ้าไม่ต้องรีด จะช่วยลดภาวะโลกร้อน.
- น่าจะเสนอให้ฝ่ายบุคคลอนุญาตแบบฟอร์มพนักงานที่เป็นเสื้อม่อฮ่อม, เพื่อลดภาวะโลกร้อน.
- แล้วก็ค้น google หาข้อมูลของเสื้อม่อฮ่อม.
- ค้นเจอ ก็ได้ทราบประวัติเสื้อม่อฮ่อม.
- มาลองเปิด th.wikipedia, ไม่มีคำว่า ม่อฮ่อม หรือ เสื้อม่อฮ่อม.
- น่าจะเอาสิ่งที่เราเพิ่งอ่าน มาเรียบเรียงเขียนลง th.wikipedia ซะเลย.
- แต่ว่าแทนที่จะได้เขียนบทความเสื้อม่อฮ่อม ลง th.wikipedia, ก็เหลือบไปเห็นมีคนส่งข้อความหาเราใน th.wikipedia
- เข้าไปอ่านข้อความ, เขาเห็นว่าเราเคยเขียน บทความ "วิทยาการคอมพิวเตอร์" ตั้งแต่ปี 2004 โน่น, สรุปก็คือ เชิญชวนให้เรากลับไปช่วยเก็บกวาดให้สมบูรณ์หน่อย.
- เราก็ลืมไปแล้ว, ว่าเราไปเขียนอะไรไว้วะ
- ก็เข้าไปดู history, อ่อ, เราเคยเขียนไว้หยั่งงี้ๆ.
- ดูใน history เดียวกันนั้น, พบว่า user ไร้นาม เคยมาเขียนด้วย.
- เกิดความสนใจว่าคุณ ไร้นาม เขียนบทความไรไว้มั่ง.
- นั่งไล่เปิดดูบทความที่ ไร้นาม เขียน
- ไปเจอ ไร้นาม discuss กะคนอื่นๆ ในหน้าพูดคุย ของ บทความ บทความหนึ่ง.
- มีอยู่คนหนึ่งที่ไร้นามไปตอบ, แต่คนนั้นคงจะลืมลงชื่อ signature ไว้.
- อยากรู้ว่าข้อความนี้เป็นใครเขียน.
- จะนั่งไล่ดู history ก็เหนื่อย, เสียเวลา load, รอนาน.
- คือว่า ถ้าเจอว่าใครเขียนก็จะได้เอา signature มาใส่ให้เค้าด้วย, เพื่อว่าคนอื่นจะได้ไม่ต้องสงสัยเหมือนเรา. คนอื่นจะได้ไม่ต้องไล่ดู history เหมือนเรา.
- พอดีว่าเคย load xml database ของ th.wikipedia เก็บเอาไว้ในเครื่องเรา, เป็น xml ที่รวมข้อมูลย้อนหลังทั้งหมด, ก็เลยว่าจะมา search ดูจาก xml ที่เรามีอยู่ดีกว่า.
- แต่ว่า มันเป็น xml มัน search/grep ยาก.
- พอดีเคยใช้ perl + libxml เขียนโปรแกรม parse mediawiki xml ไว้.
- ที่เคยเขียนนั้น เขียนดึงแค่บาง field.
- ก็เลยปรับแก้นิดหน่อยให้ generic ขึ้น, ให้ใส่ option เลือก field ที่จะดึงได้.
- แล้วก็แก้ไขอีกนิดให้มันส่ง output ออกมาเป็น csv, เพื่อจะได้ grep ข้อมูลได้ง่ายๆ หน่อย.
- ได้เป็น xml2csv.pl
- จากเสื้อม่อฮ่อม ได้ xml2csv.pl 1 ตัว.
- ยังไม่จบ.
- convert แล้ว มันยังเป็น utf8 มันดูยาก.
- จริงๆ ก็ดูได้แหละ, ตั้ง terminal charset เป็น utf8 ก็ได้.
- แต่ไม่ชอบ terminal utf8.
- เลยใช้ iconv -c เพื่อแปลงเป็น tis620
- ก็ใช้ iconv -c แปลงไปเรื่อย, ทำไมมันยิ่งกิน mem มากขึ้นเรื่อยๆ วะ.
- มันกิน mem มากตามปริมาณข้อมูล. wikipedia xml ข้อมูลมันไม่ใช่น้อยๆ. กิน mem หยั่งงี้ มีหวังเครื่อง hang
- เลยใช้ lib iconv ใน perl เขียน iconv.pl เองดีกว่า.
- (iconv.pl ผมทำให้มันรับ option -t, -f เหมือน iconv เลย, โดยใช้ lib getopt)
- เขียน iconv.pl ก็เจอ bug
- นั่ง debug, อ้าว มันเป็น bug ที่ lib iconv perl นี่หว่า.
- ก็เลย reportbug ไปที่ debian.
- จากเสื้อม่อฮ่อม ได้ reportbug อีก 1 ตัว. (เพื่อนบอกว่าผมเป็นคนแบบ depth first search - -')
- แล้วก็หาวิธีเลี่ยง, ปรับโปรแกรมหลีกเลี่ยง bug ตัวนี้.
- ก็เขียนสำเร็จ.
- ทีนี้ iconv.pl ที่เขียนเนี่ย, จะต้องให้มันทำตัวเหมือน option -c ของ program iconv ด้วย.
- แต่ทำยากชิบหาย, เพราะ libperl-iconv มันดันไม่ support in-byte-left, กรณีมี error.
- ก็ใช้วิธีแบบถึกๆ, เสร็จแล้วก็ลองรันดู, ช้าโพด.
- ช้าหยั่งงี้ไม่ไหว, ก็เลยไม่ได้ใช้.
- ไม่รู้จะทำไงดี.
- ดึกแล้ว ยังคิดอะไรไม่ออก, กลับบ้าน.
- จบ.
- เมื่อวานนี้เลยไม่ได้ทำงานอะไรเลย, มัวทำบ้าอะไรอยู่ก็ไม่รู้.
- เกิดจาก เสื้อม่อฮ่อม เรื่องเดียว.
สรุปสิ่งที่ได้[]
- xml2csv.pl 1 ตัว.
- reportbug 1 ตัว ไปที่ debian.
- iconv.pl แบบห่วยๆ ช้าๆ 1 ตัว.
--Ans 08:28, 12 กรกฎาคม 2007 (UTC)