Skip to main content

บันทึกการย้ายรูปภาพทั้งหมด 50GB จาก Google Photos ไปยัง Immich (self-hosted) บน NAS เมื่อพื้นที่ Google ใกล้เต็มแต่ไม่อยากซื้อเพิ่ม

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้จะเล่ากระบวนการย้ายรูปภาพจาก Google Photos ไปยัง Immich บน NAS เมื่อพื้นที่ Google ใกล้เต็มแต่ไม่อยากซื้อเพิ่ม

ปัญหาพื้นที่เต็ม

ตามปกติแล้ว Google จะให้พื้นที่ฟรีแค่ 15GB (ใช้ร่วมกันระหว่าง Gmail, Photo, Drive)

Google one pricing plan

รีวิว-ติดตั้ง Tuya CBU WiFi module (หลักร้อย) สำหรับสั่งเปิดรั้วหน้าบ้านผ่าน App และเทคนิคการเชื่อมต่อกับ Google Home Assistant สำหรับการสั่งงานด้วยเสียง

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้สำหรับผู้ที่ใช้ประตูรั้วบ้านแบบอัตโนมัติของ BSM (บอร์ดควบคุมรุ่น T329) โดยเป็นการเพิ่มติดตั้ง Tuya CBU WiFi module เพื่อเลือกเปลี่ยนจากการใช้ Remote เป็นการสั่งงานผ่าน App มือถือ และการกำหนดการสั่งงานด้วยเสียงร่วมกับ Google Home Assistant

เมื่อต้องสร้างกราฟ Vital Signs ฉบับตามใจผู้ใช้ "จะเอาแบบนี้" แต่เหนื่อยคนทำ (ระบบ EMR)

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้น่าจะเป็นบทความแรกที่เล่าเกี่ยวกับงานที่ทำอยู่ที่ทำงาน ซึ่งเป็นช่วงที่ได้รับ Assigned ให้ทำระบบ EMR

EMR ถ้าจะให้อธิบายง่าย ๆ สั้น ๆ คือระบบที่เป็นเหมือนแฟ้มประวัติการรักษาคนไข้ ซึ่งภายในก็จะประกอบได้วยหลายส่วน (Sections) เช่น ผล Labs, Xray, Med Orders, Vital Signs Chart และอื่น ๆ ขอไม่ลงรายละเอียดลึก

โดยวันนี้จะมาพูดถึงแค่ Vital Signs Chart ซึ่งก็เป็นส่วนหนึ่งของ EMR และอันที่จริงก็จะไม่ลงรายละเอียดว่าคืออะไร เพราะจุดประสงค์ของบทความนี้ต้องการจะเล่าถึงวิธีทำ เพื่อให้ได้ตามที่ผู้ใช้งานต้องการ 😄

ติดตั้ง OpenWrt ลง M.2 NVMe เพื่อเป็น Router และ Firewall บนเครื่อง x86/x64

Kongvut Sangkla

Intro

บทความนี้เป็นการติดตั้ง OpenWrt ลงบนเครื่องที่ใช้ CPU x86/x64 โดยให้ Boot ผ่าน M.2 NVMe ซึ่งตามปกติ OpenWrt สามารถติดตั้งลงบน Drive Bootable ได้หลายรูปแบบ เช่น HDD, SSD, mSATA, M.2, M.2 NVMe และแม้กระทั้งบน Flash drive (USB)

โดยการติดตั้ง OpenWrt ร่วมกับ M.2 NVMe นั้นจะเป็นวิธีที่ OpenWrt สามารถทำงานได้ รวดเร็วที่สุด ในบรรดา Storage อื่น ๆ ที่ได้กล่าวมาข้างต้นเป็นเพราะความสามารถของ I/O ของ M.2 NVMe นั้นมี Speed ที่เร็วว่าชนิดอื่น ๆ

บทความนี้เป็นการติดตั้ง OpenWrt ลงบนเครื่องที่ใช้ CPU x86/x64 ซึ่งที่จริง OpenWrt ก็รองรับการทำงานบน CPU หลายชนิด เช่น ARM64 ดังนั้นในกรณีของ CPU x86/x64 สามารถทำงานได้ทั้งบน CPU ของ Intel และ AMD

ท่านใดที่อยากทดลองติดตั้ง OpenWrt สามารถหา PC เครื่องเก่า หรือเป็น Mini PC ที่ไม่กินไฟฟ้ามาก หรือแม้กระทั้งสามารถจำลองการติดตั้งบน Vmware ก็ได้เช่นกัน

OpenWrt logo
OpenWrt 18.06.1 login screen

OpenWrt 18.06.1 login screen from: https://en.wikipedia.org/wiki/OpenWrt

สวัสดีปี 2024 ปีที่เดือนกุมภาพันธ์มี 29 วัน และทั้งปีมี 366 วันทำไมถึงเป็นอย่างนั้น ?

Kongvut Sangkla
Tags:

Intro

สวัสดีปี 2024 นี่เป็นบทความแรกของปี และปีนี้ก็เป็นปี Leap year ที่จะเกิดขึ้นทุก ๆ 4 ปี ซึ่งภาษาไทยเรียก "ปีอธิกสุรทิน" [อะ-ทิก-กะ-สุ-ระ-ทิน] ที่มีวันทั้งหมด 366 วัน เพราะเดือนกุมภาพันธ์มีการเพิ่ม 1 วันเป็น 29 วัน

ทดสอบความตึงเครียด (stress) ใน Docker container กับ Swap Memory เพื่อหาค่าที่เหมาะสม

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้เป็นการทดสอบความตึงเครียด (stress) กับ Memory swap เป็นการทำ PoC เพื่อทดสอบสมมุติฐานว่า "ถ้าสมมุติ Swap Memory ไม่เพียงพอจะเกิดอะไรขึ้น" เป็นบทความเสริมจาก "วิธีการจัดการ Resouces limits ของ CPU (cores) และ Memory ใน Docker containers"

เพื่อเสริมเพิ่มความเข้าใจเกี่ยวกับการใช้งาน Memory swap ใน Docker container ช่วยเพิ่มเข้าใจและการปรับค่าที่เหมาะสม

ทำความเข้าใจเกี่ยวกับ Shared memory size (--shm-size) และผองเพื่อนใน Docker

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้จะพูดถึง shm (shared memory) ใน Docker ซึ่งเป็นการจัดการ Memory แบบหนึ่งใน Container เป็นบทความเสริมจาก "วิธีการจัดการ Resouces limits ของ CPU (cores) และ Memory ใน Docker containers"

โดยตามปกติค่าของ shm ของ Docker ได้กำหนด Default ไว้ที่ 64MB และเพิ่มได้ด้วย Option --shm-size หรือ shm_size สำหรับ Docker compose

วิธีการจัดการ Resources limits ของ CPU (cores) และ Memory ใน Docker containers

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้มีเนื้อหาเกี่ยวกับ Docker คือวิธีจำกัดการใช้งาน CPU (cores) และ RAM ใน Docker containers โดยปกติ Docker containers จะมีการใช้ Resources ร่วมกัน (sharing) โดยที่บางครั้งอาจจะมี Container บางตัวใช้ CPU, RAM เกินไป

ผลจากการใช้ CPU, RAM เกินไปก็จะส่งผลทำให้ Resources และประสิทธิภาพของ Host ลดลง ดังนั้นบทความนี้จะอธิบายวิธีการจำกัด Resources เหล่านั้นเพื่อให้ส่งผลต่อประสิทธิภาพโดยรวมดีที่สุด

Docker Resouces limits

ทำงานด้วยหลักการ Agile - Scrum Framework ด้วยทีมที่จำกัด หรือคนเดียวจะทำอย่างไร

Kongvut Sangkla

Intro

สวัสดีครับ วันนี้อยากจะแชร์มุมมองการทำงานด้วย Agile Framework ซึ่งเป็นหลักการทำงานประเภทหนึ่ง แต่สงสัยไหมว่าทำงานก็ต้องมีหลักการ (framework) การทำงานด้วยเหรอ ? ก็เพราะจะได้มีขั้นตอน กระบวนการ และการวัดผลได้

Agile Framework ไม่ใช่เรื่องใหม่อะไร มีนานแล้ว และมีหลาย ๆ องค์กรใช้หลักการนี้ในการบริหารงาน แต่โดยปกติแล้วทำงานด้วยหลักการทำงานด้วย Agile Framework ต้องทำหลายคน แต่ด้วยข้อจำกัด บทความนี้จะพูดถึงถ้าเราต้องทำงานคนเดียวหรือมีทีมไม่กี่คน แล้วอยากใช้ Framework นี้มาช่วยบริหารงานจะทำอย่างไรได้บ้าง 📊

Scrum Work Process

ลดขนาด Image size ของ Docker ด้วย Build stages

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้เขียนเกี่ยวกับ Docker โดยจะเป็นเทคนิคการลดขนาด Image size หลังจากที่ Build Dockerfile เพื่อสร้าง Docker images ไว้สำหรับใช้รัน Containers

ดังนั้นการ Optimizing เพื่อทำให้ Docker image เบา (slim) ที่จะช่วยเพิ่มความเร็วและลดขนาดบนดิสสำหรับ Build และ Deploy Containers ที่ควรเข้าใจและฝึกฝนการปรับแต่ง Docker image ให้เหมาะสม

docker multiple stages