Cara bertanya di dunia maya

Ini saya tuliskan karena sering sekali mendapatkan pertanyaan baik langsung maupun di group yang menurut saya tidak jelas dan kemudian membuang waktu semua orang. Jika seseorang bertanya dengan cara yang baik maka kemungkinan dijawabnya akan lebih besar dan lebih cepat.

Cari dulu di Google

Ada satu hal penting sebelum bertanya: cobalah dulu mencari dengan Google. Sekarang ini Google bisa ditanya dengan bahasa natural: “apa ibukota Indonesia?” dan akan dijawab “Jakarta”. Berbagai pesan error juga bisa dicopy paste ke Google untuk mencari jawabannya. 

Kalau sudah mentok, bisa bertanya ke group atau langsung ke seseorang. Misalnya: “saya berusaha mencari tahu tentang topik X, sudah saya cari di Google dengan kata kunci berikut, tapi tidak ketemu jawabannya. Apakah ada kata kunci lain yang lebih baik?”

Salam sambil bertanya

Hal pertama adalah mengenai salam. Di dunia nyata, biasanya kita memberi salam dulu, menunggu jawaban, lalu bertanya. Di dunia maya tidak perlu seperti itu, beri salam sambil bertanya akan lebih efisien. “Selamat siang”, nunggu saya menjawab beberapa jam kemudian, lalu saya jawab “Selamat sore”, beberapa jam kemudian orang tersebut sudah tidak online, tidak tahu tadinya ingin bertanya apa.  Kadang saya sedang online dan bisa langsung menjawab: “selamat siang”, lalu harus menunggu orang tersebut mengetikkan pertanyaan panjangnya.

Akan lebih efisien jika langsung: “Selamat siang, saya ingin bertanya mengenai <jelaskan masalahnya>”. Untuk sebagian pertanyaan, saya sudah tahu jawabannya dan bisa langsung saya jawab, atau bisa saya berikan linknya. Untuk pertanyaan yang lebih rumit, saya bisa mikir dulu untuk menjawab nanti (atau kadang perlu menunggu sampai rumah untuk mengirimkan suatu dokumen atau artikel di komputer saya). Jika pertanyaan via email, maka subjectnya harus jelas, bukan sekedar: “Halo”, “Salam kenal”, dsb.

Tanya di tempat yang benar

Tujuannya ada banyak group, dengan banyak sub group (misalnya untuk  security ada Forensic, Web Security, Reverse Engineering, dsb) adalah supaya diskusinya terfokus. Jika semua group dipakai untuk tanya apa saja, ya buat apa ada banyak group?

Buat apa ada group Python, Javascript, dsb kan sama-sama programming? kenapa nggak boleh nanya SQL injection di Reverse Engineering, kan sama-sama security? Sekalian aja kenapa gak boleh bertanya tentang memelihara burung di group botani, kan sama-sama mahluk hidup.

Kenali topik Anda apa dan tanyakan di group yang sesuai. Jangan maksa bertanya topik yang di luar group. Jika jawabannya adalah: carilah group lain, maka carilah group lain ada banyak daftar group telegram, Facebook dsb di berbagai website.

Pertanyaan harus jelas

Pertanyaan juga sebaiknya yang jelas. Sering kali di sebuah group yang anggotanya sudah beberapa ratus atau bahkan beberapa ribu (Group Telegram anggotanya bisa ribuan) seseorang datang cuma bilang: “Halo, ada yang tau XX” dengan XX adalah sesuatu yang sangat umum, misalnya “Ada yang tahu Tensorflow?” (di group Machine Learning), “ada yang tahu mysql?” (di group Database), “Ada yang tahu heap? (di group Reverse Engineering). 

Kalau setiap anggota group yang anggotanya 2000 orang harus menghabiskan 2 detik dari menerima notifikasi sampai membaca pesannya, Anda menghabiskan total 4000 detik di bumi ini dari semua orang. Ini seperti orang yang memblokir lift karena sedang ngobrol dengan temannya, atau parkir di pinggir jalan yang sudah sempit sehingga orang sulit lewat: semuanya membuang waktu orang lain.

Pertanyaan seperti itu nggak jelas, dan dari ribuan orang kemungkinan ada yang tahu jawabannya (apalagi bertanya di group yang memang membahas topik itu). Masalahnya adalah: Anda ingin tahu apa? misalnya bertanya “Ada yang tahu mysql?”, lalu dijelaskan “mysql adalah dbms bla bla bla”, lalu ternyata yang ingin ditanyakan adalah: “mysql saya gak jalan”. Biasanya kemudian ada yang mengambil asumsi tertentu (Mysql di Linux dengan systemd), dan kemudian langsung menjawab dengan systemcl, tapi ternyata Mysql-nya di Windows. 

Jadi pertanyaan harus jelas:  bukan dengan mulai “siapa yang tahu topik X”, tapi tanyakan dengan jelas apa yang ingin Anda ketahui. Lalu berikan konteks yang jelas: saya sedang berusaha melakukan X tapi gagal. Berikan informasi tambahan yang perlu misalnya: saya coba di Linux, atau saya coba dengan software versi X, atau apapun yang kira-kira penting. Contoh info yang penting: ini saya download dari situs lain karena situs resminya down (ternyata di situs itu cuma ada versi lama), saya compile sendiri (ternyata salah opsi ketika compile), dsb. 

Jika pertanyaan berhubungan dengan kode program, sertakan kode programnya. Jika sangat singkat (1 fungsi kecil) bisa langsung di teks pesan, tapi jika lebih panjang, masukkan ke gist atau pastebin. Jangan mengirimkan image/screenshot source code. Image sulit dibaca, tidak bisa copy paste dengan mudah untuk menunjukkan salahnya, dan kadang tidak lengkap. Jika ada pesan error: tunjukkan dengan lengkap (tapi jika errornya panjang, masukkan ke gist atau pastebin).

Bersiap menerima jawaban

Bagian berikutnya adalah: bersiaplah menerima jawaban. Tanyalah ketika Anda sedang di depan komputer, kadang sudah dijawab dengan sangat cepat, tapi kemudian dijawab lagi dengan “Oh saya lupa versinya, nanti saya cek lagi” atau “OK, nanti saya coba kalo sudah di desktop”. Kenapa nggak nanya pas sedang di depan desktop? Ini terutama jika pertanyaan diajukan ke group dengan ribuan orang di dalamnya, yang biasanya merespon dengan cepat. Yang lebih menyebalkan lagi adalah: sudah dijawab baik dengan jawaban yang sudah jelas, atau direspon dengan pertanyaan klarifikasi, tapi kemudian tidak dibalas sama sekali oleh penanya awal.

Jika jawaban semua orang adalah: pelajari dulu topik X. Maka jangan ngeyel. Jika ada yang bertanya: saya coba bongkar aplikasi X dengan ida pro, kok munculnya “db” semua ya? Setelah dijawab, kembali ke pertanyaan sederhana “ini artinya apa?” dst.  Bisa terlihat bahwa orang tersebut masih buta soal reversing. Semua orang menyarankan coba dulu bongkar aplikasi lain, supaya paham hal-hal dasar, lalu dijawab: tapi saya maunya langsung bongkar aplikasi X. Maunya disuapi belajar langkah demi langkah.

Ada banyak hal yang tidak bisa dijawab dengan singkat (pertanyaanya sangat umum). Coba jika ada yang bertanya: saya bingung konsep diferensial di kalkulus, tolong jelaskan ke saya? Apakah Anda bisa menjelaskannya dengan singkat dan bisa dipahami lewat chatting? (beberapa pertanyaan sejenis ini misalnya: saya bingung konsep managemen memori di C). Jadi jawaban yang bisa diberikan paling-paling: coba baca buku X atau Y, lihat video Youtube, lalu coba-coba sendiri.

Sharing

Terakhir: ucapkan terima kasih. Ini tujuannya selain untuk kesopanan juga untuk menutup topik (bahwa jawaban yang diberikan sudah cukup jelas dan membantu). Kadang masih ada beberapa jawaban ekstra karena dikira topiknya belum selesai.

Bentuk terima kasih yang paling bagus adalah dengan membagikan apa yang Anda tahu. Jika Anda tahu jawaban sesuatu, atau mengerti topik sesuatu, Anda bisa menuliskannya di blog misalnya, supaya orang berikutnya bisa membaca jawaban Anda. Jadi jangan cuma jadi orang yang pasif menerima jawaban  untuk kepentingan sendiri saja.

Jika tidak dijawab

Meskipun sudah bertanya dengan baik dan sopan, belum tentu pertanyaan Anda dijawab, dengan banyak alasan:

  • Memang tidak ada yang tahu jawabannya
  • Orang yang tahu jawabannya sedang tidak ada waktu untuk menjawab, atau mungkin terlewat membaca pertanyaan itu
  • Reputasi Anda jelek, orang sudah malas menjawab
  • Tidak ada kewajiban bagi orang lain untuk menjawab

Coba renungkan juga: berapa kali Anda menjawab seseorang, ketika ada yang bertanya dan Anda tahu jawabannya. Apakah Anda menunggu orang lain yang menjawabnya? atau Anda sendiri orang yang suka membantu orang lain? (bukan hanya mengenai menjawab pertanyaan, tapi secara umum berbuat baik pada orang yang tidak Anda kenal). Menjawab pertanyaan orang lain itu sekedar amal, tidak wajib.

Penutup

Sekalian saya ingin menyampaikan uneg-uneg mengenai berbagai kondisi group teknologi saat ini. Kebanyakan group ini noise nya sangat tinggi (banyak sampahnya) karena banyak anggota yang tidak peduli sopan-santun.

Untuk orang yang suka berjualan, mengirimkan pengumuman seminar dsb, tolong jangan memotong diskusi yang sedang berjalan. Jika ada seseorang sedang di tengah sesi tanya jawab, tiba-tiba ada yang nyelonong memforward message mengenai seminar, itu sangat mengganggu. Kalo saya admin groupnya, sudah saya ban orang yang seperti itu.

Orang-orang tersebut tidak peduli dengan isi group, yang kepikiran cuma begini: oh ternyata group itu aktif (ada message baru), saya forward deh info seminarnya tanpa peduli mengganggu diskusi (sering kali butuh 2-3 detik buat scroll message teks yang panjang sekali). Bahkan sering kali tidak melihat bahwa baru saja beberapa pesan sebelumnya info itu sudah diforward oleh orang lain.

Jangan ngejunk di group yang berfokus pada hal tertentu. Sudah ada group keluarga, group SD/SMP/SMU/jurusan/universitas, group kantor, group temen kompleks dsb yang bisa dipakai untuk ngejunk, kirim-kirim meme, politik, dsb. Kalau semua group hanya dipakai untuk meme politik, buat apa bikin group baru?

Mungkin sebagian akan mikir: ah ribet banget sih, santai aja lah ngejunk. Salah satu alasan banyak orang yang memiliki ilmu jarang mau sharing atau menjawab di group adalah: 90% waktunya dipakai untuk membaca sampah, jadi daripada waktunya dibuang percuma mereka memilih pergi. Ya silakan saja memiliki group penuh sampah, tapi jangan salahkan juga kalau tidak ada orang berkualitas yang mau join. Sebaliknya jangan sakit hati jika dikick dari group yang berkualitas karena sering tidak sopan atau ngejunk.

Hosting email

Meneruskan cerita sebelumnya tentang self hosting, kali ini saya ingin membahas lebih jauh lagi mengenai email. Sekarang ini email (dan nomor HP) menjadi “kunci” bagi banyak layanan. Kebanyakan layanan memerlukan email untuk login dan untuk fitur lupa password. Berbagai notifikasi transaksi keuangan juga masuk ke email. Jika kita kehilangan akses email, akibatnya cukup fatal.

Banyak layanan juga meminta verifikasi via email jika kita login di komputer baru atau IP yang baru. Jadi jika account email kita dihack atau diblokir, kita tidak bisa login. Email ini sangat penting, jika sampai kehilangan akses maka urusannya rumit, seperti jika kita kehilangan dompet. Sekarang setelah tahu betapa pentingnya email ini, kita perlu berusaha mengamankannya.

Contoh verifikasi dari Steam

Email gratisan

Sebagian besar orang menggunakan dua jenis email ini: email kantor dan email gratisan dari berbagai provider (Google/Yahoo/Outlook dsb). Sebenarnya kemungkinan account kita tiba-tiba ditutup oleh Google atau berbagai perusahaan ini cukup kecil, tapi tetap ada. Bisa saja kita sudah taat peraturan, tapi ada kesalahan pada sistem yang membuat account diblokir. Selama lebih dari 14 tahun memakai Google, baru sekali saya mengalami masalah.

Selain Google sebenarnya ada banyak layanan email gratis lain, misalnya protonmail yang terenkripsi, outlook.com dari Microsoft, bahkan Yahoo juga masih memberikan email gratis. Tapi semua email gratisan ini agak mengkhawatirkan karena sebagai pengguna gratis, kita ini “bukan siapa-siapa” dan bisa ditendang kapan saja.

Lanjutkan membaca “Hosting email”

Self hosting layanan online

Posting ini meneruskan cerita horor di posting saya sebelumnya di mana saya hampir kehilangan akses account Google tanpa sebab. Di sini saya ingin membahas mengenai self-hosting layanan online, supaya kendali atas layanan online sebisa mungkin ada di tangan kita, tidak mudah semena-mena ditutup pihak lain.

Posting kali ini lebih ditujukan bagi mereka yang memiliki kemampuan teknis mengadministrasi sistem (atau mau belajar melakukan itu). Saya berencana membuat posting lain untuk melindungi account online untuk orang awam.

Meskipun ada banyak layanan online (SAAS atau software as a service) baik gratis maupun berbayar mulai dari penyimpanan file, foto, sampai source code, banyak orang memilih untuk menghosting sendiri berbagai layanan tersebut (istilahnya self-hosting). Ada yang memakai komputer lokal di rumah, ada yang memakai VPS, dan ada juga yang menyewa dedicated server.

Beberapa contoh layanan online yang saya maksud misalnya: email (Gmail, Outlook, Yahoo), hosting blog (Blogspot, WordPress, Medium, dsb), hosting git (github, bitbucket), dan penyimpanan file online (Dropbox, Google Drive, OneDrive)., Tentunya masih banyak lagi jenis layanan online lainnya yang tidak saya sebutkan.

Buat apa hosting sendiri?

Ada banyak alasan kenapa seseorang mulai menghosting layanan sendiri. Ada yang shock karena account onlinenya ditutup sepihak, dan ada juga yang dari dulu merasa curiga dengan layanan gratis (kok bisa gratis?). Beberapa layanan gratis mendapatkan uang dari iklan, beberapa memberikan gratis sampai batas tertentu saja (misalnya untuk Dropbox, jika disk penuh, nanti lama-lama pengguna gratis akan membayar), dan beberapa dikhawatirkan menjual data usernya.

Memakai layanan dari pihak lain memiliki  satu kelebihan utama:  kita tidak perlu memikirkan apa-apa, tinggal pakai. Tapi memakai layanan pihak lain juga memiliki banyak kelemahan:

  • Semua data kita di tangan pihak tersebut, bisa saja dijual, diintip, dihilangkan
  • Pemerintah di negara tertentu bisa meminta pihak online provider memberikan data pada mereka (dan kita tidak tahu)
  • Pihak lain bisa secara sepihak menutup account kita, seperti contoh kejadian yang saya alami di posting sebelumnya
  • Bukan cuma account, tapi keseluruhan layanan online bisa ditutup sewaktu-waktu (ingat Friendster yang sempat memiliki ratusan juta member? Google Reader yang dulu jadi andalan membaca berita? Google Plus yang jadi alternatif Facebook bagi lebih dari 100 juta orang?)
  • Selain ditutup, layanan bisa juga dijual ke pihak lain dan bisa berubah total. Baru-baru ini Yahoo menjual Flickr, tadinya pengguna gratis bisa mengupload data sampai 1 TB, sekarang dibatasi 1000 foto saja

Tidak peduli seberapa besar layanannya, berapa banyak penggunanya (Tahun 2013 flickr memiliki 87 juta anggota, Google plus memiliki 111 juta pengguna aktif), seberapa besar perusahaannya (Google Reader dan Google plus dimiliki oleh Google, Flickr dimiliki oleh Yahoo). Jika sesuatu dirasa tidak menguntungkan, maka kita bisa dipaksa pindah.

Lanjutkan membaca “Self hosting layanan online”

Your Google Account is disabled

Kemarin pagi saya dapat notifikasi yang menyeramkan: Your Google Account is Disabled. Jika tidak meminta restore, ada konsekuensi seram. Ini bukan email phishing, ini email resmi dari Google.

We understand your account is important to you. So if you think this was a mistake, sign in to the disabled account and submit a request to restore it. You’ll need to do this soon, because disabled accounts are eventually deleted, along with your emails, contacts, photos, and other data stored with Google.

Isi email dari Google

Masalahnya ketika saya login, tidak ada penjelasan apapun seperti tertulis dalam dokumen support google di sini (If your account is disabled, you’ll get an explanation). Saya masih bisa mengakses email seperti biasa, setelah cukup panik, beberapa belas menit kemudian muncul email lain, bahwa account Youtube saya suspended. Nah sekarang saya jadi bingung: apakah keseluruhan account saya disabled, atau hanya Youtube saja suspended? atau malah kedua-duanya benar? Saya sempat khawatir mengenai ini

Katanya ada pelanggaran spam, scam, atau deceptive content (bukan copyright violation, atau pelanggaran lain). Dulu di awal saya pernah mengupload video mengenai editor Emacs, dan video beberapa karya saya yang lain , tapi selama 5 tahun  hanya 3 video dalam 3 tahun terakhir (Video yang saya upload juga di Page Facebook kami). Saya juga tidak pernah berkomentar di YouTube (baik positif atau negatif).

Mengenai security, saya juga yakin account saya tidak dihack. Semua komputer saya sudah update ke software terbaru. Bahkan HP utama yang saya miliki juga sudah memakai Android Security update terbaru.  Saya memakai Windows (yang rawan malware) hanya di komputer saya yang sudah terinstall antivirus (sisanya saya hanya mengakses dari Linux dan Ponsel).

Yubikey U2F yang saya gunakan untuk login Google Account

Saya memakai two factor authentication dengan hardware security key yang saya bawa di dompet saya. Saya mendaftarkan phone number recovery yang valid. Saya sering melakukan review terhadap Google Activity (dan juga Facebook Activity) siapa tau ada hal-hal yang tidak sengaja saya klik atau search dari ponsel (karena fitur autocomplete, salah tekan saja bisa membuat kita mencari sesuatu yang aneh). Saya juga bisa mengecek misalnya apakah saya tidak sengaja mengklik untuk membuat komentar di Facebook ataupun Youtube.

Ini juga bukan account baru, saya sudah 14 tahun memiliki email Gmail ini di tahun ketika Gmail diluncurkan. Dulu awalnya dapat dari temannya Risna yang tidak memakai link referal dari Blogger (Hi Dui). Saya suka email ini karena jelas (ejaannya sesuai nama depan saya), dan domain gmail.com sudah banyak dikenal orang.  Ketika mendaftarkan sesuatu secara offline, biasanya saya memakai email gmail ini, karena banyak orang tahu gmail dan jarang sekali salah eja domainnya. Jika saya memakai email lain, kemungkinan salah eja nama domain cukup besar.

Saya bukan sekedar pengguna gratisan, saya sudah subscribe Google Drive sejak beberapa tahun terakhir, saya memakai Google Account ini juga untuk Play Store di Android. Di Android saya sudah membeli banyak app dan buku,  bahkan di hari sebelumnya saya memperbarui subscription Simply Piano yang setahunnya sekitar 600 ribu rupiah.

Andaikan saya kehilangan account Youtube ya sudah saya relakan saja, tapi jika email gmail yang hilang maka ini akan sangat repot. Berbagai recovery email saat ini mengarah ke gmail. Setelah mengisi form untuk unsuspend, malam harinya saya mendapatkan email dari Google yang sedikit melegakan. Katanya tidak ada masalah dengan account Youtube saya, dan saat ini sudah dikembalikan seperti semula.

Tentunya hal seperti ini tetap membuat saya khawatir: jadi sebenarnya ada masalah apa? Apakah hal semacam ini bisa terjadi lagi? Jika terjadi lagi, apakah bisa cepat unsuspend karena insiden ini pasti sudah masuk catatan Google. Bagaimana jika berikutnya email yang tiba-tiba tidak bisa diakses?

Katanya tidak ada maslaah, tapi juga tidak diberitahu kenapa sempat diblok

Demi keamanan saya sudah menggunakan Google Takeout untuk mendownload semua data saya dari Google dan memindahkannya ke OneDrive (dan dari OneDrive saya synchronize ke harddisk di rumah saya). Sebenarnya saya sudah memiliki kekhawatiran hal semacam ini bisa terjadi, jadi selama ini yang saya lakukan:

  • Mendownload email offline secara berkala dengan offlineimap
  • Membuat autoforward semua email penting ke email lain sebagai arsip realtime
  • Mengupload foto tidak hanya ke Google Photos tapi juga ke OneDrive (dan disinkronisasi ke drive lokal di rumah), dan baru-baru ini memakai Seafile (ke server sendiri)

Beberapa layanan tertentu mengijinkan saya memasukkan dua atau lebih email (misalnya Facebook dan Paypal) jadi jika kehilangan akses ke satu email, maka tidak masalah, tapi sayangnya tidak semua layanan mengijinkan ini.

Seperti saya sebutkan di atas, saya memakai alamat @gmail.com karena tidak rawan salah eja di dunia offline ketika mengisi form tulis tangan. Untuk berbagai hal yang online alasan utama memakai email tersebut adalah karena gmail memiliki anti spam yang bagus, kemudian lama-lama jadi terlena karena menganggap akses gmail ini tidak akan hilang. Padahal saya sudah menghosting sendiri kebanyakan layanan yang saya pakai selain email (contohnya blog ini memakai WordPress sendiri, bukan layanan gratisan maupun berbayar).

Meskipun saat ini sepertinya semua sudah baik-baik saja, ini merupakan wake-up call bagi saya untuk mulai menggunakan email yang lain yang berada di bawah kendali saya, email yang memakai domain saya sendiri. Untuk urusan mailbox, saya bisa menyewa jasa dari tempat lain atau bisa saya hosting sendiri di dedicated server sendiri. Andaikan memakai domain milik sendiri dan memakai jasa mail dari layanan lain, saya tetap bisa mengubah MX Record andaikan suatu hari layanan tersebut tutup atau bermasalah.

Semoga pengalaman saya ini juga bisa menyadarkan pihak lain supaya tidak bergantung 100% pada layanan dari satu perusahaan. Saat ini Google memiliki sangat banyak layanan, Andaikan account Anda ditutup, apa yang akan terjadi? Bagaimana kalo kejadiannya ini terhadap sebuah account yang dimiliki perusahaan (banyak yang masih memakai email gratisan @gmail.com)? Di posting berikutnya saya akan membahas lebih banyak mengenai self-hosting layanan online (tidak hanya email).

Ransomware, Reverse Engineering dan Backup

Cukup banyak yang bertanya ke saya mengenai ransomware, selain itu sering juga di group reverse engineering ada yang bertanya: saya kena ransomware (dengan scren capture layar permintaan tebusan), diteruskan dengan: apa yang harus saya lakukan? Tulisan ini akan berusaha menjawab kenapa sulit mengatasi ini, kenapa percuma meminta tolong ke group reverse engineering, dan kenapa sebaiknya Anda perlu membackup file Anda.

Ransomware

Ransomware adalah jenis malware (software jahat) yang memaksa Anda mengirimkan uang ke pembuatnya melalui berbagai cara. Cara yang saat ini paling banyak dipakai adalah mengenkripsi file Anda, lalu jika Anda mengirim uang tebusan, maka Anda akan dikirimi key atau program untuk membuka file Anda. 

Jawaban singkat untuk yang kena ransomware: cobalah ke situs No More Ransom. Jika Anda beruntung, file Anda bisa kembali. Jika tidak, maka harapannya sangat kecil. Coba juga search nama ransomwarenya (jika ada nama yang unik yang muncul di layar ransom) dan coba baca apakah sudah ada yang membuat tool gratis untuk membukanya. Bagian berikut artikel ini hanya ingin menjelaskan kenapa file Anda sulit kembali.

Alternatif lain: Anda bisa membayar tebusan, tapi perlu dicatat: Andaikan Anda membayar uang tebusan, belum tentu file Anda bisa kembali. Tidak ada jaminan dari para penjahat ini bahwa file Anda masih aman. Sebagian ransomware merusak file tanpa bisa dikembalikan dengan cara apapun (membayar atau pun cara lain).

Jika Anda beruntung, kadang sebagian file bisa dikembalikan dengan program untuk melakukan undelete/data recovery. Sebagian malware membuat file baru hasil enkripsi dari file lama, lalu kemudian menghapus file lama. Kadang kala file lama (yang belum dienkrip ini) bisa dikembalikan.

Tips paling utama adalah: backuplah data Anda, sehingga jika ada ransomware maka Anda bisa memformat disk, menginstall ulang OS dan merestore backup.

Reverse Engineering

Saat ini ada ribuan varian ransomware yang mengenkripsi file Anda. Sebagian ini ada yang menginfeksi jutaan komputer, sebagian lagi menginfeksi puluhan atau ratusan komputer saja. Sebagian dari ribuan varian malware ini ada yang berhasil ditemukan kelemahannya dan berhasil dibuat program untuk mengembalikan file tanpa harus membayar ke pembuat malwarenya. 

Bagaimana kelemahan berbagai metode enkripsi di ransomware bisa ditemukan? dengan melakukan Reverse Engineering (bisa dibaca apa itu Reverse Engineering dari tanya jawab di situs ini). Tapi tidak semua enkripsi bisa dibongkar, kadang harus brute force. Dalam kasus tertentu, terkadang key masih ada di memori jika komputer belum dimatikan dan mungkin bisa diekstrak.

Reverse engineering sebuah malware (atau ransomware pada khususnya) butuh waktu lama. Setelah berhasil dibongkar pun, kelemahannya belum tentu ada.  Meminta seseorang melakukan reverse engineering ransomware secara gratis, sama seperti minta tolong ke penyelam untuk secara gratis mengambilkan makanan Anda yang terjatuh ke laut: menyelam itu butuh tenaga, waktu, oksigen, dan kemungkinan makanan Anda sudah dimakan ikan.

Jika Anda ingin belajar membongkar ransomware, maka datang ke group reverse engineering adalah langkah yang tepat. Dari mulai meminta contoh malware, belajar teknik reverse engineering dsb. Tapi jika Anda terkena malware, maka yang harus dilakukan adalah langkah yang sudah saya sebutkan di atas: mencari informasi apakah malwarenya sudah ada yang membongkar dan membuat tool dekripsinya.

Ilmu reverse engineering itu seperti ilmu researcher yang sedang meneliti penyakit tertentu, bukan berfokus pada orang yang kena penyakit tertentu. Dalam kasus orang terkena penyakit (ransomware) maka dia akan pergi ke dokter (Google, administrator sistem, teknisi), yang akan memberi obat hasil penelitian researcher. Jika ternyata penyakitnya baru (ransomware baru) maka diperlukan riset yang tidak sebentar.

Berhati-hatilah ketika Online

Ransomware bisa berjalan di komputer Anda karena beberapa hal:

  • Ada bug di sistem operasi/browser/aplikasi sehingga ketika Anda mengunjungi situs tertentu atau membuka dokumen tertentu, otomatis ransomwarenya berjalan di komputer Anda
  • Ada malware menyebar dari komputer lain di jaringan (contoh kasus Wannacry). 
  • Anda tertipu sehingga menjalankan program ransomware. Tipuan ini biasanya berupa attachment yang tampak seperti dokumen.

Beberapa hal penting yang perlu diperhatikan adalah:

  • Backup data Anda
  • Updatelah sistem operasi dan software yang Anda pakai
  • Aktifkan antivirus (sekarang sudah built in di Windows)
  • Jangan mengunjungi situs-situs yang mencurigakan
  • Jangan tergiur berbagai macam hadiah yang tidak jelas
  • Jangan menginstall software yang tidak jelas
  • Hati-hati membuka file yang diterima dari siapapun

Backup

Selain masalah ransomware, kadang saya masih menemukan post di Facebook mengenai orang yang kehilangan laptop beserta semua datanya padahal semuanya sangat penting. Misalnya ada yang kerjaan kantor dan ada juga yang berisi data skripsi bertahun-tahun. Ini sangat menggemaskan karena sekarang membackup data sudah mudah sekali dilakukan dengan berbagai layanan online seperti DropBox, Google Drive, OneDrive, dsb. Di sini saya tidak akan membicarakan backup untuk kantor/enterprise, hanya sekedar backup data pribadi.

Semua layanan drive online punya aplikasi desktop dan mobile yang bisa mengotomasi upload file hanya ketika file tersebut berubah. Jika takut dengan masalah privasi (atau takut misalnya password layanan tersebut suatu hari jebol), kita bisa mengenkripsi file itu sebelum disimpan ke direktori yang di sinkronisasi ke cloud. Aplikasi seperti Word dan Excel juga punya fitur password, jadi file bisa diproteksi ekstra sebelum diupload ke cloud.

Meski menyimpan ke cloud sangat nyaman dan mudah, saya perlu memperingatkan bahwa penyedia jasa cloud bisa menghentikan layanannya kapan saja. Saya menuliskan ini setelah membaca kasus di mana seseorang kehilangan semua datanya di blogger. Ini terjadi terutama jika Anda bandel, misalnya sharing file yang dilindungi undang-undang HAKI (buku, film, app bajakan, dsb).

Hati-hati juga jika Anda suka sharing sesuatu yang bisa dianggap hate speech. Jangan sampai karena ingin menghina pemimpin atau tokoh tertentu, membuat account Anda jadi diblokir. Setidaknya jika memang ingin melakukan itu, pisahkan dari account utama Anda.

Dropbox

We also reserve the right to suspend or end the Services at any time at our discretion and without notice.

Google Drive

Google may also stop providing Services to you, or add or create new limits to our Services at any time.

OneDrive

You or Microsoft may terminate this Agreement immediately for any reason or no reason without notice

Meskipun kasus penutupan tiba-tiba ini relatif jarang, tapi ada banyak contoh yang bisa ditemukan di Internet. Bisa saja seseorang tidak suka pada Anda lalu melaporkan account Anda, dan tergantung orang yang menerima laporan tersebut, mungkin account Anda bisa diblok atau ditutup.

Jika mungkin, backuplah di berbagai layanan sekaligus, jadi jika ada masalah di satu layanan kita bisa memakai layanan yang lain. Saya tahu ini kadang ini tidak bisa karena kendala kuota internet, tapi lakukanlah untuk file-file super penting.

Saya sendiri memakai berbagai kombinasi backup offline dan online. Untuk file-file yang ada di desktop saya memakai layanan yang sudah umum (Google Drive, OneDrive dan Dropbox) serta memakai Backblaze. Bedanya dengan yang lain: Backblaze ini unlimited dan bisa membackup semua harddisk yang ada di komputer, tidak hanya folder tertentu. Untuk hal-hal yang berhubungan dengan development, saya punya server git personal dengan backup ke Amazon S3.

Backup online juga bisa menjadi target hacker. Sudah ada kejadian username/password Dropbox yang pernah bocor. Perlu diperhatikan juga bahwa fitur cloud kadang berbahaya di tangan peretas. Contohnya adalah kisah beberapa tahun lalu ketika seorang wartawan Wired diretas dan datanya dihapus secara remote dengan fitur security Apple.

Ini membawa saya ke topik berikutnya: buatlah backup offline untuk data super penting Anda. Backup offline ini maksud saya adalah yang non-cloud jadi bisa berupa NAS di rumah, atau bahkan sekedar USB disk.

20160221_145813

Harga USB disk 8 GB (sepertinya ini paling kecil saat ini) sudah sangat murah, di sini sekitar 100 baht (40 ribu rupiah). Jika Anda tidak menyimpan file super besar (seperti film), dan sekedar menyimpan dokumen skripsi/thesis, 8 gb sudah cukup. Kalau menurut Microsoft 5 GB saja sudah banyak:

OneDrive free with 5 GB: enough space for approximately 6,600 Office documents or 1,600 photos

Bahkan handphone yang Anda pegang juga bisa menjadi sarana backup. Jika tidak punya media backup lain, setidaknya copy lah file terpenting ke handphone. Jika filenya sangat penting (misalnya berisi password) maka file itu sebaiknya dienkrip (bahkan ponsel Android dan iOS sekarang sudah memiliki fitur enkripsi built in, jadi datanya cukup aman).

Tentunya jangan tempelkan terus USB-nya ke laptop Anda. Bagaimana jika laptopnya dicuri? hilang juga data backupnya. Backup sebaiknya berada di tempat terpisah (off site). Contoh kejadian yang mungkin terjadi adalah: kebakaran atau bencana lain. Seperti pernah diberitakan: seorang penulis nekat menerjang api untuk menyelamatkan laptopnya yang berisi novel yang ditulisnya.

Jangan lupa sesekali mengetes backup Anda, periksalah bahwa filenya bisa dibuka dan isinya benar, lengkap dan merupakan yang terbaru. Kalau tidak ingat untuk membackup setiap hari, dan bingung menggunakan software backup otomatis, minimal buatlah reminder di kalendar Anda tiap bulan. Andaikan ada masalah, setidaknya Anda nggak perlu mengulangi kerjaan skripsi dua tahun, tapi maksimum hanya sebulan terakhir.

Sebagai pembanding: jaman dulu backup data tidak mudah. Backup bisa dilakukan dengan floppy disk, tapi reliabilitasnya cukup rendah (atau yang cukup punya uang bisa memakai ZIP Drive). Layanan backup online juga belum seperti sekarang ini (teringat kisah pernah ada yang nekat nitip data di FTP kampus, tapi kemudian servernya diformat ulang jadi datanya hilang).

IMG_1190_d57bcd54aaab4b36e7fc2d722996a24a

Jika semua kemudahan sudah ada, tapi Anda tidak menggunakannya karena malas, maka jangan salahkan siapa-siapa selain Anda sendiri.

Topik Skripsi Jurusan Informatika

Saya masih sering dimintai konsultasi untuk  skripsi mahasiswa. Saya dengan senang hati akan membantu berbagai pertanyaan konkrit yang diajukan, tapi ada satu hal yang tidak akan saya berikan jawabannya: pak bisa minta topik skripsi?

Saya sendiri sudah lama tidak di dunia kampus. Berbagai pertanyaan ini sebagian dari orang yang dikenal di Internet, sebagian lagi karena dirujuk oleh para dosen saya dulu di ITB, teman-teman yang sekarang jadi dosen di berbagai universitas, dan juga adik saya yang juga dosen.

Saya tidak akan menjelaskan panjang lebar apa itu skripsi, kenapa harus menulis skripsi, dsb karena semua bisa dicari di Internet dan bisa ditanyakan ke dosen masing-masing. Saya hanya ingin meminta supaya yang bertanya merenungkan sedikit mengenai ini: Anda kuliah beberapa tahun di universitas tujuannya apa? apakah Anda sudah mengerti ilmu yang diajarkan, atau berharap nanti secara ajaib tiba-tiba menguasai ilmu ketika sudah bekerja?

Inilah kesempatan Anda untuk mengeksplorasi satu topik secara mendalam dengan waktu yang cukup lama tidak seperti tugas kuliah yang sebentar saja. Anda dibolehkan memilih topik sendiri, tidak dipaksa seperti pada tugas kuliah.  Bagi sebagian orang, bahkan ini yang menjadi titik awal mereka mendalami bidang tertentu.

Menurut saya dunia Informatika/Komputer itu sangat luas dan fleksibel dan mudah dihubungkan ke dunia apa saja. Suka bercocok tanam? bisa dibuat sistem terkomputerisasi, dari mulai otomatis menyiram tanaman sampai sistem informasi untuk mempermudah penjualan hasil bumi. 

Suka game tertentu? bisa dieksplorasi apakah bisa dimenangkan menggunakan Machine Learning/AI. Jika lebih suka topik yang berhubungan dengan grafik/game mungkin bisa membuat game engine sejenis. Suka main game multiplayer dan sering dicurangi? mungkin bisa membahas masalah security multiplayer online game.

Sesekali jalan-jalan ke perpustakaan (foto lama perpustakaan ITB)

Berbagai skripsi lama yang di perpustakaan kampus juga bisa dilihat dan bisa direnungkan: apakah topik ini jadi menarik atau lebih berguna jika dibuat versi mobilenya? apakah lebih akurat jika menggunakan Machine Learning? (bahkan topik ML ini ada banyak pendekatan untuk satu masalah). Bahkan topik dari jurusan lain juga bisa dilihat, misalnya identifikasi penyakit pada tanaman: apakah bisa menggunakan machine learning? apakah bisa dibuat versi mobile yang akurat supaya bisa langsung dipakai di lapangan?

Topik skripsi juga tidak harus selalu lebih rumit dari yang sudah pernah ada.  Beberapa topik bisa dibuat versi sederhananya misalnya dengan tujuan agar bisa dijadikan alat bantu pengajaran, atau disederhanakan supaya bisa berjalan di sistem dengan spesifikasi lebih rendah (misalnya embedded system).

Untuk skripsi S1, riset yang perlu dilakukan tidak harus original (untuk level S2/S3 perlu lebih original), artinya boleh saja topiknya serupa dengan yang sudah ada dengan pendekatan/implementasi yang sedikit berbeda. Tapi tentunya tetap tidak boleh menyalin/plagiat. Ada banyak algoritma dan juga teknologi (mulai dari, bahasa pemrograman, sistem operasi, dan hardware yang berbeda) yang bisa membedakan dari skripsi lain yang sudah ada.

Saran saya jika sekarang masih jauh dari skripsi: coba carilah topik yang menarik bagi Anda dan banyaklah membaca berita terbaru untuk mencari inspirasi. Silakan bertanya pada dosen di kampus jika memang dosen tersebut bisa membimbing Anda. Ada beberapa dosen yang memiliki proyek dan memang butuh seseorang mengeksplorasi satu topik tertentu dari riset/proyek dosen tersebut. Tapi perlu diperhatikan bahwa saya pernah menemui adanya dosen yang membuat daftar topik skripsi yang ngawur atau terlalu mengada-ada (mungkin karena terlalu banyak mahasiswa bertanya, jadi dia mengarang saja semuanya).

Semoga tulisan ini cukup memberikan inspirasi supaya Anda tidak bingung lagi mencari topik skripsi. Semoga Anda bisa belajar mengambil keputusan sendiri (topik skripsi), dan bertanggung jawab menyelesaikan keputusan yang Anda ambil itu. Ini (biasanya) adalah tugas terakhir Anda di kampus yang menjadi persiapan sebelum Anda pergi ke dunia kerja (atau jenjang pendidikan yang lebih tinggi).

Seri Game Professor Layton

Di posting ini saya ingin memperkenalkan seri game Professor Layton yang menurut saya sangat bagus untuk mengajarkan computational thinking. Seri game ini yang awalnya dirilis untuk Nintendo DS ini diinspirasi oleh seri buku puzzle karangan Professor Akira Tago (seri buku karangannya terjual jutaan copy di Jepang sejak 1966). Ada beberapa seri game ini, semuanya adalah puzzle petualangan. Kita bertualang sambil menyelesaikan berbagai puzzle yang ditemui sepanjang perjalanan.

Jenis Puzzle

Sebelum membahas lebih lanjut mengenai gamenya, seperti apa sih isi puzzle di game ini? Ada lebih dari 100 puzzle di setiap game, dan semuanya sangat bervariasi. Sebagian puzzle dikaitkan dengan cerita yang berjalan, sebagian lagi muncul sebagai “hidden puzzle”, dan sebagian lagi muncul karena mereka teringat sesuatu “melihat benda itu mengingatkanku pada puzzle berikut ini”.

Beberapa puzzle adalah puzzle klasik yang mungkin sudah diketahui banyak orang, tapi sedikit lebih menarik karena interaktif, misalnya bagaimana cara menyebrangkan berbagai binatang dengan konstrain tertentu

Puzzle lain memerlukan perhitungan matematika sederhana, seperti soal cerita di pelajaran matematika.

Bahkan ada Puzzle Knight’s Tour yang merupakan persoalan matematika yang menjadi latihan untuk implementasi algoritma. Tapi pembuatnya berbaik hati, tidak memakai ukuran board catur yang lengkap 8×8 (ada 3 puzzle sejenis ini, dimulai dari board 3×4, lalu 5×5, dan terakhir 6×6). 

Ada berbagai puzzle logika sejenis ini 

Ada juga yang sekedar menyusun potongan jigsaw puzzle

Dan masih banyak lagi, beberapa jenis yang lain misalnya:

Sebagian puzzle sifatnya pilihan ganda sehingga bisa ditebak (walau jumah rewardnya akan dikurangi jika tidak langsung menjawab benar). Sebagian lagi berupa input numerik yang lebih sulit ditebak, dan sebagian lain harus benar-benar dikerjakan.

Perhatikan bahwa ada tombol “Hints” di setiap puzzle jadi jika sudah frustrasi atau bingung, kita bisa meminta petunjuk. Kita akan menghabiskan 1 koin untuk tiap hint (koin ini bisa didapatkan secara gratis dalam game). Dan tentunya jika benar-benar stuck, kita bisa mencari jawabannya di Internet.

Tidak semua puzzle harus diselesaikan untuk bisa meneruskan cerita (jadi tidak perlu frustrasi karena tidak bisa menyelesaikan beberapa puzzle), tapi ada jumlah minimum yang perlu diselesaikan untuk melewati tempat tertentu. 

Puzzlenya juga bukan bersifat action, jadi tidak butuh ketangkasan menekan tombol atau berusaha menyelesaikan puzzle sebelum batas waktu tertentu.

Computational Thinking

Sebenarnya seri Professor Layton ini sudah agak lama (versi pertama bahasa Inggris tahun 2008), dan saya sempat berhenti bermain. Alasan kenapa baru posting sekarang, karena belum lama ini Jonathan melihat game yang saya mainkan terakhir di Nintendo DSi dan menyelesaikan Professor Layton and the Specter’s Call. Jonathan meminta saya meneruskan lagi main game ini, sementara Jonathan memainkan seri sebelumnya (Professor Layton and The Lost Future). Sekarang ini Risna juga sedang mulai memainkan game pertama, jadi game ini cocok untuk keluarga.

Ketika melihat puzzle-puzzlenya, ini mengingatkan saya pada berbagai soal latihan computational thinking yang saya lihat di website Bebras. Jadi mungkin game ini bisa berguna untuk memperkenalkan computation thinking. Meskipun game ini sangat terkenal (sampai 2018 terjual 17 juta unit), tapi tidak semua orang mengenal game ini.

Dibandingkan belajar aplikasi Coding, menurut saya puzzle-puzzle yang ada lebih fun. Dan jika ingin dihubungkan ke coding juga bisa. Saya sendiri menganggap beberapa puzzle sebagai tantangan coding dan saya menulis program kecil untuk menyelesaikan puzzle tertentu.

Seperti saya jelaskan di atas, kadang puzzle bisa ditebak tanpa berpikir (untuk kasus pilihan ganda) dan ini kurang bagus. Supaya optimal, anak perlu ditemani dan ditanya bagaimana dia menyelesaikan puzzle tersebut, bagaimana logikanya sampai ke kesimpulan jawaban tertentu.

Game ini tidak perlu waktu lama setiap kali main. Kita bisa menyelesaikan 1-2 puzzle, menyimpan game, dan diteruskan lagi di waktu lain. Jadi seorang anak bisa dicegah dari kecanduan karena bisa diminta berhenti kapanpun.  Gamenya terdiri dari beberapa chapter cerita, dan hanya ketika ada video maka kita tidak bisa menyimpan gamenya (setiap videonya kurang dari 5 menit, dan total seluruh videonya hanya beberapa puluh menit).

Memainkan game

Seri utama game ini dirancang dan diterbitkan kali pertama untuk Nintendo DS (4 game) dan 3DS (saat ini 2 game), tapi saat ini ada beberapa seri Professor Layton yang tersedia juga untuk Android dan iOS. Karena memang dari awal dirancang untuk Nintendo DS, menurut saya game ini lebih nyaman dimainkan di Nintendo DS/3DS. Selain seri utama, ada beberapa spin-off game Layton. Menurut saya sebaiknya mulai dari versi asli pertama jika ingin menikmati kontinuitas ceritanya.

Selain memainkan di hardware Nintendo DS, kita juga bisa memakai emulator di PC (DesMume/NO$GBA), atau di ponsel (Drastic, NDS Emulator, dsb) atau memainkan versi porting di iOS. Saat ini baru game pertama yang dirilis untuk iOS, dan komentarnya adalah: kurang enak dimainkan tanpa stylus di iPhone (sebaiknya dimainkan di iPad).

Saat ini Nintendo merilis beberapa handheld console yang bisa memainkan game Nintendo DS: Nintendo DS Lite, Nintendo DSi, Nintendo 3DS, dan Nintendo 2DS. Masing-masing ada ukuran XL untuk yang ingin memakai layar lebih besar. Secara umum ada 2 jenis game: untuk DS (bisa dimainkan di semua console) dan untuk 3DS (bisa dimainkan di Nintendo 3DS atau 2DS).

Agar legal saya menyarankan untuk membeli game bekas (misalnya dari eBay), jika Anda bisa bahasa Jepang, maka versi Jepang biasanya lebih murah. Jika belum punya Nintendo DS, harga sebuah Console Nintendo DS bekas saat ini sekitar 10-20 USD saja, dan game-gamenya bekasnya bisa dibeli sekitar 10 usd per game (game kurang populer lebih murah dan yang populer lebih mahal dari itu).

Saya tidak menyarankan pembajakan, tapi sekedar memberi informasi saja: semua game di Nintendo DS mudah dicari bajakannya dan bisa dimainkan langsung di hardware dengan flash cart yang harganya murah.  Bahkan untuk Nintendo DSi tidak butuh flash cart, cukup modifikasi firmware. Saya sendiri memakai flashcart untuk membuat aplikasi homebrew sendiri.

Game Nintendo DS sifatnya region free, semua catridge dari semua wilayah bisa dipakai di console manapun. Tapi perlu diperhatikan bahwa Game Nintendo 3DS tidak region free, jadi ketika ingin membeli game khusus 3DS, pastikan regionnya sama dengan region console yang Anda beli.

Jika masih bingung dengan semua penjelasan itu, silakan ditanyakan ke temannya yang gamer dan suka produk Nintendo.

Saat ini saya baru menyelesaikan 3 game dalam seri utama Professor Layton. Berikut ini serinya (angka dalam kurung adalah tahun rilis versi bahasa Inggris): Professor Layton and the Curious Village (2008), Professor Layton and Pandora’s Box (2009), dan Professor Layton and the Lost Future (2010). Game yang sedang saya selesaikan adalah Professor Layton and the Spectre’s Call (2011). Rencana berikutnya saya akan membeli dan memainkan Professor Layton versi 3DS (Professor Layton and the Miracle Mask).