Meninggalkan Flickr

Sebenarnya dari sekitar 5 tahun yang lalu kami sudah tidak mengupload lagi foto ke Flickr, tapi ada banyak foto di blog ini yang melink ke Flickr. Waktu itu kami masih berlangganan Flickr Pro (25 USD/tahun). Flickr kemudian menggratiskan foto sampai 1TB, dan kemudian merugi jadi akhirnya dijual ke perusahaan lain.

Sekarang jumlah foto pengguna gratis dibatasi (1000 foto saja) dan Flickr Pro sekarang 60 USD/tahun (jika dibayar per tahun, atau 6.99 jika dibayar bulanan). Jika kami beralih ke free, maka kami hanya bisa menyisakan 1000 foto (dan otomatis foto terlama yang dihapus), tapi rasanya kurang berguna juga langganan pro. Mereka memberi kesempatan untuk mendownload semua foto, tapi mensortir lagi semua foto tersebut akan butuh waktu. Jadi sekarang saya putuskan:

  • Langganan dulu pro selama beberapa bulan
  • Semua foto yang dilink dari semua blog kami akan didownload dan diupload kembali ke blog
  • Semua album yang banyak isinya diupload ulang ke Google Photos
  • Setelah selesai, hentikan langganan Flickr Pro

Hari ini sudah beres membersihkan blog ini dari link Flickr. Ketika bersih-bersih saya menemukan juga beberapa foto link eksternal (multiply dan beberapa layanan lain) yang sudah tutup jadi tidak bisa diakses lagi. Sepertinya cara yang paling aman melink sekarang ini:

  • Upload ulang fotonya di blog ini
  • Link ke sumber original

Jadi andaikan sumber aslinya sudah hilang pun, tetap ada arsipnya. Sebenarnya ini tidak penting bagi pengguna blog, karena jarang ada yang membaca posting lama, tapi ini penting bagi kami yang ingin punya arsip digital hidup ini.

Nama orang Indonesia

Sudah beberapa kali muncul di media massa dan juga media sosial mengenai berbagai nama unik yang ada di Indonesia (misalnya: TUHAN, SETAN, dsb). Saya penasaran dengan berbagai nama yang lain, dan ternyata KPU pernah mengupload data semua orang di Indonesia yang memiliki hak pilih. Sayangnya saya terlambat mendownload data karena pilkada DKI sudah lewat, jadi datanya hanya yang non DKI saja.

Sekarang saya buatkan situs ini untuk eksplorasi berbagai nama yang ada di Indonesia. Kita bisa mencari nama yang diawali, diakhiri, mengandung, atau tepat sama dengan kata tertentu. Kita juga bisa melihat berapa banyak total nama yang ditemukan.

https://nama.em.sg

Nama yang di website KPU tidak bersih, misalnya ada karakter “/”, “.” dsb. Untuk memudahkan: saya hapus semua selain A-Z dan spasi. Setelah data dibersihkan ada sekitar 45 juta nama unik yang berhasil saya kumpulkan. Total datanya: 774 Mb.

Ada banyak hal iseng yang bisa dilakukan, misalnya mencari tahu berapa yang nama depannya ASEP (karena ada Paguyuban Asep Dunia). Hasil pencarian bisa dishare langsung URL-nya.

Internet Cepat Untuk Programmer

Satu hal yang sangat membuang waktu sebagai programmer adalah: mengupdate software untuk development. Untuk programmer, biasanya ini berkaitan dengan SDK dan IDE yang baru. Biasa kita punya dua pilihan: mengupdate sekarang atau nanti.

Mengupdate sekarang berarti membuang waktu sekarang, dan artinya bisa menunda pekerjaan. Sementara menunda update juga kadang menimbulkan masalah: beberapa hal tidak berjalan lancar, dan kadang jika kita melompati update terlalu banyak, tiba-tiba jumlah masalah jadi meningkat atau bahkan project tidak lagi bisa berjalan.

Kebanyakan IDE hanya akan update jika kita buka. Ini sering mengesalkan buat saya: saya tidak sering memprogram satu topik untuk waktu yang cukup lama. Ketika ingin mulai membuat program: harus update dulu. Kadang hal seperti ini menghilangkan mood untuk membuat program kecil.

“Hanya” 422 Mb

Jika ingat, saya akan menjalankan IDE yang saya pakai hanya sekedar untuk mengupdate saja. Nanti kalau saya benar-benar butuh, setidaknya jumlah updatenya tidak terlalu banyak.

Ditambah lagi dengan 770 Mb

Salah satu alasan saya masih memakai Emacs dan mengcompile di command line (dengan CMake, Gradle, dsb) adalah: saya punya kontrol terhadap proses tersebut. Jika karena update IDE atau project jadi error, saya tetap bisa meneruskan kerja dengan editor dan compile dengan command line.

Ini bakal butuh waktu lama: 5.95 GB

Saya cukup suka dengan IntelliJ, ada ToolBox di toolbar yang memungkinkan kita mengupdate aplikasi cukup dengan satu klik saja. Andaikan ada yang membuatkan ini untuk semua IDE, maka hidup ini akan jauh lebih enak.

Saya beruntung Internet di sini cepat dan murah (saya ambil paket 1200 THB, 500Mbps/500Mbps). Sebelum pulang liburan ke Indonesia, saya mengupdate dulu semua software yang saya pakai, dan ketika di sana tidak mengupdate sama sekali. Saya tidak bisa membayangkan mereka yang harus mendownload bergiga-giga dengan Internet yang lambat.

Saya pake paket yang kanan

Windows Subsystem for Linux

Salah satu alasan saya dulu menyukai OS X adalah: ada terminal di mana kita bisa menjalankan berbagai utility command line yang sudah saya kenal bertahun-tahun. Sementara dulu di Windows kita perlu menginstall Cygwin atau MSys agar bisa memakai shell, dan perintah yang adapun sangat terbatas.

Tapi sejak beberapa tahun lalu Microsoft mendukung Windows Subsystem for Linux (WSL) atau kadang dikenal sebagai: bash on Windows. Begitu diumumkan, saya langsung mendaftar agar bisa langsung mencoba fiturnya. Awalnya saya tidak berharap banyak, tapi ternyata implementasinya memang bagus, dan ini sudah jadi sesuatu yang saya pakai setiap hari.

Teknologi yang dipakai WSL adalah menjalankan langsung syscall Linux di Windows. Jadi kita tidak perlu mengkompilasi ulang program kita di Linux, bisa langsung dicopy dan akan jalan di Windows. Tentunya ini hanya bisa jika semua library/dependency dicopy juga ke Windows. Microsoft hanya mendukung WSL ini di sistem 64 bit. Tidak 100% program Linux bisa jalan (apalagi jika mengakses hardware), tapi lebih dari 90% aplikasi yang saya butuhkan bisa jalan di WSL.

Setiap kali butuh perintah yang biasanya hanya ada di Linux (misalnya find), saya langsung mengetik “bash” untuk masuk ke shell bash di direktori saat ini, lalu menjalankan perintahnya. Microsoft tidak menyediakan XServer, tapi kita bisa memakai VcXsrv untuk menjalankan aplikasi X.

Gabungan berbagai program GUI Windows dan keampuhan command line Linux membuat saya jadi betah memakai Windows. Dulunya saya sempat ingin mendalami PowerShell, tapi baru tahu permukaannya saja sudah merasa bahwa bahasanya agak aneh. Sekarang sejak adanya WSL ini, saya jadi lebih jarang lagi memakai powershell.

Termux Widget

Di posting ini saya hanya ingin sharing salah satu tips memakai aplikasi Termux di Android. Aplikasi Termux memungkinkan kita menjalankan sebagian aplikasi Linux di Android tanpa root. Saya sendiri punya server yang bisa diakses kapan saja, jadi jarang sekali butuh memakai ini untuk sehari-hari (cukup melakukan koneksi ke server untuk menjalankan sesuatu).

Meskipun tidak banyak saya pakai, saya punya beberapa trik yang ingin saya bagikan terutama terkait dengan Termux Widget. Dengan Widget ini kita bisa melakukan beberapa aksi dengan sekali sentuh dari launcher.

Saat ini beberapa aksi yang saya set shortcutnya:

  • restart magisk. Bagian “magisk hide” sejak Android 9 sering error dan Magisk jadi terdeteksi oleh program lain. Solusinya adalah dengan merestart HP, atau cukup merestart magisk hide
  • SSH from home dan SSH to home. Shortcut pertama untuk masuk ke server internal rumah (dari rumah) dan yang kedua untuk SSH dari luar rumah ke router
  • Start SSHD. Kadang saya ingin mengedit sesuatu di ponsel (contohnya mengedit daftar shortcut), saya bisa menjalankan ssh daemon dengan sekali sentuh
  • update notes: ini untuk mengupdate catatan yang saya simpan di repositori git
  • update wallpaper: ini menambahkan IP address di wallpaper dengan bantuan ImageMagick

Untuk membuat shortcut, kita cuma perlu membuat file skrip di dalam direktori “.shortcuts” (dot shortcuts). Skripnya terserah kita isinya apa, berikut ini contoh salah satu isi skrip saya.

Terlihat bahwa saya memakai beberapa perintah dengan awalan termux, perintah-perintah tersebut bisa diaktifkan dengan menginstall Termux API. Ada banyak hal-hal menarik yang bisa dilakukan dengan Termux API, misalnya:

  • membaca call log
  • membaca SMS log (kita bisa membuat skrip untuk memforward ke Telegram)
  • mengeset keyboard

Untuk masalah scheduling, memakai cron di termux tidak reliable, jadi saya memakai Tasker yang memanggil skrip shell. Sekarang ini saya memakai tasker yang akan mengarsipkan SMS dan mempush arsipnya ke git setiap beberapa jam.

Jika Anda adalah orang yang sering memakai Termux, maka coba pelajari Termux API dan Termux Widgets. Untuk Anda yang jarang memakai Termux tapi punya beberapa hal yang ingin diotomasi, cobalah memakai Termux dan lihat apakah bisa menyelesaikan masalah Anda.

Apache Guacamole

Apache Guacamole adalah clientless remote desktop gateway. Atau mudahnya: jika kita menginstall ini di sebuah gateway (atau di server remote), kita bisa mengakses Windows (via RDP), Linux (via VNC), atau SSH ke manapun dengan menggunakan browser saja.

Saat ini saya masih memakai Mini PC Router yang dibeli sekitar 2 tahun lalu. Mini PC ini cukup powerful untuk menjalankan berbagai aplikasi (memorinya 4 GB, dengan SSD 120 GB) termasuk juga Apache Guacamole yang memakai Java. Meskipun dalam 99% kasus saya lebih suka memakai aplikasi SSH langsung, tapi Guacamole ini sangat berguna ketika butuh akses GUI.

Dengan chrome melakukan koneksi ke rumah, lalu menjalankan Firefox

Sebelum memakai Guacamole saya memakai Team Viewer, tapi dulu sempat ada kecurigaan bug di team viewer yang memungkinkan orang masuk ke komputer kita. Selain masalah bug itu, TeamViewer juga kadang error ketika melakukan remote connection ke Linux. Solusi berikutnya yang saya coba adalah SSH + Port forwarding plus remote desktop dan VNC viewer. Hal ini cukup merepotkan, jadi jarang saya lakukan.

Sekarang dengan browser saja saya bisa melakukan koneksi ke rumah via Guacamole ke server Windows dan juga Linux. Untuk Linux saya menggunakan beberapa VNCServer (di satu server) untuk tujuan tertentu. Misalnya ada satu VNCServer untuk pentesting (yang memakai OWASP ZAProxy dengan GUI).

Saya juga memasang guacamole di server dedicated di Eropa. Kadang download sesuatu lebih cepat dilakukan dari server di Eropa. Dalam 90% kasus biasanya download bisa dilakukan di command line, tapi ada website yang melakukan banyak proteksi sehingga sulit dilakukan.

Contoh proteksi downloadnya:

  • Hanya boleh ada 1 koneksi setiap waktu
  • Harus memakai Cookie dan Cookienya terikat pada IP tertentu (jadi ketika dicopy paste ke server, jadi tidak valid)
  • Harus memakai user agent tertentu (jadi jika memakai command line, user agent harus dicopy persis)
  • Download menggunakan Javascript dan file didekrip di level Javascript

Daripada menghabiskan waktu mengakali, yang saya lakukan adalah:

  • membuka guacamole
  • memilih koneksi VNC ke server di Eropa
  • menjalankan browser di dalam koneksi VNC
  • mendownload file via browser yang berjalan di cloud
  • mentransfer file dari server ke rumah

Sepertinya langkah tersebut merepotkan, tapi dalam kasus tertentu bisa menghemat waktu sangat banyak. Kadang download yang butuh 3 jam bisa dilakukan dalam 10 atau 15 menit.

Pocophone F1

Sejak punya smartphone pertama (Nokia 3650) sekitar 2003, sudah tidak ingat lagi berapa jenis smartphone yang saya pakai. Sebagian reviewnya ditulis di blog ini tapi biasanya secara singkat saja. Supaya ingat, saya akan mencoba membahas benda-benda yang dipakai sekarang ini. Saya sudah membahas iPhone XR dan iPad di posting yang lalu, sekarang saya akan membahas Pocophone F1 (di India namanya Poco F1, untuk global namanya Pocophone F1).

Saat ini iseng memasang SD Card 32 GB

Saya masih memakai Android karena memang lebih nyaman untuk saya, plus kebanyakan pekerjaan pentesting adalah untuk Android. Saya sudah memakai Pocophone F1 ini selama beberapa bulan dan sejauh ini cukup senang. Spesifikasi Pocophone F1 ini cukup bagus, intinya mereka membuat device relatif murah dengan spesifikasi mendekati device high-end. Tabel di bawah ini (meski tidak menyertakan semua ponsel) cukup untuk membandingkan kecepatan/harga Pocophone F1 dibandingkan ponsel lain.

Perbandingkan skor Antutu sumber: http://www.china-prices.com/antutu (Maret 2019)

Saya memilih yang RAM-nya 6 GB dan storage 128 GB. Di device sebelumnya saya memilih 64 GB dan saya merasa 64 GB tidak lagi cukup. Storagenya memakai UFS 2.1 yang sangat cepat. Harga ponsel ini relatif mahal dibandingkan banyak ponsel Xiaomi lain (12000 an baht, sementara yang lain sekitar 8000 baht) tapi menurut saya ini worth the price.

Saya memakai dual sim card. SIM card pertama adalah yang saya pakai sejak kali pertama sampai Thailand (sudah terdaftar di mana-mana) dan yang kedua untuk LINE Mobile yang paket datanya cepat tapi murah. Saya tidak pernah menemui masalah signal dengan pemakaian dua SIM card ini, kecuali di daerah terpencil di mana memang tidak ada signal.

Sebagai orang yang suka ngoprek, saya senang karena ponsel Xiaomi semuanya bisa diunlock bootloadernya. Berkali-kali beredar isu bahwa mereka akan menutup fitur ini tapi sampai saat ini semuanya hanya hoax. Seperti tertulis di posting sebelumnya saya menginstall Magisk. Tiap kali upgrade software, saya uninstall Magisk, update lalu reinstall lagi Magisk. Ini memang agar merepotkan, tapi instalasinya hanya beberapa menit saja. Anggap saja seperti sesekali membersihkan meja yang berantakan yang juga butuh beberapa menit).

Sudah membuka banyak app, masih tersisa sekitar 2GB

Sejauh ini yang saya komplain dari Pocophone F1 hanya: tidak ada IR Blaster (tidak bisa jadi remote TV dan AC). Sementara fitur lainnya cukup: ada jack earphone, memakai USB-C dan bisa Quick Charging. Saat ini ponsel ini memakai Android 9.0 dengan MIUI (dan saya tidak keberatan dengan kebanyakan fitur MIUI). Memori 6GB juga cukup untuk semua yang perlu dilakukan sekaligus.

Setelah memakai berbagai ponsel Android dari yang sangat murah (yang paling murah: 400 baht) sampai cukup mahal (dulu Galaxy Note 4 baru, sekitar 30 ribu baht), saya merasa ini cukup di tengah. Ponsel yang lebih murah akan memperlama kerja dan ponsel yang terlalu mahal juga tidak terlalu berbeda dari ponsel menengah.