Programming

How to Teach Programming

A very good article on ReadWrite: [Why Programming Is The Core Skill Of The 21st Century](http://readwrite.com/2013/05/31/programming-core-skill-21st-century). > Programming skills are becoming ever more important, quickly turning into the core competency for all kinds of 21st Century workers. That inescapable fact is leading individuals to seek out new ways of learning to code, startups and non-profits to find ways to help them and businesses to search for innovative approaches to finding the coders they so desperately need. Ok.

How Many #KruCook are Mentioned?

เรื่องมีอยู่ว่า พยายามหา Twitter monitoring tool แต่ไม่เจอถูกใจสักตัว (อยากได้แค่วัด mention เนี่ยล่ะ) เลยเขียนเองมันเสียเลย หลักการคือดึง JSON จาก [Twitter Search API](http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search) มาวิเคราะห์ ตอนหัวค่ำเขียนอยู่พักนึงเป็นที่พอใจ กะว่าเสร็จแล้วเอาไปรันทุกวัน วันละครั้งด้วย cron ก็น่าจะจบ แต่ละครมาครับ แถมเป็นครูกุ๊กตอนอวสานด้วย ระหว่างดูก็เหลือบไปเห็น[ข้อความของ @patsonic](http://twitter.com/PatSonic/status/6964461531) > Twitter มันเต็มไปด้วย #ครูกุ๊ก #อลิณ #KruCook ก็เลยปิ๊งไอเดียว่า เอาโค้ดมารันดูดีกว่าว่ามีคนพูดถึง #ครูกุ๊ก ระหว่างที

My First Palm Pre App

It's deadly simple. 1. [Install Palm SDK/Emulator on Linux](http://developer.palm.com/index.php?option=com_content&view=article&id=1585) (Two .deb and one Sun JRE package) 2. [Follow Hello World Tutorial](http://developer.palm.com/index.php?option=com_content&view=article&id=1758) What I can tell right now: * webOS is "real web". UI element is <div> and you can change it via JavaScript DOM tree plus optional CSS. * Feel like writing OS X Dashboard widget or Firefox extension.

MediaWiki Random Block

เป็นงานที่ทำไว้เมื่อ 1-2 สัปดาห์ก่อน มาจดวิธีการไว้กันลืม เรื่องมีอยู่ว่ามีคำขาด (เรียกให้สวยว่า "ข้อเสนอแนะ") จากสปอนเซอร์ของโครงการ [Thailand Political Base](http://politicalbase.in.th) ว่า "ทำเว็บให้มันสวยกว่านี้หน่อยซิ" ผมเลยจำเป็นต้องมายุ่งกับ MediaWiki ซึ่งเป็น CMS ที่ซับซ้อนมากตัวหนึ่งที่เคยจับมา (เหตุผลที่สำคัญอันหนึ่งก็คือ MediaWiki เป็น CMS เพื่อ Wikipedia เท่านั้น period ถ้าเอาไปใช้อย่างอื่นจะลำบากมาก แต่ในกรณีของ Thailand Political Base จะไม่เข้าข่ายเพราะว่ามีลักษณะเป็นสารานุกรมเหมือนกัน) ผมคิดว่าจุดอ่อนของ [หน้าแรกเดิม](http://politicalbase.in.th/index.php/Old_Main_Page) คือหน

Programming Philosophy

[Perl](http://en.wikipedia.org/wiki/There_is_more_than_one_way_to_do_it) > There is more than one way to do it [Python](http://www.python.org/dev/peps/pep-0020/) > there should be one—and preferably only one—obvious way to do it Java (from [@sugree](http://twitter.com/sugree/statuses/779462290)) > write once, run only there

My First iPhone App

* เห็นขนาดไฟล์แล้วปาดเหงื่อ (2.1GB) และได้ข้อสรุปว่าต้อง torrent เท่านั้น * แต่ torrent ที่หอช้าจัด ต้องเดินไปโหลดมหาลัยซึ่งก็ไม่ได้ไปทุกวัน กว่าจะโหลดเสร็จกินเวลาไปสองสัปดาห์ ยังดีที่มันไม่ corrupt ตอนเมาท์ dmg แล้วขึ้น verifying นี่โคตรลุ้น * ลองแล้วพบว่าเหมือนที่เขียนไว้ใน [Blognone](http://www.blognone.com/node/7210) คือ learning curve สูงพอสมควร เพราะเราต้องหัดใหม่ทั้ง Objective-C และคลาสต่างๆ ใน Cocoa Touch ไปพร้อมๆ กัน นี่กำลังคิดว่ากลับไปหัด Objective-C บนคอนโซลก่อนน่าจะดีกว่า * Objective-C มี alloc โผล่มาเตือนให้นึกถึงความหลัง ชักเสียวๆ * Simulator อันใหญ่ไจแอนท์มาก โผล่มาทีเต็มจอ ลดข

Introduction to AOP

เมื่อคืนคุยกับคุณ [Chanwit](http://chanwit.blogspot.com/) ทาง IM เกี่ยวกับโครงการวิจัยเรื่องเอา [AOP](http://en.wikipedia.org/wiki/Aspect-oriented_programming) มาใช้กับงานด้าน [HPC](http://en.wikipedia.org/wiki/High-performance_computing) ผมรู้จัก AOP อยู่นิดเดียว (แค่แนวคิดการแยก concern) วันนี้เลยได้ฤกษ์หาความรู้เพิ่มเติม แต่การหา tutorial ที่เขียนในมุมมองที่เราอยากรู้นั้นใช่ง่าย ส่วนใหญ่มักรีบลงรายละเอียดทางเทคนิคเร็วเกินไป และเน้น implementation มากกว่า methodology นั่งอ่านอยู่หลายอันก็พบว่าอันนี้ตรงตามความต้องการที่สุด [I want my AOP!](http://www.javaworld.com/javaworld/jw-01-2002/jw-01

AIR for JavaScript Developers

I got this book from [FOWA](http://www.isriya.com/node/1610) and left it on my desk (along with other FOWA souvenirs). When I [was interested in AIR](http://www.isriya.com/node/1618), I go googling first and never realized that I already have a good AIR guide one-foot-away. (cover picture from O'Reilly) The [Adobe Integrated Runtime (AIR) for JavaScript Developers Pocket Guide](http://www.oreilly.com/catalog/9780596515195/index.html) is written by Adobe developers and published by O'Reilly.

Learning JSON

ได้ยินชื่อเสียงมานาน วันนี้ได้ฤกษ์อ่าน JSON

ให้อธิบายสั้นๆ เนื่องจาก XML มันรก วงเล็บปีกกาเต็มไปหมด ถ้าต้องการแลกเปลี่ยนข้อมูลสั้นๆ ก็ไม่คุ้มที่จะใช้ XML ดังนั้นเราหาวิธีอื่นที่จะอธิบาย object แบบง่ายๆ ดีกว่า JSON ใช้ datatype ของภาษาโปรแกรมที่คนอ่านเข้าใจง่ายกว่า XML แทน แค่นี้เอง

ตอนแรกภาษาโปรแกรมที่ใช้คือ JavaScript (เลยชื่อ JSON) แต่ตอนนี้แทบทุกภาษามี JSON Parser/Generator แล้ว

ถ้ามองในภาพรวม ต้องเอาไปเปรียบเทียบกับ SOAP และ XML-RPC ด้วย