Skip to content

Kor's blog Posts

ย้ายบล็อกจาก DigitalOcean มา Vultr

ตอนนี้ผมย้ายบล็อกมาจาก DigitalOcean มาที่ Vultr แล้ว เหตุผลก็เรื่องราคาต่อ resource ล้วนๆ เพราะบล็อกผมเป็นเว็บเล็กๆ traffic ไม่เยอะและไม่ต้องมี availability สูงขนาดนั้น เลยตัดสินใจง่ายหน่อย โดยส่วนตัว DigitalOcean ก็เป็นผู้ให้บริการที่ดี support ตอนมีปัญหาได้ค่อนข้างรวดเร็ว (สำหรับ free support น่ะนะ) ขยันออกผลิตภัณฑ์มาให้บริการเรื่อยๆ และราคาก็ถูก แต่ด้วยราคาที่เท่ากันแล้ว Vultr ให้ resource มากกว่า ตัวอย่างเช่นตอนนี้ผมใช้…

Stub JavaScript ES6 Class method ด้วย Sinon

ใครที่เขียน Unit test สำหรับ JavaScript, Node.js น่าจะรู้จัก Sinon เป็นอย่างดี เพราะเป็นไลบรารี่สำหรับสร้าง mock, stub จำลองการทำงานของ service ภายนอกที่นิยมมากตัวหนึ่ง

เดิมที JavaScript นั้นไม่มีแนวคิดเรื่อง class เป็นแค่ function หนึ่งเท่านั้น แต่นับตั้งแต่ ES2015 หรือ ES6 เป็นต้นมานั้นมี class ให้ใช้แล้ว (ถึงจะแบบถูๆ ไถๆ ก็เถอะ) แต่ปัญหาที่พบคือ Sinon รุ่นเก่าๆ มันใช้กับ class ไม่ได้เพราะไม่ได้อัปเดตตามมาตรฐาน ES6

แต่ตอนนี้ Sinon v2.4.1 (ณ วันที่เขียนวันนี้นะ จริงๆ ตั้งแต่รุ่น 2 เป็นต้นมาอาจจะใช้ได้แล้ว) นั้นใช้กับ class ได้แล้ว! จะว่ารองรับตรงๆ เลยก็ไม่เชิง คือมันเป็น work around ที่หน้าตา JavaScript มากๆ

แก้ปัญหาแบตเตอรี่หมดเร็ว (battery leaks) สำหรับ Linux desktop

Ubuntu ตั้งแต่ 16.04 packages ต่างๆ ของ TLP มีใน official repository แล้วครับไม่ต้องติดตั้งจาก PPA แล้ว ผมใช้ Linux desktop กับ Thinkpad x220 ซึ่งก็ใช้งานได้ดีไม่มีปัญหา ถ้าถามผม ผมว่าเป็นยี่ห้อและรุ่นโน้ตบุ๊กที่เป็นมิตรกับ Linux ที่สุดละ เพราะอุปกรณ์ต่างๆ ใช้ได้ครบถ้วนตั้งแต่ติดตั้งเลย ปัญหากวนใจอย่างนึงคือแบตเตอรี่หมดเร็วมากปัญหานี้ไม่ได้เกิดแค่ Thinkpad อย่างเดียวครับแต่เป็นกับโน้ตบุ๊กทั่วไปด้วย เนื่องจาก firmware…

Machine Learning #10 | Underfitting VS Overfitting

ห่างหายจากการเขียนบล็อกไปพอสมควรเนื่องจากก่อนหน้านี้งานค่อนข้างยุ่ง เริ่มด้วยเรื่องเบาๆ ก่อนดีกว่า

ในขั้นตอนการเทรนโมเดล เราต้องทำ cross-validation เพื่อเป็นการตรวจสอบว่าโมเดลที่เราเทรนนั้นมัน complex พอที่จะ handle หรือ generalize พอที่จะ predict data ที่เราต้องการหรือเปล่า  การทำ cross-validation นั้นเป็นการตรวจสอบเบื้องต้นว่า model ของเรามันมาถูกทางแล้วหรือยัง มีแนวโน้มจะดีขึ้นหรือไม่แค่นั้นเอง ไม่ได้สะท้อนถึงประสิทธิภาพที่แท้จริงของ model จนกว่าจะเอาไปใช้กับข้อมูลจริง

สมมุติว่าเราต้องการทำ linear regression เมื่อนำ training data มาพล็อตตามแกน x,y แล้วได้กราฟแบบนี้