เรื่องงาน-ภาษาไทย
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.

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 ผมอยู่แล้วนะ ขออนุญาตไม่แจกเพิ่ม)
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 ได้ต่อ)
One Less Subject!
เทอมหน้าได้สอนน้อยลงไปตัวนึงแล้ว!

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

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

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

ยังต้อง
สอน/อบรม cocoa อีก
ลง Drupal บน OS X
ก็ยังพยายามหา engine สำหรับ Content Management System (CMS) ง่ายๆ ต่อไป ได้ยินชื่อ Drupal มานานแล้ว แต่ว่ายังไม่ได้ลองใช้ซักที วันนี้ว่างๆ ก็เลยหางานให้ตัวเองทำ

ลง Drupal ง่ายกว่าที่คิดแฮะ ไม่มีอะไรหวือหวาอย่างที่คิด ตอนแรกคิดว่าจะต้องทำอะไรที่มันคล้ายๆ กับ configure-make-make install sequence แต่ว่าจริงๆ แล้วแค่กระจายไฟล์ให้มันได้ drupal-4.x.x ออกมา แล้วย้ายมันไปลงในที่อยู่ของ Apache (ก็คือ /Library/WebServer/Documents) เท่านั้นเอง

ง่ายดีแฮะ.... ไม่มีงานทำเล่นเลย

จากนั้นก็ไป enable PHP ซะ ซึ่งอันนี้เราไม่ต้องทำเพิ่ม เพราะว่าทำไว้แล้ว แต่ว่าถ้ายังไม่ทำ ก็ไม่ยาก หาอ่านได้ทั่วไป .... (search หน่อยนะ) หลักๆ ก็ไปแก้ใน /etc/httpd/httpd.conf ค้นๆ หาพวก php แล้วก็ uncomment มันออกไปซะ แล้วก็ restart Apache ใหม่

ลองสร้างไฟล์ test.php ขึ้นมา ไม่ต้องมีอะไรมาก มีแค่ <?php phpinfo(); ?> ก็พอ โยนๆ มันลงไปใน ~/Sites แล้วก็ลองเรียกดูซิว่ามันทำงานได้ป่าว

จากนั้นก็จัดการเรื่อง database ...​พอดีไม่ได้ใช้ PostgreSQL ก็เลยลองแต่ MySQL อันนี้ไม่มีอะไรมากเลย ก็แค่


mysqladmin -u root -p create drupal
mysql -u root -p drupal < /Library/WebServer/Documents/drupal/database/database.4.1.mysql


ลืมไป .. ถ้ายังไม่ได้ลง MySQL ก็หามาลงก่อนนะ ลงไม่ยากหรอก Happy

พอได้แล้วก็เข้าไปแก้ใน /Library/WebServer/Documents/drupal/sites/defaults/settings.php ค้นๆ หา $db_url แล้วก็แก้ๆ ให้มันเข้าท่า


$db_url = "mysql://root:your_password@localhost/drupal";


จากนั้นก็แก้ $base_url ในไฟล์เดียวกันน่ะแหละ


$base_url = "http://localhost/drupal";


สุดท้ายไปเพิ่มไอ้นี่ให้ crontab

0 * * * * wget -O - -q http://localhost/drupal/cron.php


จากนั้นก็เรียบร้อย Happy ใช้งานได้แล้ว เดี๋ยวไว้ค่อยหา theme กับ module มาลง วันนี้พอล่ะ ขี้เกียจ Happy

drupal
ใช้ Gruff ทำกราฟใน Rails
อยู่ดีๆ เกิดอยากจะลองทำกราฟเล่นกับ ruby on rails ซักหน่อย เพราะว่าคงจะมีเริ่มมีงานที่ต้องใช้งานกราฟสวยๆ อยู่บ้าง (แต่ว่าหลายงานยังหา hosting ไม่ได้เลยแฮะ)

จำได้ตะหงิดๆ ว่าเคยเล่น gruff (หรือว่าอะไรทำนองนี้) อยู่ซักพัก เลยไป search หาใน code playground (ที่ลอง idea ใน harddisk ตัวเองนี่แหละ ตั้งชื่อไปงั้น) สรุปว่าเป็น
gruff จริงๆ ด้วย

แต่ว่า....​ ฮา ต้องลงโน่นนี่ใหม่เยอะเลย เพราะว่าตั้งแต่ล้างเครื่องใหม่นี่ไม่ค่อยได้ลงพวก lib ที่เคยๆ ใช้ไปเลย

ก็ต้องไล่ลง ตั้งแต่
libpng, libjpeg, freetype, ghostscript ฯลฯ โน่นเลย ตรงนี้ Fink ก็พอจะช่วยได้บ้าง แต่ว่าถ้าเป็นพวก lib นี่เอา source มา compile ลงเองดีกว่า ไม่ค่อยเชื่อใจ Fink เท่าไหร่ แล้วก็ต้องลง ImageMagick อีก (ไม่เคยลองกับ GraphcisMagick) แล้วก็ลง RMagick ที่เป็นตัว binding ของ ImageMagick ของ Ruby อีกตัว

จากนั้นค่อยลง gruff .... ตรงนี้ก็ gem install ลงธรรมดาๆ ไม่มีอะไรหวือหวา

อืมมม ใช้งานใน Rails ก็ง่ายดีอ่ะ ตรงไปตรงมา ดู
ตัวอย่างใน web NoR ก็ได้ เคลียร์ดี

screen
ZFS for OS X?
มีข่าวออกมาว่า Apple (หรือว่าอย่างน้อยๆ ก็ engineer คนหนึ่งล่ะ) ให้ความสนใจกับการ port ZFS (Zettabyte File System) ให้ใช้งานได้กับ Mac OS X หรือว่าอาจจะเป็น file system ต่อไปเลย

[
ข่าวดั้งเดิม (mailing list ของ Open Solaris), สนทนาภาษา slashdot, ส่วนนี่ของ osnews]

อืมมมมมม ก็ไม่เลวหรอก โดยส่วนตัวผมก็ไม่ค่อยชอบ HFS+ เท่าไหร่ ... แต่ว่าโปรแกรมบน Mac หลายตัวที่เคยชินกับการระบบไฟล์ที่เป็น case-insensitive (เช่นโปรแกรมจากบางบริษัท ที่ file system ของ OS ตัวเองเป็นแบบนั้นอยู่แล้ว; ทำให้ทำงานกับระบบไฟล์ที่เป็น case-sensitive เช่น UFS ไม่ได้)

ZFS น่าสนใจดี โดยเฉพาะกับ harddisk ใหญ่ๆ แล้วก็มีเรื่องของการ integration ระหว่าง file system กับ volume management แล้วก็เรื่องของ storage pool management ด้วย ยังมีอีกเยอะ แต่ว่าอ่านรายละเอียดจาก
wikipedia เอาเองก็แล้วกัน

แต่ว่า... ไหนๆ จะเปลี่ยนทั้งที ไม่ลองเหลียวแล
Solaris kernel ดูมั่งเหรอ? Solaris ก็ open source แล้วทั้งที (OpenSolaris คือชื่อจริงๆ ตอนนี้ ส่วน Solaris 10 หรือว่า Solaris Express หรือว่าอะไรก็ตาม รวมถึง Nexenta GNU/Solaris ด้วย ก็เป็นแค่ distribution หนึ่งของ OpenSolaris เท่านั้น)

Solaris kernel, *Better* file system (อะไรก็ได้ที่ดีกว่าตอนนี้... ZFS ก็ได้ ไม่ชอบ HFS+), Aqua Interface, Cocoa Framework, OS X features ..... สวรรค์ชัดๆ
มหาวิทยาลัย Washington สอน Rails
อ่านเจอมาจาก Curt's Comments อีกล่ะ ว่า มหาวิทยาลัย Washington (ที่ St. Louis, Missouri) เปิดคอร์สสอน Ruby และ Rails ด้วย

อยากจะเปิดสอนมั่งอ่ะ ...... ไม่อยากเห็นเด็กต้องไปหัดเขียน C เป็นภาษาแรกแล้ว ทำให้เด็กสมัยนี้เขียนโปรแกรมไม่ค่อยเป็นซะเปล่าๆ แล้วก็ไม่เห็นความเกี่ยวข้องกับเรื่องรอบๆ ตัวเท่าไหร่ด้วย ที่สำคัญ มันไม่สนุก

Ruby ก็ได้ Python ก็ได้ ... อยากเปิดอ่ะ
dualGeek podcast ฮิตเกินคาด
แย่แล้ว.... แย่ตั้งนานแล้ว มันฮิตเกินไป เกินคาด เกินบรรยาย bandwidth ที่ .mac ให้กับทางคุณวีร์ (geek #1 ใน dualGeek) เต็ม! หลายคนเจอปัญหา download ไม่ได้ (อย่าว่าแต่คนอื่นเลย เรายัง download ไม่ได้เลย ตอนแรกคิดว่าเป็นที่ network ม. มันห่วยมากกว่า)

เฮ้อ ... สงสัยต้องย้ายบ้านซะแล้ว

และแล้ว ประกาศเลยก็แล้วกัน ตอนนี้ dualGeek จะมีบ้านใหม่แล้วนะครับ ชื่อ
www.dualgeek.com ก็ต้องขอบคุณคุณอภิรักษ์ (Bank) เป็นอย่างมาก ที่ช่วยเป็นธุระเรื่องจด domain และจัดการ hosting ให้ ขอบคุณจริงๆ เลยเพื่อน!

แต่ว่าตอนนี้มันยังไม่มีอะไรนะ รอก่อน จะค่อยๆ update ขยับขยาย Happy
ทำ web server ของ SIGMA lab
ว่าจะทำตั้งนานแล้ว แต่ว่าไม่ได้ทำซักกะที เมื่ออาทิตย์ก่อนก็ยุ่งชะมัดยาด เลยยิ่งต้องค้างกันไปอีก แต่ว่าอาทิตย์นี้น่าจะว่างขึ้นล่ะ คงจะได้ลุยซักที ... แต่ว่าคนที่วางตัวไว้ให้ช่วยทำก็ท่าทางจะยังไม่ว่างนะ (จริงๆ ทำเองหมดเลยก็ได้ แต่ว่าถ้าเป็นงั้นเดี๋ยวเราไป ก็ลำบากกัน..)

อืมม อาจจะต้องสอนชดเชย numerical methods กับ computer simulation ด้วยนะเนี่ย แต่ว่าไม่เป็นไรหรอก ก็ลากมาสอนบน lab จะได้หางานให้ทำด้วย Happy อืมมม ง่ายดี

อ่อ post นี้ไม่มีอะไรมากหรอก แค่มาบ่นๆ ไปงั้นแหละ อีกอย่าง อยากจะทดสอบภาษาไทยด้วย