Compare commits

...

4 Commits

Author SHA1 Message Date
Jan Meyer
33843cd0e6 vault backup: 2026-04-08 15:10:32 2026-04-08 15:10:32 +02:00
Jan Meyer
8bcf049ced vault backup: 2026-04-08 13:00:12 2026-04-08 13:00:12 +02:00
Jan Meyer
d21c72e4e7 vault backup: 2026-04-08 10:52:50 2026-04-08 10:52:50 +02:00
Jan Meyer
46bb25c44a vault backup: 2026-04-08 10:46:13 2026-04-08 10:46:13 +02:00
12 changed files with 244 additions and 121 deletions

View File

@@ -6,113 +6,113 @@
.theme-dark, .theme-light {
/* ── Material You RGB helpers ──────────────────────────── */
--mat-bg-rgb: 32, 15, 13;
--mat-surface-rgb: 32, 15, 13;
--mat-on-surface-rgb: 253, 219, 215;
--mat-primary-rgb: 255, 180, 172;
--mat-on-primary-rgb: 105, 0, 7;
--mat-bg-rgb: 19, 18, 29;
--mat-surface-rgb: 19, 18, 29;
--mat-on-surface-rgb: 228, 224, 240;
--mat-primary-rgb: 195, 192, 255;
--mat-on-primary-rgb: 29, 0, 165;
/* ── Core Backgrounds ──────────────────────────────────── */
--background-primary: #200f0d;
--background-primary-alt: #200f0d;
--background-secondary: #291715;
--background-secondary-alt: #2d1b19;
--background-primary: #13121d;
--background-primary-alt: #13121d;
--background-secondary: #1b1a25;
--background-secondary-alt: #1f1e29;
/* ── Titlebar ──────────────────────────────────────────── */
--titlebar-background: #200f0d;
--titlebar-background-focused: #291715;
--titlebar-text-color: #fddbd7;
--titlebar-background: #13121d;
--titlebar-background-focused: #1b1a25;
--titlebar-text-color: #e4e0f0;
/* ── Borders & Dividers ────────────────────────────────── */
--background-modifier-border: #5d3f3c;
--background-modifier-border-focus: #ae8884;
--background-modifier-border-hover: #ae8884;
--background-modifier-border: #464557;
--background-modifier-border-focus: #918fa3;
--background-modifier-border-hover: #918fa3;
/* ── Text Colors ───────────────────────────────────────── */
--text-normal: #fddbd7;
--text-muted: #e7bdb8;
--text-faint: #ae8884;
--text-on-accent: #690007;
--text-selection: rgba(255, 180, 172, 0.25);
--text-normal: #e4e0f0;
--text-muted: #c7c4da;
--text-faint: #918fa3;
--text-on-accent: #1d00a5;
--text-selection: rgba(195, 192, 255, 0.25);
/* ── Accent & Interactive ──────────────────────────────── */
--interactive-accent: #ffb4ac;
--interactive-accent-hover: #de1521;
--interactive-accent-rgb: 255, 180, 172;
--text-accent: #ffb4ac;
--text-accent-hover: #de1521;
--interactive-accent: #c3c0ff;
--interactive-accent-hover: #3c24f6;
--interactive-accent-rgb: 195, 192, 255;
--text-accent: #c3c0ff;
--text-accent-hover: #3c24f6;
/* ── Hover & Active Modifiers ──────────────────────────── */
--background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06);
--background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15);
--background-modifier-success: #0075b9;
--background-modifier-success: #a32200;
--background-modifier-error: #93000a;
--background-modifier-error-hover: #ffb4ab;
/* ── Obsidian Color Scale (--color-base-XX) ────────────── */
--color-base-00: #200f0d;
--color-base-05: #200f0d;
--color-base-10: #1a0a08;
--color-base-20: #291715;
--color-base-25: #2d1b19;
--color-base-30: #392523;
--color-base-35: #452f2d;
--color-base-40: #5d3f3c;
--color-base-50: #ae8884;
--color-base-60: #e7bdb8;
--color-base-70: #fddbd7;
--color-base-100: #fddbd7;
--color-base-00: #13121d;
--color-base-05: #13121d;
--color-base-10: #0d0d17;
--color-base-20: #1b1a25;
--color-base-25: #1f1e29;
--color-base-30: #292934;
--color-base-35: #34343f;
--color-base-40: #464557;
--color-base-50: #918fa3;
--color-base-60: #c7c4da;
--color-base-70: #e4e0f0;
--color-base-100: #e4e0f0;
/* ── Semantic Colors ───────────────────────────────────── */
--color-red: #ffb4ab;
--color-orange: #98cbff;
--color-yellow: #ffb4ac;
--color-green: #0075b9;
--color-cyan: #8b1919;
--color-blue: #ffb4ac;
--color-purple: #ffb4ac;
--color-pink: #98cbff;
--color-orange: #ffb4a3;
--color-yellow: #c3c0ff;
--color-green: #a32200;
--color-cyan: #3e3a96;
--color-blue: #c3c0ff;
--color-purple: #c3c0ff;
--color-pink: #ffb4a3;
/* ── Headings ──────────────────────────────────────────── */
--h1-color: #ffb4ac;
--h2-color: #ffb4ac;
--h3-color: #ffb4ac;
--h4-color: #98cbff;
--h5-color: #e7bdb8;
--h6-color: #ae8884;
--h1-color: #c3c0ff;
--h2-color: #c3c0ff;
--h3-color: #c3c0ff;
--h4-color: #ffb4a3;
--h5-color: #c7c4da;
--h6-color: #918fa3;
/* ── Links ─────────────────────────────────────────────── */
--link-color: #ffb4ac;
--link-color-hover: #ffffff;
--link-external-color: #98cbff;
--link-unresolved-color: #ae8884;
--link-color: #c3c0ff;
--link-color-hover: #faf6ff;
--link-external-color: #ffb4a3;
--link-unresolved-color: #918fa3;
/* ── Tags ──────────────────────────────────────────────── */
--tag-color: #ffffff;
--tag-background: #de1521;
--tag-border-color: #ffb4ac;
--tag-color-hover: #690007;
--tag-background-hover: #ffb4ac;
--tag-color: #faf6ff;
--tag-background: #3c24f6;
--tag-border-color: #c3c0ff;
--tag-color-hover: #1d00a5;
--tag-background-hover: #c3c0ff;
/* ── Checkboxes ────────────────────────────────────────── */
--checkbox-color: #ffb4ac;
--checkbox-color-hover: #de1521;
--checkbox-border-color: #ae8884;
--checkbox-marker-color: #690007;
--checkbox-color: #c3c0ff;
--checkbox-color-hover: #3c24f6;
--checkbox-border-color: #918fa3;
--checkbox-marker-color: #1d00a5;
/* ── Code Blocks ───────────────────────────────────────── */
--code-background: #291715;
--code-normal: #fddbd7;
--code-comment: #ae8884;
--code-function: #ffb4ac;
--code-background: #1b1a25;
--code-normal: #e4e0f0;
--code-comment: #918fa3;
--code-function: #c3c0ff;
--code-important: #ffb4ab;
--code-keyword: #ffb4ac;
--code-operator: #98cbff;
--code-property: #e7bdb8;
--code-punctuation: #5d3f3c;
--code-string: #98cbff;
--code-keyword: #c3c0ff;
--code-operator: #ffb4a3;
--code-property: #c7c4da;
--code-punctuation: #464557;
--code-string: #ffb4a3;
--code-tag: #ffb4ab;
--code-value: #ffb4ac;
--code-value: #c3c0ff;
/* ── Scrollbar ─────────────────────────────────────────── */
--scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12);
@@ -121,16 +121,16 @@
/* ── Inputs ────────────────────────────────────────────── */
--input-shadow: none;
--input-shadow-hover: 0 0 0 2px #ae8884;
--input-shadow-hover: 0 0 0 2px #918fa3;
/* ── Graph View ────────────────────────────────────────── */
--graph-node: #ffb4ac;
--graph-node-unresolved: #ae8884;
--graph-node-focused: #ffffff;
--graph-node-tag: #ffb4ac;
--graph-node-attachment: #98cbff;
--graph-line: #5d3f3c;
--graph-background: #200f0d;
--graph-node: #c3c0ff;
--graph-node-unresolved: #918fa3;
--graph-node-focused: #faf6ff;
--graph-node-tag: #c3c0ff;
--graph-node-attachment: #ffb4a3;
--graph-line: #464557;
--graph-background: #13121d;
}

View File

@@ -13,15 +13,44 @@
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/29593940 - Formal Languages.md",
"file": "10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593852 - Strings.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "29593940 - Formal Languages"
"title": "29593852 - Strings"
}
},
{
"id": "e179fd2c20f4067e",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/29593975 - Regular Expressions.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "29593975 - Regular Expressions"
}
},
{
"id": "1e58a188bb5d367b",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593952 - Regular Languages.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "29593952 - Regular Languages"
}
}
]
],
"currentTab": 1
}
],
"direction": "vertical"
@@ -182,14 +211,19 @@
"darlal-switcher-plus:Open Symbols for the active editor": false
}
},
"active": "140d404d9b2faf63",
"active": "e179fd2c20f4067e",
"lastOpenFiles": [
"00 Inbox/29593952 - Regular Languages.md",
"00 Inbox/29593940 - Formal Languages.md",
"00 Inbox/29593935 - Kleene.md",
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593952 - Regular Languages.md",
"00 Inbox/29593975 - Regular Expressions.md",
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md",
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593852 - Strings.md",
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593958 - Kleene star of languages.md",
"30 Library/29593962 - atfl-st2026-l02-finite-representation-of-languages-full.pdf",
"30 Library/normalize_name.sh",
"30 Library/atfl-st2026-l02-finite-representation-of-languages-full.pdf",
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593935 - Kleene.md",
"30 Library/29593895 - atfl-st2026-l01-formal-languages-full.pdf",
"00 Inbox/29593852 - Strings.md",
"00 Inbox/29593929 - Alphabets.md",
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593929 - Alphabets.md",
"30 Library/29592593 - ET_II_Folien_gesamt_020426.pdf",
"30 Library/29592593 - 29592593 - ET_II_Folien_gesamt_020426.pdf",
"30 Library/atfl-st2026-l01-formal-languages-full.pdf",
@@ -214,12 +248,7 @@
"00 Inbox/29593226 - ET_II_Folien_gesamt_020426.pdf.md",
"10 Courses/02 - SoSe 2026/ET II/29592722 - Zeitabhängige Größen.md",
"10 Courses/02 - SoSe 2026/ET II/29592709 - Klausur.md",
"10 Courses/02 - SoSe 2026/ET II/29592729 - Kirchhoffsche Gesetze.md",
"00 Inbox/29593224 - 29593223 - 29593223 - Elektrotechnik II.md",
"20 Atlas",
"30 Library/ET_II_Folien_gesamt_020426.pdf",
"30 Library/d6d88eed747e389e597d2a19bb868ee6?cid=4b45b3a6f32c35a6d9ca5b1b07b760de",
"30 Library/wget-log",
"10 Courses/01 - WiSe 2025_26/ET/images/beispiel_knotenregel.png"
]
}

View File

@@ -1,20 +0,0 @@
---
created: 2026-04-08 10:32
course: "[[29593850 - Automationtheory]]"
topic: languages
related: "[[29593940 - Formal Languages]]"
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content
A language $L$ that can be described by a regular expression $r$ (i. e. $L(r) = L$) is called _regular_.

View File

@@ -0,0 +1,33 @@
---
created: 2026-04-08 10:55
course: "[[29593850 - Automationtheory]]"
topic: languages
related: "[[29593940 - Formal Languages#Finite representation of languages]]"
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content
A _regular expression_ $r$ over an alphabet $Sigma$ is defined recursively:
- $emptyset, epsilon$ and each $a in Sigma$ are regular expression, which represent the Languages $L(emptyset) = emptyset, L(epsilon) = {epsilon}$ and $L(a) = {a}$
- If $r$ and $s$ are regular expressions then these are also regular expressions:
- $(r + s)$ with $L(r + s) = L(r) union L(s)$
- $(r s)$ with $L(r s) = L(r)L(s)$
- $r^*$ with $L(r^*) = L(r)^*$
> [!EXAMPLE]
> The language $L$ over $Sigma = {a, b}$ containing the substring $a b$ is regular, since it can be expressed using the regular expression
> $r = (a +b)^* a b (a + b)^*$
## Equivalence of regular expressions
Two regular expressiosn $r$ and $s$ are _equivalent_ ($r eq.triple s$ or $r hat(eq) s$) if thy generate the same language ($L(r) eq L(s)$).

View File

@@ -49,10 +49,6 @@ The $n^"th"$ power of the language $L subset.eq Sigma^*$ over alphabet $Sigma$
**Goal:** Represent a language using _finite_ information
### Using set notation
$S = {a^n b^m bar n, m >= 0} = {epsilon, a, b, "aa", "ab", ...}$
> This is very inefficient.
> This is limited in practice.
### Using regular expressions
A _regular expression_ $r$ over an alphabet $Sigma$ is defined recursively:
- $emptyset, epsilon$ and each $a in Sigma$ are regular expression, which represent the Languages $L(emptyset) = emptyset, L(epsilon) = {epsilon}$ and $L(a) = {a}$
- If $r$ and $s$ are regular expressions then
- $(r+s)$

View File

@@ -0,0 +1,24 @@
---
created: 2026-04-08 10:32
course: "[[29593850 - Automationtheory]]"
topic: languages
related: "[[29593940 - Formal Languages]]"
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content
A language $L$ that can be described by a [[29593975 - Regular Expressions|Regular Expression]] $r$ (i. e. $L(r) = L$) is called _regular_.
> [!WARNING]
> There a several important languages that **cannot** be described by a regular expression.
> <mark style="background: #CACFD9A6;">(proof later)</mark>

View File

@@ -0,0 +1,25 @@
---
created: 2026-04-08 10:38
course: "[[29593850 - Automationtheory]]"
topic: kleene
related: "[[29593940 - Formal Languages]]"
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content
The _Kleene star_ $L^*$ of a language $L subset Sigma^*$ is the set of all strings (including the empty string $epsilon$) that can be generated by arbitrary concatenation of strings in the language, that is
> $L^* := union.big_(n >= 0) L^n$
> [!EXAMPLE]
> For $L = {01}$ one has $L^* = {epsilon, 01, 0101, 010101, ...}$
> $= {(01)^n bar n >= 0}$

36
30 Library/normalize_name.sh Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Check if a filename was provided
if [ -z "$1" ]; then
echo "Usage: $0 <filename>"
exit 1
fi
TARGET="$1"
# Check if the file actually exists
if [ ! -f "$TARGET" ]; then
echo "Error: File '$TARGET' not found."
exit 1
fi
# Get creation time (%W).
# Note: Returns 0 or '-' if the filesystem doesn't support birth time.
BTIME=$(stat -c %W "$TARGET")
# Fallback to last modification time (%Y) if birth time is unavailable
if [ "$BTIME" -eq 0 ] || [ "$BTIME" == "-" ]; then
BTIME=$(stat -c %Y "$TARGET")
fi
# Calculate the minute-based timestamp (equivalent to Math.floor(ms / 60000))
# Since stat returns seconds, we divide by 60.
FORMATTED_DATE=$(( BTIME / 60 ))
# Define the new name
NEW_NAME="${FORMATTED_DATE} - ${TARGET}"
# Perform the rename
mv "$TARGET" "$NEW_NAME"
echo "Renamed: '$TARGET' -> '$NEW_NAME'"