ปรัชญาเซน กับ ปรัชญานิตินิยม อืมมมนะ -_-‘

จาก ปรัชญาเซน

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

อิทธิพลเรื่องการทำตัวให้สอดคล้อง (เป็นหนึ่งเดียวกับธรรมชาติ) อันที่จริงแนวนี้พุทธก็สอน แต่มักไม่มีใครให้ความสำคัญและใช้กัน นอกจากพวกเซน คือ พุทธมักคิดว่าเราอยู่ในธรรมชาติ แต่ให้พยายามตัดหรือจัดธรรม-ชาติ แต่ เซนสอนว่า ให้เราอยู่ในธรรมชาติตามที่มันเป็นอยู่

จาก ปรัชญาในวรรณกรรมของจีน

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

อืมมมม เข้ากับสถานะการณ์ตอนนี้จริง ๆ

PHP Hoffman Framework ย้ายจาก SourceForge สู่ Google Code Hosting

หลังจากใช้ SourceForge(Hoffman Framework:HMF) มาได้ระยะหนึ่ง ก็ใช้งานได้ดี แต่ช้า ๆ อืด ๆ แถมใช้งานยากพอสมควรเลย แต่เมื่อวานซืนได้ลอง Google Code Hosting และติดใจในความง่ายในการใช้งานอย่างมาก ซึ่งอย่างน้อย ๆ ก็ง่ายกว่าของ SourceForge อย่างมากเลยทีเดียว แถมเร็วกว่าอีกด้วย เลยไม่มีข้อโต้แย้งใด ๆ ในการที่จะไม่ย้ายมาใช้ที่นี่ และด้วยอีกเหตุผลคือมันสามารถเอาไปใช้ร่วมกับบริการต่าง ๆ ของ Google อย่าง Groups, Analytic และ Gmail ได้อย่างง่ายดาย ตอนนี้ผมย้ายมาแล้วที่ hoffmanframework แทนแล้วเรียบร้อย ปรับแต่งและ import ตัว code ลงไปใหม่แล้ว กำลังไล่ทำเอกสารทั้งหมดอยู่ครับ ส่วนที่ SourceForge นี่อีกสักพักจะลบ project ออกจากที่นั้นครับผม (เราจะไม่ลืมนาย SourceForge)

ความคืบหน้าของ Hoffman Framework นับจาก 0.1.3a

ตอนนี้ผมเอา Framework ตัวนี้ไปใช้กับ production project หลาย ๆ ตัวและได้มีการปรับเปลี่ยนส่วนของ lib เยอะพอสมควร จนหลาย ๆ อย่างที่ทำได้ใน 0.1.3a นั้นทำงานไม่ได้เมื่อใช้กับ code ชุดใหม่นี้ครับ

หลายส่วนถูกโย้กย้ายด้วยเหตุผลด้านความยืดหยุ่น หลายส่วนถูกแก้ไขด้วยเหตุผลด้าน Coding Style Guideline โดยหลาย ๆ จุดถูกเพิ่มเติมเพื่อทำการ track ปัญหาออกมาได้ด้วยการตั้งค่าในไฟล์ Configuration เพื่อง่ายต่อการตรวจสอบ และบางส่วนถูกปรับแก้ด้วยเหตุผลด้านความเร็ว และประสิทธิภาพที่สูงขึ้นด้วย

ใน log ของ SVN บน SourceForge นั้นบางส่วนอาจจะขาดตกไปบ้าง เพราะว่ายังมือใหม่ในการบันทึกข้อมูลทั้งหมดที่ทำลง log ของ SVN ครับ พยายามเก็บรายละเอียดทั้งหมดที่ได้ทำ เพื่อเอาไว้อ้างอิงในภายหลังให้มากที่สุดครับ

และสุดท้าย คาดว่าจะเปลี่ยนจาก SourceForge มาใช้ Google Code Hosting ครับ กำลังดูเรื่องคุณสมบัติต่าง ๆ อยู่ครับผม

[code]
rv 8 – f – ส่วนของการสลับ Profile ของฐานข้อมูลใน Hmf_LogicModel_Db ให้ย้ายมาอยู่ที่ __construct แทน
rv 9 – a – เพิ่ม quoteInto เข้าไปใน Hmf_Logic_Model_Db เพื่อใช้ในการ filter ข้อมูลที่ใช้ใน Database
rv 10 – e – แก้ไขตัวแปรสำหรับ config ค่าแบบทั่วไป และการเข้าถึง
rv 11 – e – แก้ไขตัวแปรสำหรับ routing ค่าแบบทั่วไป และ config โดยใน config เพิ่มตัวควบคุมการใช้ acl ลงไป และ ตั้งแต่ rv 10 ตัวแปรตั้งค่าทุกตัวใช้การขึ้นต้นด้วยตัวเล็กทั้งหมด
rv 12 – e – ปรับเปลี่ยนการใช้งานตัวแปรใน runtime ต่าง ๆ ให้ไป register ใน registry แทนเพื่อใช้แทนการเข้าถึงแบบ global แทนโดยมีชื่อตัวแปรดังต่อไปนี้ที่ได้รับการใส่ลงใน registry
rv 12 – e – — applicationConfigurations เป็น app_config
rv 12 – e – — applicationLocale เป็น app_locale
rv 12 – e – — applicationAcl เป็น app_acl
rv 12 – e – — applicationAuthen เป็น app_authen
rv 12 – e – — viewsInformations เป็น app_viewinfo
rv 12 – e – — routingUrl เป็น routing_url
rv 12 – e – — controllerFile เป็น controller_file
rv 12 – e – — controllerName เป็น controller_name
rv 12 – e – — actionName เป็น action_name
rv 12 – i – — routing ชื่อคงเดิม
rv 12 – i – — acl ชื่อคงเดิม
rv 12 – i – — is_production ชื่อคงเดิม
rv 12 – e – ทำการ register $routes [‘:args’] ลงใน registry ในชื่อ action_args
rv 12 – e – ทำการเปลี่ยนการ instance จาก Class ชื่อ Hmf_RenderView แล้วอ้างอิงในชื่อ $renderView มาเป็น register ลงใน registry ในชื่อ renderview
rv 12 – e – แก้ไข Class ชื่อ Hmf_Config เพื่อให้ register ข้อมูลลงใน app_config และ app_locale ในคราวเดียวโดยซ่อนขั้นตอนภายใน method เลย
rv 12 – a – เพิ่ม method _registry ลงใน Hmf_RenderView_Render และ Hmf_FlowController เพื่อนำข้อมูลใน register เข้าและออกมาผ่าน method _registry ได้เลย
rv 12 – e – ย้ายขั้นตอนการตรวจสอบสิทธิ์ และกำหนดสิทธิ์ผู้ใช้จากใน runtime มาอยู่ใน constructor ของ Hmf_FlowController แทน
rv 12 – a – เพิ่ม key ‘acl’ ในตัวแปรก config เพื่อกำหนดว่าจะใช้การตรวจสอบสิทธิ์หรือไม่
rv 13 – r – เอา flag การตรวจสอบ registry ออกจากบรรทัดล่างสุด
rv 14 – a – เพิ่ม method _registry ลงใน Hmf_LogicModel Hmf,_LogicModel_Db และ Hmf_LogicModel_General ผ่าน __call method
rv 14 – a – ตรวจสอบ index ของ registry ก่อนทำการ access ออกมาใช้งาน
rv 15 – a – เพิ่มขั้นตอนการตรวจสอบ verion ของ Zend Framework โดยต้องใช้ Zend Framework ใน version 1.5 เป็นต้นไป
rv 16 – f – จัดรูปแบบของ code โดยทั่วไป
rv 17 – e – เพิ่ม PATH_DIR_HTML เพื่อใช้แทน /html โดยใช้สำหรับในกรณีที่ต้องการเปลี่ยนชื่อ /html เป็นอย่างอื่น
rv 17 – a – เปลี่ยนชื่อ $path_root เป็น $pathRoot เพื่อให้ตรงตาม naming ของ coding style guideline
rv 18 – a – เพิ่ม debug.routing ลงใน key ของ config เพิ่มนำไปตรวจสอบเวลา debug ตอนทำ routing ใน Runtime
rv 19 – a – เพิ่ม debug.routing ลงใน key ของ config เพิ่มนำไปตรวจสอบเวลา debug ตอนทำ routing ในไฟล์ Configuration
rv 20 – f – แก้ไขข้อผิดพลาดในการใส่ keywords เพิ่ม
rv 20 – f – ปรับประสิทธิภาพในการสร้าง url ให้ดีขึ้น และรองรับการใส่ keywords เพิ่ม
rv 20 – f – แก้ไขการ handle ที่ controller และ action ใหม่
rv 20 – r – เอา filterSlashAtLastChar ออก
rv 20 – r – เอา getUrlWithString ออก
rv 21 – f – แก้ปัญหา kerwords, pattern และ action หายในบางครั้งเวลา generate url
rv 22 – a – เพิ่มค่า routing.cache.lifetime และ routing.cache สำหรับตั้งค่าใช้งาน cache ของ routing
rv 23 – e – เอาการตรวจสอบการ debug ของ routing ไปใส่ใน contructor แทน
rv 23 – e – เปลี่ยนชือการ debug ของ routing จาก debug.routing เป็น routing.debug แทน
rv 23 – a – เพิ่มค่า routing.cache.lifetime และ routing.cache สำหรับตั้งค่าใช้งาน cache ของ routing
rv 23 – a – เพิ่ม cache ลงใน routing โดยใช้ sqlite
rv 24 – f – แก้ไขการขึ้นบรรทัดใหม่ใน error messege
[/code]

ปัญหาคิดไม่เป็นเกิดจาก copy/paste และความง่ายในการเข้าถึง

จาก

copy & paste กันทั้งโลก

ที่ผ่านมาผมว่านักเรียนไทยเยอะว่าชอบ copy & paste ไม่ยอมใช้กำลังในเรียนรู้เองเพื่อฝึกฝนทักษะในการเรียนรู้ให้กลายเป็นความรู้ติดตัว

ที่จริงแล้วปัญหานี้ไม่ใช่เป็นเฉพาะนักเรียนไทย แต่เป็นทั่วโลกครับ

อ่าน Student Initiative เราจะพบว่าโลกใบกลมๆ ของเราใบนี้นั้น ระบบการศึกษาไม่ได้สร้างคนที่มีความรู้อีกต่อไปแล้วครับ

ในปัจจุบันนี้เราหาคนที่มีวุฒิการศึกษาที่เกี่ยวข้องกับ "คอมพิวเตอร์" ได้ไม่ยาก แต่หาคนที่สามารถทำงานจริงได้ยากเหลือเกิน

บางคนทำงานจริงได้แต่ขาดความมานะพยายาม ทำงานจับจดไม่ตั้งใจจริง ก็เป็นปัญหาไปอีกขั้น

คนที่มีความรู้และมีความมานะพยายามในการเรียนรู้นั้นเป็นสิ่งที่หายากมากในโลกปัจจุบันครับ

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

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

ความรู้จากตำราเป็นเพียงทฤษฎีหากปราศจากประสบการณ์ที่แท้จริง ย่อมไม่อาจซึมซับถึงแก่นแท้ของมัน คุจเดียวกับหุ่นหญ้าฟางที่สวมใส่ชุดเกราะแม้นจะดูน่ายำเกรงแต่สู้รบมิได้ (เล่มที่ 1 หน้าที 47)

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

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

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

การที่ไม่ได้ทดลองทำ ได้แต่สักว่า copy/paste นั้นทำให้การนำไปประยุกต์ใช้ หรือการแก้ปัญหาต่าง ๆ เนื้องจากติดปัญหาระหว่างการทำงานต่าง ๆ นั้นยังผลไปให้เกิดปัญหาเรื่องคิดไม่เป็นตามมา การเข้าถึงข้อมูลเหล่านี้ง่ายขึ้นไม่ใช่ประเด็นสำคัญเท่ากับว่า จิตสำนึกในการนำความรู้เอาไปใช้งานนั้นต่ำลง ด้วยความที่คอมพิวเตอร์เมื่อต่อ internet แล้วนั้นสัพความรู้ต่าง ๆ พลั่งพลูกันเข้ามาสู่เครื่องผู้ใช้งาน การ copy/paste ทำได้ง่าย และในทางกลับกัน ถ้าเป็นห้องสมุด ผู้ที่จะทำรายงานต้องดั้นด้นไปที่ห้องสมุดและไล่ค้นหาที่ละเล่ม และต้องสรุปย่อเนื้อหาที่จำเป็นลงมาแทน ซึ่งการคัดลอกมาทั้งหมดแบบใน computer นั้นเป็นเรื่องที่เป็นไปได้ยากมากในบางเรื่องที่มีเนื้อหายาว ๆ ซึ่งถ้าใช้การสรุป หรือย่อความ จะทำให้ใช้เวลาในการเขียนน้อยกว่า แต่ใช้เวลาอ่านและทำความเข้าใจเยอะกว่า เมื่อได้อ่าน มือได้เขียน สมองได้คิดสรุปเนื้อหา ความเข้าในที่ได้จากเนื้อหาเหล่านั้นก็มีมากขึ้น ผิดกับการใช้ computer ที่ลาก และ copy ก็ได้เนื้อหาทั้งหมดมาแล้วโดนไม่ได้สรุป หรือทำความเข้าใจเรื่องเหล่านั้นอย่างถี่ถ้วน ยังผลถึงตอนสอบ และอภิปรายหน้าชั้นเรียนในกรณีที่เนื้อหานั้น ๆ ถูกนำไปใช้ในการนั้นด้วย ซึ่งยังผลต่อไปในเรื่องของการสื่อสารกับผู้อื่น

ซึ่งเมื่อผู้อภิปรายไม่เข้าใจเนื้อหาเหล่านั้นเป็นอย่างดี ผู้ฟังก็ได้รับข้อมูลที่ผิดพลาด ต่อไปเป็นทอด ๆ ซึ่งเป็นเรื่องที่น่ากลัวมาก ๆ ถ้าคนอภิปรายเป็นคนที่มีอธิพลต่อสังคมมาก ๆ

ปัญหาสำคัญไม่ใช่สิ่งที่เราไม่รู้ แต่เป็นสิ่งที่เรารู้ แต่รู้ไม่จริง
An Inconvenient Truth

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

ปล. อันนี้เป็นเนื้อหาที่ด้นสด ๆ อาจจะวน ๆ งง ๆ หน่อยนะครับ ;)

วิถีแห่งความบ้า feed (เพื่ออ่าน blog) … The Feed Way ;P

เพราะมันทำให้ความรู้ต่าง ๆ วิ่งเข้าหาเรา แทนที่เราต้องวิ่งไปหาความรู้ อย่างที่ผ่าน ๆ มา

มันอาจจะฟังดูงง ๆ หน่อย แต่นี่คือสิ่งที่ผมรู้สึก

เพราะผมยังคงจำวันที่ต้องมีหนังสือคู่มือสารบัญเว็บวางไว้ข้าง ๆ คอมฯ และต้องพึ่งเว็บ index directory ต่าง ๆ ในครั้งที่ search engine ยังห่วยแตกมากสำหรับเว็บคนไทย (และตอนนั้นภาษาอังกฤษในการอ่านยังไม่แข็งแรง)

แต่ในวันนี้ สิ่งเหล่านั้นเป็นอดีตด้วย google แต่ด้วยความที่ความรู้ และข้อมูลต่าง ๆ มีมากมาย การที่เข้าไปขุดมันออกมาก็ต้องใช้เวลาประสบการณ์ในการพิมพ์ keyword ต่าง ๆ ลงบน box search ของ google, live และ yahoo

ซึ่งเมื่อได้เว็บที่ต้องการสิ่งที่ต้องทำอันดับต่อมาคือ bookmark มันไว้ก่อน เพื่อในอนาคตเราสามารถกลับมาหน้านั้นได้อีก และถ้าเป็นกระทู้ที่ผมกลัวงว่าจะถูกลบ เช่นตามเว็บบอร์ดต่าง ๆ ผมก็ทำการเข้า print mode หรือ copy มาลงใน word processing แล้ว print เป็น pdf ซะ แล้วเก็บไว้ใน ebook/edoc ในเครื่องแล้วให้ copernic desktop search มัน index ในเครื่องอีกที

แต่แล้วเหมือนสวรรค์มาโปรก เมื่อ feed นั้นใช้งานอย่างแพร่หลายในเว็บ blog และเว็บหลายเว็บที่ผมอ่าน ทำให้ง่ายกว่าเดิมที่ผมจะติดตามอ่านข่าวสาร ความรู้เหล่านั้นได้อย่างสะดวกสบาย และไม่ต้องมาสั่งไล่อ่านในเว็บ หรือไม่ตรวจสอบการเปลี่ยนแปลงเนื้อหา เพียงแต่เปิด feed reader และตั้ง schedule ให้ไป update เนื้อหาใหม่ ๆ ทุก ๆ 15 – 30 นาทีซะ ความรู้ทุกอย่างที่ผมสนใจ จากการ subscribe ตัว feed ของผมก็เข้าสู่เครื่องอย่างสะดวกสบายมาก ๆ

แต่เว็บในไทยหลาย ๆ เว็บที่ตั้งตัวเป็น blog provider (hosting) บางเจ้ายังคงไม่ยอมให้เปิดส่ง feed ออกมา ซึ่งที่ผมเจอคือ bloggang และ oknation ซึ่งไม่รู้ว่าทำไม -_-‘ แต่ช่างเหอะ เพราะไม่ได้อ่านที่นั้นอยู่แล้ว

ซึ่งคนที่ใช้บริการใน blog provider ที่ไม่ยอมเปิดให้บริการ feed ออกมา เป็นเรื่องที่น่าเสียดายในการเผยแพร่ความรู้ในกับผู้คนทั่วไป ที่นับวันจะใช้ feed กันมากขึ้นเรื่อย ๆ และใน IE7 และ Browser สมัยใหม่ทุกเจ้าก็มี feature นี้อยู่เป็นพื้นฐานอยู่แล้วด้วย โดยผมมองว่า blog หรือ blog provider ที่ไม่รองรับบริการ feed จะต้องปรับตัวในอนาคต เพื่อเปิดให้บริการนี้อย่างแน่นอน แต่ถึงตอนนั้นจะสายเกินไปหรือเปล่าเท่านั้นเอง -_-‘