0

HTML in SVG

ปกตืชาวบ้านเขามีแต่เอา SVG มาใส่ใน HTML แต่ผมอยากจะเอา HTML ใส่ใน SVG เพราะว่า text ใน SVG เล่นลำบากเหรอเกิน line break อะไรก็ทำไม่ได้. ลองค้นหาดูโดยใช้ google และโดนใช้คำค้นว่า “HTML in SVG” ก็พบว่ามีคนทำจริงๆ ที่ http://starkravingfinkle.org/blog/2007/07/firefox-3-svg-foreignobject. แต่ปัญหาก็อาจจะอยู่ที่ว่าจะมี web browser ที่ไหน support บ้าง -_-!. แต่ให้ตรงตามที่ W3C กำหนดก็ตาม.

ป้าย:

4

อยากลองใช้ map filter lambda ดู

โปรแกรมนี้ให้อ่านไฟล์ที่ตัดคำแล้วพร้อมกำกับชนิดของคำประมาณ

ฉัน/ncn กิน/vt ข้าว/ncn

แต่มันมีหลายบรรทัด มีสัญลักษณ์ ##### บอกว่าเป็นอีกเอกสาร บางทีมี [ ] ครอบบางอย่าง. จริงจะเขียนดีใช้ list comprehension ใช้หลาย function ช่วยมันก็ได้ทั้งนั้น. แต่อยากลองใช้ map filter และ lambda ดูว่าจะอ่านไม่รู้เรื่องแค่ไหน :-P. ว่าจะ rewrite แต่ก็ขี้เกียจอยู่.

def read_corpus(filename):    
       return map(lambda line: map(lambda tok: tok if tok[0] != "_" else [" ", tok[1]],

                                map(lambda tok: re.split("/", tok)[0:2], 

                                    filter(lambda tok: tok != '#', line))),

            map(lambda line: re.split("s+", unicode(line, "UTF-8")),

                filter(lambda line: not (re.match("^#####", line) 

                                         or re.match("^s*$", line)),

                    map(lambda line: re.sub("s*]s*$", "", line), 

                        map(lambda line: re.sub("^s*[?s*", "", line), 

                            getlines(filename))))))

ป.ล. code gen ออกมาจาก Kate ชอบๆ สวยดี :-D.

ป้าย:

2

ถึง Turbogears จะ restart ช้าแต่ก็ไม่เป็นไร

ถึง Turbogears จะ restart ช้าแต่ก็ไม่เป็นไร. เพราะวันๆผมนั่งแก้ Javascript -_-!. อยากได้ IE มาลองบ้างใจ. ไปงานไหนแจก Windows Vista บ้างเนี่ย หรือจะใช้ท่า NT4 รันบน qemu ดี?. ทำเว็บมาใช้ได้แต่ Firefox :-P. จริงๆตอนนี้ก็ไม่มีปัญหาอะไรมาเพราะคนใช้มีแค่คนสองคน แต่ถ้าทำออกไปวงกว้างกว่านี้คง support IE ด้วย. Webkit และ Opera ด้วยถ้าได้เครื่องใหม่ หรือว่า Mac OS X กลับมาใช้ได้นะ.

0

QT build นานจัง

แอบไปดู HarfBuzz (Unified text layout engine) มา. กว่าจะ load code มาดูได้ลำบากเหมือนกัน ใช้ revision control ตัวเดียวกับ Linux  คือ Git แต่เวลาลงบน Debian ชื่อ cogito -_-!. เวลาจะดู code มาสั่ง cg-clone git://anongit.freedesktop.org/git/harfbuzz (จริงๆอาจจะมีท่าอื่นที่ดีกว่านี้นะ). เปิดดูข้างในมี  harfbuzz-thai.cpp ด้วย -_-!. แต่ว่าข้างใน  #if 0 ไว้ แสดงว่ายังไม่เปิดใช้นั่นเอง. ดูจากเจ้าของ code และ code ข้างในแล้วท่าทางจะเอามาจาก QT ของ Trolltech โดยเรียนใช้ libthai อีกที. วันนี้ก็เลยลอง build QT เล่นดู เหมือนจะนานกว่า build Firefox อีก -_-!. อยากได้ Althon 64 X2 lol.

ป้าย:

0

GDP by language

เวลาเราทำโปรแกรมหลายภาษา (ปกติมันก็ควรจะหลายภาษาอยู่แล้ว) อาจจะนึกสงสัยว่าอาจจะเริ่มจากภาษาไหนก่อนดี. อาจจะดูจากจำนวนประชากรใช้ภาษานั้นๆ. อีกท่านึงก็คือดู GDP อันนี้อาจจะสอดคล้องกับการค้าขายสักหน่อย ตามไปดูได้ที่ http://www.unicode.org/notes/tn13/. ภาษาอังกฤษ และจีนนี่นำโด่งอยู่แล้ว. ญี่ปุ่น สเปน ก็ตามมา.

ป้าย:

0

patch line break โดยใช้ Carbon บน Mac OS X check-in เข้า Mozilla แล้ว

patch line break โดยใช้ Carbon บน Mac OS X check-in เข้า Mozilla แล้ว. อาจจะมีเพราะป๋าเทพปูทางมาไว้ดีแล้ว ดูเหมือน patch เองไม่ได้มีอะไรยากเท่าไหร่ ยกเว้นเรื่องตัดสินใจว่าจะใช้ ATSUI หรือ UCTextBreak ดี ความยากทั้งหลายอยู่ที่การสื่อสารกับชาวบ้าน และเรียนรู้วิธีการใช้ Bugzilla แทน. หลายๆครั้งก็ต้องทำชิลๆ กับคำแนะนำส่อความก้าวร้าวรุนแรง ต้องติด filter เอาความรุนแรงออกแล้วเอาเนื้อหาสาระไว้ ลอล. สัมผัสได้จากการตามอ่าน ระหว่างที่ผมนอนหลับ กินโน่นกินนี่ นั่งเขียน paper คุณ keng.ws ก็จัดการจนได้ check-in ไปแล้ว :-).

ป้าย:

0

patch line breaking โดยใช้ uniscribe เข้า Firefox แล้ว

patch uniscribe เข้า Firefox แล้ว. ต่อไป Firefox บน Windows ก็น่าจะตัดคำได้ดีพอๆกับ IE. แต่ว่า Carbon ยังไม่ได้ check-in เพราะว่าพอ check-in uniscribe เข้าไปแล้วก็ต้องมาแก้ของ patch carbon อีก ให้มาเข้ากันได้อีก. แต่ก็เบาใจได้เพราะคุณเก่ง.ws ดูแลเรื่องนี้อยู่ :-).

ติดตาม patch uniscribe | ติดตาม patch carbon

ป้าย:

3

Firefox 2.x รุ่นต่อๆไปอาจจะตัดคำภาษาไทยได้ (เหรอ?)

ผมตามดูความคืบหน้าของ Bug #389520. ตอนนี้ตามอ่านจริงๆคงช่วยลองอะไรไม่ได้เพราะว่าไม่มี Mac OS X แล้ว และไม่แน่ใจว่าจะมีใช้อีกหรือเปล่า. ปรากฎว่าใน Bugzilla มีสถานะขึ้นว่า dsicore: approval 1.9+ ซึ่งหมายถึงว่านักพัฒนา dsicore เห็นชอบที่จะให้ commit patch นี้เข้า branch 1.9 (ใช่มะ? ผมก็เดาๆมั่วๆ). branch 1.9 ถ้าจำที่คุยกับ mk มาไม่ผิดก็คื branch ของ Firefox 2.x นั่นเอง?.

ป้าย:

0

javascript unit testing

วันนี้เปิด iceweasel มาเข้า openil.wordpress.com กะจะเขียนเรื่อง javascript แต่รู้สึกว่าแสดงผลแปลกๆ เลยไป download mozilla จะมา build ก็ build ไม่ผ่านติด xptcall งงๆ. ก็ลงเอยด้วยการเปลี่ยนหน้าตาเว็บแทน :-P.

วันนี้ลองหาเรื่อง javascript unit testing ดูก็เจอ jsmock กับ jsunit ที่พอจะ run เดี่ยวโดยไม่ต้องไปพึ่ง Java หรือ .Net ให้วุ่นวาย. jsunit ดูตรงไปตรงมา เขียนมาท่าเดียวกับ junit เลย. แต่ว่า jsmock เอาไว้สร้าง mock object เป็นเครื่องมีที่ยังไม่เคยใช้. แต่ก็นึกออกขึ้นมาทันที่เลยว่า ที่ผมเขียน class ชื่อ Fake___ ทั้งหลายใน test ท่าทางมันจะเป็น mock object นี่เอง.

ดูเว็บดู code ของ jsmock แล้วมันน่าจะใช้ดีก็เลยจะลอง jsmock ก่อนเลย. ลองดูๆอีกทีเหมือน framework ใหญ่ๆ อย่าง script.aculo.us กับ mochikit ก็อาจจะมีเครื่องมือช่วยทำ unit testing ให้ด้วย

ป้าย