Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X
Articles

Update: Die Zeit

Hier mal wieder ein kleines Update meinerseits:

Leider ist Zeit im Moment bei mir etwas Mangelware, daher werden meine Posts auch immer seltener. Doch nachdem ich meine MA abgegeben habe, sollte es wieder besser werden.
Thematisch beschäftige ich mich zurzeit mit IT-Sicherheit in der Industrieautomatisierung und im Rahmen des Asmonia Projekts mit Cloud Architekturen. Vielleicht kommen in demnächst auch ein paar Beiträge dazu.
Articles

Warteschlangen – Welche ist die richtige?

Wer kennt es nicht: man steht im Supermarkt an einer Schlange und denkt sich man hat die Falsche gewählt. Oder soll ich meine Schlange noch schnell wechseln, weil die scheinbar anderen schneller sind? Dieses Problem könnte einfach aus der Welt geschafft werden, indem eine Warteschlange anstatt mehrere benutzt werden würde. Leider kommt es dann den Kunden so vor, als wäre die Schlange noch länger, weshalb sie das schlechtere Prinzip bevorzugen.

Würde eine Schlange benutzt werden könnte die durchschnittliche Wartezeit um den Faktor 3 verkürzt werden. Bill Hammack[1] zeigt in einem Video wie die Theorie der Warteschlangentheorie für Telefone auf Supermärkte übertragen werden kann. Das Prinzip ist einfach: Blockiert ein Kunde eine Kasse, so werden bei mehreren Schlangen alle folgenden Kunden blockiert. Gibt es nur eine Schlage werden die folgenden Kunden an den anderen Kassen bearbeitet und es entsteht kein Stau.

Leider wird es wohl noch etwas dauern, bis es Geschäfte in Deutschland mit diesem Prinzip gibt. Die Anpassung wäre wohl zu viel verlangt für die Kunden. Wer mehr über das Thema erfahren will, auch wie sich Kunden in der Warteschlange verhalten, sollte sich [2] durchlesen.

[1] http://vimeo.com/18047725
[2] http://online.wsj.com/article/SB10001424052970204770404577082933921432686.html

Articles

Atwood’s Law

JavaScript ist eine der verbreitetsten Programmiersprachen im Internet. Dabei wurde durch die Entwicklung mächtiger Frameworks wie z.B. jQuery oder Prototype die Komplexität des Quellcodes deutlich reduziert und die Entwicklungszeit drastisch verkürzt. Atwood’s Law[1] beschreibt folgende Regel: “Any application that can be written in JavaScript, will eventually be written in JavaScript.” Auf Deutsch jede Anwendung die in JavaScript geschrieben werden kann, wird vielleicht in JavaScript geschrieben.

Das diese Regel gilt zeigen einige wirklich kuriose (vielleicht auch unnütze) in Javascript entwickelte Anwendungen. Hier zwei Beispiele:

1) JavaScript Implementierung der JVM

Dies ist eine “Proof of Concept” Implementierung der JVM in Javascript. Dabei wird der Java Code nicht in JavaScript umgewandelt, sondern der Byte Code ausgeführt.

2) Javascript PC Emulator

Eine in Javascript geschriebene Virtuelle Maschine welche ein Linux startet. Und dies alles innerhalb des Browsers. Darüber hab ich schon einmal hier berichtet.

[1] http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html

Articles

AI Challenge – Ameisen

Im Moment läuft wieder die von Google gesponserte AI Challenge unter [1]. Das Szenario ist diesmal das steuern von Ameisen. Dabei müssen die Ameisen Futter suchen und die anderen Ameisenhügel zerstören. Das sieht dann so aus:

Sobald der Contest vorbei ist und ich einigermaßen gut abgeschnitten habe, werde ich den Link zu meinem Profil posten. Mein Bot selbst ist mittlerweile  in C++ geschrieben. Davor hab ich einige andere Sprachen getestet, allerdings hat mir meist die Performance gefehlt.

Wer selber noch teilnehmen möchte hat zwar nicht mehr viel zeit, allerdings ist ein erster funktionierender Bot nicht so schwer zu schreiben. Wer Probleme hat sollte sich mal [2] anschauen. Dort wird ein Weg beschrieben, welcher kein direktes Pathfinding benutzt, und so deutlich performanter laufen kann.

  1. http://aichallenge.org
  2. http://benjamin-meyer.blogspot.com/2011/11/using-collaborative-diffusion-rather.html