Software (Auswahl)
LinAlg -- Die Lineare-Algebra-Bibliothek für Scala
LinAlg stellt Datentypen und Operationen für algebraische Vektoren und Matrizen zur Verfügung.
Vektor- und Matrixelemente können von beliebigem Typ sein, vorausgesetzt, dass eine Factory für den jeweiligen Elementtyp existiert. Zur Zeit gibt es solche Factories für Double
, Float
, Long
, Int
, Short
, Byte
und Char
.
SimGraf -- Eine simple Grafikbibliothek für Scala
Diese Bibliothek bietet Hilfsmittel zur Grafikprogrammierung in Scala. Sie ist zugeschnitten auf möglichst einfaches Zeichnen von Figuren und Funktionen, ohne das Grafiksystem mit Dutzenden von Einstellungen konfigurieren zu müssen, nur um ein simples Bild anzuzeigen. Hingegen ist die Bibliothek nicht gedacht zur Programmierung grafischer Benutzeroberflächen mit Knöpfen, Menüs usw.
SI -- Eine Scala-Biliothek zum Rechnen mit Maßeinheiten
Diese Scala-Biliothek zum Rechnen mit Maßeinheiten beruht auf dem Internationalen Einheitensystem (SI).
Die wichtigsten Typen sind Quantity
und Unit
.
Utilib -- Eine Scala-Bibliothek von Programmier-Utilitys
Diese Bibliothek bietet diverse Utilitys für das Programmieren in Scala. Es handelt sich dabei nicht um eine systematische Zusammenstellung, sondern um eine Reihe von Werkzeugen, die sich einfach für mich als nützlich erwiesen haben und somit auch für andere interessant sein könnten.
Algolib -- Eine Scala-Bibliothek essentieller Algorithmen
Diese Bibliothek enthält zunächst eine Reihe von in Scala implementierten Algorithmen aus dem Buch Algorithms 4 von Robert Sedgewick and Kevin Wayne [1]. Weitere Implementierungen von Algorithmen aus diesem Buch werden von Zeit zu Zeit dazukommen. Auch andere Algorithmen können Bestandteil dieser Bibliothek werden.
PA-Toolbox -- Predictive-Analytics Java Toolbox
Diese Java-Bibliothek enthält einige Werkzeuge, die in einem Predictive-Analytics-Umfeld nützlich waren. Tatsächlich sind die meisten davon allerdings nicht spezifisch für dieses Gebiet und mögen daher von allgemeinem Interesse sein.
Anleitungen (Auswahl)
Webserver im Sandkasten
Es gibt verschiedene Techniken, um Sandbox-Umgebungen herzustellen. Hier verwenden wir die Firejail Security Sandbox, die es ermöglicht, einem Dienst und allen zugehörigen Prozessen Betriebsmittel wie Netzwerkzugriff, Prozesstabelle oder Dateisystem in einem privaten, abgeschotteten Bereich zuzuteilen. Der Dienst sieht damit nur seine eigenen Prozesse und kann nur auf den Teil des Dateisystems zugreifen, der ihm zugeordnet wird.
Extrahieren mehrerer Teilbäume aus einem Git-Archiv
Git
Aus der Verzeichnisstruktur eines Git-Archivs sollen mehrere Teilbäume herausgelöst und unter Beibehaltung der Versionsgeschichte in ein neues Archiv übertragen werden.
Git bietet verschiedene Ansätze, um die gestellte Aufgabe zu lösen. Hier verwenden wir das git-subtree-Kommando, mit dem die herauszulösenden Teilbäume in Zweige übertragen werden können, welche sich dann wiederum von einem anderen Archiv aus importieren lassen.
Verbessern der Reputation eines Mailservers
Es ist nicht allzu schwer, einen eigenen Mailserver aufzusetzen, jedoch landen die versandten Mails oftmals im Spam- oder Junk-Ordner der Empfänger – wenn überhaupt. Das liegt daran, dass die meisten Provider eingehende Mails blockieren, wenn sie sie für unerwünscht oder gar gefährlich halten.