อาทิตย์ที่ผ่านมาพยายามลงเก็นทู แต่ด้วยความขี้เกียจ เนื่องจากตัวติดตั้งอัตโนมัติของเจ้าอื่นจนเคยชิน เลยทำได้แค่ครึ่งทางแต่วันจันทร์ต้องเอามาทำงานแล้ว เลยโหลดซูบุนตู 64 บิต มาลงแก้ขัดไปก่อนซะเลย วันจันทร์มาตาโค้ดก็มาท้าให้ทดสอบความแรงว่า 64 บิต จะแรงขนาดไหน หึหึหึ ก็เลยเจอบั๊กเข้าให้เลย ตอนแรกตาโค้ดบอกว่าให้ทำอย่างงี้ $sudo aptitude install hardinfo ติดตั้งเสร็จก็เรียก hardinfo ขึ้นมาแล้วก็ลองทดสอบ ตัวทดสอบที่มีให้เลือกก็ตามนี้ CPU Zlib CPU Fibonacci CPU MD5 CPU SHA1 CPU Blowfish FPU Raytracing แต่ที่ติดตั้งไปดันมีบั๊กเวลาทดสอบมากกว่าหนึ่งอย่าง เช่นทดสอบ Blowfish แล้วจะทดสอบ Raytracing ต่อจะขึ้น core dump เลยลองไปดูว่านี่มันรุ่นอะไรด้วยคำสั่ง $hardinfo –version ออกมากก็เป็น 4.2.1-svn อะไรซะอย่าง ยังไม่ไช่ตัว release เลยง่ะ เลยจับถอนทิ้งซะแล้วไปหามาติดใหม่จากเว็บคนทำเลยที่นี่ hardInfo เข้าไปก็จะเห็นปุ่มดาวโหลดใหญ่ๆ [...]
About llun
Just a programmerlocale, charset
วันนี้มีเรื่องร้อนแรงบางอย่างในห้อง #ubuntu-th เกี่ยวกับ charset หลักของห้องว่าควรจะเป็นอะไรดี เริ่มจากตอนแรก ห้องใช้ TIS-620 เนื่องจากมีบอทแล้วจะเล่นกัน แต่พักหลังบอทที่ใช้เล่นหายไปและก็ไม่ค่อยมีคนเล่นกันแล้วพร้อมกับปัญหาที่ว่า เวลามีคนใหม่ๆ เข้ามาโดยใช้ ubuntu โปรแกรมแชทที่ใช้กันมักใช้ charset เป็น UTF-8 ทำให้ต้องอธิบายกันว่าจะเปลี่ยนยังไง ทั้งๆที่ประกาศไว้ตอนเข้าห้องแล้วถึงวิธีเปลี่ยน เดือนที่ผ่านมาเลยมีการเปลี่ยนมาใช้ UTF-8 กัน เพื่อที่จะลดเรื่องน่าปวดหัวในการเปลี่ยน charset ตรงนี้ไป แต่วันนี้ ans-tor เข้ามาแล้วก็เปิดประเด็นที่ว่า ทำไมไม่ใช้ TIS-620 อีกรอบ โดยบอกว่าน่าจะดูจาก locale ของระบบ แทนที่จะตั้งแยกแต่ละโปรแกรม และบอกว่าระบบในประเทศไทย ก็น่าจะมี locale เป็นภาษาไทย ดังนั้นเวลาใช้โปรแกรมต่างๆ ก็น่าจะเป็น TIS-620 อัตโนมัติ แต่ความจริงแล้ว ระบบต่างๆ ไม่ได้ใช้ locale แยกตามสถานที่แล้วนี่สิ โดยดูจาก ubuntu ที่ตั้ง locale เป็น UTF-8 ทั้งหมด [...]
Enum Factory
ไม่ได้เขียนลงบล๊อกนานวันนี้เลยรวบยอดเขียนสามเรื่องเลยละกัน อันนี้กะว่าบันทึกไว้เล่นๆ แบบว่า enum ในจาวาทำอย่างนี้ก็ได้นะ ก่อนอื่นก็ต้องอธิบายคร่าวๆ ก่อนสินะว่า factory คืออะไร มันก็คือรูปแบบของคลาส กับเมธอดที่ไว้ใช้สร้าง object ต่างๆ ปกติเวลาจะสร้าง object อะไรใน java หรือ .net หรืออะไรก็ตามที่มี oop จะใช้การ new ขึ้นมา สำหรับ factory ที่ว่าก็คือเมธอดหรือคลาสที่รวม new พวกนี้เอาไว้นั่นเอง เวลามีการเปลี่ยนแปลงอะไร จะได้ไม่ต้องแก้ใหม่หลายจุด ลองดู factory ปกติในจาวาดีกว่า class CarFactory { public static Car build(String brand) { if (brand.equals(“benz”)) return new LuxuryCar(); else if (brand.equals(“bmw”)) return new JamesBondCar(); else [...]
cgi-bin รูอันตรายที่โฮสท์ไทยมักเปิดไว้
เสาร์อาทิตย์ที่แล้วด้วยความอยากใช้ wget จัดเลยลองเขียน cgi ด้วยภาษาซีซะเลย เริ่มแรกก็ไปหาหนังสือมาดูก่อนว่าจะเริ่มยังไงดี เพราะไม่ได้เขียนนานมากหละ ก็ได้เล่มนี้ C++ How to Program ของ Deitel แต่เห็นในเว็บเป็นรุ่นที่ 6 แล้วแต่ที่มีอยู่เป็นรุ่นที่ 3 (เป็น text เล่มแรกที่ซื้อเลยนะเนี๊ยะ ) เริ่มมามันก็บอกให้เขียนโปรแกรม printf ธรรมดาเลย ได้โค้ดประมาณนี้ ไฟล์: hello.c #include <stdio.h> int main() { printf(“Content-Type: text/html\n\n”); printf(“<html>\n”); printf(“<body>\n”); printf(“<h1>Hello, world</h1>\n”); printf(“</body>\n”); printf(“</html>\n”); return 0; } ด้านบน compile แล้วเปลี่ยนชื่อไฟล์ที่ได้ออกมาเป็นอะไรก็ได้ .cgi $gcc hello.c -o hello.cgi แล้วไปวางไว้ที่ directory cgi-bin [...]
Gmail รุ่นใหม่
หายไปประมาณหนึ่งอาทิตย์ มัวแต่ลองเล่นนู่นเล่นนี่ แต่ไม่ได้เข้ามาเขียนในบล๊อก แหะๆ เพราะคิดไม่ออกด้วยว่าจะเขียนอะไรบ้างดี ช่วงนี้ gmail มีอะไรใหม่ๆ ออกมาให้เล่นเยอะเลยเขียนถึงหน่อยดีกว่า อย่างแรกเลยที่หลายคนคงได้เล่นกันแล้วมั้งก็คือ imap นั่นเอง gmail น่าจะเป็นที่แรกเลยมั้งที่เปิดให้ใช้ imap ฟรี ใช้ตอนแรกก็สงสัยว่า folder ใน imap มันจะไปอยู่ตรงไหน พอลองใช้ก็ถึงบางอ้อว่ามันคือ label นั่นเอง โดยจะมี label แปลกๆโผล่มาสองสามอันอย่าง [imap]/Trash, [imap]/Sent, … โดยจะไม่รวมอยู่กับ Trash และ Sent ของหน้าเว็บ (ทำไมฟะ?) ดังนั้น ถ้าลบใน mail client โดยใช้ imap ก็ต้องไปนั่งลบเองอีกทีในเว็บเมล์ ของเล่นใหม่ต่อมาก็คือหน้าเว็บ gmail เองนั่นแหละ ถ้าใครสังเกตุดีๆ จะเห็นลิงค์ older version อยู่บนมุมขวา แต่หน้าตาเว็บก็ไม่เห็นมีอะไรแปลกใหม่เลย แถมไม่มีข่าวด้วย ก็เลยลองจิ้มๆ มั่วเอาเอง [...]