Jun 2006
Tixe framework - Cocoa Bindings for WebKit
Anyone who has been playing with Cocoa Bindings knows its power. Cocoa Bindings can make a lot of complicate model-view bindings much simpler by providing a generic mechanism via Key-Value coding (KVO) utilization.

I demonstrated Cocoa Bindings with a simple NSTableView in my previous
Cocoa Bootcamp: Basic Cocoa developer training during the past weekend. It simplified the complexity of the code dramatically. An application that would require an hour to code could be done in a matter of minutes, saved many many trivial (but nevertheless long and error-prone) lines of code.

And I just found
Tixe framework, a 3rd-party framework entitling Cocoa Bindings for WebKit. We all know what a WebKit is, and in the training I even showed how to make a minimalist, bare-bone but functioning web-browser with zero line of code.

The features listed in the website (from what I can extracted from a long paragraph) are interesting. DOM-tree supports, CSS, JavaScript bindings, etc.

Probably the best is: It's becoming a standard part of WebKit. Therefore, it should be available with WebKit implementation from now on.

I'm giving this one a try, when I have some free time to spare.
Cocoa Bootcamp: Basic Cocoa [17-18 June]
ไปสอนเขียนโปรแกรมบน Mac OS X โดยใช้ Cocoa Framework + Objective-C มา

ดู
รายละเอียดของ course Basic Cocoa ที่ Thai Mac Developer

โดยรวมแล้วดีนะ คนที่มาเรียนส่วนมากเป็นคนที่สนใจจริงๆ และหลายคนก็รู้จักกันผ่าน online community มาก่อนแล้ว บรรยากาศเป็นกันเองดี สอนสนุก แต่ว่าแน่นอนว่าบางทีก็มีส่วนที่มัน rough บ้าง (เพราะว่าจะว่าไป ผมก็ไม่เคยสอนเขียน Cocoa จริงๆ จังๆ แบบนี้ซักที เคยแต่สอนแบบแนะๆ ตัวต่อตัว)

มีคนที่ไปอบรม (คุณ Isriya Paireepairit)
เขียน blog ถึง ด้วย (+ มีรูปอยู่รูปนึง ... ถ้าอยากดูรูปมากกว่านี้ก็รบกวนเชิญที่ Freemac.net)

สำหรับ Advanced Cocoa จะเน้นเรื่องพวก framework ที่ทำให้เขียน application ได้ในระดับสูงกว่านีี้ ก็จะมี Core Image และ Core Data นอกจากนั้นอาจจะมีเรื่องของการเชื่อมกับ Spotlight และการทำให้ application ตัวเองมัน script ได้จาก AppleScript นะ ... ก็ยังไม่แน่ใจว่าจะยัดเยียดเนื้อหาลงใน 2 วันได้แค่ไหน เพราะว่ามันก็มีเรื่อง trade-off พอสมควร (จะเอา broad หรือว่าเอา depth และมีเวลาอยู่กับแต่ละเรื่องนานๆ ล่ะ)

ถ้าถาม id คงจะบอกให้โชว์ GNUstep ด้วยมั้ง Winking
Forensic Science Day 1
วันนี้สอนนิติวิทยาศาสตร์วันแรก สนุกดี เป็นคลาสกับกลุ่มคนที่รู้สึกว่าสอนแล้วสนุก หรือว่าตัวเราเองคงต้องได้ทำการบ้านเยอะแน่ๆ เป็นครั้งแรกตั้งแต่กลับมาจากญี่ปุ่น

นักศึกษาก็มากันหลายพื้นเพ หลาย background แบบนี้ท่าทางจะสนุกจริงๆ น่ะแหละ แค่วันนี้ยังไม่เข้าเนื้อหาจริงๆ แค่ intro เรื่องบางเรื่องแล้วก็ลองให้จับกลุ่ม discuss กัน ก็สนุกแล้ว ได้ idea อะไรหลายอย่างมากขึ้นเยอะ หลายเรื่องหลายมุมมองเราก็ไม่เคยคิดเลย (ก็มันไม่รู้นี่หว่า ไม่มีใครบอก) ก็ได้แนวคิดเยอะแยะ เสริมความคิดเรื่องการคิดโปรเจคให้มาเข้ากับหลักสูตรนี้ได้เยอะเลย

สรุป สนุก

เสียดาย อาทิตย์หน้าไม่ได้สอน เพราะว่าติดสอน Cocoa (การพัฒนาโปรแกรมบน Mac; ดู
รายละเอียดที่ Thai Mac Dev) ก็ต้องให้ อ.สุนีย์ สอนแทนไป เรื่อง Database & Information system ก็เป็นเรื่องที่พี่เค้าอยากจะสอนที่ภาคอยู่แล้วมั้ง แต่ว่าไม่ได้สอนซะที

ยังคิดไม่ออกเลย ว่าครั้งต่อไปจะสอนเรื่องอะไรดี ยังไงรบกวนนักศึกษาวิชานี้ ถ้าได้อ่านนี่ ยังไงก็ลองแนะนำกันมาที่ mail นะครับ (ตอนนี้ผมกำลังคิดว่าคงจะเริ่มพูดถึง Digital content creation กับ management ก่อน จะได้ลามไปถึงพวก Pattern classification & recognition ได้ต่อ)
บอลโลก
ดูผ่านไป 2 แมทช์ เห็นที่เค้าว่ากันว่าเป็นเต็งสองกับเต็งสามไปแล้ว

บอกไว้ก่อนว่าผมไม่วิจารณ์แบบเซียนข้างสนามนะ ขอพูดถึงในฐานะคนที่ดูให้สนุกมากกว่า

ผิดหวังแฮะ เยอรมันเกมรับมีปัญหาแน่ๆ ชัวร์ ขนาดเจอกับคอสตาริกานะ ยังเจอปัญหาขนาดนี้ ส่วนเกมรุกยังไม่อยากบอกอะไรมาก จะว่าเจ๋งก็เจ๋ง แต่ว่าเจอคอสตาริกาบอกอะไรไม่ได้มากหรอก รอให้เจอที่แข็งกว่านี้ก่อนค่อยว่ากัน ... แต่ว่าเกมรับนะ ถ้าเจอแบบบราซิล หรือว่าอาร์เจนตินา อาจจะเละได้ง่ายๆ แต่ว่าสรุปว่าเยอรมันเล่นสนุกดี เป็นนัดเปิดสนามที่ดูสนุกที่สุดที่เคยดูมา (ตั้งแต่ปี 90, ปี 86 นี่ไม่ได้ดูนัดเปิด แต่ว่าถึงดูก็คงไม่ได้ซึ้งอะไรกับมันมาก เพราะว่าปีนั้นนอกจาก มาราโดน่าเจ๋ง แล้วก็ดูอะไรไม่ค่อยรู้เรื่องหรอก)

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

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

ที่แน่ๆ คงจะต้องรอดูหลายทีมเล่นน่ะแหละ ก็ยังไม่เห็นบราซิล ฝรั่งเศส โปรตุเกส เชค ฯลฯ เล่นเลย

ยังไงๆ .. สรุปผมเชียร์ญี่ปุ่น

[ไหนๆ ก็ยังไม่ได้ upload entry นี้ขึ้น ก็เขียนต่อมันซะเลย]

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

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

หนทางยังอีกยาว ก็ดูมันไปเรื่อยๆ แหละ (งานการอย่าเสียก็แล้วกัน)
บ่น Word [ภาค 2]
จะบ้าตาย

ส่ง paper ไปเข้า conference 3 ชิ้น ตอนแรกเค้าให้ upload ไฟล์เป็น PDF และ source ของ paper เป็น .doc หรือ LaTeX ซึ่งโดยปกติผมมักจะใช้ LaTeX เขียนอยู่แล้วกับงานแบบนี้ ไม่ค่อยอยากจะใช้ word เขียนเอกสารที่มันเป็นวิชาการ ต้องใช้การ cross reference เยอะๆ เท่าไหร่ เพราะว่ามันลำบากพอสมควร แต่ว่า LaTeX มันจัดการให้หมด

ทีนี้ พอ paper ได้ accepted ไปแล้ว ก็มานั่งแก้เป็น camera-ready version ที่เค้าให้ upload ทั้ง PDF ทั้ง source เหมือนเดิม แต่ว่าคราวนี้ให้ upload source ได้แต่ .doc

ไอ้เราก็นั่งใบ้กินอยู่ แต่ว่าก็ทำเป็น LaTeX และ upload ที่เป็น .tex ไปเหมือนเดิม

วันนี้มีคนโทรมาถามว่า "paper ของอาจารย์ 3 paper นี่ช่วย upload source ให้ใหม่ได้มั้ยคะ" เหตุผลก็เพราะว่าอ่านด้วย word ไม่ได้ ผมก็เลยบอกไปว่า ผมไม่ได้ใช้ word เขียน ผมใช้ LaTeX ก็ได้รับคำตอบมาว่า "มีทางจะแปลงให้เป็น .doc มั้ยคะ" ...

ก็ไม่รู้จะทำไงดี

ที่บ่นคราวนี้ ไม่ใช่เรื่องความห่วยของ word หรอก (ชื่อ entry มันก็ misleading ไปหน่อย) แต่ว่าเป็นเรื่องที่ทำไมเราถึงต้องไปยึดติดกับสิ่งที่มันไม่ได้เป็นมาตรฐานขนาดนั้น ให้มาเป็นมาตรฐานด้วย ผมไม่ได้พูดเล่นนะ ต่อให้มีคนใช้ word มากแค่ไหน มันก็ไม่เป็นมาตรฐานอยู่ดี เพราะว่ามันต่างกันเกินไปในแต่ละ version เอางี้ละกันว่า .doc ของ word97 ไปอ่านใน word2000 ก็มีปัญหาเรื่อง format และอิื่นๆ อีกเยอะ

ทำไมเราไม่ให้ choice เรื่องนี้วะ อย่างน้อยๆ เรื่องบทความวิชาการ ต่างประเทศเค้าก็ accept LaTeX กันเป็นปกติ บทความส่วนมากก็ไม่ได้ใช้ word เขียนกัน จะรับ .doc ของ word ผมไม่ว่าอะไรหรอกนะ แต่ว่าอย่างน้อยๆ ก็น่าจะรับ LaTeX ด้วย
One Less Subject!
เทอมหน้าได้สอนน้อยลงไปตัวนึงแล้ว!

ตอนแรกต้องสอน computer graphics ปริญญาโทด้วย แต่ว่าเนื่องจากคนลงน้อยเกินไป (ณ เวลาปัจจุบัน) ก็เลยต้องปิดมันไปด้วยเหตุผลว่าไม่คุ้มค่าใช้จ่าย (ที่เราก็ไม่รู้ว่ามันมีอะไรมั่ง หรือว่าต้องลงกี่คนถึงจะคุ้ม หรือว่าไอ้คุ้มไม่คุ้มนี่มันคิดยังไง ในกรณีนี้)

ทำให้เทอมหน้าเหลือแค่ computer graphics (ป.ตรี), user interfaces, unix system admin, techniques in game development (ICT), IT สำหรับ forensic science, แล้วก็ประสานงานวิชา seminar ของป.โท IT

ซึ่งมันก็เยอะอยู่เหมือนกัน แต่ว่าไม่เป็นไร อย่างน้อยก็น้อยลงไปวิชานึง

ยังต้อง
สอน/อบรม cocoa อีก
Vincent (Starry, Starry Night)
อ่าน blog ตัวเองเมื่อวันก่อน (เรื่อง X-Men) ตอนท้ายๆ ที่เขียนถึงเรื่อง Phoenix แล้วนึกถึงเพลง Vincent ของ Don McLean ที่เขียนถึงจิตรกร Vincent van Gogh และภาพวาด Starry Night

เป็นเพลงที่ชอบมากที่สุดเพลงนึงนะ วันไหนที่อารมณ์อ่อนไหวนี่ บางทีฟังแล้วจะร้องไห้เลยก็มี

อ่านเนื้อเพลงเต็มๆ ได้ที่นี่
[
สำหรับคนที่ไม่เคยฟังหรือว่าเคยสนใจเนื้อ ก็รบกวนเข้าไปอ่านหน่อยก็แล้วกันนะ ก่อนจะอ่านต่อไป]

ไม่ขอแปลทั้งหมดละกัน มันเศร้า แต่ว่าขอแต่งกลอน(ห่วยๆ) นิดหน่อย กับบางท่อนที่ฟังแล้วมันสะเทือนความรู้สึกส่วนตัวมากๆ พอสมควร ก็แล้วกัน...

And when no hope was left inside
On that starry, starry night
You took your life as lovers often do
But I could have told you Vincent
This world was never meant for one as beautiful as you

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

Now I understand
What you tried to say to me
How you suffered for your sanity
How you tried to set them free
They would not listen they did not know how
Perhaps they'll listen now
.....
Now I think I know
What you tried to say to me
How you suffered for your sanity
How you tried to set them free
They would not listen they're not listening still
Perhaps they never will

ท้ายที่สุดฉันก็รู้และเข้าใจ
เธอเจ็บปวดมาเท่าไรกับความฝัน
แล้วผู้คนก็คงเข้าถึงมัน
หรือสุดท้ายก็ไร้วันจะรับฟัง

starry-night
[ภาพ Starry Night ของ van Gogh]