- Dwitter adalah platform untuk membuat dan membagikan demo visual dengan kode JavaScript dalam 140 karakter atau kurang
- Setiap posting disebut 'dweet' dan menampilkan animasi grafis yang langsung dijalankan bersama kodenya
- Pengguna berinteraksi melalui komentar, remix, dan hashtag, sehingga modifikasi dan kreasi ulang kode berlangsung aktif
- Konten populer dapat dijelajahi dengan berbagai urutan seperti hot, new, top (mingguan/bulanan/tahunan/semua waktu)
- Sebuah wadah eksperimen pemrograman kreatif untuk mewujudkan efek visual kompleks dengan kode singkat
Ikhtisar Dwitter.net
- Dwitter.net adalah platform web untuk membuat demo visual dengan kode JavaScript yang dibatasi hingga 140 karakter
- Setiap demo disebut 'dweet' dan menghasilkan grafik animasi yang langsung berjalan di browser
- Setelah login, pengguna dapat menulis dweet baru atau me-remix karya yang sudah ada
- Situs ini memungkinkan pengguna menjelajahi konten populer dengan berbagai urutan seperti hot, new, top (mingguan/bulanan/tahunan/semua waktu)
- Setiap dweet dilengkapi fitur bagikan, layar penuh, laporkan, dan komentar
Contoh dweet unggulan
- "Bubble universe colour expansion" dinilai menonjol berkat warna yang kaya dan efek visual yang jelas
- Di komentar muncul tanggapan seperti "A whole universe!"
- "Ants! 🐜" adalah karya yang menampilkan gerombolan semut dengan kode singkat, dan mendapat pujian seperti "god level dweetage!"
- "Trees, shadows, hills." adalah animasi yang menggambarkan pepohonan, bayangan, dan perbukitan, serta mendapat respons "Amazing stuff!"
- "Flight Over Destroyed City ✈️" mewujudkan adegan penerbangan di atas kota yang hancur
- Komentarnya dipenuhi respons humor seperti "i love the smell of sulfur and uranium in the morning"
- "Solar Orbit ☀️🌘" menghadirkan orbit planet dalam 140 byte, memunculkan kekaguman seperti "How did you fit a whole planetary system in 140 BYTES OF JAVASCRIPT!?!?"
Aktivitas komunitas dan budaya remix
- Setiap dweet dapat di-remix berdasarkan kode pengguna lain, dan tautan ke karya asli dicantumkan
- Kolom komentar memadukan umpan balik teknis, apresiasi, dan humor, membentuk suasana komunitas yang hidup
- Melalui fitur hashtag, pengguna bisa menelusuri tema seperti #space, #galaxy, #lighting, #scene
Karakteristik teknis
- Sebagian besar kode dipadatkan dalam bentuk eval(unescape(escape
...)), untuk menghadirkan efek visual semaksimal mungkin dalam batas 140 karakter
- Di dalam kode, penggunaan Canvas API berfokus pada penggambaran bentuk, warna, dan gerakan
- Setiap dweet menampilkan panjang kode (misalnya "// 136/140"), sehingga teknik optimasi dan kompresi menjadi elemen penting
Wadah eksperimen pemrograman kreatif
- Dwitter menggabungkan code golf dan seni visual, mendorong persaingan kreativitas antar pengembang
- Proses menghasilkan hasil visual kompleks dari kode sederhana dinilai sebagai bentuk estetika pemrograman
- Platform ini berfungsi sebagai ruang eksperimen untuk menjelajahi batas antara ekspresi artistik dan kompresi teknis
2 komentar
Sungguh menakjubkan
Komentar Hacker News
Maaf sempat harus me-reboot server sebentar. Berkat pelajaran dari kejadian serupa sebelumnya, ukuran DigitalOcean droplet sudah saya sesuaikan
Misalnya dalam bentuk seperti
eval(unescape(escape\<<97 wide characters>>`.replace(/u../g,'')))`, yang memulihkan 194 karakter ASCII dari 97 karakter UnicodeSaya malah berharap ada semacam kesepakatan seperti percakapan Ford Prefect dan Mr Prosser: “anggap saja 194 karakter ini dimasukkan ke dalam 140 karakter lalu tampilkan saja”
Logikanya mirip dengan batas 4096 byte di demoparty, yang pada praktiknya diisi dengan mengompresi 12~20KB memakai Crinkler
Saya mencari wawancara lama dan ternyata menarik: wawancara Medium
Sihir yang sesungguhnya ada pada komunitasnya: komunitas Discord
GIF animasi
Untuk detailnya, lihat postingan forum Autohotkey
Saat ada batasan, keragaman justru meledak. Ilusi visual, kalimat pendek, eksperimen ke arah yang tak terduga, dan sebagainya
Batasan mendorong fokus dan menurunkan biaya kegagalan sehingga eksperimen jadi lebih mudah
Kebanyakan platform mencoba memperluas kreativitas dengan menambahkan fitur, tetapi justru membuatnya lebih rumit
Saya sering teringat aturan bahwa batasan menciptakan kesenangan
Saya penasaran kapan batasan menghasilkan hasil yang lebih baik, dan kapan batasan terasa seperti sesuatu yang dibuat-buat
Pengalaman itu benar-benar mengubah cara saya berpikir tentang kode
Di komunitas kecil kami berbagi teknik penghematan byte sambil membuat berbagai hal, dari renderer Mandelbrot sampai solver Sudoku
Sepuluh tahun kemudian, saya sangat terkejut ketika menemukan implementasi UUID yang dulu saya buat di codebase perusahaan saya
Tautan terkait: video YouTube, Byte-saving techniques, UUID gist
js_funcdipanggil sebagai tagged template literalSekarang saya jadi ingin mencoba hal seperti
console.log\weeee``Contoh: htm, lit.dev
Saya menyimpan data SVG kecil dalam kode inline dan membuat sampler berukuran 13KB
contoh tautan
Contohnya:
evaldiblokirSebagai gantinya, sebaiknya ditambahkan lebih banyak shorthand. Misalnya
sberartiMath.sign, tetapi sebenarnya masih bisa diperluasJika diubah belakangan, target yang tetap akan hilang dan daya tariknya berkurang
beta.dwitter.net mempertahankan target tetap sambil meningkatkan aksesibilitas encoding
Pengecualian seperti Math.sin atau encoder warna CSS ditambahkan karena alasan praktis
Di Dwitter 2 bahkan sempat ada pembahasan untuk memasukkan lebih banyak karakter pradefinisi agar pengguna bisa memperluasnya sendiri
Pada akhirnya yang penting adalah kreativitas. Bahkan memelintir aturan pun merupakan tindakan kreatif
evalbisa diselesaikan dari akarnyaKompresi data lewat string literal masih mungkin, tetapi kompresi keseluruhan kode akan berkurang
evaldiperbolehkan. Aturan adalah aturan (atau memang tidak ada aturan)