0

ย้าย

ย้ายไปที่ http://blog.vee-u.com นะครับ. จะได้ใช้ OpenID login มา comment ได้ :-D. ขออภัยด้วยที่ย้ายไปย้ายมาบ่อยๆ. แต่ว่าใช้ vee-u.com แล้วคงไม่ต้องย้ายบ่อยละ ลงโปรแกรมใหม่เอา.

เพิ่มเติม (15/2/2551): ตอนนี้ blog.vee-u.com กับ openil.wordpress.com กลายเป็นที่เดียวกันแล้ว.

3

ประทับใจ Drupal

วันนี้ลองเล่น drupal ดู ติดตั้งง่าย แถมมี feature ที่ต้องการอีกเพียบ

  • Translation: เราสามารถเขียน 2 entry ที่ เป็นคำแปลของกันและกัน ถ้าใครอยากอ่านภาษาไทยก็ click ไปอ่านได้. อยากอ่านภาษาอังกฤษก็ click ไปอ่านได้  ตัวอย่าง. ทำให้ชาวบ้านที่ไม่ได้อ่านภาษาไทยอ่านได้ คนที่อ่านภาษาไทยได้ก็ได้อ่าน โดยไม่ต้องมาเขียนปนๆกันใน blog entry เดียวให้วุ่นวาย. หรือต้องมาทำ link เองละหว่าง entry ให้งง.
  • มี comment alert (wordpress ก็มี) ทั้งแบบ mail และ rss
  • support OpenID แบบมาใน package หลักเลย ใน version 6beta :-P
0

Junit4 @expect in Python

เวลาจะ test ว่าอยากให้ function ที่เราเรียนมัน raise exception  ตามที่เราต้องการหรือเปล่า ถ้าเป็น JUnit เราก็ใส่อะไรประมาณข้างล่างได้ (แค่ประมาณอาจจะเขียนไม่ถูก)

@expect(IOException)

void testFoo() {

….

}

แต่ว่าพอมาเป็น Python จะทำอย่างไร จากคำแนะนำจากคุณสุกรีที่ codenone ก็ได้แบบนี้ออกมา

def expect(expr):
    def decorator(f):
        def wrapper(*__args, **__kw):
            try:
                f()
                assert False
            except Exception, (e):
                assert type(e) != type(expr)

        return wrapper
    return decorator

@expect(RuntimeError)
def func1():
    raise Exception

func1()

เขียนแยกๆ ดิบดี พอเอาไปใช้กับ nose จริงๆ เจ๊ง -_-!.

0

ปัญหา libthai บน mac os x

ผมพยายามจะลง libthai จะลง libthai ได้ ก็ต้องลง datrie ก่อน. แต่ลงไปแล้วก็ติดเหมือนจะติดที่คำสั่ง nmedit ท่าน่าจะเป็นลงพวงมาจาก Makefile.am ที่มี option ของ library ที่ดูแปลกๆนิดๆ

libdatrie_la_LDFLAGS =  -no-undefined \
        -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
        -export-symbols $(srcdir)/libdatrie.def

ให้เดาก็อาจจะมาจากว่า autoconf หรือ automake ไม่แน่ใจ อาจจะ generate อะไรออกมาแล้วไม่เหมาะกับ mac os x ก็ได้ (แค่สมมุติฐาน). อย่างไรก็ตามผมก็ได้แจ้งไปใน thai foss/linux group ละ.

ทีแรกว่าจะลอง libthai4r (Ruby libthai binding) ซะหน่อย. แต่แค่ build datrie ก็จอดซะละ -_-.

0

เมื่อ Mac OS X บูทไม่ขึ้น

ปกติถ้าใช้ Debian เวลาบูทไม่ขึ้นก็พอจะดูจาก error message ได้ว่าเกิดอะไรขึ้น ในกรณีที่ไม่มี splash screen. ใน Mac OS X เวลาบูทส่วนมากจะเห็นแต่รูป apple แหว่ง เวลาไปค้างก็ไม่รู้ไปค้างที่ไหน. อย่างไรก็ตามเรามีท่าแก้ให้ Mac OS X บูทแบบเห็น message ต่างๆนานาได้ โดยการกด command + v ค้างไว้เวลาบูท เท่านี้ก็จะเห็นอะไรออกมาคล้ายตอน Debian หรือ NetBSD บูทแล้ว. สำหรับเครื่องผมมันไม่ขึ้นเพราะ file system เจ๋ง และก็มีข้อความขึ้นมาบอกว่าให้รัน fsck ด้วยมือ แต่บูทก็ไม่ขึ้นจะมารัน fsck ได้ไงอะ.  ผมก็เลยไป search Google ก็เจอเว็บนี้. เขาบอกว่าให้รับ fsck จาก single mode. ส่วนการจะเข้า single mode เวลาบูทก็ให้กด command + s ค้างไว้. ผมลองทำตามก็ปรากฎว่าเข้ามาที่ shell ได้จริงๆ ก็สั่ง fsck -fy ตามคำแนะนำต่อ และรอไปอีกพักใหญ่ fsck ก็ทำงานเสร็จ ผมก็สั่ง reboot ก็พบว่า Mac OS X กับมาใช้ได้เหมือนเดิม.

สาเหตุการเจ๊งครั้งนี้น่าจะมาจากการที่เครื่องค้าง งงๆเหมือนกันว่าทำไมค้าง แต่ก็ใช้มานานแล้วอะนะจะรวนบ้างก็ไม่แปลก. ผมก็กดปิดแล้ว แต่ว่า file system ที่ผมใช้คือ UFS ที่ไม่ใช่ Journaling file system แบบ Ext3 หรือว่า HFS+ (ของ Mac OS X) เอง. แต่ก็ใช้ UFS เพราะว่าใช้ OS อื่นๆที่ไม่ใช่ Mac OS X มาอ่าน partition ได้. นี่ก็น่าจะเป็นสาเหตุที่ทำให้ file system เจ๊ง

0

IIS

ผมเขียนโปรแกรมสร้าง web feed ด้วย PHP เป็นอันเสร็จเรียบร้อย.  แผนที่คิดไว้คือเอา Apache ลงด้วยแต่ย้ายไป port 8080 แล้ว จากนั้นก็ใช้ IIS ทำ Proxy เอา. แต่หลังจากลองไปจิ้มๆ Windows ดู เขียน PHP พื้นๆเอาใหม่ดีกว่า นั่งแก้ configuration ของ IIS :-P.

0

Mac OS X กับ Ubuntu

เพื่อนๆมักจะถามอยู่เสมอว่า Apple Macintosh (Mac) มีอะไรดี. เบื้องหลัง platform ต่างๆก็มักจะมี zealot สนับสนุนอยู่เสมอๆ ไม่ว่าจะเป็นระบบไหนๆ ไม่ว่า Mac Ubuntu และ Windows. ผมก็อาจจะเป็น zealot อีกคนหนึ่งเหมือนกันเพราะแอบชอบ Mac มาร่วม 10 ปี จนมีเล่นเป็นของตัวเองได้ 2-3 ปีนี่เอง. มีใช้แล้วก็ชอบใจ เล่นแล้วก็ติดงอมแงม. เรื่องนี้ผมก็พยายามจะเขียนอธิบายว่าทำไมชอบ Mac OS X เมื่อเทียบกับ Ubuntu. ทั้งที่มีหลายอย่างที่ผมชอบ Ubuntu มากกว่า Mac OS X แต่ผมก็จะยังไม่เขียน.

  • Sleep – จริงๆแล้วเครื่องที่ใช้ Ubuntu ก็ sleep ได้ แต่ว่าเท่าที่พบ batt ก็หมดเร็วมาก. หรือว่า Hibernate ก็ได้ แต่ว่าหลังจากทีเปิดใช้อีกที ก็มักจะมีอาการรวนๆ. เครื่อง Mac เก่าๆอย่าง iBook ที่ลง Mac OS X ไว้ปกติแล้ว Hibernate ไม่ได้ ได้แต่ sleep แต่ว่ามันก็ sleep ได้นานพอสมควร มีไฟแสดงชัดเจนว่ากำลัง sleep อันนี้อาจจะเป็นข้อได้เปรียบของการขายพ่วง Hardware + Software. พอ sleep แล้วปลุกให้มันตื่นขึ้นมาแทบไม่พบอาการรวนเลย. ยกเว้นตอน harddisk เจ๊งนะ.
  • การจัดการหน้าต่าง – mac os x สามารถเลือกย่อหน้าต่างของ application เดียวกัน หรือหน้าต่างทั้งหมด ให้อยู่ในหน้าจอเดียวกันแล้วเลือกใช้แต่ละหน้าต่างได้. ความสามารถแบบนี้ Compiz ก็ทำได้เหมือนกัน แต่ว่าใช้ Compiz แล้วก็เวียนหัว อาจจะต้องมีการปรับแต่งอีกสักเล็กน้อย.
  • การค้นหาเอกสารในเครื่อง – บน Mac OS X มี Spotlight ทำให้คนหาเอกสารในเครื่องได้รวดเร็วเพราะทำ Index ไว้ก่อน. จริงๆแล้ว Ubuntu ก็ทำอีกเหมือนกัน อาจจะดีด้วยแต่ผมก็ยังไม่เคยลอง :-P.

เรื่อง development tools ก็อาจจะพอเอามาเปรียบเทียบกันได้ แต่ว่าเอาไว้ก่อนแล้วกัน เขียนมากเกินไปจะผสมปนเปกันเปล่าๆ. ตามความเห็นของผม Ubuntu และ​ Mac OS X มีอะไรที่คล้ายกันมากขึ้นเรื่อยๆ เช่น การใช้ sudo แกมบังคับ แต่ผมก็ไม่รู้เหมือนกันว่าใครทำก่อน. แม้แต่ icon ที่ใช้รอที่กลมๆแล้วมีอะไรหมุนๆก็หน้าตาเหมือนกันอย่างกับแกะ. มากไปกว่านั้นโปรแกรมที่หลายคนพิจารณ์มาตลอดว่ามี user interface ที่ใช้ยากเย็นอย่าง Gimp ก็มีคนออกแบบใหม่. ทำให้ผมคิดว่าชุมชนนักพัฒนาของ Linux, Gnome และโครงการซอฟต์แวร์เสรีอื่นๆก็คงทราบจุดเด่นจุดด้อยของโปรแกรมที่ตนเองร่วมพัฒนาอยู่เทียบกับระบบอื่นๆอย่างชัดเจนมานานแล้ว. ตั้งแต่อดีตถึงปัจจุบัน โครงการอย่าง Gnome ก็แสดงให้เห็นแล้วว่า มันน่าใช้ขึ้นทุกวันทุกวัน. ในอนาคตผมก็เชื่อว่าความชื่นชอบ user interface ของ Gnome กับ Mac OS X (ของผม) ก็น่าจะใกล้เคียงกันขึ้นเรื่อยๆ. ส่วนเรื่อง sleep และ hibernate ก็คงต้องพึ่ง Linux? หรือว่าต้องพึ่ง Hardware?

0

เกือบจะแทน (Apple) mighty mouse ได้

mouse

ซื้อมาใหม่จากงาน comworld ที่พารากอน. กะว่าน่าจะใช้แทน mighty mouse ได้. แต่จริงๆมันก็แทนไม่ได้หรอก แต่มี feature ที่สำคัญคือ scroll ทางแนวนอนได้. ไปดูจริงๆ Genius มี 4D mouse ตั้งหลายรุ่น แต่ว่ารุ่นอื่นๆ ใช้การโยก scroll wheel เอา. แต่ว่ารุ่นนี้ใช้แสงหมดเลย ภายในไม่มีชิ้นส่วนเคลื่อนไหวเลย ยกเว้น switch ที่เอาไว้ click. ราคาถูกกว่า mighty mouse มากๆ เขาบอกว่าถ้าขายนอกงาน comworld ก็ประมาณ 800 บาท.

mouse นี่ผมเอาไว้ให้นักภาษาศาสตร์ที่ annotate corpus ให้ใช้. เพราะว่า annotation editor มันต้อง scroll ทางแนวนอนเยอะ. ถ้าเกิดว่าได้ผลกะว่าจะลองขอเงินที่ lab มาซื้อเพิ่มดู.