ทำภาพ High Dynamic Range เทียม (#2)

May 6th, 2009

คราวนี้ลอง RAW ของ D3 (NEF บ้าง) ด้วยเทคนิคเดียวกัน ขั้นตอนเดียวกัน

  1. ภาพต้นฉบับ ลองสังเกตบริเวณที่แสงจ้า (ภายนอกหน้าต่าง) และบริเวณที่เป็นมืด (ขอบหน้าต่าง, ข้างตูสีแดง, ผนังใต้หน้าต่าง ฯลฯ) นะครับ

    nef_hdr_001.jpg

  2. ภาพ +1, +2 EV จะเห็นบริเวณที่มืดชัดเจนขึ้น

    nef_hdr_002.jpg

    nef_hdr_003.jpg

  3. ภาพ -1, -2 EV จะเห็นบริเวณนอกหน้าต่างชัดเจนขึ้น

    nef_hdr_004.jpg

    nef_hdr_005.jpg

  4. ภาพที่ทำ HDR เทียมเรียบร้อยแล้ว ลองเทียบกับภาพต้นฉบับดูครับ

    nef_hdr_006.jpg

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

ทำภาพ High Dynamic Range เทียมแบบขำๆ

May 6th, 2009

สำหรับคนถ่ายรูป คงจะรู้จักภาพแบบ High Dynamic Range (HDR) แน่ๆ โดยหลักการคร่าวๆ แล้ว HDR จะมีจากแนวความคิดที่ว่า “มันมีอะไรเสมอ ในที่แสงจ้า และที่มืด” และความจริงที่ว่า เซนเซอร์รับภาพ และหน่วยประมวลผลภาพของกล้องดิจิทัล ไม่สามารถเห็นช่วงของแสงได้กว้างเท่ากับที่ตาเราเห็น

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

เลยเป็นที่มาของเทคนิคการทำ HDR ครับ โดยปกติการทำ HDR เราจะต้องถ่ายภาพเดียวกัน ที่หลายๆ exposure เป็นลำดับ (เช่นถ่าย 5 ภาพ ต่างกันภาพละ 1 EV ซึ่งจะได้ที่ -2 EV, -1 EV, 0 EV, 1 EV, 2 EV) เพราะในขณะที่ -EV จะทำให้ภาพมืด แต่ก็จะรักษารายละเอียดในส่วนที่สว่างของภาพไว้ได้ ซึ่งตรงข้ามกับ +EV ที่จะทำให้เห็นรายละเอียดในส่วนที่มืดชัดขึ้น ซึ่งการถ่ายลักษณธนี้เราเรียกว่า exposure bracketing

ทีนี้ ถ้าเราไม่ได้ถ่าย exposure bracketing เอาไว้ล่ะครับ ทำอย่างไรดี? ซึ่งเราก็ยังคงโชคดีอยู่บ้าง ถ้าเราถ่าย RAW เอาไว้ เพราะว่า RAW จะเก็บข้อมูลของเรื่องแสงที่เซนเซอร์บันทึกไว้ได้ เอาไว้พอสมควร ซึ่งทำให้เรายังพอจะปรับ exposure value เพื่อดึงเอารายละเอียดในส่วนที่มืดและสว่างกลับมาได้บ้าง ก็เลยเป็นที่มาของ “HDR เทียม” ที่เราจะคุยกันในวันนี้ครับ

ปกติผมไม่เคยได้ลองเทคนิคพวกนี้หรอกนะ เพราะว่าไม่ได้ถ่าย RAW จนกระทั่งมาเล่น Leica M8 ซึ่งมี JPEG engine ที่ห่วยมากๆ จนต้องถ่าย RAW แบบไม่มีทางเลือก (และ RAW ของ M8 ก็ใช่ว่าจะดีนะครับ .. นอกจากเป็น DNG แล้วผมยังหาข้อดีของ M8 RAW ไม่ค่อยจะได้เลย และ M8 ยังมี DR ที่งั้นๆ เทียบกับกล้องอีกลายๆ ตัวอีกด้วย … แต่ไม่ขอพูดถึงมากล่ะครับ เดี๋ยวจะกลายเป็นรีวิว M8 ไป)

ลองทำตามนี้ครับ

  1. หา RAW มาสักภาพหนึี่ง สมมติว่าเป็นภาพด้านล่างนี้ละกัน จะเห็นว่ารายละเอียดตรงเหล็กขึงสะพาน (สีเหลือง) มืดไป ในขณะที่รายละเอียดบนเมฆบางส่วนก็หายไป (ขาวจ๋อง)

    test_fake_hdr_005.jpg

  2. จากนั้นปรับ exposure value ให้ไปทาง + EV เพื่อดึงเอารายละเอียดในที่มืดคืนมา ในตัวอย่างนี้ผมดึงไป +1 EV, +2 EV ตามลำดับ

    test_fake_hdr_001.jpg

    test_fake_hdr_002.jpg

  3. จากนั้นทำอย่างเดียวกัน ไปทาง - EV เพื่อดึงเอารายละเอียดบนเมฆกลับมาบ้าง ซึ่งผมทำเท่ากันคือ -1 EV, -2 EV

    test_fake_hdr_003.jpg

    test_fake_hdr_004.jpg

  4. จากนั้นก็ให้เอาโปรแกรมที่ทำพวก HDR (เช่น Photomatix Pro) มารวมกัน และทำ Tone Mapping (วิธีการใช้โปรแกรมพวกนี้ผมไม่ขอพูดถึง เพราะหาได้ทั่วไป …. และผมเองก็ “เล่นไม่เป็น” ด้วย) ซึ่งผลที่ได้จะเป็นแบบนี้

    test_fake_hdr_001_2_3_4_5_tonemapped.jpg

ก็ … ถึงจะสู้ทำ HDR แท้ไม่ได้ แต่ว่าก็ยังดีกว่าทำไม่ได้ล่ะนะ … ภาพนี้ถ่ายขณะรถติดบนสะพานพระราม 8 คงไม่มีเวลาจะตั้งขาตั้งและถ่าย bracket แบบจริงๆ จังๆ ล่ะครับ

แต่ว่ายังงั้นยังงี้ … กล้อง DSLR หลายตัวในปัจจุบันมันมีเทคโนโลยีฉลาดๆ มากมาย (เช่น Automatic/Adaptive High Dynamic Range ในชื่อต่างๆ กัน .. เช่น Active D-Lighting ของ Nikon เป็นต้น) และเซนเซอร์ที่ดี มี DR กว้างเอาเรื่อง … ดังนั้น ถ้าเมื่อไหร่ที่ผมใช้ D3 ถ่ายทั่วไป ผมก็ยังถ่าย JPEG เหมือนเดิมน่ะแหละ

Review: X-Men Triology

May 3rd, 2009

ก่อนที่จะเขียนรีวิว X-Men Origins: Wolverine ขอเอารีวิวของไตรภาคแรกของ X-Men มาโพสท์ใหม่นะครับ ซึ่งจริงๆ เป็นรีวิวที่เขียนไว้นานแล้ว และโพสท์ไว้นานแล้ว ใน Blog ในเว็บไซต์ที่ภาควิชา ซึ่งไม่ได้อัพเดทมานานมากแล้ว (และปัจจุบันเรียกได้ว่าเป็นเว็บที่ตายไปแล้วด้วยซ้ำไป)

รีวิวนี้ถูกโพสท์ไว้ที่ http://www.cp.su.ac.th/~rawitat/weblog/files/x_men.html เมื่อวันที่ 30 พ.ค. 2006 ซึ่งนานโขแล้ว … เอาเป็นว่าผมขอเอามาโพสท์ไว้อีกครั้งที่นี่ โดยไม่แก้ไขเนื้อความใดๆ ทั้งสิ้น ก็แล้วกันนะครับ

***อาจจะ spoil นะ ใจไม่ด้านพออย่าอ่านต่อ อย่าหาว่าไม่เตือนด้วย***

ไม่ได้เขียน review หรือว่าวิเคราะห์วิจารณ์หนังนานแล้ว แต่ว่าเรื่องนี้อดไม่ได้จริงๆ เพราะว่ามันตีความสวยๆ ได้เยอะเลย ตั้งแต่เริ่มภาคแรกน่ะแหละ อีกอย่าง บอกไว้ก่อนว่าผมไม่ได้สนใจความ “เหมือน” ในเนื้อเรื่องระหว่างหนังกับการ์ตูน หรือว่าการเพิ่ม/ลด/เปลี่ยนบทบาทตัวละครบางตัวนะ

ผมอยากจะมองในแง่การตีความเชิงปรัชญากับชีวิตมากกว่า

ผมอยากจะมองแค่ว่า ถ้าบรรดา X-Men หรือว่าพวกมนุษย์กลายพันธุ์ เป็นคนธรรมดาที่แตกต่างไปจากคนทั่วๆ ไป คนที่ไม่ใช่ mainstream คนที่คิดแตกต่าง ทำแตกต่าง มีแนวคิดและความสามารถที่แตกต่างออกไปจากคนทั่วไปล่ะ …. สิ่งที่คนพวกนี้พบจากสังคมก็มักจะเป็นสิ่งเดียวกันน่ะแหละ คือ ความกลัว ที่มักจะแฝงอยู่ในรูปของความโน่นความนี่

หลายคนอาจจะมองคนที่แตกต่างเหล่านี้ ว่าเป็นผู้มีปัญหาทางจิต มีปัญหาในการเข้าสังคม มีปัญหาเพราะว่าไม่เหมือนคนหมู่มาก ฯลฯ และพยายามแก้ ด้วยการบังคับ (โดยการใช้กฏของสังคม) ให้พวกที่แตกต่างเหล่านี้เป็นไปตามคนหมู่มาก อ้างโน่นอ้างนี่ และสุดท้ายก็อ้างประชาธิปไตย (เหมือนในหนัง X-3 น่ะแหละ ที่มีการเอาตรงนี้มาแดกดันเล่นด้วย) …. แต่ว่าคนทั่วไปมันเข้าใจประชาธิปไตยซะที่ไหนเล่า ว่ามันต่างจากพวกมากลากไปตรงไหน

ผมมองว่าบรรดามนุษย์กลายพันธุ์ทั้งหลายนี่ เป็น exaggerated version ของคนธรรมดาๆ ที่มีความสามารถพิเศษอะไรบางอย่างน่ะแหละ ลองแทนความสามารถทางร่างกายด้วยคำว่า จิตใจ สิ เช่น คนที่มีใจแบบความสามารถของ Wolverine ก็เป็นพวกใจแข็งเป็นเหล็ก กล้าหักกล้าทะลวงกล้าแหก รักษาอาการบาดเจ็บทางจิตใจ (อาการท้อแท้ ฯลฯ) ได้เร็ว .. คนที่มีใจแบบ Iceman ก็เป็นพวกที่ทำให้ทุกคนใจเย็นลงได้ หรือว่าเย็นใจได้เมื่ออยู่ใกล้ๆ ผมว่าจริงๆ ลองแปลๆ ตีความเล่นๆ แบบนี้ก็เข้าท่าดีเหมือนกัน

ที่ผมชอบที่สุด (แต่ว่าหลายคนอาจจะไม่ชอบไปด้วย) ในเรื่อง X-3 ก็คือ Angel ที่หลายคนบอกว่า ไม่เห็นมีบทอะไรเลย ออกมาเท่ห์แค่ไม่กี่ฉาก พลังพิเศษอะไรก็ไม่มี นอกจากบินได้

แต่ว่า Angel เป็นสัญลักษณ์ของคำว่า อิสรภาพ ซึ่งอาจหมายถึงคนที่มีใจรักอิสะเสรีด้วย คนธรรมดาๆ คนหนึ่งที่ไม่มีอะไรพิเศษนี่แหละ คนพวกนี้เป็นคนที่น่าสงสารที่สุดในสังคมที่พวกเราๆ สร้างมันขึ้นมา ผมเชื่อว่า คนเราทุกคน เกิดมาพร้อมกับสิ่งๆ หนึ่งที่ถูกเด็ดทิ้งไปโดยระบบโลกที่พวกเราสร้างมันขึ้นมาเอง … นั่นก็คือ ปีกแห่งเสรีภาพ (Wings of Freedom)

ใน X-3 ภาพของ Angel จะเป็นการโบยบินบนท้องฟ้า ซึ่งแต่ไหนแต่ไรมา เราใช้แทนสัญลักษณ์ของการมีอิสรภาพ และ Angel ก็คือคนที่จะถูก รักษา เป็นคนแรกของเรื่อง นั่นก็คือ การเด็ดปีก หรือทำลายเสรีภาพทิ้งนั่นเอง

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

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

อยากจะ quote อะไรบางอย่างจากหนังแฮะ แต่ว่าไม่รู้จะ quote อะไรดี ก็เอานี่ละกัน

“Do we look like we need your help (cure)?”

และพบกันในรีวิว X-Men Origins: Wolverine เร็วๆ นี้ครับ …. (ไม่ได้เขียนรีวิวหนังมานานมาก สนิมเกาะหมดแล้ว)

กล้องแนะนำ 10 ตัว (จาก The Online Photographer)

April 24th, 2009

เมื่อกี้โพสท์ 10 อันดับจาก Serious Compacts ไปแล้ว คราวนี้เพิ่งเห็นว่า The Online Photographer (http://theonlinephotographer.typepad.com/) ก็เพิ่งจะโพสท์ “อันดับสุดท้าย (อันดับ 1)” ของการจัดอันดับคล้ายๆ กัน เพียงแต่ว่าไม่จำกัดแค่กล้องคอมแพค ก็เลยเอามาโพสท์ซะเลย

เพื่อไม่ให้เสียเวลา ก็มาดูอันดับกันเลยดีกว่าครับ

  1. Nikon D700
  2. แปลกมะ … เค้าบอกว่ายังตัดสินใจไม่ได้ … ขอเวลาอีกเดือน
  3. Nikon D90, Olympus E-30, Canon 50D, Pentax K20D, Sony Alpha 700 (เอ่อ.. เลือกไม่ถูกเหรอ?)
  4. Panasonic Lumix DMC-LX3 (surprise นิดๆ นะเนี่ย)
  5. Sony Alpha 900
  6. Olympus E-420
  7. Panasonic Lumix DMC-G1
  8. Zeiss Ikon (film rangefinder)
  9. Canon Powershot G10
  10. Canon Powershot SD880 IS (บ้านเราจะรู้จักตัวนี้ในชื่อ IXUS 870)

ดูลิสท์นี้แล้วรู้สึกแปลกๆ กว่าที่ Serious Compact แฮะ ยังตัดสินรองชนะเลิศไม่ได้ แต่ว่าดันได้ผู้ชนะแล้ว ไม่พอ อันดับสามนี่ กล้องคลาสเดียวกันเสมอกันยกแผงเลย ที่แอบเซอไพรส์นิดๆ ก็มี LX3 ที่ทำอันดับได้สูงมาก (และก็ยังเหนือกว่า G10 ซึ่งสอดคล้องกับของ Serious Compact เพราะว่าถ้านับตามลิสท์นี้ก็พบว่า G10 เป็นกล้องคอมแพคอันดับสอง)

อันดับ 1 จะเป็น D700 ก็ไม่แปลกเลย เคยใช้ตัวนี้มาพักนึง บอกได้เลยว่าเป็นกล้องที่ price/performance เยี่ยมมากๆ แต่อดงงไม่ได้นิดๆ ว่ามี Sony a900 แต่ Canon 5D MkII หายไปไหนล่ะนี่ … ไม่เป็นไร ถือว่าเป็นความเห็นของเว็บนี้นะครับ

กล้องคอมแพคแนะนำ 10 ตัว (จาก seriouscompacts.com)

April 24th, 2009

Serious Compacts (www.seriouscompacts.com) เป็นเว็บไซต์หนึ่ง ที่ตามอ่านประจำ มีเนื้อหาเกี่ยวกับพวกกล้องคอมแพค (กล้องขนาดเล็ก กล้องขนาดพกพาง่าย) ทั้งหลายทั้งแหล่ และเร็วๆ นี้ได้ทำบทความขึ้นมาซีรียส์หนึ่ง คือ Ten Recommended Compacts หรือ กล้องคอมแพคที่แนะนำ 10 ตัว ซึ่งจะแยกไปเป็น 10 บทความ และค่อยๆ อัพเดทขึ้นมาเรื่อยๆ ไล่จากตัวที่ 10 มาถึงตัวที่ 1 (แบบเดียวกับประกาศผลประกวดนางงามเลยเนอะ)

และตอนนี้ ทาง Serious Compacts ก็ได้อัพเดทครับทั้ง 10 ตัวแล้ว ผมเลยขอสรุปลำดับไว้ดังนี้ (Link ไปหาบทความต้นฉบับที่ Serious Compacts นะครับ)

  1. Leica D-Lux 4, Panasonic Lumix DMC-LX3
  2. Canon Powershot G10
  3. Sigma DP1
  4. Ricoh GX200
  5. Olympux XA (กล้องฟิล์ม)
  6. Canon Rebel XS (1000D) (D-SLR)
  7. Ricoh GR Digital II
  8. Fujifilm FinePix F200EXR
  9. Canon Powershot A590 IS
  10. Canon Canonet QL17 GIII (ฟิล์ม Rangefinder)

บางตัวก็ไม่เห็นด้วยแฮะ บางตัวก็เห็นแล้วตกใจ เช่น Canon 1000D เพราะคิดว่าถ้าอยากจะให้ D-SLR ตัวเล็กอยู่ใน list จริงๆ ก็น่าจะมองไปที่ Olympus e-420 หรือแม้แต่ e-620 มากกว่า และแปลกใจที่ทำไมไม่มี Panasonic G1 (Micro 4/3) แต่ว่ารายหลังนี่พอจะเข้าใจ เพราะจริงๆ แล้วเราก็หวังว่า m4/3 มันจะ “เล็กกว่านี้” ก็คงต้องรอ Olympus ทำออกมาล่ะ (เพราะว่าขายไอเดียตัว concept ไว้ดีมาก ใน Photokina)

ก็คิดเหมือนกันนะ ว่าขนาด Sigma DP1 ยังติดอันดับสาม (เหตุผลเพราะ “คุณภาพของภาพ” เทียบกับคอมแพคขนาดเท่าๆ กันอย่างเดียวเลยแหงๆ) แล้ว Sigma DP2 จะติดอันดับไหน (เลนส์ไวแสงขึ้น ระยะใช้ง่ายขึ้น การทำงานว่ากันว่าเร็วขึ้น ตอบสนองดีขึ้น ใหญ่กว่าเดิมนิดหน่อย)

แต่ยังไงก็คงจะเป็นข้อมูลสำหรับหลายคนที่เลือกระหว่าง GX200, G10, LX3 ได้เหมือนกันแฮะ (คำถามยอดฮิตในเว็บกล้องเมืองไทยทั่วไป) … อ่อ ส่วน Fujifilm F200EXR คงได้เพราะนวัตกรรมของเซนเซอร์ แต่แปลกที่ไม่ยักกะมี Ricoh CX1 (แต่สองตัวนี้ผมก็ชอบไอเดียของ F200EXR มากกว่าล่ะนะ)

ปล. ……. Nikon Compact ไม่มีใน list เลยแฮะ ค่ายนี้ทำคอมแพคไม่ขึ้นนะเนี่ย (จะว่าไปก็จริง สู้ชาวบ้านในช่วงราคาเดียวกัน และกลุ่มเป้าหมายเดียวกันไม่ค่อยได้)

ฝัน ….

April 10th, 2009

คิดว่าเคยเอาลงไปแล้ว แต่ขี้เกียจค้น คิดว่าเข้ากับบรรยากาศการเมืองตอนนี้ดี เลยขอโพสท์ใหม่ เป็นกลอนไม่กี่บทที่ยังจำขึ้นใจ (จากทั้งหมดเป็นร้อยๆ พันๆ บทที่เคยแต่งไว้)

แต่ละคนก็ล้วนมีความฝัน
แตกต่างกันฝันไปได้ทุกอย่าง
แต่ละคนฝันหาอะไรบ้าง
ก็อยากสร้างฝันนั้นให้มันจริง
ทุกทุกคนฝันหาทุกทุกอย่าง
ไม่มีทางจะเป็นจริงไปทุกสิ่ง
ฝันจะมีดาวเป็นร้อยคอยแอบอิง
ก็ยิ่งเป็นไปไม่ได้ไม่มีทาง
ฝันหารักหาคนมาเข้าใจ
ยิ่งฝันไปในใจยิ่งอ้างว้าง
ฝันนิมิตเป็นลิขิตบอกโชคลาง
จะดีบ้างเลวบ้างคละกันไป
ใครจะฝันหาอะไรช่างใครเขา
แต่ตัวเราฝันหาเธอยามหลับไหล
ทุกคืนวันฝันหาเธอเสมอไป
เธอ… ประชาธิปไตย .. ที่ไกลจริง

กลอนบทนี้แต่งมานานมากแล้ว ตั้งแต่เรียนมัธยมปลาย แต่ว่าไม่ได้เอาไปลงไว้ที่ไหนซักที เพิ่งนึกขึ้นมาได้ เลยเอาลงไว้ที่นี่ก็แล้วกัน

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

“เกรด” “งาน” “ประสบการณ์”

March 29th, 2009

ไม่ได้เขียน blog นานมาก …​ พักหลังๆ ไปอยู่ใน twitter ซะมากกว่า

วันนี้ก็บ่นใน twitter อีกน่ะแหละ แต่ว่าบ่นต่อกันเป็นเรื่องเป็นราวหน่อย ขอ copy & paste มาแปะไว้ที่นี่ด้วยก็แล้วกัน .. แต่ว่ามันอาจจะอ่านไม่ค่อยต่อเนื่องนะ เพราะว่าต้อง post ครั้งละไม่เกิน 140 ตัวอักษร (bullet ละ tweet)

  • เจอเรื่องเซ็งๆ กับ comment/remark เซ็งๆ อีกล่ะ
  • วันนึงน้องๆ นักศึกษาที่รักจะเข้าใจครับ ว่า “เกรด” มันไม่มีความหมายอะไรหรอก “ประสบการณ์” ที่ได้จากการทำงานต่างหากที่มันมีความหมาย
  • ดังนั้นถ้าน้องๆ ได้ A มาง่ายๆ และไม่ได้ประสบการณ์ แนวคิด และทัศนคติอะไรมาเท่าไหร่ มันไม่มีค่าเท่ากับ C ที่ได้มาพร้อมกับความคิด ประสบการณ์
  • เรื่องพวกนี้ “บริษัท” “ลูกค้า” “งานจริง” “ภาคเอกชน” “ภาคอุตสาหกรรม” ทราบดีมานานแล้ว
  • คิดว่า “สัมภาษณ์งาน” และ “การทำงานจริง” นี่ เค้าใช้เกรดทำงานกันเยอะแค่ไหนกันเชียว
  • คิดบ้างมั้ย ต้องวิเคราะห์งานให้ลูกค้า ทำระบบให้ลูกค้า ดีไซน์ usability ให้ระบบลูกค้า …. ทำได้ห่วย จะอ้างอะไร? “หนูได้ A มานะคะ” เหรอ?
  • ไม่พอๆ มีอีก ยิ่งเกรดดี งานห่วย ยิ่งทำให้เกรด จากคณะวิชา หรือมหาวิทยาลัยนั้นๆ “ไร้ค่า” ในสายตาลูกค้าคนนั้น และ/หรือ บ. ที่รับไปทำงาน
  • เหมือนกับที่ อ. มหาลัยทุกวันนี้ ไม่ดูเกรด ม.ปลาย ของเด็กจาก “หลายโรงเรียน” เพราะว่ามัน “ไร้สาระ” บอกอะไรไม่ได้
  • อีกอย่าง ที่ผมเคยบอกไปน่ะแหละ “เกรด” น่ะ มีกี่วิชากัน กี่แห่งกัน ที่จะใช้ metric ตัวเดียวกับภาคเอกชน ภาคอุตสาหกรรม บริษัท ลูกค้า?
  • ก็วิธีวัดผลมันต่างกัน จะไปบอกอะไรได้ดีแค่ไหนเชียว? เผลอๆ ยิ่งจะให้ผลตรงข้ามด้วยซ้ำ
  • เช่น ถ้าผมจะวัดประสิทธิภาพ DB … เอา Compiler ที่ดีที่สุดมาวัดผลในฐานะ DB รับรองได้คะแนนห่วยที่สุด
  • เพราะว่า DB ที่ดี ใส่อะไรเข้าไป ต้องออกมาแบบนั้น แต่ Compiler จะแปลงหมดเลย … ว่างั้นเถอะ

ไม่ได้บอกว่าวิธีการวัดผลมันไม่ดี หรือว่าต้องทำลายระบบเกรดทิ้งหรอกนะ เพียงแต่อยากจะบอกกับน้องๆ นักศึกษาแค่นั้น ว่าอย่าไปยึดติดกับเกรดมันมากเกินไป

ไม่ต้องมาอ้างมากมายหรอก ว่า “กลุ่มอื่นเค้าแจก A กันเยอะเลย” หรือว่า “ม.อื่นเค้าแจก A กันเยอะเลย” ฯลฯ มันไม่มีบรรทัดฐาน มาตรฐานกลางอะไรอยู่แล้ว

แต่อย่างน้อยๆ ผมไม่เคยทำงานสองมาตรฐาน ผมสอบทุกกลุ่มด้วยมาตรฐานเดียวกันหมด ก็แล้วกัน

ปัญหา ความเคยชิน “ก๊อปโค๊ดมาแก้” #2

February 2nd, 2009

สืบเนื่องจาก entry ที่แล้ว

ทำไมรู้สึกว่านับวันยิ่งเจอกรณีที่ confirm ความรู้สึกแย่ๆ กับเรื่องนี้ก็ไม่รู้ … แล้วคนที่ทำให้เราต้องมาหงุดหงิดกับเรื่องแบบนี้ก็นะ ทำไมถึงไม่พัฒนาอะไรเลยก็ไม่รู้

แต่วันนี้หายหงุดหงิดแล้วล่ะ ปลงแทนดีกว่า ….. ว่าแล้วก็ไปถ่ายรูปเล่นดีกว่า ผ่อนคลาย คลายเครียดกันดีกว่า

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

แต่ว่าถ้าทำกลับกัน คือ ไปทำตามเทคนิคเฉพาะเรื่องก่อน แล้วค่อยพยายามแก้ไขพื้นฐานให้รองรับสิ่งที่ตัวเองต้องการทีหลัง มันจะยากกว่ากันมาก … แต่ว่ามันจะเหมือนกับว่า “ได้ผลเร็ว” เพราะว่าสิ่งที่ทำให้ได้ผลเฉพาะอย่าง และเห็นผลเฉพาะอย่างเนี่ย มันคือเรื่องเทคนิค

แต่นั่นก็เลยทำให้ทุกอย่างยากขึ้น และคุณต้องแก้ไข Model พื้่นฐานของระบบ ในลักษณะ Hack หรือ Workaround มากขึ้น และถึงจุดหนึ่งมันจะยิ่งทำให้ทุกอย่างมันซับซ้อนมากขึ้น และการนำเอาเทคนิคอื่นๆ เข้ามาเพื่อบรรลุวัตถุประสงค์อื่นๆ ในงาน มันจะยากขึ้น และพบปัญหามากขึ้น และจุดนี้เองที่น้องๆ มักจะเริ่มเจอปัญหาชัดๆ และมักบอกว่า

เอาไอ้นี่มาใช้แล้วมีปัญหาครับ/ค่ะ

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

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

ปัญหา ความเคยชิน “ก๊อปโค๊ดมาแก้”

January 17th, 2009

ว่าจะไม่เขียนเรื่องนี้แล้ว แต่ว่าเขียนหน่อยก็ดี จากเด็ก ICT ที่ทำโปรเจคกับผมเอง ขอยก conversation มาทั้งหมดกันแล้ว

rp: ./configure: งานเป็นไงมั่งน้อง
IKE::: ก้อกำลังปั่นค่ะ
rp: ./configure: เหอๆ
IKE::: ได้ พี่คนหนึ่งช่วยสอน
rp: ./configure: ปั้นเหน่งป่ะ?
rp: ./configure: ใช่ @punneng ใน twitter หรือเปล่า
IKE::: ได้ข่าวว่ารู้จักกะอาจารย์ด้วย
IKE::: ช่ายคร๊าา
rp: ./configure: อ่อ
IKE::: พี่เค้าสอน แบบว่ายาวนานมาก
IKE::: วัน ละ 5hr ได้
IKE::: เอากาน แบบว่า รื้องานทำใหม่กานเลย
rp: ./configure: แล้วดีขึ้นมั้ย
IKE::: ไม่แงะcode เก่าแบบไม่เข้าใจ เร่ิมทำใหม่เลยน้อง ประมาณนั้น
IKE::: ดีขี้น มากมายอะคร่ะ
IKE::: เข้าใจ ตั้งแต่แรกเลย
rp: ./configure: ได้หมอนี่สอน ค่อยยังชั่วหน่อย
IKE::: รู้งี้ รู้จักพี่เค้า แต่แรกดีกว่า
rp: ./configure: เฮ้อ ก็พวกคุณมันเล่นไม่ทำความเข้าใจอะไรเลยนี่หว่า
IKE::: งานคงออกมาหรูกว่านี้เยอะ
rp: ./configure: ก็พวกคุณเล่นไม่พยายามทำความเข้าใจอะไรจริงๆ จังๆ นี่หว่า …. เล่นลอกโค้ดๆ แล้วก็มาพยายามแก้ๆ กันอย่างเดียว
IKE::: ช่ายๆๆ
IKE::: เปลี่ยนแนวคิดใหม่ด้วย
IKE::: พี่เค้า สอน ดีมากเลย สอน ให้คิดแบบที่ควรจะเป็น
rp: ./configure: ก็ดีแล้ว
rp: ./configure: ปัญหาของพวกคุณ (และเด็กทุกคนที่รู้จัก) คือ ไม่ทำความเข้าใจ ไม่พยายามทำความเข้าใจ และปฏิเสธที่จะทำความเข้าใจ ใน “แนวคิด” ใน “วิธีคิด” และใน “คอนเซปท์” ทุกคนพยายามลัดไปที่โค้ดหมด
rp: ./configure: ลอกโค้ด เอาโค้ด รันได้ แก้โน่นนี่ ปะๆๆ มันเข้าไป
rp: ./configure: อะไรแบบนั้น
rp: ./configure: ก็ดี ได้เริ่มคิดใหม่
IKE::: ค่ะ ยอมรับผิดแต่โดยดี
rp: ./configure: ดีกว่าไม่ได้เลย
IKE::: แต่พี่เค้าสอน ทุ่มเท มากอะค่ะ
IKE::: เดี๋ยววัน อาทิต นี้ ก้อ ไปให้เค้าสอน อีก
IKE::: พี่เค้าแบบว่า ไม่เน้น งานเสร็จ แต่ว่าเน้น เข้าใจในสิ่งที่ทำมากกว่า

อยากจะกราบขอบคุณ @punneng มากๆ เลย แต่คงไม่ได้เจอตัวจริงๆ กันซะที ก็เลยทำมันซะที่นี่น่ะแหละ แล้วก็อยากจะฝากสิ่งที่ผมคุยกับน้อง IKE ให้เป็นอุทาหรณ์กับน้องคนอื่นๆ ด้วยนะครับ

ว่า “อย่าลัดไปที่ coding” นะครับ มันไม่ค่อยจะช่วยอะไรคุณหรอก ถ้า paradigm ของความคิดมันเหมือนๆ เดิมที่คุณคุ้ยเคยมา ก็ดีไป แต่ว่าถ้ามันไม่ใช่แบบนั้น มันจะแย่เอาง่ายๆ และถ้ามันเป็นการแก้ไขง่ายๆ เล็กๆ น้อยๆ ก็อาจจะโอเค แต่ว่าถ้ามันเป็นเรื่องของการพัฒนาโปรแกรมขนาดใหญ่กว่านั้นขึ้นมาเมื่อไหร่เนี่ย ถ้าไม่กลับไปที่พื้นฐาน (back to basic) จะแย่เอาง่ายๆ เพราะว่ามันอาจจะทำให้อะไรหลายๆ อย่างแย่ในระยะยาวได้ง่ายๆ เลยทีเดียว

rp: ./configure: ปัญหาของพวกคุณ (และเด็กทุกคนที่รู้จัก) คือ ไม่ทำความเข้าใจ ไม่พยายามทำความเข้าใจ และปฏิเสธที่จะทำความเข้าใจ ใน “แนวคิด” ใน “วิธีคิด” และใน “คอนเซปท์” ทุกคนพยายามลัดไปที่โค้ดหมด
rp: ./configure: ลอกโค้ด เอาโค้ด รันได้ แก้โน่นนี่ ปะๆๆ มันเข้าไป

จริงอยู่นะครับ การเริ่มต้นแบบนั้นมันทำให้เรา “เหมือนจะ” สร้าง application ที่เป็นรูปเป็นร่างขึ้นมาได้รวดเร็วกว่า แต่ว่ามันจะทำร้ายเราในระยะยาวนะครับ เมื่อเวลาที่เราต้องเพิ่มโน่นเพิ่มนี่ แก้โน่นแก้นี่ ฯลฯ ซึ่งจะต้องทำมันอยู่แล้ว …

จริงๆ แล้วด้วยความสะดวกของเครื่องมือสมัยนี้ (ยกตัวอย่างเช่น bootstrapping method ต่างๆ ใน framework สมัยใหม่ ที่สร้างโครงของโปรแกรมพร้อมใช้งานให้เราเลย หรือว่าพวก migration tools และ version control ต่างๆ) มันช่วยให้เราทำงานขึ้น application ได้เร็วมากๆ อยู่แล้ว ดังนั้นเราควรใช้เวลากับการออกแบบดีไซน์ และคอนเซปท์มากขึ้นกว่าเดิม ไม่ว่าจะเป็นเรื่องของ entity relation ต่างๆ เรื่อง use cases ต่างๆ และเรื่องของ usability เป็นต้น และถึงเวลาที่จะต้องไปขึ้น application มันจะทำได้ง่ายและรวดเร็วมาก

สืบเนื่องเรื่องนี้นะครับ วิชา Object-Oriented Programming ที่ผมสอนเทอมนี้ ดู coding แล้ว “ห่วยบรม” ส่วนหนึ่งก็เพราะว่าผมยังไม่ได้สอนลง coding เลย ผมถือว่าผมจัดสอบส่วนของ Lab (ที่เป็น coding) เพื่อเก็บข้อมูลเบื้องต้นเท่านั้น ว่าพื้นๆ ฐานๆ ของน้องๆ ในเรื่องของการเขียน code (ที่ผมย้ำนักหนา .. ว่าเรียนคอนเซปท์ไปอย่างหนึ่งเนี่ย มันมากพอที่จะไปหัด coding เอง ซึ่งก็ดูเหมือนจะไม่ทำกันเลย) นั้นเป็นอย่างไรบ้าง

แต่ว่าเท่าที่ดูจากความเข้าใจ concept ก็ดูค่อนข้างจะดีพอสมควรแล้วล่ะครับ

นิยามรัก

December 18th, 2008

จากใน twitter … มีขำๆ อยู่บ้าง เอามาลงในนี้ละกัน (ปล. @rawitat นี่ผมเองนะ ;-)

@joyz: “รักแท้ก็เหมือนผี มีจริงแต่ไม่เคยเจอ”
@joyz: “ความรักก็เหมือนอากาศ มองไม่เห็นแต่ขาดไม่ได้”
@iToy416 ความรักเหมือนรอยสัก เจ็บปวดแต่สวยงาม
@neokain มาจากหนังเรื่องหนึ่ง “ความรักเหมือนสายลม มองไม่เห็นแต่สัมผัสได้”
@rawitat ความรักเหมือนอาหาร … ต้องกินไม่งั้นตาย … แต่ทำไมในเมนูมันดูดีกว่าของจริงประจำเลยวะ
@theniw “ความรักก็เหมือนขวดเหล้า พอกำลังดื่มด่ำได้ที่ ก็มักจะหมดพอดีทุกทีไป”
@katanyoo ความรักเหมือนโคมไฟ เปิดในที่มืดเมื่อไหร่ ได้เรื่องทุกที
@iToy416 ผู้หญิงเหมือนคอม ราคาแพง แก่เร็ว รวนง่าย ยิ่งแก่ยิ่งราคาตก ยิ่งแก่ยิ่งรวน

ขำๆ ครับ

July 2009
M T W T F S S
« May    
 12345
6789101112
13141516171819
20212223242526
2728293031