(#) Netzware

Open Source, Technik und mehr.

Themen Bereich:

Machine Identification Code: Versteckte Informationen auf Ausdrucken?

Viele moderne Drucker versehen ihre Ausdrucke mit digitalen Wasserzeichen, die als Machine Identification Code (kurz: MIC) bezeichnet werden. Mit diesen Kennzeichnungen können Dokumente auf ihren Ersteller zurückverfolgt werden, was vor allem im Hinblick auf die Kriminaltechnologie von Vorteil sein kann. Andererseits beeinträchtigt sie aber auch die Privatsphäre der Menschen. Aber wie funktioniert ein MIC eigentlich und welchen Nutzen haben diese gelben Punkte?

Was genau versteht man unter Machine Identification Code?

Ein Machine Identification Code besteht im Wesentlichen aus einem Punktrast...

[Quicktipp] Nicht alphanumerische Zeichen in PHP entfernen

Benutzereingaben müssen immer abgesichert werden. Dadurch werden Sicherheitslücken minimiert, SQL Injections verhindert und XSS (Cross-site scripting) Attacken vermiden. Bei einer einfachen Stichwortsuche, wie es in meinem Fall ist, haben Sonderzeichen nichts zu suchen und können bedenkenlos entfernt werden.

In PHP gelingt uns dies am einfachsten mit der Funktion preg_replace() (php.net). Zusammen mit einem Regulären Ausdruck entfernt die Funktion alle nicht alphanumerischen Zeichen aus einem String. Nur Buchstaben, Zahlen und einfache Leerzeichen bleiben bestehen.

preg_replace("/[^A-Za-z0-9 ]...

MySQL Datenbank zu SQLite3 exportieren

MySQL ist ein fester Bestandteil und neben PostgreqSQL eines der am verbreitesten Datenbanksysteme im Bereich Server Anwendungen. Für lokale Anwendungen wird dagegen auf SQLite3 gesetzt. Das relationale Datenbanksystem wird in der Regel bei kleineneren Anwendungen angewandt und begleitet uns sogar im täglichen Leben. Dadurch das SQLite3 eine Programmbibliothek mit integriertem Datenbanksystem ist, läuft SQLite3 auf jedem System. Sogar unsere Smartphones, Smart TVs und Webbrowser verwenden SQLite.

mysql-to-sqlite3

Wer von MySQL zu SQLite3 wechseln möchte, braucht die Datenbank nicht in mühevoll...

[Quicktipp] MySQL Ergebnis als kommaseparierte Liste zurückgeben

Wie schon im Artikel WordPress Artikel in MySQL auslesen angewendet, ist es in MySQL möglich eine Kommaseparierte Liste auszugeben. Das spart nicht nur Zeit, sondern auch eine menge Code.

Typischerweise sieht eine Standard Abfrage in MySQL, um alle IDs zu erhalten, wie folgt aus:

SELECT id FROM mitglieder

Das Ergebnis enthält mehrere Zeilen, in welcher die ID steht. Mit einer Schleife um das Ergebnis bauen die meisten jetzt manuell eine kommaseparierte Liste zusammen. Einfacher geht es dagegen direkt in MySQL.

Mit der MySQL Funktion GROUP_CONCAT() lässt sich die Abfrage insofern anpassen, so d...

[Quicktipp] Veröffentlichte Wordpress Artikel in MySQL auslesen

Zurzeit experimentiere ich mit diverser anderer Blogging Software. Wordpress ist für mich nicht mehr das, was es einmal war. Schreiben macht nicht mehr so viel Laune und gefühlt wird Wordpress mit jedem Update etwas mehr aufgebläht. Aus diesem Grund suche ich aktuell eine andere Blogging Software. Da der Inhalt im Vordergrund steht und ich meinen veröffentlichten Artikel mitnehmen möchte, werde ich diese natürlich importieren.

Veröffentlichte Wordpress Artikel zu exportieren ist generell kein Problem. Diverse eingebaute Funktionen ermöglichen einem die Inhalte mitzunehmen. Dennoch möchte ich n...

[Quicktipp] Suchen und Ersetzen im Editor nano

Nano ist ein einfacher Editor auf der Konsole. Mit dem Editor lassen sich Dateien leicht und schnell bearbeiten. Funktionen und Aktionen werden über Tastenkürzel gesteuert. Wer eine Datei im geöffneten Zustand abspeichern möchte, der drückt die Tastenkombination STRG + O. Eine Zeile Ausschneiden geht per STRG + K. Eine oft gestellte Frage ist dabei, wie man eine Zeichenkette ersetzen kann. Für viele ist das ein Rätsel, denn die normale Tastenkombination lautet STRG + \ (Backslash). Auf einem deutschen Tastaturlayout ist das nicht direkt möglich, da ein Backslash nur über ALT gr + ß erzeugt wir...

Golang Editor LiteIDE angetestet

Zurzeit verbinge ich viel Zeit mit der Programmierung einer REST API in der stark typisierten Compilersprache Go. Dabei habe ich zuerst die von Jetbrains (IntelliJ, PHPStorm, Webstorm) entwickelte IDE Goland ausprobiert. Aufgrund der Kosten habe ich nach einem weiteren Editor gesucht und bin bei LiteIDE gelandet.

Installation und erster Start von LiteIDE

Die Installation der Golang IDE ist recht einfach und schnell. Als aller erstes muss die richtige Version auf github.com heruntergeladen und entpackt werden. Für Windows ist zum Beispiel die Datei liteidex37.1-2.windows-qt5.9.5.zip die richti...

[Quicktipp] Xiaomi Fastboot wieder beenden

Für kleines Geld habe ich mir das Xiaomi Redmi 8A geholt. Eingesetzt werden soll das Smartphone zum Testen von Anwendungen, aber auch als Ersatz. Ihr wisst ja wie das ist, wenn Bekannte mal wieder ihr eigenes kaputt gemacht haben. Auf den ersten Blick muss ich sagen, dass das Redmi 8A Preis/Leistungstechnisch echt gut gelungen ist. Es fühlt sich nicht billig an, liegt gut in der Hand und Apps laufen flüssig.

Was ich an dem Redmi 8A nicht mag, ist der China Teil in der Software. Gleich am Anfang bei der Einrichtung von Android werden ständig irgendwelche Apps vorgeschlagen oder sind automatisch...

[Quicktipp] Dateirechte in Git zukünftig ignorieren

Auf einem Dateisystem verfügt jeder Ordner und jede Datei über eigene Dateirechte. Grob gesagt, nur der Besitzer oder Gruppenmitglieder dürfen auf die Datei zugreifen und diese verändern. In bestimmten Fällen ist es unvermeidbar, dass auch Fremde System Benutzer die Datei bearbeiten sollen dürfen. Diesen Falle kenne ich vor allem bei Webprojekte, in denen bestimmte Prozesse Dateien in Export Ordner anlegen oder Schnittstellen Dateien verarbeiten.

Kürzlich hatte ich genau solchen Fall, dass Dateirechte nach der Aktualisierung vom Projekt (via git pull) zurückgesetzt worden sind. Einige Export O...

[Quicktipp] Python Projekt Abhängigkeiten auflisten

Bei meinem aktuellen Python Projekt teste ich meine Software auf verschiedenen Geräten. (Sobald die Software stabil ist, werde ich sie auf Github veröffentlichen und auch hier vorstellen.) Bei der manuellen Erstinstallation müssen hierbei zuerst die Abhängigkeiten wie pyperclip oder dnspython installiert werden. Das geschieht über die Python Paketverwaltung pip.

Alle Abhängigkeiten auslesen

Über die Paketverwaltung pip lassen sich nicht nur python Pakete installieren, sondern auch alle bereits installierten Abhängigkeiten von e...