Comedy für Software-Entwickler

Grandioses Video, dass skurrile Eigenschaften von Ruby und Javascript zu echter Unterhaltung macht. [] + {} ist „[object Object]“, aber {} + [] ist 0? Ich habe schon viele Ecken und Kanten gesehen, aber noch nie so witzig zusammengefasst. [youtube clip_id=“_yZHbh396rc“]

Javascript: Not a Number ist ’ne Number

Gemeiner, kleiner Fehler, der sich da in eines meiner Skripte geschlichen hat: var value = parseInt(input); if (typeof value === ’number‘) { doSomething(value); } Blöd, wenn doSomething nur mit richtigen Zahlwerten arbeiten kann: ParseInt liefert im Fehlerfall NaN. Und NaN hat einige interessante Verhaltensweisen: typeof NaN // ’number‘ NaN == NaN // false

Node.js unter Ubuntu installieren

Im Repository von Ubuntu 12.04 findet sich das Paket nodejs in Version 0.6.12. Wer es lieber aktuell mag, kann sich den JS-Server auch einfach selber bauen (entsprechende Build-Tools wie build-essentials müssen installiert sein): wget http://nodejs.org/dist/v0.8.14/node-v0.8.14.tar.gz tar -xf node-v0.8.14.tar.gz cd node-v0.8.14 ./configure make sudo make install

Javascript-„IDE“ Light Table: Ernüchternde Alpha

Light Table: Echtzeitausführung von Closure-Skripten

Vor einiger Zeit hatte ich über die damals recht vielversprechende Javascript-IDE Light Table berichtet. Was damals schon recht vielversprechend aussah wirkt aus heutiger Sicht wie ein manipuliertes Werbevideo: Die nun verfügbare Alphaversion kann fast nichts von dem, was damals versprochen wurde. Keine IDE, vielmehr ein unfertiger Editor.

jQuery-Selektor-Erweiterung Labeled

Für eine TYPO3-Website soll ein E-Mail-Formular eingerichtet werden. Ich nutze die Erweiterung Powermail, die mir alle wesentlichen Schritte abnimmt: Nur die einzelnen Felder müssen angegeben werden, um Formulargenerierung und Mail-Versand muss man sich nicht kümmern. Für ein paar zusätzliche Validierungen nutze ich Javascript, das die entsprechenden Felder des Formulars anhand ihrer IDs identifiziert und validiert. Nachdem auf dem Testsystem alles funktioniert, exportiere ich die Seite in die Live-Website. Dort der Schock: Alle Feld-IDs haben sich geändert, das Javascript funktioniert nicht mehr.

Javascript: 1 == [1]

Mit dem ungetypten Vergleichsoperator == in Javascript sollte man schon vorsichtig sein. Dass 1 == „1“ ist, ist man wohl gewöhnt. Es ist oft sehr hilfreich und sorgt selten für Fehler. Aber es gibt echt skurrile Kandidaten, an deren True-sein man wohl eher nicht denken würde.

Appell für sauberes HTML

Ein neuer Tag, ein neues CSS-Framework und immer wieder das alte Problem: <div id="page_wrap" class="container row"> <header class="row span_12"> <hgroup class="row span_12"> <h1 class="col span_4">Site Title</h1> <h2 class="col span_8">Site Description</h2> Fünf Elemente, zehn Klassen, eine ID? Diese netten Zusatzinformationen führen zu 193 statt 68 Zeichen. Ich weiß nicht, wer einmal beschlossen hat, Stylesheets vom Markup… Appell für sauberes HTML weiterlesen