Almalinux network driver

After fresh installation, If your NIC show as UNCLAIMED in lshw then maybe it is caused by your system require a driver that not is not supported by Almalinux. You can look for driver from ELRepo instead.

You need these 4 packages

  1. kernel-ml
  2. kernel-ml-core
  3. kernel-ml-modules
  4. kernel-ml-modules-extra

For Almalinux 8 on x86_64 : https://elrepo.org/linux/kernel/el8/x86_64/RPMS/

Download 4 packages above put them into flash drive and then use this command to install.

dnf install *.rpm

Using AutoHotkey to adjust DELL monitor brightness/contrast

  1. Install DELL Display Manager.
  2. Commands
    Increase Brightnesss
    C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /IncControl 10 1
    Increase Contrast
    C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /IncControl 12 1
    Decrease Brightness
    C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /DecControl 10 1
    Decrease Contrast
    C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /DecControl 12 1
    We can passing multiple arguments at the same time like this
    C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /IncControl 10 1 /IncControl 12 1
  3. AutoHotkey example
>^PgDn::
  Run, C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /DecControl 10 3 /DecControl 12 3
  Return

>^PgUp::
  Run, C:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe /IncControl 10 3 /IncControl 12 3
  Return

socket.io server (wss://) behind nginx proxy server

สามารถพบได้ทั่วๆ ที่ใครก็จะแนะนำให้ใส่ config ประมาณนี้ เพื่อทำ reversed proxy ไปยัง socket.io ด้านหลัง

        location ^~ /socket.io/ {
                proxy_pass https://127.0.0.1:8089;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
                proxy_set_header Host $host;
        }

พอเราทำตามนี้กลับเจอ error WebSocket connection to 'wss://your-domain.com/socket.io/' failed: Error during WebSocket handshake: 'Upgrade' header is missing นี้ใน Console ของ Browser

Continue reading “socket.io server (wss://) behind nginx proxy server”

SSH private_key in phpStorm

ถึงแม้ว่าใน .git/config เราจะระบุ puttykeyfile เอาไว้แล้ว แต่ phpStorm มันไม่ได้เอา key นั้นมาใช้ เราเลยต้อง settings เพิ่มเติม เพื่อให้มันสามารถ ssh ไปข้างนอกได้ด้วย key ที่เราต้องการ

Continue reading “SSH private_key in phpStorm”

Local Port Range

ตอนที่เซิร์ฟเวอร์ยิง Request ออกนอกเครื่องพร้อมกันเยอะมาก จะเจอ error แบบนี้ ถ้าใช้ Local port หมด

cURL error 7: Failed to connect to w.x.y.z: Cannot assign requested address (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)

เราจะต้องกำหนด Local port range ให้กว้างขึ้น เพื่อให้มีจำนวน port ที่ไว้ให้ใช้งานเพิ่มขึ้น

Continue reading “Local Port Range”

TortoiseSVN error while loading shared libraries

Error message:

$ svn
C:/Program Files/TortoiseSVN/bin/svn.exe: error while loading shared libraries: libapr_tsvn.dll: cannot open shared object file: No such file or directory

Solution:

  • Extract TortoiseSVN-x.x.x.xxxxx-x64-svn-x.xx.x.msi installer with 7-zip
  • Move F_libapr to C:\Program Files\TortoiseSVN\bin\libapr_tsvn.dll
  • Move F_libaprutil to C:\Program Files\TortoiseSVN\bin\libaprutil_tsvn.dll

Gracefully stop PHP process with PCNTL

เวลาเขียน process ไรสักอย่างด้วย PHP ที่ใส่ loop ไว้เพื่อให้มันทำงานไปตลอดจนกว่าจะโดน kill เราสามารถใช้ PCNTL เพื่อให้ script PHP รู้ว่ามีคนขอ ให้ process หยุดทำงานได้แล้ว ถ้ามีงานที่ทำต่อเนื่องอยู่ยังไม่ถึง checkpoint จะได้มีโอกาสทำต่อให้เสร็จก่อน และก็ exit; ตัวเองซะ ไม่ต้องไปทำ task ต่อไป.

Continue reading “Gracefully stop PHP process with PCNTL”

Google Ads MCC init

พอดีจะต้องสร้าง MCC แยกออกมาเพื่อทำอีกโปรเจคนึง แต่ลืมไปหมดแล้ว ว่าผมต้องเตรียมบัญชี MCC ยังไงบ้าง รอบนี้เลยจดไว้หน่อยแล้วกัน

Continue reading “Google Ads MCC init”