Tips Android: XPosed Framework dan XPrivacy

Kalau dulu saya nulis tips soal Blackberry, gantian sekarang mau menulis soal Android. Sekarang ini saya mau tulis soal aplikasi yang menarik, tapi sepertinya nggak banyak diketahui orang.

XPosed Framework adalah framework yang memungkinkan untuk membuat (dan menjalankan) aplikasi yang bisa mengintercept API Android apapun. Ada banyak modul yang memanfaatkan framework ini, salah satunya adalah XPrivacy. Dengan XPrivacy, kita bisa memblock atau menipu aplikasi Android yang meminta akses tertentu. Aplikasi ini butuh root access, jadi Android Anda perlu bisa diroot. Perhatikan bahwa aplikasi ini hanya untuk Anda yang cukup expert bermain Android.

Saya berikan beberapa contoh kemampuan modul Xprivacy ini. Ketika sebuah aplikasi atau game meminta koneksi Internet, kita bisa bilang: sedang tidak ada koneksi internet. Ketika aplikasi berusaha mengakses SD Card, aplikasi bisa ditipu dengan menyatakan bahwa SD Card tidak dimasukkan. Aplikasi ini gratis, tapi ada fitur ekstra di Versi pro, misalnya bisa merestriksi aplikasi yang membaca contact list agar bisa membaca dari account tertentu saja. Restriksi ini bisa dilakukan permanen, atau setiap 15 detik. Misalnya kita cuma perlu akses internet sekali untuk aktivasi, kita bisa ijinkan sekali saja, lalu sisanya tidak diijinkan.

Lanjutkan membaca “Tips Android: XPosed Framework dan XPrivacy”

Review beberapa ponsel

Dulu ganti handphone itu rasanya hal yang berat, ritualnya lama: nyari dulu model yang dimau setelah membandingkan spesifikasi dan harga (biasanya dulu pake tabloid pulsa), keliling-keliling BEC untuk membandingkan harga, dan setelah beli ditest dulu hardwarenya dan fitur-fiturnya. Dari sejak milih, bayar, mbaknya ngetes chargernya, lalu kami ngetes kamera, bluetooth dsb, bisa butuh beberapa jam. Setelah itu masih perlu install aneka software buat memindahkan isi phonebook dari komputer ke HP baru.

Sekarang ganti HP udah biasa banget. Biasanya beli HP dilakukan karena butuh fitur tertentu untuk development (yang menghasilkan duit lagi). Beli HP bisa dilakukan dalam waktu beberapa menit saja. Nggak perlu dicek semuanya, bahkan chargernya pun nggak (karena semua sudah microusb, dan punya banyak sekali charger MicroUSB).

Sekarang saatnya review beberapa HP yang dibeli akhir-akhir ini. Dimulai dari yang terbaru dulu: Asus FonePad 6. Ini bukan produk yang baru keluar, saya memilih ini karena (1) nggak sabar nunggu ZenFone 6 (2) harganya sama dengan Zen Fone 6 (3) Layarnya lebih bagus dari ZenFone 6 (Full HD) (4) Ada Stylusnya. Tadinya pengen ZenFone 6 karena CPU-nya Intel, belum pernah punya HP dengan CPU Intel.

Sejauh ini saya senang sekali dengan layarnya yang besar. Batere sejauh ini cukup untuk pemakaian sehari-hari. Stylusnya cukup praktis, dan enak untuk main game Nintendo DS (dengan emulator). Kameranya mengecewakan (tapi udah tau sih sebelum beli, bahkan nggak ada flashnya). Yang bikin kecewa sebagai developer: boot loadernya locked, kernel modulenya harus signed (dan swap tidak diaktifkan, untuk RAM udah 2GB), rootingnya susah (mesti downgrade dulu). Tapi meski demikian saya masih puas memakai benda ini, dengan SD Card 32 GB (10 GB saya alokasikan untuk partisi Debian).

HP Sebelumnya adalah Nokia X, ini cuma dipakai sebulan (lumayan lah sempat untuk develop sebuah proyek). Saya sudah berusaha mengoprek benda ini, mulai dari rooting, menginstall google apps, menginstall Debian, mengganti launcher, dsb. Satu kata yang merangkum semuanya: HP ini lambat. Satu-satunya aspek bagus dari HP ini adalah: signalnya bagus, baik WIFI maupun 3G-nya.

HP Sebelumnya lagi adalah Nokia Lumia 620. Hardwarenya lumayan bagus, tapi softwarenya mengecewakan. Banyak sekali hal-hal kecil yang bikin kesal. App Storenya masih sedikit, dan algoritma searchnya ngaco banget. Misalnya kita cari “Facebook”, aplikasi resminya nggak muncul di awal. Lalu kalau kita ketemu app tertentu (yang ternyata sudah kita install), maka akan muncul teks “installed”, tapi tidak ada shortcut untuk “open” aplikasi tersebut. Jadi kita perlu kembali lagi ke depan, search lagi nama aplikasi itu. Font judul aplikasi besar sekali, jadi layar tidak optimal.

Lalu berikutnya iMobile IQ9, yang merupakan HP Android lokal Thai (rebranding merk China). HP ini memuaskan, ini yang bikin saya sadar bahwa ternyata saya suka HP yang layarnya besar, sayangnya benda nggak ada slot SD Cardnya.

Bersamaan dengan itu saya memakai Dev Alpha C dengan OS BB10, tapi karena keyboardnya rusak, devicenya saya jual. Dev Alpha C ini cukup enak, cepat, kameranya bagus, keyboardnya sangat bagus. Mundur lagi, saya memakai Z10 hadiah dari BlackBerry. HP ini sangat nyaman dipakai, cepat, kameranya bagus, sayang appsnya kurang banyak, dan walaupun ngetiknya enak, lebih enak lagi pake dev alpha C.

Mundur ke 2 tahun lalu, saya memakai Blackberry Curve 8520. Handphone ini murah, keyboardnya enak, dan cukup cepat. Kameranya jelek banget. HP ini terutama saya gunakan untuk development aplikasi yang memakai BBOS 7.

Sementara Risna saat ini memakai iPhone 5S, sebelumnya sama-sama memakai Dev Alpha C dan Z10, dan sebelumnya lagi memakai Blackberry Storm.

Kayanya saya sering banget ganti-ganti HP, sampai ada yang comment kalau saya ganti HP kayak ganti tas aja.

Konfigurasi Komputer Saat Ini

Tiap beberapa waktu saya mengganti konfigurasi komputer dan atau gadget. Ini sekedar catatan aja, supaya bisa dikenang di masa depan. Ini tujuannya bukan buat pamer. Barang-barang ini dibeli dalam rentang waktu yang cukup lama sampai semua konfigurasi ini didapat.

Saya masih memakai desktop dengan prosessor dari beberapa tahun yang lalu (Quad Core AMD Phenom(tm) II X4 955 Processor), motherboard sudah diperbarui supaya mendukung SATA III (supaya optimal pemakaian SSD-nya), casing masih sama dengan tahun lalu (dan sepertinya akan tetap sama untuk beberapa tahun ke depan). Komputer ini dual boot Windows 8.1 (SSD 180  GB  HDD RAID 1 (Mirroring)  1TB) dan Linux Debian (SSD 60 GB + HDD 1 TB). Sofware Windows dan Office di dalamnya resmi beli. Dulu beli lisensi Windows 7, dan ketika Window 8 keluar, dapet diskon besar. Untuk software officenya sudah dibeli beberapa tahun lalu, jadi bukan office terbaru, masih 2010.

Data di Desktop dibackup ke komputer lain. Memori 16 GB sampai saat ini masih cukup untuk berbagai aktivitas coding, termasuk juga menjalankan lebih dari satu virtual machine. Saya sekarang masih hoby mengoprek elektronik, jadi desktop ini saya belikan extension serial port, sehingga serial port yang ada di motherboard bisa terpakai. Koneksi serial via USB juga bisa dilakukan, tapi koneksi langsung lebih stabil. Desktop ini juga saya lengkapi dengan bluetooth USB untuk development.

Karena memakai SSD, boot ke Windows maupun Linux sangat cepat. Casingnya dan liquid coolernya membuat komputernya jadi senyap. Keyboard yang dipakai adalah mechanical keyboard. Monitor yang dipakai adalah LG 23.5 inch, IPS. Sebenarnya sudah consider memakai 2 monitor, tapi saat ini rasanya satu saja cukup.

Komputer utama ini dihubungkan via kabel ke router. Routernya sudah memakai port gigabit, jadi memindahkan backup bisa dilakukan dengan cepat. Routernya masih Asus RTN16 (Sempat rusak kapasitornya, tapi berhasil diperbaiki), routernya memakai OS DebWRT (varian Debian untuk router). Header serial port di router saya hubungkan ke bluetooth serial adapter, jadi jika bermasalah bisa dicek via koneksi bluetooth baik dari handphone maupun dari desktop. Paket Internet yang digunakan diturunkan, jadi 10 Mbps (down) /1Mbps (up) saja, harganya 599 baht per bulan, plus bonus IPTV dan 3G (jaringan TOT) 1 GB/bulan.

Saya juga memiliki satu server yang selalu menyala untuk berbagai tujuan: backup (membackup mail dari cloud, membackup data dari hosting cloud), torrent, file server, proxy server. Server ini memakai Sempron 145, memori 4GB, SSD 60 GB untuk OS Debian Linux, dan RAID 1 (mirroring) 2 TB. Tadinya saya memakai server ARM untuk keperluan ini, tapi memakai Sempron semua jadi lebih cepat (misalnya waktu untuk rebuild RAID lebih  cepat) walau dayanya lebih banyak.

Untuk menonton film, ada Raspberry Pi yang dihubungkan dengan kabel ke ruang tamu. Sebenarnya bisa pakai WIFI, tapi kabel jauh lebih stabil, dan berguna juga untuk mengcopy file besar ke bawah. Raspberry Pi dihubungkan ke TV LG yang sudah memiliki fitur CEC via HDMI, jadi remote TV bisa dipakai sekaligus sebagai remote Raspberry.

Laptop yang saya pakai sekarang adalah Acer Intel Core i7 dengan memori 12 GB dan harddisk 1 TB. Laptop ini memakai touch screen. OS Utama yang saya pakai adalah Windows 8.1 (OS resmi bawaannya), tapi juga saya set dual boot ke Debian Linux. Ternyata laptop dengan touch screen itu enak juga. Windows 8.1 lebih masuk akal dipakai di device dengan touch screen.

Risna masih memakai MacMini untuk desktopnya, dan MacBook Pro untuk laptopnya. Kedua benda ini saya pinjam kalau saya sedang butuh development untuk OS X. Jonathan punya komputer desktop sendiri, komputer lama saya (Intel Core 2 Duo, Memori 4 GB). Komputernya tidak saya beri harddisk, hanya USB disk 16 GB dengan OS Linux Debian. Dia sudah bisa menyalakan sendiri, dengan dipandu perintah (klik ini, klik itu) dia bisa menjalankan Browser, memainkan beberapa game, dan juga melihat film dengan XBMC (dengan mouse). Mac Mini Risna juga sekaligus jari print server untuk Printer Laser berwarna Merk Samsung.

Supaya aman, semua komputer dilindungi UPS. Ada 2 UPS Leonics Explorer (ini bagus, bisa diganti baterenya), dan 1 UPS biasa.

Untuk masalah gadget portabel: saya memegang Dev Alpha C (BB10) dan Asus Fonepad 6 (Saya juga masih memakai Kindle Keyboard generasi lama untuk membaca buku), sementara Risna memakai iPhone 5S dan tablet Samsung Note 8 (terutama sekarang untuk mendengarkan Audiobook). Supaya tidak menggangu privasi, Jonathan diberi iPad retina dan iPod touch.

Sejauh ini saya senang sekali dengan semua konfigurasi saat ini. Semua bisa dilakukan sangat nyaman, mulai dari nonton film sampai development.

Listrik Padam

Dalam sebulan terakhir ini, Chiang Mai sering sekali mati listriknya. Ini sebenarnya sangat tidak wajar, selama 7 tahun kami di sini, mati listrik sangat jarang. Saat ini sedang musim panas di Chiang Mai, dan suhunya kadang mencapai 43 derajat celcius. Tapi kadang tiba-tiba sekarang hujan tiba-tiba turun, dan kalau sedang mulai hujan, tiba-tiba listrik padam. Kejadiannya biasanya tidak lama, cuma beberapa menit, tapi pernah juga hampir 2 jam.

Beberapa hari lalu, waktu pergi ke mall Promenada, tiba-tiba listrik padam, dan mall jadi gelap selama beberapa menit. Sepertinya mall-mall di Chiang Mai ini kurang siap dengan kejadian pemadaman listrik, mereka butuh waktu lama untuk menyalakan genset, dan ketika menyala pun, tidak semua toko mendapatkan listrik. Sudah dua kali di dua mall yang bebeda kami mengalami kejadian ini, dan kejadiannya mirip.

Ketika kemarin listrik mati, kami baru selesai belanja kado untuk anak teman kami, dan akan sekalian makan malam. Kami jadi bingung mau nunggu di mall, atau pulang. Kalau pulang: apakah listrik di rumah juga mati? Risna ingin menelpon teman kami yang di komplek yang berbeda, tapi saya bilang: kemarin di komplek kita mati, di komplek mereka idup. Terus saya bilang: bentar aku cek dulu via internet, ssh ke rumah, terus ping raspberry pi di ruang tamu. Risna langsung mengerti bahwa Raspberry Pi di ruang tamu tidak terhubung ke UPS, sedangkan modem dan router terhubung ke UPS. Ternyata listrik di rumah baik-baik saja, dan tak lama kemudian listrik kembali normal di mall itu.

Di saat itu saya merasa senang betapa istri saya dan saya saling paham dan mengerti. Saya tidak perlu menjelaskan apa itu SSH, atau bahwa router dan modem masuk UPS dan Raspberry Pi di ruang tamu tidak terhubung ke UPS, tidak perlu menjelaskan apa itu ping, dsb.

Geek banget ya ceritanya 🙂

Security CTF

Di posting ini saya hanya ingin memperkenalkan apa itu kompetisi security CTF (capture the flag). Posting ini akan membahas apa itu security CTF, apa manfaatnya ikut security CTF, seperti apa saja soal-soalnya, dan bagaimana caranya mulai ikut.

Sebenarnya selain security CTF ada berbagai CTF yang lain, tapi dalam posting ini selanjutnya saya akan menyebut CTF saja untuk security CTF. Setelah ikutan CTF-nya Noosc saya jadi lebih tertarik dengan CTF lalu gabung dengan team Rentjong (yang sejak sebelum saya bergabung sudah memiliki prestasi luar biasa). Anggota team ini kebanyakan bapak-bapak yang waktunya sedikit sekali setiap kali ada event CTF, dan melalui posting ini saya ingin memperkenalkan CTF ini ke publik, supaya suatu saat team dari Indonesia bisa masuk minimal 10 besar di https://ctftime.org/

Apa itu CTF

CTF adalah satu jenis kompetisi di bidang information security, biasanya formatnya ada tiga: jeopardy, attack-defence, dan mixed. Dalam format jeopardy, kita diminta menyelesaikan berbagai task, dan mendapatkan poin, pemenangnya adalah yang poinnya paling banyak. Dalam format attack-defence, tiap team menyerang dan mempertahankan sistem komputer yang diberikan kepada team tersebut. Format mixed artinya campuran dari kedua itu (tergantung panitianya, mungkin ada aturan khusus).

Lanjutkan membaca “Security CTF”

10 Tahun ngeblog bareng

Tanggal 7 April 2004 kami memutuskan untuk ngeblog bareng. Ini dua posting pertama kami. Sebenarnya waktu itu kami dah punya blog masing-masing (dua-duanya sudah ditutup), tapi saya mengusulkan buat ngeblog bareng aja, biar postingnya terkumpul. Mbak Risna (waktu itu manggilnya masih pake “mbak”) setuju.

Sebenarnya kalo dipikir-pikir lagi: nekat juga ya, pacaran baru beberapa bulan, dah ngeblog bareng (dan pacarannya pun backstreet, kedua orang tua kami gak tau). Waktu itu saya nggak memikirkan: andaikan putus gimana? karena dari awal kami merasa serius. Gaya pacarannya lebih banyak ngobrol, diskusi, baca buku bareng.

Saya senang kami bisa menuliskan banyak kisah hidup dan berbagai pemikiran di blog ini selama 10 tahun terakhir ini. Tidak semua kisah bisa diceritakan pada waktunya, misalnya betapa susahnya dulu propose jadi pacarnya Risna sampai dikenalkan ke dua temennya untuk blind date. Tapi secara umum blog ini menangkap momen-momen penting dalam hidup kami dari mulai pacaran, menikah, pindah ke Thailand, punya anak, dan berbagai tempat yang kami kunjungi, berbagai keisengan yang kami lakukan.

Meski kebanyakan orang (termasuk kami) sekarang aktif di social media, kami juga masih mengupdate blog ini. Blog ini dibuat sebelum Facebook terbuka untuk umum (Facebook membuka pendaftaran umum tanggal 26 September 2006), dan saya berharap akan tetap ada andaikan nanti Facebook ditinggalkan orang-orang seperti Friendster, MySpace atau Plurk yang sempat populer. Memiliki blog sendiri, dengan hosting sendiri rasanya lebih enak karena semua dikontrol oleh kami sendiri.

Dari sisi teknis: blog ini memakai wordpress dari versi 0.7 (Lihat sejarahnya WordPress di sini, ini adalah versi rilis pertama kali). Sudah sempat pindah hosting beberapa kali (semuanya dijelaskan di berbagai posting yang tersebar di sini).

Semoga dalam kebersamaan kami, kami bisa ngeblog bersama puluhan tahun lagi.

Pasangan Hidup

Mungkin cara pandang saya terlalu sederhana atau terlalu ideal dalam hal mencari pasangan hidup. Atau mungkin saya orang yang sangat beruntung menemukan pasangan hidup yang ideal. Bagi saya, pasangan hidup saya adalah semuanya: sahabat, orang yang sepadan untuk saya ajak diskusi, orang yang terdekat bagi saya, orang yang bisa saya percaya sepenuhnya, dalam hal keuangan, rahasia dan semuanya. Secara singkat: saya berbagi hidup dengan orang tersebut.

Pasangan hidup saya adalah orang yang berusaha saya kenal. Saya mendengarkan semua kisahnya, bukan cuma kisah yang baru, tapi juga kisah hidupnya sewaktu dirinya masih kecil. Saya berusaha mengenal apa warna kesukaannya, apa makanan favoritnya, ketika makan indomie, apakah suka yang lodoh atau dimasak sebentar saja. Saya juga mengenal teman-temannya (minimal namanya, kalau bisa tahu fotonya). Saya juga memperkenalkan teman-teman saya (minimal namanya).

Pasangan saya selalu tahu, saat ini saya sedang di mana, dan sayapun tahu dia ada di mana. Saya membaca tiap tulisannya dan dia pun membaca tulisan saya, baik itu di blog maupun facebook. Kami saling tahu password satu sama lain, tapi hanya akan memakainya jika diperlukan.

Kami berdua tahu berapa tepatnya uang di tabungan kami, dan bagaimana rencana kami dalam membelanjakan uang tersebut. Waktu kami masih pacaran dulu, kami sudah membicarakan segala macam rencana masa depan, rencana pernikahan, ingin punya anak berapa, dan semua ekspektasi lain dalam pernikahan.

Saya beruntung bertemu dengan Risna karena kami memiliki banyak kesamaan. Mulai dari latar belakang pendidikan yang sama sehingga kami bisa ngobrol soal teknologi (atau kadang ngobrol dengan bos kami), sampai selera film yang banyak beririsan (suka action, misteri, komedi, horror). Memiliki selera makanan yang banyak sama (jadi tidak sulit mencari tempat makan yang kami sukai).

Jika dilihat dari awal, banyak hal yang berbeda, tapi seiring waktu menjadi sama. Sebagian kebiasaan saya menjadi kebiasaan pasangan, dan juga sebaliknya, atau kadang ada titik temu yang bisa kami terima.

Memiliki banyak hal yang sama tidak berarti hidup jadi membosankan. Ada cukup banyak hal berbeda yang kami jalani yang cukup jadi bahan percakapan setiap hari. Mulai dari hobi yang berbeda, teman-teman dan aktivitas yang berbeda.

Dan setiap kali saya mendengar “bosan pada pasangan”, ini yang terpikir oleh saya: apakah Anda punya makanan yang tidak pernah bosan Anda makan, film yang tidak pernah bosan Anda lihat, musik yang tidak pernah bosan Anda dengar, tempat (atau website) yang tidak pernah bosan Anda kunjungi, hobi/aktivitas yang tidak pernah bosan Anda lakukan? kalau Anda punya hal-hal yang tidak pernah membuat Anda bosan, apakah pasangan Anda itu kurang dari hal tersebut, sehingga membuat Anda bosan?

Meski kedengaran seperti kisah romantis dari film, kami sangat praktis. Jika pasangan saya terlalu capek untuk masak sarapan, saya akan masak. Jika kami berdua terlalu capek, kami makan di luar. Kami tidak selalu makan bareng, bahkan ketika janji makan bareng pun, tidak apa-apa yang satu memulai lebih dulu jika sudah lapar.

Awalnya sebenarnya saya lihat pandangan hidup saya itu wajar-wajar saja, tapi ternyata tidak demikian. Banyak suami istri yang ternyata jarang ngobrol, saling menyimpan rahasia terhadap yang lain. Banyak yang saling merahasiakan gaji terhadap pasangan. Banyak pasangan yang punya sedikit sekali hal yang “in common”, jadi sulit untuk ngobrol sehari-hari. Aneh sekali rasanya bagi saya kalau seseorang mau bercerita pada sahabatnya, tapi tidak pada pasangan hidupnya.

Hal yang tidak saya mengerti dari orang-orang tersebut adalah: jadi sebenarnya apa tujuan memiliki pasangan hidup kalau bukan untuk berbagi hidup?