Rocking iptables like a DJ

turn|table, turn·ta·ble (tûrn t b l), /ˈtəːnteɪb(ə)l

Definition of turntable in English:

noun

    • The circular horizontal rotating platform of a phonograph on which the record is placed.
    • A phonograph exclusive of amplifying circuitry and speakers.
    • (turntables) A set of two or more record decks connected to sound mixing equipment, used by a DJ: the two DJs who preside over the turntables play all kinds of cool electronica.
  1. A circular horizontal rotating platform equipped with a railway track, used for turning locomotives, as in a roundhouse.
  2. A rotating platform or disk, such as a lazy Susan.
  3. (ipturntables.sh) A bash script with a set of easy, common iptables rules forming a firewall to protect a computer host from malicous data packets sent from the internet, used by an Admin.

1 ipturntables.sh gitlab repository
2 The netfilter framework (iptables)

Subtyping für Werte: Mehr Ausdrucksstärke, mehr Sicherheit

Exzellenter Artikel von Beate Ritterbach (https://heise.de/-3273406) über die Ambivalenz objekt-orientierter Hochsprachen insbesondere wenn es um das Thema Vererbung geht. Hier werden Problemmuster erwähnt auf die ich schon in ähnlicher Weise gestossen bin. Bei OOP kommt es häufig zu zwei Extremen, entweder Vererbung wird ganz ignoriert oder sie wird mißbräuchlich verwendet, einfach aus Unkenntnis der doch recht diffusen und schwer greifbaren Regeln die dahinter stehen.
Hier sehr schön als Injektivität und Verhaltenskomformität beschrieben, übrigens die Verwendung mathematischer Begriffe als Analogie finde ich sehr gelungen. Bei Verhaltenskonformität z.B. spreche ich oft von kommutativen Operationen.
Auch das Kapitel über Gleichheit ist hochinteressant denn häufig wird es falsch implementiert weil der Unterschied zwischen identischen Instanzen und Instanzen mit identischem Inhalt nicht deutlich ist. Das Gleiche ist eben nicht dasselbe 🙂

Cyc

Das erste Mal habe ich etwas von Doug Lenat im 4. Teil der BBC Dokumentation Eine Maschine verändert die Welt (https://youtu.be/cG7v9eCq2u4) gehört. Bereits dort wird das Cyc Projekt von ihm selbst vorgestellt und insbesonders auf horrende Probleme in der KI hingewiesen. Marvin Minsky nannte es das Hintergrundwissen, Dinge die niemals erwähnt werden aber von denen trotzdem jeder implizit ausgeht, in der Doku finden sich dazu interessante, teilweise witzige Beispiele z.B. KI’s mit der Aufgabe einen Turm aus Klötzen zu bauen und dabei möchten sie mit dem obersten Klotz anfangen.
Deep Learning alleine ist es nicht, zwar mag es sich leicht von Neuronalen Netzen unterscheiden aber die Problematiken die entstehen ähneln sich in gewisser Weise, damit lassen sich zwar klevere Experten-Systeme bauen deren Welt sich auf ein Schachbrett oder TicTacToe beschränken, den Turing Test können solche Maschinen allerdings nicht bestehen ohne dass einige grundlegende Regeln bestehen und genau das macht Cyc.
Nach über 30 Jahren ist es nun also soweit und ich bin mal gespannt was dort für Produkte aus dem Projekt hervorgehen. Wer mit diesem Geist rumspielen möchte kann das auch selbst ausprobieren, es gibt einen OpenSource-Ableger genannt OpenCyc (http://www.cyc.com)

Cyc: KI mit Weltwissen erlangt Marktreife

Lukhash

… is a wicked, creative 8-bit wizard from poland crafting aural electrons from old gear like modded c64’s and gameboys and he combines it with contemporary electronic, rock and dub step music. Astonishingly awesome!
A lot of his tracks can be downloaded from his website (http://www.lukhash.com) for free but feel free to insert some coins.

Die kommenden Tage

… ist eine beklemmende Dystopie mit geradzu prophetischen Zügen wenn man die Gegenwart in Betracht zieht, wohlgemerkt der Film ist von 2010 aber aktueller denn je. Konstantin (August Diehl) und Hans (Daniel Brühl) könnten keine größeren Gegensätze darstellen, der eine bringt Verwüstung und Zerstörung während der andere trotz aller Widerstände, versucht die Tugend in das Gute zu verwandeln. Zugleich müssen die Schwestern Laura (Bernadette Heerwagen) und Cecilia (Johanna Wokalek) in einer langsam versinkenden Welt erkennen dass ihre Erwartungen vom Leben sich nicht erfüllen werden. Ironischerweise verbindet sie alle die Hoffnung in eine bessere Zukunft nur jeder auf seine Weise. Großartig fand ich die Reaktion des Vaters: “Ihr müßt mir doch nicht drohen. Meine Tochter hält’s für nötig wahllos Leute umzubringen. Mein Sohn kämpft in diesem beschissenen Krieg. Ich komm doch nicht zurück ins Büro!”
Auch Cecilia’s Szene im Gefängnis, die sich längst bewußt ist ihrer Rolle als Marionette, ist herzergreifend. Wenn man geneigt ist sich der Schwere des Stoffes anzunehmen, ein großartiger Film.

Interstellar

Imagine yourself as a creature which is familiar to live in five dimensions. Space & time in a linear fashion is insignificant to you as your nature is to be always and everywhere. Imagine that you try to communicate to a species much more limited, not always able to recognize all dimensions. It’s like you are talking to a hill of ants. You know there must be some kind of intelligence but you can’t grasp their inner consciousness. For them creating a black hole is for us like shaping a new hill. Now imagine that you try to give one ant a view into your world in which they are able to communicate with you. (Is he gone nuts now?)
Probably you’ve guessed it, i’ve seen Interstellar, putting the humans into the role of the ants whose destiny lies in the depths of a black hole which is a fantastic abstraction of a fractal in a storyline.

PS: TARS is the coolest robotic AI i’ve ever seen, even cooler than HAL.

Cooper: Hey TARS, what’s your honesty parameter?
TARS: 90 percent.
Cooper: 90 percent?
TARS: Absolute honesty isn’t always the most diplomatic nor the safest form of communication with emotional beings.
Cooper: Okay, 90 percent it is. “

Das Kodi Media Center im Eigenbau

Als kleines Hobbyprojekt hatte ich mir schon lange vorgenommen mir ein eigenes Entertainment Hub mit Kodi (vgl. XBMC) zu bauen, dabei soll dieses System im Alltagsgebrauch meinen alten TechniSat Receiver ersetzen. Es soll u.a. dazu dienen Fernsehen zu schauen, Musik zu hören z.B. lokale Streams, von CD oder auch online per Internet Radio außerdem möchte ich sowohl Videos abspielen (DVD, Bluray) als diese auch per Stream abrufen können z.B. über einen lokalen DLNA Server. Zudem soll die Möglichkeit bestehen diverse Videodienste direkt aus dem Internet zu nutzen z.B. YouTube, Twitch, aber auch kommerzielle Anbieter wie  Amazon Prime oder Netflix. Die meisten dieser Funktionen bringt Kodi von Haus mit, einige andere Dinge wie z.B. gewöhnliches Fernsehen muß über eine TV-Karte realisiert werden.

Nächste Seite

Zur re:publica 15

Das Urheberrecht (https://heise.de/-2637921) stellt mittlerweile ein Sammelsurium von Ungerechtigkeiten mit grotesken Zügen dar. Auf Speichermedien erhobene Gebühren (Pauschalverdacht von Rechstverletzungen), Zwang zur Mitgliedschaft für Urheber (GEMA-Vermutung), faktisch ausgehebelte Nutzung von Privatkopien, Geldstrafen ohne angemessene Feststellung der Schuld (Abmahnpraxis), Haftung für Taten Dritter im eigenen WLAN (Störerhaftung) wovon Provider ausgenommen sind, ungerechtfertige Benachteiligung des Kunden (GeoBlocking), drohende Klagen bei Verlinkung von Presse-Inhalten (Leistungsschutzrecht), unnatürliche Schutzfristen von 70 Jahren ab Erstveröffentlichung (vor Kurzem noch: 50 Jahre), gemeinfrei werden geschütze Werke erst nach weiteren 70 Jahren nach dem Tod des Künstlers (!), usw.usf.

Ahnungslose Politiker aus #Neuland glauben jeden Unfug der ihnen von Lobbyisten der Rechteverwerter erzählt wird und einige Juristen helfen ihnen dabei das Recht bis zur Unkenntlichkeit zu verbiegen, hier werden in Gesetzesform gegossene Monopolrechte einer kleinen Klientel gewährt.
Die guten Absichten, Schöpfern eine angemessene Vergütung zukommen zu lassen, werden völlig konterkariert weil der Urheber und der Rechteverwerter häufig nicht ein und diesselbe Person sind!
Letztere waren es die von einer ganzen Reihe von Gesetzen profitiert haben. Kulturelle Vielfalt, Kreativität und Innovation werden von dieser Gesetzgebung mittlerweile gehemmt. Verwenden sie doch mal einen Videoschnipsel auf Youtube, ein Bild aus unbekannter Quelle oder ein Musikstück zur Untermalung ohne befürchten zu müssen mit Abmahungen und Klagen überhäuft zu werden. Immer in der Annahme jede noch so “gringfügige” Verwertung rechtfertige einen Anteil am “möglichen” Gewinn ungeachtet dessen ob dieser tatsächlich realisiert wurde. Hauptsache man kann Leute zur Kasse bitten. Kleine kreative Künstler ohne Superstar-Ambitionen sind bei diesem Recht schon lange unter die Räder geraten.

Vorsicht mit solchen Meinungen, sie müssen damit rechnen vom hochkompetenten Internetexperten Günther Öttinger zum digitalen Taliban erklärt zu werden.

Noch etwas Nachschlag gefällig?
Groteske Lage bei Musikrechten

Audio Streaming per Bluetooth (A2DP)

Möchte man auf einfache Weise Musik vom Smartphone abspielen und z.B. per Bluetooth an den Rechner senden um dessen Boxen zur Ausgabe zu nutzen kann man unter Debian Jessie folgendermaßen vorgehen. Im Regelfall sollten die Standartpakete (firmware-linux-free & firmware-linux-nonfree) einen großen Teil der Hardware bereits von Haus unterstützen und die nötige Firmware bereitstellen. Um aber sicher zu gehen sollte man zunächst einmal untersuchen ob vielleicht eine spezielle Firmware für das am PC angeschlossene Bluetooth Modul benötigt wird:

Me@myHost:~# lsusb
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 004: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 005: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Me@myHost:~# ### Das Atheros Bluetooth Modul benötigt eine spezielle Firmware
Me@myHost:~# sudo apt-get install firmware-atheros
Me@myHost:~# ### Folgende Pakete benötigt man für den Bluetooth<=>PulseAudio Stack
Me@myHost:~# sudo apt-get install pulseaudio pulseaudio-module-bluetooth pavucontrol \
 bluez bluez-firmware bluez-tools

IPv6, pppd & Router Advertisements via ICMPv6

Baut man über den pppd eine DSL Verbindung auf, so erhält man normalerweise die Adresse des Peers und die öffentliche IP-Adresse.

14: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp
    inet 0.1.2.3 peer 4.5.6.7/32 scope global ppp0

Bei IPv4 ist das nichts ungewöhnliches allerdings ist es erstaunlich dass wenn man dasselbe über IPv6 versucht man u.U. nur eine Link-Local-Adresse erhält:

inet6 fe80::10:20:30:40/10 scope link
  valid_lft forever preferred_lft forever

Bei IPv6 werden neue Router bzw. Netze durch das sogenannte Neighbor Discovery Protocol (vgl. Router Advertisement) dem lokalen Netz mitgeteilt. Klappt das nicht könnten paranoide Admins schuld sein die wider besseren Wissen sämtlichen ICMP Verkehr mit der Firewall blockieren. Obwohl Router Advertisement durchaus für böse Dinge eingesetzt werden können allerdings nur dann wenn man sie über Netzgrenzen hinweg gestattet. Das Router Advertisement gänzlich zu filtern ist jedenfalls eine denkbar unflexible Lösung da sie dann im internen, lokalen Netz genauso wirkt wie aus dem WAN heraus. Im lokalen Netz jedenfalls ist sowas oft unerwünscht zumindest wenn man sich die IPv6 Stateless Autoconfiguration zu nutze machen möchte und in unserem Fall setzt PPPoE sie für IPv6 sogar voraus. Deswegen sollte man bei der Diagnose erstmal ausschließen das die eigene Firewall dazwischen friemelt.