Sep 2006
32-bit vs 64-bit
อ่านบทความที่ Geek Patrol เรื่อง 32-bit vs 64-bit Performance Under Mac OS X (ต่อมาจาก MacSlash อีกที) เห็นว่าน่าสนใจดี ก็เลยเอามาเล่าสู่กันฟัง และอยากจะแสดงความเห็นเพิ่มเติมด้วย

ขออ้างอิงถึงสิ่งที่ carstonl เขียนไว้ที่ MacSlash หน่อย

Geek Patrol has published an article comparing 32-bit and 64-bit performance under Mac OS X using both PowerPC-based and Intel-based Macs. What's surprising is that while the Intel-based Macs are faster in 64-bit mode, the PowerPC-based Macs are slower.


จริงๆ แล้วก็ไม่ได้ surprise อะไรมากมายถ้าเข้าใจเรื่องสถาปัตยกรรม และรายละเอียดของการออกแบบ CPU แบบ x86 และแบบ PPC

มีคน post ไว้ใน MacSlash ไว้น่าสนใจดี ดังนี้:
โดย dduck

On PPC 64 bits means that often more data (longer pointers) must be moved around. On Intel 64 bits means that AND that several new registers are available. The speedup from the extra registers overwhealms the slowdown from moving longer pointers.

โดย ansemond

As someone who used to work at AMD which designed the x86-64 architecture: - 16 integer pipe registers versus 8 in 32 bit mode (of which 6 get used) - Carefully designed CISC so that 64-bit mode takes only 10% more space than 32 bit mode. This is important because the main bottleneck in modern systems is memory speed (hence the constant increase in cache sizes) PowerPC: - no increase in registers - much larger code size increase, although I can't find exact figures. While no one probably cares, it is instructive that the original Intel 64 bit proposal was one 64 bit register, and no additional registers.

โดย AC

The one word I haven't heard in these responses is caching. Accessing more memory is great, but when you move 64 bit pointer into the cache you have half as much of that fast memory. The other answers here are valid, especially with regards to intelligent programming needed to take advantage of 64 bit. Many programs currently out there have type errors which will be revealed on a 64 bit machine. All processors crash at the same relative speed.

โดย shrem

I think a better question might be why do so many people expect a 64-bit chip to magically make their 32-bit software run faster. (Yeah, I know, most people aren't computer geeks and think a bigger number means faster. It's a rhetorical question.)I don't think that misconception will disappear any time soon. I was saying the same thing when people were crying that their 16Mhz 386 was slower than my 25Mhz 286 when running 16-bit DOS apps.

โดยสรุปๆ จากสิ่งที่คน post ไว้ก็มีเรื่องขนาดของ data ที่แตกต่างกัน ในระบบ 64-bit นี่ ยังไงๆ ข้อมูลที่จะต้องย้ายไปย้ายมาในหน่วยความจำก็ต้องใหญ่ขึ้นแน่ๆ ดังนั้นก็เลยเสียเวลานานขึ้นในการย้ายมัน (ลองคิดถึงย้ายเตียงเทียบกับย้ายเก้าอี้) ดังนั้นถ้าไม่ทำอะไรที่มันฉลาดๆ เลยนี่ จะโดน performance hit แน่นอน

ทีนี้ ใน 64-bit PPC นี่ มันหมายถึงแค่นั้น(มั้ง) แต่ว่าพอเป็น Intel 64-bit (ย้ำนะ เฉพาะ Intel นะ ไม่ได้มีการพูดถึง architecture อื่น) นี่มันจะมี register เยอะมากขึ้นด้วย ดังนั้นถึงจะเจอ performance hit จากปัญหาขนาดข้อมูล แต่ว่าจะมี performance gain จากจำนวน register ที่มีให้ใช้มากขึ้น ซึ่ง ณ จุดหนึ่ง ถ้า gain มันมากกว่า hit เมื่อไหร่ ก็จะเร็วขึ้น (ลองคิดถึงการเพิ่มคนมาช่วยย้ายเตียง .. เช่นย้ายกัน 10 คน เทียบกับย้ายเก้าอี้คนเดียว)

นอกจากนี้ถ้า optimize อะไรมันหน่อย เช่นที่คนที่บอกว่าเคยทำงานที่ AMD บอกไว้ว่ามีการ optimize CISC code ให้ 64-bit mode ใช้ memory space มากกว่า 32-bit mode 10% และได้ point out เรื่องที่สำคัญเรื่องหนึ่งก็คือ
คอขวดมันอยู่ที่ความเร็วของหน่วยความจำ

จริงๆ ผมไม่ใช่ expert ด้านนี้หรอก และคงจะไม่ comment เพิ่มเติมจากสิ่งที่เคยพูดไปบ่อยๆ แล้วทั้งในรายการวิทยุทั้งใน podcast ทั้งใน lecture ว่า 64-bit
ไม่ได้แปลว่าเร็วขึ้น แต่อย่างใด

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

Most people aren't computer geeks and think a bigger number means faster. It's a rhetorical question.)I don't think that misconception will disappear any time soon. I was saying the same thing when people were crying that their 16Mhz 386 was slower than my 25Mhz 286 when running 16-bit DOS apps.

Farewell, Harddrive
I am here to bid farewell to the hard drive of my old Dell Inspiron 8100. I tried to resurrect it to live with its new task: being a machine some of my students in the lab can use occasionally to practice programming and for me to play with some new OS.

I had fun
putting Nexenta alpha 5 on it but it didn't work out so well. I put latest Ubuntu Edgy Eft on it, and it seems to work fine. The only problem I had was internet connection. The wireless card I have doesn't work out of the box and I couldn't connect LAN either. That machine came with an old 3Com ethernet card that needs an connecting adapter (I incorrectly configured it that way, instead of having an internal one, which would not give me any trouble this time). Guess what, I loosed that adapter times ago.

One of my student came an installed Fedora Core 5 on it. Went well until we need to install Emacs. The new package management system (called Pirut or something like that) tried to connect to the internet even though it should search the installation CDs (5 of them, full of mostly used packages) for the software. I had to search the internet for the solution and re-wrote a lot of configuration files (used to do that a lot of the old days of using Linux, still quite handy todays when things aren't the way it should be and finding GUI configuration frontend might be a pain).

All in all, all were fun. I don't remember finding fun like this during my recent days of feeling down with students and works.

Suddenly, during the lab seminar last time (actually we do not have seminar anymore, we just hold a small programming test weekly. 4-5 Best students in my lab make programming problems and then judge other student's solution), the hard drive went dead.

I tried my best to resurrect the drive. But it seems that it's gone for good.

Farewell, my friend. You have worked hard. I remember working on my undergraduate thesis with you on the Inspiron 8100. Good old days.

Now I set myself 3 things to do when I goto computer store again next time:

  • Find a replacement hard drive. The machine still usable and would serve finely for student learning programming and Linux.
  • Find another LAN card with another connector, preferably built-in to the card so I won't loose it again.
  • Battery. This is the hardest and possibly the most expensive and unworthy. The machine could just serve as a desktop (it's a big monster, one of the biggest in its prime days). The battery might be too expensive for its worth. But if all are reasonable, then why not.

I also have to fix the screen of my Inspiron 4150. That machine is still working very fine but the screen had broken. If all things on the list work out, then I would have 2 more machines in the lab for student learning things and working on projects with a cost of less than 1 new machine. I know both machines are still more than capable for those tasks.
An Inconvenient Truth
เพิ่งไปดูมา หนังดีเหมือนกัน Al Gore เล่นได้ดี มี presentation ที่ convincing .. อีกหน่อยจะเอามาเป็นตัวอย่างเวลาสอนคนทำ presentation ถึงแม้ว่า presentation ของ Gore จะไม่ใช่ academic ซะทีเดียว (ค่อนข้างหนักไปทาง political message มากกว่า)

มีเรื่องเดียวที่ไม่ชอบ ไม่รู้คิดมากไปหรือเปล่า แต่ว่าที่ Gore เอาเรื่องหายนะที่เกิดขึ้นที่ Florida มาพูดขึ้น พร้อมๆ กับพูดเรื่อง consequence (ตรงนี้ยังรับได้) แต่ว่าอยู่ดีๆ ก็เอาเรื่องที่ตัวเองแพ้เลือกตั้งที่ Florida ทำให้ชวดการเป็นประธานาธิบดีอเมริกาขึ้นมาพูดเฉยเลย ไม่พอ ประเด็นยังเป็นเรื่องการให้ความสำคัญกับคำว่า Political issues ของนักการเมือง (แน่นอนล่ะ ในเรื่องนี้ Gore projects ตัวเองว่าเป็นนักการเมืองที่ให้ความสำคัญกับประเด็นนี้มาตลอด)

นอกนั้นถือว่าดี Message ชัดเจน clear มาก ตัวอย่างและข้อมูลที่นำมาอ้างอิงถือว่า convincing ลักษณะการพูด การเน้นการย้ำ การลงเสียง ถือว่ายอดมาก presentation ก็ทำมาได้ดี ....

แถมเรื่องนี้ โฆษณา Apple ชัดๆ มี shot ที่ถ่าย PowerBook สวยๆ หลาย shot เลยทีเดียว และมีภาพ Gore ใช้ PowerBook ตลอด ด้วยท่าทางเหมือนกับคนที่ใช้ PowerBook รุ่นแรก (ในโฆษณาเก่าของ Apple ตัวหนึ่ง ที่ผมก็จำไม่ได้ว่าตัวไหน)

กำลังคิดว่าจะเอา Idea การ present แบบนี้ (ยกคำว่า Inconvenient Truth เลย) ไป present เรื่องสถานการณ์ software ในบ้านเรา หรือว่าศักยภาพที่เรามี ในคราวนี้ที่ได้ไป lecture เรื่องพวกนี้เหมือนกัน
Programming Tutorial Blog
กำลังคิดว่าจะทำ web blog อีกอันหนึ่ง เขียน tutorial ง่ายๆ ของ C++ STL, Ruby, Python เก็บไว้ในลักษณะของ Cookbook บ้าง Demonstration บ้าง เป็นพักๆ

อาจจะ post สองที่นะ ที่นี่กับที่
ThaiMacDev เพราะว่าเรา(แทบจะ)ไม่เคยเขียนอะไรลงที่นั่นเลยทั้งๆ ที่เป็นคนตั้งมันขึ้นมาคนหนึ่ง (แต่ว่าต้องยกความดีความชอบให้ apirak มากกว่า เพราะว่าเค้า contribute ให้ที่นั่นเยอะจริงๆ)

คิดว่ายังไงบ้าง ช่วยส่งความคิดมาที่ rawitat[at]cp.su.ac.th (แทน [at] ด้วย @ นะ .. ที่ทำแบบนี้เพราะกัน mail mining spider) นะครับ เพราะว่า blog นี้มันเขียน comment ไม่ได้ หรือว่าจะ msn มาก็ได้ (เฉพาะคนที่รู้จักผมและมี msn ผมอยู่แล้วนะ ขออนุญาตไม่แจกเพิ่ม)
Information in Reality
เร็วๆ นี้พี่นีย์​ (.สุนีย์) มาคุยด้วยเรื่องอยากจะให้เปิดสอนวิชา Information Theory (อาทิตย์ก่อนแกมายืมหนังสือเรื่องนี้ไปอ่าน) ก็เลยยืน lecture ให้แกฟังหน่อย เรื่องพื้นๆ ฐานๆ แล้วก็ทำไมเด็ก com sci หรือว่า IT ถึงควรจะเรียนเรื่องพวกนี้ไว้บ้าง .. จริงๆ แล้วในยุคที่อะไรๆ มันก็เป็นการสื่อสารหมดแบบนี้ หรือว่าเรามองอะไรๆ ว่าเป็นรูปแบบหนึ่งของการส่งข้อมูลแบบนี้ เรื่องแบบนี้ยิ่งกลายเป็นเรื่องพื้นฐานของอะไรหลายๆ อย่างเข้าไปใหญ่ (เด็กชีวะก็น่าเรียนนะ เพราะว่า DNA ก็ทำนองนั้นแหละ ..)

แต่ว่า blog นี้จะพูดคนละประเด็นกันนะ ไม่ใช่จะพูดถึงเรื่อง Information Theory หรอก แต่ว่าพอดีวันนี้เข้ากรุงเทพ มาถ่ายรูปรถถัง เอ๊ย ไม่ใช่ๆ มาดูหนังเรื่อง The Inconvenient Truth ที่สกาล่า ก็เลยมาเดินเล่นที่ Siam Discovery เพื่อซื้อหนังสือ วารสาร (แต่ว่าก่อนหน้านี้แวะไปซื้อวารสาร Software Development ญี่ปุ่นที่ Kinokuniya, Central World มาแล้ว) แล้วก็แวะๆ ดูร้าน Apple Center หน่อย ก่อนจะกินกาแฟนั่งทำงาน (ตอนที่เขียน blog นี่แหละ) ตามกิจกรรมปกติที่ทำทุกทีเวลามาที่นี่

เรื่องมันเกิดขึ้นตอนที่เดินดูของใน
Apple Center (หาซื้อ Sleeve ให้ MacBook สีขาวเครื่องใหม่ซะหน่อย แล้วก็เหล่ๆ iPod nano รุ่นใหม่ด้วย กล่องมันเล็กสะใจดีจริงๆ) ก็เสียมารยาทยืนฟังพนักงานคนหนึ่งของร้าน (ซึ่งคงทำหน้าที่เป็นพวก support เพราะว่าท่าทางรู้เรื่องโน้นเรื่องนี้ดีหน่อย เทียบกับพนักงานขายคนอื่น) คุยกับ(ว่าที่)ลูกค้าคนหนึ่ง เรื่อง Windows on Mac

ได้ยิน Information ที่มันฟังดูเหมือนจะถูก แต่ว่ามันไม่ถูก(ว่ะ) เยอะมาก เช่น
  • Windows มันถูกสร้างมาจาก C code แต่ว่า Mac มันเขียนมาจาก code อื่น เลยทำให้อ่านกันไม่ได้
  • Mac อ่านไฟล์จาก Windows ได้ แต่ว่าเขียนไม่ได้ ต้อง copy ใส่ USB Thumb Drive เวลาจะ copy ไฟล์กันระหว่าง Windows-Mac ในเครื่องเดียวกัน
  • ระบบไฟล์มันต่างกัน นามสกุลเลยต่างกัน
  • แนะนำลูกค้าว่า ลง Windows ในเครื่อง Mac ไม่ต้องลง Antivirus หรอก ผม(คนขาย) ก็ไม่ลง
  • อื่นๆ จิปาถะ เกี่ยวกับ Power management & Sleep mode

ไอ้เราก็ยืนฟังด้วยความรู้สึกแบบ...
  • มันเกี่ยวกันตรงไหนวะ
  • ก็พี่ท่านเล่นใช้ NTFS มากกว่าล่ะมั้ง ถ้าเป็น FAT32 ก็ไม่มีปัญหา (ซึ่งตรงนี้ในเอกสารของ BootCamp ก็เขียนแนะนำไว้ด้วยว่าให้ใช้ FAT32)
  • เหรอ .. เพิ่งจะรู้นะเนี่ย ใช้ File system มาจริงๆ จังๆ ตั้ง 5-6 อย่าง (ทั้ง xfs, zfs, ext2, ext3, .... ) ไม่เคยได้ยิน/เจอ เรื่องแบบนี้เลย
  • จะบ้าเรอะ?!?!
  • อื่นๆ จิปาถะ เช่นกัน

จริงๆ แล้วการพยายามจะให้ Information เนี่ย เป็นเรื่องดีนะ และเท่าที่ฟังๆ ดู โดยรวมก็ไม่ได้ผิดอะไรมากมายจนคอขาดหรอก (บางทีอาจารย์มหาวิทยาลัยหลายๆ ท่านยังไม่ค่อยรู้เรื่องพวกนี้ละเอียดเท่าไหร่เลย แต่ว่าก็ lecture เด็กผิดๆ ถูกๆ หน้าตาเฉย ว่าก็ไม่ได้ด้วย) แต่ว่ามันก็ผิดเหมือนกัน

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

  • เด็ก Com Sci คิดว่าตัวเองรู้จัก Operating System ก็น่าจะลองศึกษา Linux, *BSD ดูบ้าง ลองศึกษา Monolithic kernel กับ Microkernel บ้าง
  • เด็ก Com Sci คิดว่าตัวเองรู้จัก OOP ก็น่าจะลองเล่น SmallTalk บ้าง
  • เด็ก Com Sci คิดว่าตัวเองรู้จัก Web Programming เคยเล่น Ruby on Rails บ้างมั้ย หรือว่าถ้าจะบอกว่า PHP ก็พอแล้ว ก็เคยเล่น Cake หรือว่าตัวอืนๆ บ้างมั้ย
  • Apache Axis, Cocoon, Strut, พวกนี้คืออะไรเคยเล่นบ้างหรือเปล่า?
  • เคยเขียนโปรแกรมแต่กับ Turbo C ...​เคยลองโผล่หน้าไปดูโลกบ้างมั้ยว่า C standard ปีไหนๆ มันมีอะไรใหม่ๆ บ้าง C++ ปี 98 หรือว่าหลังจากนั้นเป็นยังไง STL รู้จักมั้ย?
  • เคยเขียนโปรแกรมแต่กับ Turbo C ...เคยได้ยิน Eclipse หรือเปล่า?
  • เรียน Computer Graphics ไปน่ะ ลองดูบ้างมั้ยว่าเทคนิคการทำ Ray Tracing มันแตกต่างไปยังไง เร็วขึ้นมั้ย มี impact ยังไง ภาษา Cg ภาษา GLSL เป็นยังไง OpenGL 2.0 ต่างกับ 1.x ตรงไหน
  • เรียน Database มา เคยสนใจบ้างมั้ย เรื่อง OODB ข้อดีข้อเสียเทียบกับ RDB หรือว่าก่อนหน้านั้น เคยถามคำถามพื้นๆ บ้างมั้ย ว่าโครงสร้างข้อมูลของมันเป็นยังไง optimization ของ query ทำยังไง
  • เรื่องอื่นๆ จิปาถะนะ เรื่อง technology awareness ของตัวเองล่ะดีแค่ไหน?
  • ไม่ใช่แค่กับวิชาคอมพิวเตอร์นะ เรียน Stat มาเนี่ย รู้บ้างหรือเปล่า ว่าอะไรล่ะ รอบๆ ตัวที่มันเป็น binomial distribution หรือว่าเป็น Poisson distribution ไม่ใช่แค่ท่องตำรา เรียน Calculus มาเนี่ย เคยคิดบ้างหรือเปล่าว่าอะไรรอบๆ ตัวที่มันอธิบายได้ด้วย Differential Equation เรียน Discrete Maths มาเนี่ย อะไรบ้างรอบๆ ตัวที่มันเป็น Discrete Structure?
  • ฯลฯ ขี้เกียจเขียนแล้ว

ก็เข้าใจล่ะนะ ว่าทุกวันนี้ปริญญามันสำคัญ แต่ว่ามีอะไรที่มากกว่า bare minimum ติดตัวไปซักนิดนึงก็คงจะไม่มีใครว่าอะไรหรอกมั้ง (หรือว่ารู้มากไป ทำอะไรได้มากไป แล้วเจ้านายจะด่า จะทำงานไม่ได้ หาคนแต่งงานด้วยยาก บุพการีเสียดายตังค์ส่่งเสียเรียน? ... วันก่อนประชุมเรื่องประกันคุณภาพภายใน ท่านประธานกรรมการก็บอกเสียงดังฟังชัดดี ว่าเด็กบ้านเรามันไม่รักดีเทียบกับเด็กสิงคโปร์)

เออๆ ชักไปกันใหญ่แล้ว กลับมาเรื่องเดิมดีกว่ามั้ง

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

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

ดังนั้น ก็คงต้องขอความร่วมมือกันดื้อๆ เอาแถวๆ นี้แหละครับ ไว้จะพูดในรายการวิทยุ MCOT 100.5 วันศุกร์สิ้นเดือนอีกที

[
Update 25/09 แก้คำผิดเล็กๆ น้อยๆ]
Tired again
This post will be written deliberately in English (and some Japanese).

I started developing a feeling of tiredness once in a while, regarding students and people and works in general. I think we have wrong attitude toward works and teaching. Also we have too little understanding and awareness of how our students actually are.

I could not summarize in any short word how students are actually. Even though a few Japanese words might help me a bit:

出来が悪すぎる & 経験がなさ過ぎる

Students can't do even little projects. Well, that's not the beginning.

I recently found that a lot of 4th year students, who should be ready for doing their graduation project, can't even write a simple program to get some input and check if it's a palindrome or not. A lot of them have struggling with finding prime numbers too. It's funny that students in my lab help me tested them with 1st year exercises (7 problems) and most of them took more than 5 hours and can't finish them all.

I talked to some 2nd year students recently and not-very-recently too. I know that this might not be a good sampling population, but I also know that one of whom I talked to is happened to be do OK in programming compared with his friends.

I asked one of them to write a program to greet her 5 times on the console. 10 minutes, she can't do it. I asked one another to write a program to just output elements in array of dummy type (T) of unknown length. He wrote:

strlen(a[]) = n;

Shocked, I asked him does he know about the lvalue and rvalue. He doesn't. Fine. I tried to explain and then he could correct it.

Again, this showed how inexperience students are with coding.

My recommendation to the department is to have a research lab system where we can give them more experience and tackle more difficult projects and problems than these. But not everyone agree. Some even said that students should work on their own and once they have enough experience I could hire/get them into the lab and working on research project that I got the grant.

B.S.

How would that explain all the students I mentioned above? Thai students have wrong attitude about studying and love spoon feeding. If I give them problems to solve on their own and throw books and advise to them and ask them to study and come to meet me once a week, do you know what will happen?

I tried. All gone.

I know that space are sacred in my department and not everyone could have privilege to use it. However, I do not agree with keeping them unused either. I know it isn't fair for other students, but I don't think that would be a reason to abandon them all. Now, abandoning every student is a little fairness we could give them. But what's the point?

I talked to Hirokawa recently and mentioned to him that I gave up trying to educate every students. I rather keep just 10% of each year. I do think it make a lot of sense.

In my department, not everyone could come everyday. So why not give some space where people who comes everyday could gather students and
teach them how to work, exclusively? I do not agree on waiting for them to be good at software development and programming and have enough computer science knowledge ... and then ask them to work with me for their graduation projects.

Most 4th year students aren't in that level, even now. They shocked me.

Now, once again in a while, I questioned my wisdom and intention and ideology about coming back and work in university, where I could teach people and help improve the education and help doing projects. I questioned myself had I destroyed my own potential and ability of who I could become and what I could do.

I questioned the impossibility: if I could make that choice, once again.
สืบเนื่องจาก post ก่อน
ไม่มีอะไรมาก แต่ว่ามีอะไรให้ดูหน่อย

ภาพที่ 1
Picture 1

ภาพที่ 2
Picture 2
พลังจุด
มีหลายเสียงเรียกร้องอยากให้เขียน version ภาษาไทยของ blog entry อันก่อน ก็เลยเขียนซะ ฉลองศรัทธา

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

ตั้งแต่ใช้ Mac มา ก็คิดว่าหนีมันพ้นแล้วเชียวนะ (เพราะว่าเปลี่ยนมาใช้
Keynote จากชุด iWork) แต่ว่าเร็วๆ นี้ เนื่องจากต้องเข้าฟัง seminar ของนักศึกษาทั้งปริญญาตรี ปริญญาโทเยอะ ที่นักศึกษาต้องมา present งานวิจัยหรือว่างานวิจัยชาวบ้าน (paper ชาวบ้าน) ... ความเป็นจริงอันโหดร้ายก็บอกเราว่า เรายังหนีมันไม่พ้นหรอก ดีไม่ดีจะไม่มีวันหนีพ้นด้วย (จริงๆ บอกว่านักศึกษามา present ก็ไม่ถูกนักหรอก เพราะว่าแทบจะร้อยทั้งร้อย มันไม่ใช่การ present ... เรียกมันว่าออกมานั่งพ่น slide ดีกว่า

ก็เลยนึกสนุก เปิด Powerpoint 2007 beta ขึ้นมาดู user-interface จากมุมมองของ Human-Computer Interaction กับ Usability หน่อย เพราะว่าปกติแล้วการทำงานของผู้ใช้น่ะ มันก็ถูกตีกรอบด้วยลักษณะการทำงานของโปรแกรม ความคิดของคนที่เป็นผู้ใช้ ทั้งโดยตรงโดยอ้อม (คนที่สร้าง presentation และคนที่ฟัง presentation) ก็ถูกตีกรอบด้วยโปรแกรม ...

เจออะไรบางอย่างที่ shock ยิ่งกว่าดูหนังสยองขวัญตอนตีสองอีก.....

ก่อนอื่น ดูอะไรน่าสนใจจาก Keynote ก่อนละกัน .... นี่คือ main interface ที่เราจะเห็นตลอดเวลา เหนือพื้นที่แก้ไข presentation (โดยที่ผมเปิด option ให้แสดงทั้ง text และ icon .. ปกติจะใช้ icon อย่างเดียว)



ทุกอย่างมัน obvious .. มันเห็นได้ชัดเจนมาก ในฐานะของคนๆ หนึ่งที่ present บ่อย (ทั้ง internal ทั้ง public) และสอนหนังสือด้วย สิ่งที่ผมต้องทำประจำก็คือ
เพิ่ม slide และ present นอกจากนั้นก็แล้วแต่กรณี ต้องเปลี่ยนวิวบ้าง (เพราะว่าบางทีเราอยากจะดู thumbnail ของ slide ทั้งหมด บางทีอยากเห็น master slide) ต้องเปลี่ยน theme บ้าง ต้องเปลี่ยน master layout สำหรับ slide ปัจจุบันบ้าง

เรามาดูที่ฝั่งพลังจุดกันบ้าง



โอ๊ะโอ!!! .... อะไรวะเนี่ย!!!

ไม่แปลกใจเลยแฮะ ที่ slide พลังจุดส่วนมาก จะเป็น rip-off, copy & paste มาจากที่ไหนซักที ส่วนมากก็จาก word doc หรือ website ... เพราะว่า Paste มันเป็น dominant function นี่เอง (จริงๆ แล้วมันคงเป็นปัญหาไก่กับไข่ เนื่องจากคนส่วนมากทำ slide พลังจุดด้วย copy & paste; ctrl+c ctrl+v ... ทาง MS เลยสร้าง Paste ให้กลายเป็น dominant function ไป เพราะว่าไปดู Powerpoint รุ่นก่อนมา มันก็ไม่ใช่แบบนี้)

เรื่องนั้นช่างมัน ... ยอมรับมันไป ว่าแต่ ไอ้ปุ่มที่จะเข้า present mode มันอยู่ไหนหว่า

เพ่งหน้าจออยู่นาน เหมือนเล่นเกมจับผิดภาพ



กรี๊ด!!!! เจอแล้ว!!!!

ไม่น่าแปลกใจเลยแฮะ ที่นักศึกษาแทบทั้งหมดที่เราเข้าไปฟัง
ไม่ได้ give presentation (คือ การมานั่งอ่าน slide ไปเรื่อยๆ สำหรับผมแล้ว มันไม่ใช่ presentation) หรือว่าไม่ได้เอาตัวเองเข้าไปใน presenter mode เพราะว่า ... presentation มันไม่ใช่เรื่องสลักสำคัญอะไรกับพลังจุด การเอา slide เข้า presentation mode มันไม่ใช่เรื่องสลักสำคัญฉันใด ผู้ใช้ก็ไม่ต้องเข้า presenter mode ฉันนั้น

สำหรับผมแล้ว โปรแกรมพลังจุด หรือ Powerpoint นี่ไม่ใช่แค่นี้ แต่มันยังต้องรับผิดชอบกับการทำลายความคิดสร้างสรรค์ (creativity) ทำลายจินตนาการ (imagination) อีกมากมาย

ไม่มีอีกแล้ว ที่เราจะต้องสร้างจิตนการเวลาฟัง lecture ที่คนบรรยายจะพยายามสร้างภาพอะไรบางอย่างขึ้นมา และเราจะต้องพยายามนึกภาพนั้นตาม ซึ่งเนื่องจากแต่ละคนจะนึกไม่เหมือนกัน ดังนั้นสิ่งที่แต่ละคนได้ไป ก็จะขึ้นกับพลังในการสร้างสรรค์ของจินตนาการของตัวเอง ทำให้โลกเจริญขึ้นมาได้ เพราะว่าเกิด biodiversity ทางความคิด ความหลากหลายต่างๆ นานา ฯลฯ ไม่ใช่แค่นั้น คนที่ทำหน้าที่ present ก็ไม่ต้องคิดมากอีกต่อไป ว่าจะทำยังไงถึงจะขายฝัน ขายไอเดีย ขายแนวคิด ขายสิ่งที่ตัวเองค้นพบ ขายข้อมูล ฯลฯ อำนาจของการ convince ที่ตกต่ำลงอย่างน่าใจหาย (ลองคิดสิ ว่าเคยฟัง academic presentation หรือว่า business presentation ที่มัน so convincing ครั้งสุดท้ายเมื่อไหร่?)

และอะไรเกิดขึ้นตามมา? เราทำ slide เพื่อเตรียม present กันยังไงล่ะ? เราใช้มันแทน word ใช่มั้ย? ด้วยข้ออ้างเลวๆ ว่านักศึกษาสามารถนำไปอ่านทบทวนได้ในภายหลังใช่มั้ย?

นี่แหละคือ disaster ของจริง ทำไมงั้นเหรอ?

ง่ายๆ เพราะว่า Presentation มันไม่ใช่ Document มันไม่ได้ถูกสร้างขึ้นมาเพื่อเป็น comprehensive document หรือว่าเพื่ออ่าน ศึกษา โน่นนี่ ตั้งแต่ต้นแล้ว เนื้อหารายละเอียด ควรจะอยู่ในหนังสือ หรือว่า handout ที่เป็น text (ไม่ใช่ slide-printout 6 หน้าต่อแผ่น etc) ลักษณะการเขียนก็ไม่เหมือนกันแล้ว ผมไม่ขอบรรยายรายละเอียดมากนะ
ลองอ่านนี่ดูจะเข้าใจมากขึ้น (link จาก Presentation Zen)

เมื่อเราเลือกเนื้อหามาลง slide เราจะต้อง reformat แล้ว reformat อีก ตัดแล้วตัดอีก เพื่อให้ font มันพอจะมองเห็นได้ อ่านออก จากหลังห้อง lecture และไม่พอ เรายังสร้างกรอบที่ไม่จำเป็นในการ presentation ให้ตัวเองอีกด้วย แทนที่เราจะให้ hint, clue ตัวเองด้วย symbol อะไรซักอย่าง และพูดออกไปจาก symbol นั้นๆ ด้วยประสบการณ์ ความเข้าใจ และสถานการณ์ระหว่าง presentation เรากลับเอา text มาเยอะแยะ และบังคับให้ตัวเองต้องพูดตามนั้น ซึ่งส่งผลเสียต่อมาอีกมากมาย เช่น

  • การ present จะไม่ dynamic หรือ flexible พอที่จะ adapt ไปตามสิ่งที่คนฟังต้องการจะฟังได้ และเมื่อคนฟังไม่ฟัง เราก็จบ ในฐานะคนพูด อย่ามาอ้างว่าเป็นอาจารย์ ยังไงนักศึกษาต้องฟัง นี่คุณกำลังโยนความรับผิดชอบ โยนสิ่งที่คุณเป็นคนก่อขึ้นมาเอง ให้กับนักศึกษา อ้างหน้าที่ โดยไม่ดูก่อนว่าหน้าที่ตัวเองคืออะไร
  • คนที่ฟังจะนึกภาพไม่ออกหรอก ว่าไอ้สิ่งที่เราพูดๆ ไปเนี่ย มันเกี่ยวอะไรกับโลกรอบๆ ตัวเค้า สิ่งที่เค้ามีประสบการณ์ หรือว่ามองเห็นอยู่แล้ว
  • ทุกคนจะคิดว่า อ่านจาก slide มันพอ ไม่ต้องไปอ่านหนังสือเพิ่มเติม เพราะว่า slide มันทำมาให้อ่านทบทวน ... ถ้าคุณไม่คิดว่าตรงนี้มันผิด หรือว่ามันแม่งๆ ก็ไม่รู้จะว่ายังไงแล้วนะครับ เพราะว่า slide น่ะ มันทั้งติดแล้วตัดอีก reformat แล้ว reformat อีก ย่อแล้วย่ออีก สุดท้ายคนที่ฟังคนที่เรียน ได้อะไรที่มัน so bare minimum
  • คุณเป็นคนไม่มีตัวตน ใครก็นั่งอ่าน slide คุณได้เหมือนคุณน่ะแหละ แทนที่คุณจะ communicate กับคนที่ฟัง สร้าง ecosystem ของความเข้าใจ ฯลฯ

สิ่งที่สำคัญที่สุด คือ ไอ้ slide พลังจุดแบบนั้นน่ะ มันเน้น มันย้ำ มันก่อให้เกิด การท่องจำแบบนกแก้ว ยิ่งไปกว่าอะไรทั้งหมดที่เคยมีมา ลองคิดเอาเองละกันครับว่าทำไม ทดสอบ creativity & imagination ของตัวเองซะหน่อย

ถ้าจะให้ผมเลือกนะ สิ่งที่ทำลายความคิด ความฝัน อำนาจการสร้างสรรค์ จินตนาการ และการศึกษา มากกว่าอะไรทั้งนั้นสำหรับการศึกษาระดับอุดมศึกษาในยุคนี้นะ ผมเลือก Powerpoint โดยไม่ต้องคิดซ้ำสองให้เสียเวลา
Powerpoint
Got sick of Powerpoint. Yes. Another YES.

I thought I had escaped from it, saving my sanity with Apple's amazing
Keynote (part of its iWork suite, one of the original reasons I bought my first PowerBook). However, reality told me I haven't and probably can't.

Recently I have to attend lots of student seminar (not my own lab's seminar, almost everyone uses Keynote and blackboard here). Most of them with poorly made Powerpoint presentation. Oops, sorry, mostly there aren't presentation either. Most of them are slide-reading driods.

I took a hard look at Powerpoint 2007 beta, from a Human-Computer Interaction and Usability point of view. I looked hard at the interface and how it dictates a user's workflow, and I found out something that shocked me.

In Keynote, here is the main interface (I turned on Text option, normally I use Icon-only here):

keynote

Things are pretty obvious. As someone who often give presentation & lecture, here are things I do the most: Add more slides, and Present it. I generally, from time to time, has to rearrange the view, change the theme for a certain slide, and use different master slide layout.

I looked at Powerpoint 2007, here's terror:


powerpoint1

What? Well, no wonder. Most students I saw in the seminar made their slides by pasting text from somewhere, most notably Word Documents and Web Sites. And where is the Present mode button?

I searched for it, and it is located near the bottom right of the screen. A tiny button, obscurity compared to the Paste panel:


powerpoint2

Well, no wonder. Student are NOT giving presentation. Not only students but lots of lecturers also teach by slide-reading and bullet-mumbling. Presentation is not important from Powerpoint perspective.

Powerpoint not only accounted for destroying one's ability to give present creatively, it also destroy imagination. No longer would one have to think creative and build the world up from a black backboard, no longer things will be visual. Everything is bulleted, listed, and worded. This encourages rote-memorization more than anything else.

So, if I have a chance to single out a worse source of disaster for this generation's level of education, creativity in work, and imagination, I'd single out Powerpoint without any hesitation.

[
Note to self: maybe you are just sick of seeing too much poorly-made presentations, too many slide-reading students (who probably seeing too many lecturers doing that), too many bullets.
Giving Leopard Developer Preview Another Try
After playing with Leopard DP for a while during WWDC, I decided it isn't ready as a main OS.

Today I made another decision, I am ready for the rough edge. I don't do anything much fancy nowadays and probably in need of an adventure, sort of (yeah, this would explain why I even bother with Nevada, Nexenta, etc). So I'm giving Leopard DP I got from WWDC another try. (Xcode and Core Animation alone are so tempting. I'm not exciting about the Time Machine until I know for certain what will become of the file system).

I was thinking of installing it on my old iPod 3G and retiring it to be just my playground for Leopard DP. But, hmm, on the second thought, let's not do that and install it as a main OS.

Mind you, it is
**not ready** as a main OS. Things will change and a lot of things are ugly. Problems everywhere. After installed it today as upgrade of an existing OS (10.4.7), I already submitted 5-6 problems to Apple. Also, some problems with Interface Builder. The problem that wasn't there when I installed it clean during WWDC. So, well, nevermind, I reinstalled it again, clean. That specific problem with Interface Builder is now gone. So it's an upgrade bug.

Also, here and there, some (lots of) software do not work. OK, I can live with that. If the software is open source, then I can grab the code and try to compile it and see what happens. Some works, some doesn't work still. Now,
that's fun. (Trying to figure out how to get the X11 works in Debian-SPARC is fun, too .. but tiring).

Annoying bugs persist, too. But that's normal for software at this stage.

Those of you who are downloading Leopard off the torrent or get it from any other where, hoping to play with cool new toy please be ware: It's not ready.

Also, do not ask me to compare Leopard Developer Preview to
Windows Vista RC1, one is a Developer Preview, while another is a Release Candidate, which means one is a far cry from release while another is already a candidate for the final release. It would be comparing Apple (no pun intended) to Orange.
Nexenta GNU/OpenSolaris on Dell Inspiron 8100
Tried another OS recently. Nexenta Alpha 5.

I didn't expect it to just work like Ubuntu. I just wanted to know whether a Slowaris, sorry Solaris,-based OS with GNU-userland will be fast enough for that old machine or not, comparing to MS Vista running on a P4 3.0.

Installation didn't take that long, comparing to Solaris 10 x86 from Sun on another Dell (Inspiron 4150) and Solaris Nevada on Sun Ultra 80. Managed to start it up ... BUT ..

Well, screen resolution at 640x480. I tried to find the xorg.conf file to reconfigure. All I found is xorg.conf.old with something about Wacom input devices. Why are those lines? I copied that file to xorg.conf and commented out those lines. Xorg didn't start. Something about the fbdevhw driver. I changed the display driver to nv but it still doesn't work. Also it seems to mess up the keymap. So when I type anything in the console, anything will turn to garbage.

Nexenta looks & sounds promising, and I'd been eager to try it (but sadly, there isn't enough machines in our lab so I could play with any OS). However, this time ... hands up. Until next time, maybe the Beta or (hopefully) Released version.

[Updated 06/09/06] Ended up installing the latest Ubuntu Edgy Eft Knot 2. Still got the VGA problem during the installation. Normal for that Inspiron 8100 anyway.
[Updated 07/09/06] Had problems with a few things. Didn't back up the blog. Got the text for this entry from the website. Re-enter it on 07/09.
OpenSolaris Nevada Build 46 Sparc
Spent a night downloaded a DVD ISO image.

Burnt it this morning. Walked to one of the SPARC machines in the lab. Placed the DVD into the drive. Reboot. Stop+A. Typed

boot cdrom


...
Doesn't work. Bad magic number (what is that? ... very informative message)

Went to Sun's support forum website, Toshiba DVD-ROM firmware need patching. Going to get busy this afternoon. Forget it. Will download and install it later. Seems a bit lousy. Will report back later.

Might end up downloading just the CD image (5 CDs) though.