สรุปผลการพัฒนาตัวเองในปี 2013

วันนี้วันที่ 31 เป็นวันดีที่จะสรุปผลการพัฒนาตัวเองที่ตั้งไว้ในปีนี้

  1. Learn Hadoop MapReduce.
    ยังรู้สึกว่าความรู้ยังอัดไม่แน่นเท่าไหร่ เอาไปสอนใครไม่ได้ แต่อย่างน้อยก็ได้เริ่มศึกษาจริงๆ และลองเล่นจริงจากคอร์ส Introduction to Hadoop and MapReduce ถือว่าผ่าน
  2. Embrace the uncomfortable.
    ลดละเลิก gedit/sublime ตอนนี้ใช้ vim เต็มตัว ผ่าน
  3. Publish at least one paper in an international conference.
    ปี 2013 ได้มา 1 งาน Extracting the Object from the Shadows: Maximum Likelihood Object/Shadow Discrimination ตีพิมพ์ใน IEEE ECTI-CON 2013 ผ่าน
  4. Learn more mathematics.
    ไม่ได้เรียนรู้อะไรเพิ่มเติมเป็นชิ้นเป็นอันเลย เศร้าแท้ ไม่ผ่าน
  5. Learn more theory.
    ทำไม่ได้ตามที่ตั้งไว้.. ไม่ผ่าน
  6. Learn a new programming language.
    ปีนี้ขอ Ruby on Rails ไว้ ไม่ได้ทำเต็มตัวแต่ที่บริษัทก็เอา Ruby มาใช้ และตอนนี้เขียน Test พอเป็น ก็ถือว่าผ่านนะ
  7. Complete a personal project.
    ได้แต่คิดไว้ 2 โปรเจค แต่ไม่ได้เริ่มทำ ไม่ผ่าน
  8. Go analog.
    ไม่ได้ทำกับข้าวเองเลย แต่ปั่นจักรยานกับวิ่งเยอะขึ้น ทำกับข้าวไม่ค่อยซีเรียส ข้อนี้ผ่านละกัน 🙂
    endomondo-2013-summaryปั่นจักรยานไป 2,379 km
    วิ่งไป 91.37 km
  9. Stay healthy.
    ผลจากข้อข้างบน ปี 2013 เท่าที่จำได้.. เป็นหวัดปวดหัวแค่ครั้งเดียว ไม่ถึงกับต้องลาป่วย เย้ ผ่าน
  10. Read at least one fiction or autobiography book.
    ว่าจะอ่าน Obama: From Promise to Power ให้จบ แต่ก็อ่านไปได้หน่อยเดียว ไม่ผ่าน
  11. Learn new software or tool.
    ไม่ได้แตะ Tableau กับ D3 เลย ไม่ผ่าน
  12. Automate.
    เรื่อง cron ยังไม่ได้ศึกษา ได้เล่น shell script บ้าง ส่วนสคริปที่เอาไว้ช่วยในการเขียนบทความก็ยังไม่มีโอกาสได้ลอง เนื่องจากเนื้องานออกแนวเขียนโปรแกรม ซึ่งก็ได้เรียนรู้อย่างอื่นแทน เช่น Jenkins  Fabric Vagrant และ Puppet ถือว่าผ่าน

จาก 12 ข้อ ทำได้ 7 ข้อ คิดเป็น 58.33% เกินครึ่งมาแบบฉิวเฉียด จากที่ผ่านมาทำให้รู้ว่าเราตั้งเป้าหมายไว้เยอะเกินไปหน่อย ทำไม่ได้ตามที่หวังไว้มันจะเจ็บปวดใจ ฮึ่ย >_< ปีหน้าจะ commit เท่าที่จะสามารถทำได้แหละ

เป้าหมายพัฒนาตัวเองในปี 2013

ปณิธาน 12 ข้อของปีนี้ ยกยอดบางข้อมาจากปีที่แล้วด้วยเพราะทำไม่สำเร็จ

  1. Learn Hadoop MapReduce.
    ปีนี้ขอศึกษา Hadoop และ MapReduce แบบจริงๆ จังๆ ต้อนรับ Big data 🙂
  2. Embrace the uncomfortable.
    ปีที่แล้วลองงดใช้เม้าส์ไป 1 เดือน ผลออกมาเป็นที่น่าพอใจ สามารถพิมพ์งานได้เร็วขึ้นด้วยเพราะไม่ต้องเอื้อมมือไปจับเม้าส์ แต่สำหรับปีนี้มีสิ่งที่อยากทำเพิ่มคือ เลิกใช้ gedit ไปเลย แล้วใช้ vim แทน!
  3. Publish at least one paper in an international conference.
    ขออย่างน้อยสัก 1 งานตีพิมพ์ เพื่อยังคงสถานะใน Academia ไว้
  4. Learn more mathematics.
    เพื่ออนาคตที่อยากจะเป็น Data scientist ที่ดีให้ได้ เรื่องที่จำเป็นต้องเรียนให้ถึงแก่นคือ Probability และ Statistics
  5. Learn more theory.
    ปีนี้จะเน้นทางด้าน Algorithms and data structures
  6. Learn a new programming language.
    ปีที่แล้วเรียนภาษา Python ไป ปีนี้ขอ Ruby on Rails
  7. Complete a personal project.
    ผลต่อเนื่องมาจากข้อ 6 แน่นอนว่าคงใช้ Ruby on Rails พัฒนา
  8. Go analog.
    จะปั่นจักรยานให้มากขึ้น และจะลองทำกับข้าวอย่างน้อยสัก 1 อย่าง 🙂
  9. Stay healthy.
    เพราะโปรแกรมเมอร์ต้องมี Six Pack
  10. Read at least one fiction or autobiography book.
    ปีนี้จะอ่าน Obama: From Promise to Power ฉบับแปลไทยให้จบ! (น่าจะถือว่าเป็น autobiography?)
  11. Learn new software or tool.
    คงจะเกี่ยวกับ Data visualization ที่เล็งไว้คือ Tableau กับ D3
  12. Automate.
    จะพยายามใช้ cron ให้เป็นจริงๆ แล้วก็จะใช้ shell scripts ทำสิ่งต่างๆ ที่เราทำบ่อยๆ แทนเรา แล้วก็จะใช้ช่วยในการเขียนบทความต่างๆ

ซึ่งต้องขอบคุณท่าน อ. Matt Might อีกครั้งที่เป็นแรงบันดาลใจเสมอมา Orz

สรุปผลการพัฒนาตัวเองในปี 2012

อ้างอิงจากบล็อกที่เคยเขียนไว้ตอนต้นปี ที่ตั้งไว้จริงๆ แล้วจะเน้นแต่ละข้อเป็นเดือนๆ ไป แต่เนื่องจากทำได้ยาก ก็เลยสรุปรวมๆ กันทั้งปีแทนละกัน

  1. Go analog.
    ถือว่าผ่าน เพราะได้มีการออกไปวิ่ง ออกไปปั่นจักรยาน ดูหลักฐานได้ที่ MapMyRun กับ Endomondo ช่วงต้นปีใช้ MapMyRun แต่หลังๆ เปลี่ยนไปใช้ Endomondo แหละ รู้สึกเหมือนจะมีอะไรให้เล่นมากกว่า 🙂
  2. Stay healthy.
    ข้อนี้ต้องปรับปรุง น้ำหนักลดลงไปได้เล็กน้อย และไม่เคยไปตรวจสุขภาพเลย ถึงแม้ว่าจะไม่ค่อยป่วยก็เถอะ ถือว่าไม่ผ่าน
  3. Embrace the uncomfortable.
    ถือว่าผ่าน หยุดใช้เม้าส์ไป 1 เดือนเต็มๆ ช่วงแรกๆ มีปัญหาบ้าง แต่พอผ่านไปสัก 1 อาทิตย์จะเริ่มชิน ผลที่ได้จากการทำแบบนี้รู้สึกได้ว่าจะมีเม้าส์หรือไม่มีเม้าส์ก็ไม่เป็นปัญหาในการทำงานอีกต่อไป
  4. Learn a new programming language.
    ตามที่คิดไว้ว่าจะเรียน Python และก็ทำได้จริงๆ แม้ว่าจะไม่ลึกซึ้งมากก็ตาม มีหลักฐานแปะมาให้ดูด้วย
    Udacity Certificate on WAEรูปข้างบนเป็น Certificate จาก Udacity วิชา Web Application Engineering ใช้ Python เขียนCoursera Certificate on LTPและรูปข้างบนเป็น Certificate จาก Coursera วิชา Learn to Program: The Fundamentals ใช้ Python เขียนอีกเช่นกัน
  5. Automate.
    อันนี้ทำเป็นประจำอยู่แล้ว ใช้ Perl เขียน สบาย
  6. Learn more mathematics.
    กลับไปอ่าน Discrete mathematics ได้หน่อย อ่านพวก Bayesian inference เพิ่มเติม แม้ข้อนี้จะทำได้ไม่เต็มที่ แต่ก็ถือว่าผ่านนะ
  7. Focus on security.
    ใช้รหัสไม่ค่อยซ้ำกันแล้ว และเก็บไฟล์รหัสไว้ในเครื่อง Local ก็ถือว่าปลอดภัยในระดับหนึ่ง มีการใช้โปรแกรมล็อกโฟลเดอร์ ล็อกไฟล์บ้าง แต่ยังไม่ถึงกับใช้เป็นประจำ ข้อนี้ผ่าน
  8. Back up your data.
    ใช้ทั้ง svn และ git ในการสำรองข้อมูลและโค้ดต่างๆ ใช้ Dropbox เก็บไฟล์และแชร์ไฟล์ระหว่างเครื่อง อีกทั้งยังใช้ rsync สำรองข้อมูลพวกไฟล์หรือวีดีโอไว้ในฮาร์ดดิสสำรอง ทำให้ข้อนี้ผ่านฉลุย
  9. Learn more theory.
    ไม่ได้เรียนรู้ทฤษฎีอะไรใหม่เลย.. ข้อนี้ไม่ผ่าน
  10. Engage the arts and humanities.
    นิยายก็ซื้อมาอ่านบ้างไม่อ่านบ้าง เพลงก็ลองฟังแนวใหม่ๆ ดู ก็โอเคนะ ถือว่าทำ
  11. Learn new software.
    ข้อนี้ถือว่าไม่ผ่านก็แล้วกัน เพราะไม่ได้ลองโปรแกรมที่แปลกใหม่จริงๆ สำหรับตัวเอง
  12. Complete a personal project.
    เนื่องจากลงเรียนวิชา Web Development ของ Udacity ไป ทำให้ได้โปรเจคง่ายๆ ที่เป็นส่วนตัวจริงๆ มา นั่นก็คือ MISCmarks ซึ่งเป็นที่ๆ ผมเอาไว้เก็บลิงค์ไปยังเว็บหรือบทความที่ชอบ ใช้ Python เขียน แล้วก็โฮสต์ไว้บน Google App Engine ส่วนโค้ดก็อยู่ที่ GitHub

จาก 12 ข้อ ทำไปได้ 9 ข้อ คิดเป็น 75% เกินครึ่ง ปีหน้าจะตั้งใหม่อีก 12 ข้อ แล้วก็จะพยายามทำให้ได้ครบทุกข้อ 🙂

เป้าหมายพัฒนาตัวเองในปี 2012 นี้

ได้ไปอ่าน 12 resolutions for programmers ของท่าน Matthew Might (@mattmight) มา แล้วก็รู้สึกว่าปีที่ผ่านๆ มาไม่ได้พัฒนาตัวเองเท่าไหร่ในการเป็นโปรแกรมเมอร์สักเท่าไหร่ ปีนี้เลยต้องเอาสักหน่อย ขอทำตามปณิธาน 12 ข้อนั้นเลยละกัน 🙂

  1. Go analog.
    นอกเหนือจากนั่งอยู่หน้าคอมแล้ว ก็ให้ไปลองทำกิจกรรมอย่างอื่นดูบ้าง เช่น ทำอาหาร หรือวิ่งออกกำลังกาย
  2. Stay healthy.
    ลองไปตรวจตรวจพวกความดัน คอเลสเตอรอล น้ำตาลในเลือด ฝึกตัวเองให้นั่งในท่าที่ถูกสุขลักษณะ และลดน้ำหนัก!
  3. Embrace the uncomfortable.
    ชีวิตเราสุขสบายเกินไป ก็ให้ลองทำสิ่งที่ไม่สบายดู เป็นการฝึกอย่างหนึ่ง เช่น หยุดการใช้เม้าส์ หรืองดการใช้อินเตอร์เนทสักหนึ่งวันในหนึ่งอาทิตย์
  4. Learn a new programming language.
    เรียนรู้ภาษาโปรแกรมใหม่ๆ สัก 1 เดือน กำลังคิดอยู่ว่าจะลองภาษาอะไรดี ระหว่าง Python Haskell และ Scala ตอนนี้มี Python อยู่ในใจ
  5. Automate.
    เขียน shell script สำหรับสิ่งที่ต้องทำอยู่เป็นประจำ
  6. Learn more mathematics.
    "At its heart, computer science is a mathematical discipline." เห็นด้วยทุกประการครับ ว่าจะกลับไปทบทวนใหม่ คงเริ่มจาก Discrete mathematics  🙂
  7. Focus on security.
    ลองทำชีวิตให้ปลอดภัย (ทางด้านข้อมูลมากขึ้น) เช่น จัดการรหัสผ่านให้ดีกว่านี้ (ตอนนี้ยอมรับเลยว่าค่อนข้างแย่ เพราะใช้รหัสผ่านซ้ำๆ กันเกือบทุกเว็บ) และการเข้ารหัสไดร์ฟหรือโฟลเดอร์ไว้
  8. Back up your data.
    ใช้ version control หรือพวก cloud-based backup services ตอนนี้ผมใช้พวก Subversion ของภาค กับ Github สำหรับ version control และใช้ Dropbox สำหรับสำรองข้อมูล
  9. Learn more theory.
    ที่ผมอยากเรียนรู้มากขึ้นคือพวก Formal methods กับ Semantics
  10. Engage the arts and humanities.
    สำหรับปณิธานนี้ ผมคงหานิยายดีๆ หรืออัตชีวประวัติมาอ่าน แล้วก็คงลองฟังเพลงแนวใหม่ๆ
  11. Learn new software.
    ลองโปรแกรมใหม่ๆ ผมว่าจะลองพวก Augmented Reality 🙂
  12. Complete a personal project.
    ใช้เวลาสัก 1 เดือนทำ open source โปรเจคขึ้นมาสัก 1 โปรเจค แน่นอนผมคงนำ OpenCV มาใช้ด้วย

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

ก่อนจบบล็อกนี้ ผมขอแนะนำบทความดีๆ อีกเรื่องคือ What every computer science major should know สำหรับคนที่เรียนด้านคอมพิวเตอร์ครับ ควรอ่านกันทุกคน

กราฟสถิติข้อมูลน้ำในเขื่อนภูมิพลปี 2009-2011

ข้อมูลนี้ผมนำมาจาก Thaiwater.net นะครับ คิดว่าเชื่อถือได้ 🙂 มี 3 กราฟหลักๆ ด้วยกัน ตามนี้


รูปแสดงปริมาตรเก็บกักน้ำในปี 2009-2011

จากกราฟข้างบน จะเห็นได้อย่างชัดเจนว่าตั้งแต่ประมาณกลางเดือน เม.ย. ปริมาตรน้ำในเขื่อนมีมากกว่าทั้งปี 2009 และปี 2010 ซึ่งเขื่อนภูมิพลจะรองรับได้ถึง 13,462 ล้าน ลบ.ม. พอตอนปลายๆ ก.ย. น้ำพุ่งถึงระดับสูงสุดที่เขื่อนจะรองรับได้ 🙁 ทีนี้มาดูปริมาณน้ำที่ไหลลงอ่างฯ กันบ้าง (ไม่ใช่อ่าง ในอาบ อบ นวด นะ อันนั้นน้ำล้นได้ไม่เป็นไร อะฮิๆ)


รูปแสดงปริมาณน้ำไหลลงอ่างฯ ในปี 2009-2011

ดูจากกราฟแล้ว ปริมาณน้ำที่ไหลลงอ่างฯ ของปี 2011 จะเริ่มเพิ่มขึ้นประมาณกลางเดือน เม.ย. ถ้าเทียบกับปี 2009 ปริมาณน้ำที่ไหลลงมาจะพอๆ กันจนถึงประมาณปลายเดือน มิ.ย. หลังจากนั้นเป็นต้นไป ปริมาณน้ำของปี 2011 จะมากกว่าจากทั้ง 2 กราฟข้างต้นนี้ จุดเริ่มต้นของปัญหามันน่าจะอยู่ที่ช่วงกลาง เดือน เม.ย. และจะเห็นได้ชัดเจนมากขึ้นตอน ปลายเดือนมิ.ย.

แล้ววิธีแก้? สำหรับคนที่ไม่มีความรู้ทางด้านการจัดการน้ำอย่างผม แต่เนื่องจากที่ผมทำงานทางด้านข้อมูลและสถิติมานานพอสมควร วิธีแก้ของผมนั้นง่ายมาก นั่นคือ ผมจะอ้างอิงข้อมูลสถิติจากปีก่อนๆ ว่าน้ำเข้ามามากเท่าไหร่ ควรปล่อยน้ำออกไปเท่าไหร่ มีส่วนเบี่ยงเบนมาตรฐานเท่าไหร่ แล้วค่อยมาดูว่าปีนี้เรามีน้ำเข้ามาเท่าไหร่ แล้วเราควรจะปล่อยน้ำออกไปเท่าไหร่ตามความเหมาะสม ข้อมูลทางสถิติเป็นอะไรที่เชื่อถือได้จริงสำหรับผม (จริงๆ ข้อมูลที่ผมนำมาเปรียบเทียบกันแค่ 3 ปีอาจจะน้อยไป แต่คิดว่าน่าจะพอเห็นภาพและเข้าใจได้) ทีนี้เรามีดูปริมาณการระบายน้ำของเขื่อนในปี 2009-2011 กัน


รูปแสดงปริมาณระบายน้ำในปี 2009-2011

ผมขอเทียบข้อมูลตั้งแต่กลางเดือน เม.ย. ของทั้ง 3 ปีนะครับ สังเกตได้ว่าปี 2011 มีปริมาณการปล่อยน้ำน้อยกว่าทั้งปี 2010 และ 2009 มาก ดูแล้ว "ไม่สมเหตุสมผล" เลย ปริมาณน้ำเข้ามากขึ้น เราก็ควรจะปล่อยน้ำมากขึ้น แต่นี่กลับปล่อยน้ำน้อยลง จนเกือบเป็น 0 โดยเฉลี่ยช่วงกลางเดือน พ.ค. ถึง ปลายเดือน มิ.ย. กราฟตอนต้นเดือน ต.ค. ยิ่งน่าตกใจ เพราะว่าเขื่อนได้ปล่อยน้ำออกมาสูงมากจนน่าตกใจ แต่ถ้าย้อนกลับไปดู 2 กราฟที่แล้ว จะเห็นได้ว่านี่เป็นการป้องกันเขื่อนพัง (ถ้าพังนี่หายนะจริงๆ นะ) หรือการแก้ปัญหาเฉพาะหน้า คาดว่าไม่ได้จงใจจะสร้างความเดือดร้อน แต่มันจำเป็นจริงๆ ที่ทุกคนต้องเดือดร้อน

ไม่ว่าจะมีปัจจัยภายนอกอะไรก็แล้วแต่ อย่างน้อยเราก็ควรจะอ้างอิงหลักสถิติไว้ เราถึงจะรับมือกับปัญหาได้ทันท่วงทีครับ บล็อกนี้ผมต้องการจะเน้นด้วยว่าหลักสถิตินั้นสำคัญ ไม่ควรเพิกเฉย สุดท้ายแล้วนี่คงเป็นเหตุผลหนึ่งที่ทำให้วิกฤตบังเกิดในปี 2011 เริ่มก่อตัวตั้งแต่ต้นเดือน ก.ค. และแสดงตัวออกมาตอนต้นเดือน ส.ค.

อย่างไรก็ตามผมก็ขอให้ทุกคนผ่านพ้นวิกฤตนี้ไปด้วยดีครับ เป็นกำลังใจให้ผู้ประสบอุทกภัยทุกท่าน -/\-

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