Profpatsch/users/Profpatsch/web/index.html
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Profpatsch's Lair</title>
    <meta name="description" content="Oh the things you'll see …">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="icon" href="data:,">
    <link rel="me" href="https://mastodon.xyz/@Profpatsch">

    <link rel="preload" href="/js/talkies.js" as="script">
    <link rel="preload" href="/css/normalize.css" as="style">
    <link rel="preload" href="/css/main.css" as="style">
    <link rel="preload" href="/fonts/quattrocento-latin.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/fonts/open-sans-latin.woff2" as="font" type="font/woff2" crossorigin>

    <link rel="stylesheet" href="/css/normalize.css">
    <link rel="stylesheet" href="/css/main.css">

    <style>
    @font-face {
      font-family: 'Quattrocento';
      font-weight: 400;
      src: url(/fonts/quattrocento-latin.woff2) format('woff2');
      font-display: swap;
    }
    @font-face {
      font-family: 'Open Sans';
      font-weight: 300;
      src: url(/fonts/open-sans-latin.woff2) format('woff2');
      font-display: swap;
    }
    </style>

    <script src="/js/talkies.js"></script>
  </head>
  <body>

    <header id="title">
      <h1>Profpatsch</h1>
      <h2>
        <script>
          appendTalkies(document.querySelector('#title h2'));
        </script>
        <noscript>
          Oh the things you'll see …
        </noscript>
      </h2>
      <hr />
    </header>

    <main>
      <p>Hey there.</p>

      <h1>Projects</h1>
      <dl>
        <dt><a href="https://flohmarkt.fyi/">flohmarkt</a></dt>
        <dd>A decentralized small-ads platform built on ActivityPub</dd>
        <dt><a href="https://github.com/nix-community/lorri">lorri</a></dt>
        <dd><code>nix-shell</code> replacement for projects</dd>
        <dt><a href="https://github.com/Profpatsch/netencode">netencode</a></dt>
        <dd>A human-readable nested data exchange format inspired by <a href="https://en.wikipedia.org/wiki/Netstring">netstrings</a> and <a href="https://en.wikipedia.org/wiki/Bencode">bencode</a>.</dd>
        <dt><a href="https://codeberg.org/Profpatsch/Profpatsch">codeberg.org/Profpatsch</a></dt>
        <dd>Everything else</dd>
      </dl>

      <h1>Essays</h1>
      <ul>
        <li><a href="/essays/a-more-social-media">Can we have a more "social" media?</a> <span class="date">2026-03-24</span></li>
        <li><a href="/essays/ethical-use-of-common-resources">Ethical use of Common Resources</a> <span class="date">2026-03-17</span></li>
      </ul>

      <h1>Notes</h1>
      <ul>
        <li><a href="https://sfttime.softwaregardening.org">sfttime(7) — a hexadecimal time system based on fractional days</a> <span class="date">2026-04-23</span></li>
        <li><a href="/notes/an-idealized-conflang">An idealized Configuration Language</a> <span class="date">2022-03-31</span></li>
        <li><a href="/notes/preventing-oom">Preventing out-of-memory (OOM) errors on Linux</a> <span class="date">2020-01-25</span></li>
        <li><a href="/notes/private-trackers-are-markets">Private bittorrent trackers are markets</a></li>
        <li><a href="/notes/rust-string-conversions">Converting between different String types in Rust</a></li>
      </ul>

      <h1>Posts</h1>
      <ul>
        <li><a href="/posts/2017-05-04-ligature-emluation-in-emacs">Ligature Emulation in Emacs</a> <span class="date">2017-05-04</span></li>
      </ul>

    </main>
  </body>
</html>