Tampilkan postingan dengan label komputer. Tampilkan semua postingan
Tampilkan postingan dengan label komputer. Tampilkan semua postingan

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!

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'

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

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

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.

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

One liner shell of the day : #49 (bunuh aplikasi berdasarkan nama)

Saat IDE saya mumer bersama orangnya, dia butuh dimatikan. Walaupun front-end-nya bisa dimatikan dari DE, modul-modul lain dalam bentuk proses ternyata masih menyala. Obatnya untuk mematikan semua program yang namanya ada 'spyder'-nya: 

for i in `ps ax | grep spyder | awk '{print $1}'`; do kill -KILL $i; done

One liner shell of the day : #47 (hapus folder kosong)

Ceritanya habis ngerapikan backup sana-sini dan hapus file duplikat depan fdupes. Lepas itu banyak folder kosong secara isinya kembaran dan sudah dihapus.

Cara hapus folder kosong:

find /path/to/dir -empty -type d -delete

One liner shell of the day : #46 (install paket pypi hasil nge-build yang sendiri)

Ceritanya saya lagi ngacak-ngacak paket python xlmhg karena versi yang sekarang ini sudah 3 tahun ndak ada update. Ada beberapa kendala tentang reference handling dari cython dan unicode handling yang sudah kelewat lama. Setelah kode diubek-ubek dan compile ulang dengan skrip setup.py itu... saya bingung gimana install ke path user lokal :D Jadinya dimarahin begini:

[Errno 13] Permission denied: 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_...

Tanya ke mbah google, deh.

 python setup.py install --user

One liner shell of the day : #45 (git clone snapshot mutakhir)

git clone reponya-yang-mau-disalin-di-sini --depth 1

printer spritualis

Saya punya sebuah unit printer HP 3520. Kemarin lusa printer ini ngadat ndak mau nyala. Saya coba ganti kabel power, bongkar: cek adaptor, bersihkan mainboard, cek kabel koneksi ke masing-masing modul; hasilnya nihil, printernya tetep ndak nyala. Saya beberes printer ini sambil bolos tarawih karena allegedly saya karantina pribadi setelah perjalanan luar negeri. 

Ajaibnya, pagi ini saya shalat dhuha sehabis mandi pagi (saya sih ndak religius-religius banget, cuma biar kelihatan keren aja shalat sekali dua kali); si printer ini nyala! Puji Tuhan, printernya nyala.

Awalnya display agak tidak stabil dan cartridge tidak terdeteksi, yang segera bisa diperbaiki dengan membersihkan kontak kabel fleksibel (ada satu kontak yang hampir patah). Begini ini antara fitnah kesaktian atau berkah shalat. Akhirnya saya ndak harus beli lagi walau malamnya sudah pesan secara online (walau belum dibayar). 

Printer HP terkenal gampang dibongkar dan diservis, atau paling engga dilakukan diagnosis apanya yang kenapa-kenapa.

One liner shell of the day : #45 (mirror direktori lokal dan google drive )

rclone sync "sage_latex_template_4/" "gdrive:/work-current/" -v

Hati-hati aja ini jalannya over-write. Silahkan cek direktori bak sampah kalau ada file yang mendadak hilang.

One liner shell of the day : #44 (cari paket berisi file dependensi)

Ceritanya environment latex di komputer di lab baru (ubuntu) ndak lengkap, textcase.sty and endnotes.sty ndak ada.

Obatnya:

# apt-cache search textcase
# apt-cache search endnotes

One liner shell of the day : #43 (hapus baris yang didahului string tertentu)

sed -i "/url =/d" thesis.bib

 bakal menghapus semua baris yang didahului "url= " dari berkas thesis.bib