Bomberman im Browser

Bomberman, welches 1983 das erste Mal unter der Ägide von Hudson Soft erschien, ist ein süchtig machendes Spiel. Wer dieser Sucht nachgeben möchte und eine Runde dieses Spielprinzips genießen möchte, der sollte Game of Bombs ausprobieren.

Game of Bombs

Dabei handelt es sich um eine Umsetzung des Spielprinzips für den Browser. Während im normalen Bomberman zu viert oder acht gespielt werden kann, ermöglicht Game of Bombs wesentlich mehr Mitspieler, welche zusammen über das Netz auf der gleichen Karte spielen. Das Spiel kann nach einer Anmeldung kostenlos gespielt werden, allerdings ist es möglich sich Plutonium zu kaufen um gewisse Vorteile zu genießen. Zu finden ist das Spiel unter gameofbombs.com.

Hello, World!

Wer mit einer neuen Programmiersprache anfängt, der schreibt in den meisten Fällen ein sogenanntes Hello, World!-Programm. Ziel eines solchen Programmes ist es einfach folgende Zeile auszugeben:

Hello, World!

Nun sehen diese Programme in den gebräuchlichen Sprachen meist recht ähnlich aus, aber es geht durchaus auch anders, wie die The Hello World Collection zeigt.

helloworldcollection.de

Begonnen wurde diese Kollektion 1994 und ist mittlerweile wahrscheinlich das Verzeichnis mit den meisten Hello, World!-Programmen auf der Welt. Im Moment umfasst die Kollektion 592 dieser Programme in unterschiedlichen Sprachen. Zu finden ist die Seite unter helloworldcollection.de.

Partitionierung auf dem Terminal unter macOS

Für macOS war ich auf der Suche nach einem Tool für die Partitionierung von Datenträgern, welches sich für die Nutzung im Terminal eignete. Am liebsten wäre mir eine Variante von cfdisk gewesen, welches durch die einfache Bedienung glänzt. fdisk auf dem Terminal ist in vielen Fällen doch etwas zu spartanisch. Fündig geworden bin ich schlussendlich bei gptfdisk, welches über den Paketmanager Homebrew installiert werden kann:

brew install gptfdisk

Mit diesem Paket werden drei Anwendungen installiert: gdisk, sgdisk und cgdisk. Während die ersten beiden Anwendungen reine Kommandozeilentools sind, verfügt cgdisk über eine interaktive Oberfläche.

cgdisk ist ein Clone von cfdisk

Nach dem Aufruf der Anwendung mit dem passenden Laufwerk:

sudo cgdisk /dev/disk4

können die entsprechenden Operationen und Aktion über das Menü vorgenommen werden. Nach dem Abschluss der Operationen kann der Nutzer die Änderungen über das Write-Kommando auf die Festplatte schreiben und anschließend das Programm beenden.

jQuery Mobile und jQuery UI sind tot

Die bekannte JavaScript-Bibliothek jQuery, welche unter anderem zur Manipulation des DOMs genutzt wird, wird von zwei Bibliotheken flankiert, welche sich dem UI annehmen. Die Rede ist von jQuery Mobile und jQuery UI. Mithilfe dieser Bibliotheken ist es möglich Oberflächen für Webanwendungen zu entwickeln.

Eine mittels jQuery UI entwickelte Webapplikation

Während sich die Bibliotheken weiterhin sehr beliebt sind, was sich unter anderen in den Fragen auf Stack Overflow widerspiegelt, gibt es ein Problem mit den Projekten; sie sind praktisch tot. Der letzte Commit für jQuery UI ist vom Mai 2017 und auch die Entwicklung der letzten Jahre von jQuery Mobile ist sehr übersichtlich. Ansonsten sind viele andere Zeichen zu entdecken das die beiden Projekte tot sind.

Für neue Projekte in der Webentwicklung, sollte sich deshalb nach einem anderen Framework für die Erstellung von Weboberflächen umgesehen werden. Eine Alternative stellt unter anderem Framework 7 dar, welches von der Einfachheit der jQuery UI– und jQuery Mobile-Bibliotheken inspiriert ist.

Internationalisierung mittels JavaScript

Für mein neues Projekt Wryte war ich auf der Suche nach einer Möglichkeit die Anwendung zu lokalisieren. Das genutzte Framework 7 unterstützt leider keine Lokalisierung von Haus aus, so das diese nachgerüstet werden musste. Zum Tragen kam hierbei die JavaScript-Bibliothek i18next. Nach dem Download und der Einbindung der Bibliothek kann diese initialisiert werden:

i18next
  .use(window.i18nextBrowserLanguageDetector)
  .init({
    debug: false,
    resources: {
      en: {
        translation: {
          "about": "About"
        }
      },
      de: {
        translation: {
          "about": "Über"
        }
      }
    }
  });

In diesem Fall wird zusätzlich der i18nextBrowserLanguageDetector eingebunden, damit die Sprache des Nutzers automatisch erkannt wird. Anschließend kann die Übersetzung abgerufen werden:

$('#tab-author').html(i18next.t('author'));

Nach diesem Schema lässt sich anschließend die gesamte Anwendung übersetzen. Die offizielle Projektseite von i18next ist unter i18next.com zu finden. Die Quelltexte der einzelnen Projektbestandteile sind auf GitHub zu finden. Lizenziert ist i18next unter der MIT-Lizenz und damit freie Software.