Dwitter – Sammlung von JavaScript-Demos mit 140 Zeichen
(beta.dwitter.net)- Dwitter ist eine Plattform, auf der man visuelle Demos mit JavaScript-Code von maximal 140 Zeichen erstellen und teilen kann
- Jeder Beitrag wird als „dweet“ bezeichnet und zeigt zusammen mit dem Code sofort ausführbare grafische Animationen an
- Nutzer interagieren über Kommentare, Remixes und Hashtags, wodurch Variationen und Neuschöpfungen von Code aktiv entstehen
- Beliebte Inhalte lassen sich nach verschiedenen Sortierungen wie hot, new, top (Woche/Monat/Jahr/gesamt) erkunden
- Ein Spielplatz für kreative Programmierexperimente, auf dem mit kurzem Code komplexe visuelle Effekte umgesetzt werden
Überblick über Dwitter.net
- Dwitter.net ist eine Webplattform zur Erstellung visueller Demos mit auf 140 Zeichen begrenztem JavaScript-Code
- Jede Demo wird als „dweet“ bezeichnet und erzeugt animierte Grafiken, die sofort im Browser ausgeführt werden
- Nach dem Login können Nutzer neue dweets verfassen oder bestehende Werke remixen
- Die Website bietet verschiedene Sortierungen wie hot, new, top (Woche/Monat/Jahr/gesamt), um populäre Inhalte zu entdecken
- Jeder dweet enthält Funktionen zum Teilen, Vollbild, Melden und Kommentieren
Beispiele bekannter dweets
- „Bubble universe colour expansion“ wird für seine vielfältigen Farben und klaren visuellen Effekte geschätzt
- In den Kommentaren erscheinen Reaktionen wie „A whole universe!“
- „Ants! 🐜“ zeigt mit kurzem Code einen Ameisenschwarm und erhielt Lob wie „god level dweetage!“
- „Trees, shadows, hills.“ ist eine Animation mit Bäumen, Schatten und Hügeln und bekam Reaktionen wie „Amazing stuff!“
- „Flight Over Destroyed City ✈️“ setzt eine Flugszene über einer zerstörten Stadt um
- In den Kommentaren folgen humorvolle Reaktionen wie „i love the smell of sulfur and uranium in the morning“
- „Solar Orbit ☀️🌘“ setzt Planetenumlaufbahnen innerhalb von 140 Byte um und löste Staunen aus wie „How did you fit a whole planetary system in 140 BYTES OF JAVASCRIPT!?!?“
Community-Aktivität und Remix-Kultur
- Jeder dweet kann auf Basis des Codes anderer Nutzer remixt werden, wobei ein Link zum Original angegeben wird
- In den Kommentaren mischen sich technisches Feedback, Eindrücke und Humor, was eine lebendige Community-Atmosphäre schafft
- Über Hashtags ist eine thematische Erkundung von #space, #galaxy, #lighting, #scene und mehr möglich
Technische Merkmale
- Der Großteil des Codes ist in Formen wie eval(unescape(escape
...)) komprimiert und setzt innerhalb des 140-Zeichen-Limits möglichst starke visuelle Effekte um - Im Code steht vor allem die Nutzung der Canvas-API für Formen, Farben und Bewegungen im Mittelpunkt
- Bei jedem dweet wird die Codelänge angegeben (z. B. „// 136/140“), sodass Optimierungs- und Komprimierungstechniken eine wichtige Rolle spielen
Ein Raum für kreative Programmierexperimente
- Dwitter verbindet Code Golf und visuelle Kunst und fördert damit einen kreativen Wettbewerb zwischen Entwicklern
- Der Prozess, mit einfachem Code komplexe visuelle Ergebnisse zu erzeugen, wird als programmästhetisch wahrgenommen
- Die Plattform dient als Experimentierraum, der die Grenze zwischen künstlerischem Ausdruck und technischer Komprimierung erforscht
2 Kommentare
Wirklich beeindruckend.
Hacker-News-Kommentare
Sorry, dass ich den Server kurz neu starten musste. Dank der Lektion vom letzten Mal habe ich die Größe des DigitalOcean-Droplets angepasst.
Zum Beispiel kann man mit etwas wie
eval(unescape(escape\<<97 wide characters>>`.replace(/u../g,'')))` 97 Unicode-Zeichen wieder in 194 ASCII-Zeichen umwandeln.Lieber wäre mir eine Übereinkunft wie im Dialog zwischen Ford Prefect und Mr Prosser: „Sagen wir einfach, ich habe 194 Zeichen in 140 untergebracht, und zeigen es einfach an.“
Das ist eine ähnliche Logik wie beim 4096-Byte-Limit auf Demopartys, wo man tatsächlich mit Crinkler 12–20 KB passend komprimiert.
Ich habe ein altes Interview gefunden, das interessant ist: Medium-Interview
Die eigentliche Magie steckt in der Community: Discord-Community
Animiertes GIF
Details stehen in diesem Autohotkey-Forenbeitrag.
Mit Einschränkungen explodiert die Vielfalt eher noch: visuelle Täuschungen, kurze Sätze, Experimente in unerwartete Richtungen.
Einschränkungen fördern Fokus und senken die Kosten des Scheiterns, wodurch sie zum Experimentieren ermutigen.
Die meisten Plattformen versuchen, Kreativität durch zusätzliche Funktionen zu erweitern, machen sie dadurch aber oft nur komplexer.
Ich denke oft an die Regel: Einschränkungen schaffen Spaß.
Mich würde interessieren, wann Einschränkungen zu besseren Ergebnissen geführt haben und wann sie sich eher künstlich angefühlt haben.
Diese Erfahrung hat meine Art zu denken über Code völlig verändert.
In einer kleinen Community haben wir Byte-Spartechniken geteilt und alles Mögliche gebaut, vom Mandelbrot-Rendering bis zum Sudoku-Solver.
Zehn Jahre später war ich völlig verblüfft, als ich in der Codebase meiner Firma eine UUID-Implementierung wiederfand, die ich damals geschrieben hatte.
Relevante Links: YouTube-Video, Byte-saving techniques, UUID-Gist
js_funcwird als tagged template literal aufgerufen.Ich werde jetzt wohl Dinge wie
console.log\weeee`` ausprobieren.Zum Beispiel: htm, lit.dev
Ich habe kleine SVG-Daten als Inline-Code gespeichert und so einen 13-KB-Sampler gebaut.
Beispiellink
Zum Beispiel:
evalwäre unterbunden.Stattdessen hätte ich gern mehr Shortcuts. Zum Beispiel steht
sfürMath.sign, aber man hätte das noch weiter ausbauen können.Wenn man es später ändert, verschwindet das feste Ziel, und damit geht ein Teil des Reizes verloren.
beta.dwitter.net verbessert die Zugänglichkeit beim Encoding und behält trotzdem das feste Ziel bei.
Ausnahmen wie Math.sin oder CSS-Farb-Encoder wurden aus praktischen Gründen ergänzt.
Für Dwitter 2 gab es auch Diskussionen darüber, mehr vordefinierte Zeichen einzubauen, damit Nutzer selbst erweitern können.
Am Ende geht es um Kreativität. Selbst das Verbiegen der Regeln ist an sich schon ein kreativer Akt.
eval-Problem grundsätzlich lösen.Man könnte Daten zwar weiterhin in String-Literalen komprimieren, aber die Komprimierung des gesamten Codes würde abnehmen.
evalerlaubt ist. Regeln sind Regeln – oder eben keine Regeln.