Uploadfilter zur Zensur sind wohl durch

Ich hatte es gar nicht mehr auf dem Schirm, dass einige Interessenverbände weiter Uploadfilter vorangetrieben haben. Und nun sind sie wohl durch. Wie bei der vollkommen missratenen DSGVO hat geballte Inkompetenz auf Seiten der Politik der geschickten Lobbyarbeit von Rechteinhabern keinen Verstand bzw. Widerstand entgegensetzen können. Die gerade beschlossene Reform des Urheberrechts öffnet damit Willkür und Zensur Tür und Tor und erlaubt das legale Blockieren von unliebsamen Inhalten. Auch wenn diese vollkommen legal sind.

Uploadfilter sind ein Zensur- und Unterdrückungsmechanismus und keine legitime Option für das Internet. Insbesondere wird der zu erwartende „vorauseilende Gehorsam“ zig legale Inhalte ablehnen.

Die Interessen von Rechteinhabern müssen auf sinnvolle Weise gewahrt werden, aber nicht über so eine Zensur. Auch wenn diese Interessenvertreter teils meine Einkünfte sichern – bei dieser grottenschlechten Aktion gilt:

Not in my name!!

JSF/MyFaces, Microservices, Maven & Co

Ich habe die ersten drei Tage der Woche eine Einzelschulung zu erweiterten Java-Themen gehalten. Es ist kaum zu glauben, aber das war die erste Live-Schulung seit 1,5 Jahren. Obwohl ich in der Zeit sogar sehr viele Schulungen gehalten habe, waren sie allesamt online.
Bei der Schulung ging es grob gesagt um Java. Aber keine Einsteiger-Themen, sondern um eine Betrachtung diverser Themen im Java-Umfeld samt Web für einen erfahrenen Programmierer, der sich mit den Techniken bereits auskennt. So Sachen wie

  • JUnit, Git und Github,
  • Maven und andere Build-Tools wie Gradle und Ant,
  • Docker,
  • Übersicht neue Java-Techniken (vor allen Dingen Lambda-Ausdrücke, Closures und das Modulsystem)
  • JavaFX/OpenJFX/FXML
  • Ausblick Mobile, Android Studio, Cordova
  • Tomcat bzw. Java-Container als Server (Wildfly)
  • JSP/Servlets/JSF
  • Refactoring
  • Microservices (Spring)

Bei der Anfrage hat mich allerdings das Thema JSF (Java Server Faces) doch schwer verwundert. Ich hatte in der Vergangenheit JSF durchaus mehrfach geschult, aber seit Jahren eigentlich nichts mehr damit zu tun. Und ich bin davon ausgegangen, dass das Thema JSF eigentlich ziemlich out ist. So hatte ich das auch schon vor einigen Jahren beurteilt und mich deshalb aus dem Themenkomplex weitgehend zurückgezogen. Die vereinzelten Anfragen zu JSF-Kursen habe ich auch immer abgelehnt. Überhaupt sah und sehe ich bei den Java-Frameworks für das Web eigentlich nicht (mehr) das große Potential. Weder bei JSF (oder gar Servlets/JSP), noch Spring oder Struts.

Aber mein Teilnehmer wechselt demnächst beruflich als IT-Leiter in eine Behörde, die wohl mit JSF 2.3 arbeitet. Alttechnologien halten sich oft ewig. Ich habe ja auch einen Standardkunden, der noch mit Cobol arbeitet.

Da diese Schulung als eine Art Workshop mit Wissensaustausch gewünscht war und JSF etc. nur einen Teil der Agenda ausgemacht hat, habe ich die Sache angenommen. JSF und Web haben wir dann auch geschlossen am dritten Tag abgearbeitet.

Rückblickend war es auch verdammt spannend, sich wieder in die Welt von JSF einzuarbeiten. Wobei dabei uns beim Voranarbeiten ganz interessante Phänomene untergekommen sind, von denen mir immer noch nicht ganz klar ist, ob wir auf den Grund der Tatsachen getaucht sind oder uns verirrt haben.

Gerade bei Java im Web-Umfeld ist m.E. erst einmal die Konfiguration die größte Einstiegshürde. Vor allen Dingen, wenn man da nicht täglich am Schaffen ist. Das fängt schon mit der Konfiguration der Server an. Ganz banal bei der lästigen Tomcat-Einstellung in der Datei tomcat-users.xml, wo mit

<role rolename="manager-gui"/>

<user username="admin" password="admin" roles="standard,manager-script,manager-gui" />

erst einmal freigeschaltet werden muss, dass der Server über das Webinterface administriert werden kann und war-Dateien überhaupt deployed werden dürfen. Mit Wildfly ist es auch nicht einfacher bzw. bequemer.

Da Maven in der Schulung ein großes Thema war, haben wir viel mit Architypes gearbeitet. Auch bei JSF, was wir in der Version 2.3 als Basis genommen haben. Neben den Schablonen in Netbeans und Eclipse, die mit Maven, Ant oder Gradle arbeiten.

Neben dem elenden Konfigurieren über die web.xml und die faces-Konfigurationsdateien gab es ganz ungewöhnliche Probleme mit dem Kompilieren bzw. Deployen der Projekte. Vor allen Dingen Projekte, die ich schon zum Laufen gebracht hatte, als auch die generierten Projekte aus den POM-Dateien wurden vielfach nicht übersetzt oder konnten nicht auf den Tomcat depoyed werden. Teils gingen auch die SSI-Dateien mit den Tag-Libs, aber alleine die Existenz einer Java-Datei im Projekt hat die Übersetzung blockiert. Nicht einmal als Bean oder Controller gebaut, sondern eine leere Klasse im source-Verzeichnis hat genügt, um einen Fehler zu erzwingen.
Andere Projektkonfigurationen haben die Java-Controler und -Beans übersetzt, aber die xhtml-Dateien wurden auf dem Server nicht geparst und damit die Tag-Libs nicht verarbeitet.
In Netbeans gab es bei dem Problemen mit dem Java-Code die unverständige Fehlermeldung, dass source in der Version 6 nicht mehr unterstützt wird und wir die Version 7ff nehmen sollten. Nach diversen Problemen habe ich auf mein Matebook als Ursache getippt, aber auf dem Teilnehmerrechner waren die Fehler exakt reproduzierbar.
Irgendwann hatte ich die Faxen dicke und habe auf einem alten Linux-Rechner die Geschichte von Grund auf neu aufgesetzt. Also zuerst Maven, was noch nicht da installiert war, und dann einen Architype für JSF mit der Konsolenanwendung mvn aus dem Internet gezogen. Damit hat die Sache von A bis Z funktioniert und mir ist aufgefallen, dass ich auf dem Linux-Rechner das OpenJDK 8 installiert habe. Auf unseren beiden anderen Rechnern allerdings das JDK 16 und bei meinem Teilnehmer das JDK 15. Und danach haben wir endlich in einer Konfigurationsdatei zu den JSF 2.3 die XML-Tags gefunden, dass die Entwickler- als auch Zieldatei auf Java 8 festgelegt ist.
Unter dem Gesichtspunkt macht auch die Fehlermeldung von Netbeans Sinn – es müsste bei mir eigentlich heißen source in der Version 16, aber das Feld für die Versionsnummer wurde wohl nur einstellig konzipiert. Aus der 16 wurde die 6 und damit eine vollkommen unsinnige Fehlermeldung. Aber zum Zeitpunkt, wo die JSF 2.3 konzipiert wurden, hatte man vermutlich nicht an Inkompatibilitäten in so hohen Folgeversionen, sondern nur älteren Versionen, gedacht. Wir sind nicht so ganz sicher, ob die JSF bis zur Version 2.3 mit den neuen JDK nicht mehr klar kommen, aber ich denke schon. In der Doku steht explizit auch die Version 8. Das deckt sich mit der Tatsache, dass Cordova auch nur bis zur JDK-Version 8 funktioniert. Das habe ich ja in meiner Vorlesung an der TH Bingen die Tage behandeln müssen.
Die JSF werden wohl als Apache MyFaces weiterentwickelt und stehen mittlerweile in der Version 4.0 zur Verfügung, aber die haben wir uns dann nicht mehr genauer angesehen.

Rund um das Thema habe ich auch noch ein paar nützliche Anleitungen gefunden:

JSF Tutorial
https://www.javawebtutor.com/articles/jsf/
https://www.tutorialspoint.com/jsf/jsf_overview.htm

JSF in Tomcat zum Laufen bringen
https://www.byteslounge.com/tutorials/how-to-configure-jsf-in-tomcat-example

Webanwendungen als Docker-Images herstellen

Apache Tomcat meets Docker: Webanwendungen als Docker-Images herstellen

Grundsätzlich hat sich mein Eindruck gefestigt, dass im Web Java nicht (mehr) der Bringer ist. Irgendwie reihen sich JSF/MyFaces in andere Projekte wie JavaFX/OpenJFX oder auch Cordova ein, bei denen die Originalhersteller die Entwicklung abgetreten haben und wo es aus meiner Sicht nicht sicher ist, dass diese Projekte auf Dauer sich halten und/oder zuverlässig weiterentwickelt werden.

Wobei die Erstellung eines Spring-Microservice für Tomcat wirklich genial einfach war und die mit einer Anleitung erstellte Version des Microservice absolut flexibel und einfach an beliebige Bedürfnisse anzupassen ist.

Keine Chance auf einen Job bei der Sparkassenakademie in Eppstein mehr

Bis vor ein paar Jahren bin ich recht regelmäßig zur Sparkassenakademie Bayern nach Landshut gefahren, um da zu unterrichten. Das war schon seltsam, denn von meiner alten Wohnung habe ich direkt auf die Sparkassenakademie Hessen/Thüringen gesehen. Aber ich bin immer die 430 Kilometer zur Sparkassenakademie Bayern gefahren, um da zu arbeiten. Tja – wie sich halt Kundenkontakte ergeben.

Ich hatte aber immer die Idee, doch auch mal in der Sparkassenakademie in Eppstein zu unterrichten. Die Chance ist vorbei, denn ich habe die Tage im lokalen Blättchen mitbekommen, dass die Sparkassenakademie in Eppstein geschlossen wird. Wäre schon nett gewesen, direkt vor der Haustür (und zwar im direkten Sinn – auch heute noch aus Sicht meines Zweitbüros) zu unterrichten. Wobei die Sparkassenakademie in Landshut schon klasse ausgestattet war:
– Zimmer vor Ort
– Turnhalle
– Kraftraum
– Schwimmbad
– Sauna
– Cafeteria
– Mensa

Viel größer als in Eppstein. Vielleicht kommt ja von da nochmal eine Anfrage.

Mein neuer LiL-Python-Kurs für Umsteiger

Derzeit kommt bei mir jede Woche bei LinkedIn Learning (LiL) ein neuer Entwickler-Tipp zu Python heraus und mittlerweile sind da Tipps im Umfang von über einer Stunde bereits veröffentlicht. Das wird auch das Jahr noch so jede Woche weiter gehen. Aber zusätzlich kommen immer wieder vollständige neue Trainings heraus. Und vor ein paar Tagen war es wieder soweit – ein kompletter neuer Kurs ist freigegeben worden.

Python für C++-, Java- und C#-Entwickler:innen

Schnell und einfach von C#, C++ und Java auf Python umsteigen aus dem Kurs „Python für C++-, Java- und C#-Entwickler:innen“ von Ralph Steyer
Mit der Popularität der Programmiersprache Python steigt auch der Bedarf an Python-Entwicklern. Gerade Umsteiger benötigen dazu einen anderen Ansatz als Einsteiger. Deshalb gehe ich in diesem Umsteigerkurs gezielt darauf ein, wie man von Grundkenntnissen in anderen Programmiersprachen bei den ersten Schritten in der Python-Welt profitieren kann. Dazu behandele ich in der grundlegenden Darstellung immer wieder Parallelen, Schnittmengen und Unterschiede insbesondere zu C++, C# und Java sowie Python-eigene Besonderheiten.

Aufrufargumente an ein Python-Programm übergeben – Entwicklertipp der Woche zu Python

Gerade passiert bei mir im Zusammenhang mit LinkedIn Learning (LiL) ziemlich viel. Geht wie beim Bretzelbacken, denn ein neuer Entwicklertipp der Woche zu Python ist heute herausgekommen. Die Woche ist das Thema, wie Aufrufargumente an ein Python-Programm übergeben und dort verarbeitet werden können.

Aufrufargumente an ein Python-Programm übergeben aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

#TopCompanies2021

Im Rahmen der neuen Kampagne  #TopCompanies2021 von LinkedIn Learning ist auch einer meiner Kurse (Python lernen) für den Monat Mai freigeschaltet worden.

Ziel der Kampagne: Um zu wachsen und an der Spitze zu bleiben ist es unerlässlich, bei wichtigen Trendthemen up-to-date zu bleiben. Deshalb zeigt LiL die 5 wichtigsten Trends von Top-Unternehmen im deutschsprachigen Raum auf, um Lernenden dabei zu unterstützen, ganz vorne dabei zu bleiben.

Auf „Videotour“

Seit gestern bin ich wieder an neuen Aufnahmen für LinkedIn Learning (LiL). Dabei sind gleich 3 Aufgaben zu erledigen.

  1. Eine kleine Fehlerkorrektur über gut 10 Sekunden in einem schon recht alten UML-Training. Ein Wortdreher ist erst nach zig Jahren aufgefallen.
  2. Eine komplette Aktualisierung eines Trainings aus dem Jahr 2013. Da ist definitiv klar, dass das nicht mehr ganz auf dem aktuellen Stand sein kann.
  3. Ein paar weitere Entwicklertipps der Woche zu Python.

Es stehen also reine Aktualisierungen und Erweiterungen zu bereits vorhandenen Trainings von mir an.

Der Entwicklertipp der Woche ist da – OpenCV unter Python nutzen

Nächste Woche werde ich neue Aufnahmen für LinkedIn Learning (LiL) einspielen, aber wie jede Woche kommt auch in der Mitte dieser Woche wieder ein Entwicklertipp der Woche zu Python heraus. Es geht um ein spezielles Framework, um unter Python Bilder und Videos anzuzeigen – OpenCV und das ist eine freie Programmbibliothek mit Algorithmen für die Bild- und Videoverarbeitung. Diese kann unter Python, aber auch anderen Sprachen verwendet werden. Die Bibliothek wird vor allen Dingen beim Deep Learning verwendet, kann aber auch einfach für das Anzeigen von Bildern und Videos verwendet werden. Und darauf konzentriert sich dieser Tipp der Woche.

Bilder und Videos mit OpenCV anzeigen aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

Wenn die Gondeln Trauer tragen

In Anbetracht des elenden Corona-Lockdowns und der Tatsache, dass ich jetzt schon fast 1,5 Jahre beruflich nicht mehr auf Achse war, habe ich mal ein paar Bilder von geschäftlichen Reisen in den letzten gut 15 Jahren gesammelt und zu einer kleinen Diashow gebündelt. Von Süd mit Österreich (Graz im Wesentlichen) und der Schweiz bis hoch in den Norden (im Wesentlichen Hamburg), vom Westen (Köln und Ruhrgebiet) in den Osten mit Berlin und Dresden.

04102007(001)
04102007(001)
04102007(002)
04102007(002)
07022010(001)
07022010(001)
07022010(002)
07022010(002)
Foto125
Foto125
07022010(003)
07022010(003)
Foto126
Foto126
Foto127
Foto127
20120709_171321
20120709_171321
20120709_171345
20120709_171345
20120709_174204
20120709_174204
20120711_164208
20120711_164208
20120711_182651
20120711_182651
20120711_183238
20120711_183238
20120711_183245
20120711_183245
20120820_184807
20120820_184807
20120820_184815
20120820_184815
20120821_175509
20120821_175509
20120821_175514
20120821_175514
20121206_084312
20121206_084312
IMG_20170321_132606
IMG_20170321_132606
IMG_20170322_070648
IMG_20170322_070648
IMG_20170322_070704
IMG_20170322_070704
IMG_20170322_070710
IMG_20170322_070710
IMG_20170322_074736
IMG_20170322_074736
IMG_20170322_074903
IMG_20170322_074903
IMG_20170322_075620
IMG_20170322_075620
IMG_20170322_075634
IMG_20170322_075634
IMG_20170323_080341
IMG_20170323_080341
IMG_20170823_123837
IMG_20170823_123837
IMG_20170823_123907
IMG_20170823_123907
IMG_20170823_124204
IMG_20170823_124204
IMG_20170823_124227
IMG_20170823_124227
IMG_20170823_125030
IMG_20170823_125030
IMG_20170823_125042
IMG_20170823_125042
IMG_20191011_115512098_HDR
IMG_20191011_115512098_HDR
IMG_20191011_180612217_HDR
IMG_20191011_180612217_HDR
IMG_20191012_101540
IMG_20191012_101540
IMG_20191012_131915487_HDR
IMG_20191012_131915487_HDR
IMG_20191012_135839039_HDR
IMG_20191012_135839039_HDR
IMG_20191012_190558162
IMG_20191012_190558162
IMG_20191013_102707750_HDR
IMG_20191013_102707750_HDR
IMG_20191015_175522
IMG_20191015_175522
IMG_20191015_181743
IMG_20191015_181743
IMG_20191015_181748
IMG_20191015_181748
IMG_20191015_181757
IMG_20191015_181757
IMG_20191015_181812
IMG_20191015_181812
IMG_20200121_103252
IMG_20200121_103252
IMG_20200122_131112
IMG_20200122_131112
IMG_20200122_132417
IMG_20200122_132417
IMG_20200122_132818
IMG_20200122_132818
IMG_20200122_132934
IMG_20200122_132934
IMG_20200122_133053
IMG_20200122_133053
pict0004
pict0004
pict0007
pict0007
pict0008
pict0008
pict0020
pict0020
pict0021
pict0021
pict0025
pict0025
IMG_20191125_174830
IMG_20191125_174830
IMG_20191125_173023
IMG_20191125_173023
IMG_20191125_172634
IMG_20191125_172634
IMG_20191122_132925
IMG_20191122_132925
IMG_20191121_092108
IMG_20191121_092108
IMG_20191121_091928
IMG_20191121_091928
IMG_20191121_083610
IMG_20191121_083610
IMG_20190926_172550
IMG_20190926_172550
IMG_20190926_170304
IMG_20190926_170304
IMG_20190416_082506
IMG_20190416_082506
IMG_20150914_175958
IMG_20150914_175958
IMG_20150914_180302
IMG_20150914_180302
IMG_20150914_180015
IMG_20150914_180015
previous arrow
next arrow

An apple a day keeps the doctor away

Äpfel sind gesund und schmecken meist (nicht zuletzt in Form von Äppler im Gerippten – also unserem regionalen Apfelwein). Aber zu technischen Äpfeln habe ich ein sehr gespaltenes Verhältnis. Die Zeit, wo ich auf Apple-Produkte herab geschaut habe, nur um mich als etwas Besseres zu fühlen, sind vorbei. Man wird Altersmilde. Und auch wenn ich niemals ein Apfel-SmartPhone, -Tablet oder sonstiges -Consumergerät haben will. Mich hat ein uralter Mac Mini, den ich eigentlich nur vor Jahren im Rahmen meiner Videotrainings zu iOS-Entwicklung für LinkedIn Learning (LiL) eingesetzt hatte, vor einigen Monaten bei den Corona-bedingten virtuellen Proben meiner Band komplett beeindruckt.

Wir nutzen bei den regelmässigen virtuellen Proben ein Programm mit Namen JamKazam und damit kann man – einen entsprechenden Account, gutes Internet und passende Hardware vorausgesetzt – fast Latenzfrei direkt live zusammenspielen. Mein Highend USB Interface, das ich von LinkedIn Learning (LiL) für meine Remote-Videotrainings gestellt bekomme, ist schon mal ideal, aber nur mit dem Mac Mini gibt es das perfekte Zusammenspiel – im wahrsten Sinn des Wortes. Mit drei anderen Rechnern (alle mit Windows 10) gab es immer irgendwelche kleinen oder grossen Macken.

Nur beim Mac läuft alles „out-of-the-box“. Das hat mich zu der Überlegung gebracht, ob ich mir nicht doch mal einen neuen Apple-Rechner zulegen sollte. Der neue M1-Prozessor soll ja verdammt gut sein. Vielleicht einen Mac Mini der neuen Generation? Nur gibt es die Dinger leider nur mit winzigem RAM und minimaler SSD. Da ein späteres Aufrüsten nicht geht, wäre eine Anschaffung nur dann sinnvoll, wenn man den Rechner 2 oder 3 Jahre als Hauptrechner einsetzt und dann abstösst. Da ich aber die Sache mehr oder weniger als „Hobby“ bzw. zum Aufbau von etwas mehr Erfahrung in der fremden Apple-Welt betrachte, ist mir die Angelegenheit zu teuer. Das ist ja immer das Apple-Problem – mindestens doppelt so teuer wie die direkte Konkurrenz und Aufrüsten ist nicht vorgesehen. Der neue All-in-one-Rechner von Apple hat mich jetzt auch komplett abgeschreckt. Die Vermarktung und die Schwerpunkte sowie die erkennbaren Produktausrichtungen sind nicht meine Welt.

Aber es gibt ja noch den alten Mac Mini, der in meinem Büro in Eppstein verstaubt und nur seit einiger Zeit zu den besagten Bandproben 2 -3 x im Monat erwacht ist. Den habe wieder in mein Bodenheimer Büro mitgenommen, denn er ist immer noch leistungsfähig genug, auch wenn die neuste Version von macOS darauf schon nicht mehr läuft. Ausserdem kann ich einen Monitor drauf stellen und muss dafür nicht wie bisher ein Buch nehmen, um den etwas höher zu bekommen. Zwar habe ich keinen Monitor und auch keine Tastatur für den Mac Mini übrig, aber dem lästigen Umstecken begegne ich mit VNC. Damit bleibt auch der Schreibtisch leerer. Die minimale Verzögerung bei den Signalen kann ich akzeptieren und sollte ich wider Erwarten ernsthaft mit dem Mac arbeiten, kann ich ja für den Fall tatsächlich die Peripherie umstecken.

Das sollte für meine Apple-Ambitionen genügen und ich schaffe mir doch lieber wieder für weniger Geld einen leistungsfähigeren Rechner an. Aber auch das hat keine Eile – noch geht meiner Workstation, das Matebook sowieso und selbst mein altes Terra-Notebook kann als Backup-Rechner alles liefern, was sich brauche (wenn auch etwas gemütlicher).

Blue sky mining

Ich habe meine Krypto-Worker nun komplett abgeschaltet und kann nur das Fazit noch einmal betonen, dass sich privates Mining von Krypto-Währungen nicht (mehr) lohnt. Mittlerweile ist bei allen relevanten Währungen der Rechenaufwand für neue virtuelle „Münzen“ riesengroß. Zu groß. Nicht nur bei Bitcoins. Mein generierter „Gewinn“ in einer Woche würde kaum die Stromkosten decken, wenn ich ihn denn ausbezahlt bekommen würde (ich bin nach einer Woche etwa bei 2% der Mindestgrenze für eine Auszahlung).

Ich habe auch nochmal nach den Preisen für Top-Grafikkarten für ein effektives GPU-Mining geschaut, weil mir die neulich angegebenen 1.000 EUR zu unglaublich hoch erschienen. Die derzeitige Highend-Grafikkarte liegt aber sogar bei ca. 2.700 EUR. Und wohl erst mit den Grafikkarten macht es wirklich Sinn zu schürfen. Interessanter Weise habe ich heute gelesen, dass die neuen Grafikkarten gezielte Blockaden gegen die Nutzung zum Mining eingebaut bekommen.

Was übrigens auch gegen privates Mining spricht und wohl diverse Schürfer nicht beachten – der Gewinn muss versteuert werden und vor allen Dingen muss man ein Gewerbe anmelden, wenn man Mining mit echtem Gewinnstreben betreibt. Zumindest stand das in einem Artikel, den ich gestern gelesen haben – Mining-Gewinn ist Gewerbegewinn. Das frisst dann die paar Euro weiter auf. Von daher – Leute, spart das Geld, macht Umweltschutz und verzichtet auf privates Mining.

Hard – und Software-Problemchen

Ich bin gerade im Zweitbüro in Eppstein und habe das Netzteil von meinem Matebook vergessen. Das läuft also auf Akku und ich muss leider feststellen, dass die Ausdauer des Akkus mittlerweile deutlich nachgelassen hat. Als das Gerät neu war, konnte ich gut 8 – 10 Stunden damit arbeiten, wenn das passende Energieschema aktiviert war. Jetzt sind es vielleicht noch 5 – 6 Stunden und gerade neigt sich der Akku massiv dem Ende zu. Dafür habe ich auf meinem alten PC, den ich hier geparkt habe und eigentlich nur nach zum Spielen von Spellforce nutze (da dazu Windows XP notwendig ist – zumindest in der Version, die ich von dem Spiel habe), die fehlerhafte Linux-Partition endlich plattgemacht und neu aufgesetzt. Da läuft jetzt wieder sauber ein Mint-Linux. Nur dummerweise klappt die Synchronisation von Firefox hier nicht. Das Konto ist ok, das Gerät ist angemeldet und dennoch werden weder Lesezeichen noch Zugangsdaten synchronisiert. Das Problem habe ich aber auch auf einem anderen Rechner mit Mint-Linux. Ich frage mich, wo der Denkfehler ist. Denn das Eintragen einer alternativen E-Mail-Adresse hat einwandfrei funktioniert und wurde synchronisiert.

Shallow-Copy: tiefes und flaches Kopieren – mein aktueller Python-Tipp der Woche

Nachdem als eine Art Belohnung für die gestiegenen Belastungen während der Corona-Krise letzte Woche LinkedIn alle Mitarbeiter weltweit in Urlaub geschickt hat, gab es auch von mir in dieser Woche keinen neuen Entwickler-Tipp der Woche zu Python. Aber seit Montag ist dieser Urlaub vorüber und ich habe vorgestern und gestern schon wieder mit einem Ansprechpartnern bei LiL wegen neuer Aktionen gesprochen. Und es gibt ab heute den nächsten Tipp der Woche.

Dabei geht es um Referenzen und Kopien in Python im Allgemeinen und die Unterschiede zwischen flachem und tiefem Kopieren im Speziellen. Python kennt verschiedene Versionen von Kopiervorgängen. Diese haben Auswirkungen darauf, was kopiert und was nur referenziert wird. Python zaubert im Hintergrund ganz gewaltig,

Shallow-Copy: tiefes und flaches Kopieren aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

Mein Fazit zum privaten Mining von Krypto-Währungen

Ich habe jetzt einige Tage meinen Mac mini durchlaufen lassen und auch die Workstation und den Raspi hin- und wieder Ether bzw. Monero schürfen lassen. Bekanntlich ist aber das Schürfen mit der GPU der Standardweg und effektiver als das CPU-Mining, was ich ausschließlich gemacht habe. Aber auch mit CPU-Mining kommt man wohl halbwegs an das GPU-Mining heran, wenn der Rechner sonst nicht viel zu tun hat. Zumindest kann man damit halbwegs ähnliche Rechenleistungen anbieten.

Mein Fazit fällt aber absolut ernüchternd aus. In den Tagen habe ich neben einem „Willkommensbonus“ in Höhe von etwa 2,50 EUR gerade einmal einen halben Euro erwirtschaftet. Wenn man bedenkt, dass die Auszahlung in meine Wallet erst deutlich über 100 EUR möglich ist (wenn ich das richtig verstanden und überschlagen habe), wäre also erst nach ca. einem Jahr eine Auszahlung fällig.

Lächerlich.

Ich breche das Experiment ab und nehme einiges an neuem Wissen und endlich eine eigene Wallet mit, aber keinen finanziellen Ertrag. Verrechnet mit dem Stromverbrauch werde ich vermutlich sogar Miese gemacht haben. Gut – mit einer Top-Grafikkarte kann man angeblich (nach den Informationen bei dem Mining-Dienst) im Monat bis zu 35 EUR machen, aber wenn man deren derzeitige Anschaffungskosten von teils deutlich über 1.000 EUR betrachtet, müssen die erst einmal erwirtschaftet werden. Und günstigere Grafikkarten minen dann eben auch geringere Beträge. Es ist einfachste Mathematik, dass man mit den Stromkosten als weiteren Kostenfaktor zig Jahre braucht, um in die Gewinnzone zu kommen.

Auch wenn ich nur geringe eigene Erfahrungen jetzt gemacht habe, langt mir die so erworbene Wissensbasis, um vom privaten Mining nur abzuraten. Auch aus Umweltschutzgründen.

Android 11 für mein Test-SmartPhone

Ich habe vor einigen Wochen ein ganz einfaches Nokia-SmartPhone bekommen, das bei einer Firma überzählig war, weil ein Mitarbeit gegangen war. Das Gerät ist zwar ziemlich neu, aber wirklich ganz, ganz einfach und schwach auf der Brust, wenn ich es mit meinem Honor View10 vergleiche. Obwohl das ja auch schon in die Jahre gekommen ist und mittlerweile wohl nicht einmal mehr als Einsteiger-Gerät zu haben ist. Aber ich will gar nicht über das Nokia-SmartPhone lästern, sondern ich bin sogar dankbar, dass ich es als Testgerät für mein Seminar zu Cross Plattform Entwicklung mit Cordova an der TH Bingen zur Verfügung habe. Damit muss ich mir nicht meine tatsächlich in Betrieb befindlichen Geräte mit Demo-Apps vollhauen.
Nun hat das Nokia gestern sogar Android 11 bekommen, was weder auf dem Honor View10, meinem alten Asus-Tablet oder gar meinem „Best-SmartPhone-Ever“ (einem Galaxy S4, was ich immer noch ohne SIM-Karte für die Authentifizierung bei Online-Banking etc. verwende) bereitgestellt wird. Damit kann ich die Apps jetzt auch real in dem aktuellen Android testen und nicht nur in einer Emulation.
Gerade habe ich mal eine Tour gestartet, was denn Android 11 Neues bringt. Fazit: heiße Luft und nichts, was ich je brauchen werde. Mein Vorurteil wird weiter gestärkt – die Entwicklung von mobilen Geräten als auch deren Betriebssystemen bzw. der Software stagniert seit vielen Jahren bzw. bringt rein gar nichts wirklich Neues bzw. Relevantes.

Ecosia – weil ich Bäume liebe

Gerade habe ich auf Arte einen Beitrag zur Bedeutung von Bäumen und dem Wald für Menschen gesehen. In Kombination mit einem vorherigen Beitrag des SWR über Schäfer im Dreiländereck D/L/B in der Eifel und deren Bedeutung für die Natur- und Landschaftspflege kann es kein Zufall sein, dass ich eben dann auf n-tv gerade auf den Beitrag über Ecosia als Alternative zu Google gestoßen bin.

Mein Elternhaus steht direkt am Waldrand und ich bin als Kind mehr im Wald und der Natur als im Haus bzw. den Zivilisationseinrichtungn aufgewachsen. Vielleicht prägt das. Auf jeden Fall bin ich ein Waldmensch und ich brauche Wald und Bäume fast so dringend wie Luft. Mehrere meiner Bücher habe ich sogar (teilweise) mit dem Laptop direkt an der Kante des Waldes geschrieben.

Auch wenn mir Ecosia schon lange bekannt war und meine Kidds dafür mehrfach Werbung bei mir gemacht haben, war ich bisher zu träge, Ecosia als Standardsuchmaschine zu konfigurieren. Zwar habe ich mit DuckDuckGo schon seit Jahren eine Alternative zu Google oder Bing als Standardsuchmaschine eingestellt, aber hier steht der Datenschutz als erstes Ziel im Fokus. Und wenn es man schnell gehen musste, habe ich in der Vergangenheit dann doch meist „gegoogelt“.

Aber die drei Ereignisse heute in kurzer Folge habe mich dazu gebracht, dass ich in Zukunft konsequent Ecosia nutzen und auch dafür werben will. Neue Bäume braucht das Land (besser – die Welt),