อาทิตย์ที่ผ่านมาไปงานรับปริญญาที่ธรรมศาสตร์ก็ได้ลอง Feature อย่างนึงของกล้องคือ Burst mode ตอนแรกก็กะว่าลองสองสามครั้ง สุดท้าย กดค้างมันไปหน่อยได้กลับมาเป็นพันรูป ก็เลยต้องกลับมาหาทางต่อเป็นภาพเคลื่อนไหวซะ (ตอนกดถ่ายก็มีคนถามนะว่าทำไมไม่ถ่ายเป็นวิดีโอไปเลย ถ้าถ่ายเป็นวิดีโอมันจะไม่มีรอยต่อให้เห็นอย่างนี้อ่ะ เรียบง่ายไป ฮ่า เรื่องมากจริงๆ) หามาสองสามวัน ตอนแรกคิดว่าจะใช้ iMovie แต่มันไม่ได้อย่างที่ต้องการ ขุดไปขุดมายังไม่เจอที่ต้องการแบบสำเร็จรูปมี GUI เสียที สุดท้ายเลยต้องใช้ ImageMagick เริ่มจากดาวโหลดมาติดตั้งก่อนตามวิธีในหน้านี้ ImageMagick binary download ติดตั้งเสร็จก็ Export ภาพจาก Aperture หรือ iPhoto ออกมาเก็บไว้ที่ Folder นึงขนาดตามต้องการแต่หลังจากลองหลายขนาดแล้วประมาณ 320×240 กำลังดีจากนั้นก็ convert ออกมาเป็น gif ด้วย ImageMagick จากคำสั่ง -loop 0 ใส่เพื่อให้ gif วนภาพซ้ำเวลาดูใน Browser แต่ animation ง่ายๆ ไม่พอใจ เนื่องจากวันที่ถ่ายเสร็จมีชุดนึงที่ลองดูย้อนจากท้ายมาภาพแรกสุด [...]
TestIt Suite Runner
TestIt มีปัญหาอย่างนึงที่ยังแก้ไม่ได้คือ เมื่อเอาหลายๆ test มารันด้วยกันพร้อมกันบางครั้งทำให้ test ที่เคยทำงานผ่านกลับไม่ผ่าน เวลาเรียกรวมเลยต้องแยก test เหล่านั้นออกแต่ด้วยความขี้เกียจยังคงอยากเรียกที่เดียวแล้วเห็นผลลัพธ์ทั้งหมด เลยเขียน script เล็กๆเพื่อมาเรียกพวกนั้นรวมทีนึง เวลาใช้ก็เพียงแค่ แต่ยังมี config อีกเล็กน้อย ต้องสร้าง suite.js (หรือจะชื่ออะไรก็แล้วแต่) เป็นไฟล์ที่บอกว่าจะเรียก test ไหนให้ทำงานร่วมกันบ้าง หน้าตาก็อย่างด้านล่าง สุดท้ายแล้ว เอา suite ไปเพิ่มในไฟล์ด้านล่าง (ไว้แยกออกมาและทำงานได้บน Browser ทีหลังละกัน) save file ด้านบนเอาไปเรียกใช้ตามสะดวก วิธีเรียกก็มี node suite.js all ที่จะเห็นผลลัพธ์แบบละเอียด (แสดงแต่ละ test ว่าอะไรผ่านไม่ผ่านบ้าง) node suite.js summary เพื่อดูแค่ว่ามี suite ไหนผ่านไม่ผ่านบ้าง node suite.js suite เพื่อเรียกเฉพาะ suite ที่ต้องการ สิ่งที่ยังไม่ได้ทำ [...]
TestIt
หลังจากเริ่มจัดการ Dev Process จริงจังสิ่งหนึ่งที่เป็นปัญหาต้ังแต่เข้าไปในทีมคือ unit test เพราะไม่มีใครเคยทำมาก่อนในฝั่ง Javascript มีบ้างก็เป็นการทดลองรวมๆ มากกว่า เวลาจะเรียกทีต้อง start server เรียกได้แทบฝันร้าย เรียกแล้วผ่านไม่ผ่าน ไม่มี format ตายตัวรันที Terminal เต็มไปด้วย Text วันแรกๆ เลยทดลองหา Test framework ที่ถูกใจ ใช้ง่าย ใช้ได้ทั้ง client server ก่อนเลย รอบแลกคิดว่าจะใช้ nodeunit เพราะว่าสามารถใช้ node.js มีผลลัพธ์ให้เห็นสวยงาม แต่พอเอาไปใช้กับ test เก่าที่บางส่วนต้องเรียกบน browser เริ่มเห็นลางร้ายเพราะต้องแยก code test ดีๆ ให้ทำงานบน browser หาอยู่หนึ่งวันยอมแพ้ หาตัวเลือกอื่นก็เปิด wiki หาว่า Javascript มี Test framework อะไรใช้ได้บ้างก่อนเลย [...]
Software Development Team
หลังจากทำงานมาสี่ปี เจอปัญหามามากมาย ได้แก่ Component ต่างๆ ไม่มีใครสามารถเล่าได้ หรือรันให้ดูเป็นส่วนว่ามันทำงานอย่างไร ต้องเข้าไปอ่าน Code แล้วลองรันดูเอง ถึงจะรู้ จะรันโค้ดส่วนต่างๆ ได้ต้อง setup นู่นนี่นั่น ขึ้นมาก่อนถึงจะรัน test ได้ รันแล้วยังคงไม่รู้อยู่ดีว่ามันทำงานยังไง เพราะตอนรันไม่มีคนมาอธิบาย ตอนอธิบายก็คือเป็นการสอนกลุ่มใหญ่ ดูสไลด์เอา บางครั้งถึงกับรันไม่ได้เลย จนเหนื่อยใจเลิกรัน test กันไป เมื่อมีการแก้ไข Component ไม่สามารถรู้ได้ว่าสิ่งที่เพิ่มไป ทำให้ของเก่าพังหรือป่าว ต้องถึงมือ QA ก่อนถึงจะรู้! เมื่อถึงมือ QA แล้วกลับมาแก้ก็ไม่รู้ไปพังส่วนไหนอีก ตอนทำงานพร้อมกันหลายๆ ส่วนแล้วเอามารวมกัน ไม่สามารถรู้ได้ว่าทำให้โค้ดคนอื่นพังป่าว เวลา Merge version ใหญ่ๆ ไม่สามารถบอกได้เลยว่าทุกอย่างยังทำงานถูกต้อง Code แต่ละคนแม้ส่วนใหญ่จะใช้รูปแบบเหมือนกัน แต่เวลามีน้องใหม่เข้ามาทำงาน ไม่มีการบอกกล่าวก็เจอรูปแบบประหลาดไปเต็มๆ เนื่องจาก แก้แล้วแก้อีก เพราะแก้เสร็จก็ทำให้เกิดปัญหาอีกอย่าง ทำให้งานไม่เสร็จซักที ช่วงสองสามเดือนที่ผ่านมา อาการพวกนี้เริ่มเข้าขั้นวิกฤต สามารถแก้แบบปะผุไปล่วงหน้าได้บ้าง [...]
Software Development from Twitter (and G+)
เรื่องนี้มาจากสิ่งที่คุยกันใน Twitter หาจุดเริ่มต้นนานมาก เพราะคุยกันไม่ได้ติดต่อกันเท่าไหร่ ยกเว้นช่วงหลังที่ @visibletrap ปล่อยมาเป็นชุดเลย เรื่องก็น่าจะเริ่มจาก Tweet ชุดนี้มั้ง (22 กรกฎา) @visibletrap: “ตามคำขอ [Blog] Refactoring DOJO http://t.co/w6NQIW6 cc @teerapapc @m3rlinez @llun: @visibletrap อยากเห็น Agile ในบริษัทที่ทำ Product ของตัวเองอ่ะ (เรียกว่า Software House ป่าวหว่า) เพราะบริษัทเหล่านี้มักไม่มีการคุมเวลา @visibletrap: @llun น่าจะมีนะ แต่ยังไม่เคยรู้ข้างในจริงๆ อย่าง Pivotal เค้าก็มี product เค้า อย่าง google เคยได้ยินว่าทีม adwords ก็ทำ @llun: @visibletrap ใช่แต่บริษัทที่ทำ Agile และรู้จักตอนนี้ส่วนใหญ่คือทำ Product ตาม Requirement [...]