Archiv der Kategorie: Computerkram

Amazon Prime Video und Netflix auf dem Raspberry Pi – Update

Alles ist nun viel einfacher als im letzten Artikel beschrieben. Kodi 18 ist inzwischen aktuell, der ganze Kram mit experimentellen Builds ist Vergangenheit und man muss nicht mal LibreELEC nehmen, sondern kann Kodi unter Raspbian laufen lassen und parallel zu einem Desktop oder RetroPie betreiben.

Das Amazon Prime Plugin muss man sich aber immer noch aus dem Sandmann79 Repository besorgen, das vorher manuell einzutragen ist.

In den Einstellungen des Amazon VOD Plugins musste ich dann noch die Region händisch einstellen, sonst ging der Login nicht.

Außerdem muss (mit apt) das Paket kodi-inputstream-adaptive installiert sein, sonst kann das vom Amazon-Plugin mitinstallierte InputStreamHelper-Plugin in Kodi das Widevine-Geraffel (für’s CRM) nicht herunterladen.

Und dann war halt noch so Kindergartenzeugs einzustellen, wie z.B. der Audio-Kanal, wenn auf einmal der Center-Kanal fehlt…

Für Netflix muss händisch noch Pycryptodome installieren. pip install pycryptodomex

Python: Versionshorror bei Packages

Zwei Python-Packages haben mich gestern und heute mit Bugs unter macos Catalina geärgert:

PyGame

Das noch aktuelle PyGame 1.9.6 läuft auf Macs mit Retina-Display unbrauchbar langsam. Der Full-Screen-Modus bringt nur bedingt Abhilfe. Die Developer-Version von PyGame 2 läuft dagegen normal.

Hat wohl was mit SDL1 zu tun, ist bekannt und mit SDL2 gefixt. PyGame 1 mit SDL2 sollte sich eigentlich über Homebrew compilieren lassen, hat bei mir aber mit einer Compiler-Fehlermeldung abgebrochen. Hab’s dann aufgegeben, da sich PyGame 2 als Wheel installieren lässt. Von Python 3.8 sollte man wohl auch eher absehen.

Nachtrag: Bei PyGame 2 unter Windows scheint es wohl Probleme mit dem Alpha-Kanal zu geben, was Auswirkung auf die Kollisionserkennung mit Maske sowie die Darstellung hat.

asciimatics

Die Version 1.11.0 bringt in der Initialisierungsphase einen Fehler bei curses.cbreak(). Möglicherweise hat sich da was bei Catalina geändert, hab ich dann gestern nicht mehr weiter verfolgt, weil es mich in den Wahnsinn getrieben hat. Die ältere Version 1.10.0 läuft normal.

Notizen zu Machine Learning, Teil 2

Ressourcen

Zunächst mal ein Hinweis auf einen ziemlich unterbewerteten YouTube-Kanal zum Thema Machine Learning: Introduction to Machine Learning von Lukas Biewald, Gründer von Weights & Biases und Figure Eight.

Auch interessant, wenn es um Bildverarbeitung mit neuronalen Netzen und Python geht: pyimagesearch

Ein genereller KI-Kurs, der natürlich auch Machine Learning beinhaltet, wird vom MIT bereitgestellt.

Datenbanken, Teil 4: Eins-zu-Eins-Beziehungen

Teil 2 der Serie über Datenbanken, in dem es um das Entity-Relationship-Modell ging, liegt nun schon ungefähr 2 Jahre zurück, aber relationale Datenbanken haben natürlich nichts von ihrer Aktualität eingebüßt und in der Zwischenzeit haben wir in unserem Podcast darüber berichtet. Bisher haben wir 1:N- und N:M-Beziehungen betrachtet. In diesem Teil geht es weiter, denn mit den Beziehungen ist es manchmal kompliziert.

Dieser vierte Teil der Serie setzt Kenntnisse der Grundbegriffe des E/R-Modells und der Umsetzung von 1:N- und N:M-Beziehungen ins relationale Modell voraus. In den ersten drei Teilen der Serie wurden diese erklärt.

Beispiele für 1:1-Beziehungstypen; Quelle;
CC-BY-SA 2.5 Maximilian Dörrbecker

Für 1:N- und N:M-Beziehungen wurde im vorherigen Teil bereits diskutiert, wie die Umsetzung ins relationale Modell erfolgt. 1:N-Beziehungen können am einfachsten mit einer Fremdschlüsselspalte auf der N-Seite umgesetzt werden während für N:M-Beziehungen immer eine Beziehungstabelle notwendig ist.

1:1-Beziehungen

Eine weitere Beziehungsart zwischen zwei Entitätstypen ist die 1:1-Beziehung. Betrachten wir zunächst als Beispiel die Beziehung zwischen einer Person und ihrem Ausweis.

Eine Person besitzt nur einen Ausweis und ein Ausweis gehört zu einer Person. Wir gehen in dem Beispiel weiterhin davon aus, dass jede Person in der Datenbank auch einen Ausweis besitzt und es nur personalisierte Ausweise gibt.

Datenbanken, Teil 4: Eins-zu-Eins-Beziehungen weiterlesen

Datenbanken, Teil 3: Tabellen erstellen mit SQL

Im zweiten Teil der Serie über Datenbanken, der zugegebenermaßen schon etwas zurück liegt, hatte ich versprochen, im folgenden Teil der Serie zu zeigen, wie man in der Praxis mit SQL Tabellen erstellt. Dieses Versprechen will ich nun hiermit einlösen. In der ersten Staffel unseres Podcasts haben uns in der Zwischenzeit allerdings auch schon mit SQL beschäftigt.

SQL ist eine weit verbreitete Sprache für relationale Datenbankmanagementsysteme und umfasst, wie im ersten Teil schon erwähnt, sowohl eine Abfragesprache (Query Language) wie auch Sprachen zum Einfügen und Löschen von Daten (Data Manipulation Langauge) und zum Anlegen eines Datenbankschemas (Data Definition Language). SQL wird von vielen aktuellen relationalen Datenbankmanagementsystemen (DBMS) verstanden. Ein weit verbreitetes und kostenloses DBMS ist MySQL. Die Codebeispiele in diesem und den folgenden Teilen beziehen sich, sofern nichts anderes angegeben ist, auf MySQL. Da SQL aber weitgehend standardisiert ist, sollten sie auch in anderen DBMS funktionieren.

Datenbanken, Teil 3: Tabellen erstellen mit SQL weiterlesen

Darknet

Aber in einer freien, offenen Demokratie gibt es meiner Meinung nach keinen legitimen Nutzen.

Staatssekretärs im Bundesinnenministerium Günter Krings (CDU) über das “Darknet”

Ja, wir leben in einer freien und offenen Demokratie, aber offenbar arbeitet man in der CDU dran. Paradoxerweise führt Herr Krings gerade durch seine Forderungen nach einer Kriminalisierung des Tor-Netzwerks seine Prämisse ad absurdum.

Na Bravo

Da hat ja gerade eine knappe Mehrheit im EU-Parlament eindrucksvoll bewiesen, wie manche Abgeordneten die junge Generation der Internetnutzer ohne jeden Respekt anpissen als gekauft, Bots oder Mob diffamieren, den Rat von Experten schlicht ignorieren und vor der Lobby der Content-Mafia Zeitungsverleger und Verwertungsgesellschaften einknicken.

Wenn nur bald mal wieder Wahl wäre… Moment…

Artikel 13

Morgen wird im EU-Parlament über die umstrittende Urheberrechtsreform abgestimmt.

Vorgestern sind Zehntausende in ganz Deutschland gegen diese Reform auf die Straßen gegangen. Wir waren in Frankfurt dabei. Es hat mich gefreut, so viele junge Menschen und mutmaßlich viele Informatiker, die sonst nicht immer sehr politisch sind, dort zu sehen. Der Paulsplatz war vor Beginn der Veranstaltung jedenfalls schon gut gefüllt.

Aber gibt es nicht auch Gründe, für diese Reform zu sein?

Nein!

Bei näherer Betrachtung der wesentlichen Argumente der Befürworter fällt auf, dass der aktuelle Entwurf nicht geeignet ist, um die Ziele zu erreichen, die man sich davon verspricht.

Sollten nicht die Plattformen mehr an die Urheber zahlen?

Ja klar, aber die Reform ist nicht geeignet, dieses Ziel zu erreichen. Zwar ist in Artikel 13 vorgesehen, dass die Plattformen Inhalte von Verwertungsgesellschaften lizenzieren. Hinter dieser Logik steht die Annahme, dass YouTube wohl nur dazu benutzt wird, urheberrechtlich geschützes Material von Musikern und Filmstudios illegal zu verbreiten. Aber das ist nicht so! Klar kann man sich die Musikvideos der deutschen Top 100 Charts bei YouTube ansehen, aber die wurden von den Bands selbst hochgeladen. Sollten andere Uploader urheberrechtlich geschützte Musik zum Beispiel als Hintergrund für eigene Filme verwenden, ist dies natürlich erst mal urheberrechtlich nicht in Ordnung. Allerdings zahlt YouTube bereits heute Lizenzgebühren an die GEMA!

Die Reform stärkt also allenfalls die Verhandlungsposition der Verwertungsgesellschaften, da bislang ein Plattformbetreiber erst ab Kenntnis einer Urheberrechtsverletzung haftbar war, nach der Reform aber direkt beim Upload. Es ist aber keineswegs so, dass bisher kein Geld geflossen war und es ist auch nicht so, dass YouTube gezwungen wäre, Lizenzen abzuschließen. Sie könnten auch den Upload verhindern, dann wären wir bei den Uploadfiltern (s.u.).

Künstler, die nicht von der GEMA vertreten werden, haben weiterhin nichts davon, da es kaum möglich sein wird, mit einer Vielzahl von Musikern Lizenzvereinbarungen abzuschließen. Die Reform stärkt also gar nicht die Urheber, sondern nur die Verwerter.

Desgleichen gilt im Text-Bereich für Autoren, die nicht von der VG Wort vertreten wären. (Ok, das betrifft jetzt vielleicht eher Artikel 11.) Einer der größten Empfänger von Auszahlungen der VG Wort ist im übrigen Gerüchten zufolge der Springer-Verlag. Kein Wunder also, dass Bild und Welt so stark für die Reform schreiben.

Aber da steht doch gar nix von Uploadfiltern?

Äh, doch. Der Plattformbetreiber ist nämlich dann nicht haftbar, wenn er die bestmögliche Anstrengung unternimmt, den zukünftigen Upload von urheberrechtlich geschütztem Material zu unterbinden (“best efforts to prevent their future uploads”). Das geht nur mit Uploadfiltern.

Es gibt übrigens eine Reihe von erlaubten Nutzungen von urheberrechtlich geschütztem Material in Form von Zitaten oder Satire. Das ist sogar auch nach dem Entwurf von Artikel 13 ausdrücklich erlaubt. Allerdings würde der Einsatz von Uploadfiltern zweifellos zu Kollateralschäden führen, also in verhältnismäßig großer Zahl auch legale Uploads zurückweisen.

Kann man da nicht mit KI was machen?

Nein! Filter auf Basis von Machine Learning haben eine zu große Fehlerrate. Insbesondere die Unterscheidung von legaler Nutzung im Rahmen von Satire ist ein hartes Problem. (Ich weiß, wo von ich Rede, ich hab’ mal ne Doktorarbeit über Machine Learning geschrieben.) Das ist auch die einhellige Meinung von Informatikern, auch wenn einige “Experten” der CDU da anderer Meinung sind. Und nein, Google erkennt die Memes nicht mit KI, sondern daran, dass jemand an ein Bild mal “Meme” dran geschrieben hat.

Im übrigen braucht Machine Learning Trainingsdaten, also sprich Vorlagen, anhand derer die zu klassifizierenden Inhalte zu identifizieren sind. Technisch sind nur die großen Plattformen mit vielen Daten dazu in der Lage, mit wenigstens halbwegs zufriedenstellender Genauigkeit einen solchen Uploadfilter zu bauen. Mittelgroße Betreiber müssten sich also einen solchen Filter von Google zur Nutzung geben lassen. Die Uploadfilter zementieren also noch die Vormachtstellung von Google.

YouTuber sind auch Urheber!

Was in den Argumenten der Befürworter keine Rolle zu spielen scheint ist übrigens die Tatsache, dass die YouTuber, die von den genannten Kollateralschäden, dem unberechtigen Zurückweisen von Inhalten durch automatische Filter, betroffen wären, auch Urheber sind. Auch unter diesen gibt es welche, die mit ihren Werken Geld verdienen. Nur weil es nicht über Filmstudios und Großverlage läuft, kann man das nicht einfach unter den Tisch fallen lassen. Für diese Urheber bedeuten Uploadfilter potentiellen Einnahmeausfall.

Zensur?

Und dann war da noch das Zensur-Problem. Natürlich ist eine Verhinderung von urheberrechtsverletzenden Uploads erst mal keine Zensur, aber wenn eine Infrastruktur erst mal etabliert ist, gibt es immer auch die Möglichkeit, sie zu missbrauchen. Eine Ausweitung auf Terrorpropaganda ist schon angedacht. Aber was kommt dann? Manch einer denkt da schon weiter.

Fazit

Fassen wir also zusammen:

Artikel 13 stärkt nicht die Urheber, sondern allenfalls die Verwertungsgesellschaften.

Artikel 13 führt nicht dazu, dass die großen Plattformen geschwächt werden, sondern zementiert noch ihre Vormachtstellung.

Uploadfilter sind technisch schwierig, weil Machine Learning ist nicht in der Lage, hinreichend genau zwischen legalen Zitaten und Satire und urheberrechtlich illegaler Nutzung zu unterscheiden.

Artikel 13 führt also nicht dazu, dass alle Urheber besser gestellt werden, denn YouTuber sind auch Urheber und die werden von ungenauen Filtern behindert.