Init: neue Webseite

This commit is contained in:
Jan Kremer 2024-03-26 15:40:28 +01:00
commit 3470b542d5
Signed by: jan
GPG key ID: A7DA689CB3B078EC
188 changed files with 7271 additions and 0 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use flake

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.hugo_build.lock
.direnv

10
README.md Normal file
View file

@ -0,0 +1,10 @@
# Links
- [Webseite](https://jankremer.eu)
- [Spiegel](https://kremer.codeberg.page)
- [Repositorium](https://codeberg.org/kremer/jankremer.eu)
- [Repo Spiegel](https://https://git.disroot.org/kremer/jankremer.eu)
# Lizenz
CC-BY-SA 4.0 \| Jan Kremer \| 20212024

8
archetypes/blog.md Normal file
View file

@ -0,0 +1,8 @@
---
title: {{ replace .Name "-" " " | title }}
date: {{ .Date }}
description:
tags:
showComments: false
draft: true
---

5
archetypes/default.md Normal file
View file

@ -0,0 +1,5 @@
---
title: {{ replace .Name "-" " " | title }}
date: {{ .Date }}
draft: true
---

8
archetypes/micro.md Normal file
View file

@ -0,0 +1,8 @@
---
title: {{ replace .Name "-" " " | title }}
date: {{ .Date }}
tags:
- micro
showComments: false
draft: true
---

10
archetypes/photos.md Normal file
View file

@ -0,0 +1,10 @@
---
title: {{ replace .Name "-" " " | title }}
date: {{ .Date }}
description:
feature:
tags:
- photos
showComments: false
draft: true
---

185
assets/css/main.css Normal file
View file

@ -0,0 +1,185 @@
@font-face {
font-family: "EB Garamond";
src:
/* local("EB Garamond"), */
url("/fonts/EBGaramond-VariableFont_wght.ttf");
/* font-weight: normal; */
/* font-style: normal; */
/* font-display: swap; */
}
:root {
font-size: calc(1rem + 0.25vw);
--red: #FC361D;
--blue1: #116080;
--blue2: #105099;
--light-gray: #F0F0F0;
--white: white;
--beige: #FCF9EC;
--text1: #1a1a1a;
--text2: #6f6f6f;
--text3: #999999;
}
body {
color: var(--text);
background: var(--background);
font-family: "eb garamond", serif;
font-variant-numeric: oldstyle-nums;
/* font-variant-ligatures: common-ligatures; */
line-height: 1.5;
margin: auto;
padding: 1rem;
max-width: 70ch;
font-weight: normal;
}
header {
border-bottom: 1px solid var(--text3);
margin-bottom: 1rem;
nav {
ul {
font-size: 1.25rem;
list-style: none;
display: flex;
justify-content: space-between;
padding: 0;
.active {
text-decoration: underline;
}
}
}
}
p {
padding: 0;
margin-top: 0;
text-align: justify;
text-justify: inter-word;
}
article>p:nth-of-type(2)::first-letter {
font-size: 3rem;
float: left;
line-height: 2.9rem;
padding-right: 0.2rem;
}
a {
color: var(--red);
text-decoration: none;
}
h1 {
padding: 0;
margin: 0;
font-size: 2rem;
font-weight: normal;
text-align: center;
}
h2 {
padding: 0;
margin: 0;
font-size: 1.75rem;
font-weight: normal;
}
h3 {
padding: 0;
margin: 0;
font-size: 1.5rem;
font-weight: normal;
}
time {
font-size: 1rem;
float: right;
color: var(--blue2);
}
table {
border-collapse: collapse;
width: 100%;
th {
text-align: left;
border-bottom: 1px solid var(--text1);
}
}
hr {
border: 0.1px solid var(--text2);
}
img {
max-width: 100%;
}
footer {
border-top: 1px solid var(--text3);
margin-top: 1rem;
p {
font-size: 0.75rem;
padding: 1rem;
text-align: center;
color: var(--text2);
a {
color: var(--text2);
}
}
}
.list {
h2 {
margin-top: 2rem;
margin-bottom: 0;
a {
color: var(--text1);
}
}
.lead {
margin: 0;
font-size: 1rem;
text-align: left;
}
}
.tags {
ul {
list-style: none;
display: flex;
justify-content: space-between;
padding: 0 1rem;
font-size: 0.75rem;
li {
padding: 0rem 0.3rem;
border: 1px solid var(--text1);
border-radius: 0.3rem;
}
}
}
.title {
font-size: 2rem;
margin-bottom: 0.5rem;
}
.lead {
text-align: center;
font-size: 1.5rem;
margin-bottom: 1rem;
}

BIN
assets/img/btc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

BIN
assets/img/eth.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

BIN
assets/img/pharmacist-0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

BIN
assets/img/qr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

BIN
assets/img/skier-1-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
assets/img/skier-1-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
assets/img/skier-1-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
assets/img/xmr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

2
content/_index.md Normal file
View file

@ -0,0 +1,2 @@
---
---

22
content/about.md Normal file
View file

@ -0,0 +1,22 @@
---
title: Über mich
date: 2022-12-10
showDate: false
draft: false
showPagination: false
---
Mein Name ist Jan Kremer. Ich bin 27 Jahre alt und studiere Pharmazie an der Uni Regensburg. Manchmal schreibe ich über Technik und Software [die ich benutze](/uses) oder [was ich gerade mache](/now).
Wenn ich nicht gerade lerne, mache ich gerne Sport, vor allem Joggen, Kraftsport und Skifahren.
## Kontakt
### Matrix
[@jankremer:matrix.org](https://matrix.to/#/@jankremer:matrix.org)
## IPFS
```txt
QmfPgBDRMVsAcdZuK26v5fxGBcUixyYqeibArBf5YYguz2
```

4
content/blog/_index.md Normal file
View file

@ -0,0 +1,4 @@
---
title: Blog
date: 2022-12-10
---

View file

@ -0,0 +1,45 @@
---
title: "Easter eggs of this Websites"
date: 2023-09-19
description: "What you can't see is what you GET."
tags: [meta]
showComments: true
draft: true
---
## .well_known
As of [RFC ...]()
### OpenID
### Nostr
## `curl` easter eggs
There are famously [no easter eggs](https://daniel.haxx.se/blog/2021/12/06/no-easter-eggs-in-curl/) built into `curl`. That doesn't mean I can't make my own.
I set up `txt` files to display QR codes, which you can access via `curl`.There is one for the homepage, which is kind of stupid because you have to type in the URL to get a QR code for that URL.
```shell
curl https://jankremer.eu/qr.txt
```
I also set up codes for my [crypto](/tags/crypto) addresses. Just add `.txt` to the URL. Same for my [avatar](/pharmacist-0.webp). Fun fact: the `.png` file is only half the size of the `.txt` version.
```shell
curl https://jankremer.eu/xmr.txt
```
```shell
curl https://jankremer.eu/pharmacist-0.txt
```
I think you need to use a [nerd font](https://nerdfonts.com) for the QR code to show correctly.
> Why?
Just for fun.
## More?
What am I missing? Tell me in the comments or via [email](/about#kontakt).

View file

@ -0,0 +1,19 @@
---
title: Geheime Botschaften Simon Singh
date: 2023-09-09
description: "Buchvorstellung"
tags: [bücher]
---
Ich las vor kurzem das Buch *Geheime Botschaften. Die Kunst der Verschlüsselung von der Antike bis in die Zeiten des Internet*[^1] von [Simon Singh](https://simonsingh.net).
Es stellt eine Einführung in die Geschichte der Verschlüsselung dar und ist für jeden, den das Thema interessiert, äußerst empfehlenswert.
Daneben geht der Autor auch auf die "Entschlüsselung" antiker Sprachen wie der [Hieroglyphen](https://de.wikipedia.org/wiki/Hieroglyphen) und Schriften wie [Linear B](https://de.wikipedia.org/wiki/Linearschrift_B) ein.
In den letzten Kapiteln des Buchs erklärt Singh zudem "moderne" Verschlüsselungsmethoden wie [RSA](https://de.wikipedia.org/wiki/RSA-Kryptosystem) und den [Diffie-Hellmann-Schlüsselaustausch](https://de.wikipedia.org/wiki/Diffie-Hellman-Schlüsselaustausch).
Nur leider zeigt sich hier deutlich, dass das Buch bereit 1999 publiziert wurde und somit die letzten 24 Jahre der Kryptographie nicht erwähnt werden konnten.
Dadurch finden sich Themen wie zum Beispiel das [Signal-Protokoll](https://www.signal.org/docs/), die damit einhergehende massive Verbreitung starker Verschlüsselung und Krypto-Währungen hier nicht wieder.
Zum Glück kann man vieles davon selbst im Internet recherchieren.
Update: Signal wird in Zukunft [quantumresistente Verschlüsselung](https://signal.org/blog/pqxdh) benutzen.
[^1]: Originaltitel: *The Code Book. The Science of Secrecy from Ancient Egypt to Quantum Cryptography*

18
content/blog/genesis.md Normal file
View file

@ -0,0 +1,18 @@
---
title: Genesis
date: 2022-12-10
description: Über das Erstellen einer Webseite.
tags: [meta]
draft: false
---
Als ich vor ca. einem Jahr diese Domain kaufte, wusste ich noch nicht was ich damit anstellen will. Ich wusste nur: **Ich will endlich eine eigene Webseite haben.**
In meinen ersten Stunden Informatik in der Schule (vor über 10 Jahren) lernten wir die Grundlagen des Webdesigns mit *HTML* und *CSS*, und da ich zunächst nicht viel Zeit hatte erstellte ich genau mit diesen Tools eine kleine Startseite. Mehr schlecht als recht aber immerhin hatte ich etwas.
Im März diesen Jahres hatte ich dann ein wenig Zeit mich genauer mit dem Thema zu beschäftigen und fand dabei den sogenannten [Jamstack](https://jamstack.org). Jamstack sind Tools zur schnellen und einfachen Aufstellen von Webseite. Dies können große Projekte sein oder wie in meinem Fall ein kleiner Blog. Zuerst probierte ich [Jekyll](https://jekyllrb.com/) was mir jedoch nicht so gut taugte und stieß dann auf [Hugo](https://gohugo.io/). Mit einer Vielzahl an modernen Designs und einer klinderleichten Handhaben konnte ich schnell überzeugt werden.
Heute weiß ich zwar immer noch nicht, was ich hiermit in Zukunft machen werde, aber ich denke es ist wichtiger den je ein Sprachrohr zu haben, das unabhängig ist von der Willkür großer Plattformen.
Bis bald und viel Spaß!
P.S.: Dieses wunderschöne *Theme*, das ich hier benutze, heißt [Congo](https://git.io/hugo-congo).

View file

@ -0,0 +1,35 @@
---
title: Deploy a website using Git
date: 2023-09-25
description: ""
tags: [meta, git]
showComments: true
---
## Git-ftp
I tested a lot of different FTP programs including GUIs, TUIs and CLIs.
There might be a problem with the FTP server but I don't control that unfortunately.
The only program working flawlessly so far is [git-ftp](https://git-ftp.github.io/), a plugin for Git.
Not only is this perfectly integrated into git, which I am using anyway.
Also no errors occurred so far.
Plus I can automate the upload using [hooks](#git-hooks).
## Git hooks
The real MVP however is [Git Hooks](https://git-scm.com/docs/githooks).
Hooks are scripts that run automatically on certain Git events.
I did, for example, create a hook to automacally build the website after commiting a change.
Yes, this could introduce problems such as breaking changes and I end up with a broken website, but as I test it regularly this should not become a problem.
The second hook I created pushes the website to the FTP server whenever I push to the remote repository.
## Git submodule
I recently discovered that I can use `git submodule` to add the `public` folder created by Hugo.
This allows me to upload the repository to my pages repository on Codeberg and have the site mirrored there.
Secoundly, it allows me to upload the website with git-ftp without uploading everything else.
---
What awesome features of Git are you using?

53
content/blog/git.md Normal file
View file

@ -0,0 +1,53 @@
---
title: git
date: 2023-03-22T16:47:15+01:00
description: "Warum jeder git lernen sollte."
tags: [git]
---
Ursprünglich sollte es in diesem Post um [git](https://git-scm.com), jedoch ist mir bei Brainstorming aufgefallen, dass das Thema eigentlich deutlich umfangreicher sein sollte.
Meine Reise begann, als ich beschloss, diesen Blog zu starten.
Da ich bis dahin Webseiten nur in reinem HTML und CSS geschrieben hatte, versuchte ich es zunächst damit.
Schnell stellten sich dabei aber mehrere Probleme heraus:
1. Ich bin nicht gut in CSS.
2. Einen RSS-Feed von Hand zu erstellen ist umständlich und nicht sinnvoll.
3. Mehrere Seiten mit einheitlichem Design in HTML zu schreiben ist kompliziert.
4. Ich mag die HTML Syntax nicht.
Ich war überzeugt, dass ich eine bessere Lösung dafür brauche.
Nach kurzer und intensiver Recherche fand ich heraus, dass die Lösung meine Problems *"static site generator"* heißt.
Darüber hatte ich bereits [hier](/blog/genesis) geschrieben.
Im Zuge dessen lernte ich auch *git* kennen.
Ich hatte zwar schon früher von *git* gehört, bis dato aber nur zum herunterladen von Software benutzt.
Und damit sind wir schon im Kern meines Problems gelandet:
## Warum kannte ich *git* nicht?
Meine ersten Erfahrungen mit dem Programmieren machte ich damals in der Schule, angefangen mit HTML und CSS, später mit Python und Java.
Aber ohne *git*.
An der Uni (4 Semester Wirtschaftsinformatik) ging es dann weiter mit Java, aber weiterhin ohne *git*.
Erst beim erstellen dieses Blogs kam ich auf die Idee mich mal ein wenig mit [Versionsverwaltung](https://de.wikipedia.org/wiki/Versionsverwaltung) auseinander zu setzen.
Und seitdem bin ich verliebt.
Inzwischen denke ich, dass jeder von *git* profitieren könnte.
Das einfache Zurückspringen zu früheren Versionen, falls mal was kaputt geht, oder das Auslagern und Zusammenführen von *Branches* sind einfach großartig.
Zudem ermutigt wird man ermutigt, an logisch sinnvollen Stellen zu *commiten* und somit den bisherigen Stand zu speichern.
Es wäre meiner Meinung nach auch sinnvoll, Texte, wie zum Beispiel Projektarbeiten, nicht in *Microsoft Word* zu verfassen sondern besser in Textdokumenten und diese dann mit *git* zu verwalten und zusammenzufügen (merge).
Diese könnten dann ganz leicht in [LaTeX-Dokumente](/blog/latex) umgewandelt werden oder auch in *Word* formatiert werden.
Darüber hinaus würde dies den Autoren die Möglichkeit geben, einen Texteditor der Wahl zu nutzen.
Gerade auf älteren Maschinen, wie meinem *MacBook Pro* von 2015 braucht *Word* inzwischen einiges an Ressourcen.
Dies könnte aber auch damit zusammen hängen, dass *Word* auf meinem Computer stolze 2.3 GB schwer ist.
Zum Vergleich: Das **gesamte** *LibreOffice* braucht keine 800 MB.
Ich verstehe auch, dass nicht jeder auf der Kommandozeile zu Hause ist, jedoch gibt es ja auch Tools wie GitHub oder Programme mit grafischer Oberfläche, es sollte also für jeden was dabei sein.
Ich kratze hier gerade mal an der Oberfläche der Möglichkeiten, das meiste ist mir selbst noch nicht bekannt.
Ich kann nur jedem, der *git* noch nicht nutzt es nur wärmstens empfehlen, es mal auszuprobieren.
Schaden kann es nicht!
P.S.: Ja ich weiß, *git* ist kein Geheimtipp.

38
content/blog/hosting.md Normal file
View file

@ -0,0 +1,38 @@
---
title: "12 cent blog"
date: 2023-08-27
description: "Hosting a website at (almost) no cost."
tags: [meta, money]
showComments: true
showTableOfContents: false
---
Yes, the title is correct.
[Well, actually](https://knowyourmeme.com/photos/1191035) it is 0.119 € per
month or 14.28 € for 10 years.
To be fair, it was a special offer and only covers the domain.
Fortunately, my provider, [Netim](https://www.netim.com/en) has a free hosting plan with fits my needs.
I even get email hosting with my own domain.
There are also services like [Neocities](https://neocities.org) where you can host your website for free if you are willing to live with a subdomain.
## Why should I? XYZ is free!
Yes, you can post wherever you want.
𝕏 (formerly known as Twitter) is free[^1], Mastodon is free, Facebook, Instagram, Threads, Reddit, you name them, are all free, but you are giving up your freedoms.
Mastodon might be a little better than the rest, but ultimately you depend on the host to let you post there.
And they can block you and delete all your data without even giving you any notice.
I hope you have a backup.
[^1]: Or is it? I'm not in the loop.
Hosting this blog allows me to write whatever I want.
Sure, Netim could also block me and delete my data, but since I use [Hugo](https://gohugo.io) I always have everything backed up on my system anyways.
In a matter of hours I could be up and running on another hosting provider.
I can also use any format I want and have nearly endless possibilities to customize my blog.
The sky is the limit.
For example am I hosting my own [photos](/fotos) instead of using Instagram and my own [microblog](/micro) instead of using Twitter/Mastodon.
Whatever media I plan to share in the future, there is a solution out there.
Want comments? I'm trying [Cactus Comments](https://cactus.chat) at the moment.
Let me know what you think!

51
content/blog/latex.md Normal file
View file

@ -0,0 +1,51 @@
---
title: LaTeX
date: 2023-01-12T15:35:23+01:00
description: "Wie ich Word durch LaTeX ersetzte."
tags: [git, latex, uni]
draft: false
---
Im Rahmen meines Wahlpflichtpraktikums schreibe ich aktuell an meiner zweiten größeren Projektarbeit. Die einzige andere Projektarbeit war bisher die für das Praktikum Pharmazeutische Technologie, welche, Stand jetzt, noch nicht vollständig abgeschlossen ist.
Für diese Arbeit entschieden wir uns jedoch für *Microsoft Word*. Also im Grunde wurde uns diese Entscheidung fast abgenommen, da die Universität Regensburg uns das *Office 365* zur Verfügung stellt und es damit auch bei uns Studenten den De-Facto-Standard darstellt. Zudem erleichtert es das Arbeiten im Team doch sehr.
Formatierungen sind jedoch immer ein Kampf. Daher wollte ich versuchen, [LaTeX](https://www.latex-project.org) für diese Arbeit einzusetzen. Ich kannte *LaTeX* vor allem aus mathematischen Kursen an der Uni und hatte schon oft gehört, dass es Setzen (von [Satz](https://de.wikipedia.org/wiki/Satz_(Druck))) deutlich vereinfachen soll. Aber nicht nur das Schreiben mathematischer Arbeiten macht es deutlich angenehmer, durch das einbinden einiger zusätzlicher Pakete werden wissenschaftliche Texte zum Kinderspiel.
## Über LaTeX
> **LaTeX** [ˈlaːtɛç] ist ein Softwarepaket, das die Benutzung des Textsatzsystems TeX mit Hilfe von Makros vereinfacht. *LaTeX* wurde Anfang der 1980er Jahre von *Leslie Lamport* entwickelt.Der Name bedeutet so viel wie *Lamport TeX*. Die Entwicklung wurde seit den 1990er Jahren von einer Anzahl Entwicklern weitergeführt. Heute ist *LaTeX* die populärste Methode, *TeX* zu verwenden.
<cite>[Wikipedia: LaTeX](https://de.wikipedia.org/wiki/LaTeX)</cite>
*LaTeX* funktioniert ähnlich wie *HTML* oder *Markdown*: Zunächst wird die Formatierung von Text getrennt. Bei WYSIWYG[^1]-Textverarbeitungsprogrammen wie *Word* sieht man direkt, wie das gedruckte Dokument hinterher aussehen wird. Das macht es für viele Nutzer einfacher, zwingt sie aber auch dazu, sich direkt und unmittelbar mit der Formatierung zu beschäftigen. *LaTeX* trennt dies zunächst, gibt aber dennoch eine übersichtliche Struktur vor. Zudem sind die Standard Formatvorlagen deutlich schlichter und zumindest für mich wesentlich ansprechender als die von *Word* (Warum ist alles blau und wieso *Calibri*?!). Ja, die Voreinstellungen von *Word* lassen sich überschreiben, aber das muss man auch erstmal machen.
[^1]: What you see is what you get.
Funktionen wie ein Inhalts- oder Literaturvrezeichnis lassen sich in *Word* zwar auch realisieren, sind in *LaTeX* wesentlich simpler. Zudem lässt sich *LaTeX* durch Pakete nahezu unendlich erweitern und deckt dadruch auch jeden noch so speziellen Fall ab.
Ein weiterer Punkt, warum ich *LaTeX* bevorzuge ist, dass ich jeden Texteditor benutzen kann. Ich nutze am liebsten *VS Code*, aber natürlich kann jeder beliebige Editor verwendet werden.
Das einzige, was mit *Word* sicher einfacher wäre ist das einbinden und beschriften von Grafiken. Da ich einige davor in meine Projektarbeit verwende, brauchte ich hierfür eine Lösung. Diese habe ich mit [Inkscape](https://inkscape.org/de/) gefunden. Hiermir lassen sich Bilder bearbeiten und beschriften und anschließend als *LaTeX*-Dokument speichern. Diese lassen sich dann ganz einfach einbinden.
## Fazit
Für wen *Word* und ähnliches schon immer eine Qual war oder wer Vorerfahrung mit Texteditoren und Skriptsprachen hat, dem kann ich *LaTeX* nur ans Herz legen. Ganz einfach lassen sich wunderschöne Dokumente herzaubern. Vor allem der Font *Computer Modern* hat es mir sehr angetan. Eventuell werde ich die Projektarbeit demnächst hier hochladen.
---
## Technische Spezifikationen
Kurzer Nachtrag über meine Arbeitsweise mit *LaTeX*: Als Texteditor benutze ich [VS Code](https://code.visualstudio.com), da ich diesen super übersichtlich finde und vor allem die Erweiterungsmöglichkeiten sehr schätze. Für *LaTeX* sind dies vor allem [LaTeX Workshop](https://github.com/James-Yu/LaTeX-Workshop) und natürlich [git](https://git-scm.com) (vorinstalliert). Des Weiteren benutze ich die [MacTeX-Distribution](https://www.tug.org/mactex/), welche ich über [Homebrew](https://brew.sh) installiert habe.
### Verwendete Pakete
* **babel**: Sorgt für die Unterstützung verschiedener Sprachen. Ich schreibe die Projektarbeit zwar auf Englisch, jedoch brauche ich ab und zu mal Deutsche Begriffe und damiteinhergehend Umlaute etc.
* **biblatex**: Verbessertes Literaturverzeichnis, alternative zu **bibtex**.
* **booktabs**: Verschönert und vereinfacht Tabellen in *LaTeX*.
* **chemformula**: Erleichtert das Setzen von chemischen Formeln enorm und sorgt dafür, dass diese auch richtig angezeigt werden.
* **hyperref**: Für Links und Metadaten.
* **longtable**: Die verwendeten Materialien habe ich alle in riesigen Listen. *LaTeX* kann standardmäßig nicht besonders gut mit großen Tabellen umgehen, dieses Paket hilft dabei.
* **microtype**: Lässt alles schöner aussehen, praktisch schwarze Magie.
* **siunitx**: Das wahrscheinlich beste Paket überhaupt, simple aber hat Power. Sorgt für perfektes setzen von Einheiten, mit oder ohne vorangehenden Wert. Zudem enthält es eine Funktion, die Werte in Tabellen um den Dezimalpunkt anordnen kann. Ein Traum.
* **textgreek**: Erleichtert das verwenden von griechischen Buchstaben im Text.
* Zusätzliche Pakete die ich an der Stelle nicht weiter erleutern werden: **color**, **csquotes**, **fontenc**, **glossaries**, **graphicx**, **tikz** und **tocbibind**.

41
content/blog/nix.md Normal file
View file

@ -0,0 +1,41 @@
---
title: Nix on macOS
date: 2024-03-14
description: Moving from Homebrew to Nix. Mostly.
tags:
- nix
showComments: false
---
For about a year, I've been fascinated by [Nix and NixOS](https://nixos.org). I don't remember exactly what fascinated me at first, probably the possibility to setup and configure my system using a single file. A few weeks ago, I decided to give it a serious try.
## Installation
To be honest this is not my first time installing Nix on my machine. I tried the official Nix installer and the "old" way to use Nix which is basically the same as any other package manager. I didn't see the point of having two package managers so I uninstalled Nix quickly after.
Then, a few weeks ago, I came across [this guide](https://nixcademy.com/2024/01/15/nix-on-macos/) and it instantly clicked with me. Having a single file in which I declare my complete system and then have it set up in a few minutes without rebooting is just infinitely cool. In Nix, this feature is called *flake*. The guide uses the [Determinate systems installer](https://github.com/DeterminateSystems/nix-installer) which sets up flakes by default. It also explains how to install Nix Darwin.
## Nix Darwin
Nix Darwin is a set of Nix modules that brings declarative configuration to macOS. It includes a bunch of options such as for the dock, Finder or the keyboard for example. It also gives the user basic configuration options for various programs. However I prefer to set up terminal based programs using [Home Manager](#home-manager) instead, because it supports even more programs.
What I do use extensively is the [Homebrew](https://brew.sh/) module to install not only GUI (graphical user interface) apps from Homebrew, but also from the App Store.
## Home Manager
For everything else, from terminal based programs to their configuration, I use [Home Manager](https://github.com/nix-community/home-manager?tab=readme-ov-file). It includes a huge set of modules and allows me to setup every non-GUI program in a declarative way. Still, sometimes you have to configure the "traditional way", meaning in the original configuration language. But still, I much prefer this over my cluttered `.config` directory.
## Nixvim
In the process of writing my Nix configuration, I became unsatisfied with my Neovim setup. I used to use [LazyVim](https://www.lazyvim.org) but it felt more and more bloated and slow on my 9 year old machine. For some time I used [Helix](https://helix-editor.com/) which has great defaults, such as language server protocol (LSP) and fuzzy finder integration. I really think Neovim should go in this direction. Unfortunately it lacks some features to make it my main editor, mostly support for [Typst](https://typst.app/) which is already added to the `master` branch. It also lacks a plugin system, but given such great defaults, there isn't that big of a need for it. Helix also features its own set of motions, and although I think they are not bad, maybe even better than Vim motions, the latter are so ubiquitously implemented that I would essentially use both all the time.
That's when I saw a video by *ThePrimeagen* in which he recommended [Kickstart](https://github.com/nvim-lua/kickstart.nvim/tree/master), a minimal Neovim starter configuration mainly written by *TJ DeVries*. It almost everything you need to get started and has insanely great documentation.
The only thing that bothered me was the use of [Mason](https://github.com/williamboman/mason.nvim) as a LSP package manager. For some people this might be the best way to install LSPs, but I don't understand why I would use a second package manager when I can just use Nix for everything. Helix has a list of supported LSPs and all you have to do is make sure they are in your `$PATH`.
Luckily, others already had the same issues and decided to write [Nixvim](https://github.com/nix-community/nixvim). Nixvim is a NixOS / Nix Darwin / Home manager module that lets you configure Neovim (almost) entirely using Nix. It uses Nix as the plugin manager and has great defaults and documentation.
I basically recreated Kickstart using Nixvim with some minor tweaks. It feels just as snappy as Helix and I love it.
## Conclusion
This is just the tip of the tip of the iceberg of what is possible with Nix. Next, I want to learn to write my own flakes to set up development environments. I should probably learn a bit of Nix language too. But to sum it up so far, I'm really happy and excited about this "new" way to manage my computer.

8
content/blog/obsidian.md Normal file
View file

@ -0,0 +1,8 @@
---
title: Obsidian
date: 2023-12-25T11:34:38+01:00
description: Friendship ended with Emacs, now Obsidian is my best friend.
tags:
showComments: false
draft: true
---

61
content/blog/rss.md Normal file
View file

@ -0,0 +1,61 @@
---
title: RSS
date: 2023-09-01
description: "Feeds without fuzz."
tags: [rss, meta]
---
## What is RSS?
Originally, RSS stood for "RDF/Rich Site Summary" but was later changed to "Really Simple Syndication"
RSS is a way to subscribe to a website.
Whenever that website updates it writes its changes to a `XML` file.
You can then read this XML file and see what changed at a glance.
Many websites use RSS including YouTube, ~~Reddit~~ Lemmy, ~~Twitter~~ Mastodon, most news sites, and almost any blog out there.
For many blogs, RSS is the main way to distribute new posts.
RSS is experiencing a Renaissance at the moment:
Many people are now seeing the damages done by algorithmic feeds and want to go back to purely chronological feeds.
RSS provides a perfect infrastructure for this.
## How to read RSS?
First, you need a feed reader. On macOS and iOS I highly recommend [NetNewsWire](https://netnewswire.com).
For terminal fans [Newsboat](https://newsboat.org) is the way to go.
[Thunderbird](https://www.thunderbird.net/) is also a good choice but there are tons of programs that can read RSS feeds.
That's bascially it. Now you need to add some feeds and you are ready.
I recommend picking a reader that can also fetch the article without opening the browser and loading a ton of ads.
Pro tip: You can export your subscibtions to a `OPML` file and import them into any RSS reader.
## How to distribute RSS?
This is the hardest question to answer about RSS as there are endless possibilities.
The easiest way would probably be to use a service such as Mastodon that generates the feed automatically.
If that platform isn't for you, WordPress is a good way to host a blog.
I read about people setting up their own scripts that automatically update the feed for new posts.
I use [Hugo](https://gohugo.io) which is a *static site generator*.
It generates feeds automatically but lies somewhere between WordPress and writing your own scripts in terms of how tech savvy you should be.
## How to find RSS?
Go to a website you like, copy the URL and paste it into your RSS reader.
Modern feed readers can find RSS feed on their own, you just have to provide a link to the site you want to subscribe to.
If that is not the case, you could try adding `/index.xml` to the URL.
Some sites, like this one, also link to their RSS feeds.
Often those links are a the bottom of the website and are either marked as `RSS`, `Feed`, or just use the RSS logo.
I additionally provide links to my subprojects such as my [microblog](/micro) or my [photos](/fotos).
Feel free to add them to your reader.
## Conclusion
I think RSS is on the rise.
It's an old protocol that survived numerous challenges
It provides an escape from the algorithms and large social media companies.
It also provides a way for content creators to distribute their content on their own without any middleman.

30
content/btc.md Normal file
View file

@ -0,0 +1,30 @@
---
title: Bitcoin
date: 2022-12-10
showDate: false
showDateUpdated: false
showSummary: false
draft: false
tags: [crypto]
searchHidden: true
showPagination: false
---
## Address
```txt
bc1qf8qjt4gut2la8k4v3emfv7wrj6f3pfcjrj3slplnwrldkz7hqmaqaju7ym
```
## QR
![BTC](/btc.png)
## OpenAlias
```txt
jankremer.eu
```
```txt
btc.jankremer.eu
```

29
content/eth.md Normal file
View file

@ -0,0 +1,29 @@
---
title: Ethereum
date: 2022-12-10
showDate: false
showDateUpdated: false
showSummary: false
tags: [crypto]
searchHidden: true
showPagination: false
---
## Address
```txt
0xc4cBDf9f57cb0229d19d885D5E4033a6223EDef7
```
## QR
![ETH](/eth.png)
## ENS
```txt
jankremer.eu
```
## OpenSea
[Echinacea](https://opensea.io/Echinacea)

3
content/micro/_index.md Normal file
View file

@ -0,0 +1,3 @@
---
title: Microblog
---

View file

@ -0,0 +1,15 @@
---
title: Markdown Tables Suck
date: 2023-12-25T16:28:52+01:00
tags:
- micro
showComments: false
---
Tables are arguably the worst part of Markdown.
No horizontal lines except for the mandatory one at the top.
The only feature is the possibility to align cells.
Org Mode does much better, but isn't perfect either.
Don't get me wrong. It's nice to have a simple tool for simple tables.
But sometimes I need more customizability.

6
content/micro/reader.md Normal file
View file

@ -0,0 +1,6 @@
---
title: Reader mode is the antidote to bad website design.
date: 2023-07-19T10:14:44+02:00
tags: [micro]
draft: false
---

View file

@ -0,0 +1,13 @@
#+TITLE: Use Timestamps
#+DATE: 2023-11-15T10:12:30+01:00
#+TAGS[]: micro
Every blog post should include a timestamp.
In fact, this extends to almost anything online and even offline.
Also, don't make me look for the date.
Put the date as obvious as possible, preferably at the beginning of the post.
I was reading [[https://jvns.ca/blog/2023/02/28/some-notes-on-using-nix/][Julia Evans post about nix]] and it was not immediately clear to me if this was a recent post.
Only when I copied the URL to complain about it I discovered the date there.
Safari hides most of the URL by default.

6
content/micro/twitter.md Normal file
View file

@ -0,0 +1,6 @@
---
title: Stop using Twitter.
date: 2023-07-22T15:57:59+02:00
tags: [micro]
draft: false
---

28
content/now.md Normal file
View file

@ -0,0 +1,28 @@
---
title: What I'm currently doing
date: 2023-12-30T08:34:14+01:00
showDate: false
showSummary: false
showPagination: false
description: "Nobody ever asked me what I'm currently doing, but I decided to tell you anyway."
tags:
- meta
---
## Learning
- Pharmazeutische Technologie
## Reading
- Kaffee und Zigaretten Ferdinand von Schirach
## Watching
- Germany's next topmodel
- Rosins Restaurants
- Batman The animated series
- Band of Brothers
## Listening
- Kölsche Karnevalsmusik (yeah I know Karneval is over)

3
content/photos/_index.md Normal file
View file

@ -0,0 +1,3 @@
---
title: Fotos
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

View file

@ -0,0 +1,9 @@
---
title: Evening Cloud
date: 2023-07-19T10:48:33+02:00
description: "Evening cloud over Regensburg."
tags: [fotos, regensburg]
thumbnail: "evening-cloud.webp"
draft: false
---
![Evening cloud over Regensburg.](evening-cloud.webp)

31
content/uses.md Normal file
View file

@ -0,0 +1,31 @@
---
title: What I use
date: 2023-12-30T08:03:20+01:00
showDate: false
showTOC: false
showPagination: false
description: "Nobody ever asked me what I'm currently using, but I decided to tell you anyway."
tags:
- meta
---
## Hardware
- MacBook Pro 2015
- iPhone X
- Apple Watch SE
- AirPods Pro
- Logitech MX Master 3 (rarely)
## Software
| Category | Software |
| ----------------------- | -------------------------------------------------------------- |
| Unless otherwise stated | Apple default apps |
| RSS reader | [NetNewsWire](https://netnewswire.com) |
| Notes | [Obsidian](https://obsidian.md) |
| To-Do list | [Things](https://culturedcode.com/things) |
| Text editor | [Neovim](https://neovim.io), [Helix](https://helix-editor.com) |
| Word processing | [Typst](https://typst.app) |
| Window manager | [Amethyst](https://github.com/ianyh/Amethyst) |
| Terminal emulator | [Kitty](https://sw.kovidgoyal.net/kitty) |
| Package manager | [Nix](https://nixos.org), [Homebrew](https://brew.sh) |

30
content/xmr.md Normal file
View file

@ -0,0 +1,30 @@
---
title: Monero
date: 2022-12-10
showDate: false
showDateUpdated: false
draft: false
showSummary: false
tags: [crypto]
searchHidden: true
showPagination: false
---
## Address
```txt
83ZtE7cBnsyTmBb5A79aDm637mCKWKuhGZZ3ZaQvjmpA5qwL6sejWEcKQnXF5Qd3N4XNCp4fbouTi9kUi8vNgPrfDQaEBMZ
```
## QR
![XMR](/xmr.png)
## OpenAlias
```txt
jankremer.eu
````
```txt
xmr.jankremer.eu
````

61
flake.lock generated Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1710534455,
"narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9af9c1c87ed3e3ed271934cb896e0cdd33dae212",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

22
flake.nix Normal file
View file

@ -0,0 +1,22 @@
{
description = "Hugo website";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs =
{ nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells.default = pkgs.mkShell {
packages = [
pkgs.go
pkgs.hugo
];
};
}
);
}

31
hugo.toml Normal file
View file

@ -0,0 +1,31 @@
baseURL = 'https://jankremer.eu/'
languageCode = 'de'
title = 'Jan Kremer'
[[menus.main]]
name = 'Home'
pageRef = '/'
weight = 10
[[menus.main]]
name = 'Blog'
pageRef = '/blog'
weight = 20
[[menus.main]]
name = 'Microblog'
pageRef = '/micro'
weight = 30
[[menus.main]]
name = 'Fotos'
pageRef = '/photos'
weight = 40
[[menus.main]]
name = 'Über mich'
pageRef = '/about'
weight = 50
[outputs]
home = ["HTML", "RSS", "JSON"]

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="{{ or site.Language.LanguageCode site.Language.Lang }}"
dir="{{ or site.Language.LanguageDirection `ltr` }}">
<head>
{{ partial "head.html" . }}
</head>
<body>
<header>
{{ partial "header.html" . }}
</header>
<main>
{{ block "main" . }}{{ end }}
</main>
<footer>
{{ partial "footer.html" . }}
</footer>
</body>
</html>

View file

@ -0,0 +1,16 @@
{{ define "main" }}
{{ .Content }}
<h1>Neueste Beiträge</h1>
{{ $pages := .Paginate (where .Site.RegularPages "Type" "ne" "page") }}
{{ range $pages.Pages }}
<div class="list">
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateHuman := .Date | time.Format "2006-01-02" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
<p class="lead">{{ .Description }}</p>
</div>
{{ end }}
{{ end }}

View file

@ -0,0 +1,14 @@
{{ define "main" }}
{{ .Content }}
{{ range .Pages }}
<div class="list">
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateHuman := .Date | time.Format "2006-01-02" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
<p class="lead">{{ .Description }}</p>
</div>
{{ end }}
{{ end }}

40
layouts/_default/rss.xml Normal file
View file

@ -0,0 +1,40 @@
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPages -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
{{- printf "<?xml-stylesheet href=\"/rss.xsl\" type=\"text/xsl\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
<generator>Hugo -- gohugo.io</generator>
<language>{{ site.Language.LanguageCode }}</language>{{ with .Site.Author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "2006-01-02 15:04" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" -}}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end -}}
{{ range $pages }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "2006-01-02 15:04" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>
<description>{{ .Content | html }}</description>
</item>
{{ end }}
</channel>
</rss>

View file

@ -0,0 +1,15 @@
{{ define "main" }}
<article>
{{ $dateMachine := .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateHuman := .Lastmod | time.Format "2006-01-02" }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
<br>
<h1>{{ .Title }}</h1>
<p class="lead">{{ .Description }}</p>
{{ .Content }}
</article>
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
{{ end }}

View file

@ -0,0 +1,3 @@
{{ if hugo.IsProduction }}
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
{{ end }}

View file

@ -0,0 +1,12 @@
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
<div id="comment-section"></div>
<script>
initComments({
node: document.getElementById("comment-section"),
defaultHomeserverUrl: "https://matrix.cactus.chat:8448",
serverName: "cactus.chat",
siteName: "jankremer",
commentSectionId: "{{ index .Params 0 }}"
})
</script>

View file

@ -0,0 +1,2 @@
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; {{ site.Title }} &emsp;
&emsp; 2021{{ now.Year }}</p>

View file

@ -0,0 +1,6 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
{{ partialCached "head/css.html" . }}
{{ partialCached "head/js.html" . }}
{{ partial "analytics.html" . }}

View file

@ -0,0 +1,9 @@
{{- with resources.Get "css/main.css" }}
{{- if eq hugo.Environment "development" }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,12 @@
{{- with resources.Get "js/main.js" }}
{{- if eq hugo.Environment "development" }}
{{- with . | js.Build }}
<script src="{{ .RelPermalink }}"></script>
{{- end }}
{{- else }}
{{- $opts := dict "minify" true }}
{{- with . | js.Build $opts | fingerprint }}
<script src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script>
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,2 @@
<h1 class="title"><a href="/">{{ site.Title }}</a></h1>
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}

View file

@ -0,0 +1,51 @@
{{- /*
Renders a menu for the given menu ID.
@context {page} page The current page.
@context {string} menuID The menu ID.
@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
*/}}
{{- $page := .page }}
{{- $menuID := .menuID }}
{{- with index site.Menus $menuID }}
<nav>
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
</nav>
{{- end }}
{{- define "partials/inline/menu/walk.html" }}
{{- $page := .page }}
{{- range .menuEntries }}
{{- $attrs := dict "href" .URL }}
{{- if $page.IsMenuCurrent .Menu . }}
{{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
{{- else if $page.HasMenuCurrent .Menu .}}
{{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
{{- end }}
{{- $name := .Name }}
{{- with .Identifier }}
{{- with T . }}
{{- $name = . }}
{{- end }}
{{- end }}
<li>
<a
{{- range $k, $v := $attrs }}
{{- with $v }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end }}
{{- end -}}
>{{ $name }}</a>
{{- with .Children }}
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
{{- end }}
</li>
{{- end }}
{{- end }}

View file

@ -0,0 +1,23 @@
{{- /*
For a given taxonomy, renders a list of terms assigned to the page.
@context {page} page The current page.
@context {string} taxonomy The taxonony.
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
*/}}
{{- $page := .page }}
{{- $taxonomy := .taxonomy }}
{{- with $page.GetTerms $taxonomy }}
{{- $label := (index . 0).Parent.LinkTitle }}
<hr>
<div class="tags">
<ul>
{{- range . }}
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
</div>
{{- end }}

79
public/about/index.html Normal file
View file

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Über mich | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a aria-current="page" class="active" href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2022-12-10T00:00:00&#43;00:00">2022-12-10</time>
<br>
<h1>Über mich</h1>
<p class="lead"></p>
<p>Mein Name ist Jan Kremer. Ich bin 27 Jahre alt und studiere Pharmazie an der Uni Regensburg. Manchmal schreibe ich über Technik und Software <a href="/uses">die ich benutze</a> oder <a href="/now">was ich gerade mache</a>.</p>
<p>Wenn ich nicht gerade lerne, mache ich gerne Sport, vor allem Joggen, Kraftsport und Skifahren.</p>
<h2 id="kontakt">Kontakt</h2>
<h3 id="matrix">Matrix</h3>
<p><a href="https://matrix.to/#/@jankremer:matrix.org">@jankremer:matrix.org</a></p>
<h2 id="ipfs">IPFS</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>QmfPgBDRMVsAcdZuK26v5fxGBcUixyYqeibArBf5YYguz2
</span></span></code></pre></div>
</article>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
public/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Geheime Botschaften Simon Singh | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2023-09-09T00:00:00&#43;00:00">2023-09-09</time>
<br>
<h1>Geheime Botschaften Simon Singh</h1>
<p class="lead">Buchvorstellung</p>
<p>Ich las vor kurzem das Buch <em>Geheime Botschaften. Die Kunst der Verschlüsselung von der Antike bis in die Zeiten des Internet</em><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> von <a href="https://simonsingh.net">Simon Singh</a>.
Es stellt eine Einführung in die Geschichte der Verschlüsselung dar und ist für jeden, den das Thema interessiert, äußerst empfehlenswert.
Daneben geht der Autor auch auf die &ldquo;Entschlüsselung&rdquo; antiker Sprachen wie der <a href="https://de.wikipedia.org/wiki/Hieroglyphen">Hieroglyphen</a> und Schriften wie <a href="https://de.wikipedia.org/wiki/Linearschrift_B">Linear B</a> ein.</p>
<p>In den letzten Kapiteln des Buchs erklärt Singh zudem &ldquo;moderne&rdquo; Verschlüsselungsmethoden wie <a href="https://de.wikipedia.org/wiki/RSA-Kryptosystem">RSA</a> und den <a href="https://de.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch">Diffie-Hellmann-Schlüsselaustausch</a>.
Nur leider zeigt sich hier deutlich, dass das Buch bereit 1999 publiziert wurde und somit die letzten 24 Jahre der Kryptographie nicht erwähnt werden konnten.
Dadurch finden sich Themen wie zum Beispiel das <a href="https://www.signal.org/docs/">Signal-Protokoll</a>, die damit einhergehende massive Verbreitung starker Verschlüsselung und Krypto-Währungen hier nicht wieder.</p>
<p>Zum Glück kann man vieles davon selbst im Internet recherchieren.</p>
<p>Update: Signal wird in Zukunft <a href="https://signal.org/blog/pqxdh">quantumresistente Verschlüsselung</a> benutzen.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Originaltitel: <em>The Code Book. The Science of Secrecy from Ancient Egypt to Quantum Cryptography</em>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/b%C3%BCcher/">Bücher</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

View file

@ -0,0 +1,84 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Genesis | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2022-12-10T00:00:00&#43;00:00">2022-12-10</time>
<br>
<h1>Genesis</h1>
<p class="lead">Über das Erstellen einer Webseite.</p>
<p>Als ich vor ca. einem Jahr diese Domain kaufte, wusste ich noch nicht was ich damit anstellen will. Ich wusste nur: <strong>Ich will endlich eine eigene Webseite haben.</strong></p>
<p>In meinen ersten Stunden Informatik in der Schule (vor über 10 Jahren) lernten wir die Grundlagen des Webdesigns mit <em>HTML</em> und <em>CSS</em>, und da ich zunächst nicht viel Zeit hatte erstellte ich genau mit diesen Tools eine kleine Startseite. Mehr schlecht als recht aber immerhin hatte ich etwas.</p>
<p>Im März diesen Jahres hatte ich dann ein wenig Zeit mich genauer mit dem Thema zu beschäftigen und fand dabei den sogenannten <a href="https://jamstack.org">Jamstack</a>. Jamstack sind Tools zur schnellen und einfachen Aufstellen von Webseite. Dies können große Projekte sein oder wie in meinem Fall ein kleiner Blog. Zuerst probierte ich <a href="https://jekyllrb.com/">Jekyll</a> was mir jedoch nicht so gut taugte und stieß dann auf <a href="https://gohugo.io/">Hugo</a>. Mit einer Vielzahl an modernen Designs und einer klinderleichten Handhaben konnte ich schnell überzeugt werden.</p>
<p>Heute weiß ich zwar immer noch nicht, was ich hiermit in Zukunft machen werde, aber ich denke es ist wichtiger den je ein Sprachrohr zu haben, das unabhängig ist von der Willkür großer Plattformen.</p>
<p>Bis bald und viel Spaß!</p>
<p>P.S.: Dieses wunderschöne <em>Theme</em>, das ich hier benutze, heißt <a href="https://git.io/hugo-congo">Congo</a>.</p>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/meta/">Meta</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

View file

@ -0,0 +1,98 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Deploy a website using Git | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2023-09-25T00:00:00&#43;00:00">2023-09-25</time>
<br>
<h1>Deploy a website using Git</h1>
<p class="lead"></p>
<h2 id="git-ftp">Git-ftp</h2>
<p>I tested a lot of different FTP programs including GUIs, TUIs and CLIs.
There might be a problem with the FTP server but I don&rsquo;t control that unfortunately.
The only program working flawlessly so far is <a href="https://git-ftp.github.io/">git-ftp</a>, a plugin for Git.
Not only is this perfectly integrated into git, which I am using anyway.
Also no errors occurred so far.
Plus I can automate the upload using <a href="#git-hooks">hooks</a>.</p>
<h2 id="git-hooks">Git hooks</h2>
<p>The real MVP however is <a href="https://git-scm.com/docs/githooks">Git Hooks</a>.
Hooks are scripts that run automatically on certain Git events.</p>
<p>I did, for example, create a hook to automacally build the website after commiting a change.
Yes, this could introduce problems such as breaking changes and I end up with a broken website, but as I test it regularly this should not become a problem.</p>
<p>The second hook I created pushes the website to the FTP server whenever I push to the remote repository.</p>
<h2 id="git-submodule">Git submodule</h2>
<p>I recently discovered that I can use <code>git submodule</code> to add the <code>public</code> folder created by Hugo.
This allows me to upload the repository to my pages repository on Codeberg and have the site mirrored there.
Secoundly, it allows me to upload the website with git-ftp without uploading everything else.</p>
<hr>
<p>What awesome features of Git are you using?</p>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/meta/">Meta</a></li>
<li><a href="/tags/git/">Git</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

114
public/blog/git/index.html Normal file
View file

@ -0,0 +1,114 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>git | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2023-03-22T16:47:15&#43;01:00">2023-03-22</time>
<br>
<h1>git</h1>
<p class="lead">Warum jeder git lernen sollte.</p>
<p>Ursprünglich sollte es in diesem Post um <a href="https://git-scm.com">git</a>, jedoch ist mir bei Brainstorming aufgefallen, dass das Thema eigentlich deutlich umfangreicher sein sollte.</p>
<p>Meine Reise begann, als ich beschloss, diesen Blog zu starten.
Da ich bis dahin Webseiten nur in reinem HTML und CSS geschrieben hatte, versuchte ich es zunächst damit.
Schnell stellten sich dabei aber mehrere Probleme heraus:</p>
<ol>
<li>Ich bin nicht gut in CSS.</li>
<li>Einen RSS-Feed von Hand zu erstellen ist umständlich und nicht sinnvoll.</li>
<li>Mehrere Seiten mit einheitlichem Design in HTML zu schreiben ist kompliziert.</li>
<li>Ich mag die HTML Syntax nicht.</li>
</ol>
<p>Ich war überzeugt, dass ich eine bessere Lösung dafür brauche.
Nach kurzer und intensiver Recherche fand ich heraus, dass die Lösung meine Problems <em>&ldquo;static site generator&rdquo;</em> heißt.
Darüber hatte ich bereits <a href="/blog/genesis">hier</a> geschrieben.</p>
<p>Im Zuge dessen lernte ich auch <em>git</em> kennen.
Ich hatte zwar schon früher von <em>git</em> gehört, bis dato aber nur zum herunterladen von Software benutzt.
Und damit sind wir schon im Kern meines Problems gelandet:</p>
<h2 id="warum-kannte-ich-git-nicht">Warum kannte ich <em>git</em> nicht?</h2>
<p>Meine ersten Erfahrungen mit dem Programmieren machte ich damals in der Schule, angefangen mit HTML und CSS, später mit Python und Java.
Aber ohne <em>git</em>.
An der Uni (4 Semester Wirtschaftsinformatik) ging es dann weiter mit Java, aber weiterhin ohne <em>git</em>.</p>
<p>Erst beim erstellen dieses Blogs kam ich auf die Idee mich mal ein wenig mit <a href="https://de.wikipedia.org/wiki/Versionsverwaltung">Versionsverwaltung</a> auseinander zu setzen.
Und seitdem bin ich verliebt.</p>
<p>Inzwischen denke ich, dass jeder von <em>git</em> profitieren könnte.
Das einfache Zurückspringen zu früheren Versionen, falls mal was kaputt geht, oder das Auslagern und Zusammenführen von <em>Branches</em> sind einfach großartig.
Zudem ermutigt wird man ermutigt, an logisch sinnvollen Stellen zu <em>commiten</em> und somit den bisherigen Stand zu speichern.</p>
<p>Es wäre meiner Meinung nach auch sinnvoll, Texte, wie zum Beispiel Projektarbeiten, nicht in <em>Microsoft Word</em> zu verfassen sondern besser in Textdokumenten und diese dann mit <em>git</em> zu verwalten und zusammenzufügen (merge).
Diese könnten dann ganz leicht in <a href="/blog/latex">LaTeX-Dokumente</a> umgewandelt werden oder auch in <em>Word</em> formatiert werden.
Darüber hinaus würde dies den Autoren die Möglichkeit geben, einen Texteditor der Wahl zu nutzen.
Gerade auf älteren Maschinen, wie meinem <em>MacBook Pro</em> von 2015 braucht <em>Word</em> inzwischen einiges an Ressourcen.
Dies könnte aber auch damit zusammen hängen, dass <em>Word</em> auf meinem Computer stolze 2.3 GB schwer ist.
Zum Vergleich: Das <strong>gesamte</strong> <em>LibreOffice</em> braucht keine 800 MB.</p>
<p>Ich verstehe auch, dass nicht jeder auf der Kommandozeile zu Hause ist, jedoch gibt es ja auch Tools wie GitHub oder Programme mit grafischer Oberfläche, es sollte also für jeden was dabei sein.</p>
<p>Ich kratze hier gerade mal an der Oberfläche der Möglichkeiten, das meiste ist mir selbst noch nicht bekannt.
Ich kann nur jedem, der <em>git</em> noch nicht nutzt es nur wärmstens empfehlen, es mal auszuprobieren.
Schaden kann es nicht!</p>
<p>P.S.: Ja ich weiß, <em>git</em> ist kein Geheimtipp.</p>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/git/">Git</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

View file

@ -0,0 +1,109 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>12 cent blog | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2023-08-27T00:00:00&#43;00:00">2023-08-27</time>
<br>
<h1>12 cent blog</h1>
<p class="lead">Hosting a website at (almost) no cost.</p>
<p>Yes, the title is correct.
<a href="https://knowyourmeme.com/photos/1191035">Well, actually</a> it is 0.119 € per
month or 14.28 € for 10 years.</p>
<p>To be fair, it was a special offer and only covers the domain.
Fortunately, my provider, <a href="https://www.netim.com/en">Netim</a> has a free hosting plan with fits my needs.
I even get email hosting with my own domain.
There are also services like <a href="https://neocities.org">Neocities</a> where you can host your website for free if you are willing to live with a subdomain.</p>
<h2 id="why-should-i-xyz-is-free">Why should I? XYZ is free!</h2>
<p>Yes, you can post wherever you want.
𝕏 (formerly known as Twitter) is free<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, Mastodon is free, Facebook, Instagram, Threads, Reddit, you name them, are all free, but you are giving up your freedoms.
Mastodon might be a little better than the rest, but ultimately you depend on the host to let you post there.
And they can block you and delete all your data without even giving you any notice.
I hope you have a backup.</p>
<p>Hosting this blog allows me to write whatever I want.
Sure, Netim could also block me and delete my data, but since I use <a href="https://gohugo.io">Hugo</a> I always have everything backed up on my system anyways.
In a matter of hours I could be up and running on another hosting provider.</p>
<p>I can also use any format I want and have nearly endless possibilities to customize my blog.
The sky is the limit.
For example am I hosting my own <a href="/fotos">photos</a> instead of using Instagram and my own <a href="/micro">microblog</a> instead of using Twitter/Mastodon.
Whatever media I plan to share in the future, there is a solution out there.
Want comments? I&rsquo;m trying <a href="https://cactus.chat">Cactus Comments</a> at the moment.</p>
<p>Let me know what you think!</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Or is it? I&rsquo;m not in the loop.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/meta/">Meta</a></li>
<li><a href="/tags/money/">Money</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

140
public/blog/index.html Normal file
View file

@ -0,0 +1,140 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Blog | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="page" class="active" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<div class="list">
<time datetime="2024-03-14T00:00:00&#43;00:00">2024-03-14</time>
<h2><a href="/blog/nix/">Nix on macOS</a></h2>
<p class="lead">Moving from Homebrew to Nix. Mostly.</p>
</div>
<div class="list">
<time datetime="2023-09-25T00:00:00&#43;00:00">2023-09-25</time>
<h2><a href="/blog/git-deploy/">Deploy a website using Git</a></h2>
<p class="lead"></p>
</div>
<div class="list">
<time datetime="2023-09-09T00:00:00&#43;00:00">2023-09-09</time>
<h2><a href="/blog/geheime-botschaften/">Geheime Botschaften Simon Singh</a></h2>
<p class="lead">Buchvorstellung</p>
</div>
<div class="list">
<time datetime="2023-09-01T00:00:00&#43;00:00">2023-09-01</time>
<h2><a href="/blog/rss/">RSS</a></h2>
<p class="lead">Feeds without fuzz.</p>
</div>
<div class="list">
<time datetime="2023-08-27T00:00:00&#43;00:00">2023-08-27</time>
<h2><a href="/blog/hosting/">12 cent blog</a></h2>
<p class="lead">Hosting a website at (almost) no cost.</p>
</div>
<div class="list">
<time datetime="2023-03-22T16:47:15&#43;01:00">2023-03-22</time>
<h2><a href="/blog/git/">git</a></h2>
<p class="lead">Warum jeder git lernen sollte.</p>
</div>
<div class="list">
<time datetime="2023-01-12T15:35:23&#43;01:00">2023-01-12</time>
<h2><a href="/blog/latex/">LaTeX</a></h2>
<p class="lead">Wie ich Word durch LaTeX ersetzte.</p>
</div>
<div class="list">
<time datetime="2022-12-10T00:00:00&#43;00:00">2022-12-10</time>
<h2><a href="/blog/genesis/">Genesis</a></h2>
<p class="lead">Über das Erstellen einer Webseite.</p>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

282
public/blog/index.xml Normal file
View file

@ -0,0 +1,282 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Blog on Jan Kremer</title>
<link>https://jankremer.eu/blog/</link>
<description>Recent content in Blog on Jan Kremer</description>
<generator>Hugo -- gohugo.io</generator>
<language>de</language>
<lastBuildDate>2022-12-10 00:00</lastBuildDate><atom:link href="https://jankremer.eu/blog/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Nix on macOS</title>
<link>https://jankremer.eu/blog/nix/</link>
<pubDate>2024-03-14 00:00</pubDate>
<guid>https://jankremer.eu/blog/nix/</guid>
<description>&lt;p&gt;For about a year, I&amp;rsquo;ve been fascinated by &lt;a href=&#34;https://nixos.org&#34;&gt;Nix and NixOS&lt;/a&gt;. I don&amp;rsquo;t remember exactly what fascinated me at first, probably the possibility to setup and configure my system using a single file. A few weeks ago, I decided to give it a serious try.&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;p&gt;To be honest this is not my first time installing Nix on my machine. I tried the official Nix installer and the &amp;ldquo;old&amp;rdquo; way to use Nix which is basically the same as any other package manager. I didn&amp;rsquo;t see the point of having two package managers so I uninstalled Nix quickly after.&lt;/p&gt;
&lt;p&gt;Then, a few weeks ago, I came across &lt;a href=&#34;https://nixcademy.com/2024/01/15/nix-on-macos/&#34;&gt;this guide&lt;/a&gt; and it instantly clicked with me. Having a single file in which I declare my complete system and then have it set up in a few minutes without rebooting is just infinitely cool. In Nix, this feature is called &lt;em&gt;flake&lt;/em&gt;. The guide uses the &lt;a href=&#34;https://github.com/DeterminateSystems/nix-installer&#34;&gt;Determinate systems installer&lt;/a&gt; which sets up flakes by default. It also explains how to install Nix Darwin.&lt;/p&gt;
&lt;h2 id=&#34;nix-darwin&#34;&gt;Nix Darwin&lt;/h2&gt;
&lt;p&gt;Nix Darwin is a set of Nix modules that brings declarative configuration to macOS. It includes a bunch of options such as for the dock, Finder or the keyboard for example. It also gives the user basic configuration options for various programs. However I prefer to set up terminal based programs using &lt;a href=&#34;#home-manager&#34;&gt;Home Manager&lt;/a&gt; instead, because it supports even more programs.&lt;/p&gt;
&lt;p&gt;What I do use extensively is the &lt;a href=&#34;https://brew.sh/&#34;&gt;Homebrew&lt;/a&gt; module to install not only GUI (graphical user interface) apps from Homebrew, but also from the App Store.&lt;/p&gt;
&lt;h2 id=&#34;home-manager&#34;&gt;Home Manager&lt;/h2&gt;
&lt;p&gt;For everything else, from terminal based programs to their configuration, I use &lt;a href=&#34;https://github.com/nix-community/home-manager?tab=readme-ov-file&#34;&gt;Home Manager&lt;/a&gt;. It includes a huge set of modules and allows me to setup every non-GUI program in a declarative way. Still, sometimes you have to configure the &amp;ldquo;traditional way&amp;rdquo;, meaning in the original configuration language. But still, I much prefer this over my cluttered &lt;code&gt;.config&lt;/code&gt; directory.&lt;/p&gt;
&lt;h2 id=&#34;nixvim&#34;&gt;Nixvim&lt;/h2&gt;
&lt;p&gt;In the process of writing my Nix configuration, I became unsatisfied with my Neovim setup. I used to use &lt;a href=&#34;https://www.lazyvim.org&#34;&gt;LazyVim&lt;/a&gt; but it felt more and more bloated and slow on my 9 year old machine. For some time I used &lt;a href=&#34;https://helix-editor.com/&#34;&gt;Helix&lt;/a&gt; which has great defaults, such as language server protocol (LSP) and fuzzy finder integration. I really think Neovim should go in this direction. Unfortunately it lacks some features to make it my main editor, mostly support for &lt;a href=&#34;https://typst.app/&#34;&gt;Typst&lt;/a&gt; which is already added to the &lt;code&gt;master&lt;/code&gt; branch. It also lacks a plugin system, but given such great defaults, there isn&amp;rsquo;t that big of a need for it. Helix also features its own set of motions, and although I think they are not bad, maybe even better than Vim motions, the latter are so ubiquitously implemented that I would essentially use both all the time.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s when I saw a video by &lt;em&gt;ThePrimeagen&lt;/em&gt; in which he recommended &lt;a href=&#34;https://github.com/nvim-lua/kickstart.nvim/tree/master&#34;&gt;Kickstart&lt;/a&gt;, a minimal Neovim starter configuration mainly written by &lt;em&gt;TJ DeVries&lt;/em&gt;. It almost everything you need to get started and has insanely great documentation.&lt;/p&gt;
&lt;p&gt;The only thing that bothered me was the use of &lt;a href=&#34;https://github.com/williamboman/mason.nvim&#34;&gt;Mason&lt;/a&gt; as a LSP package manager. For some people this might be the best way to install LSPs, but I don&amp;rsquo;t understand why I would use a second package manager when I can just use Nix for everything. Helix has a list of supported LSPs and all you have to do is make sure they are in your &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Luckily, others already had the same issues and decided to write &lt;a href=&#34;https://github.com/nix-community/nixvim&#34;&gt;Nixvim&lt;/a&gt;. Nixvim is a NixOS / Nix Darwin / Home manager module that lets you configure Neovim (almost) entirely using Nix. It uses Nix as the plugin manager and has great defaults and documentation.&lt;/p&gt;
&lt;p&gt;I basically recreated Kickstart using Nixvim with some minor tweaks. It feels just as snappy as Helix and I love it.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;This is just the tip of the tip of the iceberg of what is possible with Nix. Next, I want to learn to write my own flakes to set up development environments. I should probably learn a bit of Nix language too. But to sum it up so far, I&amp;rsquo;m really happy and excited about this &amp;ldquo;new&amp;rdquo; way to manage my computer.&lt;/p&gt;
</description>
</item>
<item>
<title>Deploy a website using Git</title>
<link>https://jankremer.eu/blog/git-deploy/</link>
<pubDate>2023-09-25 00:00</pubDate>
<guid>https://jankremer.eu/blog/git-deploy/</guid>
<description>&lt;h2 id=&#34;git-ftp&#34;&gt;Git-ftp&lt;/h2&gt;
&lt;p&gt;I tested a lot of different FTP programs including GUIs, TUIs and CLIs.
There might be a problem with the FTP server but I don&amp;rsquo;t control that unfortunately.
The only program working flawlessly so far is &lt;a href=&#34;https://git-ftp.github.io/&#34;&gt;git-ftp&lt;/a&gt;, a plugin for Git.
Not only is this perfectly integrated into git, which I am using anyway.
Also no errors occurred so far.
Plus I can automate the upload using &lt;a href=&#34;#git-hooks&#34;&gt;hooks&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;git-hooks&#34;&gt;Git hooks&lt;/h2&gt;
&lt;p&gt;The real MVP however is &lt;a href=&#34;https://git-scm.com/docs/githooks&#34;&gt;Git Hooks&lt;/a&gt;.
Hooks are scripts that run automatically on certain Git events.&lt;/p&gt;
&lt;p&gt;I did, for example, create a hook to automacally build the website after commiting a change.
Yes, this could introduce problems such as breaking changes and I end up with a broken website, but as I test it regularly this should not become a problem.&lt;/p&gt;
&lt;p&gt;The second hook I created pushes the website to the FTP server whenever I push to the remote repository.&lt;/p&gt;
&lt;h2 id=&#34;git-submodule&#34;&gt;Git submodule&lt;/h2&gt;
&lt;p&gt;I recently discovered that I can use &lt;code&gt;git submodule&lt;/code&gt; to add the &lt;code&gt;public&lt;/code&gt; folder created by Hugo.
This allows me to upload the repository to my pages repository on Codeberg and have the site mirrored there.
Secoundly, it allows me to upload the website with git-ftp without uploading everything else.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;What awesome features of Git are you using?&lt;/p&gt;
</description>
</item>
<item>
<title>Geheime Botschaften Simon Singh</title>
<link>https://jankremer.eu/blog/geheime-botschaften/</link>
<pubDate>2023-09-09 00:00</pubDate>
<guid>https://jankremer.eu/blog/geheime-botschaften/</guid>
<description>&lt;p&gt;Ich las vor kurzem das Buch &lt;em&gt;Geheime Botschaften. Die Kunst der Verschlüsselung von der Antike bis in die Zeiten des Internet&lt;/em&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; von &lt;a href=&#34;https://simonsingh.net&#34;&gt;Simon Singh&lt;/a&gt;.
Es stellt eine Einführung in die Geschichte der Verschlüsselung dar und ist für jeden, den das Thema interessiert, äußerst empfehlenswert.
Daneben geht der Autor auch auf die &amp;ldquo;Entschlüsselung&amp;rdquo; antiker Sprachen wie der &lt;a href=&#34;https://de.wikipedia.org/wiki/Hieroglyphen&#34;&gt;Hieroglyphen&lt;/a&gt; und Schriften wie &lt;a href=&#34;https://de.wikipedia.org/wiki/Linearschrift_B&#34;&gt;Linear B&lt;/a&gt; ein.&lt;/p&gt;
&lt;p&gt;In den letzten Kapiteln des Buchs erklärt Singh zudem &amp;ldquo;moderne&amp;rdquo; Verschlüsselungsmethoden wie &lt;a href=&#34;https://de.wikipedia.org/wiki/RSA-Kryptosystem&#34;&gt;RSA&lt;/a&gt; und den &lt;a href=&#34;https://de.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch&#34;&gt;Diffie-Hellmann-Schlüsselaustausch&lt;/a&gt;.
Nur leider zeigt sich hier deutlich, dass das Buch bereit 1999 publiziert wurde und somit die letzten 24 Jahre der Kryptographie nicht erwähnt werden konnten.
Dadurch finden sich Themen wie zum Beispiel das &lt;a href=&#34;https://www.signal.org/docs/&#34;&gt;Signal-Protokoll&lt;/a&gt;, die damit einhergehende massive Verbreitung starker Verschlüsselung und Krypto-Währungen hier nicht wieder.&lt;/p&gt;
&lt;p&gt;Zum Glück kann man vieles davon selbst im Internet recherchieren.&lt;/p&gt;
&lt;p&gt;Update: Signal wird in Zukunft &lt;a href=&#34;https://signal.org/blog/pqxdh&#34;&gt;quantumresistente Verschlüsselung&lt;/a&gt; benutzen.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Originaltitel: &lt;em&gt;The Code Book. The Science of Secrecy from Ancient Egypt to Quantum Cryptography&lt;/em&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
</item>
<item>
<title>RSS</title>
<link>https://jankremer.eu/blog/rss/</link>
<pubDate>2023-09-01 00:00</pubDate>
<guid>https://jankremer.eu/blog/rss/</guid>
<description>&lt;h2 id=&#34;what-is-rss&#34;&gt;What is RSS?&lt;/h2&gt;
&lt;p&gt;Originally, RSS stood for &amp;ldquo;RDF/Rich Site Summary&amp;rdquo; but was later changed to &amp;ldquo;Really Simple Syndication&amp;rdquo;&lt;/p&gt;
&lt;p&gt;RSS is a way to subscribe to a website.
Whenever that website updates it writes its changes to a &lt;code&gt;XML&lt;/code&gt; file.
You can then read this XML file and see what changed at a glance.&lt;/p&gt;
&lt;p&gt;Many websites use RSS including YouTube, &lt;del&gt;Reddit&lt;/del&gt; Lemmy, &lt;del&gt;Twitter&lt;/del&gt; Mastodon, most news sites, and almost any blog out there.
For many blogs, RSS is the main way to distribute new posts.&lt;/p&gt;
&lt;p&gt;RSS is experiencing a Renaissance at the moment:
Many people are now seeing the damages done by algorithmic feeds and want to go back to purely chronological feeds.
RSS provides a perfect infrastructure for this.&lt;/p&gt;
&lt;h2 id=&#34;how-to-read-rss&#34;&gt;How to read RSS?&lt;/h2&gt;
&lt;p&gt;First, you need a feed reader. On macOS and iOS I highly recommend &lt;a href=&#34;https://netnewswire.com&#34;&gt;NetNewsWire&lt;/a&gt;.
For terminal fans &lt;a href=&#34;https://newsboat.org&#34;&gt;Newsboat&lt;/a&gt; is the way to go.
&lt;a href=&#34;https://www.thunderbird.net/&#34;&gt;Thunderbird&lt;/a&gt; is also a good choice but there are tons of programs that can read RSS feeds.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s bascially it. Now you need to add some feeds and you are ready.&lt;/p&gt;
&lt;p&gt;I recommend picking a reader that can also fetch the article without opening the browser and loading a ton of ads.&lt;/p&gt;
&lt;p&gt;Pro tip: You can export your subscibtions to a &lt;code&gt;OPML&lt;/code&gt; file and import them into any RSS reader.&lt;/p&gt;
&lt;h2 id=&#34;how-to-distribute-rss&#34;&gt;How to distribute RSS?&lt;/h2&gt;
&lt;p&gt;This is the hardest question to answer about RSS as there are endless possibilities.&lt;/p&gt;
&lt;p&gt;The easiest way would probably be to use a service such as Mastodon that generates the feed automatically.
If that platform isn&amp;rsquo;t for you, WordPress is a good way to host a blog.
I read about people setting up their own scripts that automatically update the feed for new posts.&lt;/p&gt;
&lt;p&gt;I use &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt; which is a &lt;em&gt;static site generator&lt;/em&gt;.
It generates feeds automatically but lies somewhere between WordPress and writing your own scripts in terms of how tech savvy you should be.&lt;/p&gt;
&lt;h2 id=&#34;how-to-find-rss&#34;&gt;How to find RSS?&lt;/h2&gt;
&lt;p&gt;Go to a website you like, copy the URL and paste it into your RSS reader.
Modern feed readers can find RSS feed on their own, you just have to provide a link to the site you want to subscribe to.
If that is not the case, you could try adding &lt;code&gt;/index.xml&lt;/code&gt; to the URL.&lt;/p&gt;
&lt;p&gt;Some sites, like this one, also link to their RSS feeds.
Often those links are a the bottom of the website and are either marked as &lt;code&gt;RSS&lt;/code&gt;, &lt;code&gt;Feed&lt;/code&gt;, or just use the RSS logo.
I additionally provide links to my subprojects such as my &lt;a href=&#34;https://jankremer.eu/micro&#34;&gt;microblog&lt;/a&gt; or my &lt;a href=&#34;https://jankremer.eu/fotos&#34;&gt;photos&lt;/a&gt;.
Feel free to add them to your reader.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I think RSS is on the rise.
It&amp;rsquo;s an old protocol that survived numerous challenges
It provides an escape from the algorithms and large social media companies.
It also provides a way for content creators to distribute their content on their own without any middleman.&lt;/p&gt;
</description>
</item>
<item>
<title>12 cent blog</title>
<link>https://jankremer.eu/blog/hosting/</link>
<pubDate>2023-08-27 00:00</pubDate>
<guid>https://jankremer.eu/blog/hosting/</guid>
<description>&lt;p&gt;Yes, the title is correct.
&lt;a href=&#34;https://knowyourmeme.com/photos/1191035&#34;&gt;Well, actually&lt;/a&gt; it is 0.119 € per
month or 14.28 € for 10 years.&lt;/p&gt;
&lt;p&gt;To be fair, it was a special offer and only covers the domain.
Fortunately, my provider, &lt;a href=&#34;https://www.netim.com/en&#34;&gt;Netim&lt;/a&gt; has a free hosting plan with fits my needs.
I even get email hosting with my own domain.
There are also services like &lt;a href=&#34;https://neocities.org&#34;&gt;Neocities&lt;/a&gt; where you can host your website for free if you are willing to live with a subdomain.&lt;/p&gt;
&lt;h2 id=&#34;why-should-i-xyz-is-free&#34;&gt;Why should I? XYZ is free!&lt;/h2&gt;
&lt;p&gt;Yes, you can post wherever you want.
𝕏 (formerly known as Twitter) is free&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, Mastodon is free, Facebook, Instagram, Threads, Reddit, you name them, are all free, but you are giving up your freedoms.
Mastodon might be a little better than the rest, but ultimately you depend on the host to let you post there.
And they can block you and delete all your data without even giving you any notice.
I hope you have a backup.&lt;/p&gt;
&lt;p&gt;Hosting this blog allows me to write whatever I want.
Sure, Netim could also block me and delete my data, but since I use &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt; I always have everything backed up on my system anyways.
In a matter of hours I could be up and running on another hosting provider.&lt;/p&gt;
&lt;p&gt;I can also use any format I want and have nearly endless possibilities to customize my blog.
The sky is the limit.
For example am I hosting my own &lt;a href=&#34;https://jankremer.eu/fotos&#34;&gt;photos&lt;/a&gt; instead of using Instagram and my own &lt;a href=&#34;https://jankremer.eu/micro&#34;&gt;microblog&lt;/a&gt; instead of using Twitter/Mastodon.
Whatever media I plan to share in the future, there is a solution out there.
Want comments? I&amp;rsquo;m trying &lt;a href=&#34;https://cactus.chat&#34;&gt;Cactus Comments&lt;/a&gt; at the moment.&lt;/p&gt;
&lt;p&gt;Let me know what you think!&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Or is it? I&amp;rsquo;m not in the loop.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
</item>
<item>
<title>git</title>
<link>https://jankremer.eu/blog/git/</link>
<pubDate>2023-03-22 16:47</pubDate>
<guid>https://jankremer.eu/blog/git/</guid>
<description>&lt;p&gt;Ursprünglich sollte es in diesem Post um &lt;a href=&#34;https://git-scm.com&#34;&gt;git&lt;/a&gt;, jedoch ist mir bei Brainstorming aufgefallen, dass das Thema eigentlich deutlich umfangreicher sein sollte.&lt;/p&gt;
&lt;p&gt;Meine Reise begann, als ich beschloss, diesen Blog zu starten.
Da ich bis dahin Webseiten nur in reinem HTML und CSS geschrieben hatte, versuchte ich es zunächst damit.
Schnell stellten sich dabei aber mehrere Probleme heraus:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ich bin nicht gut in CSS.&lt;/li&gt;
&lt;li&gt;Einen RSS-Feed von Hand zu erstellen ist umständlich und nicht sinnvoll.&lt;/li&gt;
&lt;li&gt;Mehrere Seiten mit einheitlichem Design in HTML zu schreiben ist kompliziert.&lt;/li&gt;
&lt;li&gt;Ich mag die HTML Syntax nicht.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ich war überzeugt, dass ich eine bessere Lösung dafür brauche.
Nach kurzer und intensiver Recherche fand ich heraus, dass die Lösung meine Problems &lt;em&gt;&amp;ldquo;static site generator&amp;rdquo;&lt;/em&gt; heißt.
Darüber hatte ich bereits &lt;a href=&#34;https://jankremer.eu/blog/genesis&#34;&gt;hier&lt;/a&gt; geschrieben.&lt;/p&gt;
&lt;p&gt;Im Zuge dessen lernte ich auch &lt;em&gt;git&lt;/em&gt; kennen.
Ich hatte zwar schon früher von &lt;em&gt;git&lt;/em&gt; gehört, bis dato aber nur zum herunterladen von Software benutzt.
Und damit sind wir schon im Kern meines Problems gelandet:&lt;/p&gt;
&lt;h2 id=&#34;warum-kannte-ich-git-nicht&#34;&gt;Warum kannte ich &lt;em&gt;git&lt;/em&gt; nicht?&lt;/h2&gt;
&lt;p&gt;Meine ersten Erfahrungen mit dem Programmieren machte ich damals in der Schule, angefangen mit HTML und CSS, später mit Python und Java.
Aber ohne &lt;em&gt;git&lt;/em&gt;.
An der Uni (4 Semester Wirtschaftsinformatik) ging es dann weiter mit Java, aber weiterhin ohne &lt;em&gt;git&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Erst beim erstellen dieses Blogs kam ich auf die Idee mich mal ein wenig mit &lt;a href=&#34;https://de.wikipedia.org/wiki/Versionsverwaltung&#34;&gt;Versionsverwaltung&lt;/a&gt; auseinander zu setzen.
Und seitdem bin ich verliebt.&lt;/p&gt;
&lt;p&gt;Inzwischen denke ich, dass jeder von &lt;em&gt;git&lt;/em&gt; profitieren könnte.
Das einfache Zurückspringen zu früheren Versionen, falls mal was kaputt geht, oder das Auslagern und Zusammenführen von &lt;em&gt;Branches&lt;/em&gt; sind einfach großartig.
Zudem ermutigt wird man ermutigt, an logisch sinnvollen Stellen zu &lt;em&gt;commiten&lt;/em&gt; und somit den bisherigen Stand zu speichern.&lt;/p&gt;
&lt;p&gt;Es wäre meiner Meinung nach auch sinnvoll, Texte, wie zum Beispiel Projektarbeiten, nicht in &lt;em&gt;Microsoft Word&lt;/em&gt; zu verfassen sondern besser in Textdokumenten und diese dann mit &lt;em&gt;git&lt;/em&gt; zu verwalten und zusammenzufügen (merge).
Diese könnten dann ganz leicht in &lt;a href=&#34;https://jankremer.eu/blog/latex&#34;&gt;LaTeX-Dokumente&lt;/a&gt; umgewandelt werden oder auch in &lt;em&gt;Word&lt;/em&gt; formatiert werden.
Darüber hinaus würde dies den Autoren die Möglichkeit geben, einen Texteditor der Wahl zu nutzen.
Gerade auf älteren Maschinen, wie meinem &lt;em&gt;MacBook Pro&lt;/em&gt; von 2015 braucht &lt;em&gt;Word&lt;/em&gt; inzwischen einiges an Ressourcen.
Dies könnte aber auch damit zusammen hängen, dass &lt;em&gt;Word&lt;/em&gt; auf meinem Computer stolze 2.3 GB schwer ist.
Zum Vergleich: Das &lt;strong&gt;gesamte&lt;/strong&gt; &lt;em&gt;LibreOffice&lt;/em&gt; braucht keine 800 MB.&lt;/p&gt;
&lt;p&gt;Ich verstehe auch, dass nicht jeder auf der Kommandozeile zu Hause ist, jedoch gibt es ja auch Tools wie GitHub oder Programme mit grafischer Oberfläche, es sollte also für jeden was dabei sein.&lt;/p&gt;
&lt;p&gt;Ich kratze hier gerade mal an der Oberfläche der Möglichkeiten, das meiste ist mir selbst noch nicht bekannt.
Ich kann nur jedem, der &lt;em&gt;git&lt;/em&gt; noch nicht nutzt es nur wärmstens empfehlen, es mal auszuprobieren.
Schaden kann es nicht!&lt;/p&gt;
&lt;p&gt;P.S.: Ja ich weiß, &lt;em&gt;git&lt;/em&gt; ist kein Geheimtipp.&lt;/p&gt;
</description>
</item>
<item>
<title>LaTeX</title>
<link>https://jankremer.eu/blog/latex/</link>
<pubDate>2023-01-12 15:35</pubDate>
<guid>https://jankremer.eu/blog/latex/</guid>
<description>&lt;p&gt;Im Rahmen meines Wahlpflichtpraktikums schreibe ich aktuell an meiner zweiten größeren Projektarbeit. Die einzige andere Projektarbeit war bisher die für das Praktikum Pharmazeutische Technologie, welche, Stand jetzt, noch nicht vollständig abgeschlossen ist.&lt;/p&gt;
&lt;p&gt;Für diese Arbeit entschieden wir uns jedoch für &lt;em&gt;Microsoft Word&lt;/em&gt;. Also im Grunde wurde uns diese Entscheidung fast abgenommen, da die Universität Regensburg uns das &lt;em&gt;Office 365&lt;/em&gt; zur Verfügung stellt und es damit auch bei uns Studenten den De-Facto-Standard darstellt. Zudem erleichtert es das Arbeiten im Team doch sehr.&lt;/p&gt;
&lt;p&gt;Formatierungen sind jedoch immer ein Kampf. Daher wollte ich versuchen, &lt;a href=&#34;https://www.latex-project.org&#34;&gt;LaTeX&lt;/a&gt; für diese Arbeit einzusetzen. Ich kannte &lt;em&gt;LaTeX&lt;/em&gt; vor allem aus mathematischen Kursen an der Uni und hatte schon oft gehört, dass es Setzen (von &lt;a href=&#34;https://de.wikipedia.org/wiki/Satz_(Druck)&#34;&gt;Satz&lt;/a&gt;) deutlich vereinfachen soll. Aber nicht nur das Schreiben mathematischer Arbeiten macht es deutlich angenehmer, durch das einbinden einiger zusätzlicher Pakete werden wissenschaftliche Texte zum Kinderspiel.&lt;/p&gt;
&lt;h2 id=&#34;über-latex&#34;&gt;Über LaTeX&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;LaTeX&lt;/strong&gt; [ˈlaːtɛç] ist ein Softwarepaket, das die Benutzung des Textsatzsystems TeX mit Hilfe von Makros vereinfacht. &lt;em&gt;LaTeX&lt;/em&gt; wurde Anfang der 1980er Jahre von &lt;em&gt;Leslie Lamport&lt;/em&gt; entwickelt.Der Name bedeutet so viel wie &lt;em&gt;Lamport TeX&lt;/em&gt;. Die Entwicklung wurde seit den 1990er Jahren von einer Anzahl Entwicklern weitergeführt. Heute ist &lt;em&gt;LaTeX&lt;/em&gt; die populärste Methode, &lt;em&gt;TeX&lt;/em&gt; zu verwenden.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;a href=&#34;https://de.wikipedia.org/wiki/LaTeX&#34;&gt;Wikipedia: LaTeX&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;LaTeX&lt;/em&gt; funktioniert ähnlich wie &lt;em&gt;HTML&lt;/em&gt; oder &lt;em&gt;Markdown&lt;/em&gt;: Zunächst wird die Formatierung von Text getrennt. Bei WYSIWYG&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;-Textverarbeitungsprogrammen wie &lt;em&gt;Word&lt;/em&gt; sieht man direkt, wie das gedruckte Dokument hinterher aussehen wird. Das macht es für viele Nutzer einfacher, zwingt sie aber auch dazu, sich direkt und unmittelbar mit der Formatierung zu beschäftigen. &lt;em&gt;LaTeX&lt;/em&gt; trennt dies zunächst, gibt aber dennoch eine übersichtliche Struktur vor. Zudem sind die Standard Formatvorlagen deutlich schlichter und zumindest für mich wesentlich ansprechender als die von &lt;em&gt;Word&lt;/em&gt; (Warum ist alles blau und wieso &lt;em&gt;Calibri&lt;/em&gt;?!). Ja, die Voreinstellungen von &lt;em&gt;Word&lt;/em&gt; lassen sich überschreiben, aber das muss man auch erstmal machen.&lt;/p&gt;
&lt;p&gt;Funktionen wie ein Inhalts- oder Literaturvrezeichnis lassen sich in &lt;em&gt;Word&lt;/em&gt; zwar auch realisieren, sind in &lt;em&gt;LaTeX&lt;/em&gt; wesentlich simpler. Zudem lässt sich &lt;em&gt;LaTeX&lt;/em&gt; durch Pakete nahezu unendlich erweitern und deckt dadruch auch jeden noch so speziellen Fall ab.&lt;/p&gt;
&lt;p&gt;Ein weiterer Punkt, warum ich &lt;em&gt;LaTeX&lt;/em&gt; bevorzuge ist, dass ich jeden Texteditor benutzen kann. Ich nutze am liebsten &lt;em&gt;VS Code&lt;/em&gt;, aber natürlich kann jeder beliebige Editor verwendet werden.&lt;/p&gt;
&lt;p&gt;Das einzige, was mit &lt;em&gt;Word&lt;/em&gt; sicher einfacher wäre ist das einbinden und beschriften von Grafiken. Da ich einige davor in meine Projektarbeit verwende, brauchte ich hierfür eine Lösung. Diese habe ich mit &lt;a href=&#34;https://inkscape.org/de/&#34;&gt;Inkscape&lt;/a&gt; gefunden. Hiermir lassen sich Bilder bearbeiten und beschriften und anschließend als &lt;em&gt;LaTeX&lt;/em&gt;-Dokument speichern. Diese lassen sich dann ganz einfach einbinden.&lt;/p&gt;
&lt;h2 id=&#34;fazit&#34;&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Für wen &lt;em&gt;Word&lt;/em&gt; und ähnliches schon immer eine Qual war oder wer Vorerfahrung mit Texteditoren und Skriptsprachen hat, dem kann ich &lt;em&gt;LaTeX&lt;/em&gt; nur ans Herz legen. Ganz einfach lassen sich wunderschöne Dokumente herzaubern. Vor allem der Font &lt;em&gt;Computer Modern&lt;/em&gt; hat es mir sehr angetan. Eventuell werde ich die Projektarbeit demnächst hier hochladen.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;technische-spezifikationen&#34;&gt;Technische Spezifikationen&lt;/h2&gt;
&lt;p&gt;Kurzer Nachtrag über meine Arbeitsweise mit &lt;em&gt;LaTeX&lt;/em&gt;: Als Texteditor benutze ich &lt;a href=&#34;https://code.visualstudio.com&#34;&gt;VS Code&lt;/a&gt;, da ich diesen super übersichtlich finde und vor allem die Erweiterungsmöglichkeiten sehr schätze. Für &lt;em&gt;LaTeX&lt;/em&gt; sind dies vor allem &lt;a href=&#34;https://github.com/James-Yu/LaTeX-Workshop&#34;&gt;LaTeX Workshop&lt;/a&gt; und natürlich &lt;a href=&#34;https://git-scm.com&#34;&gt;git&lt;/a&gt; (vorinstalliert). Des Weiteren benutze ich die &lt;a href=&#34;https://www.tug.org/mactex/&#34;&gt;MacTeX-Distribution&lt;/a&gt;, welche ich über &lt;a href=&#34;https://brew.sh&#34;&gt;Homebrew&lt;/a&gt; installiert habe.&lt;/p&gt;
&lt;h3 id=&#34;verwendete-pakete&#34;&gt;Verwendete Pakete&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;babel&lt;/strong&gt;: Sorgt für die Unterstützung verschiedener Sprachen. Ich schreibe die Projektarbeit zwar auf Englisch, jedoch brauche ich ab und zu mal Deutsche Begriffe und damiteinhergehend Umlaute etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;biblatex&lt;/strong&gt;: Verbessertes Literaturverzeichnis, alternative zu &lt;strong&gt;bibtex&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;booktabs&lt;/strong&gt;: Verschönert und vereinfacht Tabellen in &lt;em&gt;LaTeX&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;chemformula&lt;/strong&gt;: Erleichtert das Setzen von chemischen Formeln enorm und sorgt dafür, dass diese auch richtig angezeigt werden.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperref&lt;/strong&gt;: Für Links und Metadaten.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;longtable&lt;/strong&gt;: Die verwendeten Materialien habe ich alle in riesigen Listen. &lt;em&gt;LaTeX&lt;/em&gt; kann standardmäßig nicht besonders gut mit großen Tabellen umgehen, dieses Paket hilft dabei.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;microtype&lt;/strong&gt;: Lässt alles schöner aussehen, praktisch schwarze Magie.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;siunitx&lt;/strong&gt;: Das wahrscheinlich beste Paket überhaupt, simple aber hat Power. Sorgt für perfektes setzen von Einheiten, mit oder ohne vorangehenden Wert. Zudem enthält es eine Funktion, die Werte in Tabellen um den Dezimalpunkt anordnen kann. Ein Traum.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;textgreek&lt;/strong&gt;: Erleichtert das verwenden von griechischen Buchstaben im Text.&lt;/li&gt;
&lt;li&gt;Zusätzliche Pakete die ich an der Stelle nicht weiter erleutern werden: &lt;strong&gt;color&lt;/strong&gt;, &lt;strong&gt;csquotes&lt;/strong&gt;, &lt;strong&gt;fontenc&lt;/strong&gt;, &lt;strong&gt;glossaries&lt;/strong&gt;, &lt;strong&gt;graphicx&lt;/strong&gt;, &lt;strong&gt;tikz&lt;/strong&gt; und &lt;strong&gt;tocbibind&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;What you see is what you get.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
</item>
<item>
<title>Genesis</title>
<link>https://jankremer.eu/blog/genesis/</link>
<pubDate>2022-12-10 00:00</pubDate>
<guid>https://jankremer.eu/blog/genesis/</guid>
<description>&lt;p&gt;Als ich vor ca. einem Jahr diese Domain kaufte, wusste ich noch nicht was ich damit anstellen will. Ich wusste nur: &lt;strong&gt;Ich will endlich eine eigene Webseite haben.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In meinen ersten Stunden Informatik in der Schule (vor über 10 Jahren) lernten wir die Grundlagen des Webdesigns mit &lt;em&gt;HTML&lt;/em&gt; und &lt;em&gt;CSS&lt;/em&gt;, und da ich zunächst nicht viel Zeit hatte erstellte ich genau mit diesen Tools eine kleine Startseite. Mehr schlecht als recht aber immerhin hatte ich etwas.&lt;/p&gt;
&lt;p&gt;Im März diesen Jahres hatte ich dann ein wenig Zeit mich genauer mit dem Thema zu beschäftigen und fand dabei den sogenannten &lt;a href=&#34;https://jamstack.org&#34;&gt;Jamstack&lt;/a&gt;. Jamstack sind Tools zur schnellen und einfachen Aufstellen von Webseite. Dies können große Projekte sein oder wie in meinem Fall ein kleiner Blog. Zuerst probierte ich &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt; was mir jedoch nicht so gut taugte und stieß dann auf &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;. Mit einer Vielzahl an modernen Designs und einer klinderleichten Handhaben konnte ich schnell überzeugt werden.&lt;/p&gt;
&lt;p&gt;Heute weiß ich zwar immer noch nicht, was ich hiermit in Zukunft machen werde, aber ich denke es ist wichtiger den je ein Sprachrohr zu haben, das unabhängig ist von der Willkür großer Plattformen.&lt;/p&gt;
&lt;p&gt;Bis bald und viel Spaß!&lt;/p&gt;
&lt;p&gt;P.S.: Dieses wunderschöne &lt;em&gt;Theme&lt;/em&gt;, das ich hier benutze, heißt &lt;a href=&#34;https://git.io/hugo-congo&#34;&gt;Congo&lt;/a&gt;.&lt;/p&gt;
</description>
</item>
</channel>
</rss>

View file

@ -0,0 +1,118 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>LaTeX | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2023-01-12T15:35:23&#43;01:00">2023-01-12</time>
<br>
<h1>LaTeX</h1>
<p class="lead">Wie ich Word durch LaTeX ersetzte.</p>
<p>Im Rahmen meines Wahlpflichtpraktikums schreibe ich aktuell an meiner zweiten größeren Projektarbeit. Die einzige andere Projektarbeit war bisher die für das Praktikum Pharmazeutische Technologie, welche, Stand jetzt, noch nicht vollständig abgeschlossen ist.</p>
<p>Für diese Arbeit entschieden wir uns jedoch für <em>Microsoft Word</em>. Also im Grunde wurde uns diese Entscheidung fast abgenommen, da die Universität Regensburg uns das <em>Office 365</em> zur Verfügung stellt und es damit auch bei uns Studenten den De-Facto-Standard darstellt. Zudem erleichtert es das Arbeiten im Team doch sehr.</p>
<p>Formatierungen sind jedoch immer ein Kampf. Daher wollte ich versuchen, <a href="https://www.latex-project.org">LaTeX</a> für diese Arbeit einzusetzen. Ich kannte <em>LaTeX</em> vor allem aus mathematischen Kursen an der Uni und hatte schon oft gehört, dass es Setzen (von <a href="https://de.wikipedia.org/wiki/Satz_(Druck)">Satz</a>) deutlich vereinfachen soll. Aber nicht nur das Schreiben mathematischer Arbeiten macht es deutlich angenehmer, durch das einbinden einiger zusätzlicher Pakete werden wissenschaftliche Texte zum Kinderspiel.</p>
<h2 id="über-latex">Über LaTeX</h2>
<blockquote>
<p><strong>LaTeX</strong> [ˈlaːtɛç] ist ein Softwarepaket, das die Benutzung des Textsatzsystems TeX mit Hilfe von Makros vereinfacht. <em>LaTeX</em> wurde Anfang der 1980er Jahre von <em>Leslie Lamport</em> entwickelt.Der Name bedeutet so viel wie <em>Lamport TeX</em>. Die Entwicklung wurde seit den 1990er Jahren von einer Anzahl Entwicklern weitergeführt. Heute ist <em>LaTeX</em> die populärste Methode, <em>TeX</em> zu verwenden.</p>
</blockquote>
<p><!-- raw HTML omitted --><a href="https://de.wikipedia.org/wiki/LaTeX">Wikipedia: LaTeX</a><!-- raw HTML omitted --></p>
<p><em>LaTeX</em> funktioniert ähnlich wie <em>HTML</em> oder <em>Markdown</em>: Zunächst wird die Formatierung von Text getrennt. Bei WYSIWYG<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>-Textverarbeitungsprogrammen wie <em>Word</em> sieht man direkt, wie das gedruckte Dokument hinterher aussehen wird. Das macht es für viele Nutzer einfacher, zwingt sie aber auch dazu, sich direkt und unmittelbar mit der Formatierung zu beschäftigen. <em>LaTeX</em> trennt dies zunächst, gibt aber dennoch eine übersichtliche Struktur vor. Zudem sind die Standard Formatvorlagen deutlich schlichter und zumindest für mich wesentlich ansprechender als die von <em>Word</em> (Warum ist alles blau und wieso <em>Calibri</em>?!). Ja, die Voreinstellungen von <em>Word</em> lassen sich überschreiben, aber das muss man auch erstmal machen.</p>
<p>Funktionen wie ein Inhalts- oder Literaturvrezeichnis lassen sich in <em>Word</em> zwar auch realisieren, sind in <em>LaTeX</em> wesentlich simpler. Zudem lässt sich <em>LaTeX</em> durch Pakete nahezu unendlich erweitern und deckt dadruch auch jeden noch so speziellen Fall ab.</p>
<p>Ein weiterer Punkt, warum ich <em>LaTeX</em> bevorzuge ist, dass ich jeden Texteditor benutzen kann. Ich nutze am liebsten <em>VS Code</em>, aber natürlich kann jeder beliebige Editor verwendet werden.</p>
<p>Das einzige, was mit <em>Word</em> sicher einfacher wäre ist das einbinden und beschriften von Grafiken. Da ich einige davor in meine Projektarbeit verwende, brauchte ich hierfür eine Lösung. Diese habe ich mit <a href="https://inkscape.org/de/">Inkscape</a> gefunden. Hiermir lassen sich Bilder bearbeiten und beschriften und anschließend als <em>LaTeX</em>-Dokument speichern. Diese lassen sich dann ganz einfach einbinden.</p>
<h2 id="fazit">Fazit</h2>
<p>Für wen <em>Word</em> und ähnliches schon immer eine Qual war oder wer Vorerfahrung mit Texteditoren und Skriptsprachen hat, dem kann ich <em>LaTeX</em> nur ans Herz legen. Ganz einfach lassen sich wunderschöne Dokumente herzaubern. Vor allem der Font <em>Computer Modern</em> hat es mir sehr angetan. Eventuell werde ich die Projektarbeit demnächst hier hochladen.</p>
<hr>
<h2 id="technische-spezifikationen">Technische Spezifikationen</h2>
<p>Kurzer Nachtrag über meine Arbeitsweise mit <em>LaTeX</em>: Als Texteditor benutze ich <a href="https://code.visualstudio.com">VS Code</a>, da ich diesen super übersichtlich finde und vor allem die Erweiterungsmöglichkeiten sehr schätze. Für <em>LaTeX</em> sind dies vor allem <a href="https://github.com/James-Yu/LaTeX-Workshop">LaTeX Workshop</a> und natürlich <a href="https://git-scm.com">git</a> (vorinstalliert). Des Weiteren benutze ich die <a href="https://www.tug.org/mactex/">MacTeX-Distribution</a>, welche ich über <a href="https://brew.sh">Homebrew</a> installiert habe.</p>
<h3 id="verwendete-pakete">Verwendete Pakete</h3>
<ul>
<li><strong>babel</strong>: Sorgt für die Unterstützung verschiedener Sprachen. Ich schreibe die Projektarbeit zwar auf Englisch, jedoch brauche ich ab und zu mal Deutsche Begriffe und damiteinhergehend Umlaute etc.</li>
<li><strong>biblatex</strong>: Verbessertes Literaturverzeichnis, alternative zu <strong>bibtex</strong>.</li>
<li><strong>booktabs</strong>: Verschönert und vereinfacht Tabellen in <em>LaTeX</em>.</li>
<li><strong>chemformula</strong>: Erleichtert das Setzen von chemischen Formeln enorm und sorgt dafür, dass diese auch richtig angezeigt werden.</li>
<li><strong>hyperref</strong>: Für Links und Metadaten.</li>
<li><strong>longtable</strong>: Die verwendeten Materialien habe ich alle in riesigen Listen. <em>LaTeX</em> kann standardmäßig nicht besonders gut mit großen Tabellen umgehen, dieses Paket hilft dabei.</li>
<li><strong>microtype</strong>: Lässt alles schöner aussehen, praktisch schwarze Magie.</li>
<li><strong>siunitx</strong>: Das wahrscheinlich beste Paket überhaupt, simple aber hat Power. Sorgt für perfektes setzen von Einheiten, mit oder ohne vorangehenden Wert. Zudem enthält es eine Funktion, die Werte in Tabellen um den Dezimalpunkt anordnen kann. Ein Traum.</li>
<li><strong>textgreek</strong>: Erleichtert das verwenden von griechischen Buchstaben im Text.</li>
<li>Zusätzliche Pakete die ich an der Stelle nicht weiter erleutern werden: <strong>color</strong>, <strong>csquotes</strong>, <strong>fontenc</strong>, <strong>glossaries</strong>, <strong>graphicx</strong>, <strong>tikz</strong> und <strong>tocbibind</strong>.</li>
</ul>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>What you see is what you get.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/git/">Git</a></li>
<li><a href="/tags/latex/">Latex</a></li>
<li><a href="/tags/uni/">Uni</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

View file

@ -0,0 +1,95 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Nix on macOS | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2024-03-14T00:00:00&#43;00:00">2024-03-14</time>
<br>
<h1>Nix on macOS</h1>
<p class="lead">Moving from Homebrew to Nix. Mostly.</p>
<p>For about a year, I&rsquo;ve been fascinated by <a href="https://nixos.org">Nix and NixOS</a>. I don&rsquo;t remember exactly what fascinated me at first, probably the possibility to setup and configure my system using a single file. A few weeks ago, I decided to give it a serious try.</p>
<h2 id="installation">Installation</h2>
<p>To be honest this is not my first time installing Nix on my machine. I tried the official Nix installer and the &ldquo;old&rdquo; way to use Nix which is basically the same as any other package manager. I didn&rsquo;t see the point of having two package managers so I uninstalled Nix quickly after.</p>
<p>Then, a few weeks ago, I came across <a href="https://nixcademy.com/2024/01/15/nix-on-macos/">this guide</a> and it instantly clicked with me. Having a single file in which I declare my complete system and then have it set up in a few minutes without rebooting is just infinitely cool. In Nix, this feature is called <em>flake</em>. The guide uses the <a href="https://github.com/DeterminateSystems/nix-installer">Determinate systems installer</a> which sets up flakes by default. It also explains how to install Nix Darwin.</p>
<h2 id="nix-darwin">Nix Darwin</h2>
<p>Nix Darwin is a set of Nix modules that brings declarative configuration to macOS. It includes a bunch of options such as for the dock, Finder or the keyboard for example. It also gives the user basic configuration options for various programs. However I prefer to set up terminal based programs using <a href="#home-manager">Home Manager</a> instead, because it supports even more programs.</p>
<p>What I do use extensively is the <a href="https://brew.sh/">Homebrew</a> module to install not only GUI (graphical user interface) apps from Homebrew, but also from the App Store.</p>
<h2 id="home-manager">Home Manager</h2>
<p>For everything else, from terminal based programs to their configuration, I use <a href="https://github.com/nix-community/home-manager?tab=readme-ov-file">Home Manager</a>. It includes a huge set of modules and allows me to setup every non-GUI program in a declarative way. Still, sometimes you have to configure the &ldquo;traditional way&rdquo;, meaning in the original configuration language. But still, I much prefer this over my cluttered <code>.config</code> directory.</p>
<h2 id="nixvim">Nixvim</h2>
<p>In the process of writing my Nix configuration, I became unsatisfied with my Neovim setup. I used to use <a href="https://www.lazyvim.org">LazyVim</a> but it felt more and more bloated and slow on my 9 year old machine. For some time I used <a href="https://helix-editor.com/">Helix</a> which has great defaults, such as language server protocol (LSP) and fuzzy finder integration. I really think Neovim should go in this direction. Unfortunately it lacks some features to make it my main editor, mostly support for <a href="https://typst.app/">Typst</a> which is already added to the <code>master</code> branch. It also lacks a plugin system, but given such great defaults, there isn&rsquo;t that big of a need for it. Helix also features its own set of motions, and although I think they are not bad, maybe even better than Vim motions, the latter are so ubiquitously implemented that I would essentially use both all the time.</p>
<p>That&rsquo;s when I saw a video by <em>ThePrimeagen</em> in which he recommended <a href="https://github.com/nvim-lua/kickstart.nvim/tree/master">Kickstart</a>, a minimal Neovim starter configuration mainly written by <em>TJ DeVries</em>. It almost everything you need to get started and has insanely great documentation.</p>
<p>The only thing that bothered me was the use of <a href="https://github.com/williamboman/mason.nvim">Mason</a> as a LSP package manager. For some people this might be the best way to install LSPs, but I don&rsquo;t understand why I would use a second package manager when I can just use Nix for everything. Helix has a list of supported LSPs and all you have to do is make sure they are in your <code>$PATH</code>.</p>
<p>Luckily, others already had the same issues and decided to write <a href="https://github.com/nix-community/nixvim">Nixvim</a>. Nixvim is a NixOS / Nix Darwin / Home manager module that lets you configure Neovim (almost) entirely using Nix. It uses Nix as the plugin manager and has great defaults and documentation.</p>
<p>I basically recreated Kickstart using Nixvim with some minor tweaks. It feels just as snappy as Helix and I love it.</p>
<h2 id="conclusion">Conclusion</h2>
<p>This is just the tip of the tip of the iceberg of what is possible with Nix. Next, I want to learn to write my own flakes to set up development environments. I should probably learn a bit of Nix language too. But to sum it up so far, I&rsquo;m really happy and excited about this &ldquo;new&rdquo; way to manage my computer.</p>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/nix/">Nix</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

116
public/blog/rss/index.html Normal file
View file

@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>RSS | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a aria-current="true" class="ancestor" href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2023-09-01T00:00:00&#43;00:00">2023-09-01</time>
<br>
<h1>RSS</h1>
<p class="lead">Feeds without fuzz.</p>
<h2 id="what-is-rss">What is RSS?</h2>
<p>Originally, RSS stood for &ldquo;RDF/Rich Site Summary&rdquo; but was later changed to &ldquo;Really Simple Syndication&rdquo;</p>
<p>RSS is a way to subscribe to a website.
Whenever that website updates it writes its changes to a <code>XML</code> file.
You can then read this XML file and see what changed at a glance.</p>
<p>Many websites use RSS including YouTube, <del>Reddit</del> Lemmy, <del>Twitter</del> Mastodon, most news sites, and almost any blog out there.
For many blogs, RSS is the main way to distribute new posts.</p>
<p>RSS is experiencing a Renaissance at the moment:
Many people are now seeing the damages done by algorithmic feeds and want to go back to purely chronological feeds.
RSS provides a perfect infrastructure for this.</p>
<h2 id="how-to-read-rss">How to read RSS?</h2>
<p>First, you need a feed reader. On macOS and iOS I highly recommend <a href="https://netnewswire.com">NetNewsWire</a>.
For terminal fans <a href="https://newsboat.org">Newsboat</a> is the way to go.
<a href="https://www.thunderbird.net/">Thunderbird</a> is also a good choice but there are tons of programs that can read RSS feeds.</p>
<p>That&rsquo;s bascially it. Now you need to add some feeds and you are ready.</p>
<p>I recommend picking a reader that can also fetch the article without opening the browser and loading a ton of ads.</p>
<p>Pro tip: You can export your subscibtions to a <code>OPML</code> file and import them into any RSS reader.</p>
<h2 id="how-to-distribute-rss">How to distribute RSS?</h2>
<p>This is the hardest question to answer about RSS as there are endless possibilities.</p>
<p>The easiest way would probably be to use a service such as Mastodon that generates the feed automatically.
If that platform isn&rsquo;t for you, WordPress is a good way to host a blog.
I read about people setting up their own scripts that automatically update the feed for new posts.</p>
<p>I use <a href="https://gohugo.io">Hugo</a> which is a <em>static site generator</em>.
It generates feeds automatically but lies somewhere between WordPress and writing your own scripts in terms of how tech savvy you should be.</p>
<h2 id="how-to-find-rss">How to find RSS?</h2>
<p>Go to a website you like, copy the URL and paste it into your RSS reader.
Modern feed readers can find RSS feed on their own, you just have to provide a link to the site you want to subscribe to.
If that is not the case, you could try adding <code>/index.xml</code> to the URL.</p>
<p>Some sites, like this one, also link to their RSS feeds.
Often those links are a the bottom of the website and are either marked as <code>RSS</code>, <code>Feed</code>, or just use the RSS logo.
I additionally provide links to my subprojects such as my <a href="/micro">microblog</a> or my <a href="/fotos">photos</a>.
Feel free to add them to your reader.</p>
<h2 id="conclusion">Conclusion</h2>
<p>I think RSS is on the rise.
It&rsquo;s an old protocol that survived numerous challenges
It provides an escape from the algorithms and large social media companies.
It also provides a way for content creators to distribute their content on their own without any middleman.</p>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/rss/">Rss</a></li>
<li><a href="/tags/meta/">Meta</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

24
public/btc.txt Normal file
View file

@ -0,0 +1,24 @@
█▀▀▀▀▀█ ▄█ ▄▄▄█▄▄█▀▀▀▀▀▀ █▀▀▀▀▀█
█ ███ █ ▄█▀█ ▄███▄▀▄▀▀▄▀ █ ███ █
█ ▀▀▀ █ ▄ █ ▀▀▀▄▀▄ ▀▀ ▀ █ ▀▀▀ █
▀▀▀▀▀▀▀ ▀ ▀ █ █ ▀ ▀ ▀▄▀▄▀ ▀▀▀▀▀▀▀
█▀███▄▀███▀ ▀█▀ ▄▀ ▄█▄▄▄▄▀▄▀ █▄▀▄
▀▄▄▄██▀▀▄█▄█▀ ██▀▀█ ▄▄▀▄▀▄ ▀▄ ▄█
▄██▄ █▀ ▀█▄▀▄▄ ▀▄█▄█▄▄▀▄ ▄▄▀▀▀ ▄▄
▄██ ▀ ▀▀▀ ▀ ▄█▀█▀ ▄▄▀▄▀▄▀ ▀█▀▄██
▄███▄ ▀▄ ██ ▀ ▀▀█▀▄▄█▄▄▄▀▀▄▄▀▀▄▄▄
█▀ ██▀▀ ██▀█▀ ▄█▀ ▄▄▀▄▄ ▄█▀ ██▄▄
█▄▄ █▄▀ ▀▄▀▄▄▄▀▄█▄▄▀▄██▀▄▄ ▀ ▄
█ ██▀▀▀▀▄▄ ▄█▀██▀▀▄ █ ▀ ▄▄▀▄
▀ ▀ ▀▀ █▄█ ▀ ▀ ▄█ █▄▄▀ █▀▀▀██▄ ▄
█▀▀▀▀▀█ ▀█ █▀ ▄█▀▀█▄ ▄▀██ ▀ █ █▀▄
█ ███ █ █ ▄▀▄▄▄▀█▀▀▄█▄▀▄▀█▀▀██▄██
█ ▀▀▀ █ █ ▀ ▄█▀█ ▀ ▄ ▄▄▄▀█▀ ▄▄█
▀▀▀▀▀▀▀ ▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀
bc1qf8qjt4gut2la8k4v3emfv7wrj6f3pfcjrj3slplnwrldkz7hqmaqaju7ym

85
public/btc/index.html Normal file
View file

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Bitcoin | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2022-12-10T00:00:00&#43;00:00">2022-12-10</time>
<br>
<h1>Bitcoin</h1>
<p class="lead"></p>
<h2 id="address">Address</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>bc1qf8qjt4gut2la8k4v3emfv7wrj6f3pfcjrj3slplnwrldkz7hqmaqaju7ym
</span></span></code></pre></div><h2 id="qr">QR</h2>
<p><img src="/btc.png" alt="BTC"></p>
<h2 id="openalias">OpenAlias</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>jankremer.eu
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>btc.jankremer.eu
</span></span></code></pre></div>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/crypto/">Crypto</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

View file

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Categories | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on Jan Kremer</title>
<link>https://jankremer.eu/categories/</link>
<description>Recent content in Categories on Jan Kremer</description>
<generator>Hugo -- gohugo.io</generator>
<language>de</language><atom:link href="https://jankremer.eu/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View file

@ -0,0 +1 @@
@font-face{font-family:eb garamond;src:url(/fonts/EBGaramond-VariableFont_wght.ttf)}:root{font-size:calc(1rem + .25vw);--red:#FC361D;--blue1:#116080;--blue2:#105099;--light-gray:#F0F0F0;--white:white;--beige:#FCF9EC;--text1:#1a1a1a;--text2:#6f6f6f;--text3:#999999}body{color:var(--text);background:var(--background);font-family:eb garamond,serif;font-variant-numeric:oldstyle-nums;line-height:1.5;margin:auto;padding:1rem;max-width:70ch;font-weight:400}header{border-bottom:1px solid var(--text3);margin-bottom:1rem;nav { ul { font-size: 1.25rem; list-style: none; display: flex; justify-content: space-between; padding: 0; .active { text-decoration: underline; } } }}p{padding:0;margin-top:0;text-align:justify;text-justify:inter-word}article>p:nth-of-type(2)::first-letter{font-size:3rem;float:left;line-height:2.9rem;padding-right:.2rem}a{color:var(--red);text-decoration:none}h1{padding:0;margin:0;font-size:2rem;font-weight:400;text-align:center}h2{padding:0;margin:0;font-size:1.75rem;font-weight:400}h3{padding:0;margin:0;font-size:1.5rem;font-weight:400}time{font-size:1rem;float:right;color:var(--blue2)}table{border-collapse:collapse;width:100%;th { text-align: left; border-bottom: 1px solid var(--text1); }}hr{border:.1px solid var(--text2)}img{max-width:100%}footer{border-top:1px solid var(--text3);margin-top:1rem;p { font-size: 0.75rem; padding: 1rem; text-align: center; color: var(--text2); a { color: var(--text2); } }}.list{h2 { margin-top: 2rem; margin-bottom: 0; a { color: var(--text1); } } .lead { margin: 0; font-size: 1rem; text-align: left; }}.tags{ul { list-style: none; display: flex; justify-content: space-between; padding: 0 1rem; font-size: 0.75rem; li { padding: 0rem 0.3rem; border: 1px solid var(--text1); border-radius: 0.3rem; } }}.title{font-size:2rem;margin-bottom:.5rem}.lead{text-align:center;font-size:1.5rem;margin-bottom:1rem}

22
public/eth.txt Normal file
View file

@ -0,0 +1,22 @@
█▀▀▀▀▀█ ▄▀ ▄██▀▄██ ▀▀ █▀▀▀▀▀█
█ ███ █ ▀███▀▀▀▄█▀▀▄▀ █ ███ █
█ ▀▀▀ █ █▄ ▄ █▄▄▀ ▄ █ ▀▀▀ █
▀▀▀▀▀▀▀ █▄▀ █ ▀▄█▄▀ ▀ ▀▀▀▀▀▀▀
▀▀▄█ ▄▀█▄ █▄ ▄█▀▀▄█▀▀ ▀▀▄
▀█ ▄▄▀▀█▄▀▀ █ ▄ ▄█▄ ▄█ ▀█ ▄
▄ ████▀ ▄▄▄▄█ ▀ █▄ ▄ █▀█ ▄▀
█▀▀ ▀█▀ █ ▀ █ ▄ █ ▄▄▄█ ▀▀▀█▀
▄ ▄█▄▀▀▀█▄▀ ▀ ▄▀█▀▀ ▄▀ ██ █
▀ ▀▄ ▀▀█▀▄▄▄ █ ▄▄▄ ▄█ ▄ ██
▀ ▀▀ ▀ █▄▄██ █ █ ▀█▀▀▀█ █
█▀▀▀▀▀█ ▀▀▄██▀▀ ▀ ▄▄█ ▀ █▀█
█ ███ █ ▄███▀▄▀ ▄██ █████▄ ▄▀
█ ▀▀▀ █ ▄ ▄█▀ █▄▀█ ▄█ ▀▄▀▄▀
▀▀▀▀▀▀▀ ▀ ▀ ▀▀ ▀▀▀▀▀ ▀ ▀
0xc4cBDf9f57cb0229d19d885D5E4033a6223EDef7

86
public/eth/index.html Normal file
View file

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="de"
dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Ethereum | Jan Kremer</title>
<link rel="stylesheet" href="/css/main.min.44d337144c40b1101874ef25bbc4d48bb4bb38e7cdd285c9396c8dfa51b92d03.css" integrity="sha256-RNM3FExAsRAYdO8lu8TUi7S7OOfN0oXJOWyN&#43;lG5LQM=" crossorigin="anonymous">
<script data-goatcounter="https://jankremer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
</head>
<body>
<header>
<h1 class="title"><a href="/">Jan Kremer</a></h1>
<nav>
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/micro/">Microblog</a>
</li>
<li>
<a href="/photos/">Fotos</a>
</li>
<li>
<a href="/about/">Über mich</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<time datetime="2022-12-10T00:00:00&#43;00:00">2022-12-10</time>
<br>
<h1>Ethereum</h1>
<p class="lead"></p>
<h2 id="address">Address</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>0xc4cBDf9f57cb0229d19d885D5E4033a6223EDef7
</span></span></code></pre></div><h2 id="qr">QR</h2>
<p><img src="/eth.png" alt="ETH"></p>
<h2 id="ens">ENS</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>jankremer.eu
</span></span></code></pre></div><h2 id="opensea">OpenSea</h2>
<p><a href="https://opensea.io/Echinacea">Echinacea</a></p>
</article>
<hr>
<div class="tags">
<ul>
<li><a href="/tags/crypto/">Crypto</a></li>
</ul>
</div>
</main>
<footer>
<p><a href="https://creativecommons.org/licenses/by-sa/4.0/">BY-SA 4.0</a> &emsp;&emsp; Jan Kremer &emsp;
&emsp; 20212024</p>
</footer>
</body>
</html>

BIN
public/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

BIN
public/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more