Two liner shell of the day : #57 (bersih-bersih bridge)

Saya mau bikin setup jaringan di kantor jadi lebih simpel dan lightweight. Saya memutuskan buat menghapus NetworkManager dan sepenuhnya pindah ke systemd-networkd di Linux Mint / Ubuntu.

Rencananya, saya mau menggabungkan beberapa interface fisik (eno1, enp5s0, dan wifi wlx0013eff10293) ke dalam satu bridge baru yang diberi nama br0. Bridge ini disiapin buat nampung:

  • Komputer desktop kerja (yang punya eno1).
  • Laptop yang lumayan sering colok-cabut kabel LAN di situ (lewat enp5s0).
  • HP yang sering lalu-lalang konek via wifi (nebeng lewat wlx0013eff10293).

Tapi begitu setup selesai, SSH ke komputer tetangga sebelah malah macet total!


Menganalisis Masalah: Misteri <incomplete> pada ARP

Pas dicek tabel ARP-nya pakai perintah arp -a, keluar output kayak gini:

? (10.200.1.168) at <incomplete> on eno1

Selidik punya selidik, ternyata biang keroknya sederhana: eno1 ternyata masih mengantongi IP address dari uplink hasil sisa proses dhclient lama!

Karena eno1 masih punya IP dan jalurnya belum "bersih", kernel Linux jadi bingung menentukan rute (routing) dan tetep maksa ngirim ARP request lewat eno1 langsung, bukannya lewat bridge br0.


Solusi

Tinggal matikan proses dhclient lalu flush IP address yang masih nempel di interface tersebut:

sudo kill `pidof dhclient`
sudo ip addr flush dev eno1

Manjur! Langsung sip, sehat, bergas!

Netizen tercerahkan #5

Dalam proses pendidikan itu mestinya juga bicara tentang integritas, kepantasan, tanggung jawab, kehormatan, kejujuran, konflik kepentingan, rasa malu, dan penghormatan terhadap kebenaran. Tidak semuanya bisa dituangkan menjadi pasal. Dan ketika sesuatu yang seharusnya hidup sebagai kesadaran moral hanya dipindahkan menjadi kepatuhan administratif, manusia bisa menjadi sangat patuh sekaligus kehilangan integritas. 

--Endah 'deyang14' Nurdiana, disadur dari diskusi amicus curiae di sini

Netizen (lama) tercerahkan #4

Kemerdekaan [yang dewasa] bukanlah kebebasan untuk hidup tanpa tanggung jawab, melainkan kebebasan untuk memilih tanggung jawab yang bernilai.
-- Tehnische Hoogeschool e Bandoeng, di hari wisuda Bu Mai

batik gemini

 

Mbak baju biru ganti jariknya motif kawung, Mbak merah ganti jarik motif madura 

Gemini, oh, gemini 

Izin kagem Mas Erik Budi Santiko yang fotonya kami permainkan.

One liner shell of the day : #56 (rename massal foto WhatsApp)

Pak Musa (admin Prodi kami) mengirim banyak foto dari kegiatan Pengabdian Masyarakat di Universitas Yudharta Pasuruan. Karena dikirim via WhatsApp, semua berkas otomatis berformat nama WhatsApp Image [tanggal dan jam].jpeg. Nama berkas dengan spasi seperti ini bikin pusing, dan berpotensi memicu masalah saat menjalankan scripting batch processing.

Untuk mengatasinya, perintah satu baris berikut akan mengubah seluruh nama berkas .jpeg menjadi format acak 6 digit yang bersih dari spasi:

for f in *.jpeg; do [ -f "$f" ] && mv "$f" "gambar-$(shuf -i 100000-999999 -n 1).jpg"; done

Setelah nama berkasnya rapi dan aman, baru foto-foto tersebut kami arsipkan ke Google Drive.

One liner shell of the day : #55 (entri nvram UEFI)

Laptop saya punya 2 SSD, satu dihuni Windows, satu dihuni mxlinux (nambah SSD belakangan). Entri UEFI mxlinux sempat hilang selepas windowsnya update. /dev/sdb1 itu partisi FAT32 boot UEFI yang terdaftar di BIOS. 

sudo efibootmgr -c -d /dev/sdb1 -p 1 -L "mxlinux" -l '\EFI\MX\grubx64.efi'

Voice of Baceprot: Enter Sandman


Saya mbrebes mili dengerinnya.

One liner shell [script] of the day : #54 (merge file dan historinya dari repo github)

git merge repoLama/master --allow-unrelated-histories

Netizen tercerahkan #3

Being born is a blessing. Growing old is a privilege. Growing old together is a blessed privilege. Growing old together with your Soulmate is a privileged blessing.

--leapinghorse 

Netizen tercerahkan #2

 Kalau semua tergantung pada satu orang, itu bukan kehebatan. Itu kelalaian.

--awpramono 

Netizen Tercerahkan #1

Selama di dunia kebenaran dan ketidakbenaran bisa beda tipis. Kejahatan dan kebaikan sama2 memiliki pengikutnya karena punya alasannya sendiri2. Ikuti hati nurani lebih baik meskipun akan ada banyak yang memusuhi. --Yusup Iriyanto

One liner shell [script] of the day : #53 (audio track from one video, video track from another)

ffmpeg -i goodvideo.mp4 -i goodaudio.mp4 -map 0:v:0 -map 1:a:0 -c:v copy -c:a aac -strict experimental goodall.mp4

One liner shell [script] of the day : #52 (overlay separuh di video)

ffmpeg -i input.mp4 -loop 1 -i overlay_top.png -filter_complex "\ [0:v]trim=0:33,setpts=PTS-STARTPTS[v0]; \ [0:v]trim=33:1180,setpts=PTS-STARTPTS[v1]; \ [v0][1:v]overlay=0:0:shortest=1[ovl]; \ [ovl][v1]concat=n=2:v=1:a=0[outv]" -map "[outv]" -c:v libx264 -crf 18 -preset fast output.mp4

Dari detik 0 sampai 33, taruh overlay_top di separuh atas video, kemudian sisanya lempeng-lempeng saja. Ceritanya mau ngedit judul presentasi.

One liner shell [script] of the day : #51 (ngambil gambar asli dari PDF)

 #!/usr/bin/bash
 # usage ./pdfimages.sh output-dir pdf-file
mkdir -p "$1" && pdfimages -p -j "$2" "$1/tmp" && i=0; for img in "$1"/tmp-*; do [[ -f "$img" ]] || continue; p=$(basename "$img" | cut -d'-' -f2 | sed 's/^0*//'); printf -v pp "%03d" "$p"; printf -v nn "%03d" "$((i++))"; convert "$img" "$1/$pp-$nn.jpg"; done

machine learning

Machine learning tanpa pattern recognition itu quacky obfuscation.

 

mengko daklanjut neh... 

Apatah guna ini semua?

 

Follow, like, and star! https://github.com/jendralhxr/cursive-scribe/

[not quite one liner] shell of the day : #51 (folder album foto kronologis)

Ceritanya ada banyak foto jepretan berbagai kamera dari folder hasil recovery, sehingga tidak ada filename atau struktur direktori yang bisa menjelaskan. Biar lebih rapi dan praktis, kita taruh saja dalam direktori sesuai bulan foto tersebut terjepret (menurut EXIF).

 for file in `find . -iname *.jpg`; do
   Extract the date from EXIF metadata (DateTimeOriginal)
  exif_date=$(exiftool -DateTimeOriginal -d "%Y%m" "$file" 2>/dev/null | awk -F': ' '{print $2}')

  # Check if the file has an EXIF date
  if [[ -n "$exif_date" ]]; then
    # Create the directory if it doesn't exist
    target_dir="$exif_date"
    mkdir -p "$target_dir"

    # Move the file to the target directory
    mv -vf "$file" "$target_dir/"
  fi
done

Pastikan kamu punya exiftool.

Intelejensia

(Ketut Surajaya, terisnpriasi dari Fukuzawa Yukichi
dalam rangka Sidang Terbuka Doktor Bahlil Lahadalia, yang kemudian gelar doktornya masih kena moratorium)

Kewajibanmu, wahai Intelejensia
masuklah ke pemerintahan
mencerdaskan birokrasi

Tugasmu, wahai Cerdik Cendikia
berbaurlah dengan masyarakat
mencerahkan kehidupan mereka

Wahai Intelektual Sejati
menyelamlah sampai palung samudra terdalam
memecahkan misteri alam
berbasis riset, teknologi, dan pendidikan
demi kelestarian dan kemaslahatan

 

Semoga Indonesia lekas tercerahkan, lestari.

Indonesia belum sepenuhnya tercerahkan

 

Saya baca komentar Warga Indonesia di sini: kita semacam darurat baca, kita yang sudah baca macam kurang doa, kita yang sudah sudah doa macam kurang mendoakan yang lain.

(menyambut Hari Kesaktian Pancasila, Pancasila yang sebagai warga Indonesia kita bela sebagai nilai-nilai kemanusiaan semestinya)

One liner shell of the day : #50 (download film dari m3u8 yang betebaran di luaran)

ffmpeg -protocol_whitelist file,http,https,tcp,tls -i plelist.m3u8 -c copy output.mp4 

playlist-nya bisa dicari dari aktivitas network di peramban. saya baru nonton kimi-no-na-wa