ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก มีนาคม, 2018

ตามหาของหาย โปรแกรม tetris 3 คน

ตามหาของหาย โปรแกรม tetris 3 คน เล่นบนเครื่องเดียว ที่เขียนตอนสมัยเรียน ผมทำหายไปนานแล้วทั้ง source code และ exe file แต่ทราบว่ารุ่นน้อง ๆ ยังเล่นต่อกันอีกหลายปี ใครมี file อยู่รบกวนขอด้วยครับ จะจัดฉลองใหญ่สมนาคุณ โปรแกรมนี้ดูเหมือนเป็นเกมส์ธรรมดา แต่สำหรับเครื่องในสมัยนั้น รัน os เป็น dos แต่ต้องรัน tetris สามเกมส์ในเครื่องเดียวกันแถมยัง มี background music และ sound effect ออกลำโพง digital ต้องใช้เทคนิค event driven กันเลยทีเดียว ไม่น่าเชื่อว่าเทคนิคโบราณจะกลับตอบโจทย์ concurrency สำหรับ server โปรแกรม หลายตัว เช่น nginx หรือ app ที่พัฒนาด้วย nodejs

ข้อแนะนำกรณีเหตุระบบดับเพลิงทำงานทำให้คนเสียชีวิต

จากข่าวระบบดับเพลิงทำงานทำให้มีคนเสียชีวิต หลายคนที่ทำงาน IT ต้องเดินเข้า ๆ ออก ๆ ห้อง data center คงจะกังวลว่าระบบดับเพลิงที่ใช้ มีอันตรายขนาดไหน ผมแนะนำง่าย ๆ ว่าให้ถาม data center manager ว่าใช้สารอะไรดับเพลิง ถ้าเป็นตัวที่ปลอดภัยก็สบายใจได้มาก ปัจจุบันมีสารดับเพลิงอยู่หลายตัว แต่แยกตามประเภทแล้ว แบ่งเป็น 1. สารที่เป็นพิษ ตัวสารอันตรายต่อสุขภาพคนโดยตรง เช่น CO 2  หรือ คาร์บอนไดออกไซด์ ซึ่งถ้าสูดดมเข้าไปอาจเป็นอันตรายถึงชีวิตได้ แต่โดยปรกติจะห้ามใช้สารจำพวกนี้ในจุดที่มีคนเข้าไปปฎิบัติงานเช่นห้อง server เนื่องจากมีอันตรายเกินไป 2. สารที่ไม่เป็นพิษ แต่การดับเพลิงทำงานโดยการลดออกซิเจนเพื่อให้ไฟดับ เช่น ไนโตรเจน หรืออาร์กอน การทำงานจะพ่นสารดับเพลิงออกมาแทนที่อากาศในห้องด้วยแรงดันสูงผลักอากาศออกไปจากห้อง ออกซิเจนจะลดลงจนไฟไม่สามารถลุกลามต่อไปได้ นั่นก็หมายความว่าถ้าเราอยู่ในห้อง server แล้วระบบดับเพลิงทำงาน เราอาจตายเพราะขาดออกซิเจนได้เช่นกัน 3. สารดับเพลิงที่ทำงานโดยการลดความร้อน เช่น FM-200, Novec 1230 หรือ น้ำ ทั้ง 3 ตัวปลอดภัย เพราะขณะที่ระบบทำงานเรายังหายใจได้ตามปรกติไม่เป็นพิษและ

real time stream ผ่านทาง web application

อยากลองทำ real time stream ผ่านทาง web application มาตั้งแต่ปลายปีที่แล้ว พอดีต้องทำ dummy web service ที่ไว้รับการทำ load test เลยได้โอกาสลองของซะเลย ตัวนี้ใช้ golang เป็น server ทำการ stream ข้อมูลแบบ real time ผ่าน web socket ไปยัง browser รับและแสดงผลด้วย javascript เป็น graph ลองเข้าไปเล่นกันได้โดยเปิด browser บนเครื่อง desktop ไปที่   http://130.211.241.167 แล้วเปิด brwoser บนมือถือไปที่   http://130.211.241.167/controller แล้วลองกดปุ่ม เพิ่มลดค่า หรือเปิดปิด traffic simulator ดูมันจะแสดงบน desktop แบบ real time เลย หุหุ ตัวนี้ผมจับทุกคนไว้ใน session เดียว ใครกดอะไรมันจะมีผลขึ้นหน้าจอของทุกคนที่เปิด browser เข้าในขณะนั้น server demo ผมจะเปิดแค่ไม่กี่วัน ถ้าเข้ามาหลังจากวันนี้หลายวัน (29 มีนา 59) จะเข้าไม่ได้นะจ๊ะ

ดาต้าเซ็นเตอร์แนวคิดใหม่

ดาต้าเซ็นเตอร์ใหม่ ใช้แนวคิดล่าสุดในการทำความเย็นให้เครื่อง servers แทนที่จะทำความเย็นทั้งห้อง เป็นการใช้ไฟฟ้าอย่างคุ้มค่า และมีความมั่นคงระดับ tier 3+ ระบบทั้งหมดยกขึ้นมาอยู่เหนือ rack ให้เห็นกันชัดๆ แทนที่จะซ่อนไว้ใต้พื้น ดูแลรักษาง่าย balance phases ไฟฟ้าสะดวก ปรับควบคุม air flow ได้ตามสั่ง ระบบ monitoring สมบูรณ์แบบ ทั้งไฟฟ้า อุณหภูมิ ความชื้น มาพร้อมระบบดับเพลิงที่ปลอดภัยไม่เป็นพิษกับคนและสิ่งแวดล้อม 

Push หรือ pull สำหรับ mobile application

ช่วงนี้เห็นมี mobile application ใหม่ ๆ เกิดขึ้น และมีความต้องการการทำงานแบบ real-time ขึ้นเช่นการ update transaction บนหน้าจอ app ทันที ที่ transaction สำเร็จ model ที่ใช้กันมี 3 แบบหลัก ๆ ตามในรูป จากประสประสบการณ์ผม push-pull เป็นแบบที่เหมาะสมกับงานแบบนี้ที่สุด  แบบ polling ช้าและเกิดภาระที่ server สูง ส่วน push ต้องจัดการกับความไม่เสถียรของ mobile network ซึ่งถ้าไม่ได้ออกแบบรอบรับไว้ตั้งแต่ต้นรับรองว่างานหยาบ

วิวัฒนาการของการออกแบบ UX ของ mobile application

วิวัฒนาการของการออกแบบ UX ของ mobile application จากเดิมหน้าแรกจะเจอะเมนูหรือ navigation แล้วต้องกดเลือกก่อนจึงจะเห็นข้อมูล ปัจจุบันหา UX ประเภทนี้ไม่เจอแล้ว เปลี่ยนเป็นการแสดงข้อมูลที่ใช้ประจำขึ้นมาทันทีที่เปิด app ในรูปแบบ dashboard และก็ถืงเวลาที่รูปแบบใหม่จะเริ่มมีบทบาทมากขึ้น นั่งคือการแสดงผลแบบ feed นั่นเอง ตามตัวอย่างในรูป app health tracking 2 ตัว คือ Garmin กับ Nokia ความตั้งใจแรกจะเปรียบเทียบให้เห็นความแตกต่างของสอง UX คือ Nokia เป็น feed ส่วน garmin เป็น dashboar d แต่พอเปิด garmin ก็พบว่ามันได้เปลี่ยนการแสดงผลเป็น feed ไปแล้ว แสดงว่า Garmin แองก็เห็นประโยชน์เหมือนกัน ข้อดีของการแสดงแบบ feed คือสามารถโต้ตอบกับระบบได้ ยกตัวอย่าง Nokia app เราสามารถเลือกโปรแกรมลดน้ำหนัก หรือโปรแกรมปรับการนอน หรือกระทั่ง โปรแกรมสำหรับคนท้องได้ มันจะ update กับเราทุกวัน เหมือนเราได้สื่อสารโต้ตอบกับระบบทุกวัน และยังสามารถใส่ machine learning เพิ่มในอนาคต ได้เรื่อยๆ ในขณะที่ dashboard ทำไม่ได้ ไม่จำกัดเฉพาะ health tracking app เท่านั้นที่ใช้ UX แบบ feed ได้ bank app ก็ทำได้เช่นกันเม