Author Archives: otidh

About otidh

Muslim | Informatician | Blogger | Interisti | Kera Ngalam | Railfan | Badminton-Football-Running-Cycling-Hiking-Traveling-Book Enthusiast

Jl. Dago ditutup

Covid-19 Diary (2) : Jalan Ditutup di Bandung

Salah satu kebijakan yang diterapkan oleh Pemerintah Kota (Pemkot) Bandung selama masa physical distancing ini adalah penutupan sejumlah jalan di beberapa tempat. Utamanya jalan-jalan protokol Kota Bandung seperti Jl. Ir. H. Juanda (Dago), Jl. Diponegoro, Jl. Asia Afrika, Jl. Merdeka, dan Jl. Braga.

Kebijakan ini mulai diterapkan sejak Sabtu malam tanggal 28 Maret 2020. Pada tanggal tersebut bertepatan dengan hari ke-13 sejak himbauan untuk physical distancing digaungkan pada tanggal 16 Maret 2020.

Pada hari Minggu paginya tanggal 29 Maret 2020 saya sempat berolahraga di Taman Cikapayang Dago. Tidak ramai. Beberapa pesepeda juga ada yang singgah di sana.

Menjelang jam 9 pagi seorang petugas Dishub memberikan pengumuman melalui pengeras suara agar para pengunjung Taman Cikapayang Dago segera pulang ke rumah masing-masing. Tak lama kemudian Jl. Ir. H. Juanda mulai ditutup.

Taman Cikapayang Dago menjelang penutupan Jl. Ir. H. Juanda (29 Maret 2020)

Namun, sepertinya kebijakan penutupan jalan ini tidak berlaku full seharian. Hanya jam-jam tertentu saja. Dan sepertinya jam-jam penutupannya juga tidak pasti setiap harinya.

Saya yang sesekali pergi ke kantor melalui daerah sekitar Dago, kadang melihat jalan Dago dibuka dan kadang ditutup pada pagi hari sekitar jam 9. Hal yang sama saya jumpai ketika pulang sekitar jam Isya. Kadang buka, kadang tutup. Tidak pasti.

Pengumuman jam penutupan jalan pada 29 Maret 2020

Kebijakan penutupan jalan ini masih berlaku hingga tulisan ini dibuat. Dan sepertinya masih akan berlangsung hingga situasi membaik.

Objektif dari kebijakan ini sepertinya memang untuk mengurangi mobilitas warga. Warga dihimbau untuk tinggal di rumah.

Pertigaan Jalan Ganeca-Jl. Ir. H. Juanda ditutup (10 April 2020)

Awal-awal himbauan physical distancing, sepertinya para warga cukup menurut. Jalan di sekitar Dago menjadi sangat sepi. Namun, belakangan ini jalan mulai agak ramai lagi walaupun masih jauh untuk disebut normal.

Orang-orang ternyata masih cukup banyak yang berpergian walaupun mengetahui ada penutupan jalan. Warga masih bisa melalui jalan alternatif, biasanya jalan yang paralel dengan jalan yang ditutup tersebut.

Mengatasi Konflik Subnet antara Jaringan Lokal dan VPN di MacOS

Baru-baru ini saya menemukan masalah ketika mencoba mengakses beberapa server dengan VPN (Virtual Private Network) kantor menggunakan wifi di rumah dari MacBook. Jika menggunakan wifi kantor, biasanya tidak ada masalah.

Untuk browsing biasa, sebenarnya tidak ada masalah. Namun ketika mencoba mengakses via SSH ke server yang berada di jaringan VPN, selalu gagal terhubung. Saya ping juga pun jaringan gagal menemukan server yang dimaksud.

Gagal ping server gitlab yang ada di IP 192.168.0.104

Sebagai informasi, di kantor saya menggunakan layanan internet dari Megavision. Sementara di rumah saya menggunakan layanan internet dari First Media. Saya sempat berpikir apakah karena faktor settingan router-nya ya.

Selanjutnya saya mencoba mengetes koneksi VPN tersebut dari HP Android saya. Masih di jaringan wifi yang sama. Ternyata saya bisa mengakses server-server tersebut. Artinya tidak ada masalah pada settingan router wifi.

Saya mencoba menge-ping IP address MacBook dari HP Android saya. Tidak bisa. IP address tidak ditemukan. Lucunya, jika saya menge-ping IP address HP Android dari MacBook, ping berhasil.

Ping MacBook di IP 192.168.0.18 dari HP Android gagal
Ping HP Android di IP 192.168.0.9 dari MacBook berhasil

Di situ saya menyadari ternyata default gateway pada kedua device ini berbeda. HP Android menggunakan default gateway dari jaringan VPN. Sementara MacBook masih menggunakan jaringan lokal (local network). Karena itu MacBook masih bisa menemukan device HP Android, sedangkan HP Android tidak bisa menemukan IP MacBook.

Hal tersebut bisa terjadi, khususnya di MacBook, karena subnet local network di wifi rumah saya (192.168.0.1/24) juga di-cover oleh jaringan VPN tersebut sehingga terjadi konflik. Itulah sebabnya saya tidak bisa terhubung ke server di jaringan VPN dengan IP address 192.168.0.xxx. Sedangkan untuk server dengan IP address di subnet yang lain seperti 172.19.211.xxx, saya bisa mengaksesnya.

Tapi saya masih belum paham kenapa MacBook menggunakan default gateway dari local network. Sedangkan HP Android otomatis menggunakan default gateway dari jaringan VPN.

Kemudian saya menjadi kepikiran. Jaringan wifi kantor kan menggunakan subnet 192.168.1.1/24. Pantas saja koneksi VPN-nya lancar-lancar saja.

Solusi yang pasti untuk masalah ini sebenarnya adalah dengan mengubah subnet dari jaringan wifi rumah ke subnet selain 192.168.0.1/24 (dan subnet lain yang berpotensi konflik dengan subnet di dalam jaringan VPN). Namun dalam beberapa kasus, mungkin kita tidak memiliki akses untuk melakukan pengaturan tersebut.

Ada alternatif cara lain yang juga bisa menjadi solusi. Kita bisa menambahkan route pada routing table MacBook agar semua traffic ke IP address di subnet 192.168.0.1/24 diarahkan melalui jaringan VPN.

Routing tables ketika awal terhubung ke VPN

Dari routing tables di atas kita bisa melihat IP address 192.168.0.xxx (Destination 192.168.0) diasumsikan berada dalam local network yang sama dengan host (link#4). Gateway tersebutlah yang ingin kita ubah agar traffic diarahkan ke jaringan VPN.

Sebelumnya, kita perlu menghapus terlebih dahulu route untuk destinasi tersebut dengan menjalankan command berikut dari terminal:
$ sudo route -n delete -net 192.168.0/24
delete net 192.168.0

Selanjutnya kita menambahkan kembali route dengan destinasi tadi, tapi kali ini mengarahkannya ke gateway VPN:
$ sudo route -n add -net 192.168.0/24 192.168.20.19
add net 192.168.0: gateway 192.168.20.19

Dalam kasus di atas IP address gateway VPN adalah 192.168.20.19. Berikut ini adalah perubahan routing tables yang telah diterapkan:

Routing tables yang baru

Kini saya sudah bisa mengakses server yang ada di jaringan VPN.

Server Gitlab yang ada di IP 192.168.0.104 bisa merespon

Namun solusi ini hanya temporary sifatnya. Jika kita melakukan re-connect ke wifi tadi, routing tables ini akan kembali seperti semula. Tentu saja setelah itu kita perlu melakukan pengaturan route lagi. Jika ingin permanen, solusi dengan mengubah subnet jaringan lokal wifi tadi lah caranya.

Penjualan Pertama di Tokopedia

Sekitar 2 minggu yang lalu alhamdulillah saya berhasil mencatatkan penjualan pertama saya di Tokopedia. Yayy.. hahaha.

Saya tidak jualan barang dalam jumlah banyak sih. Hanya 1 buah saja. Wkwkwk.

Masih ingat tulisan saya tentang ganti baterai HP Google Pixel dulu? Di tulisan tersebut ada satu hal yang belum saya ceritakan. Saat membeli baterai Google Pixel, saya sempat ceroboh salah membeli baterai untuk Google Pixel XL. 😂

Saya baru menyadarinya ketika HP sudah saya bongkar dan baterai hendak saya pasang. Tentu saja baterai tidak muat di dalam HP saya karena ukurannya kebesaran. Baterai saya pun menganggur selama sekitar 3-4 bulan.

Baru 2 minggu yang lalu saya mencoba untuk menjual baterai tersebut. Saya membuat lapak di grup Facebook Forum Jual Beli (FJB) kampus saya, Facebook Marketplace, dan Tokopedia.

Dalam kurun waktu 3 hari alhamdulillah ternyata sudah ada 4 orang yang menanyakan tentang baterai ini. Agak surprised sih karena HP Google Pixel XL kan bisa dibilang sudah agak jadul. Sudah hampir 4 tahun yang lalu sejak kemunculannya.

Padahal saya tidak mendaftar sebagai power merchant. Mungkin karena tidak banyak merchant lain yang jualan. Karena itu lapak saya cukup mudah di-notice. Selain itu, di merchant-merchant lain juga stoknya kebetulan sedang kosong. Semuanya harus pre-order dulu. Itu pun harganya lebih mahal dari yang saya pasang.

Membuka toko di Tokopedia sangat mudah. Tinggal isi form nama dan alamat toko saja. Tidak perlu memiliki toko fisik. Setelah submit, toko pun langsung aktif. Bisa langsung upload barang dan langsung tampil.

Kemarin sempat ada masalah ketika saya hendak mengirimkan baterai ke pelanggan saya. Saya baru tahu ekspedisi JNE menggunakan moda transportasi udara untuk pengiriman ke Malang, kota pembeli baterai saya.

Baterai termasuk benda yang dilarang untuk dikirim melalui penerbangan. Petugas yang menerima saya menolak untuk memproses pengiriman baterai saya. Katanya, bisa saja dia nekat memproses, tapi kemungkinan besar juga akan ditolak di bandara.

Ya sudah, akhirnya saya tidak jadi mengirim baterai tersebut melalui JNE. Saya pun mengabari pembeli baterai saya tentang hal tersebut. Untungnya dia bisa memahami hal tersebut. Kemudian ia menyarankan untuk meggunakan ekspedisi TIKI.

Benar saja. Ternyata tidak ada masalah ketika mengirimkan baterai handphone melalui TIKI. Alhamdulillah barang tiba dengan selamat 3 hari kemudian.

Setelah pembeli menyatakan barang diterima, uang pembelian pun meluncur ke akun Tokopedia saya. Untuk menarik dana pun juga sangat mudah. Tinggal mendaftarkan rekening tujuan. Voila.. Tak berapa lama dana pun ditransfer ke rekening kita.

Riwayat saldo penjualan di Tokopedia

Tapi saya agak heran kok tidak ada potongan biaya atau komisi dari harga yang saya tetapkan ya. Saya pikir Tokopedia dan e-commerce yang lain pada umumnya akan menetapkan biaya atau meminta komisi dari penjualan. Pada kasus saya, hanya uang asuransi yang dikeluarkan oleh pembeli yang masuk ke Tokopedia. Ya iyalah ya.

Apa mungkin karena saya hanya regular merchant? Well, saya belum ada pengalaman berjualan di e-commerce jadi tidak tahu pasti bagaimana Tokopedia menarik pendapatan dari penjualan. Tapi sepertinya memang Tokopedia hanya menarik biaya dari power merchant atau official store. CMIIW.

Penjualan pertama saya di Tokopedia ini mungkin juga merupakan yang terakhir untuk saat ini. Hahaha. Saya belum berencana menjual barang lagi di sana.

Meningkatkan Ukuran Boot Disk di VM Instance Google Compute Engine

Tulisan ini adalah dokumentasi mengenai bagaimana cara meningkatkan ukuran disk yang digunakan oleh suatu VM instance di Google Compute Engine. Dengan teknologi cloud computing sekarang hal itu bisa dilakukan dengan cukup mudah.

Mengecek Sisa Disk

Sebelum memutuskan untuk melakukan resizing disk biasanya kita ingin memastikan berapa GB disk yang digunakan dan yang tersisa. Cara untuk memastikannya adalah dengan masuk ke dalam server melalui SSH kemudian menjalankan perintah df -h. Partisi /dev/sda1 adalah yang kita cari.

Dalam kasus saya di bawah ini, partisi /dev/sda1 yang berkapasitas 10 GB sudah terisi penuh 100%.

Sejauh ini yang saya ketahui dari halaman preview VM instance, kita belum bisa melihat angka berapa penggunaan disk atau sisa disk tersedia. Hanya bisa melihat angka kapasitas total disk saja.

Preview Boot Disk VM Instance

Melakukan Resizing Boot Disk

Selanjutnya berikut ini langkah-langkah melakukan resizing atau meningkatkan ukuran disk di VM instance Google Compute Engine kita.

Halaman Compute Engine
Halaman Compute Engine
  • Step 2: Klik menu Disks di sidebar.
  • Step 3: Klik nama disk yang ingin kita resize.
  • Step 4: Pada bagian atas halaman detail disk, klik tombol Edit.
  • Step 5: Pada field Size, masukkan ukuran baru yang ingin diterapkan untuk disk tersebut.
  • Step 6: Pada bagian bawah halaman tersebut, klik tombok Save untuk menerapkan perubahan.
  • Step 7: Tunggu beberapa saat sampai notifikasi yang muncul memberitahukan bahwa proses updating telah selesai. Jika sudah selesai, pada halaman detail disk akan menunjukkan size yang baru.
Halaman detail disk menunjukkan angka size yang baru
  • Step 8: Karena yang saya resize adalah boot partition, maka VM instance perlu di-reboot agar efek perubahannya dapat terlihat.
  • Step 9: Verifikasi perubahan dengan mengeceknya menggunakan command df -h.
Kapasitas Disk /dev/sda1 kini sebesar 50GB
Kapasitas Disk /dev/sda1 kini sebesar 50GB

Untuk step 8 dan 9 akan berbeda jika yang kita resize bukan boot partition. Kita tidak perlu melakukan reboot VM instance. Namun, ada beberapa command yang perlu kita eksekusi agar efek perubahan dapat diterapkan.

Covid-19 Diary (1) : Sudah 3 Minggu Work From Home

Terinspirasi dari tulisan berjudul For the Sake of History, Keep a Coronavirus Diary di Medium, saya mencoba untuk menuliskan diary mengenai situasi dan kondisi sekitar saya selama pandemi Covid-19 ini. Ada kalimat menarik dari tulisan tersebut yang saya pikir memang tepat sekali.

“What we’re often doing as historians or consumers of diaries is closing that distance between what we know now and what the person writing the diary knew then.”

Dalam memandang suatu peristiwa, biasanya akan terjadi gap pemahaman antara orang yang berada di luar peristiwa dan pelaku di dalam peristiwa. Sesama pelaku peristiwa saja sangat mungkin untuk memiliki perbedaan persepsi. Ketika mereka masing-masing bisa mengeluarkan opini dari perspektif mereka, di sanalah kita yang berada di luar bisa connecting the dots dan menarik kesimpulan atas peristiwa tersebut.

Pekerjaan memahami peristiwa di masa lampau tentunya secara logika akan lebih tricky karena terpisahkan oleh dimensi waktu. Kita tidak bisa bertanya langsung kepada pelaku peristiwa tersebut.

Karena itu keberadaan diary atau tulisan secara umum bisa menjadi sebuah legacy yang bermanfaat bagi generasi penerus nanti untuk memahami peristiwa di masa sekarang. Walaupun yang saya tulis ini juga cuma remah-remah saja sebetulnya.

Continue reading
GP100 di Puncak Gede

Lari 25K di Gede Pangrango 100 (Part 2/2)

Minggu, 8 Desember 2019

Usai sholat subuh, kira-kira pukul 4.45 saya check-out meninggalkan penginapan Berlian Resort untuk pergi menuju kantor TNGGP (Taman Nasional Gunung Gede Pangrango) di Cibodas. Kunci kamar saya serahkan kepada resepsionis di kantor dekat pintu gerbang kompleks resort.

Jalan Raya Cipanas pagi itu masih belum terlalu ramai. Jadi cepat saja saya sampai di Kantor TNGGP Cibodas. Setibanya di sana saya menitipkan tas bawaan saya ke salah satu warung di dekat parkir sepeda motor yang melayani penitipan. Saya terpaksa menitipkan di sana karena panitia tidak menyediakan fasilitas drop bag untuk peserta kategori 25K.

Setelah itu saya memanfaatkan waktu yang ada sebelum start untuk melakukan pemanasan di area parkiran. Ada seorang pelari lain yang juga melakukan pemanasan di sana yang kemudian saya mengenal namanya sebagai Sani.

Usai pemanasan, saya berjalan menuju garis start yang bertempat di halaman depan Wisma Edelweis. Wisma ini berada di sisi barat Kantor TNGGP Cibodas. Di sana sudah ramai dengan para pelari yang bersiap-siap untuk mengikuti kategori 25K.

Para pelari 25K berkumpul di belakang garis start

Start Race

Tepat pukul 6 start 25K dilakukan. Para pelari langsung tancap gas semua. Saya pun jadi terbawa untuk berlari agak cepat.

Suasana menjelang start

Cuaca pagi itu cukup cerah. Dan alhamdulillah cuaca cerah ini ternyata bertahan hingga waktu finish. Padahal sehari sebelumnya hujan mengguyur hampir sepanjang hari. Sehabis subuh hari itu juga kabarnya ada badai di Puncak Gunung Gede.

Continue reading
Kantor TNGGP Cibodas

Lari 25K di Gede Pangrango 100 (Part 1/2)

Ini adalah cerita lama tentang event lari lintas alam (trail run) yang saya ikuti beberapa bulan lalu, tepatnya pada hari Minggu, 8 Desember 2019. Yakni, Gede Pangrango 100 atau yang biasa disingkat dengan GP100.

Event ini termasuk yang saya nantikan juga. Sebelum ini saya sudah 3 kali naik Gunung Gede dan sekali naik Gunung Pangrango. Kali ini ingin merasakan bagaimana sensasinya berlari di sana. Tektok langsung 2 gunung lagi. Sekalian mengobati kerinduan saya yang sudah 4 tahun tidak ke TNGGP (Taman Nasional Gunung Gede Pangrango).

baca juga: Pendakian Gunung Gede 3.0

Ada 4 kategori jarak yang diperlombakan pada GP100 ini. Yakni 25K, 50K, 100K, dan 125K. Kategori 125K menjadi yang pertama melakukan start pada pukul 15.00, 6 Desember 2019. Saya sendiri mengikuti kategori 25K. Kategori 25K melakukan start pada pukul 06.00, 8 Desember 2019.

Race Pack Collection

Race pack collection untuk kategori 25K diadakan pada hari Sabtu atau sehari sebelum perlombaan mulai pukul 8 pagi hingga 5 sore. Dari tempat tinggal saya di Bandung saya berangkat pukul 13.30 dengan mengendarai sepeda motor. Saya tiba di kantor TNGGP Cibodas sekitar pukul 16.45. Mepet banget sih sama batas waktu pengambilan race pack. Wkwkwk.

Sebelum mengambil race pack, calon peserta diwajibkan untuk melakukan medical check-up di Klinik Edelweiss yang berada di kantor TNGGP Cibodas. Di sana kita ditanya mengenai riwayat kesehatan kita serta diperiksa tekanan darah dan detak jantung oleh dokter yang bertugas. Untuk medical check-up ini kita dikenakan biaya Rp25.000.

Continue reading