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


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?”.

senyummu bagai cyanoacrylate:

jernih,

lumer,

terlindung.

sekalinya kukecup…

macam pagi ini,

manisnya terasa jelas di lidahku,

kemudian mengering di gigi-gigiku, lidah, dan langit-langit mulut.

membekas…

nempel di sela gigi geraham.

Segelintir dari kita rindu untuk ditemani, menunggu sapaan “Kamu seharusnya tidak sendiri, kamu tidak seharusnya sendiri.”

Segelintir dari kita merindukan sebagian yang lain dari kita, mengutarakan, “Mari kita bersama…”

Sebagian dari Mereka yang bijak memberi nasihat “Kalian [berdua] seharusnya ditempa menjadi satu.”

–dari aku yang mengatasnamakan kita, dari kita yang belum menjadi kami, dari kami yang rindu bersama, dari kami yang Kalian rindukan bersama Mereka.

–dari saya yang sekarang menangis.

Aku yang sederhana cuma menunggu “yuk, kutemenin.”

Masjid Miftahul Huda Sudimoro dan Balai Kelurahan Mojolangu nampak bersekongkol di Jumat yang penuh berkat ini. Masjid biasanya puter murrotal sebelum jam shalat, tapi lha ya kok di kesempatan kali ini kok macam nyindir banget. Begitu speaker nyala, isinya:

(ومن آياته أن خلق لكم من أنفسكم أزواجا لتسكنوا إليها وجعل بينكم مودة ورحمة إن في ذلك لآيات لقوم يتفكرون)

Asem, diulang paling engga tiga kali pula. Padahal khutbahnya isi Uswah Hasanah Nabi yang ga punya dengki.

Di Balai Kelurahan juga ada nikahan warga RW6 (atau RW7?). Lamaran dan akad ditunaikan di waktu Dhuha, sajian makanan dilenyapkan lepas shalat Jumat. Sungguh format kegiatan yang cantik, mangkus, dan sangkil.

Sehari sebelumnya, Kamis pagi, saya mampir ke Keluarga Anik (padahal ga ad yg namanya Anik di keluarga ini), curhat colongan mengenai seorang cewe yang begitu rendah hati, juga mendengar nasehat apa itu jujur dan asa buat SO kita.

Sorenya saya sowan ke Arwana Studio. Salam yang diutarakan lepas nyelonong pagar dijawab oleh sosok wanita yang sebelumnya tidak aku kenal di rumah itu, tapi aku tahu betul kami menunggu orang yang sama pulang dari bengkel, yang aku panggil “Kak”, yang dia panggil “Mas”.

Pulang adalah bertemu dengan keluarga, dengan apa-apa yang dibawa dan tidak dibawa, kali ini yang tersirat adalah Dek SO. Mungkin saya agak melebih-lebihkan, tapi sungguh yang seperti punggung tangan kiri takdir menampar saya.

Saya pernah curhat colongan sama cewe waktu backup data dari laptopnya ke flashdrive (yang alhamdulillah jadi lama banget gegara flashdrive dengan kontroller innostor memilih bekerja perlahan-lahan). Kekhawatiran saya untuk tidak pulang adalah karena potensi ketidakmampuan saya bertanggung jawab atas potensi saya untuk menikah, atau paling tidak menunjukkan niat yang benar terlepas titik dan garis kendala waktu, tempat, dan lainnya. Si cewe dengan laptop tadi agaknya gagal paham dan kurang menunjukkan empati; walau simpatinya cantik banget, begitu juga orangnya.

Sampai di sini, saya masih cuma bisa بسم الله thok wis, nulis ceracau ini sambil senyum mangga madu masak pohon, sambil makan jeruk.

Jodoh itu (buat saya) bukan masalah cocok-tidak-cocok, berbagai kriteria, chemistry, atau apalah. Bukan berarti hal-hal tersebut tidak penting dan bukan faktor yang membentuk pranata hubungan interpersonal ini, tapi sungguh saya tidak mau melangkahi siapa yang Tuhan (dan orang tua) berkenan. Saya berkenan mengarungi kacau balau ala kadarnya, memaksa kekacaubalauan, memaksa kealakadarannya. Saya tidak memilih untuk bersama “siapa yang bagaimana”, tapi menerima untuk menemani “bagaimana yang siapa-siapa”.

I am willing to ride a hardtail for a quick stroll to grocery.
I am willing to ride a road bike for a venture off the road.
…but I might need to change the tire.

I might not be good with full-susp, but I can learn to ride one.
I love riding uphill, enjoying the hard breathing, lactate acid kicking in, but that may not be as important.
I go stupid going downhill. I may not know the best line, but I try to be responsible when I pick my line.

It might be a vintage randonneur frame that I abuse on daily basis,
but I’ll take care of her so that we can still ride together…
or, to put simply, abuse her more… further down the road. 

Bapak Johan Musseuw, Singa Flanders (bayangin ada atlet yang napak tilas Jendral Besar Soedirman, terus kau ganti latarnya ke Perang Dunia I gitu), bilang: crashing is part of cycling as crying is part of love. Saya bilang: kalau kita belum nangis bareng, kita belum sepedaan bareng, baru habis itu kita jatuh bareng.

Cewe cakephttps://engineuring.wordpress.com/2016/03/11/sci-hub-is-a-goal-changing-the-system-is-a-method/

Dan kelakukannyahttps://torrentfreak.com/sci-hub-ordered-to-pay-15-million-in-piracy-damages-170623/

Harapan dia adalah banyak orang bisa baca artikel riset secara gratis, sebagaimana kita tahu kenbanyakan artikel riset akademis/industri diterbitkan oleh penerbit dengan prestise. Prestise di sini kadang diukur dengan impact factor, nama, ongkos penerbitan, citation count, and lainnya. Dari sini kita bisa nyatakan: Alexandra (dan teman-teman) vs penerbit artikel riset. Komentar dari beberapa penerbit (AAP dan ASTM) bernada seperti ini:

“…it has recognized the defendants’ operation for the flagrant and sweeping infringement that it really is and affirmed the critical role of copyright law in furthering scientific research and the public interest.”

“Sci-Hub does not add any value to the scholarly community. It neither fosters scientific advancement nor does it value researchers’ achievements. It is simply a place for someone to go to download stolen content and then leave.”

Kepentingan publik ini seperti apa? Publikasi artikel riset apa harus dilengkapi dengan prestise, citra, dan royalti? Akses dan keterbukaan SciHub juga merupakan hal baik buat orang-orang yang belum tentu scholarly atau sekadar tidak punya cukup uang untuk berlangganan. Pengunjung SciHub tetap ngetem selama webnya ada dan mereka punya ketertarikan dengan topik risetnya. Kerja sama antara peneliti (secara personal) tentunya lebih spesial dibanding research achievement metrics yang digunakan untuk mengukur values itu.

Analogi gvblvk

Ambil contoh loper koran: penerbit butuh cetak sekian oplah untuk menjamin keberlangsungan bisnisnya, ada loper koran yang kurang kerjaan dengan memperbolehkan semua orang (yang tertarik) membaca koran dengan gratis [masalahnya korannya ga jadi lecek dan pola distribusinya begitu luas dan cepat]. Akhirnya tidak banyak orang yang membeli koran, penerbit merugi dan bisa jadi enggan menerbitkan artikel-artikelnya. Penerbit kemudian ternak lele dan bercocok tanam bersama dengan si loper karena sudah tidak ada bisnis koran lagi.

Kalau hendak merujuk lebih ke sisi teknis analogi tadi, modus operandi SciHub cukup bisa diterka: unduh banyak artikel dari penerbit-penerbit dengan proxy berbagai pihak yang bisa mengunduh artikel-artikel riset secara sistemis, tetapkan identifier masing-masing artikel, simpan di server pribadi (kalau taruh CDN bakal lebih runyam rasanya), sebarkan informasi ini ke komunitas-komunitas yang hendak baca artikel. SciHub sebenarnya juga terbantu dengan sistem publikasi dan pengarsipan yang rapi yang dilakukan oleh penerbit-penerbit. Kalau penerbit-penerbit cuma menerbitkan artikel riset dalam bentuk buku seperti zaman dulu, SciHub harus siap-siap memindai artikelnya satu-satu dan SciHub tidak bakal semasif ini.

Yang terkahir, mengapa Alexandra?

Kebanyakan orang yang bermain di acara bajak-bajakan yang bersikap dewasa; entah untuk tujuan altruistik, sekadar cari konten untuk web biar ramai, membangun koleksi pribadi; memilih tetap anonim. Pertimbangannya mulai dari menghindari resiko legal, menjamin keberlangsungan proyek bajak-bajaknya, dan menjaga kesetaraan di komunitasnya. Beberapa institusi memilih untuk mencari celah legal (e.g. citeseer) dengan kerjasama dengan penulis dan penerbit yang lebih terbuka. Alexandra terpampang sebagai pendiri SciHub sementara rekanannya dirujuk anonim di dokumen legal ini. Kadang saya tidak habis pikir apa nyaman kalau nama kita jadi penanda masalah buat orang lain begini.

Saya cuma berdoa semoga dia tetap tegar serta semua orang bisa saling terbuka dan rukun.

Keterkaitannya dengan kita?

Dewasa ini, lingkup akademis semakin ditekan dengan model “publish (at certain places) or perish”. Tridharma Perguruan Tinggi Indonesia mencakup: pengabdian masyarakat, memajukan ilmu pengetahuan, dan diseminasi ilmu pengetahuan. Konflik macam SciHub ini rasanya cuma sekelumit di bagian diseminasi. Intinya, kesarjanaan di Indonesia harusnya tidak bakal habis kalau cuma model penerbitannya tidak begitu modern.

Saya tumbuh mendengar lagu ini: Tani Maju, Cewek Sialan.

[youtube]https://www.youtube.com/watch?v=mm6meGWSz_s[/youtube]

Tragedi hidup sering saja kita tertawakan, tapi kali ini saya menangis.