
„Record Patterns: Wie Record Patterns das Extrahieren von Komponenten vereinfachen (2)“ weiterlesen

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Mit der Einführung von Records hat Java einen eleganten Weg geschaffen, um unveränderliche Datenobjekte effizient und ausdrucksstark zu modellieren. Records ersetzen den klassischen, oft umfangreichen Boilerplate-Code für Datenklassen durch eine kompakte, deklarative Syntax. Sie eignen sich hervorragend für Value Objects, Data Transfer Objects (DTOs) oder als Rückgabetypen in APIs.

Was sind Java Records?
Ein Record ist ein spezieller Klassentyp, der für die Speicherung von Daten entwickelt wurde. Die Felder eines Records sind automatisch private und final, der Zustand eines Record-Objekts kann nach der Erstellung nicht mehr verändert werden. Konstruktor, Getter-Methoden, sowie sinnvolle Implementierungen von equals(), hashCode() und toString() werden automatisch generiert. „Java Records zum Tag der Arbeit (1)“ weiterlesen
Der PPLNS-Algorithmus, was für Pay Per Last N Shares steht, ist eine Methode zur Berechnung der Auszahlung in Kryptowährungs-Mining-Pools. Im Gegensatz zu anderen Methoden wie PPS (Pay Per Share) oder Proportional, belohnt PPLNS Miner nur für die letzten N Shares, die zur Lösung eines Blocks beigetragen haben. Dadurch wird das Risiko von Pool-Hopping verringert, da Miner mehr Anreiz haben, kontinuierlich im gleichen Pool zu bleiben. Die Auszahlung richtet sich nach der Anzahl der gültigen Shares, die ein Miner in einem bestimmten Zeitraum beigetragen hat. Dies fördert Fairness und Effizienz im Mining-Prozess.

Das „Bezahlung für die letzten N Anteile“ wird von vielen Mining-Pools genutzt, um die Belohnungen unter den Minern zu verteilen.
So funktioniert das PPLNS-Verfahren „PPLNS-Algorithmus (Pay Per Last N Shares)“ weiterlesen

Die Benutzeroberfläche des TWRente 1.2.1 Programms (Event-Generator) kann nun ohne Neustart dynamisch in eine von zwölf Sprachen umgeschaltet werden. Alle statischen Texte, Menüs, Labels, Schaltflächen und Hinweise erscheinen sofort in der gewählten Sprache. „TWRente 1.2.1 (Event-Generator): Unterstützung für 12 Sprachen mit dynamischer Umschaltung zur Laufzeit“ weiterlesen
In diesem Sinne eine neue Version 1.1.4, siehe auch hier.

Installation: „Release am Freitag – weil Bugs auch Wochenende machen wollen. Neue Version vom Event-Kalender-Generator 1.1.4“ weiterlesen
Das Grok-2-Modell das im August 2024 veröffentlicht wurde, bietet eine Reihe von Verbesserungen und Funktionen, unter anderem ist das Kontextfenster von 131072 Tokens möglich. Also mal in Perplexity das Grok-2-Modell für ein Java Programm-Generierung verwenden. Hier mal das Endergebnis vorweg:

Ich hatte die Idee, mal für jeden Tag, bis zur Rente einen Eintrag in meinen Kalender mit Counter eintragen zu lassen. Also z.B, in der Form „Noch 33 Tage bis zur Rente“. Rausgekommen ist dann ein universelles Programm, das auch für alle anderen Ereignisse verwendet werden kann, also z.B. noch „55 Tage bis zum Urlaub“ usw.
Ganz zum Schluss, gibt es auch das Programm zum kostenlosen Download.
Hier mal alle Schritte bzw. Promps die an die KI gingen. „Java Programm mit KI in 1 Stunde erzeugen“ weiterlesen
Ein solches Material mit Nodes wollen wir nun erstellen. „Effiziente Materialgestaltung in Blender 4.4 : Ein Blick auf ein komplexes Node-Setup zum Wochenende“ weiterlesen
Das Maven Resources Plugin wird häufig zum Filtern von Dateien verwendet, wodurch Platzhalter in Ressourcendateien durch in der pom.xml definierte Werte ersetzt werden können. Im Kontext der Ausgabe der Versionsnummer kann dieses Plugin dynamische Projekteigenschaften (Version, artifactId, groupId) während des Build-Prozesses direkt in Ressourcendateien einfügen. Die Maven-Koordinaten bestehen aus groupId, artifactId und version.

Maven verwendet Konventionen für die Namensgebung von Koordinaten. Die groupId identifiziert eindeutig eine Projektgruppe über alle anderen Gruppen hinweg. Sie sollte den Java-Paketnamensregeln folgen, beginnend mit einem umgekehrten Domainnamen, den Sie kontrollieren. Die artifactId ist der Name, unter dem das Projekt bekannt ist. Zusammen mit der groupId erzeugt sie einen Schlüssel, der dieses Projekt von allen anderen Projekten unterscheidet. Die version gibt an, um welche Version es sich handelt. „Dynamische Projekteigenschaften mit Maven Resources Plugin und Filter“ weiterlesen
Liebe Leserinnen und Leser,

wir stehen Heute am beeindruckenden Meilenstein des 26-jährigen Bestehens unseres Blogs – über ein Vierteljahrhundert, in dem wir die Welt der Programmierung gemeinsam erkundet haben. Wie doch die Zeit vergeht.
Würde mich über die Beantwortung von nur 3 Fragen freuen. Dafür habe ich, wie jedes Jahr diese kurze anonyme Umfrage (beendet) gemacht. Würde mich über eine Teilnahme freuen.
Danke
Erstes Zwischenergebnis (28.03.2025 bis 19:15 Uhr): „26 Jahre – Danke“ weiterlesen
Stressberry ist ein Python-Paket, das zum Testen der Kerntemperatur eines Raspberry Pi unter verschiedenen Belastungen verwendet wird und vergleichbare Diagramme erstellt. Es ist ein Tool, um zu überprüfen, ob ein Raspberry Pi unter voller CPU-Last in seiner Umgebung ohne Überhitzung und Verlangsamung laufen kann.
Stressberry check für den Raspberry Pi Zero W.

Nach der Installation, starten des Tests und erzeugen der Grafik: „Stressberry mit dem Raspberry Pi Zero W und Ergebnisse visualisieren“ weiterlesen

Mal ein Test, wie lange es dauert bis der Raspberry Pi Zero 2 W seine maximale Betriebstemperatur erreicht hat. Wie ist denn seine maximale Temperatur bzw. sein Arbeitsbereich. In der Spec vom Hersteller Datenblatt vom Pi steht: „Test bis zur maximal Temperatur des Raspberry Pi Zero 2 W oder was sind Shares“ weiterlesen
Heute ist die neue 4.4 von Blender veröffentlicht worden. Dann mal gleich geladen und für dieses Jahr das erste Bild gerendert. Quicktest: Ok, gefühlt langsamer, später mehr …

LangChain4j ist ein Open-Source-Framework, das speziell für die Integration von Large Language Models (LLMs) in Java-Anwendungen entwickelt wurde. Es bietet eine vereinheitlichte API, die den Zugriff auf verschiedene LLM-Anbieter wie OpenAI oder Google Vertex AI erleichtert. Mit LangChain4j können Entwickler Aufgaben wie das Erstellen von Embeddings, semantische Suchen, Chatbot-Implementierungen und Retrieval-Augmented-Generation (RAG) effizient umsetzen.

Um LangChain4j in einem Java-Projekt zu nutzen, müssen die entsprechenden Maven-Abhängigkeiten hinzugefügt werden und zwar so in der pom.xml: „Get Started OpenAiChatModel mit LangChain4j in Java“ weiterlesen

ESP32: Wetterdaten wie Temperatur, Luftfeuchte, Luftdruck und Kursdaten in Dollar (Euro auch möglich) von BTC, ETC, SOL, DOGE, NANO und DUINO mit User-Wallet und auch die Zeit anzeigen. Auch gibt es Benachrichtigungen per WhatsApp, Code siehe hier. „ESP32 Ticker mit WhatsApp Benachrichtigung“ weiterlesen
Ein Kühlkörper auf einem Raspberry Pi dient dazu, Wärme von den Prozessoren und anderen Komponenten abzuleiten, um Überhitzung zu vermeiden und die Stabilität zu gewährleisten. Besonders bei intensiver Nutzung wie das CPU-Mining oder Übertaktung ist eine zusätzliche Kühlung sinnvoll, da sie die Leistung stabilisiert und die Lebensdauer der Hardware verlängert. Soeben eingetroffen und montiert:

Gleicher Quicktest wie hier, auch wieder über 80 Grad: „Kühlkörper für den Pi Zero 2 W mit Quicktest: Pool-Mining von Dogecoin (DOGE)“ weiterlesen
Vor ein paar Tagen ist mein neuer Raspberry Pi Zero 2 W eingetoffen:

Bisher hatte ich jahrelang den Zero W mit 32-Bit am laufen. Dann mal gleich ein Debian in 64-Bit installiert, das habe ich hier dokumentiert. Nun mal der erste Leistungstest. Der Testfall soll sein, eine cpuminer-multi Miner installieren und Dogecoins über der ZPool zu minen. „Quicktest: Raspberry Pi Zero 2 W mit 64-Bit mit Pool-Mining von Dogecoin (DOGE)“ weiterlesen
Das aktuelle bookworm läuft auch auf einem Pi Zero 2 W, in der 64-Bit Version. Welche Schritte sind nun noch nötig für die Installation?

1. Den aktuelle Imager installieren und starten, und das 64-Bit System wählen. „Debian bookworm 64-Bit auf einem Raspberry Pi Zero 2 W installieren“ weiterlesen
Vor 8 Jahren hatte ich schon mal über das OLED Display „Don’t give up! berichtet. Und während der Pandemie diente es als CO2 Anzeige. Das habe ich nun abgebaut und durch ein paar Abfragen per REST-Api von OpenWeatherMap und Coingecko umprogrammiert. Das Ergebnis sieht man in diesem Video:
Es werden mit dem ESP32: Wetterdaten wie Temperatur, Luftfeuchte, Luftdruck und Kursdaten von BTC, ETC, SOL, DOGE, NANO mit DUINO User-Wallet angezeigt. Das Programm sieht ungefähr so aus: „ESP32: Wetterdaten wie Temperatur, Luftfeuchte, Luftdruck und Kursdaten von BTC, ETC, SOL, DOGE, NANO und DUINO mit User-Wallet anzeigen“ weiterlesen
Der Crypto-Bereich ist in Aufregung, weil Bybit von einem Ethereum-Cold-Wallet ca. 1,4 Milliarden Dollar geklaut wurden. Wie war das technisch möglich? Hier eine Erklärungsmöglichkeit:

Aber kommen wir nun zu etwas einfacheren und auch sehr interessanten Thema: Das Sierpinski-Dreieck. „Sierpinski-Dreieck: Mal was anderes als der Mega-Hack der Bybit Exchange mit ca. 401000 ETH ( ca. 1,4 Milliarden Dollar ) Verlust“ weiterlesen

Leonardo Fibonacci, auch bekannt als Leonardo von Pisa, war ein bedeutender Mathematiker des Mittelalters, der um 1170 in Pisa geboren wurde und nach 1240 verstarb.
Er ist vor allem für die Einführung des indisch-arabischen Zahlensystems in Europa und die nach ihm benannte Fibonacci-Folge bekannt. „Fibonacci-Folge mit Java“ weiterlesen