Merakit Kode Besar

Sudah lama saya tidak merakit (compile) kode yang cukup besar sehingga menghabiskan waktu yang cukup lama. Kemarin saya merakit kode Tensorflow dari source code karena paket yang sudah jadi tidak sempurna jalannya di notebook saya. Terpaksa harus merakit ulang.

Eh, ternyata proses kompilasi membutuhkan waktu yang lama. Setelah 3 jam tidak kunjung berhenti, akhirnya saya tinggal main futsal dahulu. Pulang main futsal baru selesai. Saya tidak tahu tepatnya kapan selesainya, tetapi berarti antara 3 sampai dengan 6 jam. Ajegilebusyet.

Terakhir saya melakukan proses kompilasi yang lama (seingat saya) adalah di awal tahun 90-an. Waktu itu saya merakit kernel Linux dari source code di komputer dengan prosesor 386SX berkecepatan 16 MHz. Memorinya waktu itu di bawa 2 MBytes. Jadul banget ya? Dibandingkan handphone saat ini, komputer saya waktu itu tidak ada apa-apanya.

Proses kompilasi kemarin dilakukan di notebook yang menggunakan prosesor i3 dengan memori hanya 2 GBytes. Notebooknya sampai tidak responsif saking kerja kerasnya dia. ha ha ha. Kasihan juga sih, tapi apa boleh buat. Itu yang saya miliki. Tidak boleh mengeluh. (Anak muda zaman now maunya harus menggunakan komputer yang high-end. Gak mau kerja kalau tidak menggunakan komputer yang bagus. hi3. Ini saya contohkan bahwa sayapun masih menggunakan komputer apa adanya.)

Alhamdulillah hasil perakitan berjalan. Coba kalau tidak jalan. Wah. Harus merakit jam-jaman lagi. Ugh. (Dahulu kalau salah konfigurasi, hasil perakitan kernel tidak jalan. Harus merakit ulang. Dapat dibayangkan kesabaran yang harus saya lalui.)

Selamat ngoprek.

Iklan

Verifikasi NIK dan KK

Mumpung sedang ramai-ramainya dibahas tentang pendaftaran ulang nomor kartu telepon prabayar, mari kita diskusikan aspek teknis. Kesempatan untuk belajar “protokol”.

Ceritanya kita sebagai pengguna diminta untuk mengirimkan NIK dan KK melalui SMS ke 4444. Saya punya masalah dengan mengirimkan KK. Mengapa harus mengirimkan KK? Permasalahannya adalah operator jadi memiliki KK kita. Untuk apa? Seharusnya kita berikan informasi secukupnya saja. Sesedikit mungkin. Ini masalah privasi. Pertanyaannya adalah bagaimana cara operator dapat memastikan bahwa NIK yang kita kirimkan itu benar (terasosiasi dengan KK)?

Berikut ini adalah video yang saya buat (beberapa menit yang lalu). Sekalian nyoba nge-vlog agar kekinian. hi hi hi.

Selamat menikmati videonya. Semoga bisa menjadi sumber pembelajaran.

Update: Ini ada cuplikan dari berita. Di gerai bisa akses KK; diberikan data NIK, keluar KK-nya. Parah. Ini seharusnya tidak boleh karena data KK kemudian dapat dikumpulkan.

NIK KK

Update lagi: berikut ini adalah tampilan layar papan tulis (whiteboard) ketika saya mengajar network security di kelas.

P_20171108_084040 NIK KK//embedr.flickr.com/assets/client-code.js

P_20171108_090635 NIK KK//embedr.flickr.com/assets/client-code.js

P_20171108_092802 NIK KK//embedr.flickr.com/assets/client-code.js

Mengirim Pesan Tengah Malam

“Apakah baik mengirimkan pesan (text, SMS, WA, Telegram) tengah malam?”

Ini adalah pertanyaan yang akan saya berikan pada kuliah Pengantar Teknologi Informasi. Pertanyaan ini muncul untuk melihat bagaimana orang merespon terhadap pemanfaatan handphone.

Apakah Anda mematikan atau mengecilkan volume handphone Anda pada malam hari? Bukankah salah satu manfaat adanya handphone adalah untuk keadaan darurat, yang mana pagi atau siang bukan masalah. Kalau malam hari handphone dimatikan, maka jika ada kondisi darurat tidak dapat ditelepon.

Sering saya baru teringat untuk membalas sebuah pesan di malam hari. Tengah malam, tepatnya. Wah, kalau saya balas sekarang dan sang pemilik handphone tidak mengecilkan volume handphonenya nanti “tang ting tung” suara pesan masuk ke handphonenya. Bagusan pagi hari saja dibalas pesannya ya?

Permasalahan Satelit dan Layanan Perbankan

Beberapa hari yang lalu (tepatnya tanggal 25 Agustus 2017), satelit Telkom 1 mengalami masalah. Akibatnya banyak layanan perbankan, terutama terkait dengan mesin ATM, ikut terhenti. Ribuan mesin ATM dari berbagai bank tidak dapat terhubung ke kantor pusat bank sehingga tidak dapat memberikan layanan.

Sebelum timbul kekisruhan lebih lanjut, saya ingin mengatakan bahwa ini adalah masalah – masalah besar bahkan – tetapi bukan sebuah show stopper yang menghentikan semua layanan perbankan. Layanan perbankan bermuara pada sistem core banking mereka. Layanan ini dapat diakses melalui berbagai cara (delivery channel), yang mana ATM merupakan salah satunya. Mari kita daftar cara mendapatkan layanan perbankan.

  1. Langsung ke kantor cabang bank secara fisik;
  2. menggunakan layanan ATM;
  3. menggunakan layanan phone banking;
  4. menggunakan layanan internet banking;
  5. menggunakan layanan SMS dan mobile banking.

Dari daftar di atas dapat dilihat bahwa ATM hanyalah salah satu cara untuk mengakses layanan perbankan. Keresahan yang terjadi mengkonfirmasi bahwa layanan ATM merupakan layanan yang paling populer. Namun saya menduga ke depannya layanan internet banking dan mobile banking akan lebih mendominasi di era belanja online. Coba saja kita belanja online, maka akan sangat lebih nyaman menggunakan internet banking atau mobile banking dibandingkan harus pergi ke mesin ATM dan melakukan pembayaran di sana.

Tulisan ini tidak bermaksud untuk melupakan masalah yang ditimbulkan oleh berhentinya layanan satelit Telkom 1, tetapi untuk mengatakan bahwa kita tidak usah panik. Pihak perbankan dan penyedia jasa telekomunikasi memang harus menyiapkan business recovery plan (business continuity plan) ketika terjadi masalah. Ini pun harus diuji secara berkala. Mudah-mudahan ke depannya lebih baik.

Beberapa bahan bacaan

  1. Kronologi Anomali Satelit Telkom 1
  2. Masa hidup satelit Telkom 1 sudah berakhir
  3. Telkom sewa satelit untuk migrasi pelanggan
  4. ExoAnalytic video shows Telkom-1 satellite erupting debris

Potensi Aplikasi Mobile di Indonesia

Banyaknya pengguna handphone di Indonesia merupakan kesempatan untuk mengembangkan aplikasi-aplikasi mobile. Namun jika kita lihat, kesempatan ini belum dimanfaatkan oleh pengembang aplikasi mobile di Indonesia. Coba kita lihat daftar aplikasi yang paling populer.

  1. Daftar aplikasi terpopuler di Indonesia dari Google Playstore
  2. Daftar aplikasi terpopuler di Indonesia dari Apple Store

Dari daftar tersebut dapat kita lihat bahwa aplikasi mobile yang populer kebanyakan (hampir semua malahan) tidak dikembangkan oleh pengembang dari Indonesia. Walah.

Jika kita teliti lebih lanjut, aplikasi-aplikasi yang populer dari pengembang Indonesia biasanya terkait dengan bisnis pemilik aplikasi tersebut. Sebagai contoh, aplikasi Tokopedia merupakan pendukung dari market place Tokopedia. Demikian pula dengan Bukalapak, Go-jek, MyTelkomsel, dan seterusnya. Tidak ada aplikasi yang berdiri sendiri sebagai aplikasi.

Hal yang menarik lainnya adalah pasar aplikasi mobile di luar negeri didominasi oleh Games. Di Indonesia, meskipun sudah banyak yang berusaha, pasar ini malah belum barhasil dikuasai.

Hasil berbincang-bincang dengan berbagai pengembang aplikasi mobile, kebanyakan mereka mengembangkan aplikasi sesuai dengan kebutuhan klien. Misal ada klien yang berupa sebuah perusahaan yang minta dibuatkan aplikasi, maka aplikasinya ya memang khas untuk perusahaan tersebut, bukan untuk umum.

Jadi bagaimana masa depan pengembang aplikasi mobile di Indonesia?

Koding Atau Buat Dokumentasi

Sekian lama saya tidak ngeblog itu ada alasannya. Saya lagi (kebanyakan) koding. Membuat kode program untuk berbagai hal, terutama untuk aplikasi Internet of Things (IoT). Tentu saja ada kegiatan-kegiatan lain yang harus saya lakukan (dan bahkan mungkin juga yang lebih dominan), tetapi kali ini saya ingin menyoroti masalah koding.

Salah satu masalah yang sering dikeluhkan terhadap para koder (programmer) adalah kuranganya dokumentasi dari kode yang mereka buat. Ini betul. Sebagai seorang koder, saya juga sering mengalami dilema. Di satu sisi saya ingin membuat dokumentasi, tetapi di sisi lain saya masih harus meneruskan kodingan. Kalau tadi beres satu bagian, maka masih ada bagian lain yang harus dikodekan. Belum lagi kode bagian sebelumnya juga masih harus dimodifikasi. Akibatnya, waktu malah digunakan untuk membuat kode baru dibandingkan dengan membuat dokumentasi.

Yang menjadi masalah adalah banyak hal yang harus didokumentasikan. Design decisions, misalnya. Mengapa saya melakukannya seperti itu di sebuah kode? Ada alasannya. Kalau tidak didokumentasikan, maka koder selanjutnya akan kesulitan untuk memahami kode yang sudah saya buat. Jangankan koder lain, saya sendiripun kalau sudah lewat sekian bulan maka sudah lupa dengan kode-kode yang saya buat sebelumnya.

Singkatnya mengabaikan dokumentasi itu buruk! Iya semua orang tahu, tetapi tetap saja dilakukan. Sayapun tetap melakukannya. Nah, sebetulnya waktu yang saya gunakan untuk ngeblog ini dapat digunakan untuk membuat dokumentasi. Ini malah ngeblog. ha ha ha. Tapi kalau saya tidak memaksakan ngeblog, pasti ada saja yang lebih “penting”(?). Akibatnya ya blognya jadi kosong.

Dokumentasi harus menunggu. Ngeblog dahulu. Wah.

Tentang Pemblokiran Telegram

Beberapa hari yang lalu dunia siber Indonesia dihebohkan oleh keputusan pemerintah Indonesia (dalam hal ini Kominfo) yang memblokir layanan telegram. (Yang diblokir adalah layanan via web dulu, kemudian akan diblokir yang aplikasi mobile-nya.) Pengelola telegram dianggap tidak kooperatif dalam memblokir layanan telegram untuk group-group yang terkait dengan terorisme.

Saya termasuk yang tidak setuju dengan keputusan pemerintah ini. Menurut saya cara ini tidak efektif. Ada beberapa hal yang perlu diperhatikan.

Pertama, telegram bukan satu-satunya media komunikasi yang digunakan oleh teroris. WhatsApp dan aplikasi lain juga digunakan. Mengapa hanya telegram yang diblokir? Fitur yang ada di WA pun sama dengan yang ada di telegram. (Dahulu memang WA tidak memiliki fitur enkripsi sehingga mudah disadap, sekarang dia memiliki fitur itu.)

Kedua, keputusan pemerintah ini malah menunjukkan bahwa pemerintah tidak mampu melakukan (counter-)intelligence terhadap pengguna telegram. Ini makin menunjukkan bahwa telegram merupakan platform yang bagus untuk digunakan karena tidak bisa diatasi oleh pemerintah Indonesia. Wah.

Ketiga, banyak orang (perusahaan, organisasi, individu) yang mengembangkan aplikasi di atas telegram ini. Aplikasi tersebut berbentuk “bot” (robot, chat-bot) yang dapat diprogram sesuai dengan perintah (teks) yang diberikan oleh pengguna. (Machine learning / artificial intelligence) Contohnya antara lain, early warning system, help desk, payment chatbot, dan seterusnya. Inovasi-inovasi ini terbunuh begitu saja. Telegram sekarang dapat dianggap sebagai “infrastruktur” seperti halnya YouTube.

my students_0001
sebagian dari topik penelitian mahasiswa saya. yang paling bawah tentang enkripsi yang digunakan oleh berbagai aplikasi chat

Terakhir, kalau sedikit-sedikit blokir – trigger friendly – maka ada kekhawatiran akan apa saja yang akan dilakukan di kemudian hari. Ketidak pastian. Ini buruk bagi bisnis (dan penelitian).