Minecraft – baust du noch, oder lebst du schon?

Gamer kann man meiner Meinung nach in zwei Gruppen einteilen: die Oldschhool Zocker und die Generation Aldi-Rechner. Ich kann mich ganz klar zu Oldschool Generation zählen, die noch Spiele wie Monkey Island, Wolfenstein 3D, Maniac Mansion, Prince of Persia, Duke Nukem 3D usw. gespielt hat – für Generation Aldi-Rechner ein absolutes No-Go, weil “da die Grafik ja so schlecht ist”. Vielen der vor allem jüngeren Spieler ist Grafik einfach wichtiger als sehr gutes Gameplay und eine tolle Story. Natürlich spricht nichts dagegen, ein tolles Spiel mit bombastischer Grafik zu haben, aber das ist eher schönes Beiwerk.

Warum nun diese Einleitung? Es geht um Minecraft – ein Spiel, welches den Abstraktionsgrad ziemlich an die Grenze treibt. Sowohl grafisch als auch spielerisch. Die bei jedem neuen Spiel zufällig generierte Spielwelt besteht nur aus Blöcken bzw. Pixeln – selbst die Sonne ist nur ein großer weißer Pixel. Und was macht nun mit all diesen Punkten? Bauen!

Aber gehen wir die Sache etwas anders an: Stellt euch vor, ihr befindet euch plötzlich auf einer einsamen Insel und seid allein. Gut, nicht ganz allein, da gibts schon noch das ein oder andere Tier und auch ein paar Zombies, Riesen-Spinnen und andere Monster – aber dazu später mehr. Was macht man nun? Man sucht sich Material und baut sich eine Hütte. Um das zu schaffen braucht man Werkzeug – welches ihr natürlich nicht habt. Also muss auch das Werkzeug erstmal aus Materialien gebaut werden, welche ihr so auf der Insel findet bzw. abbauen könnt. Das klingt natürlich alles sehr abstrakt, daher sagt ein Video wohl mehr als tausend Worte:

Die am leichtesten zu beschaffende Ressource ist Holz. Selbst Bäume bestehen einfach nur aus Blöcken, weshalb man sie Stück für Stück zerlegen kann – physikalische Gesetze muss man hier einfach mal ausblenden, denn die Bäume fallen nicht zusammen, wenn man ihnen Holzblöcke entnimmt. Hat man genug Holz zusammen, kann man sich eine Axt bauen bauen, mit der die Gewinnung von weiterem Holz oder Steinen wesentlich schneller vorran geht. Mit noch mehr Holz kann man sich eine Werkbank bauen, mit deren Hilfe man mehr Ressoucen miteinander kombinieren kann, um neue Dinge zu erschaffen. Dieser Punkt des Spieles ist das Crafting.

Natürlich hat der Tag auch nur eine beschränkte Zeit und man sollte sich bis zum Einbruch der Nacht eine sichere Unterkunft gebaut haben. Man kann sich z.B. eine Höhle graben oder aus Holz/Steinen ein Häuschen bauen. Den Eingang sollte man erstmal verbarrikadieren, da man anfänglich gegen jede Art von Monster kaum eine Chance hat – was sich natürlich radikal ändert, wenn man im Verlauf des Spiels effektive Waffen wie Schwerter oder Pfeil und Bogen erzeugen kann.

Mittels Holz und Kohle kann man Fackeln bauen, es besteht die Möglichkeit Glas herzustellen, Schienen zu bauen – selbst eine Achterbahn ist möglich, wie folgendes Video zeigt:

Das Ziel des Spiels ist, einfach nur zu überleben. Die Kreativität kommt da von ganz allein. Ich muss wirklich sagen, dass das Spiel süchtig macht. Das tolle ist, dass man Minecraft völlig kostenlos und auch noch direkt im Browser testen kann – die Classic-Version. Allerdings hat man schon sehr viele Gegenstände und es gibt weder Gesundheit noch Monster – es ist der Sandbox-Modus. Wirklich interessant ist da doch der Survival Modus, der eben Monster und co. bietet. Und den gibt’s nur in der Kaufversion.

Obwohl sich das Spiel derzeit noch im Alphastadium befindet, kann man es nur käuflich erwerben. Es kostet 9,95€, ab dem Betastadium wird es 20€ kosten. Da selbst Beta-Software meist extrem fehlerbehaftet ist, könnte man hier meinen, dass es sich um Abzocke handelt. Was nicht der Fall ist. Minecraft ist derzeit bereits sehr gut spielbar und bisher sind mir bis auf ein ein paar Schattenfehler keine Bugs aufgefallen. Wer das Game bereits jetzt kauft, bekommt alle weiteren Updates kostenlos. Ein fairer Deal würde ich sagen und die 9,95€ haben sich für mich auf jeden Fall gelohnt.

Tutorial: ESXi Server mit der HP Z400 Workstation

Heute gibt es mal einen Gastbeitrag von einem meiner Auszubildenden zum Thema VMware ESXi Server. Der ESXi ist die kostenlose Variante des ESX Servers, der für die Servervirtualisation eingesetzt wird. Dabei wird kein Betriebssystem als Unterbau benötigt, da der ESX direkt in eine kleine Linux-Umgebung integriert ist. Das bringt zum einen extreme zusätzliche Performance, zum anderen auch eine geringere Bug-Anfälligkeit des Host-Systems. Patrick hatte bei der Einrichtung einige Probleme, da die Treiber für die Netzwerkkarte seiner Workstation nicht richtig erkannt wurden. Doch lest selbst:

Ich habe mich in der letzten Woche, aufgrund meiner Ausbildungsstelle, mit dem ESXi Server auseinandergesetzt.
Ziel war es, den Server auf einer HP Z400 Workstation zum Laufen zu bringen. VMware stellt hierfür eine kostenlose
ISO-Datei auf ihrem Webserver bereit.

Mit dem gebrannten ISO-Image im CD-Laufwerk traten auch schon die ersten Probleme auf:
Zum einen wird der Netzwerkadapter (NIC) vom ESXi Server nicht unterstützt, zum anderen lädt der ESXi standartmäßig SCSI Festplatten-Treiber. Da in der HP Z400 in der derzeitigen Konfiguration nur SATA Platten verwendet werden (bisher nur eine, später wird ein RAID folgen), musste ich mich durch verschiedenste Foren und Lösungsvorschläge kämpfen.

Letztendlich konnten beide Probleme folgendermaßen gelöst werden:

Ich habe mir eine Ubuntu Live-CD erstellt und diese auf der Workstation starten lassen,
mir das ‘mkesxiaio’ Bash-Script runtergeladen und in den Ordner ‘/Downloads/tmp/’ kopiert. In den gleichen Ordner kamen jeweils noch die ISO-Datei des ESXi 4.1 Servers und eine, aus dem vm-help.com Forum,
modifizierte, oem.tgz.

Im Anschluss startete ich das Terminal und wechselte in den Ordner ‘/Downloads/tmp/’,
um das Script mit ‘sudo chmod +x mkesxiaio_3.x.x.sh’ ausführbar zu machen
und per ‘sudo ./mkesxiaio_3.x.x.sh’ auszuführen.

Das Script frägt dann auch gleich, welche ESXi Version man benutzt. In diesem Fall wählte ich die ‘3’ für die Version 4.1.

Nachdem überprüft wurde, ob die benötigte Linux Tools in der Distribution vorhanden sind, konnte ich auswählen,
in welcher Form (modifiziertes ISO-Image, Installation auf den USB laden, Server auf den USB installieren) das Image ausgegeben werden soll. Ich wählte “Server auf USB-Stick installieren”.

Als die Frage, ob die init.d editiert werden soll, erschien, wählte ich “ja” und fügte folgendes am Ende der Datei ein:
vmkload_mod tg3.o
vmkload_mod lvmdriver

Dadurch werden bei jedem Boot-Vorgang die fehlenden Netzwerktreiber nachgeladen.

Nachdem der Stick erstellt war, konnte ich von selbigem Booten und den ESXi einrichten.

Die Instant Search für Youtube

Feross Aboukhadijeh, Student an der Universität von Stanford, hatte mit seinem Studienkollegen nach der Bekanntmachung der Google Instant Search eine mutige Wette abgeschlossen: Das ist kein großes Ding, das gleiche schaff ich für Youtube innerhalb einer Stunde nachzubauen. Er hat es nicht in einer Stunde geschafft – sondern in drei. Nachdem er fertig war, postete er noch eine Statusmeldung bei Facebook und legte sich anschließend schlafen:

Als er am nächsten Morgen erwachte, befanden sich bereits über 700 Mails in seinem Postfach – von Leuten, die ihm gratulierten, aber auch Interviewanfragen wie z.B. von der Washington Post. Er landete auf mehreren großen Internetportalen auf der Startseite und war die Story des Tages.

Als Krönung des Ganzen gab es dann noch ein Jobangebot vom Youtube CEO persönlich – natürlich per Twitter 😉

Mittlerweile hat Feross das Angebot angenommen und wird von nun an für Youtube arbeiten.

Wie Feross selbst sagte, ist das Ganze nichts aufwändiges – aber er hat diese “leichte” Arbeit zum richtigen Zeitpunkt und vor allem als erster erledigt. So einfach kann es gehen und man wird über Nacht zur Internet-Legende. Über Sinn oder Unsinn einer Instant-Search kann man sich streiten, ich persönlich kann damit jedenfalls nichts anfangen – sowohl bei Google als auch Youtube. Wenn ich etwas suche, dann kenne ich das Suchwort und klicke anschließend auf Suchen – das erzeugt auf den Servern weniger Last und mir weniger Traffic. Trotzdem ist die Instant-Search technisch gesehen natürlich eine tolle Sache und erst durch die aktuelle Breitbandversorgung und vor allem Ajax möglich. Man darf gespannt sein, was wir in den nächsten Jahren noch alles so sehen werden…

Links:
ytinstant.com

Twitter in Zahlen

Letzte Woche bin ich auf eine sehr interessante Präsentation von Twitter gestoßen, die ein paar Zahlen aus deren Ökosystem preisgibt. Wenn man die sich so anschaut, kann man nur sagen: wow!

Vor allem die technischen Anforderungen übersteigen bei weitem das Vorstellungsvermögen selbst von IT Spezialisten – sofern man solch große Systeme noch nie gesehen hat. Doch, kommen wir zu den Fakten:

Twitter ist ein sog. Microblogging Dienst, der Kurznachrichten (Tweets) von bis zu 140 Zeichen zulässt. Hat man vorher per RSS bei Blogs mitgelesen, ist man bei Twitter ein Follower, genausogut kann man aber auch selbst Follower haben. Loggt man sich bei Twitter ein, so sieht man seine Timeline, also alle Tweets, die man selbst und die Leute, denen man folgt, abgesendet haben. Man könnte einen Tweet als eine Art SMS an alle meine Freunde sehen.

Klingt erstmal von den Daten her nicht viel und man könnte meinen, dass die anfallende Menge locker von ein paar Servern abgefangen werden kann. Bedenkt man aber, dass Twitter derzeit ca. 150 Millionen registrierte User hat, welche am Tag ca. 70 Millionen Tweets (ca. 800/Sekunde) hinterlassen, dann sieht die Welt schon etwas anders aus. Das tägliche Datenvolumen, welches alleine durch die Tweets erzeugt wird, umfasst derzeit um die 12 Gigabyte (800 Tweets / s = 160Kb/s = 9MB/h = 12GB / 24h). Täglich kommen ca. 8 Terrabyte an Daten zusammen. Zum Vergleich: Die Börse generiert am Tag ca. 1Terrabyte an Daten.

Für die Relationen zwischen den Usern (Following) kommt flockdb zum Einsatz, welches auf extrem schnelle CRUD (Create, Read, Update, Delete) Operationen getrimmt ist und vor allem sehr gut mit komplexen Datenstrukturen klar kommt – Stichwort: Joins. MySQL kommt zwar für einen Großteil der Daten zum Einsatz, kann aber sehr schlecht horizontal skalieren (Clustering) und auch nicht schnell genug neue IDs erzeugen. Die Twitter-Eigenentwicklung Gizzard stellt ein Framework für fehlertolerante und verteilte Datenbanken zur Verfügung, welches stark auf horizontale Skalierung ausgelegt ist. Gizzard ist im Prinzip ein Manager für DBMS (Database Management System), der es ermöglicht, mit sehr vielen Datastores zu arbeiten. Da dieses System selbst keine IDs erzeugen kann, hat Twitter zusätzlich Snowflake entwickelt, welches sehr viele unique IDs innerhalb kürzester Zeit erstellen kann. Die Problematik an der Stelle war, dass Tweets, die etwa zur selben Zeit erzeugt werden, auch eine ziemlich nah beieinander liegende ID erhalten sollten, da diese für die Sortierung bei Twitter und auch bei den meisten Clients verwendet wird. Um diesem Umstand gerecht zu werden, verwendet man für die IDs eine Kombination aus Timestamp, Worker-ID und Sequenz.

Doch die wenigsten nutzen ausschließlich die Twitter-Homepage. Den eigentlichen Erfolg konnte Twitter über seine sehr früh vorhandene offene API erreichen. Jedem ist es möglich, seinen eigenen Client oder sein eigenes Mashup zu generieren, wovon auch viele Leute Gebrauch machen. Und so kommt es nicht von ungefähr, dass Twitter am Tag ca. 6 Milliarden API-Aufrufe, also 70.000/s, erreichen. Interessant ist, dass Twitter im April “nur” 3 Milliarden tägliche API-Aufrufe verzeichnen konnte – Innerhalb von 5 Monaten hat sich diese also verdoppelt. Um diese Last tragen zu können hat HOSEbird, die Twitter Streaming API entwickelt, welche die komplexen Datenanfragen sowohl von den Clients als auch von Twitter selbst einfach und sehr performant abhandelt.

Wie auch Facebook kann Twitter die enormen Daten nur verarbeiten, weil es die nötigen Systeme einfach selbst schreibt. Der Benefit der Allgemeinheit dabei ist die Offenheit dieser Unternehmen, da sie fast alle dieser Entwicklungen per Open Source ins Netz stellen, damit diese auch von der Community weiter entwickelt werden können. Hier können die großen Player wie Microsoft, Apple, Oracle, SAP und co. noch viel lernen.

Aber, wohin entwickelt sich das Unternehmen Twitter bzw. was ist sein Ziel? Die derzeit 150 Millionen User sollen 6 Milliarden ansteigen, sodass jeder zweite Mensch Twitter verwendet. Sicher ein ehrgeiziges Ziel, aber bei dem derzeitigen Wachstum sollten sie zumindest nah an diesen Wert herankommen. Die Probleme, die auf dem Weg dahin liegen, sind Echtzeit, Datenbanken, Speicher, Skalierbarkeit und Effizienz. Ich wünsche ihnen dafür viel Glück 😉

via techcrunch.com

[Quicktip] Spotlight Suche reparieren

Habt ihr das Problem, dass einige Programme oder Daten nicht mehr in Spotlight gefunden werden? Mir ging es so nach dem letzten OSX Update. Programme wie Itunes wollten sich einfach nicht mehr finden lassen – manuell raussuchen und starten ging aber.

Die Lösung ist, dass man den Spotlight-Index neu erstellen lassen muss:

1. Spotlight Einstellungen aufrufen -> oben rechts auf die Lupe und dann “Spotlight Einstellungen” oder über die Systemeinstellungen und dann auf Spotlight klicken

2. Auf “Privatsphäre” klicken

3. nun könnt ihr entweder einzelne Ordner in die Liste ziehen, oder gleich die ganze Festplatte. Sobald ihr dies tut, wird der Index für diese Verzeichnisse gelöscht. Wenn ihr die ganze Platte reinzieht, dann wird der komplette Index entfernt.

4. die Ordner / Laufwerke wieder aus der Liste löschen

5. Fertig. Spotlight wird diese Ordner / Laufwerke nun neu indizieren. Man erkennt dies an dem Punkt, der innerhalb der Spotlight-Lupe aufblinkt. Sobald dieser Weg ist, ist die Indizierung durch und die Programme / Daten sollten wieder auffindbar sein.

Einzelne Ordner hineinziehen hatte bei mir nicht geholfen – Spotlight reagierte darauf gar nicht. Erst als ich die ganze Festplatte reingezogen hatte reagierte es und erstellte den kompletten Index neu. Bedenkt aber, dass die Indizierung der kompletten Festplatte mehrere Stunden in Anspurch nehmen kann….

Der interaktive HTML5 Film

Wow! Das ist die beeindruckenste HTML5 Demo, die ich jemals gesehen habe…

Gebt einfach eure Heimatstadt in das Suchfeld ein, wartet die Berechnung kurz ab und dann genießt den Film – natürlich mit eingeschaltenem Sound. Falls ihr eher auf dem Land lebt, werden die Aufnahmen des Ortes wahrscheinlich nicht sehr scharf sein und ihr erhaltet eine entsprechende Warnung. In diesem Falle nehmt lieber die nächste Großstadt – dann wirkt es doppelt so gut!

Wenn man bedenkt, dass sich erst um eine der ersten richtig guten Demos handelt, kann man sich denken, dass mit der wachsenden Erfahrung und der nötigen Kreativität noch viel geilere Sachen möglich sind.

Jetzt aber genug gequatscht, zieht euch das einfach mal rein:

thewildernessdowntown.com

Via Techcrunch

[Quicktip] WordPress Lightbox 2 Plugin funktioniert nicht

Wenn man das Lightbox 2 Plugin installiert hat, die in Artikel eingefügten Bilder aber nicht in der schönen Lightbox erscheinen wollen, hat man wahrscheinlich seine Bilder falsch verlinkt. Um das Problem zu beheben geht einfach folgendermaßen vor:

1. neues Bild hinzufügen

2. bei “Link URL” auf “File Url” klicken

3. “Insert into Post”

4. Fertig!

Zu Besuch bei Facebook Seattle

Wenn man selbst in einem Start-Up arbeitet, schielt man natürlich gerne auf große Vorbilder wie Twitter, Facebook und co., um zu sehen, wie (und vor allem wo) diese arbeiten. Und ab und zu gibt es da mal kleine Einblicke zu erhaschen – wie nun bei Facebook in der Seattle-Niederlassung:





Große Ziele – große Büros – große Kreativität….

Via Techcrunch