Update: Die Zeit
Hier mal wieder ein kleines Update meinerseits:
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
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
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.
Facebook Security Infografik
Seit dem Facebook seine Bekanntheit immer weiter ansteigt, haben Sie auch immer mehr Probleme mit ihrer IT-Security. Dabei trat in den letzten Jahren nicht nur Spam auf sondern auch Würmer wie Koobface. Im Rahmen des Cybersecurity Awareness Monat hat Facebook diese Infografik veröffentlicht, welche die Sicherheits-Checks zeigt, durch die jeden Login schützen.





