Konsolen-Emulator für Windows

Eine ordentliche Konsole unter Windows ist so eine Sache. Die meisten professionellen Nutzer sind mit den bestehenden Konsolen unter Windows nicht zufrieden, auch wenn die PowerShell ein wenig Besserung brachte und Microsoft mit dem Windows Terminal aktuell einen neuen Anlauf startet.

Windows Terminal
Preis: Kostenlos

Eine weitere Variante ist der Konsolen-Emulator Cmder. Dieser liefert Lösung für eine gut integriertes Terminal. Im Gegensatz zu vielen anderen Lösungen ist Cmder portabel, kann also von Rechner nur Rechner mitgenommen und genutzt werden, ohne Spuren zu hinterlassen. Technisch basiert Cmder auf ConEmu und wurde durch ein Theme und die Clink-Erweiterungen verfeinert.

Cmder

Verfügbar ist Cmder für Windows und kann über die offizielle Seite des Projektes, unter cmder.net bezogen werden. Der Quelltext ist auf GitHub zu finden. Er ist unter der MIT License lizenziert und somit freie Software.

Visualisierung des Sonnensystems in JavaScript

Auf der Suche nach einer akkuraten Simulation des Sonnensystems bin ich auf das Projekt jsOrrery gestoßen. Bei diesem Projekt handelt es sich um eine JavaScript-Simulation, welche das Sonnensystem simuliert. Die Ergebnisse der Simulation stimmen hierbei mit denen des HORIZONS-Systems der NASA überein. In der App selber kann in das Sonnensystem gezoomt werden, die gewüschte Zeit und der Ablauf der selben eingestellt werden.

Das Sonnensystem in der Simulation

Der Quelltext des Projektes ist auf GitHub zu finden. Ausprobiert werden kann die Simulation ebenfalls über GitHub. Das Projekt ist unter der MIT License lizenziert und somit freie Software.

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.

Creative Commons – Bausatzsystem für Lizenzen

Wenn jemand ein Werk schafft, so hat derjenige auf dieses Werk ein Urheberrecht. Ein solches Werk könnte z.B. ein Foto oder ein Musikstück sein. Wenn dieses Foto nun anderen Menschen zur Verfügung gestellt werden soll, wird es kniffelig. In Deutschland wäre es nicht einmal möglich auf das eigene Urheberrecht zu verzichten. Stattdessen können Nutzungsrechte an dem Werk eingeräumt werden. Es muss also ein Lizenzvertrag zwischen dem Urheber und den Nutzern geschlossen werden.

Möchte der Urheber nun noch bestimmte Einschränkungen wird es noch kniffliger. Schließlich ist es nicht unbedingt einfach, etwas juristisch sicher (und einfach) zu definieren. Bei der Lösung dieses Problems kommt Creative Commons ins Spiel.

Creative Commons

Bei den Creative Commons-Lizenzen handelt es sich um eine Art Bausatzsystem für Lizenzen. Dieser Bausatz setzt sich aus den Komponenten BY, SA, NC und ND zusammen. BY beschreibt die Notwendigkeit der Namensnennung bei Nutzung des Werkes. Im Gegensatz zu den anderen Komponenten ist die Namensnennung immer verpflichtend. Die Komponente SA beschreibt die Weitergabe unter gleichen Bedingungen. Das bedeutet, wenn ein Werk unter der Creative Commons-Lizenz CC-BY-SA genutzt wird, so muss das daraus entstehende Werk unter der gleichen Lizenz veröffentlicht werden.

Die NC-Komponente definiert, dass das Werk nicht kommerziell genutzt werden darf. Zum Beispiel darf ein Musikstück, welches unter der Lizenz CC-BY-NC lizenziert ist, privat gehört werden, aber es darf nicht genutzt werden, um es in einem Werbespot einzubinden. Die letzte Komponente ist ND, welche definiert, dass es keine Derivate von dem betreffenden Werk geben darf. Als Nutzer kann ich somit das beispielhafte Musikstück hören, darf aber keinen Remix im Rahmen dieser Lizenz erstellen.

Die Bausteine können kombiniert werden. So könnte ein Werk unter der Lizenz CC-BY-ND oder unter der Lizenz CC-BY-NC-SA veröffentlicht werden. Bestimmte Kombinationen scheiden allerdings aus; so wäre die Kombination CC-BY-ND-SA nicht zielführend, da eine Weiterverbreitung abgeleiteter Werke unter der gleichen Lizenz der Bedingung, das keinerlei Derivate von dem Werk erstellt werden dürfen widerspricht.

Mit dem License Chooser geht die Wahl der passenden Bausteine im Browser leicht von der Hand. Bei der Nutzung sollten die Lizenzbedingungen entsprechend beachtet werden. Fehler werden meist bei der Namensnennung gemacht. Creative Commons definiert diese Pflicht in dem Commons (die gekürzte und für normale Menschen verständliche Form der Lizenz) so:

Namensnennung — Sie müssen angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade Sie oder Ihre Nutzung besonders.

Je nach genutzter Version der Lizenzen ist dies mehr oder weniger kompliziert, wie der Artikel bei iRights näher beleuchtet.

Neben diesen Lizenzen existieren einige weitere Lizenzen aus dem Creative Commons-Universum wie die CC0, welche es ermöglicht die Nutzungsrechte so freizugeben, dass das Werk praktisch Public Domain ist und somit der Gemeinschaft uneingeschränkt zur Verfügung steht. Wichtig ist es bei der Nutzung darauf zu achten, das sich Creative Commons nicht für jedes Werk eignet, so wird von der Lizenzierung von Software unter Creative Commons-Lizenzen expliziert abgeraten. Hier existieren bessere Lizenzen wie die GPL, die Apache- oder die MIT-Lizenz.

Browserify unter Windows benutzen

Browserify ist ein unter der MIT-Lizenz stehendes Projekt, mit welchem Bundles aus modularen JavaScript-Projekten erstellt werden können. Auf der Projektseite wird die Nutzung von Browserify erklärt. Im ersten Schritt muss Browserify über den Paketmanager npm global installiert werden:

npm install -g browserify

Anschließend kann das Kommando genutzt werden:

browserify main.js -o bundle.js

Das Problem daran ist, dass das Kommando browserify nicht bekannt ist.

browserify.org

Stattdessen erhält der Nutzer folgende Fehlermeldung:

Der Befehl „browserify“ ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Damit Browserify genutzt werden kann, muss es direkt über das installierte Modul mittels Node.js aufgerufen werden:

node C:\Users\username\AppData\Roaming\npm\node_modules\browserify\bin\cmd.js src\index.js -o bundle.js

Alternativ kann Browserify direkt im Projekt installiert werden:

npm install
npm install browserify

Anschließend kann es von dort genutzt werden:

node node_modules\browserify\bin\cmd.js src\index.js -o bundle.js