Fleisch aus dem Labor

Ich hätte da eine geniale Geschäftsidee: wir verkaufen „Fleich aus dem Labor“ indem wir Hühnchen in einem Labor züchten.

Hühnerfleisch aus dem Labor
Hühnchen im Labor

Wahrscheinlch wäre es am einfachsten, bestehende Hühnersälle in Labore umzuwandeln. Man müsste lediglich ein paar Reagenzgläser reinstellen.

Wenn in Zukunft alle Veganer das teuere Fleisch aus dem Labor kaufen, dann ist es nur eine Frage der Zeit, bis das wohl wirklich jemand macht.

Blender

Das letzte lange Wochenende habe ich genutzt, um mich (mal wieder) mit Blender zu beschäftigen. Das ist ein Programm zum Erstellen von 3D-Modellen, Bildern und Animationen – denke ich, denn es erschlägt einen geradezu mit Funktionen und Optionen, und bei den meisten habe ich keine Ahnung, was sie überhaupt tun.

Die Bedienung ist nicht gerade intuitiv, aber es gibt Unmengen an Tutorials im Internet. Mit Hilfe eines dieser Tutorials habe ich diesen wunderschönen Donut hier aus dem Nichts erstellt:

Donut

Das funktionierte ungefähr so: Man fängt mit einem Torus als Grundform an. Damit es realistisch aussieht, verformt man ihn ein bisschen, macht ihn an einigen Stellen etwas dicker oder dünner. Für die Farbe klickt man einen „Shader“ zusammen: ein Bild mit der dunklen Grundfarbe und dem hellen Streifen wird gemischt mit einem zufälligen hell/dunkel-Muster, damit es leichte Farbnuancen gibt. Außerdem fügt man ein zufälliges hell/dunkel-Muster als „Bump Map“ hinzu, dann wird er beim Rendern nicht glatt dargestellt, sondern so als ob er überall kleine Dellen und Beulen hätte.

Für den Zuckerguss dupliziert man die obere Hälfte und bläst sie etwas auf, und passt die Seiten etwas an, so dass es realistisch aussieht. Dann modelliert man zwei oder drei Streusel und verteilt sie mit „Geometry Nodes“ zufällig auf dem Zuckerguss.

Dann fehlt nur noch de Animation der Donuts, der Streusel-Regen und der Hintergrund.

Wenn man eine Schritt-für-Schritt-Anleitung hat, ist das nicht besonder schwierig. Ich hoffe, ich konnte mir alle merken, denn eigentlich wollte ich gar keinen Donut machen, sondern ein fliegendes Taxi – für das Godot-Remake meines nie fertiggestellten Space-Taxi-Spieles. Updates werden hier nachzulesen sein…

Überwachungskamera

Aufgrund der letzten Ereignisse habe ich mich nun doch entschlossen, Überwachungskameras zu installieren. Recht günstig ist da das System von Blink (Amazon), und die Kameras werden mit Batterie und WLAN betrieben, so daß man sich um Verkabelung keine Gedanken machen muss.

Ich wollte ja eigentlich ein autarkes System. Es gefällt mir gar nicht, daß Kameras von Zuhause direkt in die Amazon-Cloud streamen, wo ich dann nicht kontrollieren kann wer Zugriff darauf hat. Aber solche professionellen Systeme sind deutlich teurer, und man will ja auch nicht daß ein potentieller Einbrecher die Videoaufzeichnungen einfach mitnimmt. Und schließlich kann ich die Kameras ja einfach abschalten, wenn ich zuhause bin.

Jedenfalls funktionieren sie recht gut. Wenn Bewegungen erkannt werden, schickt das Gerät eine Nachricht auf mein Telefon (was sogar in China funktioniert), und auf Wunsch kann ich jederzeit ein Live-Video sehen. Nach einer gewissen Zeit braucht man für diesen Service dann ein kostenpflichtiges Abonnement – mal sehen, ob ich das nutze, oder ob ich noch eine Alternative finde.

Bisher hat das System jedenfalls wunderbar funktioniert.

Bewegung erkannt

Stammkundenrabatt?

Ich habe ja mein Internet von Kabel Deutschland, Unity Media, Vodafone, oder wie sie heute heißen, und habe auch seit Jahren nie Probleme damit gehabt. Daher habe ich mich auch erst einmal gefreut, als sie mir neulich angeboten haben, meine Internetgeschwindigkeit von 400MBit/s auf 1000MBit/s zu erhöhen – und ich müsse auch gar nicht mehr bezahlen.*

Da habe ich mich natürlich erst mal gefreut: endlich erkennen die mal, was sie an mir haben – einen zufriedenen Kunden, der die Firma immer weiterempfiehlt, immer pünktlich seine Rechnungen bezahlt und keine Arbeit macht. Das ist dann doch sehr nett von denen, mir kostenlos schnelleres Internet anzubieten. Wenn es einen Link zum Draufklicken gegeben hätte, hätte ich bestimmt sofort draufgeklickt.

Es gab aber keinen Link. Also habe ich mal auf der Webseite von Vodafone nachgeschaut, und was muss ich da sehen? Da bieten sie das gleiche 1000MBit/s Internet für Neukunden deutlich billiger an. Ich als guter Stammkunde darf mal eben 25% Aufschlag zahlen. Offenbar haben die erkannt, was sie an mir haben: einen Kunden, der ausreichend zufrieden ist, und zu faul, sich regelmäßig über das Angebot der Konkurrenz zu informieren.

Hier gibt es sogar Konkurrenz. Neben Vodafone sind die Telekom und M-net aktiv, ein Nachbar hat Starlink, und in einigen umliegenden Dörfern wird gerade FTTH-Ausbau vermarktet.

Möchte Vodafone verhindern, dass ich mir einen FTTH-Anschluss legen lasse? Oder möchten sie den alten Router ersetzen, und ich soll es bezahlen? Bei Telefongesellschaften muss man immer misstrauisch sein, für die ist man kein guter Stammkunde, sondern nur eine Nummer.

Im Übrigen gibt es das auch bei Autos. Der VW-Fahrer bekommt einen neuen Peugeot deutlich billiger. Das nennt sich „Eroberungsprämie“.


*Außer natürlich Umstellungsgebühr und ggf. Versandkosten für einen neuen Router, wenn ich mich richtig erinnere. Und 24 Monate Mindestvertragslaufzeit.

Wer besucht meine Webseite?

Als Betreiber will man ja wissen, ob eine Webseite auch genutzt wird. Es wäre doch schön, eine Lampe im Regal stehen zu haben, die bei jedem Besucher aufleuchtet. Dazu habe ich heute mal experimentiert. Fertig ist es nicht, aber zumindest ein Ansatz:

Um so etwas zu realisieren, braucht man zunächst einen Computer, der so eine Lampe ansteuern kann – zum Beispiel einen Raspberry Pi. Der muss natürlich aus dem Internet erreichbar sein. Dazu braucht er einen DynDNS-Service (zum Beispiel https://afraid.org), und eine Portweiterleitung im heimischen Router. Außerdem muss ein Webserver (z.B. Apache) installiert sein – und irgendwas, um die Lampe einzuschalten.

Der Webserver sucht nach Daten normalerweise im Ordner /var/www/html, wo ich folgende Dateien erstellt habe:

franz@cloud:/var/www/html $ ls -al
insgesamt 68
drwxrwxr-x 4 www-data www-data  4096 10. Jul 11:48 .
drwxrwxr-x 7 www-data www-data  4096 31. Mär 20:24 ..
-rw-r--r-- 1 franz    franz      433 10. Jul 11:37 img.php
-rw-r--r-- 1 franz    franz    32239 10. Jul 10:32 img.png
-rwxr-xr-x 1 franz    franz      226 10. Jul 11:48 myPythonScript.py
-rw-r--r-- 1 www-data www-data   223 10. Jul 12:18 visitors.txt

Die wichtigste Datei ist img.php. Die ist in PHP geschrieben, einer Scriptsprache, die der Webserver ausführen kann. Sie macht zwei Dinge:

  • sie liefert dem Browser ein Katzenbild (img.png) zurück
  • sie ruft das Python-Script myPythonScript.py auf.

Im Moment übergibt sie dem Python-Script auch noch die IP-Adresse des Browsers – wenn man nur eine Lampe einschalten will, ist das natürlich nicht erforderlich.

So sieht das PHP-Script aus:

<?php

# execute the python script that will do something
$output=null;
$retval=null;
$arg = $_SERVER['REMOTE_ADDR'];
$cmd = './myPythonScript.py ' . escapeshellarg($arg);
exec($cmd , $output, $retval);


# return an image
$name = 'img.png';
$fp = fopen($name, 'rb');
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
fpassthru($fp);
exit;

# do not close <php-tag, it might mess up the returned image

Die eigentliche Arbeit wird von dem Python-Script myPythonScript.py gemacht. Da ich keine Lampe habe, die ich einschalten könnte, habe ich mich stattdessen entschlossen, die Besucher in eine Datei mitzuloggen. Das Script sieht so aus:

#!/usr/bin/python3

# read parameters
import sys
visitor = "<unknown>"
if len(sys.argv) == 2:
	visitor = sys.argv[1]

# Append to file
f = open("visitors.txt", "a", encoding="utf-8")
f.write(visitor + " was here\n")
f.close()

Damit PHP das Python-Script ausführen kann, müssen mehrere Dinge beachtet werden:

  • Das Script muss als ausführbare Datei gekennzeichnet sein – erkennt man an dem x in der Verzeichnisliste, und macht man mit dem Shell-Befehl chmod ugo+x myPythonScript.py
  • Das Script muss mit dem sog. Shebang in der ersten Zeile anfangen, damit das System weiß, dass es ein Python-Programm ist
  • Es muss natürlich Schreibrechte in die Datei visitors.txt haben. Der Webserver wird als Benutzer www-data ausgeführt, und diesem Benutzer sollte im einfachsten Fall auch die Datei gehören. Normalerweise ist das der Fall, weil das Script die Datei selbst anlegt.

Es sollte sehr einfach sein, das Script so anzupassen, dass es stattdessen eine Lampe einschaltet. Schwieriger dürfte es werden, die Lampe wieder auszuschalten – das Script sollte nämlich so schnell wie möglich beendet sein. Es kann also nicht einfach eine Zeit lang warten, und die Lampe dann wieder ausschalten. Außerdem gäbe das auch Probleme, wenn zwei Besucher kurz nacheinander auf die Webseite kommen.

Nun muss man nur noch dafür Sorgen, dass das PHP-Script auch aufgerufen wird. Dazu wird das Bild einfach in die Webseite eingebunden:

<img src="https://myRasperryPi.afraid.org/img.php" />
Hier sollte eine Katze zu sehen sein, und Deine IP-Adresse ist jetzt geloggt.
Katze

Deine IP-Adresse steht jetzt in meinem Logfile…

Fortune Cookies

Fortune Cookie Machine
Fortune Cookie Machine

In Japan gibt es ja alles, was man sich vorstellen kann. Und alles andere auch. Das hier, zum Beispiel, ist ein Fortune Cookie Automat. Man wirft 200 Yen ein, und sofort geht die kleine Priesterin mit Licht- und Soundeffekten in den Tempel, und kommt nach kurzer Zeit mit einer kleinen Schriftrolle zurück.

Die Schriftrolle enthält viele gute Ratschläge. In den USA kennt man das als Fortune Cookies, weil die chinesischen Restaurants dort Kekse mit solchen Schriftrollen drin als Nachtisch servieren. Die chinesischen Restaurants in China machen so etwas im Übrigen natürlich nicht.

Aber die Japaner sind ja Perfektionisten, und daher wird so eine japanische Maschine bestimmt einen Grund haben, warum sie mir gerade jetzt genau diesen Spruch geliefert hat:

Head north! Make sure to take as much medicine and supplement as possible.

Nara

Letztes Wochenende war endlich mal schönes Wetter, und ichhabe es genutzt, um nach Nara zu fahren.

Nara ist von Osaka mit dem Zug sehr bequem zu erreichen, Es war mal die Hauptstadt von Japan und ist heute ein beliebtes Ziel für Touristen: es hat große, sehenswerte Tempelanlagen, die idyllisch im Wald am Fuß eines Hügels liegen, große Parks und eine lebendige Innenstadt. Und Rehe.

Die Rehe, hunderte davon, wohnen in den Parks und leben von den Touristen. Also, von den Keksen, die die Touristen dabei haben. Es gibt überall Reh-Keks-Verkäufer mit Wagen voll Keksen. Kein Reh interessiert sich dafür. Aber sobald ein Tourist sich einem Verkäufer nähert, sehen sie das. Und dann kommen sie in Scharen und machen dem Touristen klar, daß sie die Kekse haben wollen, und zwar jetzt.

Sie schubsen, ziehen und beißen, bis sie alle Kekse bekommen haben. Dann sind sie wieder friedlich.

Also: Wenn man in Japan ist, Nara unbedingt besuchen – aber weg bleiben von den Keksverkäufern!

Nara: Tourist wird von Rehen gefressen
Nara: Tourist wird von Rehen gefressen

Wochenende in Osaka

Juhu, es ist wieder Wochenende! Ich bin in Osaka und habe zwei Tage frei! Was ich da alles machen und anschauen kann!

Allerdings soll es wieder regnen. Es hat bisher fast jedes Wochenende geregnet. Das Wetter in Japan ist auch nicht mehr so, wie ich das in Erinnerung habe. Wenigstens ist es unter der Woche noch schön, wenn ich arbeiten muss.

Aber man kann ja sicher auch bei Regen was unternehmen, Mal im Internet recherchieren:

Osaka ist wegen Corona-Virus geschlossen

Sieht aus, als wird das ein langweiliges Wochenende.