diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..723ef36
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..db8786c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..f97522f
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/tipps_und_tricks.iml b/.idea/tipps_und_tricks.iml
new file mode 100644
index 0000000..d0876a7
--- /dev/null
+++ b/.idea/tipps_und_tricks.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index f1160ad..bb15aa1 100644
--- a/README.md
+++ b/README.md
@@ -1,69 +1,8 @@
-Bei dem Error `fatal: refusing to merge unrelated histories` den Befehl `git pull origin master --allow-unrelated-histories` verwenden und das Problem ist gelöst.
+# Tipps und Tricks zu verschiedenen Sachen
-### [Michis Git Verstäännis](./michi_git.md "Git isz doof")
-
-### [YT Tutorial](https://youtube.com/playlist?list=PLNmsVeXQZj7rbmmqb1Lt_RGU4DEhelTrR&si=U-ldkXilfRgSsBYn)
-
-### Der Reponame "main" ist voreingestellt, es gehen auch andere.
-
-Am Beispiel dieses Readme.md:
-
-```
-git checkout -b main
-git add README.md
-git commit -m "first commit"
-git remote add origin git@teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git
-git push -u origin main
-```
- ॐ wn@magma:~/python/tipps_und_tricks→git:(main) vi README.md
- ॐ wn@magma:~/python/tipps_und_tricks→git:(main)
- ॐ wn@magma:~/python/tipps_und_tricks→git:(main) ✗ git push -u origin main
-Branch 'main' folgt nun Remote-Branch 'main' von 'origin'.
-Everything up-to-date
- ॐ wn@magma:~/python/tipps_und_tricks→git:(main) ✗ git commit README.md
-[main a0d4d5c] geändert: README.md
- 1 file changed, 11 insertions(+), 1 deletion(-)
- ॐ wn@magma:~/python/tipps_und_tricks→git:(main) git push -u origin main
->> Objekte aufzählen: 5, fertig.
-Zähle Objekte: 100% (5/5), fertig.
-Delta-Kompression verwendet bis zu 4 Threads.
-Komprimiere Objekte: 100% (2/2), fertig.
-Schreibe Objekte: 100% (3/3), 535 Bytes | 535.00 KiB/s, fertig.
-Gesamt 3 (Delta 0), Wiederverwendet 0 (Delta 0), Pack wiederverwendet 0
-remote: . Processing 1 references
-remote: Processed 1 references in total
-To teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git
- 83c741e..a0d4d5c main -> main
-Branch 'main' folgt nun Remote-Branch 'main' von 'origin'.
-
-# ssh
-
-Ein Zugriff auf den Teetopf über https ist komplexer und unsicherer als über **ssh**
-ssh ist ein unverzichtbare universelles "Schweizermesser" für professionelles und sicheres Arbeiten im Netz.
-Um _forgejo_ auf teapot mit ssh zu bedienen, muss mensch einen zweiteiligen Schlüssel generieren.
-Das vom Server bevorzugte, weil am schwersten zu knackende Verschlüsselungssystem ist ed25519.
-Einfach zu erzeugen:
-```
-ssh-keygen -t ed25519
-```
-Das zum Entsperren des Schlüssels notwendige lokale Passwort sollte böse und gemein sein, sonst ist die Übung im Falle eines geklauten Rechners fürn A...
-Je nach verwendetem Desktopsystem bietet Linus natürlich an, sich die Passphrase wegzuspeichern.
-Um damit das remote System zu bedienen, muss der öffentliche Teil des Schlüssels dort abgelegt werden. Lokal ist das zumeist die Datei
-```
-~/.ssh/id_ed25519.pub
-```
-Die klappste in die Zwischenablage und bunkerst sie in deinem Profil im _forgejo_
-**Auf keinen Fall den privaten Schlüssel hochladen oder überhaupt jemals irgendwo durch irgendwelche Leitungen schicken!**
-Sollte das versehentlich passiert sein, kannste den Schlüssel löschen und nen neuen anlegen.
-Der Publickey darf im Fernsehen gesendet werden, das schadet nix.
-
-Eine prima Seite mit Infos zu git und ssh schrieb der Patrick Asmus, klixdu hier: [SSH-Keys für gitea](https://www.media-techport.de/2023/08/howto-ssh-schluessel-fuer-gitea-einfache-einrichtung/ "HP Patrick Asmus")
-
-Wenn alles passt, kannst du mit der Befehlsverbindung **&&**, was soviel bedeutet wie "If Exitcode=OK then" die nötigen Kommandos zusammenfassen:
-```
-vi README.md && git commit -m "Mein Kommentar" README.md && git push -u origin main
-```
-
-und du hast die aktuelle Version im lokalen und im entfernten Repo.
-Das funktioniert nicht bei nicht eigenen Repos, wenn die auf "privat" geschaltet sind.
+## Git
+- [Git README](./git/git.md "Git ist doof")
+- [YT Tutorial (Morpheus)](https://youtube.com/playlist?list=PLNmsVeXQZj7rbmmqb1Lt_RGU4DEhelTrR&si=U-ldkXilfRgSsBYn)
+## Python
+- [One Line Python Scripts](./python/oneline.md)
\ No newline at end of file
diff --git a/git/git.md b/git/git.md
new file mode 100644
index 0000000..c0924fa
--- /dev/null
+++ b/git/git.md
@@ -0,0 +1,74 @@
+# Alles rund um Git
+
+## Readme's
+- [Michis Git Verstännis](./michi_git.md "Git ist doof")
+
+
+## Weiteres:
+### Der Reponame "main" ist voreingestellt, es gehen auch andere.
+> Am Beispiel dieses Readme.md:
+> _Setup:_
+> ```
+> git checkout -b main
+> git add README.md
+> git commit -m "first commit"
+> git remote add origin git@teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git
+> git push -u origin main
+> ```
+> _Bash:_
+> ```
+> $ vi README.md
+> $ git push -u origin main
+> Branch 'main' folgt nun Remote-Branch 'main' von 'origin'.
+> Everything up-to-date
+> $ git commit README.md
+> [main a0d4d5c] geändert: README.md
+> 1 file changed, 11 insertions(+), 1 deletion(-)
+> ॐ wn@magma:~/python/tipps_und_tricks→git:(main) git push -u origin main
+> >> Objekte aufzählen: 5, fertig.
+> Zähle Objekte: 100% (5/5), fertig.
+> Delta-Kompression verwendet bis zu 4 Threads.
+> Komprimiere Objekte: 100% (2/2), fertig.
+> Schreibe Objekte: 100% (3/3), 535 Bytes | 535.00 KiB/s, fertig.
+> Gesamt 3 (Delta 0), Wiederverwendet 0 (Delta 0), Pack wiederverwendet 0
+> remote: . Processing 1 references
+> remote: Processed 1 references in total
+> To teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git
+> 83c741e..a0d4d5c main -> main
+> Branch 'main' folgt nun Remote-Branch 'main' von 'origin'.
+> ```
+
+## SSH Setup
+
+Ein Zugriff auf den Teetopf über https ist komplexer und unsicherer als über **ssh**
+ssh ist ein unverzichtbare universelles "Schweizermesser" für professionelles und sicheres Arbeiten im Netz.
+Um _forgejo_ auf teapot mit ssh zu bedienen, muss mensch einen zweiteiligen Schlüssel generieren.
+Das vom Server bevorzugte, weil am schwersten zu knackende Verschlüsselungssystem ist ed25519.
+Einfach zu erzeugen:
+```
+ssh-keygen -t ed25519
+```
+Das zum Entsperren des Schlüssels notwendige lokale Passwort sollte böse und gemein sein, sonst ist die Übung im Falle eines geklauten Rechners fürn A...
+Je nach verwendetem Desktopsystem bietet Linus natürlich an, sich die Passphrase wegzuspeichern.
+Um damit das remote System zu bedienen, muss der öffentliche Teil des Schlüssels dort abgelegt werden. Lokal ist das zumeist die Datei
+```
+~/.ssh/id_ed25519.pub
+```
+Die klappste in die Zwischenablage und bunkerst sie in deinem Profil im _forgejo_
+**Auf keinen Fall den privaten Schlüssel hochladen oder überhaupt jemals irgendwo durch irgendwelche Leitungen schicken!**
+Sollte das versehentlich passiert sein, kannste den Schlüssel löschen und nen neuen anlegen.
+Der Publickey darf im Fernsehen gesendet werden, das schadet nix.
+
+Eine prima Seite mit Infos zu git und ssh schrieb der Patrick Asmus, klixdu hier: [SSH-Keys für gitea](https://www.media-techport.de/2023/08/howto-ssh-schluessel-fuer-gitea-einfache-einrichtung/ "HP Patrick Asmus")
+
+Wenn alles passt, kannst du mit der Befehlsverbindung **&&**, was soviel bedeutet wie "If Exitcode=OK then" die nötigen Kommandos zusammenfassen:
+```
+vi README.md && git commit -m "Mein Kommentar" README.md && git push -u origin main
+```
+
+und du hast die aktuelle Version im lokalen und im entfernten Repo.
+Das funktioniert nicht bei nicht eigenen Repos, wenn die auf "privat" geschaltet sind.
+
+
+## Bei dem Error `fatal: refusing to merge unrelated histories`
+den Befehl `git pull origin master --allow-unrelated-histories` verwenden und das Problem ist gelöst.
diff --git a/michi_git.md b/git/michi_git.md
similarity index 100%
rename from michi_git.md
rename to git/michi_git.md
diff --git a/python/oneline.md b/python/oneline.md
new file mode 100644
index 0000000..7eadafa
--- /dev/null
+++ b/python/oneline.md
@@ -0,0 +1,103 @@
+# Python Programme in einer Zeile code schreiben
+
+Wenn du Scripte bis zur einer Zeile Code verkürzen möchtest; Hab ich hier ein paar Möglichkeite aufgeschrieben.
+Eine ist Lambda, weiteres findest du in Inhaltsverzeichniss:
+
+## Inhaltsverzeichnis:
+1. [Lambda](##-lambda-funktionen-grundlage)
+2. [Semikolons](##-semikolon)
+3. [Listen definieren](#-list-comprehension)
+4. [Mehrfachzuwesungen](##-variablen-mehrfachzuwesungen)
+
+## Lambda Funktionen Grundlage
+Lambda wird benutzt um eine **Anonyme Funktion** zu definieren
+> Beispiel:
+> ```
+> funcbla =
+> funcbla()
+> ```
+
+Oder du kannst eine lambda Funktion direkt ausführen:
+> `()()`oder `")` <-- **locale variablen werden genutzt**
+### Lambda Ausdrücke:
+man definiert eine Ausdruck so:
+> ```
+> lambda : if else
+> ```
+
+> Beispiel:
+> ```
+> print((lambda x : "ungerade" if x%2 else "gerade")(123))
+> ```
+> Output: `ungerade`
+>
+> **Wenn du eine Funktion in einen Lambda Ausdruck verwendest, muss sie eine Variable zurückgeben.
+> Lambda gibt entweder `ungerade` oder `gerade` im Beispiel and print() zurück.**
+
+
+## Semikolon
+Nutze ein `;` um mehrere Funktionen in einer Zeile zu verketten
+> Beispiel:
+> ```
+> func1()
+> func2()
+> ```
+> wird zu:
+> ```
+> func1();func2()
+> ```
+
+
+# List Comprehension
+Mit List Comprehensions kann man Listen in einer zeiler definieren und darüber iterieren:
+> Beispiel:
+> ```
+> list1 = []
+> for x in range(10):
+> list1.append(x)
+> ```
+> wird zu:
+> ```
+> list1 = [ for x in range(10)]
+> ```
+
+Mann kan auch if statements in Comprehentions nutzen:
+```
+newlist = [expression for item in iterable if condition == True]
+```
+> Beispiel:
+> ```
+> list1 = ["a", "b", "c", "d", "e"]
+> list2 = [x for x in fruits if "a" in x]
+> ```
+> ^ Addiert Das Objekt x zu list2 wenn `if "a" in x` also eine "a" in den String Objekt ist.
+
+
+## Variablen Mehrfachzuwesungen
+variablen sind was sehr nützliches was nicht fehlen darf!
+Man kann sie auf verschiedene arten zuwei?en, eine davon ist mit Mehrfachzuweisungen:
+> ```
+> var1 = 1
+> var2 = 2
+> var3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+> ```
+> wir zu:
+> ```
+> var1, var2, var3 = 1, 2, [x for x in range(10]```
+
+### Stapel = Stapel
+In Grunde kann man mit Mehrfachzuweisungen Stapel(Tuple) entpacken oder packen:
+> Packen eines Tupels in eine Variable
+> ```
+> var1 = a,b,c
+> ```
+> soviel wie:
+> "var = tulple"
+> ^ "Anfenger Hinweiss: Wenn man das untenstehenliegene Prinzip verstanden hat ist man flexibler"
+
+> Packen eines Tupels in einen Tuple:
+> ```
+> var1, var2, var3 = 1, 2, 3
+> ```
+> soviel wie:
+> "tuple = tulple"