Self-Host Google-Fonts

Aus Datenschutzgründen kann es problematisch sein, Fonts von Google-Servern einzubinden. Google-Fonts erlaubt es, alle benötigten Font-Dateien als ZIP herunterzuladen. Allerdings generiert es nicht die dafür notwendigen CSS-Dateien. Natürlich ist es möglich, diese manuell zu erstellen, einfacher geht es aber mit dem Dienst: gwfh.mranftl.com. Hier kann man ebenfalls aööe bei Google-Fonts heruntergeladen und sich mit wenigen Klicks ein passendes CSS generieren lassen.

Die Benamung der Dateien unterscheidet sich von der der bei Google, deswegen ist es einfacher die von mranftl bereitgestellte ZIP-Datei zu verwenden.

Vor der Nutzung von heruntergeladenen Fonts gilt es selbstverständlich, zu überprüfen, ob die Lizenz die gewünschte Nutzung ermöglicht.

Kostenfreie Datenbank Verwaltungs / Entwicklungs-Tools in 2024

Mit DbGate und DBeaver sind zwei recht neue Multi-Datanbank-Clients. DbGate ist dabei das jüngere Tool, es ist komplett kostenlos und Open Source. DBeaver hingegen ist auch in einer kommerziellen PRO-Version erhältlich. Im Gegensatz zu Tools wie HeidiSQL (MySQL/MariaSQL) unterstützt, DB Browser (nur SQLite) oder Studio 3T (nur MongoDB) erlauben es beide Tools, auf unterschiedliche Datenbank-Systeme zuzugreifen. Dabei liegt der Schwerpunkt klar auf rationalen Datenbanken. DBeaver Community unterstützt unter anderem MySQL, MS SQL Server, PostgrSQL, SQLite und viele mehr. MongoDB Support sowie die Unterstützung anderer nicht rationalen Datenbanken sind hier nur in der Pro-Version verfügbar. Beide Tools eignen sich gut zum pfelgen von DB-Systemen. Daten können Exportiert, sowie teilweise
auch Importiert oder Migriert werden.

DbGate

DbGate ist eine Electron Application und für alle wichtigen Betriebssysteme verfügbar. Die Installation unter Linux erfolgt als Appimage. Es gibt unterschiedliche Designs, so kann auch auf einen Dark-Mode umgeschaltet werden. Beim Design orientiert sich DbGate grob an VS-Code. DbGate ermöglicht neben dem Ex-/Import von Daten auch die direkte Migration auf eine andere Datenbank.

Features

  • Datenbank Unterstützung
    • MS SQL Server, MySQL, MariaDN, OracleDB, PostgrerSQL, CockroachDB, Amazon Redshift, Redis, SQLite MongoDB
  • Export/Import
    • CSV, Excel, SQL, JSON, XML
  • Views
    • SQL-Editor, Data-Editor, Query-Builder, Schema-Editor, ER-Diagarams, Chart-View
  • Plugin-Support

DBeaver

DBeaver ist ebenfals für Windows, Mac OS und Linux verfügbar. Es ist in Java mit Hilfe des Eclipse-Frameworks implementiert. DBeaver erweckt den Anschein, dass neue Feaures nur noch in die kostenpflichtige Version wandern oder nur noch stark eingeschränkt in der Community Edition verfügbar sind. DBeaver ermöglicht aber den Zugriff auf eine erstaunliche Menge an Datenbanken. Generell verfügt er über mehr Funktionen als DbGate, was wohl auch dem geschuldet ist, dass er schon viel länger am Markt ist. Die UI unterstützt Theming ist aber leider unter Linux (Mint) initial im Dark-Mode nur sehr schlecht lesbar gewesen. Dies konnte aber durch die manuelle Wahl eines Themes behoben werden.

Features

  • Datenbank Unterstützung
    • MySQL, SQL Server, PostgreSQL und mehr
  • Export/Import
    • CSV, Excel, SQL, JSON, XML
  • Views -SQL-Editor, Data-Editor, Query-Builder, Schema-Editor, Basic Charts-View

Einheitliche Farben für Terminal und Visual Studio Code

Mit dem Plug-in Generate Windows Terminal Scheme kann ein Farbschema für das Windows Terminal erstellt werden. Dadurch können die Farben zwische VS-Code und dem Windows Terminal angeglichen werden. Auch können über die generierte JSON-Datei Farbwerte gesammelt, eingesehen werden, um z.B. manuell ein eigenes passendes Gnome-Terminal-Farbschema zu erstellen.

Über das Plug-in ist nur ein Export der Werte möglich; Der umgekehrte Weg wird nicht unterstützt.

Prisma und SQLite

Prisma ist ein ORM für Node.js, es unterstützt die Datenbanken PostgreSQL, MySQL, SQLite, MongoDB, Microsoft SQL Server sowie einige Cloud/Edge-Hoster. Automatische Migrationen und die übersichtliche Definition der Datenbankstruktur in einem prisma.schema sind dabei die herausragenden Features. Dabei werden auch Typen/Interfaces der Daten für TypeScript bereitgestellt. Die Unterstützung der unterschiedlichen Prisma-Features ist dabei von Datenbank zu Datenbank unterschiedlich und nicht ausreichend dokumentiert. Dadurch wird die Entwicklung mit Prisma zum Glücksspiel, wenn man erst nach Langer Recherche in Github Issues herausfindet, dass Feature X für die Datenbank Y nicht implementiert wurde. Dabei handelt es sich nicht etwa nur um exotische Funktionen, nein auch viele elementare Funktionen sind nicht verfügbar. Ein Wechsel der verwendeten Datenbanktechnologie ist damit in der Praxis quasi ausgeschlossen. Wer denkt, er kann für die lokale Entwicklung auf eine SQLite und für das Produktiv-System auf eine MySQL-Datenbank setzen, muss mit massiven Problemen rechnen.

Folgende Probleme existieren bei der Entwicklung von Anwendungen mit SQLite:

  • createMany wird nicht unterstützt, Einträge können nur einzeln erstellt werden.
  • Defektes Date Mapping. Das Sortieren nach Datum ist nicht über die ORM Funktionalität möglich, da das Datumsformat nicht korrekt implementiert ist. Dieses Problem besteht schon seit 2021 und ist nicht zu entschuldigen.
  • Kein Mapping von ENUMs. ENUMs werden nicht nativ von SQLite unterstützt.
  • Kein JSON-Support, obwohl viele Funktionen unterstützt sind.

Bei der Verwendung von SQLite würde ich aufgrund dieser Probleme dazu raten, ein anderes ORM-System zu verwenden.

pretty-quick - Automatisches prettier auf geänderte Dateien mittels Commit-hooks

Mit pretty-quick ist es ohne Konfiguration möglich, seine geänderten Dateien via git-hook vor dem pushen mit prettier zu formatieren. Damit ist es ideal für kleine Projekte, die ohne grosse eslint, prettier und husky-Konfiguration auskommen wollen. Intern nutzt pretty-quick husky und prettier. Falls .prettierrc und .prettierignore vorhanden sind, so werden diese beachtet.

pretty-quick kann über das folgende Kommando installiert werden:

npm install --save-dev prettier pretty-quick

Neofetch - System Information in hübsch

Neofetch ist ein Kommandozeilen-Tool, das auf Linux, Unix-Systemen (und neu auch Windows) verwendet werden kann, um nüzliche System-Informationen anzuzeigen. Es präsentiert eine ASCII-Grafik des Betriebssystemlogos und zeigt gleichzeitig Daten wie Hostnamen, Kernel-Version, CPU, RAM und Grafikkarte an. Neofetch ermöglicht eine schnelle und Möglichkeit, Systeminformationen in der Konsole anzuzeigen und schnell einen Überblick über das System zu erhalten.

NTop - Htop für Windows

Wenn es um die Überwachung und Analyse von Systemressourcen unter Linux geht, ist Htop eine beliebtes Tool. Diese leistungsstarke Anwendung ermöglicht es Benutzern, in Echtzeit eine detaillierte Übersicht über laufende Prozesse, CPU-Auslastung, Speicherverbrauch und vieles mehr zu erhalten. Wer unter Windows arbeiten und eine ähnliche Funktionalität will, kann NTop einsetzen. NTop ist OpenSource und kann unter github.com/gsass1/NTop herunterladen oder direkt über winget installieren:

winget install -e --id gsass1.NTop

Die wichtigsten Htop Kommandos sind auch in NTop implementiert. Leider ist das Projekt in den letzten Jahren nicht weiterentwickelt worden. Wer noch immer auf Cygwin setzt, kann auch einfach einen Alias in seiner .bashrc anlegen, sodass NTop auch über den Aufruf von htop gestartet werden kann.

Ventoy - Multi-Iso-Boot-Sticks

Ventoy ist eine Open-Source-Software, die es ermöglicht, einen bootfähigen USB-Stick mit mehreren ISO-Dateien von Betriebssystemen oder anderen bootbaren Anwendungen zu erstellen. Im Gegensatz zu herkömmlichen Methoden, bei denen der USB-Stick für jede ISO-Datei neu formatiert werden muss, ermöglicht Ventoy das Hinzufügen und Entfernen von ISO-Dateien über eine seperate Partition auf dem USB-Sticks.

Wenn der Ventoy-USB-Stick an einen Computer angeschlossen wird, erkennt das System automatisch die verfügbaren ISO-Dateien und zeigt sie im Boot-Menü an. Dies ermöglicht es dem Benutzer, das gewünschte Betriebssystem oder die gewünschte Anwendung auszuwählen und direkt von USB zu booten. Dies ist besonders nützlich für Systemadministratoren oder jeden, der regelmäßig verschiedene Betriebssysteme oder Diagnose-Tools verwendet. Ventoy unterstützt eine breite Palette von ISO-Dateien und Betriebssystemen, einschließlich Windows, Linux und MacOS. Es ist eine praktische Lösung, um einen einzigen USB-Stick für verschiedene Images zu verwenden, ohne ständig den Sticks zu formatieren zu müssen.