อย่าใช้ MP เกินครึ่งหลอด

อย่าใช้ MP เกินครึ่งหลอด
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it? — Brian Kernighan

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

ผมจะพยายามหาที่ที่เล่นท่านี้ดูนะ

แวบนั้นสัญญาณนิรภัยในหัวผมก็ดังขึ้นมา แล้วก็โพล่งไปก่อนว่า “อย่า” ผมเล่าต่อว่า สมัยก่อน บ่อยครั้งที่ผมมักจะตื่นเต้นกับท่าใหม่ๆที่ได้เรียนมา แล้วก็หาทางเอาไปใช้ในงาน ผลลัพธ์เป็นเอกฉันท์ทุกครั้งไป คือโดนท่านั้นกลับมาแว้งกัดตัวเอง ตอนแรกผมไม่แน่ใจว่าผมเป็นแค่โปรแกรมเมอร์ดวงซวย หรือการใช้ท่ายากมันจะต้องโดนแว้งกัดเสมอไปนะ? จนกระทั่งมาเจอ quote ของ Brian Kernighan (จริงป่าวไม่รู้ แต่ wikipedia บอกว่าเค้าเป็นคนพูด) ว่า การ debug เนี่ย มันยากกว่าเขียนโด้ดตอนแรกตั้งเท่าตัว เพราะฉะนั้น ถ้าใช้ท่าที่ยากเกินครึ่งนึงของความสามารถเราเขียนมันขึ้นมา by definition เลยแปลว่า เราจะไม่มีปัญญา debug มันตอนมีปัญหา


เรื่องนี้สอนให้รู้ว่า ผม โชคชัย by definition ไม่มีทางดวงซวย #ไม่เห็นจะเกี่ยว #จบๆ กลับไปทำงานกัน

ref: https://en.wikiquote.org/wiki/Brian_Kernighan

credit:

  • ป้อ ที่เป็นแรงบันดาลใจให้เขียน blog นี้
  • โจ้ ที่เป็นต้นเหตุให้เกิด blog นี้

Read more

ทำไมผมถึงเขียน Brag document

ทำไมผมถึงเขียน Brag document

มาทำความรู้จัก brag document กันก่อน ถ้าแปลตรงตัว brag document คือเอกสารที่เอาไว้อวด เป็นเอกสารส่วนตัว ที่แต่ละคนเอาไว้จด ว่าฉันทำอะไรเจ๋ง ๆ มาบ้าง หรือได้สร้าง impact อะไรให้กับองค์กร จดคำชมที่ได้รับ หรือบันทึกการเติบโตของตั

By Chokchai

Run e2e tests บน TravisCI (ถึงกับต้อง blog อ่ะ)

ขณะที่ผมกำลังทำ Perlclip เป็น Prograssive Web App เพื่อให้ใช้บนมือถือได้นั้น ผมก็พบว่ามัน run e2e test บน travis ไม่ได้ ลองมาดู log ตอน error กัน Error ไม่ค่อยสื่อเท่าไหร่ รู้แค่ว่ามัน start selenium server ไม่ได้

By Chokchai

Run robotframework ใน docker

บ่อยครั้งที่ผมอยากจะ run robotframework ใน docker ความยากของงานนี้คือ มันมี public image เต็มเลย แต่ส่วนใหญ่ใช้งานไม่ได้แล้ว ณ วันนี้ อันที่ผมลองแล้วยังใช้ได้อยู่มี 2 อันคือ ppodgorsek/docker-robot-frameworkdocker-robot-framework - Robot Framework in Dockergithub.comjuacompe/robot-docker-chrome-alpineContribute to

By Chokchai