LibreSprite - OpenSource Aseprite Alternative

LibreSprite ist ein OpenSource Zeichenprogramm, das auf das Erstellen von Pixelart-Grafiken und Animationen spezialisiert ist. Es ist ursprünglich ein Fork von Aseprite wird aber inzwischen schon eine weile getrennt weiterentwickelt. Es bietet ähnliche Funktionen wie Aseprite. Zu den Funktionen von LibreSprite gehören unter anderem das Zeichnen von Pixeln, das Verwenden von Farbpaletten sowie das Erstellen von Animationen.

LibreSprite ist in C++ geschrieben und kann auf Windows, MacOS und Linux ausgeführt werden.

Calibre-Web - E-Books online verwalten

Calibre-Web ist ein Fork des klassischen Calibre. Das in Calibre bereits integrierte Web-Interface wurde um zusätzliche Funkionen erweitert und mit einer zeitgemäßeren Oberfläche versehen. Die Verwaltung der E-Books erfolgt bei Calibre-Web ausschließlich im Browser. Wer bereits Calibre zur Verwaltung seiner E-Books verwendet kann die gleiche Datenbank weiterverwenden. Calibre-Web kann einfach mit Docker betrieben werden. Über die Web-Oberfläche kann die E-Book-Sammlung komfortable durchsucht und verwaltet werden. Das Editieren der Metadaten ist wie von Calibre gewohnt möglich. Weitere Informationen zu Calibre-Web gibt es auf der GitHub-Projektseite unter github.com/janeczku/calibre-web.

Heimdall - Webapplication Dashboard / Launcher

Bei Heimdall handelt es sich nicht nur um einen nordischen Gott, sondern auch um ein Webapplikation-Dashboard. Mit Heimdall werden Verknüpfungen zu anderen Anwendungen verwaltet. Er kann damit ideal als Startseite mit wichtigen Links zu anderen Diensten genutzt werden. Das ist besonders praktisch, wenn diese auch mit anderen geteilt werden sollen, was mit normaler Browser-Lesezeichen nicht einfach umgesetzt werden kann. Anwendungen können über eine einfache Maske erstellt werden, dabei sind in Heimdall schon eine Vielzahl (über 200) von Anwendungs-Templates vorhanden, wodurch Icons automatisch vorgeschlagen werden. Für einige Webapps werden auch erweiterte Funktionen geboten. Dabei handelte es sich meistens um Statistiken oder Indikatoren, die Aufschluss über den Status der Webanwendung geben: Z.b. Anzahl der blockierten Ads bei PiHole oder Anzahl der Filme in Jellyfin. Heimdall bietet eine Benutzerverwaltung, wodurch mehrerer unterschiedliche Profile verwaltet werden können. Heimdall ist in PHP geschrieben und kann mit Apache oder Nginx verwenden werden. Alternative stehen Docker Images bereit.

Weitere Informationen sowie eine Liste aller Apps gibt es unter: heimdall.site.

PDFs unter Windows komprimieren - Free PDF Compressor

Mit Free PDF Compressor können zu groß geratene PDF nachträglich komprimieren werden. Ein Vorteil des Programms ist es das die PDF-Datei lokal verkleinern wird und keine Cloud-Dienste eingebunden sind. Bei einem Test konnte PDF Compressor eine 4 MB Datei auf ca. 400 KB verkleinern. Dazu werde die im PDF eingebundenen Bilder herunterskaliert. Bei reinen TEXT-PDFs ist keine komprimierung zu erwarten.

Free PDF Compressor kann für Windows kostenlos unter freepdfcompressor.com heruntergeladen werden.

Browser Erweiterungen für viele Gelegenheiten

Alle hier vorgestellten Chrome-Erweiterungen können kostenlos über den Chrome Web Store heruntergeladen werden, oft sind auch Versionen für andere Chrome basierte Browser oder Firefox vorhanden:

Allgemeine Erweiterungen

  • uBlockOrigin
    OpenSource und ohne Firma im Hintergrund. Es sollte immer auf den Namen des Plugins geachtet werden. Es sind bereits mit Spyware verseuchte Versionen des Plugins unter ähnlichen Namen im Chrome Web Store aufgetaucht.

  • JoplinWebCliper
    Speichert Websites als Notiz in Joplin.

  • Video Downloader Prime
    Ermöglicht das Speichern von Videos von vielen Seiten.

  • CloseTabsByDomain
    Schließt alle geöffneten Tabs einer Domain mit einem klick. Kann Tabs nach Domain sortieren.

Erweiterungen für Web-Entwickler

  • WhatRuns
    Zeigt Informationen über das Tech-Stack der aktuell besuchten Seite an. Erkennt viele JavaScript-Frameworks und analysiert Server-Responses und Header.

  • retire.js
    Zeigt ob veraltete JavaScript-Libraries verwendet werden und ob bekannte Sicherheitslücken existieren.

  • jsonv
    Formatiert JSON-Responses so das diese einfacher zu lesen sind.

  • EditThisCookie
    Einfaches und vor allem komfortables editieren von Cookie-Daten.

  • ReactDeveloperTools
    Tools für das debuggen von React-Anwendungen. Nur für React-Entwickler Interessant.

Von Evernote zu Joplin - Eine Open-Source Notizverwaltung

Nachdem Evernote inzwischen in der kostenlosen Basic Variante immer weitere Beschränkungen eingeführt hat war es an der Zeit sich nach einer Alternative umzusehen. 59,99 € im Jahr die "Premium"-Version sind für eine Notizanwendung zu teuer. Wenn man nicht seine gesamten Notizen nicht manuell (einzeln) in ein neues Tool kopieren will, gestaltet sich der Wechsel allerdings alles andere als einfach. Da es nicht im Interesse von Evernote ist das man mit allen Notizen zu einen anderen Anbieter wechselt ist das transferieren bzw. das exportieren stark eingeschränkt. Eine ganz besondere art der Kundenbindung. Lediglich in der Desktop-Version ist ein Export im proprietären Enex-Format möglich. Der von Microsoft angebotene Importer für One Note führte bei mir zu kaputten und unbrauchbaren Notizen. Außerdem erscheint es nicht sinnvoll von einer proprietären Anwendung zu einer anderen zu wechseln. Je nachdem was Microsoft mit One Note in Zukunft vorhat kann es schnell passieren das für die Nutzung von One Note auch zur Kasse gebeten wird.

Mit Joplin existiert inzwischen eine brauchbare Alternative zu Evernote. Die Anwendung ist eindeutig von Evernote inspiriert und sieht dem Programm sehr ähnlich. Vor allem ermöglicht sie aber den direkten Import von Evernote-Notizen via Enex-Dateien. Dieser ist zwar auch nicht perfekt (es gehen einige Formatierungen verloren) aber wenigsten möglich. In Joplin speichert seine Notizen und To-Do im Markdown-Format. Es können Bilder eingebettet werden und Notizen in unterschiedlichen Kategorien abgelegt werden. Durch die integrierte Suche ist es einfach möglich seine Notizen wieder zu finden. Es existieren auch Clipboard-Plug-ins für Chrome und Firefox die es ermöglichen komplette Websites als Notiz zu speichern. Notizen werden auch in Markdown geschrieben. Es existiert kein WYSIWYG-Texteditor. Da es sich bei Joplin um eine kostenlose Open-Source Anwendungen handelt muss man sich selbst um die Speicherung seiner Notizen kümmern. Dafür können unterschiedliche Cloud-Dienste wie Nextcloud, Dropbox oder OneDrive verwendet werden. Durch die Nutzung von NextCloud oder WebDav kann man seine Notizen auch komplett selbst verwalten. Joplin erstellt beim gewählten Cloud-Service einen Ordner den es zur Synchronisierung zwischen mehreren Geräten nutzt. Natürlich kann Joplin auch komplett offline genutzt werden. Joplin hat Anwendungen für Windows, MacOS, Linux, Android und IOS. Für Anwender die bereits über einen bezahlten oder selbstgehosteten Sync-Dienst verfügen ist Joplin eine gute alternative zu Evernote, One Note und Google Notizen auch wenn es nicht mit deren ausgefeilten Design und Funktionsumfang mithalten kann.

Pkg – Node.js Kommandozeilenprogramme einfach verteilen

Lange war es umständlich ein in Node.js geschriebenes Script an nicht Node.js-Entwickler weiterzugeben, da auf dem System des Nutzers eine Node.js-Runtime vorhanden sein musste. Das ist außerhalb des Node.js Umfelds fast nie der Fall. Selbst unter Linux gehört Node.js nicht zur Standartinstallation. Mit dem Pkg-Tool von "Zeit" ist es aber inzwischen ein leichtes Scripte als ausführbare Programme zu packen.

Die Installation von Pkg ist mit einem Befehl erledigt.

npm install -g pkg

Danach kann ein beliebiges Node.js-Script über das Kommando:

pkg <filename>.js 

in ein Executable gepackt werden. Beim ersten verwenden von Pkg lädt das Tool automatisch die benötigen Node.js-Runtimes herunter:

$ pkg index.js
> pkg@4.4.9
> Targets not specified. Assuming:
  node12-linux-x64, node12-macos-x64, node12-win-x64
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v12.18.1-linux-x64   [====================] 100%
  fetched-v12.18.1-win-x64     [====================] 100%
  fetched-v12.18.1-macos-x64   [====================] 100%

Bei einem erneuten Aufruf werden automatisch gecachte Node.js-Runtimes verwendet so das das Paketieren viel schneller durchgeführt wird. Ohne Angabe von Parametern werden automatisch Executables für Windows, MacOS und Linux erstellt. Über zusätzlichen Parameter kann genau spezifiziert werden welche Node.js-Version verwendet und für welche Systeme ein Executable erstellt werden soll. Leider sind die erstellten Executables sehr groß. Für die Version 12 von Node.js bei einem einfachen "Hello World"-Programm mit ca. 40 MB zu rechnen. Durch einfaches zippen kann die Größe auf ca. 12 MB reduziert werden. Die Großen Executables sind der Funktionsweise von Pkg geschuldet: Scripte werden mit einer Runtime zusammen in eine Executable gepackt und nicht etwa kompiliert. Dies ist bei interpretierten Scriptsprachen nicht vorgesehen. Dennoch ist Pkg ein interessantes Tool wenn man mal schnell ein "kleines" Script weitergeben möchte.

LÖVE - Eine Open-Source 2D Lua-Game-Engine

Bei LÖVE oft auch Löve2d oder Love genannt handelt es sich um eine rudimentäre 2D-Game-Engine. LÖVE bringt seine eigene LUA Runtime mit und ermöglicht das Entwickeln unter Windows, MacOS, und Linux. Es existiert auch eine Runtime für Android. Die Installation unter Windows gestaltet sich durch eine Installer sehr einfach. LÖVE Spiele werden wie auch in PICO-8 mit LUA entwickelt, wobei LÖVE aber keinerlei Tools bereit stellt. Für die Entwicklung wird also ein separater Editor/IDE benötigt. Grafiken und Sounds müssen ebenfalls extern erstellt werden. Alle Game-Ressourcen werden einfach in einem Ordner abgelegt. Die einzige Bedingung von LÖVE ist das der Ordner eine main.lua enthält welche als Startpunkt für die Game-Engine dient. LÖVE stellt Grafik, Sound und Eingabe-Funktionen bereit. Es existieren zahlreiche Libraries für LÖVE, leider sind viele nicht mehr kompatibel mit der aktuellsten Version und wurden schon seit Jahren nicht mehr geupdatet. Wenn man mehrerer Libraries verwendet entsteht schnell ein durcheinander, da es anscheinend keine Standards für die Installation gibt, legt jede nicht native Lua-Erweiterung seine DLLs in einem anderen Ordner ab. Einige wenige LÖVE-Libraries können schon über Luarocks installiert werden, hoffentlich vereinfacht sich die Installation in der Zukunft. LÖVE Spiele können in *.love Dateien gepackt werden um sie zu teilen. Dabei handelt es sich lediglich um umbenannte Zip-Dateien. Leider funktionieren viele der LÖVE-Libraries nach dem Packen nicht mehr. Es ist zwar ebenfalls über Umwege möglich eine Executable zu erstellen, diese Plagen aber die selben Probleme wie die Love-Dateien, externe Libraries werden nicht mehr gefunden. Wegen dieser Probleme und des begrenzten Funktionsumfangs von LÖVE bieten sich andere Game-Engine an wenn man nicht alles von Grund auf selbst implementieren will.

LÖVE kann unter love2d.org heruntergeladen werden.

Banana Rider - Ein PICO-8 Spiel

"Banana Rider" ist ein kleines PICO-8 Spiel. Ziel des Spieles ist es möglichst viele Münzen einzusammeln und die Felsen zu vermieden. Bei einer Kollision mit einem Felsen verliert man ein Leben. Nach drei Kollisionen oder einer Minute ist das Spiel automatisch zu Ende und es wird die erreichte Punktzahl angezeigt.




Hier geht es zum Spiel: Banana Rider

PICO-8

Bei PICO-8 handelt es sich um eine sogenannte "Fantasy Console". Das sind erfundene Konsolen die sich meist an Konsolen in die 8 - 16 Bit Zeit orientieren. Sie ermöglichen das einfache erstellen von eigenen Spielen und richten sich deswegen alle Interessierten denen das Programmieren für echte Konsolen der 8-16 Bit Ära zu aufwendig ist, die aber dennoch etwas vergleichbares erstellen wollen. PICO-8 war eine der ersten dieser "Fantasy Console" und kostet momentan 14.99 $ und ist für Windows, Linux und MacOs verfügbar. Dabei Limitiert PICO-8 Absichtlich die zur Verfügung stehenden Möglichkeiten. So hat PICO-8 eine Auflösung von nur 128x128 Pixeln bei 16 Farben. Der Zeichensatz kennt nur Großbuchstaben. Durch diese Einschränkung ist es für Programmierer aber einfacher eigene Projekte umzusetzen, da man sich besser auf die Grundlegende Spielmechanik konzentrieren kann. PICO-8 ist Emulator und Editor in einem. Wenn man das PICO-8 Programm startet sieht man zuerst eine Startsequenz die an das Booten eines DOS-PCs oder eines Commodore erinnert. Man findet sich danach auf der PICO-8 Konsole wieder. Über diese Konsole kann der Integrierte Appstore gestartet werden oder es kann direkt einen neues Spiel programmiert werden. Über das drücken der Escape-Taste wird die integrierte IDE gestartet. Hier können Code, Grafik und Sounds erstellt bzw. geschrieben werden. So sind ein kleines Grafikprogramm, ein Tile-Editor als auch ein Sound-Editor bereits eingebaut. Spiele für PICO-8 werden in Lua geschrieben und können als virtuelle Cartridge über den integrierten Appstore veröffentlicht werden. Dabei sind alle Kreationen kostenlos und Open-Source. Auch bei über den Appstore geladenen Spielen ist es jederzeit möglich über die Escape-Taste in den Editor-Modus zu wechsel um z.B. Änderungen vorzunehmen oder zu untersuchen wie etwas implementiert ist.

Alternativ zum Appstore können die Virtuellen-Cartridges lokal auch als P8-Datei gespeichert werden. Elegant ist die Möglichkeit Spiele als PNG-Bild zu exportieren. Dabei handelt es ich um ein normales Bild das ein definiertes Logo oder Vorschaubild zeigt. Der eigentliche Programmcode wird in den Metadaten der PNG-Datei gespeichert und kann über die PICO-8-Runtime geladen und gespielt werden.

Die Idee hinter PICO-8 ist wirklich gut. Leider verderben die Einschränkungen des Editor-Modus den Spaß. Auch dieser läuft einer Auflösung von nur 128x128 Pixeln. Dadurch können nie mehr als ein paar Zeilen Code angezeigt werden. Beim Umsetzen etwas größerer Projekte stört das extrem. Natürlich ist auch möglich externe Editoren zu verwenden, allerdings verliert man dadurch das schnelle Testen von Codeänderungen und anderen Integrierten Tools. Nach jeder Codeänderung muss das Programm in PICO-8 neu geladen.

Reines spielen der PICO-8-Cartridges ist auch kostenlos über den Browser möglich. Allerdings können dann keine Änderungen vorgenommen werden und es ist auch nicht möglich den Code einzusehen oder gar neue Spiele zu erstellen.

PICO-8 ist eine interessante Spielerei um erste Spiele-Ideen auszuprobieren. Besonders "Nicht-Programmierer" werden darüber einfach an das Thema herangeführt. Falls man allerdings schon Erfahrung mit dem Programmieren hat und ausgewachsene IDEs kennt wird man sich schwer mit der integrierten 128x128-IDE von PICO-8 tun. Ihnen kann ich z.B das freie LÖVE Game-Engine empfehlen. Allerdings verliert man dadurch leider die intergiereten Tools von PICO-8. Mit Hilfe von PICOLOVE können PICO-8 Spiele zu LÖVE portiert werden. Nichtsdestotrotz wurden viele interessante und witzige kleine Spiele in PICO-8 programmiert. So ist z.B die erste Version des bekannten Spiels "Celest" bei einem Game-Jam auf dem PICO-8 programmiert worden.

Viele zusätzliche Links zu PICO-8 wurden unter awesome-PICO-8 zusammengetragen.

Inzwischen existieren mehrere teilweise auch kostenlose alternativen. Diese haben meist viele Komponenten von PICO-8 eins zu eins nachgebaut, verfügen aber nicht über die in Jahre gewachsene Community von PICO-8. Zu nennen sind hier: TIC-80, PV8, UnicornConsole und LIKO-12.