Auf der Suche nach einer einfachen Möglichkeit Service Discovery für eigene Node.js Services zu machen, habe ich nach einigen nicht sehr erfolgsversprechenden Versuchen mit mdns(bonjour) begonnen einen Multicast Server zu schreiben. Aus diesem Proof-of-Concept ist inzwischen ein Middleware-fähiger Multicast Server entstanden. Quellen, Beispiele und Dokumentation sind auf github zu…

weiterlesen

Beim asynchronen Programmieren kommt es oft darauf an, sicherzustellen das Callbacks auch tatsächlich zurückkommen bzw. nur ein einziges mal zurückkommen. Um dieses Problem zu abstrahieren nutze ich selbst folgende Funktion: function wrap(callback, timeout) { if (callback._timeoutId && callback._callback) { clearTimeout(callback._timeoutId); callback = callback._callback; return callback; } var…

weiterlesen

Node.js setzt zur Validierung von JavaScript Code den Closure Linter ein. Die Basis anhand welcher der Closure Linter den Code prüft bildet der Google JavaScript Style Guide. Um eigenen Node.js Projekten…

weiterlesen

Dieser Artikel beschreibt eine neue Kamera, die am MIT entwickelt wurde und in der Lage ist einen 50 Femtosekunden dauernden Laserpuls in der Bewegung…

weiterlesen

Wenn ein node.js Programm viel auf der CPU rechnen muss ist für die Dauer dieser Berechnungen die Event Loop blockiert. Folgendes Programm, welches sich nach 10s beenden sollte, funktioniert deswegen nicht wie erwartet: setTimeout(function() { process.exit(0); }, 10000); for(;;) { doSomething(); } Die Timeout Funktion wird nie ausgeführt, weil die for-Schleife die Kontrolle niemals an die Event Loop…

weiterlesen