add rss alternate link

This commit is contained in:
Never Gude 2026-02-24 21:59:59 +01:00
parent a0e0703704
commit 615ec476d2
22 changed files with 2264 additions and 1468 deletions

View file

@ -1,46 +1,49 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="" >
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Never" />
<meta name="dcterms.date" content="2026-01-09" />
<title>Latex Endeavors</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Never" />
<meta name="dcterms.date" content="2026-01-09" />
<title>Latex Endeavors</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<link rel="alternate" type="application/rss+xml" title="RSS" href="https://nevereverever.de/eh/eh/eh/eh-eh/rss.xml">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Latex Endeavors</h1>
<p class="subtitle">Some unintuitive quirks of Latex</p>
<p class="author">Never</p>
<p class="date">2026-01-09</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Latex Endeavors</h1>
<p class="subtitle">Some unintuitive quirks of Latex</p>
<p class="author">Never</p>
<p class="date">2026-01-09</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#biblatex-and-biber" id="toc-biblatex-and-biber">BibLaTeX
and Biber</a>
<ul>
@ -48,23 +51,26 @@ and Biber</a>
run</a></li>
</ul></li>
</ul>
</nav>
<article>
<h1 id="biblatex-and-biber">BibLaTeX and Biber</h1>
</nav>
<article>
<h1 id="biblatex-and-biber">BibLaTeX and Biber</h1>
<h2 id="biber-doesnt-run">Biber doesnt run</h2>
<p>Biber doenst run if the (fedora) package
<code>libxcrypt-compat</code> is missing. It will fail with the error
message</p>
<pre><code>biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory</code></pre>
</article>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous" src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg" width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next" src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
</article>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous"
src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg"
width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next"
src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
<script src="scripts/shork.js"></script>
</html>

View file

@ -1,122 +1,125 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="" >
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Never" />
<meta name="dcterms.date" content="2025-07-25" />
<title>Random linux utilities</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
/* CSS for syntax highlighting */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #073642;
color: #586e75;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; }
div.sourceCode
{ color: #839496; background-color: #002b36; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #d33682; } /* Alert */
code span.an { color: #dc322f; } /* Annotation */
code span.at { color: #dc322f; } /* Attribute */
code span.bn { color: #2aa198; } /* BaseN */
code span.bu { color: #b58900; } /* BuiltIn */
code span.cf { color: #859900; } /* ControlFlow */
code span.ch { color: #2aa198; } /* Char */
code span.cn { color: #b58900; } /* Constant */
code span.co { color: #586e75; font-style: italic; } /* Comment */
code span.cv { color: #268bd2; } /* CommentVar */
code span.do { color: #586e75; font-style: italic; } /* Documentation */
code span.dt { color: #b58900; } /* DataType */
code span.dv { color: #2aa198; } /* DecVal */
code span.er { color: #dc322f; text-decoration: underline; } /* Error */
code span.ex { color: #b58900; } /* Extension */
code span.fl { color: #2aa198; } /* Float */
code span.fu { } /* Function */
code span.im { color: #cb4b16; } /* Import */
code span.in { color: #268bd2; } /* Information */
code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */
code span.op { } /* Operator */
code span.ot { } /* Other */
code span.pp { color: #cb4b16; } /* Preprocessor */
code span.re { color: #cb4b16; } /* RegionMarker */
code span.sc { color: #dc322f; } /* SpecialChar */
code span.ss { color: #b58900; } /* SpecialString */
code span.st { color: #2aa198; } /* String */
code span.va { color: #cb4b16; } /* Variable */
code span.vs { color: #dc322f; } /* VerbatimString */
code span.wa { color: #b58900; } /* Warning */
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Never" />
<meta name="dcterms.date" content="2025-07-25" />
<title>Random linux utilities</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<link rel="alternate" type="application/rss+xml" title="RSS" href="https://nevereverever.de/eh/eh/eh/eh-eh/rss.xml">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
/* CSS for syntax highlighting */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #073642;
color: #586e75;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; }
div.sourceCode
{ color: #839496; background-color: #002b36; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #d33682; } /* Alert */
code span.an { color: #dc322f; } /* Annotation */
code span.at { color: #dc322f; } /* Attribute */
code span.bn { color: #2aa198; } /* BaseN */
code span.bu { color: #b58900; } /* BuiltIn */
code span.cf { color: #859900; } /* ControlFlow */
code span.ch { color: #2aa198; } /* Char */
code span.cn { color: #b58900; } /* Constant */
code span.co { color: #586e75; font-style: italic; } /* Comment */
code span.cv { color: #268bd2; } /* CommentVar */
code span.do { color: #586e75; font-style: italic; } /* Documentation */
code span.dt { color: #b58900; } /* DataType */
code span.dv { color: #2aa198; } /* DecVal */
code span.er { color: #dc322f; text-decoration: underline; } /* Error */
code span.ex { color: #b58900; } /* Extension */
code span.fl { color: #2aa198; } /* Float */
code span.fu { } /* Function */
code span.im { color: #cb4b16; } /* Import */
code span.in { color: #268bd2; } /* Information */
code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */
code span.op { } /* Operator */
code span.ot { } /* Other */
code span.pp { color: #cb4b16; } /* Preprocessor */
code span.re { color: #cb4b16; } /* RegionMarker */
code span.sc { color: #dc322f; } /* SpecialChar */
code span.ss { color: #b58900; } /* SpecialString */
code span.st { color: #2aa198; } /* String */
code span.va { color: #cb4b16; } /* Variable */
code span.vs { color: #dc322f; } /* VerbatimString */
code span.wa { color: #b58900; } /* Warning */
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Random linux utilities</h1>
<p class="subtitle">Neat things I picked up along the way</p>
<p class="author">Never</p>
<p class="date">2025-07-25</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Random linux utilities</h1>
<p class="subtitle">Neat things I picked up along the way</p>
<p class="author">Never</p>
<p class="date">2025-07-25</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#merge-pdfs" id="toc-merge-pdfs">Merge pdfs</a>
<ul>
<li><a href="#using-ghostscript" id="toc-using-ghostscript">Using
Ghostscript</a></li>
</ul></li>
</ul>
</nav>
<article>
<h1 id="merge-pdfs">Merge pdfs</h1>
</nav>
<article>
<h1 id="merge-pdfs">Merge pdfs</h1>
<h2 id="using-ghostscript">Using Ghostscript</h2>
<p>Ghostscript has a feature to merge multiple pdf files into one.
Although ImageMagick also has this feature, I prefer this one, as it
@ -125,15 +128,18 @@ doesnt rasterize and scales down the pdf files.</p>
class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gs</span> <span class="at">-dNOPAUSE</span> <span class="at">-sDEVICE</span><span class="op">=</span>pdfwrite <span class="dt">\</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> <span class="at">-sOUTPUTFILE</span><span class="op">=</span>output.pdf <span class="dt">\</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> <span class="at">-dBATCH</span> 1.pdf 2.pdf</span></code></pre></div>
</article>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous" src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg" width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next" src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
</article>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous"
src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg"
width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next"
src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
<script src="scripts/shork.js"></script>
</html>

View file

@ -89,28 +89,4 @@ config.
Now on your Linux machine, syncronise your Music library with rsync.
rsync -av -e "ssh -p 8022" ~/Music <username>@<ip_address>:/data/data/com.termux/files/home/storage/music
Refreshing the Android MediaStore
Android uses a Database to store files. In order to play your music,
this database needs to be refreshed. This can be achieved by a reboot or
by using adb to manually refresh it.
sudo dnf install adb
Connect the Android device via USB and see if it is listed.
adb devices
If it is, restart adb in TCP mode with port 5555
adb tcpip 5555
Connect to the device using its .
adb connect <ip_address>
Refresh MediaStore.
adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN -d file:///data/data/com.termux/files/home/storage/music/
]8;;\

View file

@ -1,113 +1,116 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="" >
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Never" />
<meta name="dcterms.date" content="2026-01-12" />
<title>Using rsync on Android to syncronise my Music library</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
/* CSS for syntax highlighting */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #073642;
color: #586e75;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; }
div.sourceCode
{ color: #839496; background-color: #002b36; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #d33682; } /* Alert */
code span.an { color: #dc322f; } /* Annotation */
code span.at { color: #dc322f; } /* Attribute */
code span.bn { color: #2aa198; } /* BaseN */
code span.bu { color: #b58900; } /* BuiltIn */
code span.cf { color: #859900; } /* ControlFlow */
code span.ch { color: #2aa198; } /* Char */
code span.cn { color: #b58900; } /* Constant */
code span.co { color: #586e75; font-style: italic; } /* Comment */
code span.cv { color: #268bd2; } /* CommentVar */
code span.do { color: #586e75; font-style: italic; } /* Documentation */
code span.dt { color: #b58900; } /* DataType */
code span.dv { color: #2aa198; } /* DecVal */
code span.er { color: #dc322f; text-decoration: underline; } /* Error */
code span.ex { color: #b58900; } /* Extension */
code span.fl { color: #2aa198; } /* Float */
code span.fu { } /* Function */
code span.im { color: #cb4b16; } /* Import */
code span.in { color: #268bd2; } /* Information */
code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */
code span.op { } /* Operator */
code span.ot { } /* Other */
code span.pp { color: #cb4b16; } /* Preprocessor */
code span.re { color: #cb4b16; } /* RegionMarker */
code span.sc { color: #dc322f; } /* SpecialChar */
code span.ss { color: #b58900; } /* SpecialString */
code span.st { color: #2aa198; } /* String */
code span.va { color: #cb4b16; } /* Variable */
code span.vs { color: #dc322f; } /* VerbatimString */
code span.wa { color: #b58900; } /* Warning */
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Never" />
<meta name="dcterms.date" content="2026-01-12" />
<title>Using rsync on Android to syncronise my Music library</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<link rel="alternate" type="application/rss+xml" title="RSS" href="https://nevereverever.de/eh/eh/eh/eh-eh/rss.xml">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
/* CSS for syntax highlighting */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #073642;
color: #586e75;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; }
div.sourceCode
{ color: #839496; background-color: #002b36; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #d33682; } /* Alert */
code span.an { color: #dc322f; } /* Annotation */
code span.at { color: #dc322f; } /* Attribute */
code span.bn { color: #2aa198; } /* BaseN */
code span.bu { color: #b58900; } /* BuiltIn */
code span.cf { color: #859900; } /* ControlFlow */
code span.ch { color: #2aa198; } /* Char */
code span.cn { color: #b58900; } /* Constant */
code span.co { color: #586e75; font-style: italic; } /* Comment */
code span.cv { color: #268bd2; } /* CommentVar */
code span.do { color: #586e75; font-style: italic; } /* Documentation */
code span.dt { color: #b58900; } /* DataType */
code span.dv { color: #2aa198; } /* DecVal */
code span.er { color: #dc322f; text-decoration: underline; } /* Error */
code span.ex { color: #b58900; } /* Extension */
code span.fl { color: #2aa198; } /* Float */
code span.fu { } /* Function */
code span.im { color: #cb4b16; } /* Import */
code span.in { color: #268bd2; } /* Information */
code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */
code span.op { } /* Operator */
code span.ot { } /* Other */
code span.pp { color: #cb4b16; } /* Preprocessor */
code span.re { color: #cb4b16; } /* RegionMarker */
code span.sc { color: #dc322f; } /* SpecialChar */
code span.ss { color: #b58900; } /* SpecialString */
code span.st { color: #2aa198; } /* String */
code span.va { color: #cb4b16; } /* Variable */
code span.vs { color: #dc322f; } /* VerbatimString */
code span.wa { color: #b58900; } /* Warning */
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Using rsync on Android to syncronise my Music
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Using rsync on Android to syncronise my Music
library</h1>
<p class="author">Never</p>
<p class="date">2026-01-12</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<p class="author">Never</p>
<p class="date">2026-01-12</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#setup-termux" id="toc-setup-termux">Setup Termux</a></li>
<li><a href="#establishing-an-ssh-connection"
id="toc-establishing-an-ssh-connection">Establishing an ssh
@ -120,16 +123,12 @@ id="toc-connecting-to-android-via-ssh">Connecting to Android via
ssh</a></li>
</ul></li>
<li><a href="#syncronising-files-with-rsync"
id="toc-syncronising-files-with-rsync">Syncronising files with rsync</a>
<ul>
<li><a href="#refreshing-the-android-mediastore"
id="toc-refreshing-the-android-mediastore">Refreshing the Android
MediaStore</a></li>
</ul></li>
id="toc-syncronising-files-with-rsync">Syncronising files with
rsync</a></li>
</ul>
</nav>
<article>
<h1 id="setup-termux">Setup Termux</h1>
</nav>
<article>
<h1 id="setup-termux">Setup Termux</h1>
<p>Install Termux using F-Droid.</p>
<p>Update software repos.</p>
<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">pkg</span> update</span></code></pre></div>
@ -187,34 +186,18 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#
rsync.</p>
<div class="sourceCode" id="cb13"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rsync</span> <span class="at">-av</span> <span class="at">-e</span> <span class="st">&quot;ssh -p 8022&quot;</span> ~/Music <span class="op">&lt;</span>username<span class="op">&gt;</span>@<span class="op">&lt;</span>ip_address<span class="op">&gt;</span>:/data/data/com.termux/files/home/storage/music</span></code></pre></div>
<h2 id="refreshing-the-android-mediastore">Refreshing the Android
MediaStore</h2>
<p>Android uses a Database to store files. In order to play your music,
this database needs to be refreshed. This can be achieved by a reboot or
by using adb to manually refresh it.</p>
<div class="sourceCode" id="cb14"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install adb</span></code></pre></div>
<p>Connect the Android device via USB and see if it is listed.</p>
<div class="sourceCode" id="cb15"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ex">adb</span> devices</span></code></pre></div>
<p>If it is, restart adb in TCP mode with port 5555</p>
<div class="sourceCode" id="cb16"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="ex">adb</span> tcpip 5555</span></code></pre></div>
<p>Connect to the device using its <ip_address>.</p>
<div class="sourceCode" id="cb17"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">adb</span> connect <span class="op">&lt;</span>ip_address<span class="op">&gt;</span></span></code></pre></div>
<p>Refresh MediaStore.</p>
<div class="sourceCode" id="cb18"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ex">adb</span> shell am broadcast <span class="at">-a</span> android.intent.action.MEDIA_SCANNER_SCAN <span class="at">-d</span> file:///data/data/com.termux/files/home/storage/music/</span></code></pre></div>
</article>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous" src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg" width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next" src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
</article>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous"
src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg"
width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next"
src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
<script src="scripts/shork.js"></script>
</html>

View file

@ -20,16 +20,16 @@ library (rsync-android)
As Spotify is getting enshittified by capitalism, keeping a music
library is kind of essential. Here I use rsync to syncronise my library
with my Android smartphone.
Never - 2026-01-12
Never - 2026-01-12
Latex Endeavors (latex-endeavors)
Latex undoubtedly has some quirks. Some of them have a rather
unintuitive solution. In this article I cover some quirks and solutions
I have encountered.
Never - 2026-01-09
Never - 2026-01-09
Random linux utilities (random-linux-utils)
Tricks and tools I learned about, while tweaking my Linux sytem or
trying to do productive things.
Never - 2025-07-25
Never - 2025-07-25
]8;;\

View file

@ -1,166 +1,172 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="" >
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Home</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
/* CSS for syntax highlighting */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #073642;
color: #586e75;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; }
div.sourceCode
{ color: #839496; background-color: #002b36; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #d33682; } /* Alert */
code span.an { color: #dc322f; } /* Annotation */
code span.at { color: #dc322f; } /* Attribute */
code span.bn { color: #2aa198; } /* BaseN */
code span.bu { color: #b58900; } /* BuiltIn */
code span.cf { color: #859900; } /* ControlFlow */
code span.ch { color: #2aa198; } /* Char */
code span.cn { color: #b58900; } /* Constant */
code span.co { color: #586e75; font-style: italic; } /* Comment */
code span.cv { color: #268bd2; } /* CommentVar */
code span.do { color: #586e75; font-style: italic; } /* Documentation */
code span.dt { color: #b58900; } /* DataType */
code span.dv { color: #2aa198; } /* DecVal */
code span.er { color: #dc322f; text-decoration: underline; } /* Error */
code span.ex { color: #b58900; } /* Extension */
code span.fl { color: #2aa198; } /* Float */
code span.fu { } /* Function */
code span.im { color: #cb4b16; } /* Import */
code span.in { color: #268bd2; } /* Information */
code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */
code span.op { } /* Operator */
code span.ot { } /* Other */
code span.pp { color: #cb4b16; } /* Preprocessor */
code span.re { color: #cb4b16; } /* RegionMarker */
code span.sc { color: #dc322f; } /* SpecialChar */
code span.ss { color: #b58900; } /* SpecialString */
code span.st { color: #2aa198; } /* String */
code span.va { color: #cb4b16; } /* Variable */
code span.vs { color: #dc322f; } /* VerbatimString */
code span.wa { color: #b58900; } /* Warning */
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Home</title>
<link rel="icon" type="image/x-icon" href="images/favicon.png">
<link rel="alternate" type="application/rss+xml" title="RSS" href="https://nevereverever.de/eh/eh/eh/eh-eh/rss.xml">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
/* CSS for syntax highlighting */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #073642;
color: #586e75;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #586e75; padding-left: 4px; }
div.sourceCode
{ color: #839496; background-color: #002b36; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #d33682; } /* Alert */
code span.an { color: #dc322f; } /* Annotation */
code span.at { color: #dc322f; } /* Attribute */
code span.bn { color: #2aa198; } /* BaseN */
code span.bu { color: #b58900; } /* BuiltIn */
code span.cf { color: #859900; } /* ControlFlow */
code span.ch { color: #2aa198; } /* Char */
code span.cn { color: #b58900; } /* Constant */
code span.co { color: #586e75; font-style: italic; } /* Comment */
code span.cv { color: #268bd2; } /* CommentVar */
code span.do { color: #586e75; font-style: italic; } /* Documentation */
code span.dt { color: #b58900; } /* DataType */
code span.dv { color: #2aa198; } /* DecVal */
code span.er { color: #dc322f; text-decoration: underline; } /* Error */
code span.ex { color: #b58900; } /* Extension */
code span.fl { color: #2aa198; } /* Float */
code span.fu { } /* Function */
code span.im { color: #cb4b16; } /* Import */
code span.in { color: #268bd2; } /* Information */
code span.kw { color: #93a1a1; font-weight: bold; } /* Keyword */
code span.op { } /* Operator */
code span.ot { } /* Other */
code span.pp { color: #cb4b16; } /* Preprocessor */
code span.re { color: #cb4b16; } /* RegionMarker */
code span.sc { color: #dc322f; } /* SpecialChar */
code span.ss { color: #b58900; } /* SpecialString */
code span.st { color: #2aa198; } /* String */
code span.va { color: #cb4b16; } /* Variable */
code span.vs { color: #dc322f; } /* VerbatimString */
code span.wa { color: #b58900; } /* Warning */
</style>
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Home</h1>
</header>
<article>
<p>Hello! I am Never and this is my little place on the internet where I
<img id="shork" src="images/shork.png"></img>
<header id="page-header">
<a class="page-header-button" href="index.html">Home</a>
<a class="rss-button" href="rss.xml">RSS Feed</a>
</header>
<main id="page">
<header id="title-block-header">
<h1 class="title">Home</h1>
</header>
<article>
<p>Hello! I am Never and this is my little place on the internet where I
post the stuff that I am currently nerding out about.</p>
<p>This Website itself is one of those projects, that I like to tweak
and tinker with. Maybe Ill write an article about its build system. It
is also viewable via <code>curl</code>. Just run</p>
<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">curl</span> nevereverever.de</span></code></pre></div>
<p>There also is an RSS Feed to stay updated about my doings.</p>
</article>
<nav id="articles">
<h1>Articles</h1>
<ul>
<li>
<header class="articles-header">
<a href="rsync-android.html" class="articles-title">Using rsync on
</article>
<nav id="articles">
<h1>Articles</h1>
<ul>
<li>
<header class="articles-header">
<a href="rsync-android.html" class="articles-title">Using rsync on
Android to syncronise my Music library</a>
</header>
<p class="articles-summary">As Spotify is getting enshittified by
</header>
<p class="articles-summary">As Spotify is getting enshittified by
capitalism, keeping a music library is kind of essential. Here I use
rsync to syncronise my library with my Android smartphone.</p>
<footer class="articles-footer">
<div class="articles-author">Never</div>
<div class="articles-date">2026-01-12</div>
</footer>
</li>
<li>
<header class="articles-header">
<a href="latex-endeavors.html" class="articles-title">Latex
<footer class="articles-footer">
<div class="articles-author">Never</div>
<div class="articles-date">2026-01-12</div>
</footer>
</li>
<li>
<header class="articles-header">
<a href="latex-endeavors.html" class="articles-title">Latex
Endeavors</a>
</header>
<p class="articles-summary">Latex undoubtedly has some quirks. Some of
</header>
<p class="articles-summary">Latex undoubtedly has some quirks. Some of
them have a rather unintuitive solution. In this article I cover some
quirks and solutions I have encountered.</p>
<footer class="articles-footer">
<div class="articles-author">Never</div>
<div class="articles-date">2026-01-09</div>
</footer>
</li>
<li>
<header class="articles-header">
<a href="random-linux-utils.html" class="articles-title">Random linux
<footer class="articles-footer">
<div class="articles-author">Never</div>
<div class="articles-date">2026-01-09</div>
</footer>
</li>
<li>
<header class="articles-header">
<a href="random-linux-utils.html" class="articles-title">Random linux
utilities</a>
</header>
<p class="articles-summary">Tricks and tools I learned about, while
</header>
<p class="articles-summary">Tricks and tools I learned about, while
tweaking my Linux sytem or trying to do productive things.</p>
<footer class="articles-footer">
<div class="articles-author">Never</div>
<div class="articles-date">2025-07-25</div>
</footer>
</li>
</ul>
</nav>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous" src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg" width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next" src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
<footer class="articles-footer">
<div class="articles-author">Never</div>
<div class="articles-date">2025-07-25</div>
</footer>
</li>
</ul>
</nav>
</main>
<footer id="page-footer">
<nav id="webring">
<a href="https://cups.teabucket.eu/prev?from=never" target="_parent"><img alt="Previous"
src="images/cups_left_dark.svg" width="30" height="30"></a>
<a href="https://cups.teabucket.eu/" target="_parent"><img alt="CUPS" src="images/cups_logo_dark.svg"
width="120" height="60"></a>
<a href="https://cups.teabucket.eu/next?from=never" target="_parent"><img alt="Next"
src="images/cups_right_dark.svg" width="30" height="30"></a>
</nav>
</footer>
</body>
<script src="scripts/shork.js"></script>
</html>

View file

@ -1,44 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>nevereverever.de</title>
<link>https://nevereverever.de/eh/eh/eh/eh-eh</link>
<description>Here I post random stuff.</description>
<language>en-us</language>
<pubDate>Mon, 12 Jan 2026 00:00:00 +0100</pubDate>
<lastBuildDate>Sat, 21 Feb 2026 15:40:08 +0100</lastBuildDate>
<docs>https://www.rssboard.org/rss-specification</docs>
<generator>pandoc</generator>
<managingEditor>n.gude@posteo.de (Never)</managingEditor>
<webMaster>n.gude@poster.de (Never)</webMaster>
<item>
<title>Using rsync on Android to syncronise my Music library</title>
<author>n.gude@posteo.de (Never)</author>
<link>https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html</link>
<description>As Spotify is getting enshittified by capitalism, keeping a
<channel>
<title>nevereverever.de</title>
<link>https://nevereverever.de/eh/eh/eh/eh-eh</link>
<description>Here I post random stuff.</description>
<language>en-us</language>
<pubDate>Mon, 12 Jan 2026 00:00:00 +0100</pubDate>
<lastBuildDate>Tue, 24 Feb 2026 21:56:55 +0100</lastBuildDate>
<docs>https://www.rssboard.org/rss-specification</docs>
<generator>pandoc</generator>
<managingEditor>n.gude@posteo.de (Never)</managingEditor>
<webMaster>n.gude@poster.de (Never)</webMaster>
<item>
<title>Using rsync on Android to syncronise my Music library</title>
<author>n.gude@posteo.de (Never)</author>
<link>https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html</link>
<description>As Spotify is getting enshittified by capitalism, keeping a
music library is kind of essential. Here I use rsync to syncronise my
library with my Android smartphone.</description>
<pubDate>Mon, 12 Jan 2026 00:00:00 +0100</pubDate>
<guid>rsync-android</guid>
</item>
<item>
<title>Latex Endeavors</title>
<author>n.gude@posteo.de (Never)</author>
<link>https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html</link>
<description>Latex undoubtedly has some quirks. Some of them have a
<pubDate>Mon, 12 Jan 2026 00:00:00 +0100</pubDate>
<guid>rsync-android</guid>
</item>
<item>
<title>Latex Endeavors</title>
<author>n.gude@posteo.de (Never)</author>
<link>https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html</link>
<description>Latex undoubtedly has some quirks. Some of them have a
rather unintuitive solution. In this article I cover some quirks and
solutions I have encountered.</description>
<pubDate>Fri, 09 Jan 2026 00:00:00 +0100</pubDate>
<guid>latex-endeavors</guid>
</item>
<item>
<title>Random linux utilities</title>
<author>n.gude@posteo.de (Never)</author>
<link>https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html</link>
<description>Tricks and tools I learned about, while tweaking my Linux
<pubDate>Fri, 09 Jan 2026 00:00:00 +0100</pubDate>
<guid>latex-endeavors</guid>
</item>
<item>
<title>Random linux utilities</title>
<author>n.gude@posteo.de (Never)</author>
<link>https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html</link>
<description>Tricks and tools I learned about, while tweaking my Linux
sytem or trying to do productive things.</description>
<pubDate>Fri, 25 Jul 2025 00:00:00 +0200</pubDate>
<guid>random-linux-utils</guid>
</item>
</channel>
<pubDate>Fri, 25 Jul 2025 00:00:00 +0200</pubDate>
<guid>random-linux-utils</guid>
</item>
</channel>
</rss>