thrashing

Pernahkah Anda memiliki terlalu banyak pekerjaan yang harus dikerjakan pada satu waktu, terus bingung mau mengerjakan yang mana dulu, dan akhirnya tidak ada yang selesai?

Di komputer, fenomena serupa juga terjadi. Namanya thrashing.

Hal ini terjadi ketika ada terlalu banyak thread yang aktif pada CPU, misalkan karena membuka terlalu banyak aplikasi, sehingga CPU lebih banyak menghabiskan waktunya untuk gonta-ganti proses ketimbang menjalankan instruksi proses itu sendiri. Efeknya yang terasa mungkin adanya lagging ketika menggunakan komputer tersebut. (Oke, definisi aslinya sebenarnya adalah tentang utilisasi CPU dan paging memori, tapi pesan moralnya sama).

Solusinya, ya, jangan membuka aplikasi terlalu banyak atau tambah ukuran RAM.

Begitu juga untuk kasus manusia, kerjakan tugasnya satu per satu karena manusia memang tidak bisa efektif bekerja secara multitasking.

Sekian celotehan malam2.

Iklan

whitelines

Post kali ini saya mau promosi buku tulis whitelines. Perbedaan mendasar buku tulis buatan Swedia ini dengan buku tulis lain pada umumnya adalah warna garisnya. Kalau buku tulis lain garisnya biasanya berwarna hitam, maka whitelines, surprise surprise, garisnya berwarna putih.

WL72_web_produkt20150515_15305220150515_153130

Hal ini ternyata mempunyai keunggulan tidak mengganggu tulisan. Begitu di-fotokopi atau di-scan, garisnya tidak akan terlihat sehingga tulisan kita lebih bersih dan tetap lurus. Ini juga memudahkan ketika misalkan kita mau menjalankan OCR (Optical Character Recognition) ke tulisan kita nanti. Kombinasi garis putih dan warna kertas yang agak abu-abu ini ternyata lebih tidak melelahkan mata berdasarkan hasil penelitian.

Selain itu, kelebihan lainnya adalah kertasnya cukup tebal sehingga tidak tembus dengan pulpen gel, ada garis putus-putus di pinggir kertas agar gampang dirobek (tapi ini hampir ada di semua buku tulis di Swedia). Selain itu buku ini eco-friendly karena proses produksinya menghasilkan 0 emisi karbon. Cuma kekurangannya adalah harganya yang relatif mahal (60 kr untuk buku ukuran A5, isi 70 lembar).

Ada juga variannya yang punya kemampuan untuk bisa di-scan otomatis menggunakan apps di smartphone, whitelines link.

Bisa jadi oleh-oleh kalau ada yang teman atau saudara yang berkunjung ke Swedia.

Sekian iklan tidak dibayar.

matlab

Dulu saya enggak suka pakai matlab. Menurut saya matlab lambat, editornya tampilannya jelek, sintaksnya aneh, dan harus bayar. Saya juga baca blog https://abandonmatlab.wordpress.com/ untuk cari alasan-alasan tambahan untuk tidak pakai matlab. Malah pernah untuk kuliah S1 kelas analisis numerik, saya nekat pakai Java, tambah package JAMA untuk operasi matriks, untuk mengerjakan tugas lab-nya, walaupun disuruh pakai matlab sama asisten. Sebegitu tidak sukanya saya dengan matlab.

Tapi kini semua berubah.

Di KTH, matlab tersedia gratis untuk semua mahasiswa dan banyak tugas lab yang didesain untuk diselesaikan menggunakan matlab. Selain itu untuk thesis saya karena library pendukung banyak di matlab, mau tak mau saya juga harus pakai matlab. Setelah berkutat dengan cukup intens selama beberapa waktu, akhirnya saya menoleransi pemakaiannya dan kini cukup fasih menggunakannya.

Yah, kalau mau adil, di luar kekurangannya yang saya sebut di atas, Matlab memiliki bagian-bagian yang bersinar. Seperti kata peribahasa, “kalau alat yang kita punya cuma palu, maka semua permasalahan akan terlihat seperti paku“. Selain itu, Alan Perlis pernah bilang, “A language that doesn’t affect the way you think about programming is not worth knowing“. Matlab, secara paradigma memang cukup berbeda dibanding bahasa lain, untuk beberapa hal bisa terlihat deklaratif, walau tidak semurni bahasa seperti Haskell. Berikut kelebihan dari matlab dan contoh kasus dimana penggunaannya bisa dijustifikasi.

  • Natural dan cepat untuk masalah operasi matriks.

Misalkan matrix A dengan ukuran mxn akan dikalikan dengan matrix B dengan ukuran nxk, dengan hasilnya matriks C dengan ukuran mxk.

C = A * B;

jauh lebih ringkas dan sederhana dibanding memakai 2 for-loop. Selain itu, jauh lebih cepat juga. Yah, namanya juga matlab (matrix laboratory). Karena itu, untuk tugas yang banyak menggunakan operasi matriks, seperti pengolahan citra, matlab bisa diandalkan.

  • Debugging support

Namanya manusia pasti berbuat salah. dan kesalahan dalam menulis kode ini keluar dalam bentuk bug. Cukup klik sebelah kiri nomor baris di text editor untuk mengeset breakpoint, sehingga ketika di-run, program akan berhenti tepat sebelum baris itu dieksekusi. Dalam debugging, kita bisa menjalankan kode baris per baris sekaligus mengecek nilai variabel pada saat itu.

breakpoint
Breakpoint itu bulatan yang warna merah.
  • Built-in profiler

IDE matlab juga punya built-in profiling yang bisa digunakan untuk mengetahui bottleneck di dalam kode kita sehingga bagian yang lambat bisa dioptimisasi agar bisa berjalan lebih kencang. Cukup klik Run & Time atau ketik profile on, jalankan kodenya yang ingin di-profile, lalu ketik profile viewer.

profile
Contoh hasil profiling. Ternyata paling lama adalah fungsi ApplyDetector2.

 

Jangan gunakan matlab untuk misalkan string processing, atau interfacing dengan hardware. Bisa sih, tapi akan agak menyakitkan dan ada alat lain yang lebih cocok dan tepat untuk tugas tersebut.

Tutorial dan tips triks mempercepat matlab lebih lengkap bisa dilihat di http://www.matlabtips.com/

Bajakan

Saya baru dikasih tahu kalau ternyata KTH sudah berlangganan Office 365, sehingga mahasiswanya seperti saya bisa menggunakan produk Microsoft Office seperti Word, Excel, dan PowerPoint secara gratis dan legal, selama saya masih menjadi mahasiswa di sana.

Wah ini tentunya asyik sekali. Walau saya pendukung gerakan open source, saya rasa Microsoft Office adalah program office paling bagus untuk dipakai dibandingkan alternatif lainnya seperti Open Office, Libre Office, atau Google Docs.

Dengan ini berkuranglah produk bajakan yang saya pakai. Setelah OS Microsoft Windows dapat dari MSDN AA, video game beli di Steam, musik dengar di Spotify, dan nonton film di Netflix. Sekarang yang saya bajak tinggal produk hiburan dari Jepang.

Mengapa harus pakai produk asli? Pertama, kita mendapatkan ketenangan secaral moral dan legal. Secara moral karena pembajakan itu sama seperti mencuri, dan secara legal karena tidak perlu takut pintu rumah digedor oleh polisi. Selain itu memakai software asli tentunya lebih aman dibandingkan software bajakan yang didapat entah dari mana yang mungkin sudah disusupi virus atau malware lainnya.

Saya setuju dengan kata Gabe Newell, salah satu pendiri Valve, yang punya Steam. Katanya, “Piracy is a service problem”. Kalau kita bisa mendapatkan produk asli dengan lebih mudah dibandingkan produk bajakan (apalagi murah atau gratis), pasti orang akan lebih memilih yang asli.

Bagaimana dengan Indonesia, yang katanya tingkat pembajakan software nomor 2 tertinggi di dunia, apakah bisa mengurai konsumsi bajakan? Menurut saya bisa. Contoh nyatanya orang beberapa tahun lalu mau membayar beberapa puluh ribu untuk memasang ringtone atau ring back tone (ketik reg spasi blablabla) dengan cara memotong pulsa. Hal yang sama bisa diterapkan untuk pembelian produk atau software asli.

Demikian celotehan malam2…