Thursday, March 17, 2005

\n ไม่เท่ากับการขึ้นบรรทัดใหม่บน Windows

ปกติจะเขียนโปรแกรมบน UNIX ถ้าเขียนบน Windows ก็จะใช้ gcc บน Cygwin ซึ่งเวลาให้พิมพ์ข้อความออกมา จะใช้ \n ในการขึ้นบรรทัดใหม่ แต่บน Windows การขึ้นบรรทัดใหม่นั้น คือการที่บรรทัดนั้นจบด้วย 2 ตัวอักษร ตัวแรกคือตัวที่บอกการสิ้นสุดบรรทัด carriage return character* ซึ่งก็คือ \r หรือว่า \015 แล้วก็ตามด้วยตัวอักษรอีกตัวเพื่อขึ้นบรรทัดใหม่ซึ่งมีชื่อว่า line feed character ซึ่งก็คือ \n นั่นเอง ดังนั้นในการเขียนโปรแกรมบน Windows เพื่อการขึ้นบรรทัดใหม่ ต้องใช้ \r\n แทน \n

สำหรับ C# สามารถใช้ System.Environment.NewLine; แทน \r\n เพื่อให้คนอื่นอ่านเข้าใจได้ง่ายขึ้น(หรือว่ายากขึ้นก็ไม่รู้)ว่าเป็นการขึ้นบรรทัดใหม่

*เจ้าตัว \r นี่แหละ ที่ทำให้เกิด ^M ในไฟล์ที่สร้างจาก Windows (DOS) ดู บันทึกPerl

Wednesday, March 09, 2005

ราชบัณฑิตชี้ชัด "มุกตลก" ใช้ ก ไม่ใช่ "ข"

Update ข้อมูลเรื่อง "มุกตลก" ที่เคยเขียนไปแล้ว ที่ มุกตลก || มุขตลก
วันที่ 7 พฤศจิกายน 2547 ผู้จัดการออนไลน์ได้เสนอข่าว ราชบัณฑิตชี้ชัด "มุกตลก" ใช้ ก ไม่ใช่ "ข" อ่านแล้วก็ไม่เข้าใจทั้งหมด สรุปว่าใช้ 'ก' สะกด ไม่ต้องมาเถียงกันอีกต่อไป

Tuesday, March 08, 2005

นาฬิกาในกล่อง

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

เริ่มจากเรือนแรกมุมบนซ้าย คือ Longines Chronograph Fly-Back Cal.539 ซึ่งเป็นเครื่องที่ปรับแต่งจาก Cal. 30CH ผลิตปี 1972 ได้มาจาก eBay คนขายอยู่ Luxemburg จริงๆเคยมีเรือนแบบนี้แต่ขายไปให้กับชาวญี่ปุ่นไปแล้ว เค้าทำเว็บไว้ที่ Nakahiro's web ผ่านไปเห็นก็เลยอยากได้อีก ติดตามอยู่ใน eBay อยู่นานกว่าจะได้มาอีก แต่สภาพไม่ดีเท่าเรือนที่แล้วซึ่งเป็น NOS (New Old Stock)
เรือนถัดมาก็เป็น Longines Chronograph เหมือนกัน ใช้กลไก Valjoux 72 ขัดแต่งมาได้สวยกว่าเครื่องที่ใช้ในนาฬิกายี่ห้ออื่นๆ เรือนนี้ผลิตประมาณปี 1975 สภาพดีมาก สายกับ buckle เป็นแบบ original เลย ได้กล่องกับใบมาด้วย ได้จาก eBay
เรือนต่อมาคือ Epos Siamnaliga Project I ซึ่งกลุ่ม Siamnaliga สั่งผลิตขึ้นมาเพียง 50 เรือน เรือนนี้หมายเลข 3/50 ใช้กลไก Unitas 6497 ขัดแต่งมาสวยพอควร มีวันที่เป็น Big Date คือเป็นเลขสองหลักตัวใหญ่ๆ
เรือนถัดมาเพิ่งได้มาสดๆร้อนเมื่อวันศุกร์ที่แล้วเอง เป็น Tourbillon Made in China ทำได้สวยดีราคาย่อมเยาว์ (Tourbillon จาก Swiss ถูกๆก็เป็นล้านบาท) นั่งดูมันหมุนก็เพลินดี แต่เดินเร็ววันละ 1 นาทีแหนะ... ใส่บนข้อมือแล้วดูหรูดี กะเก็บไว้ใส่กับสูท
เรือนต่อมาคือ Lemania Chronograph ผลิตในช่วงปี 1940 ใช้กลไก Cal. 27CH ซึ่งปัจจุบันนี้เรียกว่าCal. 2310 มีใช้ใน Patek Philippe อย่าง 5070 (เรือนนึงประมาณ 1.3 ล้านบาท) เรือนนี้ได้มาจาก eBay เช่นเคย คนขายอยู่ LA, USA รูปชัดๆดูได้ที่ มีของมาส่ง
เรือนขวาสุดแถวบน Seiko ANA เรือนเดียวกับรูปตัวอย่างของการ Capture หน้าจอด้วย Fraps เป็นรุ่นที่ Seiko สร้างขึ้นมาตามความต้องการของนักบินของ ANA เมื่อก่อนนั้นมีขายเฉพาะเที่ยวบินภาพในประเทศญี่ปุ่นเท่านั้น แต่รู้สึกว่าตอนนี้จะมีขายเที่ยวบินต่างประเทศด้วยแล้ว เรือนนี้ได้มาตอนไปเที่ยว Hachijojima กับคุณ Kuroiwa
แถวล่างซ้ายสุด Panerai PAM4 ผลิตปี 1999 ตัวเรือนรมดำโดยใช้วิธีการ PVD (Physical Vapour Deposition) กลไกไขลาน Unitas 6497 ได้มาจากร้านนาฬิกาแถวที่ทำงานเมื่อปี 2003
เรือนถัดมาทางขวา TAG Heuer Aquagraph ซื้อแก้เซ็ง คราวก่อนโน้น
เรือนด่อมา Seiko Siamnaliga Project II ทำมา 200 เรือน เรือนนี้หมายเลข 030/200 ยังไม่ได้เอามาใส่เลย เสียดาย
เรือนสุดท้าย Nivada Chronoking กลไกไขลาน Valjoux 23 ผลิตช่วงประมาณปี 1970 เคยมีเรือนแบบนี้แต่ขายไปแล้ว ตามธรรมดาเวลาผ่านไปก็อยากได้อีก

ส่วนกล่องนาฬิกานั้นเป็น Siamnaliga Original ทำอย่างดีเลย

Wednesday, March 02, 2005

Google Video Search

Service อันใหม่จาก Google Google Video Search ยังเป็น Beta version อยู่ แต่น่าสนใจมาก สงสัยอยู่ว่าทีวีต่างประเทศนี่เค้าส่ง Closed Caption มากับทุกรายการเลยเหรอ เจ๋งดี ไม่รู้ทีวีเมืองไทยส่งมาด้วยรึเปล่า

Tuesday, March 01, 2005

Visual C# .NET กับการทำ PowerPoint Automation

นึกว่าการเขียนโปรแกรมเกี่ยวกับ PowerPoint มีความจำเป็นต้องใช้ Microsoft Visual Studio Tools for the Microsoft Office System แต่เท่าที่อ่านดู เค้าพูดถึงแต่ Word กับ Excel เอง แล้ว PowerPoint ล่ะ? ลองเอา code จาก MSDN มาลองดู ก็ compile ไม่ผ่าน มันบอกว่าไม่รู้จัก Office ก็ลองหาดูตามเว็บว่ามีใครบอกไว้หรือเปล่าก็ไปเจอ How to use Automation to create and to show a PowerPoint 2002 presentation by using Visual C# .NET 2002 บอกวิธีไว้ละเอียดเลย สรุปว่าไม่ต้องใช้เจ้า Office development tools เพียงแต่ต้องเพิ่ม reference ไปที่ library ที่จำเป็นเท่านั้น ซึ่งการเพิ่ม reference ก็ทำได้โดยไปที่ Project>Add Reference>COM Tab และก็เลือก Microsoft PowerPoint Object Library เมื่อ add เสร็จแล้ว ก็จะมี PowerPoint กับ Microsoft.Office.Core โผล่ขึ้นมาใน References Tree ตรงหน้าต่างของ Solution Explorer

ลองทำตามที่เค้าว่าไว้ก็สามารถสร้าง Application ที่เกี่ยวกับ PowerPoint ได้ไม่มีปัญหา