How to run chrome extension with a Desktop shortcut in Ubuntu

กรณีที่เราจะ Run Chrome Extension ที่ติดตั้งไว้ใน Browser สามารถรันผ่าน Command Line ใน Terminal สามารถรันแบบนี้ได้เลย brave-browser –app=chrome-extension://<Extension ID> เช่นต้องการรัน Line Application ก็จะสั่งแบบนี้ brave-browser –app=chrome-extension://ophjlpahpchlmihnnnihgmmeilfjmjjc/index.html ที่นี้ใน Ubuntu เองเราสามารถสร้าง Desktop shortcut launcher ได้เพื่อรันโปรแกรมได้ (ปกติจะเก็บไว้ที่ /usr/local/share/applications หรือ ~/.local/share/applications) ตัวอย่างไฟล์ .desktop ของ Line ที่เป็น Chrome Extension กัน [Desktop Entry] Version=1.0 NoDisplay=false Name=Line Comment=Line chrome extension for brave browser GenericName=Line Keywords=Line Exec=brave-browser –app=chrome-extension://ophjlpahpchlmihnnnihgmmeilfjmjjc/index.html …

MySQL get missing IDs

เคสแรกหล่ะกัน กรณีกำหนด Key เป็น Auto increment ใน MySQL แล้วเลขลำดับ/Key/IDs บางตัวหายไป (หลายสาเหตุ) ลองมาทำ Dummy Table ทดสอบดูกัน CREATE TABLE numbers( startNumber INTEGER UNSIGNED, PRIMARY KEY (`startNumber`) ); ALTER TABLE numbers ADD INDEX idx1 (startNumber); INSERT INTO numbers VALUES (1),(2),(3),(4),(5),(6),(8),(9),(20),(21),(22),(53),(54), (71),(72),(74),(80); จากตารางดัมมี่ข้างต้นผลลัพธ์ที่เราต้องการคือตัวเลข 7, 10-19, 23-52, 55-70, 73, 75-79  ลองเขียนคำสั่งเพื่อให้ได้คำตอบด้านบนหลายวิธี วิธีแรกต้องใช้ตาราง Sequence Number ใน MySQL อาจต้องทำ Manual ไปก่อน วิธีแรก …

How to apply blur effect in GNOME 40

ว่าด้วยเรื่องเอฟเฟคความเบลอใน Gnome Desktop นี่น่าจะเป็นเรื่องที่ถามกันบ่อย ๆ พอสมควรในบอร์ดต่างประเทศตั้งแต่ที่อีกฝั่งเช่น Windows ก็มี Aero Glass ไล่มาจนถึง Fluent design/Acrylic effect ใน Windows 10 หรือฝั่ง Mac ที่มี Blue Effect รวมถึงฝั่ง KDE เองที่ใช้ Blur Effect ได้ใน Plassma Theme จนแล้วจนรอดก็ยังไม่มีใน GNOME ^__^ ช้าก่อนใช่ว่า GNOME Desktop เองจะไม่สามารถทำได้เลยซะทีเดียว ก่อนหน้านี้มีตัว Compiz เองซึ่งมันก็พอทำได้แหล่ะ แต่ด้วยหลัง ๆ ที่โดนถอดออก ท่าที่ใช้ก็เลยยุ่งยากขึ้นมาหน่อย แต่พอเจอ Windows shadows causing artefacts with the new Shell.BlurEffect (Gnome 3.36.2, …

rsync ห้ามหยุด ห้ามหายและนายต้องไปต่อ

บล็อกต้อนรับต้นเดือนและวันแรงงาน ด้วยจำเป็นต้องย้ายไฟล์จำนวนน้อยนิดมหาศาล แบบเร่งด่วน จำนวนหนึ่งไปไว้อีกทีและงานนี้ก็ห้ามหยุดจนกว่างานจะเสร็จ (นี่มันสะท้อนชีวิตใครบ้างไหม ^__^) ใครมีงานแบบนี้ต้องทำแบบด่วน ๆ และไม่มีเวลาให้ต้องมามอนิเตอร์และรันใหม่อีกรอบ ก็ใช้สคริปท์นี้ไปปรับได้ อธิบายคร่าว ๆ คือ ใช้ rsync ในการโอนย้ายไฟล์ไปอ่านรายละเอียดต่อได้ที่นี่ อาจมีบางช่วงหรือ error ขัดจังหวะช่วงโปรแกรม rsync ทำงานแล้วโปรแกรมปิดตัวลงก็ให้โปรแกรม rsync กลับมาทำงานต่อ (Loop) จนกว่าจะสำเร็จ (ดูบังคับมากมาย) เสร็จแล้วก็ Line notify นิดนึง #!/usr/bin/env bash # Declare an array of Token declare -a ACCESS_TOKENS=(“token1” “token2″) START=$(date +”%d-%m-%Y %H:%M”) RC=1 while [[ $RC -ne 0 ]] do NOW=$(date +”%d-%m-%Y …

Screenshot หน้าเธอแล้วส่งเข้า Line Notify กัน

ปฏิเสธไม่ได้ว่าแอปลิเคชั่นไลน์มีผลอย่างมากกับแวดวงคนทำงาน จะเอกชนหรือวงราชการก็ต้องใช้ แต่ด้วยความที่แอปลิเคชั่นสื่อสารแบบนี้การส่งข้อความยาว ๆ บางครั้งก็เล่นเอาหัวเสียเหมือนกัน เพราะใจความสำคัญมันถูกเผยแพร่แต่เพราะข้อความมันยาว จึงขาดความน่าสนใจ คนรับก็เลื่อนผ่านไปโดยปริยาย (เหมือนเธอที่มองผ่านฉันไป เอ้าเพลงมาาา ซูดดดดด) รวมทั้งข้อมูลรายงานผลโรค COVID-19 ที่ตอนนี้หลาย ๆ สื่อหลาย ๆ ที่ ได้ทำย่อยข้อมูลเหล่านี้ออกมาเป็น Infographic บ้าง เว็บไซค์แสดง Dashboard บ้าง งั้นจะช้าอยู่ไย เราเซฟรูปเหล่านั้นแล้วส่งเข้าไลน์เลยดีกว่า Shell Script ไม่ได้มีอะไรซับซ้อนใช้ Headless Chrome ให้ Screenshot หน้าจอตอนนั้นแล้วส่งเข้าไลน์ก็เป็นอันเสร็จสิ้น #!/bin/bash PICTURE_PATH=”./screenshot.png” NOW=$(date +”%d-%m-%Y %H:%M”) IP=$(hostname -I | awk ‘{ print $1 }’) DASHBOARD=”IP Address” # Declare an array of Token …

ลบแถวที่ซ้ำกันใน MySQL

เมื่อมีข้อมูลซ้ำเกิดขึ้นในตารางจะด้วยสาเหตุอะไรก็แล้วแต่ แต่มันมีข้อมูลซ้ำเกิดขึ้นแล้วและเราต้องการลบตัวที่ซ้ำออกไป เราจะทำยังไงมาดูแนวทางกัน เริ่มต้นเราดูตัวอย่างข้อมูลที่ซ้ำกันก่อน DROP TABLE IF EXISTS contacts; CREATE TABLE contacts ( id INT PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(255) NOT NULL ); INSERT INTO contacts (first_name,last_name,email) VALUES (‘Carine ‘,’Schmitt’,’[email protected]’), (‘Jean’,’King’,’[email protected]’), (‘Peter’,’Ferguson’,’[email protected]’), (‘Janine ‘,’Labrune’,’[email protected]’), (‘Jonas ‘,’Bergulfsen’,’[email protected]’), (‘Janine ‘,’Labrune’,’[email protected]’), (‘Susan’,’Nelson’,’[email protected]’), (‘Zbyszek ‘,’Piestrzeniewicz’,’[email protected]’), (‘Roland’,’Keitel’,’[email protected]’), (‘Julie’,’Murphy’,’[email protected]’), (‘Kwai’,’Lee’,’[email protected]’), (‘Jean’,’King’,’[email protected]’), (‘Susan’,’Nelson’,’[email protected]’), (‘Roland’,’Keitel’,’[email protected]’); …

MySQL Get First value or Last value in each group

ใน MySQL ตั้งแต่เวอร์ชั่น 8.0 เป็นต้นไป ถ้าต้องการดึงค่าแรกและค่าสุดท้ายในกรุ๊ปนั้น ๆ ออกมา สามารถใช้ Function FIRST_VALUE() FIRST_VALUE(expr) [null_treatment] over_clause Returns the value of expr from the first row of the window frame. LAST_VALUE() LAST_VALUE(expr) [null_treatment] over_clause Returns the value of expr from the last row of the window frame. ตัวอย่างการใช้งาน โจทย์ มีข้อมูล CKD Stage (สมมุติ) เรียงตามรายปีงบประมาณ ถ้าต้องการทราบ Stage แรกและสุดท้ายที่ตรวจพบในรายนั้น ๆ …

มาลองรัน KDE neon บน Docker กัน

ก่อนอื่นสำหรับใครที่ไม่คุ้นกับ KDE KDE หรือชื่อเต็ม K Desktop Environment เป็นสภาพแวดล้อมในการทำงานแบบเดสก์ท็อป (Desktop Environment) ที่เป็นซอฟต์แวร์เสรี พัฒนาบนทูลคิท Qt ของบริษัท Trolltech และทำงานได้บนระบบปฏิบัติการตระกูลยูนิกซ์เกือบทุกรุ่น เช่น ลินุกซ์, BSD, AIX และ Solaris รวมถึงมีรุ่นที่ใช้งานได้บน Mac OS X และไมโครซอฟท์วินโดวส์ ปัจจุบัน (22 มกราคม 2561) นี่ก็พัฒนา Plasma รุ่นเสถียรถึงเวอร์ชั่น 5.12.7 (LTS) ละ  KDE เป็น Desktop Environment เพราะฉะนั้น เราก็สามารถติดตั้งบน Distributions ต่าง ๆ ได้ เช่น CentOS Debian Ubuntu หรือแม้กระทั่ง Windows เองก็เหอะ แล้ว …

ติดตั้ง Traccar แพลตฟอร์มสำหรับ ระบบ GPS Tracking บน Digital Ocean

Traccar is a free and open source modern GPS tracking system Traccar เป็น GPS Tracking Platform หมายความว่า มีระบบและบริการที่สนับสนุนเช่น Server Client และระบบจัดการ (Manager) เสร็จสรรพ โดยตัว Server เองก็รองรับทั้ง Windows Linux และ Arm ตอนนี้เป็นเวอร์ชั่น 4.2 ส่วน Client ก็มีทั้ง Android iOS ส่วนอุปกรณ์ GPS อื่นที่รองรับก็เข้าไปดูที่นี่เลย ส่วน GPS Tracking คือการระบุตำแหน่งของวัตถุผ่านระบบระบุตำแหน่งบนพื้นโลก (Global Positioning System: GPS) ซึ่งใช้เพื่อติดตามและระบุตำแหน่งของวัตถุนั้นๆจากระยะไกล โดยเทคโนโลยี GPS tracking นี้สามารระบุได้ครอบคลุมถึงพิกัดภูมิศาสตร์ ละติจูด, ลองจิจูด, …

Simulate keyboard input and mouse activity and more on Raspberry Pi

นานมาแล้ว (หรือช่วงนี้ก็มี 555) มีโปรแกรมกลุ่มพวกคลิกโฆษณาอัตโนมัติ ได้รับความนิยมอย่างล้นหลาม ใคร ๆ ก็ทำงานบนอินเตอร์เนตกัน จนมีประโยคสุดฮิตสแปมมาอยู่เนือง ๆ โดยหลัก ๆ ละโปรแกรมเหล่านี้ก็จะจำลองการทำงานของเมาส์และคีย์บอร์ดแหล่ะ และวันนึงก็ได้ใช้ ด้วยความที่ตัว Raspberry Pi ที่ใช้งานอยู่จำเป็นต้องจำลองการเลื่อน/คลิกเมาส์และใช้คีย์บอร์ดขึ้นมา xdotool ช่วยคุณได้ เริ่มติดตั้งกันเลย sudo apt-get install xdotool ตัวอย่างการใช้งานก็ง่าย ๆ สร้างสคริปท์ขึ้นมา อาจจะทำงานผ่าน Crontab ก็ได้ เช่น ต้องการ Resize all visible gnome-terminal windows #!/bin/bash WIDS=`xdotool search –onlyvisible –name “gnome-terminal”` for id in $WIDS; do xdotool windowsize $id 500 500 done …