commit 8f23b0d6f9effedc84b4892bda3db4cb285bee34 parent 46656807bc204aeedfb9c976c7d5cf76b05c5c42 Author: linus <mail@linus-behrens.de> Date: Thu, 31 Jul 2025 20:45:40 +0200 convert Diffstat:
A | .DS_Store | | | 0 | |
A | config.cfg | | | 27 | +++++++++++++++++++++++++++ |
D | index.html | | | 15 | --------------- |
A | markdown/.DS_Store | | | 0 | |
A | markdown/dwl.md | | | 87 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | markdown/linux.md | | | 60 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | markdown/mario-kart.md | | | 102 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | markdown/markdown.md | | | 16 | ++++++++++++++++ |
A | markdown/pgp-yubikey.md | | | 85 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | markdown/typst.md | | | 34 | ++++++++++++++++++++++++++++++++++ |
A | output/dwl.html | | | 113 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | output/index.html | | | 52 | ++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | output/linux.html | | | 128 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | output/mario-kart.html | | | 159 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | output/markdown.html | | | 72 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | output/pgp-yubikey.html | | | 121 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | output/typst.html | | | 74 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | pages/.DS_Store | | | 0 | |
A | pages/dwl.cfg | | | 5 | +++++ |
A | pages/dwl.html | | | 60 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | pages/linux.cfg | | | 5 | +++++ |
A | pages/linux.html | | | 75 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | pages/mario-kart.cfg | | | 5 | +++++ |
A | pages/mario-kart.html | | | 106 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | pages/markdown.cfg | | | 5 | +++++ |
A | pages/markdown.html | | | 19 | +++++++++++++++++++ |
A | pages/pgp-yubikey.cfg | | | 5 | +++++ |
A | pages/pgp-yubikey.html | | | 68 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | pages/typst.cfg | | | 5 | +++++ |
A | pages/typst.html | | | 21 | +++++++++++++++++++++ |
A | templates/index.html/footer.html | | | 5 | +++++ |
A | templates/index.html/header.html | | | 41 | +++++++++++++++++++++++++++++++++++++++++ |
A | templates/index.html/item.html | | | 1 | + |
A | templates/page/footer.html | | | 5 | +++++ |
A | templates/page/header.html | | | 40 | ++++++++++++++++++++++++++++++++++++++++ |
A | templates/page/item.html | | | 8 | ++++++++ |
36 files changed, 1609 insertions(+), 15 deletions(-)
diff --git a/.DS_Store b/.DS_Store Binary files differ. diff --git a/config.cfg b/config.cfg @@ -0,0 +1,27 @@ +# defaults: can be overwritten by any page. + +# last updated the site. +siteupdated = 2025-07-31 + +# site title (part of page ${title} probably). +sitetitle = Linus Blog +# prefix site url. +siteurl = https://linus-behrens.de +# site mail used for contact "mail link". +sitemail = mail@linus-behrens.de +# site generator. +sitegenerator = saait (https://git.codemadness.org/saait/file/README.html) + +# page + +# page language. +lang = en +# author (global default). +author = linusbehrens +# site keywords (global default), don't use too many. +keywords = blog, git, dev-log, life-log +# site description (global default). +description = shared thoughts + +# default title. +title = diff --git a/index.html b/index.html @@ -1,15 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>linus</title> - <!-- <link rel="stylesheet" href="/css/style.css" type="text/css" media="all" /> --> -</head> -<body> - - <h1>Test 101</h1> - -</body> -</html> - diff --git a/markdown/.DS_Store b/markdown/.DS_Store Binary files differ. diff --git a/markdown/dwl.md b/markdown/dwl.md @@ -0,0 +1,87 @@ +--- +title: dwl, ultra minimal tiling window manager +author: "Linus Behrens" +date: 2025-06-16T14:00:00+02:00 +tags: ['tech', 'wm', 'suckless'] +header: "/header/linux.jpg" +--- + +My first rather serious linux system should be built on a Thinkpad x61s in 2023. +Due to a lack in performence I thought about installing only the most minimal software on it. + +So I came to see the famouse Thinkpad Arch combination. (I know and knew that it was not the most minimal os possible, but I was convinced) +When trying to find the most minimal and fast window manager found the perfect fit: `dwm`. + +`dwm` became my wm that just worked. + +--- + +However as I continued to gain understanding of how Xorg works and as I understood the bloat in `X`, I found it hard to swich. +On YouTube I came across `dwl` a project about translating `dwl` to work with `wlroots`. + +Even though being familiar with the rather difficult to install `dwm`, I wasn't able to even compile `dwl`. Now I understand and give you - the reader - a path to follow. + +```bash +sudo dnf install \ + libinput libinput-devel \ + wayland wayland-devel \ + wlroots wlroots-devel \ + xkbcommon xkbcommon-devel \ + wayland-protocols \ + pkgconf-pkg-config +``` + +```bash +git clone https://codeberg.org/dwl/dwl.git +cd dwl +git checkout v0.7 +make +sudo make install +``` + +```bash +sudo dnf install \ + libinput libinput-devel \ + wayland wayland-devel \ + wlroots wlroots-devel \ + xkbcommon xkbcommon-devel \ + wayland-protocols-devel \ + pkgconf-pkg-config \ + meson ninja-build \ + gcc +``` +```bash +git clone https://github.com/waycrate/wmenu.git +cd wmenu +meson setup build +ninja -C build +sudo ninja -C build install +``` + +--- + +Edits to `sources/dwl/config.h`: + +```c +static const char *termcmd[] = { "ghostty", NULL }; +``` + +```c +static const MonitorRule monrules[] = { + /* macbook m1 14" */ + { "eDP-1", 0.5f, 1, 2, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 }, +}; +``` + +```c +static const struct xkb_rule_names xkb_rules = { + /* default: + .options = NULL, + */ + .layout = "de", + .variant = "latin1", +}; +``` + + + diff --git a/markdown/linux.md b/markdown/linux.md @@ -0,0 +1,60 @@ +--- +title: Linux and what it means +author: "Linus Behrens" +date: 2024-09-05T15:37:19+02:00 +tags: ['tech', 'os'] +header: "/header/linux.jpg" +--- + +# Why GNU/Linux + + +> This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a univeRsal interface +> +> *- Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition* + + +Linux at its core is the idea of intercompatability born in the body of a kernel. What I love in Linux is not how fast and free it is. Not how amazingly many people contribute to one goal. It is the way I use it and how it allowed me to fit the most bare bones software to my needs. + +## Examples for the perfect fit + +My senior high note taking setup is pretty complex. However it does fit my workflow perfectly. + +- [neovim](/posts/neovim) note taking +- [\tex](posts/tex) for long-term sheets +- [markdown](posts/markdown) for short-term notes in lessons +- pandoc turns markdown into `\tex` +- telescope and todo-comments for todo lists +- [anki](posts/anki) for everyday learning +- github for backing up and syncing my data (homelab in the future) + + +With that setup I am albe to quickly make notes in my lessons as well as clearly structure my long-term sheets. With having anki on any of my devices I am able to learn everywhere. + +If I want I could even run all of that over ssh from a homelab of server at school. + +## Intercompatability + +My shell runs in [alacritty](https://github.com/alacritty/alacritty) (macOS) and [st](https://st.suckless.org/) (arch and void). My most used and centered tool is [neovim](/posts/neovim). With my configuration it is beautiful and works seemlesly. With telescope I quickly open my `<subject>.refile.md` note and later the week I convert it to `<subject.refile.tex` with pandoc. The important information gets refiled into `<subject>.tex` and tagged as `ANKI: <subject>`. +So if I open telescope to see my todos the anki sign reminds me of entering the information to my `anki deck`. +Every evening I push my files to github to be safe for a data loss. + +## Options (example distributions) + +The following are distros I have used. + +- Manjaro (Why does it exists exactly) +- Mint (If you would want to cheat) +- [Arch](/content/arch.md) (Amazing documentation, pacman, AUR) +- Arco (No systemd arch) +- Gentoo (If you want it you know it) +- Void (small, but no systemd!) + +On my **x61s ThinkPad** I run Arch Linux. It is light weight and has amazing documentary. The arch wiki is one of the best documents and I even refer to it to non specific arch users. + +The **2013 Mac mini** runs void linux. Not because I don't like arch as much, but because after inserting a bootable usb and entering grubs "install arch for x86_64" I got a black screen for days. I choose void because I liked the neofetch batch and because it has no `systemd` elevating the performence and reducing drama. I mainly use that mashine as a ssh server. + +Both mashines run [suckless software](https://www.suckless.org). Namely `dwm`, `dmenu`, and `st`. I am really happy with how good it works, but I do not feel well using `X`. + +My **MacBook** runs macOS because Asahi sucks at the moment. However I use the tiling window manager `yabaii` and [alacritty](https://github.com/alacritty/alacritty) to come closer to a linux experience. + diff --git a/markdown/mario-kart.md b/markdown/mario-kart.md @@ -0,0 +1,102 @@ +--- +title: Mario Kart Wii +author: "Linus Behrens" +date: 2025-04-11T14:00:00+02:00 +tags: ['mod', 'game'] +header: "/header/mariokart.jpg" +--- +## Standard game on Emulator + +1. Get you Mario Kart Wiis Disc `.iso`. If you burner is broken like mine [download it](https://romsfun.com/roms/nintendo-wii/mario-kart-wii.html). +2. Get the [Dolphin Emulator](https://de.dolphin-emu.org/download/?ref=btn) +3. Choose your game directory with dolphin +4. Copy the [code](https://newwfc.xyz/codes/) in Mario Kart Wii `right click` > Properties > Gecko Codes > Add Codes. Give it a name +5. Settings > generell > activate cheats `checked` + +### The *code* + +```plain +C0000000 00000029 +3C004E80 60000020 +900F0000 7D8802A6 +9421FF80 BC610008 +48000019 6e657777 +66632e78 797a0000 +00000000 00000000 +7F2802A6 3AC0FFFF +3B19FFFF 8EF80001 +2C170000 3AD60001 +4082FFF4 3E208000 +8B9F5F27 623E2FFF +2C1C00EC 623FF1F0 +41820020 2C1C0010 +623FF114 41820014 +2C1C0054 623FF258 +41820008 623FE690 +3E202E6E 6231696E +3F80017F 639CCFFC +87BE0001 7C1D8800 +4182001D 379CFFFF +4082FFF0 B8610008 +38210080 7D8803A6 +4E800020 7F4802A6 +7FDBF378 3B19FFFF +7ED0B378 8EF80001 +9EFB0001 3610FFFF +4082FFF4 3A800010 +7E96A051 41820064 +7E54DA14 8A720001 +2C13002F 41A20014 +9E7B0001 3694FFFF +4082FFF8 48000044 +38920001 387B0001 +38C4FFFF 38A00000 +8CE60001 2C070000 +38A50001 4082FFF4 +3A05FFFE 7FE803A6 +4E800021 7E101A14 +39E00000 9DF00001 +3694FFFF 4082FFF8 +7F4803A6 4E800020 +C0000000 0000000E +3C004E80 60000020 +900F0000 3D808000 +618C3000 3C00017F +6000CFFC 7C0903A6 +3D607474 616B7073 +800C0000 7C005800 +40A20034 394C0003 +392C0002 7D455378 +38600000 8C050001 +2C000000 38630001 +4082FFF4 8C0A0001 +9C090001 3463FFFF +4082FFF4 398C0001 +4200FFC0 4E800020 +``` + +## Modded game on a Wii + +### What you Need + +- Wii (OS on version 4.3) +- SD-Card (`>=8GB` I suggest) +- Computer with SD-Slot (or adapter) +- Internet connection (computer and Wii) + +### Steps + +1. Get you Wiis MAC-adress (Settings > Internet > console information) +2. [Letterbomb download](https://please.hackmii.com/) +3. Put the `.zip`s content in the root of the SD-card +4. Put the SD-card in the Wii +5. Open mail on Wii and open the Letterbomb (you will see) +6. Follow the instructions to install the homebrew channel and BootMii +7. If asked choose "Install BootMii as boot2". If it failed choose "Install BootMii as IOS" +8. If you want to back up [follow those instructions](http://monkeydesk.at/f19-anleitungen/anleitung-nand-backup-eurer-wii-erstellen-178/) + +9. Get the [CTGP-R](https://www.chadsoft.co.uk/) `.zip`. +10. Copy the folder content in the root oft the SD card. +11. Open CTGP-R on the homebrew channel and follow the instructions + +## diff --git a/markdown/markdown.md b/markdown/markdown.md @@ -0,0 +1,16 @@ +--- +title: "Markdown, what else do you want?" +author: "Linus Behrens" +date: 2025-04-12T14:00:00+02:00 +tags: ['software', 'texteditor'] +header: "/header/text2.jpg" +--- + +- **Free plain text:** With plain text you enter the world of unbordered choosing of you editor. You are not forced to use a proprietary editor like Microsoft Word or Apple Pages. +- **Light weight:** A empty file has: `0 Bit` and this `.md`-based file has +- **Simple formatting:** With the formatting characters of Markdown files you are able to simply change your paragraph to a title, (sub-) heading or list. No more searching of the setting in your editor – just put a `#` (title) in front of you paragraph. +- **Conversion:** With tools like `pandoc` you can easily change your `.md` files to a `.tex` version with the same formatting. +- **Flavours:** Fully compatible versions of Markdown with for example wiki-link functionality. +- **Backups:** Easy versioning with git + +Tell me, what else do you want? diff --git a/markdown/pgp-yubikey.md b/markdown/pgp-yubikey.md @@ -0,0 +1,85 @@ +--- +title: PGP with 2fa usb sticks +author: "Linus Behrens" +date: 2025-07-05T16:00:00+02:00 +tags: ['tech', 'security'] +header: "/header/linux.jpg" +draft: true +--- + +```sh +gpg --expert --full-gen-key +``` + +- Enter `RSA` +- Enter `4096` +- Enter expiration date +- Enter user information and email +- Enter random input (mouse, keyboard) to gain entropy + +Output: +``` +gpg: key <keyID> marked as ultimately trusted +``` + +## Add authentication key (if not default) + +```sh +gpg --expert --edit-key <keyID> +``` + +```sh +addkey +``` + +- Enter the `passphrase` +- Enter `8` for RSA +- Enter `S` for disabling "sign" +- Enter `E` for disabling "encrypt" +- Enter `A` for enabling "authentication" +- Enter `Q` for leaving dialoge +- Enter key size +- Enter same expiration date as before +- Enter `Y` to safe the changes + +## Back pgp-Key up + +```sh +gpg --export-secret-key --armor <KeyID> +``` + +- Store output safe + +## Add pgp-keys to the YubiKey + +- Insert YubiKey into a USB port + +```sh +gpg --edit-key <KeyID> +``` + +```sh +keytocard +``` + +- Signature subkey: + - Enter `keytocard` + - Enter `Y` to continue + - Enter `1` to move the signature subkey to a slot in the yubikey + - Enter `key 1` +- Encryption subkey: + - Enter `keytocard` + - Enter `Y` to continue + - Enter `2` to move the encryption subkey to a slot in the yubikey + - Enter `key 1` + - Enter `key 2` +- Authentication subkey + - Enter `keytocard` + - Enter `3` to move the authentication subkey to a slot in the yubikey +- Enter `quit` to leave + +When asked **do not safe** your changes enabling you to copy the key to another Yubikey. + +--- + +[article by yubikey](https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP) diff --git a/markdown/typst.md b/markdown/typst.md @@ -0,0 +1,34 @@ +--- +title: Typst, the smart tex alternative +author: "Linus Behrens" +date: 2025-06-01T15:00:00+02:00 +tags: ['software', 'texteditor'] +header: "/header/math.invert.png" +--- + +When ever editing big text projects I used $\LaTeX$. Just because Latex is the right tool for the job. + +<!--  --> + +<!-- https://www.reddit.com/r/LaTeX/comments/b9549s/i_dont_know_if_memes_are_allowed_but_here_is_a/ --> + +But as it turned out there has been a simpler tool for the job. And it is called Typst. + +Why it is simpler: + +- It is FOSS +- Ready to write: no `\document{begin}` +- Markdown based syntax where it can: eg. headings with `=` +- Easy math syntax +- Simple coding constructs instead of single use case based macros +- FOSS templates ready to clone +- Renders preview from buffer: instant update without having to safe + +```typ +lim_(x->oo) 1/x = 0 +``` + +Their [GitHub Page](https://github.com/typst) + + + diff --git a/output/dwl.html b/output/dwl.html @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="Perfect high DPI window manager" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>dwl config - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> +<header> + <h1>dwl config</h1> + <p> + <strong>Last modification on </strong> <time>2025-06-16</time> + </p> +</header> + +<p>My first rather serious linux system should be built on a Thinkpad +x61s in 2023. Due to a lack in performence I thought about installing +only the most minimal software on it.</p> +<p>So I came to see the famouse Thinkpad Arch combination. (I know and +knew that it was not the most minimal os possible, but I was convinced) +When trying to find the most minimal and fast window manager found the +perfect fit: <code>dwm</code>.</p> +<p><code>dwm</code> became my wm that just worked.</p> +<hr /> +<p>However as I continued to gain understanding of how Xorg works and as +I understood the bloat in <code>X</code>, I found it hard to swich. On +YouTube I came across <code>dwl</code> a project about translating +<code>dwl</code> to work with <code>wlroots</code>.</p> +<p>Even though being familiar with the rather difficult to install +<code>dwm</code>, I wasn’t able to even compile <code>dwl</code>. Now I +understand and give you - the reader - a path to follow.</p> +<div class="sourceCode" id="cb1"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="dt">\</span></span> +<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> libinput libinput-devel <span class="dt">\</span></span> +<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> wayland wayland-devel <span class="dt">\</span></span> +<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> wlroots wlroots-devel <span class="dt">\</span></span> +<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a> xkbcommon xkbcommon-devel <span class="dt">\</span></span> +<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a> wayland-protocols <span class="dt">\</span></span> +<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> pkgconf-pkg-config</span></code></pre></div> +<div class="sourceCode" id="cb2"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://codeberg.org/dwl/dwl.git</span> +<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> dwl</span> +<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout v0.7</span> +<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span> +<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> make install</span></code></pre></div> +<div class="sourceCode" id="cb3"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="dt">\</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> libinput libinput-devel <span class="dt">\</span></span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> wayland wayland-devel <span class="dt">\</span></span> +<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> wlroots wlroots-devel <span class="dt">\</span></span> +<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> xkbcommon xkbcommon-devel <span class="dt">\</span></span> +<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> wayland-protocols-devel <span class="dt">\</span></span> +<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a> pkgconf-pkg-config <span class="dt">\</span></span> +<span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a> meson ninja-build <span class="dt">\</span></span> +<span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a> gcc</span></code></pre></div> +<div class="sourceCode" id="cb4"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/waycrate/wmenu.git</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> wmenu</span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">meson</span> setup build</span> +<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="ex">ninja</span> <span class="at">-C</span> build</span> +<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> ninja <span class="at">-C</span> build install</span></code></pre></div> +<hr /> +<p>Edits to <code>sources/dwl/config.h</code>:</p> +<div class="sourceCode" id="cb5"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> <span class="dt">char</span> <span class="op">*</span>termcmd<span class="op">[]</span> <span class="op">=</span> <span class="op">{</span> <span class="st">"ghostty"</span><span class="op">,</span> NULL <span class="op">};</span></span></code></pre></div> +<div class="sourceCode" id="cb6"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> MonitorRule monrules<span class="op">[]</span> <span class="op">=</span> <span class="op">{</span></span> +<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a> <span class="co">/* macbook m1 14" */</span></span> +<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span> <span class="st">"eDP-1"</span><span class="op">,</span> <span class="fl">0.5</span><span class="bu">f</span><span class="op">,</span> <span class="dv">1</span><span class="op">,</span> <span class="dv">2</span><span class="op">,</span> <span class="op">&</span>layouts<span class="op">[</span><span class="dv">0</span><span class="op">],</span> WL_OUTPUT_TRANSFORM_NORMAL<span class="op">,</span> <span class="op">-</span><span class="dv">1</span><span class="op">,</span> <span class="op">-</span><span class="dv">1</span> <span class="op">},</span></span> +<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div> +<div class="sourceCode" id="cb7"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> <span class="kw">struct</span> xkb_rule_names xkb_rules <span class="op">=</span> <span class="op">{</span></span> +<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a> <span class="co">/* default:</span></span> +<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a><span class="co"> .options = NULL,</span></span> +<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a><span class="co"> */</span></span> +<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a> <span class="op">.</span>layout <span class="op">=</span> <span class="st">"de"</span><span class="op">,</span></span> +<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a> <span class="op">.</span>variant <span class="op">=</span> <span class="st">"latin1"</span><span class="op">,</span></span> +<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div> + + </article> + </div> + </main> +</body> +</html> diff --git a/output/index.html b/output/index.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="shared thoughts" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>Posts - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <h1>Posts</h1> + <table> +<tr><td><time>2025-06-01</time></td><td><a href="typst.html">Typst</a></td></tr> +<tr><td><time>2025-07-05</time></td><td><a href="pgp-yubikey.html">yubikey pgp config</a></td></tr> +<tr><td><time>2025-04-12</time></td><td><a href="markdown.html">Markdown</a></td></tr> +<tr><td><time>2025-04-11</time></td><td><a href="mario-kart.html">Mario Kart Emulator Setup</a></td></tr> +<tr><td><time>2024-09-05</time></td><td><a href="linux.html">Why Linux</a></td></tr> +<tr><td><time>2025-06-16</time></td><td><a href="dwl.html">dwl config</a></td></tr> + </table> + </div> + </main> +</body> +</html> diff --git a/output/linux.html b/output/linux.html @@ -0,0 +1,128 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="Why linux is superior" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>Why Linux - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> +<header> + <h1>Why Linux</h1> + <p> + <strong>Last modification on </strong> <time>2024-09-05</time> + </p> +</header> + +<h1 id="why-gnulinux">Why GNU/Linux</h1> +<blockquote> +<p>This is the Unix philosophy: Write programs that do one thing and do +it well. Write programs to work together. Write programs to handle text +streams, because that is a univeRsal interface</p> +<p><em>- Doug McIlroy, the inventor of Unix pipes and one of the +founders of the Unix tradition</em></p> +</blockquote> +<p>Linux at its core is the idea of intercompatability born in the body +of a kernel. What I love in Linux is not how fast and free it is. Not +how amazingly many people contribute to one goal. It is the way I use it +and how it allowed me to fit the most bare bones software to my +needs.</p> +<h2 id="examples-for-the-perfect-fit">Examples for the perfect fit</h2> +<p>My senior high note taking setup is pretty complex. However it does +fit my workflow perfectly.</p> +<ul> +<li><a href="/posts/neovim">neovim</a> note taking</li> +<li><a href="posts/tex"></a> for long-term sheets</li> +<li><a href="posts/markdown">markdown</a> for short-term notes in +lessons</li> +<li>pandoc turns markdown into <code>\tex</code></li> +<li>telescope and todo-comments for todo lists</li> +<li><a href="posts/anki">anki</a> for everyday learning</li> +<li>github for backing up and syncing my data (homelab in the +future)</li> +</ul> +<p>With that setup I am albe to quickly make notes in my lessons as well +as clearly structure my long-term sheets. With having anki on any of my +devices I am able to learn everywhere.</p> +<p>If I want I could even run all of that over ssh from a homelab of +server at school.</p> +<h2 id="intercompatability">Intercompatability</h2> +<p>My shell runs in <a +href="https://github.com/alacritty/alacritty">alacritty</a> (macOS) and +<a href="https://st.suckless.org/">st</a> (arch and void). My most used +and centered tool is <a href="/posts/neovim">neovim</a>. With my +configuration it is beautiful and works seemlesly. With telescope I +quickly open my <code><subject>.refile.md</code> note and later +the week I convert it to <code><subject.refile.tex</code> with +pandoc. The important information gets refiled into +<code><subject>.tex</code> and tagged as +<code>ANKI: <subject></code>. So if I open telescope to see my +todos the anki sign reminds me of entering the information to my +<code>anki deck</code>. Every evening I push my files to github to be +safe for a data loss.</p> +<h2 id="options-example-distributions">Options (example +distributions)</h2> +<p>The following are distros I have used.</p> +<ul> +<li>Manjaro (Why does it exists exactly)</li> +<li>Mint (If you would want to cheat)</li> +<li><a href="/content/arch.md">Arch</a> (Amazing documentation, pacman, +AUR)</li> +<li>Arco (No systemd arch)</li> +<li>Gentoo (If you want it you know it)</li> +<li>Void (small, but no systemd!)</li> +</ul> +<p>On my <strong>x61s ThinkPad</strong> I run Arch Linux. It is light +weight and has amazing documentary. The arch wiki is one of the best +documents and I even refer to it to non specific arch users.</p> +<p>The <strong>2013 Mac mini</strong> runs void linux. Not because I +don’t like arch as much, but because after inserting a bootable usb and +entering grubs “install arch for x86_64” I got a black screen for days. +I choose void because I liked the neofetch batch and because it has no +<code>systemd</code> elevating the performence and reducing drama. I +mainly use that mashine as a ssh server.</p> +<p>Both mashines run <a href="https://www.suckless.org">suckless +software</a>. Namely <code>dwm</code>, <code>dmenu</code>, and +<code>st</code>. I am really happy with how good it works, but I do not +feel well using <code>X</code>.</p> +<p>My <strong>MacBook</strong> runs macOS because Asahi sucks at the +moment. However I use the tiling window manager <code>yabaii</code> and +<a href="https://github.com/alacritty/alacritty">alacritty</a> to come +closer to a linux experience.</p> + + </article> + </div> + </main> +</body> +</html> diff --git a/output/mario-kart.html b/output/mario-kart.html @@ -0,0 +1,159 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="How to setup Mario Kart Wii on a dolphin Emulator" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>Mario Kart Emulator Setup - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> +<header> + <h1>Mario Kart Emulator Setup</h1> + <p> + <strong>Last modification on </strong> <time>2025-04-11</time> + </p> +</header> + +<h2 id="standard-game-on-emulator">Standard game on Emulator</h2> +<ol type="1"> +<li>Get you Mario Kart Wiis Disc <code>.iso</code>. If you burner is +broken like mine <a +href="https://romsfun.com/roms/nintendo-wii/mario-kart-wii.html">download +it</a>.</li> +<li>Get the <a +href="https://de.dolphin-emu.org/download/?ref=btn">Dolphin +Emulator</a></li> +<li>Choose your game directory with dolphin</li> +<li>Copy the <a href="https://newwfc.xyz/codes/">code</a> in Mario Kart +Wii <code>right click</code> > Properties > Gecko Codes > Add +Codes. Give it a name</li> +<li>Settings > generell > activate cheats +<code>checked</code></li> +</ol> +<h3 id="the-code">The <em>code</em></h3> +<pre class="plain"><code>C0000000 00000029 +3C004E80 60000020 +900F0000 7D8802A6 +9421FF80 BC610008 +48000019 6e657777 +66632e78 797a0000 +00000000 00000000 +7F2802A6 3AC0FFFF +3B19FFFF 8EF80001 +2C170000 3AD60001 +4082FFF4 3E208000 +8B9F5F27 623E2FFF +2C1C00EC 623FF1F0 +41820020 2C1C0010 +623FF114 41820014 +2C1C0054 623FF258 +41820008 623FE690 +3E202E6E 6231696E +3F80017F 639CCFFC +87BE0001 7C1D8800 +4182001D 379CFFFF +4082FFF0 B8610008 +38210080 7D8803A6 +4E800020 7F4802A6 +7FDBF378 3B19FFFF +7ED0B378 8EF80001 +9EFB0001 3610FFFF +4082FFF4 3A800010 +7E96A051 41820064 +7E54DA14 8A720001 +2C13002F 41A20014 +9E7B0001 3694FFFF +4082FFF8 48000044 +38920001 387B0001 +38C4FFFF 38A00000 +8CE60001 2C070000 +38A50001 4082FFF4 +3A05FFFE 7FE803A6 +4E800021 7E101A14 +39E00000 9DF00001 +3694FFFF 4082FFF8 +7F4803A6 4E800020 +C0000000 0000000E +3C004E80 60000020 +900F0000 3D808000 +618C3000 3C00017F +6000CFFC 7C0903A6 +3D607474 616B7073 +800C0000 7C005800 +40A20034 394C0003 +392C0002 7D455378 +38600000 8C050001 +2C000000 38630001 +4082FFF4 8C0A0001 +9C090001 3463FFFF +4082FFF4 398C0001 +4200FFC0 4E800020</code></pre> +<h2 id="modded-game-on-a-wii">Modded game on a Wii</h2> +<h3 id="what-you-need">What you Need</h3> +<ul> +<li>Wii (OS on version 4.3)</li> +<li>SD-Card (<code>>=8GB</code> I suggest)</li> +<li>Computer with SD-Slot (or adapter)</li> +<li>Internet connection (computer and Wii)</li> +</ul> +<h3 id="steps">Steps</h3> +<ol type="1"> +<li><p>Get you Wiis MAC-adress (Settings > Internet > console +information)</p></li> +<li><p><a href="https://please.hackmii.com/">Letterbomb +download</a></p></li> +<li><p>Put the <code>.zip</code>s content in the root of the +SD-card</p></li> +<li><p>Put the SD-card in the Wii</p></li> +<li><p>Open mail on Wii and open the Letterbomb (you will see)</p></li> +<li><p>Follow the instructions to install the homebrew channel and +BootMii</p></li> +<li><p>If asked choose “Install BootMii as boot2”. If it failed choose +“Install BootMii as IOS”</p></li> +<li><p>If you want to back up <a +href="http://monkeydesk.at/f19-anleitungen/anleitung-nand-backup-eurer-wii-erstellen-178/">follow +those instructions</a></p></li> +<li><p>Get the <a href="https://www.chadsoft.co.uk/">CTGP-R</a> +<code>.zip</code>.</p></li> +<li><p>Copy the folder content in the root oft the SD card.</p></li> +<li><p>Open CTGP-R on the homebrew channel and follow the +instructions</p></li> +</ol> +<h2 id="section"></h2> + + </article> + </div> + </main> +</body> +</html> diff --git a/output/markdown.html b/output/markdown.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="What Markdown is and why it is superior" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>Markdown - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> +<header> + <h1>Markdown</h1> + <p> + <strong>Last modification on </strong> <time>2025-04-12</time> + </p> +</header> + +<ul> +<li><strong>Free plain text:</strong> With plain text you enter the +world of unbordered choosing of you editor. You are not forced to use a +proprietary editor like Microsoft Word or Apple Pages.</li> +<li><strong>Light weight:</strong> A empty file has: <code>0 Bit</code> +and this <code>.md</code>-based file has</li> +<li><strong>Simple formatting:</strong> With the formatting characters +of Markdown files you are able to simply change your paragraph to a +title, (sub-) heading or list. No more searching of the setting in your +editor – just put a <code>#</code> (title) in front of you +paragraph.</li> +<li><strong>Conversion:</strong> With tools like <code>pandoc</code> you +can easily change your <code>.md</code> files to a <code>.tex</code> +version with the same formatting.</li> +<li><strong>Flavours:</strong> Fully compatible versions of Markdown +with for example wiki-link functionality.</li> +<li><strong>Backups:</strong> Easy versioning with git</li> +</ul> +<p>Tell me, what else do you want?</p> + + </article> + </div> + </main> +</body> +</html> diff --git a/output/pgp-yubikey.html b/output/pgp-yubikey.html @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="Setup for pgp supported by a yubikey" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>yubikey pgp config - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> +<header> + <h1>yubikey pgp config</h1> + <p> + <strong>Last modification on </strong> <time>2025-07-05</time> + </p> +</header> + +<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--expert</span> <span class="at">--full-gen-key</span></span></code></pre></div> +<ul> +<li>Enter <code>RSA</code></li> +<li>Enter <code>4096</code></li> +<li>Enter expiration date</li> +<li>Enter user information and email</li> +<li>Enter random input (mouse, keyboard) to gain entropy</li> +</ul> +<p>Output:</p> +<pre><code>gpg: key <keyID> marked as ultimately trusted</code></pre> +<h2 id="add-authentication-key-if-not-default">Add authentication key +(if not default)</h2> +<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--expert</span> <span class="at">--edit-key</span> <span class="op"><</span>keyID<span class="op">></span></span></code></pre></div> +<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">addkey</span></span></code></pre></div> +<ul> +<li>Enter the <code>passphrase</code></li> +<li>Enter <code>8</code> for RSA</li> +<li>Enter <code>S</code> for disabling “sign”</li> +<li>Enter <code>E</code> for disabling “encrypt”</li> +<li>Enter <code>A</code> for enabling “authentication”</li> +<li>Enter <code>Q</code> for leaving dialoge</li> +<li>Enter key size</li> +<li>Enter same expiration date as before</li> +<li>Enter <code>Y</code> to safe the changes</li> +</ul> +<h2 id="back-pgp-key-up">Back pgp-Key up</h2> +<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--export-secret-key</span> <span class="at">--armor</span> <span class="op"><</span>KeyID<span class="op">></span></span></code></pre></div> +<ul> +<li>Store output safe</li> +</ul> +<h2 id="add-pgp-keys-to-the-yubikey">Add pgp-keys to the YubiKey</h2> +<ul> +<li>Insert YubiKey into a USB port</li> +</ul> +<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--edit-key</span> <span class="op"><</span>KeyID<span class="op">></span></span></code></pre></div> +<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">keytocard</span></span></code></pre></div> +<ul> +<li>Signature subkey: +<ul> +<li>Enter <code>keytocard</code></li> +<li>Enter <code>Y</code> to continue</li> +<li>Enter <code>1</code> to move the signature subkey to a slot in the +yubikey</li> +<li>Enter <code>key 1</code></li> +</ul></li> +<li>Encryption subkey: +<ul> +<li>Enter <code>keytocard</code></li> +<li>Enter <code>Y</code> to continue</li> +<li>Enter <code>2</code> to move the encryption subkey to a slot in the +yubikey</li> +<li>Enter <code>key 1</code></li> +<li>Enter <code>key 2</code></li> +</ul></li> +<li>Authentication subkey +<ul> +<li>Enter <code>keytocard</code></li> +<li>Enter <code>3</code> to move the authentication subkey to a slot in +the yubikey</li> +</ul></li> +<li>Enter <code>quit</code> to leave</li> +</ul> +<p>When asked <strong>do not safe</strong> your changes enabling you to +copy the key to another Yubikey.</p> +<hr /> +<p><a +href="https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP">article +by yubikey</a></p> + + </article> + </div> + </main> +</body> +</html> diff --git a/output/typst.html b/output/typst.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="blog, git, dev-log, life-log" /> + <meta name="description" content="The smart Latex alternative" /> + <meta name="author" content="linusbehrens" /> + <meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" /> + <title>Typst - Linus Blog</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:mail@linus-behrens.de">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> +<header> + <h1>Typst</h1> + <p> + <strong>Last modification on </strong> <time>2025-06-01</time> + </p> +</header> + +<p>When ever editing big text projects I used <span +class="math inline">$\LaTeX$</span>. Just because Latex is the right +tool for the job.</p> +<p>But as it turned out there has been a simpler tool for the job. And +it is called Typst.</p> +<p>Why it is simpler:</p> +<ul> +<li>It is FOSS</li> +<li>Ready to write: no <code>\document{begin}</code></li> +<li>Markdown based syntax where it can: eg. headings with +<code>=</code></li> +<li>Easy math syntax</li> +<li>Simple coding constructs instead of single use case based +macros</li> +<li>FOSS templates ready to clone</li> +<li>Renders preview from buffer: instant update without having to +safe</li> +</ul> +<div class="sourceCode" id="cb1"><pre +class="sourceCode typ"><code class="sourceCode typst"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>lim_(x->oo) 1/x = 0</span></code></pre></div> +<p>Their <a href="https://github.com/typst">GitHub Page</a></p> + + </article> + </div> + </main> +</body> +</html> diff --git a/pages/.DS_Store b/pages/.DS_Store Binary files differ. diff --git a/pages/dwl.cfg b/pages/dwl.cfg @@ -0,0 +1,5 @@ +filename = dwl.html +title = dwl config +description = Perfect high DPI window manager +created = 2025-06-16 +updated = 2025-06-16 diff --git a/pages/dwl.html b/pages/dwl.html @@ -0,0 +1,60 @@ +<p>My first rather serious linux system should be built on a Thinkpad +x61s in 2023. Due to a lack in performence I thought about installing +only the most minimal software on it.</p> +<p>So I came to see the famouse Thinkpad Arch combination. (I know and +knew that it was not the most minimal os possible, but I was convinced) +When trying to find the most minimal and fast window manager found the +perfect fit: <code>dwm</code>.</p> +<p><code>dwm</code> became my wm that just worked.</p> +<hr /> +<p>However as I continued to gain understanding of how Xorg works and as +I understood the bloat in <code>X</code>, I found it hard to swich. On +YouTube I came across <code>dwl</code> a project about translating +<code>dwl</code> to work with <code>wlroots</code>.</p> +<p>Even though being familiar with the rather difficult to install +<code>dwm</code>, I wasn’t able to even compile <code>dwl</code>. Now I +understand and give you - the reader - a path to follow.</p> +<div class="sourceCode" id="cb1"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="dt">\</span></span> +<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> libinput libinput-devel <span class="dt">\</span></span> +<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> wayland wayland-devel <span class="dt">\</span></span> +<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> wlroots wlroots-devel <span class="dt">\</span></span> +<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a> xkbcommon xkbcommon-devel <span class="dt">\</span></span> +<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a> wayland-protocols <span class="dt">\</span></span> +<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> pkgconf-pkg-config</span></code></pre></div> +<div class="sourceCode" id="cb2"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://codeberg.org/dwl/dwl.git</span> +<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> dwl</span> +<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout v0.7</span> +<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span> +<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> make install</span></code></pre></div> +<div class="sourceCode" id="cb3"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="dt">\</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> libinput libinput-devel <span class="dt">\</span></span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> wayland wayland-devel <span class="dt">\</span></span> +<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> wlroots wlroots-devel <span class="dt">\</span></span> +<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> xkbcommon xkbcommon-devel <span class="dt">\</span></span> +<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> wayland-protocols-devel <span class="dt">\</span></span> +<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a> pkgconf-pkg-config <span class="dt">\</span></span> +<span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a> meson ninja-build <span class="dt">\</span></span> +<span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a> gcc</span></code></pre></div> +<div class="sourceCode" id="cb4"><pre +class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/waycrate/wmenu.git</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> wmenu</span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">meson</span> setup build</span> +<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="ex">ninja</span> <span class="at">-C</span> build</span> +<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> ninja <span class="at">-C</span> build install</span></code></pre></div> +<hr /> +<p>Edits to <code>sources/dwl/config.h</code>:</p> +<div class="sourceCode" id="cb5"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> <span class="dt">char</span> <span class="op">*</span>termcmd<span class="op">[]</span> <span class="op">=</span> <span class="op">{</span> <span class="st">"ghostty"</span><span class="op">,</span> NULL <span class="op">};</span></span></code></pre></div> +<div class="sourceCode" id="cb6"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> MonitorRule monrules<span class="op">[]</span> <span class="op">=</span> <span class="op">{</span></span> +<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a> <span class="co">/* macbook m1 14" */</span></span> +<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span> <span class="st">"eDP-1"</span><span class="op">,</span> <span class="fl">0.5</span><span class="bu">f</span><span class="op">,</span> <span class="dv">1</span><span class="op">,</span> <span class="dv">2</span><span class="op">,</span> <span class="op">&</span>layouts<span class="op">[</span><span class="dv">0</span><span class="op">],</span> WL_OUTPUT_TRANSFORM_NORMAL<span class="op">,</span> <span class="op">-</span><span class="dv">1</span><span class="op">,</span> <span class="op">-</span><span class="dv">1</span> <span class="op">},</span></span> +<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div> +<div class="sourceCode" id="cb7"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> <span class="kw">struct</span> xkb_rule_names xkb_rules <span class="op">=</span> <span class="op">{</span></span> +<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a> <span class="co">/* default:</span></span> +<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a><span class="co"> .options = NULL,</span></span> +<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a><span class="co"> */</span></span> +<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a> <span class="op">.</span>layout <span class="op">=</span> <span class="st">"de"</span><span class="op">,</span></span> +<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a> <span class="op">.</span>variant <span class="op">=</span> <span class="st">"latin1"</span><span class="op">,</span></span> +<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div> diff --git a/pages/linux.cfg b/pages/linux.cfg @@ -0,0 +1,5 @@ +filename = linux.html +title = Why Linux +description = Why linux is superior +created = 2024-09-05 +updated = 2024-09-05 diff --git a/pages/linux.html b/pages/linux.html @@ -0,0 +1,75 @@ +<h1 id="why-gnulinux">Why GNU/Linux</h1> +<blockquote> +<p>This is the Unix philosophy: Write programs that do one thing and do +it well. Write programs to work together. Write programs to handle text +streams, because that is a univeRsal interface</p> +<p><em>- Doug McIlroy, the inventor of Unix pipes and one of the +founders of the Unix tradition</em></p> +</blockquote> +<p>Linux at its core is the idea of intercompatability born in the body +of a kernel. What I love in Linux is not how fast and free it is. Not +how amazingly many people contribute to one goal. It is the way I use it +and how it allowed me to fit the most bare bones software to my +needs.</p> +<h2 id="examples-for-the-perfect-fit">Examples for the perfect fit</h2> +<p>My senior high note taking setup is pretty complex. However it does +fit my workflow perfectly.</p> +<ul> +<li><a href="/posts/neovim">neovim</a> note taking</li> +<li><a href="posts/tex"></a> for long-term sheets</li> +<li><a href="posts/markdown">markdown</a> for short-term notes in +lessons</li> +<li>pandoc turns markdown into <code>\tex</code></li> +<li>telescope and todo-comments for todo lists</li> +<li><a href="posts/anki">anki</a> for everyday learning</li> +<li>github for backing up and syncing my data (homelab in the +future)</li> +</ul> +<p>With that setup I am albe to quickly make notes in my lessons as well +as clearly structure my long-term sheets. With having anki on any of my +devices I am able to learn everywhere.</p> +<p>If I want I could even run all of that over ssh from a homelab of +server at school.</p> +<h2 id="intercompatability">Intercompatability</h2> +<p>My shell runs in <a +href="https://github.com/alacritty/alacritty">alacritty</a> (macOS) and +<a href="https://st.suckless.org/">st</a> (arch and void). My most used +and centered tool is <a href="/posts/neovim">neovim</a>. With my +configuration it is beautiful and works seemlesly. With telescope I +quickly open my <code><subject>.refile.md</code> note and later +the week I convert it to <code><subject.refile.tex</code> with +pandoc. The important information gets refiled into +<code><subject>.tex</code> and tagged as +<code>ANKI: <subject></code>. So if I open telescope to see my +todos the anki sign reminds me of entering the information to my +<code>anki deck</code>. Every evening I push my files to github to be +safe for a data loss.</p> +<h2 id="options-example-distributions">Options (example +distributions)</h2> +<p>The following are distros I have used.</p> +<ul> +<li>Manjaro (Why does it exists exactly)</li> +<li>Mint (If you would want to cheat)</li> +<li><a href="/content/arch.md">Arch</a> (Amazing documentation, pacman, +AUR)</li> +<li>Arco (No systemd arch)</li> +<li>Gentoo (If you want it you know it)</li> +<li>Void (small, but no systemd!)</li> +</ul> +<p>On my <strong>x61s ThinkPad</strong> I run Arch Linux. It is light +weight and has amazing documentary. The arch wiki is one of the best +documents and I even refer to it to non specific arch users.</p> +<p>The <strong>2013 Mac mini</strong> runs void linux. Not because I +don’t like arch as much, but because after inserting a bootable usb and +entering grubs “install arch for x86_64” I got a black screen for days. +I choose void because I liked the neofetch batch and because it has no +<code>systemd</code> elevating the performence and reducing drama. I +mainly use that mashine as a ssh server.</p> +<p>Both mashines run <a href="https://www.suckless.org">suckless +software</a>. Namely <code>dwm</code>, <code>dmenu</code>, and +<code>st</code>. I am really happy with how good it works, but I do not +feel well using <code>X</code>.</p> +<p>My <strong>MacBook</strong> runs macOS because Asahi sucks at the +moment. However I use the tiling window manager <code>yabaii</code> and +<a href="https://github.com/alacritty/alacritty">alacritty</a> to come +closer to a linux experience.</p> diff --git a/pages/mario-kart.cfg b/pages/mario-kart.cfg @@ -0,0 +1,5 @@ +filename = mario-kart.html +title = Mario Kart Emulator Setup +description = How to setup Mario Kart Wii on a dolphin Emulator +created = 2025-04-11 +updated = 2025-04-11 diff --git a/pages/mario-kart.html b/pages/mario-kart.html @@ -0,0 +1,106 @@ +<h2 id="standard-game-on-emulator">Standard game on Emulator</h2> +<ol type="1"> +<li>Get you Mario Kart Wiis Disc <code>.iso</code>. If you burner is +broken like mine <a +href="https://romsfun.com/roms/nintendo-wii/mario-kart-wii.html">download +it</a>.</li> +<li>Get the <a +href="https://de.dolphin-emu.org/download/?ref=btn">Dolphin +Emulator</a></li> +<li>Choose your game directory with dolphin</li> +<li>Copy the <a href="https://newwfc.xyz/codes/">code</a> in Mario Kart +Wii <code>right click</code> > Properties > Gecko Codes > Add +Codes. Give it a name</li> +<li>Settings > generell > activate cheats +<code>checked</code></li> +</ol> +<h3 id="the-code">The <em>code</em></h3> +<pre class="plain"><code>C0000000 00000029 +3C004E80 60000020 +900F0000 7D8802A6 +9421FF80 BC610008 +48000019 6e657777 +66632e78 797a0000 +00000000 00000000 +7F2802A6 3AC0FFFF +3B19FFFF 8EF80001 +2C170000 3AD60001 +4082FFF4 3E208000 +8B9F5F27 623E2FFF +2C1C00EC 623FF1F0 +41820020 2C1C0010 +623FF114 41820014 +2C1C0054 623FF258 +41820008 623FE690 +3E202E6E 6231696E +3F80017F 639CCFFC +87BE0001 7C1D8800 +4182001D 379CFFFF +4082FFF0 B8610008 +38210080 7D8803A6 +4E800020 7F4802A6 +7FDBF378 3B19FFFF +7ED0B378 8EF80001 +9EFB0001 3610FFFF +4082FFF4 3A800010 +7E96A051 41820064 +7E54DA14 8A720001 +2C13002F 41A20014 +9E7B0001 3694FFFF +4082FFF8 48000044 +38920001 387B0001 +38C4FFFF 38A00000 +8CE60001 2C070000 +38A50001 4082FFF4 +3A05FFFE 7FE803A6 +4E800021 7E101A14 +39E00000 9DF00001 +3694FFFF 4082FFF8 +7F4803A6 4E800020 +C0000000 0000000E +3C004E80 60000020 +900F0000 3D808000 +618C3000 3C00017F +6000CFFC 7C0903A6 +3D607474 616B7073 +800C0000 7C005800 +40A20034 394C0003 +392C0002 7D455378 +38600000 8C050001 +2C000000 38630001 +4082FFF4 8C0A0001 +9C090001 3463FFFF +4082FFF4 398C0001 +4200FFC0 4E800020</code></pre> +<h2 id="modded-game-on-a-wii">Modded game on a Wii</h2> +<h3 id="what-you-need">What you Need</h3> +<ul> +<li>Wii (OS on version 4.3)</li> +<li>SD-Card (<code>>=8GB</code> I suggest)</li> +<li>Computer with SD-Slot (or adapter)</li> +<li>Internet connection (computer and Wii)</li> +</ul> +<h3 id="steps">Steps</h3> +<ol type="1"> +<li><p>Get you Wiis MAC-adress (Settings > Internet > console +information)</p></li> +<li><p><a href="https://please.hackmii.com/">Letterbomb +download</a></p></li> +<li><p>Put the <code>.zip</code>s content in the root of the +SD-card</p></li> +<li><p>Put the SD-card in the Wii</p></li> +<li><p>Open mail on Wii and open the Letterbomb (you will see)</p></li> +<li><p>Follow the instructions to install the homebrew channel and +BootMii</p></li> +<li><p>If asked choose “Install BootMii as boot2”. If it failed choose +“Install BootMii as IOS”</p></li> +<li><p>If you want to back up <a +href="http://monkeydesk.at/f19-anleitungen/anleitung-nand-backup-eurer-wii-erstellen-178/">follow +those instructions</a></p></li> +<li><p>Get the <a href="https://www.chadsoft.co.uk/">CTGP-R</a> +<code>.zip</code>.</p></li> +<li><p>Copy the folder content in the root oft the SD card.</p></li> +<li><p>Open CTGP-R on the homebrew channel and follow the +instructions</p></li> +</ol> +<h2 id="section"></h2> diff --git a/pages/markdown.cfg b/pages/markdown.cfg @@ -0,0 +1,5 @@ +filename = markdown.html +title = Markdown +description = What Markdown is and why it is superior +created = 2025-04-12 +updated = 2025-04-12 diff --git a/pages/markdown.html b/pages/markdown.html @@ -0,0 +1,19 @@ +<ul> +<li><strong>Free plain text:</strong> With plain text you enter the +world of unbordered choosing of you editor. You are not forced to use a +proprietary editor like Microsoft Word or Apple Pages.</li> +<li><strong>Light weight:</strong> A empty file has: <code>0 Bit</code> +and this <code>.md</code>-based file has</li> +<li><strong>Simple formatting:</strong> With the formatting characters +of Markdown files you are able to simply change your paragraph to a +title, (sub-) heading or list. No more searching of the setting in your +editor – just put a <code>#</code> (title) in front of you +paragraph.</li> +<li><strong>Conversion:</strong> With tools like <code>pandoc</code> you +can easily change your <code>.md</code> files to a <code>.tex</code> +version with the same formatting.</li> +<li><strong>Flavours:</strong> Fully compatible versions of Markdown +with for example wiki-link functionality.</li> +<li><strong>Backups:</strong> Easy versioning with git</li> +</ul> +<p>Tell me, what else do you want?</p> diff --git a/pages/pgp-yubikey.cfg b/pages/pgp-yubikey.cfg @@ -0,0 +1,5 @@ +filename = pgp-yubikey.html +title = yubikey pgp config +description = Setup for pgp supported by a yubikey +created = 2025-07-05 +updated = 2025-07-05 diff --git a/pages/pgp-yubikey.html b/pages/pgp-yubikey.html @@ -0,0 +1,68 @@ +<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--expert</span> <span class="at">--full-gen-key</span></span></code></pre></div> +<ul> +<li>Enter <code>RSA</code></li> +<li>Enter <code>4096</code></li> +<li>Enter expiration date</li> +<li>Enter user information and email</li> +<li>Enter random input (mouse, keyboard) to gain entropy</li> +</ul> +<p>Output:</p> +<pre><code>gpg: key <keyID> marked as ultimately trusted</code></pre> +<h2 id="add-authentication-key-if-not-default">Add authentication key +(if not default)</h2> +<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--expert</span> <span class="at">--edit-key</span> <span class="op"><</span>keyID<span class="op">></span></span></code></pre></div> +<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">addkey</span></span></code></pre></div> +<ul> +<li>Enter the <code>passphrase</code></li> +<li>Enter <code>8</code> for RSA</li> +<li>Enter <code>S</code> for disabling “sign”</li> +<li>Enter <code>E</code> for disabling “encrypt”</li> +<li>Enter <code>A</code> for enabling “authentication”</li> +<li>Enter <code>Q</code> for leaving dialoge</li> +<li>Enter key size</li> +<li>Enter same expiration date as before</li> +<li>Enter <code>Y</code> to safe the changes</li> +</ul> +<h2 id="back-pgp-key-up">Back pgp-Key up</h2> +<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--export-secret-key</span> <span class="at">--armor</span> <span class="op"><</span>KeyID<span class="op">></span></span></code></pre></div> +<ul> +<li>Store output safe</li> +</ul> +<h2 id="add-pgp-keys-to-the-yubikey">Add pgp-keys to the YubiKey</h2> +<ul> +<li>Insert YubiKey into a USB port</li> +</ul> +<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">gpg</span> <span class="at">--edit-key</span> <span class="op"><</span>KeyID<span class="op">></span></span></code></pre></div> +<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">keytocard</span></span></code></pre></div> +<ul> +<li>Signature subkey: +<ul> +<li>Enter <code>keytocard</code></li> +<li>Enter <code>Y</code> to continue</li> +<li>Enter <code>1</code> to move the signature subkey to a slot in the +yubikey</li> +<li>Enter <code>key 1</code></li> +</ul></li> +<li>Encryption subkey: +<ul> +<li>Enter <code>keytocard</code></li> +<li>Enter <code>Y</code> to continue</li> +<li>Enter <code>2</code> to move the encryption subkey to a slot in the +yubikey</li> +<li>Enter <code>key 1</code></li> +<li>Enter <code>key 2</code></li> +</ul></li> +<li>Authentication subkey +<ul> +<li>Enter <code>keytocard</code></li> +<li>Enter <code>3</code> to move the authentication subkey to a slot in +the yubikey</li> +</ul></li> +<li>Enter <code>quit</code> to leave</li> +</ul> +<p>When asked <strong>do not safe</strong> your changes enabling you to +copy the key to another Yubikey.</p> +<hr /> +<p><a +href="https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP">article +by yubikey</a></p> diff --git a/pages/typst.cfg b/pages/typst.cfg @@ -0,0 +1,5 @@ +filename = typst.html +title = Typst +description = The smart Latex alternative +created = 2025-06-01 +updated = 2025-06-01 diff --git a/pages/typst.html b/pages/typst.html @@ -0,0 +1,21 @@ +<p>When ever editing big text projects I used <span +class="math inline">$\LaTeX$</span>. Just because Latex is the right +tool for the job.</p> +<p>But as it turned out there has been a simpler tool for the job. And +it is called Typst.</p> +<p>Why it is simpler:</p> +<ul> +<li>It is FOSS</li> +<li>Ready to write: no <code>\document{begin}</code></li> +<li>Markdown based syntax where it can: eg. headings with +<code>=</code></li> +<li>Easy math syntax</li> +<li>Simple coding constructs instead of single use case based +macros</li> +<li>FOSS templates ready to clone</li> +<li>Renders preview from buffer: instant update without having to +safe</li> +</ul> +<div class="sourceCode" id="cb1"><pre +class="sourceCode typ"><code class="sourceCode typst"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>lim_(x->oo) 1/x = 0</span></code></pre></div> +<p>Their <a href="https://github.com/typst">GitHub Page</a></p> diff --git a/templates/index.html/footer.html b/templates/index.html/footer.html @@ -0,0 +1,5 @@ + </table> + </div> + </main> +</body> +</html> diff --git a/templates/index.html/header.html b/templates/index.html/header.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html dir="ltr" lang="${lang}"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="${lang}" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="${keywords}" /> + <meta name="description" content="${description}" /> + <meta name="author" content="${author}" /> + <meta name="generator" content="${sitegenerator}" /> + <title>Posts - ${sitetitle}</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="${sitetitle} Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="${sitetitle} Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:${sitemail}">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <h1>Posts</h1> + <table> diff --git a/templates/index.html/item.html b/templates/index.html/item.html @@ -0,0 +1 @@ +<tr><td><time>${created}</time></td><td><a href="${filename}">${title}</a></td></tr> diff --git a/templates/page/footer.html b/templates/page/footer.html @@ -0,0 +1,5 @@ + </article> + </div> + </main> +</body> +</html> diff --git a/templates/page/header.html b/templates/page/header.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html dir="ltr" lang="${lang}"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="${lang}" /> + <meta name="viewport" content="width=device-width" /> + <meta name="keywords" content="${keywords}" /> + <meta name="description" content="${description}" /> + <meta name="author" content="${author}" /> + <meta name="generator" content="${sitegenerator}" /> + <title>${title} - ${sitetitle}</title> + <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> + <link rel="stylesheet" href="print.css" type="text/css" media="print" /> + <link rel="alternate" href="atom.xml" type="application/atom+xml" title="${sitetitle} Atom Feed" /> + <link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="${sitetitle} Atom Feed with content" /> + <link rel="icon" href="/favicon.png" type="image/png" /> +</head> +<body> + <nav id="menuwrap"> + <table id="menu" width="100%" border="0"> + <tr> + <td id="links" align="left"> + <a href="index.html">Blog</a> | + <a href="/git/" title="Git repository with some of my projects">Git</a> | + <a href="/releases/">Releases</a> | + <a href="gopher://codemadness.org">Gopherhole</a> + </td> + <td id="links-contact" align="right"> + <span class="hidden"> | </span> + <a href="feeds.html">Feeds</a> | + <a href="pgp.asc">PGP</a> | + <a href="mailto:${sitemail}">Mail</a> + </td> + </tr> + </table> + </nav> + <hr class="hidden" /> + <main id="mainwrap"> + <div id="main"> + <article> diff --git a/templates/page/item.html b/templates/page/item.html @@ -0,0 +1,8 @@ +<header> + <h1>${title}</h1> + <p> + <strong>Last modification on </strong> <time>${updated}</time> + </p> +</header> + +%{contentfile}