Ein kurzer String soll besser auf vergleich/speicher-bar werden zu diesem Zweck eignet eine Hash-Funktion sehr gut. Diese ist aber nicht in der Standard Bibliothek von Java Script enthalten und muß nachgerüstet werden, die Suche brachte allerdings zwei unterschiedliche Beispiele zu Tage.

  1. javas-string-hashcode-method
  2. fast-open-source-checksum-for-small-strings

Die erste Lösung gefällt, kompakt und bei jedem String verfügbar, wird das allerdings nicht benötigt sollte hier noch einmal genauer hingeschaut werden. Bei den Anforderungen war die Geschwindigkeit ein wichtige Faktor, ein kleiner Benchmark ist schnell geschrieben.
Das Ergebnis ist recht eindeutig die zweite Variante ist im Durchschnitt 50% langsamer.

Bei DSO kann man seit neustem auf der Heimatinsel Sammelgegenstände finden, die im Rathaus gegen Förderungen getauscht werden können oder im Handel an zu bieten sind.
Mitunter ist es nicht ganz so leicht auch das letzte Stueck der Sammelquest ausfindig zu machen. In diesem Fall kann ein Befreundeter Mietspieler mit Hilfe der Such Quest Karte auf 42×3.de/sq

Suchquest Helfer

Kurzanleitung:

Bietet die Möglichkeit auf einer Karte zu einem bestimmten Punkt zu springen, dafür befindet sich auf der Linken Seite eine Übersicht mit Beschreibung.
Suchquest Helfer beherbergt die Punkte auf der Heimatinsel an denen sich Sammelstücke befinden. Ein Freund erstellt diese Karte und gibt einen Link weiter, mit diesem kann der Inselbetreiber sein Gegenstände ernten.
Die erstellten Links können über die Sozialen Plattformen Facebook, Google Plus und Twitter geteilt werden.
Desweitern gibt es die Option die Adresse Mithilfe von einem “URL-Shortener” zu verkürzen oder für den Siedler Online Chat lesbar zu halten.

Sollte nicht so schwer sein habe ich gedacht …
Also fragte ich auf der Arbeit mal rum ob jemand für diesen Zweck einen Dienstleister kenne, Erfahrungswerte sind mir hier lieber als eine Recherche im Netz. Zu meinem erschrecken fand ich nicht einen der hier sofort oder auch nach kurzer Gedankenpause eine bekannte Lösung präsentieren konnte. mehr lesen …


Wenn wir uns von diesem Begriff entfernen, wie er in Funk und Fernsehen verwendet wird, so ist eine Datenbank mehr als eine Software die Daten speichert. Steigt man tiefer in diesen Bereich ein eröffnet sich eine sehr große Palette an unterschiedlichen Typen die jeweils bestimmte Probleme zu Lösen versuchen. Am Ende des letzten Jahrtausends, zur ersten DotCom Blase bedeutete eine Datenbank in den meisten Fällen SQL mit zwei Dominierenden Produkten MySQL oder PL/SQL. In den letzten Jahren stieg der Anspruch die Daten anders zu Organisieren und der Begriff NoSQL tauchte auf. Dieser kann leicht missverstanden werden denn er bedeutet nicht das man auf alle Errungenschaften der Konzepte über Board wirft. Vielmehr ist der Ansatz “Not only SQL” fuer jedes Problem eine Lösung zu schaffen die diesem am nächsten kommt. mehr lesen …

Friedhoefe 6 von 9 in betrieb
Vor genau einer Woche startete das dies jährige Halloween Event bei den Siedlern im Online Browserspiel. Nun schon zum dritten mal galt es drei unterschiedliche Friedhöfe zu errichten, zu je drei jeder Sorte, die als Ernteprodukt Kürbisse hervorbringen. Mit diesen Event Ressourcen kann man im Shop einkaufen gehen, besonders interessant dieses Jahr das Verbessertes Lagerhaus oder alte Bekannte wie das Getreidesilo mehr lesen …

Da habe ich mir ja wieder eine Konfiguration ausgedacht die nur schwer zu reproduzieren ist. Dabei war der Ansatz doch möglichst Simple zu sein, nur JSON im Backend, Aussehen und Logik zum größten Teil im Frontend. Der HTTP Proxy Nginx transportiert also alles statische direkt an den Client und reicht alles andere an den WSGI Server von Bottle weiter.

Also diese Config fuer Nginx erfuellt dieses :

server {
 listen 80;
 server_name dexta.de;
 root        /home/python/Nailboard;
 location / {
   rewrite .*\.(?:py|php)$ /index.html break;
   try_files $uri $uri/ /index.html; #if doesn't exist, send it to index.html
 }

 location ~* \.(?:ico|css|js|gif|jpe?g|png|html)$ {
   # Some basic cache-control for static files to be sent to the browser
   expires max;
   add_header Pragma public;
   add_header Cache-Control "public, must-revalidate, proxy-revalidate";
 }

 location /app/ {
fastcgi_pass 127.0.0.1:9005;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
 }
}

Mit offenen Augen bewegte ich mich die letzten Jahre durch die Computerkultur, hörte Podcast mit Hauptsächlich Technischer Ausrichtung und gelegentlich einen Video Tutorial zum neusten Webframework.
Bei dieser Bewegung konnte einem nicht entgehen das die bevorzugte Plattform Mac OS X geworden war, die Gründe adressierte ich an den Unix Unterbau mit einer Moderen grafischen Oberfläche. Die gesamte Zeit arbeite ich zu Hause unter Linux und Programmierte vor mich hin, bei der Erwerbsarbeit war ich Windows XP/7 Benutzer. Als sich die Tätigkeit änderte stand ich vor der Wahl Win7/Linux oder Mac OS X. mehr lesen …