Street Fighter V Ditarik Sementara dari Steam, Mode Online Dimatikan
TeknologiCapcom mematikan sementara fungsi online Street Fighter V dan menariknya dari Steam setelah muncul masalah akibat celah keamanan PHP pekan lalu.
Jake Wharton membuat dir stepper, alat 50 baris Kotlin/Native, agar sesi live coding di KotlinConf berjalan tanpa terlihat penonton.
Jake Wharton memaparkan pengalaman di balik sesi live coding pertamanya dalam tulisan yang diterbitkan 16 Juli 2026. Presentasi berjudul "Talking to terminals (and how they talk back)" itu ia bawakan di KotlinConf, sekitar dua bulan sebelum tulisan tersebut terbit, dan seluruh kode ditulis dari nol di hadapan penonton.
Sebelumnya Wharton terbiasa membawakan presentasi yang banyak memakai slide, berisi demo kecil atau penelusuran kode yang sudah ada. Karena sesi kali ini dimulai dari keadaan kosong, ia menghabiskan sebagian besar waktu di dalam IDE. Dari situ muncul persoalan lain: bagaimana mengingat bagian kode yang harus ditulis pada setiap tahap.
Table of contents [Show]
Jalan yang paling gamblang adalah menyiapkan repositori git dengan satu commit untuk setiap tahap. Menurut Wharton, cara itu justru sangat merepotkan dan tidak berjalan sama sekali, setidaknya untuknya.
Ia mulai dengan commit, tetapi ketika mencapai commit ketujuh atau kedelapan, lebih dari separuh waktunya habis untuk melakukan interactive rebase atas seluruh riwayat. Jika ia membutuhkan sebuah fungsi pada tahap 8 yang seharusnya sudah diekstrak antara tahap 3 dan 4, ia harus meluangkan sekitar 10 menit lagi untuk menulis ulang riwayat. Karena berkas yang berubah hanya sedikit, setiap commit berbenturan dengan perubahan riwayat.
Masalah berikutnya adalah cara berpindah antar tahap. Git umumnya membantu pengguna melompat mundur dari versi terakhir, bukan melangkah maju dari versi paling awal. Bagi Wharton, pendekatan itu jelas melawan arus.
Wharton mempresentasikan materinya di IntelliJ IDEA, IDE yang ia sebut sebagai platform yang sangat bisa diperluas. Plugin khusus sebenarnya bisa menyelesaikan persoalan itu. Namun ia telah menunda penulisan materi dan hanya menyisakan beberapa hari sebelum tampil, sehingga tidak mungkin mempelajari sekaligus menulis plugin IDE dalam waktu sesingkat itu. Ia juga menilai kualitas dokumentasi plugin IntelliJ berbanding terbalik dengan kecanggihan platform tersebut.
Wharton secara tegas menolak memakai model bahasa besar (LLM) untuk mengerjakan alat bantunya. Ia menyinggung persoalan etis yang melingkupinya dan menegaskan bahwa menggarap alat itu sendiri adalah bagian yang menyenangkan.
Ia kemudian menemukan dokumentasi IntelliJ mengenai external tools. Jika alat ditulis sebagai program command-line, IDE dapat dikonfigurasi untuk memanggilnya, dan menurut dokumentasi tersebut pengguna dapat "assign a shortcut to it" atau menetapkan pintasan untuk alat itu.
Karena alat command-line itu bersifat stateless, isi setiap tahap perlu disimpan dan status tahap aktif harus dicatat. Wharton memilih satu direktori bernama .steps yang menampung seluruh tahap, masing-masing sebagai subdirektori bernomor berurutan. Setiap berkas di dalam sebuah tahap akan disalin ke direktori kerja saat tahap itu dijalankan.
Proyeknya dibangun dengan Gradle, sehingga terdapat berkas build.gradle dan direktori src berisi kode. Pada tahap-tahap awal hanya main.kt yang berubah, lalu tahap berikutnya mulai menyertakan berkas lain seperti build.gradle.
Untuk menandai tahap yang sedang aktif, ia menempatkan berkas kosong dengan nama khusus, misalnya .step.2, di folder utama. Menaruhnya di dalam direktori .steps sempat terasa lebih rapi karena sepenuhnya tak terlihat, tetapi ketika menguji tahapan ia perlu merujuk tahap terkini dengan cepat. Penanda itu juga memastikan kode yang tampil sejalan dengan catatannya selama presentasi.
Alatnya sendiri digambarkan sederhana: program Kotlin/Native sekitar 50 baris yang ia sebut sebagai "glorified cp", istilahnya untuk program yang pada dasarnya hanya menyalin berkas.
Seiring bertambahnya tahap dan ia mengulik perpindahan antar tahap, Wharton ingin bisa mengatur ulang atau bahkan mundur. Keduanya tidak diperlukan saat presentasi, tetapi menjadi penting ketika menyusun materi. Program itu menerjemahkan tiga arah menjadi nilai delta: "next" menjadi 1, "prev" menjadi -1, dan "reset" menjadi 0, sedangkan arah lain memicu UnsupportedOperationException dengan pesan "Unknown direction".
Di menu Settings > Tools > External Tools, Wharton membuat tiga "tools" yang masing-masing memanggil program itu dengan tiga arah berbeda. Setiap tool kemudian diberi pintasan tombol sendiri, sehingga ia dapat berpindah tahap tanpa terlihat penonton. Bagian terakhir yang krusial adalah memastikan IDE disinkronkan secara otomatis terhadap perubahan berkas dari luar.
dir-stepper tersedia sebagai proyek open source, dan README-nya memuat video yang menunjukkan integrasi lengkapnya.
Wharton menilai alat itu bekerja sangat baik untuk kebutuhannya, meski ia baru teringat di tengah presentasi bahwa ia seharusnya memakai alat tersebut. Sebagai proyek sampingan, ia menyebutnya menghibur, tidak memakan waktu lama untuk dibuat, dan pada akhirnya membuatnya lebih bersemangat menyelesaikan materi presentasi.
Sumber: Jake Wharton
Capcom mematikan sementara fungsi online Street Fighter V dan menariknya dari Steam setelah muncul masalah akibat celah keamanan PHP pekan lalu.
Jensen Huang menyebut lisensi software AI NVIDIA bisa mencapai US$2.000 per GPU per tahun, sekitar Rp36 juta, sebagai ilustrasi potensi bisnis.
Artifact management menghubungkan build CI/CD dengan deployment yang dapat dilacak dan direproduksi, diperkuat SBOM, signing, dan provenance.
These cookies are essential for the website to function properly.
These cookies help us understand how visitors interact with the website.
These cookies are used to deliver personalized advertisements.