• [บันทึกกันลืม] แก้ปัญหารัน Shell Script กับมือทุกอย่างสมบูรณ์ แต่พอใช้ cron แล้วพัง


    เรา “จำกันมา” ว่า การเขียน Shell Script นั้น ทำด้วยมืออย่างไร ก็เขียนลงไปในไฟล์ แล้วเอา Shell เช่น Bash ไป Run แล้วเอาไปตั้งในไฟล์ /etc/cron.d/mycron ปัญหาคือ บางทีเขียนด้วยภาษา Script เช่น python, R แล้วบางที ก็อยากจะเพิ่มภาษาไทยเข้าไป ตามสูตร ก็ต้องใช้คำสั่ง locale ตรวจสอบ ก็จะพบว่า เป็น UTF-8 สวยงาม เขียนใส่ข้อมูลที่ประมวลผลมา ก็จะได้เป็นภาษาไทยสวยงาม แต่ พอเอาไปใส่ Shell Script ผลออกมาเป็นตัวอักษรบนตัวเลข ซึ่งนั่นคือ UTF-8 HEX code เหตุของปัญหา ก็ลองเอา คำสั่ง locale ไปใส่ใน Shell Script แล้วดูผลในไฟล์พบว่า สรุปคือ locale ตอนใช้…

    >> Read More <<

  • Youtube ~ Checks !!


    Hi ผู้อ่านทุกๆ ท่านนนนนนน ช่วงนี้เป็นช่วงการระบาดระลอกใหม่ ของ COVID-19 ซึ่งเรื่องที่ตามอย่างหลีกเลี่ยงไม่ได้เรื่องนึงเลยก็คือ การต้องทำงานแบบ WFH นั่นเอง !! (เฮ้อ ….) ส่วนตัวของผู้เขียนงานหลักๆ ในช่วงนี้ก็จะเป็นการอบรมออนไลน์ และสร้างสื่อวิดีโอ เพื่อแนะนำการใช้งานง่ายๆ ของระบบที่อยู่ภายใต้ความรับผิดชอบ โดยผู้เขียนเลือกจะที่ใช้ช่องทางการเผยแพร่วิดีโอ ผ่าน Youtube ซึ่งสะดวก และง่ายต่อการเข้าถึง ล่าสุด Youtube เหมือนจะมีเครื่องมือใหม่คือ Youtube Studio ที่มีส่วนเข้ามาช่วยตรวจสอบการละเมิดลิขสิทธิ์ของวิดีโอ ตั้งแต่ในส่วนขั้นตอนการอัปโหลด ก่อนการเผยแพร่ออกไป ซึ่ง … เฮ้ย มันโอเคเลยนะ ที่เราจะรู้ว่าวิดีโอเรามีการละเมิดลิขสิทธิ์ใดๆ หรือไม่ ไม่ใช่อัปโหลดแล้ว คนอื่นมาดูแล้ว แต่เพิ่งได้รับแจ้งว่าเนื้อหาภายในมีการละเมิดลิขสิทธิ์ !! (ตัวผู้เขียนเองก็เคยโดนอยู่บ่อยๆ แหะๆ) แล้วขั้นตอนการตรวจสอบทีว่าเพิ่มเข้ามาเนี่ย มันอยู่ตรงไหน ? งั้นไป ไปดูกันเลย …. ขอเริ่มต้นด้วยขั้นตอนหลักๆ ในการอัปโหลดวิดีโอ กันก่อนนะ ทุกคน ขั้นตอนที่ 1…

    >> Read More <<

  • Chrome ~ Live Caption


    กราบสวัสดีคุณผู้อ่านทุกๆ ท่านนนน … blog วันนี้ ผู้เขียนจะขอว่าด้วยเรื่องของ Google Chrome Live Caption !! คาดว่าหลายๆ ท่านอาจจะเคยเจอปัญหาเช่นเดียวกับผู้เขียน เช่น เมื่อเราต้องการดูข้อมูลวิธีการอะไรสักอย่างนึง เราก็จะ Search google เพื่อหาข้อมูล บ่อยครั้งที่ข้อมูลที่เราได้จะอยู่ในรูปแบบของวิดีโอ ซึ่งมีผู้รู้หลายๆ ท่านมาแชร์เอาไว้ และก็บ่อยครั้งอีกเช่นเดียวกัน ที่ความรู้เหล่านั้นอยู่ในรูปแบบภาษาอังกฤษ (ซึ่งทักษะภาษาอังกฤษของผู้เขียนก็ … นะ T T) ปัญหาของผู้เขียนก็คือ ฟังไม่ทัน ฟังไม่เข้าใจ เค้าพูดอะไร !! 55+ ดังนั้นผู้เขียนจึงหาข้อมูล หาวิธีการต่างๆ ที่จะช่วยให้ตัวเองสามารถเข้าใจในข้อมูลเหล่านั้นได้เพิ่มมากขึ้น ในระยะเวลาที่จำกัด ค้นไปค้นมา นั่นแน่ … ก็มาเจอกับ Feature ใหม่ของ Google Chrome ที่มีชื่อว่า Live Caption นั่นเอง Live Caption บน Google…

    >> Read More <<

  • สร้างไฟล์ PDF จาก Google sheet ที่ใส่รูปได้ ด้วย Library PdfService


    สมมติเรามีแบบสอบถามที่เก็บรูปภาพของผู้กรอกด้วย และเราต้องการให้มัน Gen ข้อมูลที่กรอกเป็น pdf เก็บไว้ แนว ๆ ทำเป็นใบสมัครออกมา มาดูขั้นตอนวิธีทำกันเลย บอกเลยว่าไม่ยาก!!! เริ่มกันเลย 1. ไปที่ Google Drive ของเรา สร้าง Folder จัดเก็บงาน ในที่นี่ชื่อ PDF Test 2.สร้าง Form ขึ้นมา 1 form เก็บข้อมูล ดังรูป ชื่อ สกุล อีเมล เบอร์โทร รูป (ทำเป็นอัปโหลดไฟล์) 3.คลิกแสดงตัวอย่างที่ลูกตา แล้วลองใส่ข้อมูลทดสอบ 4.ดูตัวอย่างข้อมูลที่แท็บการตอบกลับ 5.คลิกปุ่ม สร้างสเปรตชีต จะเห็นข้อมูลตัวอย่างที่เราได้กรอกแบบฟอร์มเข้าไป จากนั้นนำข้อมูลนี้ไปทำ pdf ได้อย่างไร 1.ให้ไปที่เมนูเครื่องมือ > โปรแกรมแก้ไขสคริปต์ > ทรัพยากร > ไลบรารี ที่ Add a…

    >> Read More <<

  • การนำรูป SVG มาใช้ใน PowerPoint แล้วเป็น animation


    สำหรับวันนี้จะมาแนะนำการสร้าง animation ใน powerpoint ด้วยรูป SVG กันค่ะ มาดูกันเลย 1.เปิด power point ขึ้นมา แล้วคลิก Blank  Presentation 2.เตรียมไฟล์ SVG ไว้ หรือหาใน google เอา หรือลิงค์ https://storyset.com เมื่อเลือกรูปได้แล้วให้ดาวน์โหลดเป็นไฟล์ SVG 3.กลับมาที่ Power point ไปที่เมนู Insert > Picture > This Device เลือกไฟล์ SVG ที่เราเพิ่งดาวน์โหลดมา 4.จากนั้นเราจะทำการ Convert รูป SVG นี้ให้เป็นรูปร่างก่อน วิธีการแปลง ไปที่เมนู Graphics Format > Convert to Shape 5.จากนั้น คลิกเมาส์ขวา Group >…

    >> Read More <<

  • [บันทึกกันลืม] วิธีซ่อน choice ที่ไม่จำเป็น ด้วย jQuery


    ปัญหามีอยู่ว่า ในการเขียน Web Application ด้วย django แบบฟอร์มที่ซับซ้อนหน่อย จะมีประมาณว่า ถ้าเลือกข้อนี้ ให้ขึ้นคำถามอีกข้อขึ้นมาถาม เช่น ถ้าเลือกข้อ “รพ.สงขลานครินทร์” ให้ขึ้นคำถาม “ลักษณะการทำงาน” ซึ่งก็ไม่ได้ยากอะไร แต่ว่า คำตอบของข้อนี้ ในกรณีนี้ จะต้องบังคับตอบ แต่ ถ้าเลือก “สถานพยาบาลอื่น ๆ” จะต้องไม่บังคับตอบ ปัญหาคือ เจ้า Choice ที่ เมื่อไม่จำเป็นต้องตอบ มันต้องไม่มีค่า แต่ตอนที่มันต้องใช้ตอบ (อย่างในภาพ) มันควรจะหายไป แต่มันไม่หายไป (เข้าใจยากหน่อยนะ) ลองใช้ ก็ไม่หาย วิธีแก้คือ ไป hide label เวิร์คเลย จบ

    >> Read More <<

  • [บันทึกกันลืม] แก้ปัญหา Plotly ไม่แสดง Chart บน JuputerLab


    ในการ Visualization บน Jupyter Notebook, Juputer Lab พื้นฐานก็จะใช้ matplotlib, seaborn และเพื่อให้ทำ Interactive ได้มากขึ้น ก็จะไปใช้ Plotly และ Dash ปัญหาคือ ถ้าเริ่มต้นใช้งาน Juputer Notebook / Jupyter Lab แล้วติดตั้ง plotly, dash package แล้ว บน Jupyter ก็ไม่แสดงผลแบบ Inline แบบนี้ ค้นหาพักใหญ่ ก็พบว่า อ้อ ต้องติดตั้ง jupyter labextension ด้วย วิธีตรวจสอบว่า ตอนนี้มี Extension อะไรอยู่บ้าง ใช้คำสั่งต่อไปนี้ ผลคือ โดยค่าเริ่มต้น ไม่มี jupyterlab-plotly กับ plotlywidget ติดตั้งอยู่ วิธีการติดตั้ง ใช้คำสั่งต่อไปนี้…

    >> Read More <<

  • วิธีเปิด Zip file มี Password ที่ฝากไว้บน Google Drive บน iPhone/iPad


    โจทย์คือ ต้อง Export ข้อมูล ออกมาเป็น Excel ให้ผู้รับ เป็นรายคน (เป็นจำนวนมาก) แต่ละคนได้ 1 ไฟล์ แต่ละไฟล์ ต้องเข้ารหัสผ่าน ซึ่ง ไม่เหมือนกันเลย (ผู้รับกำหนดมา) ฝากไฟล์ไว้บน Google Drive แล้วส่ง Link แบบ Anyone who has link can view เพราะ ผู้รับบางคนก็ไม่มี Google Account / บางคนไม่รู้ว่าบน iPhone/iPad ใช้ Google Account อะไร / บางคนก็ … บลา ๆ ๆ ๆ สรุป ใช้วิธี Google Account Permission ไม่ได้ ทุกอย่าง ทำเป็น…

    >> Read More <<

  • A Testing Virtual Data Center with OpenNebula miniONE on KVM


    โน้ตบุ๊ค HP รุ่น 6450b มีหน่วยความจำ 4 GB ผมเอามาทำเป็นเซิร์ฟเวอร์สำหรับรัน Virtual Machine (VM) ผมใช้ทดสอบติดตั้ง server หรือ services ต่าง ๆ เช่น Ubuntu server ทำงานเป็น web server เป็นต้น ผมอยากจะเรียกว่า Mobile Virtual Data Center ครับ โดยที่ผมนำซอฟต์แวร์ที่ชื่อว่า OpenNebula มาใช้ ตัวนี้ใช้ทำเป็น Virtual Data Center ขนาดใหญ่ได้เลยหากมี Hardware สเปคสูง ๆ สร้าง VM ให้บริการได้จริง เค้ามีซอฟต์แวร์สำหรับเครื่องเดียว (Test Drive) เรียกว่า OpenNebula miniONE ให้ใช้ น่าจะนำมาลงโน้ตบุ๊คได้ จึงได้ทดลองดู พบว่าใช้ได้จริง สิ่งที่ทำมีดังนี้…

    >> Read More <<