1 poin oleh GN⁺ 2024-07-10 | 1 komentar | Bagikan ke WhatsApp
  • PySkyWiFi adalah eksperimen yang memakai field profil akun mileage maskapai yang tetap bisa dibuka sebelum pembayaran sebagai penyimpanan sementara, untuk bolak-balik mengirim request dan respons HTTP dengan sangat lambat selama penerbangan jarak jauh
  • Prototipe awal memperbarui dan melakukan polling pada field nama akun untuk membuat chat, lalu diperluas sehingga daemon di darat membaca request seperti STOCKPRICE: APPL dan mengembalikan hasilnya
  • Arsitektur akhirnya terbagi menjadi sky proxy di dalam pesawat dan ground daemon yang terhubung ke internet, dengan header X-PySkyWiFi pada request curl lokal untuk menyampaikan URL tujuan
  • Transmisi dilakukan dengan memecah request HTTP menjadi chunk kecil, lalu menyelaraskan urutan dengan segmen DATA, ACK, END dan nomor urut 6 digit
  • Pendekatan yang terus mengirim request otomatis ke akun maskapai sungguhan dihindari, dan pengujian akhir hanya sampai tingkat memanggil homepage blog lewat GitHub Gist dengan curl lalu menerima respons HTML beberapa menit kemudian

Jalur pintas yang ditemukan di portal Wi‑Fi sebelum pembayaran

  • Halaman login Wi‑Fi pesawat meminta pembayaran, tetapi bahkan sebelum membayar, login akun mileage maskapai diizinkan secara gratis
  • Saat melihat field nama di layar edit profil, muncul gagasan bahwa nilai ini bisa dipakai seperti saluran komunikasi kecil untuk bertukar data dengan luar
  • Bahasa implementasi awalnya ingin memakai Go, tetapi Python dipilih karena nama alatnya bisa menjadi PySkyWiFi
  • Kode sumber dipublikasikan di PySkyWiFi

Prototipe 1: pesan instan lewat field nama

  • Setelah dua klien login ke akun mileage maskapai yang sama, mereka bertukar pesan dengan cara bergantian memperbarui dan membaca field nama
    • Jika satu pihak mengubah nama menjadi Hello how are you, pihak lain membacanya
    • Lalu ketika diubah lagi menjadi Im fine how are you, pihak pertama melihat balasannya
  • Mengubah nama langsung lewat UI terasa merepotkan, jadi diotomatisasi dengan alat command line
    • Alat ini login ke situs web dan memperbarui field nama akun uji dengan pesan
    • Setiap beberapa detik alat ini melakukan polling field nama, dan jika nilainya berubah, perubahan itu ditampilkan sebagai balasan lawan bicara
  • Diputuskan untuk tidak lagi mengirim data otomatis ke akun mileage maskapai sungguhan, dan hanya diuji apakah pembaruan nama yang cepat sekitar 10 kali semuanya berhasil
    • Hasil ini menunjukkan kemungkinan akun tersebut tidak membatasi kecepatan atau jumlah request
  • Setelah itu, pengembangan dilanjutkan dengan mereproduksi prinsip yang sama menggunakan GitHub Gists dan file lokal
    • Karena pengembangan berulang lebih cepat dan mudah dibanding memakai akun mileage maskapai

Prototipe 2: mengambil informasi eksternal lewat ground daemon

  • Pada langkah berikutnya, daemon dijalankan di komputer yang terhubung internet di darat atau di cloud
  • Daemon terus melakukan polling pada field nama akun mileage maskapai sambil mencari request terstruktur yang dikirim dari pesawat
    • Contoh: STOCKPRICE: APPL
    • Contoh: SCORE: MANUNITED
  • Saat request baru ditemukan, daemon mem-parsing-nya, mengambil informasi lewat API terkait, lalu mengirimkannya kembali ke sisi pesawat melalui akun mileage maskapai
  • Mulai tahap ini, sistem berkembang dari chat sederhana menjadi pencarian informasi real-time seperti harga saham atau skor olahraga

Arsitektur penuh dengan sky proxy dan ground daemon

  • PySkyWiFi adalah protokol mirip TCP/IP yang mendorong seluruh request HTTP ke akun mileage maskapai, lalu komputer di darat menjalankan request HTTP yang sebenarnya dan mengunggah kembali respons dengan cara yang sama
  • Ada dua komponen
    • sky proxy: proxy yang berjalan di laptop di dalam pesawat
    • ground daemon: daemon yang berjalan di komputer terhubung internet di rumah atau di cloud
  • Sebelum digunakan, ground daemon dijalankan lebih dulu, lalu setelah tersambung ke Wi‑Fi di pesawat, sky proxy dijalankan di laptop
  • Pengguna mengirim request HTTP ke proxy lokal dengan alat seperti curl
    • Contoh: curl localhost:1234 -H "X-PySkyWiFi: example.com"
    • URL tujuan sebenarnya dimasukkan ke header kustom X-PySkyWiFi
  • Ground daemon menghapus header X-PySkyWiFi dan memakainya untuk routing ke situs target
    • Body request dan header lain diteruskan apa adanya
  • Setelah seluruh proses selesai, pengguna menerima respons HTTP seperti request internet biasa, tetapi tergantung kondisi jaringan pesawat, request bisa berhenti selama beberapa menit dan kecepatannya mungkin hanya beberapa byte per detik

Chunk, ACK, dan HTTP bolak-balik dengan akun kedua

  • Sky proxy menerima request curl lalu membagi seluruh request HTTP menjadi chunk
    • Karena jumlah yang bisa dimuat sekaligus di field nama akun mileage maskapai kecil
  • Setiap chunk ditulis berurutan ke field nama akun mileage maskapai pertama
  • Ground daemon melakukan polling pada akun itu, lalu saat menemukan chunk baru, membacanya dan meninggalkan acknowledgement bahwa chunk berikutnya boleh dikirim
  • Setelah seluruh request HTTP dirakit ulang, ground daemon mengirim request sebenarnya ke internet
  • Respons HTTP menempuh prosedur yang sama ke arah sebaliknya
    • Ground daemon membagi respons menjadi chunk lalu mengirimnya
    • Untuk menyederhanakan implementasi, chunk respons memakai akun mileage maskapai kedua
    • Sky proxy membaca chunk, menyusun ulang respons HTTP, lalu mengembalikannya ke pemanggilan curl semula

Pemisahan peran antara transport layer dan network layer

  • Logika komunikasi PySkyWiFi dibagi menjadi transport layer dan network layer
  • Transport layer menentukan data apa yang dikirim dan dalam urutan seperti apa
    • Cara membagi pesan panjang menjadi chunk kecil
    • Cara memberi tahu bahwa penerima siap menerima chunk berikutnya
    • Perannya sangat longgar mirip TCP
  • Network layer menulis dan membaca data yang sudah ditentukan transport layer ke penyimpanan sebenarnya
    • Penyimpanannya bisa berupa akun mileage maskapai, file lokal, atau profil Discord
  • Pemisahan ini memudahkan untuk menambahkan platform mileage maskapai baru
    • Cukup mengimplementasikan network layer baru dan transport layer bisa tetap dipakai
    • Network layer untuk pengujian bisa membaca dan menulis file lokal alih-alih akun mileage maskapai

Aturan transmisi dengan DATA, ACK, dan END

  • Koneksi transport PySkyWiFi terdiri dari dua pipe
    • Tiap klien memiliki pipe SEND untuk menulis dan pipe RECV untuk membaca
    • Akun mileage maskapai bisa dipakai sebagai pipe
  • Klien PSWF pada satu saat tertentu hanya bisa mengirim atau menerima
    • Dalam mode kirim, ia tidak bisa melihat data yang dikirim pihak lain
    • Dalam mode terima, walaupun mengirim data, pihak lain tidak akan melihatnya
    • Ini bukan model kirim-terima dua arah kapan saja seperti TCP
  • Pesan panjang dikirim dengan segmen DATA, ACK, dan END
    • DATA: terdiri dari karakter D, nomor urut yang di-padding menjadi 6 digit, dan data chunk sebenarnya
    • Contoh: D000451adline": "Mudslide in Wigan causes m
    • ACK: terdiri dari karakter A dan nomor urut 6 digit yang dikonfirmasi
    • Contoh: A000451
    • END: satu karakter E untuk menandai akhir pesan
  • Pengirim mengirim DATA lalu menunggu sampai menerima ACK untuk nomor urut tersebut
    • Saat menerima A000451, ia menganggap chunk 000451 sudah diproses lalu mengirim chunk 000452
  • Saat penerima melihat END, pesan dianggap selesai dan peran pengirim-penerima ditukar

Antarmuka implementasi network layer

  • Network layer menyediakan antarmuka sederhana untuk menulis dan membaca data ke penyimpanan
  • Ada dua operasi wajib
    • send(msg: str): menulis msg ke penyimpanan
    • recv() -> str: membaca pesan dari penyimpanan
  • Dalam implementasi berbasis mileage maskapai, kedua operasi ini menjadi aksi menulis dan membaca field nama akun
  • Ada juga dua properti wajib
    • sleep_for: waktu tunggu dalam detik yang dipakai transport layer di antara polling pipe RECV
    • segment_data_size: jumlah karakter yang bisa dimasukkan ke satu segmen
  • sleep_for bisa dibuat rendah pada implementasi uji seperti file, tetapi pada implementasi akun mileage maskapai harus dijaga minimal beberapa detik agar tidak mengirim terlalu banyak request ke server jarak jauh
  • segment_data_size harus sama dengan ukuran maksimum field akun mileage maskapai yang dipakai, dan contohnya sekitar 20 karakter
  • Ada dua hook opsional
    • connect_send(): dipanggil saat inisialisasi pipe SEND, dan pada implementasi mileage maskapai bisa dipakai untuk login dengan nama pengguna dan kata sandi agar memperoleh cookie
    • connect_recv(): dipanggil saat inisialisasi pipe RECV

Encoding base26 dan ide peningkatan bandwidth

  • Form HTML mileage maskapai mungkin tidak mengizinkan karakter selain alfabet untuk nama
    • Stephen mungkin diizinkan
    • GET /data?id=5 mungkin ditolak
  • Untuk menghindari ini, network layer harus meng-encode segmen ke base26 sebelum menulisnya ke akun mileage maskapai
    • Base26 merepresentasikan string hanya dengan karakter A sampai Z
    • String byte diubah menjadi satu angka besar, lalu direpresentasikan sebagai digit basis 26 dengan karakter A~Z
    • Contoh: b26_encode("Hello world") mengembalikan CZEZINADXFFTZEIDPKM
  • Transport layer tidak perlu mengetahui encoding ini
    • Network layer mengubah byte menjadi base26 saat menulis, lalu memulihkannya kembali menjadi byte saat membaca
  • Base26 membuat string menjadi jauh lebih panjang sehingga bandwidth berkurang
    • Menggunakan base52 yang memakai huruf besar dan kecil sekaligus bisa membuatnya lebih pendek, tetapi itu dibiarkan sebagai peningkatan versi 2
  • Bandwidth bisa ditingkatkan dengan memperbesar ukuran segmen
    • Walaupun 1 field hanya bisa menyimpan 20 karakter, jika 5 field berukuran 20 karakter ditulis sekaligus, segmen 100 karakter bisa dikirim dalam satu request
    • Penerima bisa membaca 5 field itu dalam satu request lalu menggabungkannya kembali

Ruang peningkatan lewat HTTP CONNECT dan pengujian akhir

  • Alih-alih bertukar request HTTP secara manual, PySkyWiFi bisa membuat tunnel yang lebih baik dengan memakai HTTP CONNECT requests
  • CONNECT adalah metode yang dipakai sebagian besar proxy HTTP, dan dengan ini PySkyWiFi bisa berfungsi seperti proxy tingkat sistem sehingga request browser juga bisa ditangani
  • Dengan CONNECT, PySkyWiFi akan menegosiasikan koneksi TLS langsung dengan situs target, sehingga trafik yang melewati akun mileage maskapai akan terenkripsi
  • Kekurangannya, pekerjaan implementasinya menjadi jauh lebih besar
  • Pada pengujian akhir, data ditunnel lewat GitHub Gist untuk memuat homepage blog dengan curl, dan beberapa menit kemudian respons HTML diterima

1 komentar

 
GN⁺ 2024-07-10
Komentar Hacker News
  • Puluhan tahun lalu, pasangan saya menggunakan SMS Google Voice dengan membaca dan membalasnya langsung dari kotak masuk Gmail. Karena tidak suka ponsel, ia membawa Kindle Keyboard lama yang punya 3G tanpa batas
    Browser sederhana di Kindle bisa membuka tampilan Gmail versi ringan, jadi bisa dipakai seperti perangkat SMS tanpa biaya bulanan; masalahnya hanya notifikasi SMS baru
    Jadi setelah jailbreak, saya awalnya ingin menambahkan penghitung di layar beranda, lalu terpikir bahwa penghitung itu bisa diletakkan di samping nama perangkat Kindle yang bisa diubah dari akun Amazon
    Dari server rumah, saya memakai otomatisasi browser untuk login ke Amazon dan mengubah nama perangkat menjadi My Kindle (x), dengan x adalah jumlah SMS Google Voice yang belum dibaca, dan Kindle memperbarui nama di layar beranda dalam waktu satu menit, sehingga berjalan baik selama bertahun-tahun

    • Seingat saya tagihan AT&T untuk Kindle 3G itu luar biasa besar
      Seingat saya, mengurangi beberapa byte saja bisa menghemat sekitar satu juta dolar
    • Saya pernah meminjamkan Kindle Keyboard kepada rekan kerja yang bepergian, lalu dicuri di Meksiko
      Saat itu mungkin itu hampir merupakan Kindle tertua yang masih berfungsi, jadi sepertinya pencurinya hanya mengambil apa pun yang ada di dalam tas
      Belakangan saya menemukan Kindle Keyboard lagi seharga 20 dolar di pasar loak, tetapi enam bulan kemudian baterainya mati; unitnya masih saya simpan, jadi saya penasaran berapa biaya baterai penggantinya
    • 3G gratis itu benar-benar hebat
      Gmail nyaris bisa dipakai lewat browser, dan saya juga membuat situs web Zork yang ramah Kindle untuk memainkan game teks dengan memilih dari beberapa ROM zmachine
      Setelah diliput beberapa situs berita, responsnya lumayan juga
    • Saya juga melakukan ini
      Tidak ada integrasi cerdas untuk mengubah nama Kindle, tetapi selama beberapa waktu saya mengirim SMS dengan Kindle Keyboard yang punya 3G tanpa batas
    • Sebelum membeli smartphone, saya memakai Kindle Keyboard untuk navigasi saat perjalanan jauh dengan mobil
      Situs web Google Maps nyaris bisa dijalankan
  • Dulu saya naik feri sekitar 20 jam dari Italia ke Yunani; ada Wi-Fi berbayar berbasis internet satelit, tetapi saya tidak ingin membayar
    Akses ke Stripe dibuka untuk pembayaran, dan ternyata semua halaman stripe.com, termasuk dokumentasi pengembangnya, bisa diakses, jadi saya mulai membuang-buang bandwidth dengan mengunduh gambar berulang-ulang
    Lalu saya teringat bahwa agar Stripe berjalan, akses ke Fastly CDN diperlukan, dan Reddit juga memakai Fastly; setelah terhubung ke Stripe, saya mengubah header HTTP Host menjadi reddit.com, dan Reddit bisa dibuka
    Gambar tidak bisa karena i.redd.it bukan Fastly, tetapi dengan memetakan old.reddit.com ke IP Fastly milik Stripe di /etc/hosts dan mengabaikan peringatan TLS yang menyeramkan, saya bahkan bisa login

    • Jika Anda mengunduh beberapa gigabyte dokumentasi seperti itu dan menimbulkan kerugian, pihak yang kemungkinan terdampak adalah penumpang di pesawat yang membayar layanan tersebut
      Jika mereka tidak akan membelinya lagi karena koneksi menjadi lambat, perusahaan penyedia juga dirugikan, dan biaya bandwidth unggah Stripe juga bisa meningkat
      Saya sendiri cenderung menghindari unduhan bahkan lewat seluler karena khawatir berdampak buruk pada orang di sekitar
    • Saya tidak tahu persis apa yang didapat dari tindakan seperti itu
      Saya paham eksperimen intelektual untuk mengeksplorasi sejauh mana akses bisa dilakukan pada koneksi yang diblokir, tetapi sengaja membuang-buang bandwidth mirip membuka keran toilet umum untuk membuang air atau menyumbat kloset hingga meluap
    • Itu adalah domain fronting, dan sekarang sudah diblokir di semua CDN besar
      https://en.wikipedia.org/wiki/Domain_fronting
    • Berikutnya, mungkin Anda menyalakan keran air hotel dan memberi mereka pelajaran karena berani menawarkan layanan berbayar
    • Saya penasaran mengapa insting pertama terhadap layanan yang tidak ingin Anda bayar adalah menyalahgunakan atau menurunkan fungsinya
  • Beberapa minggu lalu, saya mengantar anak-anak ke kelas di mal dan mencoba memakai Wi-Fi gratis. Login dari laptop berhasil, tetapi muncul bahwa internet tidak tersedia
    Saat memeriksa gateway default, saya tersambung ke modem Cisco; terlihat alat diagnostik dan daftar perangkat yang terhubung, tetapi koneksi internet dimatikan
    Saya mencari modelnya lewat ponsel, dan katanya akun admin adalah nomor seri sementara kata sandinya dibiarkan kosong; ada juga pola contohnya, dan nama salah satu perangkat yang terhubung tampak persis seperti pola itu
    Saya login begitu saja, menyalakan tombol internet, dan 15 detik kemudian statusnya menjadi hijau; saya juga mengatur kata sandi perangkat baru

    • Saat mengunjungi keluarga, saya pernah tersambung ke Wi-Fi tetangga yang tidak diamankan untuk masuk ke VPN kantor
      VPN tidak mau tersambung, lalu karena router mudah diakses, saya mengubah pengaturan MTU, dan setelah itu langsung berfungsi normal
  • Hacking seperti ini keren dan saya menyukainya, dalam arti aslinya
    Namun ketika saya cek baru-baru ini, tampaknya DNS global di skywifi tetap dapat di-resolve secara normal tanpa membayar, dan pada penerbangan yang saya naiki, sepertinya tunnel iodine biasa juga akan berfungsi
    https://github.com/yarrick/iodine

    • Beberapa tahun lalu saya menjalankan layanan iodine publik yang bisa diakses siapa saja
      Untuk menghindari laporan penyalahgunaan, trafik keluar server saya lewatkan melalui Tor, dan saya juga mengumpulkan log tentang jaringan kereta, hotel, dan bandara mana saja yang bisa menjalankannya, serta menyediakan protokol tunneling lain
      Itu proyek yang menyenangkan untuk sementara waktu, dan seharusnya saya biarkan terus berjalan
      Sekarang DNS tunneling menjadi sedikit lebih sulit karena beberapa server DNS, terutama Google, mengacak huruf besar-kecil pada permintaan DNS sehingga merusak encoding tertentu dengan cukup parah
    • Enam tahun lalu, iodine berfungsi di Wi-Fi maskapai lain
      Ide dan prinsipnya menarik, tetapi karena kecepatannya, dalam praktik hampir tidak berguna; mungkin lain cerita kalau hanya menjalankan semacam messenger di atas UDP ;-)
    • Jika DNS diizinkan oleh firewall, bukankah cukup memakai WireGuard di UDP/53 tanpa mengutak-atik protokol DNS itu sendiri?
  • “Saya lupa mengisi daya headphone, jadi Limp Bizkit mulai keluar dari speaker laptop. Untungnya, orang-orang lain di pesawat sepertinya tidak peduli, jadi kami semua menikmatinya bersama-sama dengan semangat.”
    Orang-orang seperti ini kurang punya etika publik dasar
    Banyak orang di sekitar pasti terganggu, tetapi kemungkinan besar mereka terlalu sopan untuk mengatakan agar jangan memaksakan kebisingan yang tidak perlu

    • Kalau penulis menulis “ini satire”, satirenya jadi rusak
    • Saya membacanya sebagai lelucon
      Ada begitu banyak orang yang tidak punya etika dasar seperti ini sampai-sampai saya menganggapnya lelucon yang lucu, dan setidaknya penulisnya sepertinya bukan orang yang benar-benar seperti itu
    • Leluconnya memang tidak lucu, tetapi cocok dengan tema tulisannya
      Itu menunjukkan citra hacker yang melihat kemungkinan internet gratis sebagai peluang yang bisa dieksekusi, lalu di belakangnya mengambil jarak seolah-olah ia bukan orang yang benar-benar akan menyalahgunakan sistem maskapai, jadi nada pembukanya tampak seperti perangkat gaya penulisan
    • Tampaknya itu yang disebut manusia sebagai “humor”
    • Saya harap itu memang lelucon seperti kata orang lain
      Kalau bukan, itu tindakan yang sangat tidak sopan dan tidak peka
  • Saya penasaran apakah hanya saya yang selalu lelah setiap kali naik pesawat sampai tidak bisa melakukan apa pun selain memejamkan mata dan menunggu sampai selesai
    Membayangkan mengeluarkan laptop atau buku saja sudah melelahkan, banyak kebisingan, dan karena tidak punya headphone peredam bising, sulit untuk berkonsentrasi
    Saya sudah menghabiskan setidaknya 2 jam sejak keluar rumah, naik kereta·trem·melewati pemeriksaan keamanan, dan makanan bandara yang tidak sehat juga tidak membantu
    Cuaca selama setengah tahun juga terlalu panas atau terlalu dingin, dan ransel 10 kg membuat saya terus berkeringat, jadi akhirnya di dalam pesawat saya tidak punya mood untuk melakukan apa pun

    • Saya punya ADHD dewasa, dan di tempat kerja lebih sulit berkonsentrasi, tetapi di pesawat atau tempat ramai lain justru bisa fokus seperti laser
      Ini berlawanan dengan intuisi, tetapi saya dengar banyak otak ADHD bekerja seperti ini, dan waktu yang saya habiskan di pesawat adalah yang paling produktif
    • Dulu saya mencoba mengeluarkan laptop dan mengerjakan sesuatu, tetapi sejak jarak antarkursi berkurang, benar-benar sulit mengeluarkan benda yang lebih besar dari tablet
      Harus diletakkan di pangkuan, atau kalau orang di depan merebahkan kursinya, layar bisa berisiko pecah; beberapa tahun lalu hal itu benar-benar terjadi pada rekan kerja saya
      Sekarang saya hanya mengeluarkan iPad dan headphone peredam bising lalu menonton film atau acara TV
    • Bukan hanya saya
      Tubuh saya juga bereaksi sama, dan saya pikir ini berkaitan dengan penurunan kadar oksigen di udara
      Masalahnya bukan kebisingan, melainkan udara, dan headphone peredam bising memang sangat efektif
      Namun memang ada orang-orang yang sama sekali tidak terpengaruh dan bisa melakukan pekerjaan berguna di pesawat
    • Saya justru kebalikannya
      Seletih apa pun atau sekurang tidur apa pun, di pesawat saya tidak bisa tertidur dan tidak merasa mengantuk, jadi penerbangan transatlantik terasa lebih menyiksa, dan ketika teman seperjalanan tidur 8 jam rasanya bahkan seperti diejek
    • Bukan hanya saya
      Saat terbang, kepala saya jadi sangat kosong sehingga saya memejamkan mata sampai mendarat, dan meski mencoba membaca buku atau bekerja, 5–10 menit kemudian otak saya mati
      Anehnya, makanan pesawat selalu membuat perut kembung sehingga saya perlu obat segera setelah mendarat
      Menariknya, dua kali saya naik kelas bisnis, saya bisa membaca cukup lama sebelum otak saya mati
      Di kereta jarak jauh, kalau duduk menghadap arah perjalanan, sebenarnya lebih mudah untuk bekerja, tetapi kalau keretanya cukup penuh, otak saya kembali mati
  • Cerita tentang mengirim harga saham, skor pertandingan, cuaca, dan semacamnya mengingatkan saya pada fitur yang dulu disediakan Google lewat layanan pesan teks
    Saya sangat sering memakainya sebelum membeli smartphone pertama; kalau mengirim W[ZIP code] ke 46645(GOOGL), mereka membalas cuaca lewat SMS
    stock:[symbol] juga bisa, dan ada banyak fitur lain yang sekarang sudah saya lupa
    Tentu saja Google menutupnya, tetapi selama masih berjalan, itu cukup keren

    • Pada masa saya mengutak-atik PHP, saya membuat bot Twitter bernama SongBuddy yang mencari lagu dari sebagian lirik
      Strukturnya waktu itu: mengirim beberapa baris lirik lewat SMS DM yang didukung Twitter, lalu bot mencari " lyrics" di Google, mem-parsing hasilnya, dan mengembalikan artis serta judul lewat SMS
      Tidak berjalan dengan baik, tetapi saya cukup bangga dengannya
    • Situs konversi kurs yang saya pakai dijalankan oleh seorang profesor, dan meski mungkin berjalan di komputer Pentium III yang disembunyikan di bawah tangga kampus, situs itu tetap hidup selama puluhan tahun dan rasanya akan bertahan seumur hidup
    • Saya membuat antarmuka SMS↔ChatGPT dengan Twilio dan instans AWS
      Berkat itu, saya bisa bertanya kepada ChatGPT dari mana saja di Bumi lewat komunikator satelit portabel inReach Mini 2, dan cukup menyenangkan bisa bertanya bahkan dari tengah Death Valley
    • Saya selalu memakai layanan itu dengan ponsel lipat
      Mengetik kueri Google memakan waktu lama dan hasilnya bisa butuh 1–2 menit untuk datang, tetapi itu tetap lebih baik daripada tidak ada
      Biasanya saya memakainya untuk mencari alamat tempat yang ingin saya tuju lalu memasukkannya ke TomTom, dan zaman sudah banyak berubah
    • Saya penasaran kapan itu terjadi
      Sekitar 1995, saat bekerja di perusahaan riset telekomunikasi anak perusahaan Ericsson, saya memikirkan ide seperti ini, dan contoh utamanya adalah pembaruan status penerbangan
      Karena tidak ada yang membayangkan bahwa pesan P2P, yang untuk memasukkan satu huruf di keypad numerik saja harus menekan beberapa kali, akan menjadi begitu populer, dalam situasi data di web awal makin bertambah, layanan informasi tampak seperti pemanfaatan terbaik
      Teletext juga masih ada, dan ada proyek terpisah untuk mengambil datanya
      Namun menarik juga memikirkan pada akhirnya untuk apa kami yang punya akses ke SMS, dan masyarakat umum, menggunakannya
  • Menarik bahwa penulis sudah cukup dekat dengan TCP di atas field penyuntingan bersama yang abstrak
    Itu sendiri bisa menjadi alat yang sangat keren
    Jika cara kedua pihak membaca dan menulis ke sumber daya bersama dirancang pada level tinggi, kita bisa membayangkan sebuah proksi yang menangani sisanya dan menyediakannya sebagai proksi SOCKS

    • Sejauh yang saya tahu, TCP/IP di atas DNS pernah diimplementasikan untuk memakai internet gratis di hotspot bandara Boingo berbayar
      Pada akhirnya Wi-Fi gratis menjadi standar sehingga itu bukan lagi hal besar, dan sekarang kita beralih ke perang Wi-Fi gratis di pesawat
      Pada akhirnya Wi-Fi di pesawat juga akan gratis di mana-mana, dan beberapa maskapai sudah melakukannya
    • Saya sudah memikirkan ini selama beberapa tahun sejak operator seluler di negara saya mulai mengiklankan “WhatsApp tanpa batas” pada paket data terbatas
      Mungkin hanya teks yang bisa, bukan gambar atau video, tetapi itu sudah cukup untuk penjelajahan web biasa
  • Beberapa tahun lalu, dekan universitas kami berkata kira-kira bahwa “game memengaruhi kehadiran,” lalu memutuskan untuk memblokir jaringan LAN setelah pukul 10 malam
    Cara implementasinya adalah memblokir semua traffic yang keluar-masuk berdasarkan alamat IP, tetapi TCP itu sendiri tidak diblokir, dan IPv6, yang saat itu juga bukan hal yang benar-benar baru, sepenuhnya terlupakan
    Jadi saya membuat aplikasi chat P2P sederhana yang berjalan lewat IPv6, dan satu-satunya masalah adalah harus membagikan alamat IPv6 kepada teman-teman serta meminta mereka menyimpannya di kontak
    Itu berjalan dengan baik, tetapi belakangan saya menyadari bahwa melakukan tunneling ke komputer di luar jaringan jauh lebih mudah

  • Ini terasa seperti contoh yang hampir sempurna dari tulisan tentang menulis lebih banyak software yang tidak berguna dan diskusi HN yang menyusulnya
    Apakah ini mengubah hidup? Mungkin tidak
    Apakah proses membuat dan mengeksplorasinya menyenangkan? Hampir pasti
    Kita perlu membuat lebih banyak hal seperti ini
    https://ntietz.com/blog/write-more-useless-software/
    https://news.ycombinator.com/item?id=37911900