วันจันทร์ที่ 27 ธันวาคม พ.ศ. 2564

เครื่องวัดฝุ่น PM2.5 XiaoMi Smartmi Air Dectector Mini

ซื้อเครื่องวัดฝุ่นของ XiaoMi มา เพราะเห็นพื่อนเอาใช้ เลยเกิดความอยาก ไปลองหาข้อมูลรีวิวและเห็นราคาไม่สูงมาก ก็เลยไปจัดมา สั่งจาก Shopee ราคา ฿695 รวมค่าส่งเป็น ฿716



วันเสาร์ที่ 18 ธันวาคม พ.ศ. 2564

เพิ่มคำสั่ง Show Desktop แบบเดียวกับ Windows

หนึ่งในปุ่มที่ผมใช้บ่อยตอนใช้ Windows ก็คือ Win + d เพื่อสั่งให้ซ่อนหน้าต่างโปรแกรมทั้งหมด แต่ใน elementary OS ไม่มีคำสั่งนี้ ซึ่งก็ไม่ใช่เรื่องยากถ้าจะทำให้มันมี

อันดับแรกคือติดตั้งโปรแกรมจัดการเสียก่อน ด้วยการเปิด terminal แล้วพิมพ์

sudo apt install wmctrl

วันอังคารที่ 14 ธันวาคม พ.ศ. 2564

ซื้อแป้นพิมพ์ Royal Kludge RK-84

ก่อนหน้านี้ ซื้อแป้นพิมพ์ Mechanical Keyboard ของ Keychron K3 ที่เป็น low profile มา แต่ด้วยความที่ใช้คอมพิวเตอร์สองเครื่อง อยู่ชั้นบนและชั้นล่างของบ้าน เวลาใช้งานเลยต้องถอดคีย์บอร์ดย้ายขึ้นย้ายลง ถอดๆ เสียบๆ แรกๆ ก็ยังไม่เท่าไหร่ แต่พอเริ่มหลายครั้งเข้าก็ชักขี้เกียจ เลยตัดสินใจซื้อแป้นพิมพ์ใหม่เพิ่มอีกอันดีกว่า

จากที่ใช้ Keychron K3 ที่เป็น low profile แล้วรู้สึกว่าไม่ค่อยถนัด รอบนี้เลยคิดว่าใช้เป็นแบบธรรมดา และคิดว่าไม่ต้องซื้อแบบแพงมากก็ได้ สุดท้ายตัดสินใจเลือก Royal Kludge RK-84 แบบที่เป็นไฟ LED สีขาวสีเดียว เพราะไม่ชอบ RGB ที่สีวูบวาบ และยังคงเป็น blue switch เหมือนเดิม


วันพฤหัสบดีที่ 9 ธันวาคม พ.ศ. 2564

ซื้อ usb bluetooth มาใช้กับ Linux (ภาค 2)

หลังจากที่ซื้อ usb bluetooth มาแล้วใช้ไม่ได้ ก็มีคนแนะนำตัวนี้มาว่าเขาใช้อยู่ เลยสั่งซื้อมาลองเสียหน่อย เนื่องจากครั้งนี้สั่งผ่าน Shopee ซึ่งมีค่าส่ง ก็เลยสั่งมาทีเดียว 2 ตัว เผื่อว่าถ้าใช้ได้ก็จะได้ใช้ทั้งสองเครื่อง

ราคาตัวละ 104 บาท ซื้อสองตัวรวมค่าส่งเป็นเงิน 230 บาท (ตัวจากโพสต์ที่แล้ว ตัวละ 199)

วันเสาร์ที่ 27 พฤศจิกายน พ.ศ. 2564

ซื้อ usb bluetooth มาใช้กับ Linux (ภาค 1)

หลังจากที่ซื้อแป้นพิมพ์ Keychron K3 มาใช้งานแล้วรำคาญที่ต้องก้มลงไปถอดๆ ใส่ๆ แป้นพิมพ์เพราะผมใช้งานคอมพิวเตอร์สองเครื่อง แล้วเพื่อนแนะนำว่าไปซื้อ usb bluetooth มาใช้สิ

ด้วยความที่เคยผ่านตามาว่า usb bluetooth บางตัวมันใช้งานกับ Linux ไม่ได้ ก็เลยเข้าไปโพสต์ถามในกลุ่ม Ubuntu Thailand ว่ามีรุ่นไหนที่ใช้งานได้บ้าง คำตอบที่ได้คือใช้งานได้ทั้งนั้นแหละ

วันศุกร์ที่ 26 พฤศจิกายน พ.ศ. 2564

เปลี่ยนมาใช้แป้นพิมพ์ Keychron K3 ได้ 3 สัปดาห์

บันทึกประวัติการใช้งานแป้นพิมพ์ของตัวเอง…

ผมใช้แป้นพิมพ์แบบ mechanical มาหลายปีแล้ว แต่คงจะเรียกว่าคนในวงการไม่ได้ ฮ่า เพราะแค่ใช้งานแต่ไม่ได้ศึกษาอะไรมากนักหรอก

สมัยก่อนเคยใช้แป้นพิมพ์ของพี่สาวอยู่ช่วงหนึ่ง ซึ่งเป็นคอมพิวเตอร์ที่พี่สาวซื้อใช้งานตอนเรียนอยู่ต่างประเทศ เรียนจบแล้วก็ขนกลับมาไทย เป็นแป้นพิมพ์ของคอมพิวเตอร์ IBM ซึ่งเครื่องเก่ามากจนเอามาใช้งานต่อไม่ไหวล่ะ แต่ว่าแป้นพิมพ์ยังใช้งานได้ และชอบเรื่องการตอบสนองการสัมผัสเวลากด มีเสียงติ๊กๆ พิมพ์ได้สนุกดี รู้สึกดีกว่าแป้นพิมพ์อื่นๆ ที่เคยใช้มา แต่สมัยนั้นยังไม่รู้จักหรอกว่ามันเป็นแป้นพิมพ์แบบ mechanical

วันศุกร์ที่ 12 พฤศจิกายน พ.ศ. 2564

ใช้งาน Virtual Desktop on Windows 8

ฟีเจอร์หนึ่งของ Linux ที่ผมชอบก็คือ Virtual Desktop

Virtual Desktop คืออะไร? มันคือหน้าจอเสมือนนั่นแหละ

โดยปกติเวลาทำงานเราจะมีหน้าจออยู่หน้าจอเดียว ซึ่งบางทีในการทำงานในทุกวันนี้ บางคน (อย่างเช่นผม) จำเป็นต้องใช้งานหลายๆ หน้าต่างโปรแกรม และในหลายครั้งเราไม่สะดวกนำจอที่สองมาต่อ

การที่มีหน้าจอเพียงหน้าจอเดียว แล้วต้องเปิดหลายๆ หน้าต่างนั้น มันจะซ้อนทับกัน เวลาจะเปลี่ยนไปดูหน้าต่างอื่นก็ต้องไปกดเลือกที่ taskbar หรือกด Alt + Tab ไปเรื่อยๆ เพื่อสลับเรียกหน้าต่างอื่นขึ้นมาดู

วันพฤหัสบดีที่ 21 ตุลาคม พ.ศ. 2564

ใช้งานแป้นพิมพ์มนูญชัยบน Ubuntu

ช่วงไม่กี่เดือนก่อนหน้านี้ หลายคนคงได้เห็นข่าวแป้นพิมพ์ไทยทางเลือกใหม่ “มนูญชัย” ที่ออกแบบและพัฒนาโดยคุณมนัสศานติ์ มนูญชัย (@narze) ซึ่งก่อให้เกิดเสียงวิพากษ์กันทั้งในทางดีและไม่ดีกันพอสมควร ไปหาอ่านกันเองตามสะดวก ฮ่า 😛 ส่วนใน blog นี้ ไม่ได้จะมาแนะนำแป้นพิมพ์หรอก เพราะไป search หาอ่านกันเองได้อยู่แล้ว 😆

และสามารถเข้าไปอ่านที่มาที่ไป แนวคิด วิธีการออกแบบ และดาวน์โหลด ที่ได้เว็บของผู้พัฒนา manoonchai.com


วันอาทิตย์ที่ 17 ตุลาคม พ.ศ. 2564

ให้ Audacity บันทึกเสียงจากเสียงในคอมพิวเตอร์แทนที่จะเป็นไมค์

ติดตั้ง PulseAudio Volume Control (หรือในชื่อ pavucontrol)

เปิด Audacity แล้วกด record

เปิด PulseAudio Volume Control เลือกแท็บ Recording

ตัวเลือก ALSA plug-in [audacity] : ALSA Capture from จากเดิม Built-in Audio Analog Stereo ให้เปลี่ยนเป็น Monitor of Built-in Audio Analog Stereo แต่ถ้าจะบันทึกเสียงจากไมค์ ก็ให้เปลี่ยนคืน

วันอังคารที่ 14 กันยายน พ.ศ. 2564

ติดตั้ง Composer ใน Ubuntu ที่ใช้ xampp

วิธีติดตั้ง Composer บน Ubuntu ที่ใช้ xampp ผ่านทาง terminal

1. ดาวน์โหลดด้วยคำสั่ง

sudo curl -s https://getcomposer.org/installer | /opt/lampp/bin/php


2. ทำ soft link

sudo ln -s /opt/lampp/bin/php /usr/local/bin/php

แก้ปัญหา Mint ใช้ ImageMagick เพื่อเปิด PDF ทุกครั้ง

เจอปัญหาว่าเวลาเปิดไฟล์ PDF นั้นที่จริงแล้วต้องเปิดด้วยโปรแกรม Document Viewer (หรือโปรแกรมอื่นที่เปิด PDF ได้) ซึ่งที่จริงแล้วการเปลี่ยนโปรแกรม default เพื่อเปิดไฟล์นั้นทำได้ไม่ยาก

แต่ว่าเจอปัญหาว่าเปลี่ยนไม่ได้!

ถึงขนาดเข้าไปเปลี่ยนที่ Preferences / Preferred Applications แล้ว แต่เจ้า ImageMagick ก็ยังตามมาหลอกหลอนไม่เลิกรา

เปลี่ยนมาใช้ Linux Mint แทน elementary OS

เปลี่ยนมาใช้ Linux Mint 20.2 Uma (Cinnamon) เพราะว่าพยายามติดตั้ง elementaryOS 5.1 (Odin) อยู่หลายรอบ แต่ก็ขึ้นว่า

วันอาทิตย์ที่ 12 กันยายน พ.ศ. 2564

VS Code ตั้งให้ใช้ Word Wrap เพื่อตัดบรรทัดข้อความเป็นค่าตั้งต้น

ค่าตั้งต้นของ VS Code (Visual Studio Code) จะไม่ตัดบรรทัดข้อความให้ ทำให้ต้องเลื่อน scroll bar เพื่ออ่านข้อความ ทำให้ไล่โปรแกรมไม่สะดวก ต้องคอยเปิด Word Wrap เองทุกครั้ง

วิธีทำให้ Word Wrap เป็นค่า default คือ แก้ไขค่าใน settings.json

"editor.wordWrap": "on"

หรือเข้าไปที่เมนู File / Preferences / Setting แล้วหาคำว่า editor.wordWrap เปลี่ยนจาก off เป็น on

* * * * *

[Keywords]

VS Code, Visual Studio Code

VS Code ตั้งให้ใช้ Tab แทน Space แบบถาวร

โดยปกติแล้ว VS Code (Visual Studio Code) จะเปลี่ยน tab ให้เป็น space เป็นค่า default แต่ผมเป็นคนที่ชอบใช้ tab มากกว่า แล้วรำคาญที่ต้องมานั่งเปลี่ยนตลอดเวลาทำงานกับไฟล์ใหม่

วิธีให้ VS Code นั้นใช้ tab เป็น default คือเข้าไปที่เมนู File / Preferences / Settings

จากนั้นพิมพ์ค้นหาคำว่า editor.insertSpaces จากนั้นมันจะขึ้นรายการที่ตรงกัน หรือใกล้เคียงมาให้ ซึ่งสองตัวเลือกแรกนั้นเป็น "editor.detectIndentation" และ "editor.insertSpaces" (ในเวอร์ชันอื่นอาจจะไม่ได้อยู่ใน 2 ตัวเลือกแรก)

แก้ปัญหา PHP แสดงข้อความ The localhost page isn’t working localhost is currently unable to handle this request. HTTP ERROR 500

หลังจากติดตั้ง xampp รุ่น 8.0.10 เสร็จเรียบร้อยบนเครื่องที่เพิ่งติดตั้งระบบใหม่ (Linux Mint 20.2)  ซึ่งก่อนหน้านี้ผมใช้รุ่น 7.x.xx ทีนี้พอเริ่มเขียนโปรแกรม PHP แล้วสั่งให้แสดงผลก็เจอปัญหาว่ามันแสดงข้อความว่า

The localhost page isn’t working localhost is currently unable to handle this request. 

HTTP ERROR 500

เอาล่ะสิ งานเข้าอีกล่ะ

ติดตั้ง Inkscape 1.1 บน Ubuntu

โดยปกติเวลาสั่งติดตั้งโปรแกรม Inkscape โดยใช้ ppa ที่มากับ Linux Distro มักจะได้เป็น version 0.92 แต่ในตอนนี้มีรุ่น 1.1 ออกมาแล้ว ซึ่งสิ่งที่เพิ่มมาคือ ภาษาไทยนั้นไม่มีปัญหากับสระอำแล้ว (รุ่น 1.0) และคำสั่ง export นั้นสามารถเลือกตัวเลือกเป็นไฟล์ jpg ได้ (รุ่น 1.1) ซึ่งก่อนหน้านั้นจะสั่ง export เป็น png เท่านั้น

ในเว็บ Inkscape นั้นจะมีให้เลือกว่าเราต้องการติดตั้งโปรแกรมในรูปแบบไหน มีเป็น AppImage, Flatpak, Snap และ ppa เลือกเอาตามที่ชอบเลย

แก้ปัญหา VS Code - php.validate.executablePath

ผมใช้ Visual Studio Code (VS Code) สำหรับเขียนโปรแกรมภาษา PHP ซึ่งเวลาเปิดใช้งานมันจะขึ้นฟ้องว่าไม่เจอตำแหน่งที่เก็บไฟล์ตัวแปรภาษา PHP ที่ตำแหน่งขวาล่าง ซึ่งสำหรับการใช้งานทั่วไปโดยปกติแล้วก็ไม่จำเป็นต้องไปสนใจมันก็ได้


วันพฤหัสบดีที่ 9 กันยายน พ.ศ. 2564

แก้ปัญหา MySQL - Please DISCARD the tablespace before IMPORT

เจอว่าระบบฐานข้อมูลเกิดรวนเพราะก่อนหน้านั้นเครื่องคอมฯ แฮงค์บ่อย เลยอาจทำให้การอ่านเขียนข้อมูลใน database เกิดความเสียหาย

ตอนแรกว่าจะ format ระบบแล้วติดตั้งใหม่ แต่ด้วยความขี้เกียจ restore พวกข้อมูลที่ backup เอาไว้ เลยลองลบ xampp ในเครื่องแล้วลองติดตั้งใหม่ดูก่อน

พอติดตั้ง xampp ใหม่เสร็จ พอเปิด phpmyadmin ขึ้นมา ปรากฏว่าฐานข้อมูลต่างๆ ยังอยู่เหมือนเดิม เลยสงสัยว่าแบบนี้ อาการรวนอาจจะไม่หายไป เพราะ database ยังอยู่

วันอังคารที่ 31 สิงหาคม พ.ศ. 2564

แก้ปัญหา netstat: command not found ใน xampp

หลังจากติดตั้ง xampp แล้ว เวลาตอนที่เรียกใช้งานขึ้นมาด้วยคำสั่ง

sudo /opt/lampp/lampp start

จะเจอ error เกี่ยวกับ netstat แบบนี้

วันเสาร์ที่ 14 สิงหาคม พ.ศ. 2564

ตั้งค่า template สำหรับการตั้งชื่อไฟล์ตอน export ใน Calibre

การ export ไฟล์ ePUB ของโปรแกรม Calibre นั้น ค่ามาตรฐานของชื่อจะถูกตั้งไว้เป็น

{author_sort}/{title}/{title} - {authors}

หมายถึงจะสร้างไฟล์เป็น "ชื่อเรื่อง - ชื่อผู้เขียน.epub" อยู่ในโฟลเดอร์ [ชื่อหนังสือ] ซึ่งอยู่ในโฟลเดอร์ [ชื่อผู้เขียน] อีกทีหนึ่ง

การตั้งชื่อตามรูปแบบมาตรฐานนี้มีข้อดีคือจะแยกหนังสือแต่ละเล่มไว้คนละโฟลเดอร์ และแยกผู้เขียนไปคนละโฟลเดอร์ แต่ปัญหาก็คือตอนที่สั่ง export หนังสือหลายเรื่องจากผู้เขียนหลายคน เสร็จแล้วต้องการ copy ไฟล์ จะต้องเข้ามาในโฟลเดอร์ย่อยหลายครั้งมาก แล้วเวลาที่เอาไฟล์หนังสือมาอยู่รวมที่เดียวกัน มันจะเรียงตามชื่อเรื่อง

วันพฤหัสบดีที่ 22 กรกฎาคม พ.ศ. 2564

ฝังซับไตเติลแบบ ass ในวิดีโอด้วย ffmpeg

ทำซับไตเติลด้วยโปรแกรม Aegisub จะได้ไฟล์เป็นนามสกุล ass จากนั้นนำมาฝังเป็น hard subtitle ลงในไฟล์วิดีโอด้วยโปรแกรม ffmpeg ด้วยคำสั่ง

ffmpeg -i วิดีโอต้นฉบับ.mp4 -vf "ass=ซับไตเติล.ass" -strict -2 วิดีโอฝังซับ.mp4

เปิด terminal จากนั้น cd เข้าไปในโฟลเดอร์ที่เก็บไฟล์ เวลาอ้างถึงไฟล์จะได้ไม่ต้องใส่ path ให้ยาว

กรณีไฟล์ subtitle แบบ srt ใช้คำสั่ง

ffmpeg -i วิดีโอต้นฉบับ.mp4 -vf "subtitles=ซับไตเติล.srt" วิดีโอฝังซับ.mp4

แต่ว่าการฝังซับไตเติลแบบ srt ยังไม่รู้ว่าต้องกำหนดรูปแบบฟอนต์ยังไงเหมือนกัน