Vaccine Validation

พอดีเห็นมีข่าวเรื่องวัคซีนในไทยเยอะ บันทึกความคิดไว้หน่อย

  • กระบวนการยากที่สุดก่อนใช้งาน คือเฟส 3 ใช้คนเยอะ แถมควบคุมเวลาไม่ได้
  • ในกรณี Pfizer ใช้คน 43,538 คน หลังจากฉีดครบสองเข็มแล้ว 7 วันจึงเริ่มนับประสิทธิภาพ ดังนั้นหากเราจะวิจัยวัคซีนอีกตัว เราต้องหาอาสาสมัครให้ครบโดยเร็ว รวมถึงผลิตวัคซีนเอาไว้สำหรับคนกลุ่มนี้ (เป็นยาหลอกครึ่งหนึ่งก็ต้องผลิตสี่หมื่นกว่าโดสมารอ)
  • ให้อุดมดติเลยคือฉีดได้ในวันเดียวหมด ก็ต้องรอเริ่มเก็บผลอีกประมาณเดือนกว่าๆ ของจริงกว่าจะฉีดครบน่าจะใช้เวลานับเดือน
  • ถึงเวลาจุดทรมานคือรอกลุ่มผู้ร่วมทดลองทั้งหมดติดเชื้อ ซึ่งไม่สามารถควบคุมได้ว่าจะติดเมื่อไหร่ แต่ในกลุ่มผู้ร่วมทดลองทั้งหมดจะมีเกณฑ์ว่าเริ่มวิเคราะห์ผลได้เมื่อใด ในกรณีของ Pfizer ระบุว่าจะเปิดมาวิเคราะห์ครั้งแรกเมื่อคนติดเกิน 94 คน เป็นผลเบื้องต้น และอีกครั้งคือ 164 คนเป็นผลเฟสสามเป็นทางการ (Pfizer แถลงผลรอบสามป่วย 927 คน++ เมื่อเดือนเมษายน) กรณีของ Pfizer ผู้ร่วมวิจัยน่าจะอยู่ในกลุ่มที่ติดเชื้อหนักมาก ทำให้เคสเพิ่ม 70 เคสภายในสิบกว่าวันเท่านั้น
  • ตอนนี้ในไทยติด COVID กันวันละ 2-4000 คน ถ้าคิดต่อประชากรก็อาจะบอกได้ว่าแต่ละวันติดกัน 1 ใน 20000 ถ้ามีกลุ่มตัวอย่าง 40,000 คน แล้ววัคซีนไร้ประสิทธิภาพเป็น 0% เลยก็ต้องรอให้ครบ 100 คน โดยใช้เวลาถึง 50 วัน ถ้าวัคซีนประสิทธิภาพดีเยี่ยม 100% จะยิ่งช้ากลายเป็น 100 วัน สำหรับผลเบื้องต้น ถ้ารอผมเต็มก็จะนานกว่านั้น
  • น่าจะเป็นเหตุผลให้วัคซีนบางตัวเลือกวิจัยกับกลุ่มเสี่ยงสูงๆ เช่น กลุ่มเจ้าหนัาที่สาธารณสุข ผลจะได้ครบเร็วขึ้น (มีความเสี่ยงอีกอย่างคือการเลือกกลุ่มตัวอย่างที่ติดเชื้อหนัก / attack rate สูง จะทำให้ประสิทธิภาพของวัคซีนที่วัดได้ลดลง)
  • ประเด็นการรอคนติดครบเคยเป็นประเด็นในยุโรป เพราะเสนอกันว่าหากทำ challenge trail (ฉีดเชื้อให้ติดเลย) ก็จะเร็วขึ้นมหาศาล แต่สุ่มเสี่ยงผิดจรรยาบรรณ สุดท้ายไม่มีใครกล้าทำ

 

Notes on Digital ID

นั่งอ่านเรื่อง Digital ID มาบ้าง ขอโน้ตเอาไว้ตรงนี้ก่อน

เกาหลีใต้นับเป็นชาติที่ก้าวหน้าที่สุดมานาน ออก cert ใช้กันเป็นวงกว้าง (ออกไปแล้ว 15 ล้านใบ) แต่บทเรียนคือเกาหลีเลือกอิมพลีเมนต์ประหลาด ทำให้ต้องใช้ ActiveX/Java หน่วยงานราชการไม่อัพเดต สร้างปัญหาระยะยาว แทนที่จะปลอดภัยดันสร้างอันตรายหนักกว่าเดิม คนจะใช้งานต้องไปลง Antivirus เพิ่ม

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

ออสเตรเลีย ไปท่าคล้ายๆ เกาหลีใต้ในปัจจุบัน ออกมาตรฐาน TDIF กำหนดว่าผู้ให้บริการยืนยันตัวตนต้องทำอะไรบ้าง ตอนนี้ผู้ให้บริการหลักมีสองรายคือ myGovID และ Digital iD ของไปรณีย์ออสเตรเลีย (โดนวิจารณ์ว่าทำไมรัฐบาลต้องทำสองอันแข่งกันเอง) แม้ไปรษณีย์ออสเตรเลียจะกึ่งๆ เอกชนแต่ก็ถือว่าเป็นของรัฐอยู่ดี เลยกลายเป็นว่ารัฐทำสองอัน

อ่าน TDIF แบ่งออกเป็น 4 หน้าที่ IdP เก็บข้อมูล, CSP ยืนยันตัวตน (งงว่าแยกทำไม paper ก็บอกว่ารวมกันกับ IdP ได้), IDX น่าจะคล้ายๆ NDID บ้านเรา, ASP คนเติมข้อมูล เช่น มหาวิทยาลัยสามารถส่ง transcript แนบไปกับตัวตนได้ แนวทางแบบนี้ทำให้เห็นชัดว่าใครจะเข้าไปต่อตรงไหนบ้าง ล่าสุด DocuSign ไปร่วมกับ Digital iD ยืนยันตัวตนในระดับสำคัญได้แทนที่จะใช้แค่อีเมล

สิงคโปร์ใช้ท่าแบบเกาหลีใต้เดิม คือรัฐเหมาคนเดียวเป็นแบบ SingPass เหมาเรียบทุกอย่าง เดิมออกแบบมาเป็น single sign-on ของรัฐ (ทำ IdP+CSP) ทำไปทำมาเพิ่ม MyInfo รวม ASP เข้าไปในตัว แถมเปิดบริการเซ็นเอกสาร กลายเป็น DocuSign เรียบร้อย แต่ก็เปิดให้เอกชนใช้งานด้วย ธนาคารดึงข้อมูลกันได้แล้ว

 

Wi-Fi CCTV

ช่วงเดือนที่ผ่านมาเพิ่งติด CCTV หลังจากมองซ้ายมองขวาสักพักก็ตัดสินใจใช้ Wi-Fi เพราะน่าจะง่ายสุด เนื่องจากบ้านเก่าไม่ได้เดิน LAN ไว้แต่แรก (อีกทางเลือกคือ Ethernet over Power Line แต่ตัดไป ไม่เคยใช้)

เลือก HIKVISION DS-2CD2121G1-IDW1 เพราะราคากับคิดว่าแบรนด์มาตรฐานน่าจะโอเค โดยเฉพาะเตรียมจะต่อ ONVIF เข้า NAS อยู่แล้ว ปรากฎว่าลืมดูว่าไม่รับ Wi-Fi 5GHz ทำให้เรื่องยาวกว่าที่คิดเพราะพอติดหลังบ้านแล้ว connection แย่มาก 2.4GHz นี่ noise น่าจะสูงอยู่แล้วแม้จะเป็นหมู่บ้าน ไม่ใช่คอนโดก็ตามที

ยังตัดสินใจไม่ติดสาย แต่เลือกใช้ repeater มากระจายสัญญาณไปหลังบ้าน เงื่อนไขคือราคาถูกๆ กับรองรับ Wi-Fi 5GHz เพื่อทำเป็น back haul มาเข้า router กลางบ้าน เลือกไปได้ TP-Link RE200 เข้าข่ายครบ แปะไว้ในห้องด้านหลังๆ หน่อยก็น่าจะเชื่อมไป CCTV ได้

ปรากฎว่าพอคอนฟิกกล้องให้ต่อ repeater แล้วกล้องร่วงไปเลย เช็คไปเช็คมา ปรากฎว่า RE200 มันจะเปลี่ยน MAC สามชุดแรกให้กลายเป็น vendor ID ของ TP-Link เองแล้วเหลือ 3 ชุดหลังให้เหมือนของอุปกรณ์จริงอันนี้เป็นเรื่องแปลกๆ ที่เพิ่ง่เคยเจอ เลยทำให้ static DHCP ไม่ทำงาน (อันนี้พลาด คือไม่ตรวจก่อนว่ามี MAC แปลกๆ โผล่มาในเน็ตเวิร์ค)

อุปกรณ์ทุกตัว รวมถึงตัว repeater (ที่มีหมายเลขไอพีของตัวเองด้วย) ถูกบังไว้หลัง MicroTik แล้วบล็อคออกเน็ตทั้งหมด ยอมให้ NAS ออกได้อย่างเดียว ปกติแล้วกล้อง CCTV จำเป็นต้องออกเน็ตสองเรื่องคืออัพเดตเฟิร์มแวร์ก็อาศัยการอัพเดตจากเดสก์ทอปได้ กับการตั้งเวลาผ่าน time server กรณีนี้ ONVIF มันรองรับอยู่แล้ว ก็ให้ซิงก์เวลาจาก NAS ที่ทำหน้าที่ DVR ไป

 

PFG = PostgreSQL + Fluent-bit + Grafana

ปีที่ผ่านมาความรับผิดชอบหนึ่งของผมใน MFEC คือการดู centralized log ทั้งบริษัท โดยทั่วไปการใช้ ELK (Elasticsearch + Logstash + Kibana) ก็เป็นแนวทางมาตรฐาน แม้จะทำงานได้ดีแต่ก็มีส่วนที่ไม่ชอบหลายอย่าง เช่น

  • ผมไม่เคยอัพเกรด Elasticsearch สำเร็จเลย หลังๆ เลยยอมลง cluster ใหม่แล้วชี้ Logstash ออกไปที่ใหม่ชัวร์กว่ามาก
  • ภาษา query ค่อนข้างเฉพาะตัว คนไม่เคยใช้งงแน่นอน
  • ทั้ง Stack เป็น Java กินแรมเริ่มต้นค่อนข้างสูง
  • จากปัญหากินแรม ใน edge จริงๆ ฝั่ง ELK เลยมักใช้ filebeat ไปกวาดข้อมูลขึ้น logstash แต่จะเจอว่า filebeat มันจำกัดมาก process อะไรกับ log แทบไม่ได้เลย

ผมเองเห็น fluentd มาพักใหญ่ๆ แล้วได้ลองมาพักหนึ่งแต่ไม่เคยเอาขึ้น production จริงจัง พอดีมีโปรเจคใหม่กำลังขึ้นเลยจะขอลอง พออ่านไปอ่านมาก็เจอว่า fluentbit มันเล็กกว่า แม้จะมีฟีเจอร์น้อยกว่า fluentd มาก แต่รวมๆ ก็ถือว่าเยอะกว่า filebeat อยู่ดี (มี stream processor ด้วยซ้ำไป)

จุดสำคัญคือ PostgreSQL นั้นมีคนเข้าใจมันเยอะกว่า Elasticsearch มาก งาน operation ทั่วๆ ไป การ query ข้อมูล, backup, restore, upgrade นั้นมักมีคนได้เป็นเรื่องปกติ ส่วนจุดขายของ ELK จะเป็นการทำงานกับข้อมูลแบบไม่มี schema ที่เหมาะกับ log มากกว่า แต่ PostgreSQL เองก็รองรับข้อมูลแบบ JSON/JSONB มาตั้งแต่เวอร์ชั่น 9.4

fluentbit รองรับ postgesql ในตัว โดยตารางที่เขียนข้อมูลมีแค่ 3 column คือ time, tag, data แล้วใส่ตัว data ไว้เป็น JSONB

พอลองเล่นแล้วพบว่าเวิร์คกว่าที่คิด จุดประหลาดที่สุดคงเป็น Grafana ที่คุมให้กราฟมันออกอย่างที่อยากได้ยากกว่า ELK แม้ ELK จะ alien กว่าตอนเริ่มต้น แต่พอทำงานจริงๆ แล้วจะพบว่ามันคิดอะไรให้เยอะแล้ว พวกกด drill down ข้อมูล ELK ทำได้ดีกว่ามากกดเงื่อนไขเพิ่มจากในกราฟได้เลย นับเป็นข้อได้เปรียบของการใช้ UI ที่ผูกกับ data source เดียว

ในแง่ประสิทธิภาพผมยังไม่ได้ทดสอบเองแต่เจอว่า Postgres เสียเปรียบเรื่องการกินพื้นที่ดิสก์มาก แต่ประสิทธิภาพการคิวรีดีกว่า InfluxDB ไว้มีเวลาแล้วค่อยเอา data ชุดเดียวกันมาเทียบอีกที (ยังหา benchmark เทียบกับ elasticsearch ไม่เจอ)