Portal

Software (Auswahl)

LinAlg -- Die Lineare-Algebra-Bibliothek für Scala

Gespeichert von h2b am
Name
LinAlg
Version
3.1.0
Programmiersprache
Scala (2.12, 2.11)
Datum

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

Gespeichert von h2b am
Name
SimGraf
Version
1.3.0
Programmiersprache
Scala (2.12, 2.11)
Datum

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.

Utilib -- Eine Scala-Bibliothek von Programmier-Utilitys

Gespeichert von h2b am
Name
Utilib
Version
0.4.2
Programmiersprache
Scala (2.13, 2.12, 2.11)
Datum

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

Gespeichert von h2b am
Name
Algolib
Version
0.1.0
Programmiersprache
Scala (2.12, 2.11)
Datum

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

Gespeichert von h2b am
Name
PA-Toolbox
Version
1.1.0+1.1.0
Programmiersprache
Java, Scala (2.12, 2.11)
Datum

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

Gespeichert von h2b am
System
Debian GNU/Linux
Version
7
Symptom
Ein Webserver und zugehörige Dienste wie ein Datenbankserver sollen in jeweils abgeschlossenen Umgebungen (jail bzw. sandbox) laufen, so dass diese auf andere Prozesse oder Dateisystembereiche des Betriebssystems nicht oder nur eingeschränkt zugreifen können.

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

Gespeichert von h2b am
System

Git

Version
2.1.4
Symptom

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

Gespeichert von h2b am
System
Alle
Symptom
Mails, die vom eigenen Server versendet werden, landen im Spam- oder Junk-Ordner der Empfänger.

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.