And as a universal medium, of course, it is important that the web itself doesn’t try to decide what is publishable.
timbl’s blog
web
Silver Bullet
นั่งคิดอยู่นานเรื่องของการตัดคำภาษาไทยที่น่าจะมีวิธีง่ายๆ ในฟังก์ชั่นไม่กี่บรรทัดที่ตัดคำได้เร็วพอควร และความถูกต้องในระดับที่ดูเว็บแล้วไม่ปวดหัว
ตอนนี้ก็ได้มาอันนึงแล้ว
((?=[\u0e01\u0e02\u0e04\u0e07\u0e08\u0e0a\u0e0b\u0e14\u0e15\u0e16\u0e17\u0e19\u0e1a\u0e1b\u0e1c\u0e1e\u0e21\u0e22\u0e23\u0e25\u0e27\u0e2a\u0e2b\u0e2d\u0e40\u0e41\u0e42\u0e43\u0e44])(?:\u0e17(?:\u0e33(?:\u0e43\u0e2b\u0e49)?|\u0e35\u0e48|(?:\u0e32|\u0e31\u0e49)\u0e07|\u0e48\u0e32\u0e19)|\u0e40(?:\u0e23(?:\u0e37\u0e48\u0e2d\u0e07|\u0e32)|\u0e02\u0e49?\u0e32|\u0e1e(?:\u0e23\u0e32\u0e30|\u0e37\u0e48\u0e2d)|(?:[\u0e1b\u0e2b]\u0e47|\u0e0a\u0e48)\u0e19|\u0e21\u0e37\u0e48\u0e2d|\u0e01\u0e34\u0e14|\u0e14\u0e47\u0e01|\u0e27\u0e25\u0e32)|\u0e01(?:\u0e31[\u0e1a\u0e19]|\u0e32\u0e23|\u0e47|\u0e25\u0e38\u0e48\u0e21|\u0e27\u0e48\u0e32)|\u0e43(?:\u0e2b(?:\u0e49|\u0e21\u0e48)|\u0e19|\u0e0a\u0e49)|\u0e21(?:\u0e32\u0e01?|\u0e35|\u0e31\u0e19)|\u0e02(?:\u0e2d\u0e07|\u0e36\u0e49\u0e19)|\u0e08(?:[\u0e30\u0e19]|\u0e32\u0e01|(?:\u0e36|\u0e23\u0e34)\u0e07)|\u0e41(?:\u0e25(?:\u0e30|\u0e49\u0e27)|\u0e15\u0e48|\u0e2b\u0e48\u0e07|\u0e1a\u0e1a)|\u0e44(?:[\u0e14\u0e27]\u0e49|\u0e21\u0e48|\u0e1b|\u0e17\u0e22)|\u0e27(?:\u0e48\u0e32|\u0e31\u0e19)|\u0e04(?:\u0e27\u0e32\u0e21|\u0e19|\u0e37\u0e2d)|\u0e19(?:\u0e35\u0e49|\u0e31\u0e49\u0e19|\u0e32\u0e22)|\u0e2b(?:\u0e23\u0e37\u0e2d|\u0e19\u0e36\u0e48\u0e07|\u0e25\u0e32\u0e22)|\u0e2d(?:\u0e22(?:\u0e39\u0e48|\u0e48\u0e32\u0e07)|[\u0e35\u0e2d]\u0e01|\u0e32\u0e08|(?:\u0e37\u0e48|\u0e31)\u0e19|\u0e30\u0e44\u0e23)|\u0e15(?:\u0e48(?:\u0e32\u0e07|\u0e2d)|\u0e49\u0e2d\u0e07|\u0e32\u0e21|\u0e31\u0e27)|\u0e14(?:\u0e49(?:\u0e27\u0e22|\u0e32\u0e19)|\u0e35)|\u0e16(?:\u0e36\u0e07|\u0e49\u0e32|\u0e39\u0e01)|\u0e1c(?:\u0e39\u0e49|[\u0e21\u0e25])|\u0e1b(?:\u0e23\u0e30\u0e40\u0e17\u0e28|\u0e35|\u0e31\u0e0d\u0e2b\u0e32)|\u0e2a(?:\u0e31\u0e07\u0e04\u0e21|\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e48\u0e27\u0e19|\u0e34\u0e48\u0e07|\u0e33\u0e04\u0e31\u0e0d)|(?:\u0e0b\u0e36\u0e48|\u0e22\u0e31|\u0e1a\u0e32|\u0e25)\u0e07|\u0e42\u0e14\u0e22|\u0e23\u0e31\u0e1a|\u0e0a\u0e35\u0e27\u0e34\u0e15|\u0e07\u0e32\u0e19|\u0e1e\u0e23\u0e23\u0e04))
เผื่อใครงง (งงแน่อ่ะดิ เล่นไม่อธิบายเลย) ไอ้ข้างบนนี่คือ Regular Expression ที่ได้จากการ Optimize 100 คำแรกที่พบบ่อยในภาษาไทย ทำให้สามารถนำไปใช้เป็นตัวตัดคำภาษาไทยในบราวเซอร์ที่เป็น Gecko-Based ได้ ที่ได้มานี่เป็นผลพวงจากความพยายามหาทางที่ง่ายๆ เอามาใช้ใน k-meleon
Credit
- ฝ่ายวิจัยและพัฒนาสาขาสารสนเทศ ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ
- PaePae
- Bact
- Regexp::List
- บทความ จาก Biolawcom.de
สุดท้าย เข้าไปทดสอบการใช้งานได้ (ที่นี่) ระวังอย่าใช้ IE เข้าไป เพราะมันจะช้ามาก
Update: เขียนไปเขียนมา ก็ได้เป็น Firefox Extension กันไปใช้งาน เท่าที่ลองยังคงมีบั๊กอยู่เยอะ โดยเฉพาะพวก Attribute ต่างๆ แต่งานนี้ก็พอใช้งานได้ (ลองเข้า manager แล้วไม่ระเบิด) ไว้ว่างๆ ค่อยมาเขียนดีๆ อีกที
SEO
ตอนนี้มีเรื่องอยากรู้ขึ้นมาอีกเรื่องหนึ่ง คือด้วยรูปแบบภาษาไทยนั้นทำให้การค้นหาภาษาไทยทำได้ไม่ดีนัก
แต่ถ้าเราใช้จุดอ่อนนี้โจมตีอย่างหนักล่ะ น่าสนใจว่าเว็บที่มีคนอ่านเฉพาะกลุ่มอย่างเว็บนี้จะทำให้ดังขึ้นมาได้เท่าใหร่กัน
…รอให้หมดเดือนนี้ก่อน เดือนหน้าจะเริ่มทดลอง
Good-bye, Flock…..
ผมชอบแนวคิด Flock เอามากๆ ทีเดียวล่ะ หลังจากใช้งานจริงมาหลายเดือน ผมพบว่าแนวคิดของมันนั้นต้องเรียกว่าเข้าท่าเลยทีเดียว แต่ถึงวันนี้ผมคงต้องลาจากมัน
เรื่องหนึ่งที่ช่วยไม่ได้เลยคือความเสถียร ขณะที่ผมใช้ k-meleon มาตั้งแต่ 0.8.2 มันทำงานอย่างนิ่งเรียบมาโดยตลอด Flock นั้นกลับให้ความเสถียรได้ต่ำอย่างไม่น่าให้อภัย การเปิด Tab ที่ทำให้ทั้งบราวเซอร์ค้างไปมีขึ้นบ่อยมาก และตัวเขียน Blog ที่ยังมีบั๊กจำนวนมาก
เรื่องหนึ่งคือถ้าใครคิดว่าไฟร์ฟอกซ์มันกินแรมแล้วล่ะก็ คุณจะพบว่า Flock นั้นกินเข้าไปอีก 1.5 เท่าตัวโดยประมาณ ถ้าเทียบกับ k-meleon แล้วล่ะเกินสองเท่าตัวแน่ๆ ซึ่งตรงนี้ผมให้อภัยมันมาโดยตลอดเนื่องจากเข้าใจดีว่าคำว่าอินทริเกรตนั้นไม่ได้ได้มาฟรีๆ
ตอนนี้ในเครื่องเลยเหลือแค่ k-meleon 1.0.2 ที่เพิ่งอัพเกรดมา (ดีกว่าเดิมเยอะ) ไว้ใช้งานจริง ส่วน Firefox นั้นใช้คู่กับ Aptana และ Selenium เพื่อทดสอบเว็บเป็นหลัก
เราอาจจะได้เจอ Flock บนเครื่องผมอีกครั้ง หลังมันผ่าน 1.0 ไปก่อน
ปล. ตอนนี้กำลังเตรียมต้อนรับ TorPark เข้ามาเป็นสมาชิกใหม่อีกตัว