Joshua 8 Tahun, Belajar Pemrograman dan Berbagai Bahasa

Hari ini Joshua ulang tahun ke-8. Seperti tahun lalu, karena papanya kerja maka kami tidak pergi kemana-mana untuk merayakannya. Seperti biasa, dia cukup gembira dengan membeli kue es krim sebagai kue ultah dan memesan makanan untuk makan siang.

Kami membeli kuenya kemarin dan menyimpan kue eskrimnya di freezer. Hari ini banyak hal yang harus dikerjakan, jadi tidak memungkinkan untuk pergi makan siang di mall. Lagipula kalau beli kuenya langsung, ada potongan harga yang cukup signifikan dibandingkan memesan online. Potongan harganya lumayan buat makan es krim ekstra ketika membeli hehehe.

Ulang tahun Joshua ke-8

Berbeda dengan tahun lalu, tahun ini kami sengaja beli kuenya yang besar. Udara masih panas, jadi lumayan kalau bisa ekstra makan es krim di hari lain setelah hari ulang tahun.

Di tulisan kali ini, saya sekalian ingin mencatat perkembangan hal-hal yang dipelajari Joshua sampai dengan usia 8 tahun, terutama untuk belajar pemrograman dan berbagai bahasa.

Lanjutkan membaca “Joshua 8 Tahun, Belajar Pemrograman dan Berbagai Bahasa”

Wireguard, Tailscale, ZeroTier dan ngrok

Ketika membuat posting Cloudflare Tunnel, banyak yang bertanya dan membandingkan ini dengan berbagai teknologi lain. Nah di posting ini saya akan membahas beberapa teknologi lain seputar tunnel dan VPN .

Wireguard

Ini adalah teknologi VPN yang sederhana dan cepat. Spesifikasinya cukup pendek dan sudah diimplementasikan di kernel berbagai sistem operasi, clientnya tersedia di berbagai sistem operasi juga, termasuk di iOS dan Android. Saya bahas sedikit tentang Wireguard dulu karena ini jadi dasar untuk Tailscale.

Wireguard ini cukup sederhana sehingga bisa dipakai untuk IOT, misalnya sudah ada implementasi Wireguard untuk ESP32. Tapi bagian ini tidak akan saya bahas sekarang, mungkin di posting lain.

Wireguard hanya menangani koneksi dari satu titik ke titik lain. Contoh: saya bisa setup server wireguard, lalu client pertama bisa konek ke server itu. Client lain juga bisa konek ke server situ. Atau bisa saya set Wireguard di dua server supaya keduanya seolah-olah di jaringan yang sama.

Ada beberapa keterbatasan Wireguard: jika client pertama ingin konek ke client kedua, maka koneksi dilakukan melalui server (tidak bisa langsung dari client pertama ke kedua). IP sebuah server harus fixed IP, jika memakai dynamic DNS dan IP server berubah di tengah-tengah koneksi, maka kita perlu disconnect lalu reconnect dengan IP yang baru.

Setup Wireguard tidak terlalu sulit (jika dibandingkan openvn misalnya), tapi juga tidak sederhana untuk orang awam. Perlu setup server, perlu setup key, copy paste key, distribusi konfigurasi dengan membuat file atau menggenerate QR (untuk mobile), dsb. Sudah ada beberapa proyek untuk menyederhanakan interface ini, tapi tetap tidak semudah teknologi yang lain.

Lanjutkan membaca “Wireguard, Tailscale, ZeroTier dan ngrok”

Cloudflare Tunnel untuk Self Hosting

Saya sudah memakai Cloudflare sejak sekitar 10 tahun yang lalu dan tiap tahun biasanya selalu ada fitur baru. Tahun 2020, Cloudflare memperkenalkan Cloudflare Tunnel, yang salah satu kegunaanya adalah untuk membuat situs lokal kita bisa diakses internet. Ada banyak kegunaan lainnya, misalnya bisa untuk melakukan SSH atau remote desktop ke mesin lokal dari Internet atau untuk mengakses intranet, tapi yang akan saya bahas di tulisan ini hanya untuk web hosting saja.

Tunnel cloudflare

Saya sudah pernah menjelaskan apa itu Cloudflare Tunnel di posting Blog ini sekarang bertenaga surya. Secara singkat: salah satu kegunaan Cloudflare Tunnel adalah membuat website di server internal (tidak memiliki IP public) bisa diakses dengan nama domain publik. Caranya dengan menjalankan program cloudflared yang akan melakukan koneksi ke server cloudflare dan koneksi dari IP publik akan masuk melalui cloudflared.

Ini berarti:

  • Tidak mungkin salah konfigurasi sehingga website bisa diakses melalui public IP membypass cloudflare (karena web servernya memang tidak punya IP publik)
  • Kita bisa memakai server di rumah yang memakai dynamic IP (atau bahkan di Android dengan termux)

Selain itu Cloudflare tunnel mendukung autentikasi, jadi misalnya sebuah website punya area /admin yang hanya boleh diakses admin. Kita bisa mensetup agar ketika diakses akan muncul halaman autentikasi dari cloudflare.

Autentikasi Cloudflare bisa berdasarkan email, melalui login Google, login Github ataupun yang lain. Ini merupakan layer keamanan tambahan, andaikan penyerang ingin membrute force password, atau ada kelemahan SQL Injection atau yang lain di halaman login admin, maka penyerang harus bisa membypass dulu autentikasi dari Cloudflare.

Lanjutkan membaca “Cloudflare Tunnel untuk Self Hosting”

Cerita Ulang Tahun Joe

Setelah kurang berlatih menulis setiap hari, rasanya kagok untuk menulis hari ini. Tetapi berhubung hari ini adalah hari istimewa untuk Joe, harus ditulis biar gak lupa. Apalagi tadi baru saja membaca tentang cerita yang akan diwariskan ke anak cucu. Kalau jaman dulu, sebelum orang mengenal membaca dan menulis, sebuah cerita itu harus diingat untuk diteruskan ke generasi setelahnya. Sekarang ini, setelah bisa menulis dan apalagi ada blog begini, masa masih nyari alasan untuk tidak menuliskannya?

Kalau tidak ditulis pasti lupa. Makanya cerita hari ini walau tidak seperti tahun lalu merayakan ulang tahun sambil jalan-jalan, tetap saja perlu dituliskan. Sebenarnya tahun lalu kami berpikir untuk menjadikan momen ulang tahun sebagai kesempatan jalan-jalan. Tetapi pada dasarnya kami ini orang rumahan, kalau bukan karena terpaksa, pastilah kami gak jauh-jauh dari rumah. Tahun lalu kami liburan ke Bangkok karena ada urusan, tahun ini urusannya belum dimulai jadi belum ke Bangkok, hehehe.

Lanjutkan membaca “Cerita Ulang Tahun Joe”

All my life, You have been so, so good

Sejak dua minggu lalu di gereja, salah satu lagu pujian yang dinyanyikan adalah Goodness Of God, ini lagu pujian yang relatif baru (2019). Ada bagian lirik yang sangat berkesan bagi saya yang saya renungkan di ulang tahun ini:

All my life You have been faithful
All my life You have been so so good
With every breath that I am able
Oh I will sing of the goodness of God

Goodness Of God

Saya merasa bersyukur atas kebaikan Tuhan di hidup saya, dan juga keluarga saya. Walau juga masih sering merasa malu karena sering kali belum bisa selalu menjadi orang Kristen yang baik.

Lanjutkan membaca “All my life, You have been so, so good”

Tentang Membajak

Dulu saya sering membajak software, lalu setelah mengerti bahwa itu salah, saya berusaha tidak membajak sama sekali. Tapi kemudian pandangan saya mulai bergeser: bahwa kadang membajak tidak apa-apa, tergantung situasi.

Alasan utama untuk tidak membajak adalah: karena kita ingin menghargai karya orang lain dengan memberikan haknya sebagai pencipta karya itu. Ini sangat masuk akal: kalau semua orang membajak sebuah buku (atau musik, film, dsb), bagaimana pengarangnya bisa makan?

Some rights reserved

Untuk karya yang dibuat oleh pengarang yang masih hidup, apalagi yang masih belum kaya raya, saya pasti akan mendukungnya. Saya akan dengan tegas melarang distribusi buku/software bajakan di berbagai group yang saya ikuti. Saya juga akan berargumen dengan orang yang bilang “ilmu kan harus dibagi dengan gratis”, dalam kasus ini silakan cari ilmu dari orang lain yang memang mau membagi ilmunya secara gratis, bukan memaksa orang membagikan ilmunya dengan mendistribusikan konten buatan orang itu.

Lanjutkan membaca “Tentang Membajak”

16 Tahun di Chiang Mai

Tanggal 4 Mei 2023 kemarin, kami sudah genap 16 tahun tinggal di Chiang Mai. Siapa yang sangka kalau dulu tidak pernah tau nama kota ini karena tidak pernah mengikuti berita olahraga, dan tidak banyak teman sebangsa dan setanah air di kota ini, sekarang malah di sini ada warung yang menyediakan masakan Indonesia. Tentunya bikin makin betah di Chiang Mai.

Lanjutkan membaca “16 Tahun di Chiang Mai”