Jakarta dan Monas

Hari Sabtu, tanggal 25 Juni 2016 kami memutuskan untuk pergi keliling Jakarta plus ke monumen nasional alias monas. Sebelum ke monas, kami naik bus keliling jakarta (TransJakarta) yang gratis. Jonathan suka sekali

20160625_110804

Busnya cukup sepi di hari Sabtu, mungkin karena bulan puasa. Kami bisa leluasa memilih tempat duduk.

20160625_105917

Sebagai bagian dari berbagi rejeki, kami menggunakan jasa foto di Monas. Hasil fotonya lumayan

DSCF3182

Sekaligus tidak butuh bantuan orang untuk memfoto kami semua:

 

DSCF3183

Untuk menuju puncak monas, kami harus naik turun tangga banyak sekali. Ibu saya yang sudah lemah (diabetes) agak kesulitan untuk menghadapi semua tangga yang ada (ini sebelum naik ke puncak). Bahkan di toilet pun ada tangganya (dua tingkat), plus di toilet wanita sandal harus dilepas tapi tidak diberi sandal pengganti jadi naik tangganya licin karena agak basah (ini kata Risna).

20160625_124008

Setelah melihat-lihat sebentar, kami antri naik monas. Meski di bawah kelihatan sepi, ternyata antriannya panjang.

20160625_130503

Untungnya di situ ada Free WIFI

Screenshot_2016-06-25-13-02-38

 

Fast forward beberapa jam kemudian, kami naik lift. Kecepatan lift untuk sampai ke atas gedung kira-kira 1 menit, dan kembali lagi juga satu menit, plus waktu keluar masuk juga sekitar 1 menit. Kapasitas lift sekitar 10 orang. Jadi tiap kali 10 orang naik lift, sekitar 3-4 menit lagi liftnya baru akan kembali.

Begini padatnya dalam lift.

IMG_0265

Dan suasana di dalam puncak monas seperti ini. Ada jeruji di sekelilingnya, jadi akan sulit untuk loncat dari tempat ini.

20160625_143954

Pulangnya kami sudah kelaparan. Untung Shinta yang baik hati masih mau menunggu kami. Jonathan langsung nempel ke tante Shinta dan dengan senang hati disuapin

IMG_0289

Plus pulangnya diberi oleh-oleh buatan Shinta (yang hari itu juga kami habiskan)

IMG_0307

Parahnya Internet mobile di Indonesia

Setelah lebih dari seminggu di Indonesia dalam rangka liburan, sekarang saya mulai mengerti berbagai komplain terhadap internet di sini. Karena saya hanya memakai koneksi mobile, maka di judul ini saya sebutkan “mobile”, koneksi yang lain mungkin lebih baik (tapi mungkin juga tidak).

Yang sudah saya ketahui dan alami dari dulu adalah blokir DNS. Berbagai situs yang sering saya kunjungi (reddit, imgur) diblokir. Tahun sebelumnya saya memakai dnscrypt untuk membypass ini.

blokir

Berikutnya adalah iklan yang disisipkan di koneksi HTTP. Bahkan ini mempengaruhi sebagian aplikasi, contohnya AliExpress. Kadang sisipan ini membuat fungsionalitas tidak berjalan.

Iklan yang disisipkan pun sepertinya random, tidak kontekstual dan tidak memperhatikan tracking apapun (iklan di facebook dan situs lain biasanya disesuaikan dengan situs yang kita kunjungi atau pencarian yang kita lakukan). Contohnya ini iklan rokok, padahal saya tidak merokok sama sekali (bagaimana jika iklan ini dilihat anak-anak?)

Screenshot_2016-07-03-06-14-56

Salah satu client perusahaan tempat saya bekerja memakai sistem IP whitelisting untuk meningkatkan keamanan aplikasi. Setidaknya dengan cara ini attacker harus bisa masuk ke IP whitelist sebelum bisa melakukan serangan apapun terhadap aplikasi. Waktu saya diminta melakukan pengecekan singkat (karena ada sesuatu yang saya tinggalkan sebelum liburan), saya memasukkan IP publik saat ini ke whitelist, tapi ketika mencoba lagi pesannya tetap sama “IP Anda tidak ada di whitelist”.

Sepertinya ini terjadi karena koneksi sangat tidak stabil, sehingga sering kali proses connect/reconnect terjadi dan saya sering mendapatkan IP baru.

Untungnya tahun ini saya sudah mempersiapkan diri: saya sudah mempersiapkan koneksi VPN dengan OpenVPN. Instalasi di sisi server mudah dilakukan dengan OpenVPN road warrior installer for Debian, Ubuntu and CentOS. Client OpenVPN tersedia untuk Android, iOS, Windows, Linux, jadi mudah melakukan koneksi dari device mana saja.

Dengan VPN, persoalan blokir bisa dibypass, iklan juga tidak akan muncul. Saya tidak memakai layanan VPN dari 3rd party karena tidak mau membayar ekstra untuk VPN yang jarang saya akses, sedangkan VPN ini bisa dilakukan via server yang sudah saya sewa. Kelebihan lainnya: saya bisa menginstall proxy server dengan adblocker di server saya supaya koneksi bisa lebih lancar dan cepat. Server saya ini juga menyelesaikan masalah untuk memiliki fixed public IP (karena pasti exit node-nya hanya satu IP saja).

Screenshot_2016-07-03-06-39-20

Dari pengamatan, penggunaan VPN ini tidak terlalu mempengaruhi browsing sehari-hari karena walaupun ada overhead koneksi ke server VPN, paket data akan dikompres (kompresi ini bagian dari protokol VPN). Jika saya ingin mendownload sesuatu dan tidak diblokir, biasanya saya matikan VPN-nya.

Sebagai tambahan: browser opera (saat ini baru versi developer) juga memiliki fitur VPN built in, tapi hanya bisa dilakukan di private mode (jadi agak repot untuk browsing yang perlu login karena akan terlogout lagi/tidak diingat).

HP Lama untuk IOT

Setelah membaca blognya pak Budi Raharjo yang mempertanyakan apakah HP lama bisa untuk IOT (Internet Of Things), saya ingin berkomentar , tapi karena panjang jadi saya tulis saja jadi posting blog tersendiri.

cimg1988

HP sudah ada cukup lama, saya memakainya sejak 1999, dan sekarang sudah ada banyak generasi HP. Generasi awal biasanya bisa dimanfaatkan sebagai modem SMS, baik menggunakan kabel data serial ataupun FBUS/MBUS. LCD Nokia tertentu (misalnya 5110) bisa dikanibal untuk menjadi display (bahkan sekarang LCD ini masih dijual di Aliexpress dan berbagai situs lain). Generasi berikutnya yang mendukung GPRS bisa dipakai menjadi modem.

Dulu sempat ada usaha juga membuat firmware alternatif untuk Nokia tertentu. Dengan firmware tersebut, teorinya kita bisa menggunakan ponsel sebagai “otak” sebuah benda iOT. Untuk ponsel berbasis TI Calypso (misalnya Motorolla C115/123/140/155, Sony Ericsson J100i) firmware dari OsmocomBB bisa digunakan (proyek ini masih aktif).

Sekilas ponsel yang mendukung J2ME bisa diprogram untuk mengendalikan benda lain via bluetooth/IR/Internet. Pada praktiknya ini sulit karena biasanya tiap kali akan melakukan koneksi, user akan ditanya dulu: boleh atau tidak. Jaman dulu sebuah aplikasi harus minta ijin user untuk melakukan koneksi apapun. Supaya bisa diset agar tidak minta ijin, kita perlu menandatangani secara digital (inipun tidak universal, signing dengan certificate dari pihak tertentu kadang hanya berlaku di beberapa merk HP saja).

Ponsel dengan OS Symbian, Palm OS (sempat ada beberapa smartphone berbasis PalmOS), Windows Mobile cukup terbuka untuk bisa diprogram melakukan apa saja. Saya dulu pernah memprogram driver untuk Windows Mobile dan tidak perlu code signing.

Ponsel dengan OS modern seperti Android dan iOS bisa dimanfaatkan dengan dua cara. Pertama ponsel bisa menjadi otak, dan pengendalian benda bisa dilakukan dengan bluetooth, WIFI, USB dan bahkan NFC. Koneksi Bluetooth iOS hanya bisa dilakukan di versi baru dengan BLE (Blutooth Low Energy) sedangkan bluetooth di Android bisa dikoneksikan ke modul hardware murah (sekitar 4 USD). Beberapa ponsel Android mendukung mode Host sehingga bisa dihubungkan ke device USB apa saja.

Pemanfaatan kedua adalah memanfaatkan sensor di ponsel (yang jumlahnya sangat banyak) dan datanya distream ke Raspberry atau benda lain. Bagian ini belum saya coba, tapi sudah ada saudara yang mencoba:

Using phone’s accelerometer x & y axis as controller #raspberrypi

A video posted by Andi Dinata (@mdinata) on

Sejujurnya: meskipun ponsel dan hardware lama masih bisa dimanfaatkan, saya lebih suka membeli hardware baru saja. Dokumentasi lebih banyak, harga juga relatif terjangkau, jadi saya tidak mengorbankan banyak waktu ataupun biaya. Tapi jika Anda punya banyak ponsel yang ingin dimanfaatkan, mungkin beberapa hal yang saya share ini bisa berguna.

Facebook Instant Articles dan Google Accelerated Mobile Pages

Akhir-akhir ini ketika membuka Facebook app mobile, semakin banyak berita atau artikel yang bisa dibaca secara instan. Ketika kita men-tap linknya, artikel langsung muncul instan di dalam aplikasi Facebook (bukan di browser). Artikel semacam ini memiliki versi Instant Articles yang disimpan oleh Facebook, dan ada simbol petir di kanan atas link untuk menunjukkan hal tersebut.

Screenshot_2016-06-15-06-53-54

Tujuan FB membuat Instant Articles adalah agar orang bisa lebih nyaman membaca artikel, dan tidak meninggalkan aplikasi FB ketika membaca artikel. Ketika Instant Articles diperkenalkan dan spesifikasinya belum dibuka untuk umum, sebagian orang sempat mengkhawatirkan bahwa ini bisa “memecah belah” web dengan artikel yang hanya bisa diakses dari FB saja. Ternyata fitur ini memakai teknologi yang terbuka.

Lanjutkan membaca “Facebook Instant Articles dan Google Accelerated Mobile Pages”

Catatan Apps: Android

Sejak jaman dulu saya suka memakai HP yang bisa diinstall aplikasi. Saya dulu bahkan membeli SL45i, HP pertama dengan J2ME. Sejak jaman dulu sudah ada banyak aplikasi saya coba baik itu di J2ME, Symbian, Blakcberry, iOS, Windows Mobile maupun Android. Tidak seperti aplikasi PC yang mudah sekali untuk kembali bernostalgia dengan DOSBox, VirtualBox dan aplikasi sejenis lainnya, agak sulit kembali mengenang aplikasi mobile yang dipakai jaman dulu. Jadi seri posting ini hanya sekedar jadi catatan aplikasi yang saya pakai sekarang untuk dikenang di masa depan.

Screenshot_2016-06-14-15-55-22

Dulu saya sangat rajin mengoprek Android, tapi sekarang lebih berfokus ke bagian securitynya (terutama pentesting, atau kadang iseng membongkar exploit seperti ini). Ngoprek yang saya maksud mulai dari mengcompile ulang kernel, mengcompile ulang aplikasi open source (dengan modifikasi saya), sampai mengcompile seluruh ROM juga (waktu dulu masih memakai Nexus).

Sekarang ini HP Android yang saya pakai ada dua: Samsung Note 4 (HP Utama), dan Android One (IQ Mobile II) untuk dioprek (misalnya bisa untuk beta test Android N). Lanjutkan membaca “Catatan Apps: Android”

Pi Zero, Roseapple Pi, Orange Pi PC, dan Raspberry PI 3

Akhir-akhir ini selain Raspberry Pi 1 & 2 yang sudah saya miliki (plus Beaglebone XM yang sudah saya punya dari dulu), saya menambah beberapa Single Board Computer (SBC) lagi.

Pi Zero

Benda pertama adalah Raspberry Pi Zero. Semestinya ini adalah SBC termurah (5 USD saja), tapi sampai saat ini setiap kali ada stock langsung habis. Beberapa penjual di eBay bahkan menjual dengan harga sampai 60 USD. Penjual online resmi juga banyak yang memanfaatkan kelarisan Pi Zero ini dengan melakukan bundling (harus membeli bersama kit yang harganya lebih dari 20 USD).

20151203_123110
Majalah MagPi

Saya beruntung karena bisa mendapatkan Pi Zero dari majalah MagPi edisi 40. Saya segera memesan majalah ini ketika dilaunch (Majalahnya 10 USD, ongkir 5 USD).

Lanjutkan membaca “Pi Zero, Roseapple Pi, Orange Pi PC, dan Raspberry PI 3”

SSH Tunneling dan Internet Gratis

Saat ini sepertinya semua developer sudah memakai SSH sehari-hari. Sebagian mungkin sudah mengenal beberapa fitur ekstra SSH, tapi kebanyakan tidak tahu fitur lengkapnya. Wajar saja sih, meski RFC untuk SSH ini singkat (terbagi dalam beberapa RFC), ada banyak fitur di luar RFC yang diimplementasikan oleh berbagai software SSH. Sampai-sampai ada beberapa buku yang khusus hanya membahas SSH saja.

Di tulisan ini, saya tidak akan membahas semua fitur SSH, hanya beberapa fitur yang menarik yang berhubungan dengan port forwarding, serta pembahasan bagaimana SSH ini bisa menjadi jalan untuk internet gratis atau tanpa restriksi.

Fitur paling dasar yang dikenal orang adalah login ke server lain, dan berikutnya mungkin melakukan scp atau sftp ke server lain untuk mentransfer file. Fitur menarik berikutnya adalah X11 forwarding yang untuk mengakses aplikasi GUI di server (unix) lain.
client-server

SSH mendukung multi channel dalam satu koneksi, dan ini bisa dimanfaatkan untuk TCP/IP forwarding (mengenai ini bisa dibaca di RFC 4254). Saya akan jelaskan beberapa kegunaan forwarding ini. Channel yang dibentuk oleh mekanisme forwarding ini disebut juga sebagai tunnel.

Lanjutkan membaca “SSH Tunneling dan Internet Gratis”