thai

twitbkk3

เมื่อวันเสาร์ไปงาน TwitBkk3 มา

เนื่องจากอาทิตย์ที่แล้วผมแทบไม่ได้เปิด twitter อ่านเลย เนื่องด้วยงานยุ่งมาก เลยไม่รู้ว่าเค้าย้ายไป Groove พร้อมเลื่อนเวลาเร็วขึ้นเป็นเที่ยงวัน กว่าจะรู้ตัวอีกทีก็ปาเข้าไปเที่ยงแล้วเนื่องจากเห็น tweet ของ Thanr บอกว่าให้ลงสถานีเอกมัย

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

เดินเตร็ดเตร่อยู่ในนั้นซักพักก็ออกมาเล่นกับ @rockzha หน้าร้าน พอวงดนตรีเริ่มเล่น ผมดูอยู่พักหนึ่งก็เดินข้ามถนนไปหาสาวตุ้งแช่

หลังจากนั้นก็ขี้เกียจเดินกลับไป เลยขอลาจากงาน TwitBkk นับแต่นั้น

สุดท้ายผมยังขอเอาคำพูดของ @lewcpe มาย้ำอีกครั้งว่า "งานของจริงมันเริ่มต้นที่ตอนงานหลักจบ"

ขอบคุณ @molek และผู้ร่วมจัดคนอื่นๆทุกท่าน รวมทั้ง sponsor ด้วย

สีที่หายไป มั่ง

(บล็อกนี้ ได้แรงบันดาลใจมาจากบล็อกคุณโก๋)

เราใส่เสื้อเหลืองไม่ได้

เราใส่เสื้อแดงไม่ได้

ต่อไปจะห้ามใส่สีอะไรอีก

น้ำเงิน?

ชมพู?

แล้วทีนี้งานบอล จะทำยังไง

แล้วตรุษจีนจะทำยังไง!?

ดีนะ ที่สงกรานต์ไม่บังคับสีเสื้อ ไม่งั้นคงแย่

คบคนพาล พาลพาไปหาผิด

คบคนพาล พาลพาไปหาผิด คบบัณฑิต บัณฑิตพาไปหาผล

เชื่อได้ว่าคนอ่านสุภาษิตข้างต้น คงคิดว่าเป็นเรื่องปกติว่า เราควรจะคบบัณฑิต เพื่อที่ว่าบัณฑิตจะได้ชักชวนและนำพาเราไปสู่สิ่งที่ดีๆ และไม่คบเพื่อนที่ไม่ดี

แน่นอน เราควรทำเช่นนั้น เรื่องปกติ ถ้าเราอยากจะดีขึ้น เราก็ต้องคบเพื่อนดีๆ เราถึงจะไปสู่แสงสว่าง

แต่ทว่า

ถ้าเราเป็นคนพาล แล้วไปคบคนดี เค้าก็จะกลายเป็นคนที่คบคนพาลสิ -*-

แปลว่า ... เราได้ประโยชน์ แต่เค้าเดือดร้อน

พอคิดกลับไปกลับมาแบบนี้ ก็จะกลายเป็นว่าคนพาล ก็ควรจะคบกับคนพาล แล้วบัณฑิตก็ควรจะคบกันแต่เฉพาะบัณฑิตต่อไป

รึเปล่า?

Using Thai language with Silverlight 2.0

เมื่อคราว Silverlight 1 ออกมา เราก็ใช้ภาษาไทยกับ Silverlight ได้แบบพอถูไถกันไป พอคราว Silverlight 2 Beta 2 ออกมา ทาง GreatFriends ก็ได้แสดงวิธีการใช้งานภาษาไทยใน Silverligh 2 Beta 2 ไปแล้ว คราวนี้เมื่อตัวจริงออกมาเราก็จะมาดูว่าภาษาไทยได้รับการปรับปรุงไปขนาดไหนแล้ว โดยในครั้งนี้เราจะใช้แค่เพียง Expression Blend 2 Service Pack 1 เท่านั้น ถ้ายังไม่มีสามารถดาวน์โหลดได้ที่ http://silverlight.net/GetStarted/

หลังจากเปิด Blend ขึ้นมาแล้วก็ลองสร้างโปรเจคใหม่ชื่อ ThaiLang

createproject

สร้าง TextBox และ TextBlock ขึ้นมาอย่างละอัน ใครขี้เกียจจะใช้ XAML ข้างล่าง

<Grid x:Name="LayoutRoot" Background="#FFBDBDBD">
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <TextBlock Text="TextBlock" TextWrapping="Wrap" Margin="50,10,50,10" Grid.Row="0"/>
    <TextBox HorizontalAlignment="Stretch" Margin="50,10,50,10" Width="Auto" Grid.Row="1" Text="TextBox" TextWrapping="Wrap"/>
</Grid>
2-textblock-textbox

ทีนี้ถ้าเราลองใส่ข้อความภาษาไทยลงไป

๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฟันฝ่าพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกําหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟั งเอยฯ

พ่อปู่พี่ปี่ฎฐุญุกิสมิํธมฺมํเกื็อกป่า

๐๑๒๓๔๕๖๗๘๙ กกๆ ๚ะ๛ A QUICK BROWN FOX JUMPS OVER THE LAZY DOG. a quick brown fox jumps over the lazy dog. 0123456789

เละครับเละ

thai-fail

เพราะว่าฟอนท์ตั้งต้นที่ติดมากับ Silverlight ที่ชื่อ Portable User Interface ไม่สามารถแสดงภาษาไทยได้ก็เลยกลายเป็นสี่เหลี่ยมๆไปหมด แต่ถ้าฟอนท์แสดงภาษาไทยได้ก็สบายเรา

งั้นก็ลองปรับให้ใช้ฟอนท์ที่รองรับภาษาไทยอย่าง Tahoma ดูซิ

font1

เป็นภาษาไทยแล้วล่ะ แต่ Blend จะขึ้นข้อความมาเตือนอะไรบางอย่าง

The font, Tahoma, isn't a built-in silverlight font. You must embed this font for it to display on your Silverlight Application

เมื่อเราติ๊กคำว่า Embed ในแท็บ Properties แล้วข้อความเมื่อกี้ก็หายไป

font2

แต่เราจะได้สิ่งนี้มาแทน

file-explorer

ถ้าเราขยับๆ จะเห็น Silverlight 2.0 รองรับการตัดคำภาษาไทยแล้ว เย่

result

แต่ก็มาตกม้าตายตอนท้ายเพราะว่าพอลองใช้ TextBox ว่าพอกดปุ่มสระปุ๊บก็เละครับ Silverlight Object หายไปเลย ทางแก้ง่ายมาก ก็อย่าเพิ่งใช้ Silverlight กับงานที่ต้องกรอกข้อมูลหรือไม่ก็ใช้วิธีเดียวกับ Silverlight 1.0 คือเอา HTML input textbox มาใช้แทน แล้วก็อย่าลืมเข้าไปดูที่บักนี้ แล้วเพิ่มลง watchlist ด้วย เค้าจะได้รู้ว่าเรารอให้เค้าแก้บักนี้กันหลายคนเหมือนกัน

กำขี้ดีกว่ากำตด

สำนวนสุภาษิตคำพังเพยไทยนี่ก็ช่างน่าฉงน สำนวนบางสำนวน(ซึ่งอาจจะเป็น สุภาษิต หรือคำพังเพยก็แล้วแต่) ถึงแม้ว่าเราจะรู้ความหมายดี แต่พอมาคิดความหมายแบบตามตัวแล้ว ความหมายมันก็ออกจะจั๊กกะจี้ซักหน่อยจนพาลให้อดคิดต่อไปถึงสิ่งที่น่าสงสัยอย่างที่มาหรือต้นเหตุของสำนวนเหล่านั้นไม่ได้ อย่างเช่นสำนวนต่อไปนี้ซึ่งอาจจะเหม็นและไม่สุภาพซักเล็กน้อย ขอท่านผู้อ่านโปรดอภัย

กำขี้ ดีกว่า กำตด

สำนวนนี้ยังไม่ทันอ่านก็เหม็นซะแล้ว มีทั้งขี้และมีทั้งตด ถ้านำพจนานุกรมมาเปิดจะได้ความหมายของสำนวนนี้ว่า

กำขี้ดีกว่ากำตด คำแปล2 (สว.) ได้อะไรๆ บ้างดีกว่าไม่ได้อะไรเลย.

ก็ตรงตัวนะฮะ ว่าการที่เรา"กำขี้" อย่างน้อยก็ได้เห็นอะไรที่เป็นชิ้นเป็นอัน เป็นก้อน หรืออย่างน้อยก็ยังมีคราบหลักฐานให้เราได้พอจะชื่นใจซักเล็กน้อย ซึ่งดีกว่า "กำตด" ซึ่งเวลาผ่านไปแล้วก็จะเหมือนไม่มีอะไรเกิดขึ้น ถ้า้คนทนกลิ่นไม่ไหวไม่ตะโกนถามว่า "ใครตดวะ" ขึ้นมาซะก่อน

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

ทีนี้ลองสมมติใหม่ว่า ถ้า้เราต้องเลือกระหว่าง กำขี้กับกำตด เราจะเลือกกำอะไร นี่สิ เราจะเริ่มสงสัยว่า แล้วถ้าให้ไอ้คนคิดมันเืลือกกำ เขาจะกำอะไร แล้วทำไมเขาถึงบอกว่า กำขี้ดีกว่ากำตด ปัญหานี้เป็นสิ่งที่น่านำไปขบคิดต่อยามว่างในห้องน้ำนักเชียว

ปล. เปิดรับความคิดเห็นเรื่องสำนวนนี้ และที่มา แบบไม่จำกัด

ภาษาไทยกับ Silverlight

หลังจากที่ Silverlight 1.0 ออกมาแล้ว 11 เดือนก็ยังไม่ได้เคยลองเอามาใช้แบบจริงๆจังๆซักที จะมีลองเล่นๆก็คือตอน BarCamp ครั้งนู้น แต่ว่าช่วงนี้ได้งานมางานหนึ่งซึ่งต้องใช้ Silverlight 1.0 ในการพัฒนาเลยได้ลองใช้ของจริงเลย

ปัญหาอย่างหนึ่งที่พบตั้งแต่เมื่อ 11 เดือนก่อนแล้วไม่คิดว่ามันจะแก้ไขได้ง่ายแบบนี้คือเรื่องการแสดงผลภาษาไทย

Thai sentences segmentation

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

จากความคิดของผม สาเหตุที่เกิดความแตกต่างกันเพราะธรรมชาติของภาษาไทยเป็นภาษาที่ค่อนข้างอิสระ การตัดประโยคเกิดจากความรู้สึกและสัญชาตญาณมากกว่าจะเกิดขึ้นจากกฏเกณฑ์ ผลที่ได้จึงแตกต่างกันตามสภาพแวดล้อม ความเชี่ยวชาญ และความรู้ของผู้ตัดประโยคแต่ละคนว่าทำให้เกิดหลักเกณฑ์ในการตัดประโยคอย่างไร

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

ผมถามเพื่อนว่าภาษาเขมรมีตัวแบ่งประโยคหรือเปล่า. เขาก็ว่ามี. ถามมาหลายคนหลายภาษาแล้ว. เขาก็ว่ามีหมด. ลองดูในวิกิพีเดียลาว ก็ปรากฎว่ามีตัวแบ่งประโยคเช่นกัน. จำได้ว่าป๋าเทพเคยกล่าวถึงว่าอาจจะใช้ ๛ (โคมูตร) มาเป็นตัวจบประโยคดูก็ได้ แต่ว่าแหมมันกดยากเหมือนกัน.

นักภาษาศาสตร์บางท่านชี้ว่า, ภาษาไทยอาจจะไม่มีขอบเขตประโยคที่แน่นอน. ให้คนไทยด้วยกันเองลองแบ่งประโยคออกมา, ก็อาจจะไม่ตรงกัน. ผมออกจะเชื่อตามนั้น. แต่ว่ากันยังอยากจะลองเองอยู่ดีว่า, ถ้าลองแบ่งประโยคดูแล้วจะเป็นอย่างไร.

จาก ชิลๆ 

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

ตอนนี้ยังไม่ได้ลองเอาไปคิดดูว่าถ้าตัดประโยคได้แล้วจะนำไปใช้อะไรได้บ้าง แต่คิดว่ามันน่าจะมีประโยชน์แน่ๆ อย่างน้อยก็น่าจะเป็นพวก Data Visualization เพื่อวิเคราะห์รูปแบบประโยคในงานประพันธ์ต่างๆ หรือไม่ก็เอาไปช่วยในงาน Natural Language Processing ได้ล่ะมั้ง

Windows Live Messenger ภาษาไทย

วันก่อนมีคนมาถามว่า ถ้าลง Windows Live Messenger ลงไปแล้วเป็นภาษาไทยแล้วอ่านไม่รู้เรื่อง จะทำยังไงดี

ตอนแรกก็คิดว่ามันน่าจะให้เลือกเปลี่ยนภาษาได้ง่ายๆ แต่เนื่องจากไม่ได้ใช้ภาษาไทยก็เลยไม่ได้เอะใจ จนเมื่อวานไปเล่นที่เครื่องแม่แล้วลงเป็นภาษาไทยไว้ ก็เลยไปนั่งงมหาตั้งนาน จนสุดท้ายได้วิธีมาแล้วแต่มันเป็นวิธีที่รับไม่ค่อยได้ (แต่ก้ต้องทำถ้าจะใช้ภาษาอังกฤษ)

  1. Uninstall Windows Live Messenger ออก
  2. เปลี่ยนภาษาของบราวเซอร์ให้เป็นภาษาอังกฤษ
    language_ff
    สำหรับ FireFox
    language_ie
    สำหรับ IE
  3. เข้าไปที่ messenger.live.com
  4. เลือก Get It Free
  5. ลงตามปกติ

แค่นี้ก็ได้ Windows Live Messenger ภาษาอังกฤษแล้ว
ใครลองแล้วบอกด้วย อันนี้อ่านมาจาก Help ของ Windows Live อะ