Ceritanya saya punya koleksi PDF di satu komputer, mau dipindah ke komputer lain, tapi disimpan dulu di harddisk portabel. Sebelumnya sudah sempat salin beberapa file di dalamnya, tapi kadang tetep aja ada file yang nambah di dalemnya.

Ini lagi cara gimana supaya cuma file yang disalin (cuma) adalah yang belum disalin ke harddisk portabel.

rsync -rtvu folder_asal/ folder_tujuan/

Singkat cerita, saya punya beberapa skrip shell yang ditulis Linux, kadang diedit di Windows, dan di-commit/di-pull dari/di/ke github, juga dari keduanya.

Windows menggunakan CR (carriage return)+LF (linefeed) untuk ganti baris. Linux pakai LF saja. Konsekuensinya skrip-skrip saya tersebut ndak jalan lagi di Linux.

Obatnya: sed -i 's/\r//' filename


Singkat cerita, laptop kantor (Dell Vostro) pengen diculukin layar kedua dari colokan D-SUB. Monitor yang dipakai I-O Data MF225 yang resolusinya 1920×1080. Tapi entah gegara santet dari mana, resolusi yang terbaca di cuma sampai XGA (1024×768). Aku biasanya pakai arandr, yang kali ini ternyata tidak cukup pintar buat nambah menu untuk mengatur resolusi layar custom.

Mampir bentar ke askubuntu, jawabannya segera ketemu.
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
$ xrandr --addmode DP1 "1920x1080_60.00"

1920×1080 60 fps sudah muncul di arandr. Saya bahagia.

bukan ndak bisa “mendedikasikan hati”.
tapi kalau shadow saya ndak jebol, saya ndak ganti password.
kalo kunci pgp-ku ndak hilang dan lupa, ndak bakal ganti juga.
namanya bakal tetep di password saya, bisa jadi bukan namamu.
yang membesarkan aku seperti sekarang ini juga bagian dari kalian yang lain.

sungguh tiap-tiap dari kalian membelajari aku berbagai hal:
yang aku gagal lulus,
yang aku masih mengulang,
yang aku dikira mengerti padahal sekadar tahu,
yang aku cuma mengerti sebagian,
yang aku paham sekenaku.

sungguh aku ndak pernah bohong,
semua itu istimewa,
dan keistimewaan seorang tidak mengurangi atau mengaburi keistimewaan yang lain.
saya mohon maaf bahwa saya ndak istimewa-istimewa banget.

Singkatnya, selalu pastikan bahwa variabel yang kamu pakai sudah diberi nilai tertentu sebelum kamu gunakan untuk operasi lain; utamanya di bahasa pemrograman C++ yang relatif lebih tidak disiplin dibanding C.

 

Contoh baik:

double *x_min, *x_max, *y_min, *y_max;
x_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
x_max = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_max = (double *) malloc(sizeof(double)*MARKER_COUNT);

double moment_x_temp, moment_y_temp, mass_temp;

image_height = image.rows;
image_width = image.cols;

for (int i=0; i<MARKER_COUNT; i++){
y_min[i]= image_height;
x_min[i]= image_width;

}

 
Contoh kurang baik:

double *x_min, *x_max, *y_min, *y_max;
x_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_min = (double *) malloc(sizeof(double)*MARKER_COUNT);
x_max = (double *) malloc(sizeof(double)*MARKER_COUNT);
y_max = (double *) malloc(sizeof(double)*MARKER_COUNT);

double moment_x_temp, moment_y_temp, mass_temp;

for (int i=0; i<MARKER_COUNT; i++){
y_min[i]= image_height;
x_min[i]= image_width;
}

image_height = image.rows;
image_width = image.cols;

Kekurangbaikannya ini yang susah diprediksi, isi aray y_min dan x_min bakal diambil dari bagian statis kode program yang entah isinya apa. Dijamin proses yang bersangkutan dengan variabel tersebut bakal memiliki keanehan-keanehan macam “nilai ini dapat dari mana, sih?”.

Kadang waktu pakai aplikasi spreadsheet, contoh: libreoffice calc, microsoft excel; kita butuh mencari indeks dari sel dengan nilai tertentu: nilai maksimum, minimum, rerata, atau nilai yang kita tentukan secara bebas.

=MATCH(MAX(E1:E2400),E1:E2400,0)

kembaliannya adalah baris di kolom E dengan nilai maksimum. 0 berarti kolom tersebut tidak diurutkan.