Projekte

Einrichten von WordPress mit Docker auf dem Raspberry Pi

Dieser Blog läuft seit dem 09. April 2019 auf einem Raspberry Pi und ist seitdem erstaunlicherweise sehr stabil. WordPress nutzt auch nicht allzu viele Ressourcen, insbesondere für meinen Anwendungsfall, da ich nicht hunderte von Zugriffen pro Tag erwarte, sodass freie Kapazitäten für andere Anwendungen möglich sind.

Das jetzige Setup beinhaltet eine out-of-the-box WordPress Installation mit docker-compose und einem Backup Skript welches die Daten in die private Dropbox cloud laden. In dieser Blog Serie würde ich gerne einen kleinen EInblick in meine Installation geben und euch zeigen, wie ihr euch dies selbst einrichten könnt.

Kürzlich veröffentlicht

dummy-img

Migration einer WordPress-Seite auf eine andere Domain – hungsblog wird international

Hung ManhOct 29, 20236 min read

Seit einigen Jahren schon ist hungsblog unter der Top Level Domain .de verfügbar. Vor kurzem konnte ich jedoch die entsprechende .com erwerben. Ich war natürlich sehr begeistert, die Website von der einen auf die andere Domain zu migrieren und freue…

dummy-img

Python – Pass by object: Praktische Fallstricke

Hung ManhSep 19, 20233 min read

Innerhalb einer Schleife habe ich mehrfach auf ein Objekt in einem Dictionary zugegriffen, es transformiert und visualisiert. Die Absicht war, dass alle Transformationen voneinander isoliert bleiben sollten. Was aber tatsächlich passierte, war, dass sich diese Transformationen aufgrund von Pythons “Pass…

Wie man zwei Zeitstempel in gleiche Teile teilt

Wie man zwei Zeitstempel in gleiche Teile teilt

Hung ManhAug 9, 20233 min read

TLDR: pd.date_range(start=s, end=e, periods=period) Problem Wie kann man gleichmäßige Zeitabstände zwischen zwei Zeitstempeln erzeugen? Mein erster Gedanke, wenn es darum geht, gleichmäßig verteilte Zahlen zu erstellen, ist die Verwendung von linspace. Dazu müssten die Datumsangaben in Unix-Zeitstempel umgewandelt, die entsprechenden…

Doppelte Schlüssel bei der Erstellung einer Json aus einem Python Dict

Doppelte Schlüssel bei der Erstellung einer Json aus einem Python Dict

Hung ManhJan 25, 20232 min read

TLDR: Ein dictionary in json behandelt alle Schlüssel als String, während ein Python Dictionay nicht nur zwischen dem Inhalt, sondern auch dem Datentyp unterscheidet (siehe Stackoverflow). Wenn man ein Dictionary in einem json speichert und das Dictionary daraus wieder lädt,…

ChatGPT als Debug Assistant

ChatGPT als Debug Assistant

Hung ManhJan 14, 20235 min read

Ich habe versucht, einen Flask Restful Endpoint mit dem webargs-Framework zu implementieren, welches ich bereits 2020 verwendet habe. Obwohl ich den alten Code kopiert und einige winzige Anpassungen am Request-Aufruf vorgenommen habe, konnte ich ihn 2023 nicht mehr zum Laufen…

Superset Guest Token mit Python erstellen, um Superset Dashboard zu embedden

Superset Guest Token mit Python erstellen, um Superset Dashboard zu embedden

Hung ManhDec 30, 20224 min read

Das große Ziel ist es, ein Superset Dashboard in einer Webanwendung z.B. in REACT einzubetten. Um das zu erreichen, muss unter anderem ein Guest Token (Service Account) erstellt werden. Da dieser Prozess (meiner Meinung nach) nicht ganz ausreichend gut dokumentiert…

Airflow – “Fill Dagbag” dauert zu lange

Airflow – “Fill Dagbag” dauert zu lange

Hung ManhDec 14, 20224 min read

TLDR: Es ist möglich, DAGs mit nur einem Skript dynamisch zu erstellen. Bei der Ausführung der Tasks wird jedoch das ursprüngliche DAG-Skript noch einmal geparset. Dies führt zu unnötigen Parsing-Iterationen von DAGs, die nicht zum aktuellen Task zugehörig sind. Beobachtung:…

Pytorch – Skalartyp Float erwartet, aber Double gefunden

Pytorch – Skalartyp Float erwartet, aber Double gefunden

Hung ManhDec 14, 20223 min read

TLDR: Der Standard-Datentyp eines Numpy-Arrays ist double/float64. Wenn ein Tensor aus diesem Array mit torch.as_tensor() erstellt wird, nimmt er diesen Datentyp an. Der Standarddatentyp eines neuronalen Netzwerkmodells ist allerdings float32. Die Verwendung des float64 Tensors als Eingabe für das NN-Modell…

Migration von Kubernetes in ein VCN Natives Cluster in der OCI

Migration von Kubernetes in ein VCN Natives Cluster in der OCI

Hung ManhDec 2, 20223 min read

Euer managed Kubernetes Cluster in der OCI könnte eine kleine Anzeige besitzen, die besagt, dass eine “Migration erforderlich” ist. Das liegt daran, dass in früheren Releases (vor dem 16. März die der Kubernetes API-Endpunkt von der Container Engine zwar bereitgestellt,…

WSL 2 auf Windows 10 – Aktivieren Sie das Windows-Feature “VM-Plattform”, und stellen Sie sicher, dass die Virtualisierung im BIOS aktiviert ist.

WSL 2 auf Windows 10 – Aktivieren Sie das Windows-Feature “VM-Plattform”, und stellen Sie sicher, dass die Virtualisierung im BIOS aktiviert ist.

Hung ManhOct 22, 20222 min read

Vor einiger Zeit habe ich WSL 2 auf Windows 10 korrekt installiert, ausgeführt und auch damit gearbeitet. Allerdings habe ich danach mit dem Android-Emulator BlueStack herumgespielt, der Hyper-V verwendet. Nachdem ich alle Einstellungen vorgenommen hatte, um BlueStack zum Laufen zu…

Kürzlich veröffentliche Beiträge

Data Engineering & Tools

Python – Pass by object: Praktische Fallstricke

Innerhalb einer Schleife habe ich mehrfach auf ein Objekt in einem Dictionary zugegriffen, es transformiert und visualisiert. Die Absicht war, dass alle Transformationen voneinander isoliert bleiben sollten. Was aber tatsächlich passierte, war, dass sich diese Transformationen aufgrund von Pythons “Pass by object reference”-Verhalten kummulierten. Schauen wir uns das mal an:…

Weiterlesen
Data Engineering & Tools |  How to

Anbinden von Block volume an eine VM Instanz in der OCI

Im Rahmen meines Forschungsseminars und zu Testzwecken, wollte ich die auf der Oracle Cloud Infrastructure (OCI) kostenlos zur Verfügung stehenden Produkte nutzen, um einige Tests durchzuführen. Hierbei ergaben sich allerdings einige, eigentlich triviale Probleme, bei der Anbindung eines zusätzlichen Block Volumes an eine bestehende VM Instanz. TLDR:Nachdem der Block Volume…

Weiterlesen
1 2
Machine Learning Engineering |  Troubleshooting

Pytorch – Skalartyp Float erwartet, aber Double gefunden

TLDR: Der Standard-Datentyp eines Numpy-Arrays ist double/float64. Wenn ein Tensor aus diesem Array mit torch.as_tensor() erstellt wird, nimmt er diesen Datentyp an. Der Standarddatentyp eines neuronalen Netzwerkmodells ist allerdings float32. Die Verwendung des float64 Tensors als Eingabe für das NN-Modell ist somit nicht kompatibel und führt zu der entsprechenden Fehlermeldung…

Weiterlesen
Machine Learning Engineering |  Troubleshooting

Fehler beim Training eines Languagemodels – RuntimeError the expanded size of the tensor (100) must match the existing size (64) at non singleton dimension 1.

Kontext Ich habe ein neues Sprachmodell von Grund auf mit dem Huggingface-Frameworkes und einem vorkonfiguriertem Roberta-Modells auf einem eigenen Datensatz trainiert. Nun wollt ich einen neuen Datensatz mit Hilfe des trainierten Modells vektorisieren. Beobachtung Es trat ein Fehler auf: RuntimeError the expanded size of the tensor (100) must match the…

Weiterlesen
Machine Learning Engineering |  Troubleshooting

SentenceTransformer – float object is not subscriptable

TLDR: np.nan Objekte sind fom Typ float Beobachtung Um numerische Repräsentationen für Dokumente (sogenannte Embeddings) zu erstellen habe ich mich dem SentenceTransformer (v2.2.0) bedient, allerdings wurde in vereinzelten Fällen der Fehler “TypeError: ‘float’ object is not subscriptable” geworfen. Der traceback bezieht sich auf die tokenizer Funktion, die wir uns hier…

Weiterlesen
Learnings |  Machine Learning Engineering

Visuelle Erklärung der Multi-Head Attention

Warum ändert sich bei einer Änderung der Anzahl der Heads eines Transformermodell nicht dessen Anzahl an Parametern? – Das war die Frage, die ich mir gestellt habe. Nachdem ich die entsprechende Matrizenmultiplikation nachvollzogen und zu einem entsprechendem Ergebnis gekommen bin, möchte ich dieses Wissen weitergeben und versuchen, den Multi Head…

Weiterlesen
How to |  Machine Learning Engineering

Evaluierung des Trainers der Transformer Bibliothek

Innerhalb des Transformer Frameworkes kann ein Trainer Objekt lästigen Code für die Konfiguration der Traningspipeline einsparen. Mit den TrainingArguments können zusätzliche Parameter eingestellt werden. Eine der wichtigen Argumente ist die evaluation_strategy, welche als Standartwert “no” besitzt. Dies besagt, dass keine Evaluation während des Trainings stattefindet. Diese kann entsprechend umgestelllt werden…

Weiterlesen
Andere |  Troubleshooting

ChatGPT als Debug Assistant

Ich habe versucht, einen Flask Restful Endpoint mit dem webargs-Framework zu implementieren, welches ich bereits 2020 verwendet habe. Obwohl ich den alten Code kopiert und einige winzige Anpassungen am Request-Aufruf vorgenommen habe, konnte ich ihn 2023 nicht mehr zum Laufen bringen. Indem ich ChatGPT um Hilfe bat, erlangte ich ein…

Weiterlesen
Andere |  Learnings

WSL 2 auf Windows 10 – Aktivieren Sie das Windows-Feature “VM-Plattform”, und stellen Sie sicher, dass die Virtualisierung im BIOS aktiviert ist.

Vor einiger Zeit habe ich WSL 2 auf Windows 10 korrekt installiert, ausgeführt und auch damit gearbeitet. Allerdings habe ich danach mit dem Android-Emulator BlueStack herumgespielt, der Hyper-V verwendet. Nachdem ich alle Einstellungen vorgenommen hatte, um BlueStack zum Laufen zu bringen, stellte ich fest, dass mein WSL 2 nicht mehr…

Weiterlesen
Andere |  How to

#3 WordPress backup und was zu beachten ist

Es gibt verschiedene Möglichkeiten ein Backup von WordPress zu erstellen, je nach dem wie viel Vorwissen und Nutzerrechte vorhanden sind. In diesem Post möchte ich einige Möglichkeiten durchgehen. Dazu müssen wir wissen, was wir überhaupt sichern müssen und wie wir dies tun können. Aktuell habe ich ein automatisiertes Backup Skript…

Weiterlesen
Andere |  How to

#2 Allgemeine Probleme und Migration

Das Repository sollte direkt out-of-the-box eine lauffähige WordPress Instanz erstellen. In diesem Post möchte ich jedoch über allgemeine Fehlerbehandlung und Probleme berichten, die mir bei der Vorbereitung der Images unter gekommen sind. Ich kann keine Bilder hochladen oder plugins runterladen. Caddy funktioniert nicht mehr, startet jedes mal neu. Migration Wieso…

Weiterlesen
Andere |  Technologie

#0 Einführung in Docker und WordPress

Dieser Post soll eine kurze Einführung zu Docker und WordPress sowie die darunterliegenden Services geben und veranschaulichen wie diese miteinander interagieren. 1. Was ist Docker? 2. Was ist WordPress ? 3. Was steckt hinter WordPress ? 3.1. Caddy als Webserver 3.2. MySQL und MariaDB als Datenbank 3.3. PHP-FPM 4. Wichtige…

Weiterlesen
1 2
hungsblog | Nguyen Hung Manh | Dresden
Nach oben scrollen