diff --git a/build/articles/latex-endeavors.html b/build/articles/latex-endeavors.html index 5303a9d..af842af 100644 --- a/build/articles/latex-endeavors.html +++ b/build/articles/latex-endeavors.html @@ -1,46 +1,49 @@ - + + - - - - - - Latex Endeavors - - - - + + + + + + Latex Endeavors + + + + + + - - -
-
-

Latex Endeavors

-

Some unintuitive quirks of Latex

-

Never

-

2026-01-09

-
- +
+

BibLaTeX and Biber

Biber doesn’t run

Biber doens’t run if the (fedora) package libxcrypt-compat is missing. It will fail with the error message

biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
-
-
- - + + + + diff --git a/build/articles/random-linux-utils.html b/build/articles/random-linux-utils.html index c44f6b3..9f5900a 100644 --- a/build/articles/random-linux-utils.html +++ b/build/articles/random-linux-utils.html @@ -1,122 +1,125 @@ - + + - - - - - - Random linux utilities - - - - + + + + + + Random linux utilities + + + + + + - - -
-
-

Random linux utilities

-

Neat things I picked up along the way

-

Never

-

2025-07-25

-
- +
+

Merge pdfs

Using Ghostscript

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 @@ doesn’t rasterize and scales down the pdf files.

class="sourceCode bash">gs -dNOPAUSE -sDEVICE=pdfwrite \ -sOUTPUTFILE=output.pdf \ -dBATCH 1.pdf 2.pdf -
-
- - + + + + diff --git a/build/articles/rsync-android b/build/articles/rsync-android index bb54f82..5e96bd6 100644 --- a/build/articles/rsync-android +++ b/build/articles/rsync-android @@ -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;;\ \ No newline at end of file diff --git a/build/articles/rsync-android.html b/build/articles/rsync-android.html index d7a6a2f..5d82a29 100644 --- a/build/articles/rsync-android.html +++ b/build/articles/rsync-android.html @@ -1,113 +1,116 @@ - + + - - - - - - Using rsync on Android to syncronise my Music library - - - - + + + + + + Using rsync on Android to syncronise my Music library + + + + + + - - -
-
-

Using rsync on Android to syncronise my Music + + +
+
+

Using rsync on Android to syncronise my Music library

-

Never

-

2026-01-12

-
-

+ -
-

Setup Termux

+ +
+

Setup Termux

Install Termux using F-Droid.

Update software repos.

pkg update
@@ -187,34 +186,18 @@ class="sourceCode sh">
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/
-
-
- - + + + + diff --git a/build/index b/build/index index eb7d975..e633834 100644 --- a/build/index +++ b/build/index @@ -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;;\ \ No newline at end of file diff --git a/build/index.html b/build/index.html index 199ab24..aa7debd 100644 --- a/build/index.html +++ b/build/index.html @@ -1,166 +1,172 @@ - + + - - - - Home - - - - + + + + Home + + + + + + - - -
-
-

Home

-
-
-

Hello! I am Never and this is my little place on the internet where I + +

+
+
+

Home

+
+
+

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.

This Website itself is one of those projects, that I like to tweak and tinker with. Maybe I’ll write an article about its build system. It is also viewable via curl. Just run

curl nevereverever.de

There also is an RSS Feed to stay updated about my doings.

-
-
+ -
- - + + + + + + + diff --git a/build/rss.xml b/build/rss.xml index d7d1bc7..5e30cb7 100644 --- a/build/rss.xml +++ b/build/rss.xml @@ -1,44 +1,44 @@ - -nevereverever.de -https://nevereverever.de/eh/eh/eh/eh-eh -Here I post random stuff. -en-us -Mon, 12 Jan 2026 00:00:00 +0100 -Sat, 21 Feb 2026 15:40:08 +0100 -https://www.rssboard.org/rss-specification -pandoc -n.gude@posteo.de (Never) -n.gude@poster.de (Never) - -Using rsync on Android to syncronise my Music library -n.gude@posteo.de (Never) -https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html -As Spotify is getting enshittified by capitalism, keeping a + + nevereverever.de + https://nevereverever.de/eh/eh/eh/eh-eh + Here I post random stuff. + en-us + Mon, 12 Jan 2026 00:00:00 +0100 + Tue, 24 Feb 2026 21:56:55 +0100 + https://www.rssboard.org/rss-specification + pandoc + n.gude@posteo.de (Never) + n.gude@poster.de (Never) + + Using rsync on Android to syncronise my Music library + n.gude@posteo.de (Never) + https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html + 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. -Mon, 12 Jan 2026 00:00:00 +0100 -rsync-android - - -Latex Endeavors -n.gude@posteo.de (Never) -https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html -Latex undoubtedly has some quirks. Some of them have a + Mon, 12 Jan 2026 00:00:00 +0100 + rsync-android + + + Latex Endeavors + n.gude@posteo.de (Never) + https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html + 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. -Fri, 09 Jan 2026 00:00:00 +0100 -latex-endeavors - - -Random linux utilities -n.gude@posteo.de (Never) -https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html -Tricks and tools I learned about, while tweaking my Linux + Fri, 09 Jan 2026 00:00:00 +0100 + latex-endeavors + + + Random linux utilities + n.gude@posteo.de (Never) + https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html + Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. -Fri, 25 Jul 2025 00:00:00 +0200 -random-linux-utils - - + Fri, 25 Jul 2025 00:00:00 +0200 + random-linux-utils + + diff --git a/pandoc.md b/pandoc.md new file mode 100644 index 0000000..3b3e70b --- /dev/null +++ b/pandoc.md @@ -0,0 +1,209 @@ +--- +title: Testing pandoc markdown capabilities +subtitle: Things I hope just work +author: Never +email: n.gude@posteo.de +date: 2025-07-25 +summary: Pandocs wonderful Markdown features tested out. +--- + +# Level 1 Heading +A link to a Heading [Level 4 Heading] followed by another paragraph. + +* fruits + + Everything is a fruit + + apples + - macintosh + - red delicious + + pears + + peaches +* vegetables + + broccoli + + chard + +1. first +2. second +3. third + i. subone + ii. subtwo + iii. subthree + +- [ ] an unchecked task list item +- [x] checked item + +Lorem _ipsum dolor_ sit amet, consectetur *adipi*scing elit. Integer nisl enim, condimentum ~~vitae lacus vel~~, semper efficitur est. Cras pretium porta luctus. __Nulla iaculis__ nisi at quam varius, et con**sequat** lorem blandit. Ut tincidunt leo sit amet velit lobortis, et blandit metus mollis. Nam H~2~O tristique ex a quam aliquet, eget 2^10^ vehicula sapien `rhoncus`. Aliquam `return 0;`{.c} sodales pretium auctor. [Aliquam convallis]{.smallcaps} sodales [elementum]{.mark}. + +```c +#include + +// TODO: A funny comment +int main() { + char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'}; + char greetings2[] = "Hello World!"; + + printf("%zu\n", sizeof(greetings)); + printf("%zu\n", sizeof(greetings2)); + + return 0; +} +``` + +Aenean eros lacus, volutpat at molestie vitae, pretium eu diam. Quisque sit $1 + 2 + 3 + \cdots + n$ amet nisl ut dolor congue sodales. + +$$ +\sum_{i=1}^{n} i = \frac{n (n + 1)}{2} +$$ + + + +## Level 2 Heading +> This is a block quote with +> two lines and a +> +> 1. List item +> 2. Another list item +> +> > And a nested block quote +> +> Yeah + +Term 1 + +: Definition 1 + +Term 2 with *inline markup* + +: Definition 2 + + { some code, part of Definition 2 } + + Third paragraph of definition 2. + +Term 1 + ~ Definition 1 + +Term 2 + ~ Definition 2a + ~ Definition 2b + + +### Level 3 Heading +A little poem + +| The limerick packs laughs anatomical +| In space that is quite economical. +| But the good ones I've seen +| So seldom are clean +| And the clean ones so seldom are comical + + +* * * * + +(@) My first example will be numbered (1). +(@good) My second example will be numbered (2). + +Explanation of examples. + +(@) My third example will be numbered (3). + +As (@good) illustrates, ... + +--------------- + +#### Level 4 Heading + Right Left Center Default +------- ------ ---------- ------- + 12 12 12 12 + 123 123 123 123 + 1 1 1 1 + +Table: Demonstration of simple table syntax. + +Following is a multiline table + +------------------------------------------------------------- + Centered Default Right Left + Header Aligned Aligned Aligned +----------- ------- --------------- ------------------------- + First row 12.0 Example of a row that + spans multiple lines. + + Second row 5.0 Here's another one. Note + the blank line between + rows. +------------------------------------------------------------- + +Table: Here's the caption. It, too, may span +multiple lines. + +Then we have a Grid table + ++---------------------+-----------------------+ +| Location | Temperature 1961-1990 | +| | in degree Celsius | +| +-------+-------+-------+ +| | min | mean | max | ++:====================+======:+======:+======:+ +| Antarctica | -89.2 | N/A | 19.8 | ++---------------------+-------+-------+-------+ +| Earth | -89.2 | 14 | 56.7 | ++---------------------+-------+-------+-------+ + +Table: Grid table + +An a Pipe table + +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax. + +##### Level 5 Heading + + + + +[my label 1]: index.html "My title, optional" +[my label 2]: . +[my label 3]: https://fsf.org (The Free Software Foundation) +[my label 4]: index.html#articles 'A title in single quotes' + +Link to [my label 1] and [my label 2] and [my label 3] and [my label 4] + +This is an [inline link](/url), and here's [one with +a title](https://fsf.org "click here for a good time!") and [Write me!](mailto:sam@green.eggs.ham) + +![The wonderful shork](images/shork.png "the shork"){width=20%} + +Here is a footnote reference,[^1] and another.[^longnote] + +[^1]: Here is the footnote. + +[^longnote]: Here's one with multiple blocks. + + Subsequent paragraphs are indented to show that they +belong to the previous footnote. + + { some.code } + + The whole paragraph can be indented, or just the first + line. In this way, multi-paragraph footnotes work like + multi-paragraph list items. + +This paragraph won't be part of the note, because it +isn't indented. + +###### Level 6 Heading +::: Warning :::::: +This is a warning. + +::: Danger +This is a warning within a warning. +::: +:::::::::::::::::: + + diff --git a/pandoc/ansi-template b/pandoc/ansi-template index 33ef978..65009f1 100644 --- a/pandoc/ansi-template +++ b/pandoc/ansi-template @@ -26,7 +26,7 @@ $endif$ $if(articles.summary)$ $articles.summary$ $endif$ -$if(articles.author)$ $articles.author$$endif$$if(articles.date)$ - $articles.date$$endif$ +$if(articles.author)$ $articles.author$$endif$$if(articles.date)$ - $articles.date$$endif$ $endfor$ $endif$ diff --git a/pandoc/html-template.html b/pandoc/html-template.html index a91d2af..424adcc 100644 --- a/pandoc/html-template.html +++ b/pandoc/html-template.html @@ -1,118 +1,124 @@ - + + - - - -$for(author-meta)$ - -$endfor$ -$if(date-meta)$ - -$endif$ -$if(keywords)$ - -$endif$ -$if(description-meta)$ - -$endif$ - $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ - - -$for(css)$ - -$endfor$ -$for(header-includes)$ - $header-includes$ -$endfor$ -$if(math)$ -$if(mathjax)$ - -$endif$ - $math$ -$endif$ + + + + $for(author-meta)$ + + $endfor$ + $if(date-meta)$ + + $endif$ + $if(keywords)$ + + $endif$ + $if(description-meta)$ + + $endif$ + $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ + + + + $for(css)$ + + $endfor$ + $for(header-includes)$ + $header-includes$ + $endfor$ + $if(math)$ + $if(mathjax)$ + + $endif$ + $math$ + $endif$ + -$for(include-before)$ -$include-before$ -$endfor$ - - -
-$if(title)$ -
-

$title$

-$if(subtitle)$ -

$subtitle$

-$endif$ -$for(author)$ -

$author$

-$endfor$ -$if(date)$ -

$date$

-$endif$ -$if(abstract)$ -
-
$abstract-title$
-$abstract$ -
-$endif$ -
-$endif$ -$if(toc)$ - -$endif$ -
-$body$ -
-$if(articles)$ - -$endif$ -
-
- -
-$for(include-after)$ -$include-after$ -$endfor$ + $for(include-before)$ + $include-before$ + $endfor$ + + +
+ $if(title)$ +
+

$title$

+ $if(subtitle)$ +

$subtitle$

+ $endif$ + $for(author)$ +

$author$

+ $endfor$ + $if(date)$ +

$date$

+ $endif$ + $if(abstract)$ +
+
$abstract-title$
+ $abstract$ +
+ $endif$ +
+ $endif$ + $if(toc)$ + + $endif$ +
+ $body$ +
+ $if(articles)$ + + $endif$ +
+
+ +
+ $for(include-after)$ + $include-after$ + $endfor$ diff --git a/pandoc/rss-template.xml b/pandoc/rss-template.xml index fd99164..b453c4b 100644 --- a/pandoc/rss-template.xml +++ b/pandoc/rss-template.xml @@ -1,53 +1,53 @@ - -$if(title)$ -$title$ -$endif$ -$if(link)$ -$link$ -$endif$ -$if(description)$ -$description$ -$endif$ -$if(lang)$ -$lang$ -$endif$ -$if(pubdate)$ -$pubdate$ -$endif$ -$if(builddate)$ -$builddate$ -$endif$ -https://www.rssboard.org/rss-specification -pandoc -$if(editor)$ -$editor$ -$endif$ -$if(webmaster)$ -$webmaster$ -$endif$ -$for(articles)$ - -$if(articles.title)$ -$articles.title$ -$endif$ -$if(articles.email)$ -$articles.email$$if(articles.author)$ ($articles.author$)$endif$ -$endif$ -$if(articles.filename)$ -$link$/$articles.filename$.html -$endif$ -$if(articles.summary)$ -$articles.summary$ -$endif$ -$if(articles.date)$ -$articles.pubdate$ -$endif$ -$if(articles.filename)$ -$articles.filename$ -$endif$ - -$endfor$ - + + $if(title)$ + $title$ + $endif$ + $if(link)$ + $link$ + $endif$ + $if(description)$ + $description$ + $endif$ + $if(lang)$ + $lang$ + $endif$ + $if(pubdate)$ + $pubdate$ + $endif$ + $if(builddate)$ + $builddate$ + $endif$ + https://www.rssboard.org/rss-specification + pandoc + $if(editor)$ + $editor$ + $endif$ + $if(webmaster)$ + $webmaster$ + $endif$ + $for(articles)$ + + $if(articles.title)$ + $articles.title$ + $endif$ + $if(articles.email)$ + $articles.email$$if(articles.author)$ ($articles.author$)$endif$ + $endif$ + $if(articles.filename)$ + $link$/$articles.filename$.html + $endif$ + $if(articles.summary)$ + $articles.summary$ + $endif$ + $if(articles.pubdate)$ + $articles.pubdate$ + $endif$ + $if(articles.filename)$ + $articles.filename$ + $endif$ + + $endfor$ + diff --git a/pandoc/solarized.theme b/pandoc/solarized.theme index e89db08..d9b1ca6 100644 --- a/pandoc/solarized.theme +++ b/pandoc/solarized.theme @@ -1,226 +1,226 @@ { - "metadata": { - "author": "Never Gude ", - "license": "Unlicense", - "name": "solarized", - "revision": 1 - }, - - "text-color": "#839496", - "background-color": "#002b36", - "line-number-color": "#586e75", - "line-number-background-color": "#073642", - - "text-styles": { - "Alert": { - "text-color": "#d33682", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Annotation": { - "text-color": "#dc322f", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Attribute": { - "text-color": "#dc322f", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "BaseN": { - "text-color": "#2aa198", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "BuiltIn": { - "text-color": "#b58900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Char": { - "text-color": "#2aa198", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Comment": { - "text-color": "#586e75", - "background-color": null, - "bold": false, - "italic": true, - "underline": false - }, - "CommentVar": { - "text-color": "#268bd2", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Constant": { - "text-color": "#b58900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "ControlFlow": { - "text-color": "#859900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "DataType": { - "text-color": "#b58900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "DecVal": { - "text-color": "#2aa198", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Documentation": { - "text-color": "#586e75", - "background-color": null, - "bold": false, - "italic": true, - "underline": false - }, - "Error": { - "text-color": "#dc322f", - "background-color": null, - "bold": false, - "italic": false, - "underline": true - }, - "Extension": { - "text-color": "#b58900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Float": { - "text-color": "#2aa198", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Function": { - "text-color": null, - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Import": { - "text-color": "#cb4b16", - "background-color": null, - "bold": null, - "italic": false, - "underline": false - }, - "Information": { - "text-color": "#268bd2", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Keyword": { - "text-color": "#93a1a1", - "background-color": null, - "bold": true, - "italic": false, - "underline": false - }, - "Operator": { - "text-color": null, - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Others": { - "text-color": null, - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Preprocessor": { - "text-color": "#cb4b16", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "RegionMarker": { - "text-color": "#cb4b16", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "SpecialChar": { - "text-color": "#dc322f", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "SpecialString": { - "text-color": "#b58900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "String": { - "text-color": "#2aa198", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Variable": { - "text-color": "#cb4b16", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "VerbatimString": { - "text-color": "#dc322f", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - }, - "Warning": { - "text-color": "#b58900", - "background-color": null, - "bold": false, - "italic": false, - "underline": false - } - } + "metadata": { + "author": "Never Gude ", + "license": "Unlicense", + "name": "solarized", + "revision": 1 + }, + + "text-color": "#839496", + "background-color": "#002b36", + "line-number-color": "#586e75", + "line-number-background-color": "#073642", + + "text-styles": { + "Alert": { + "text-color": "#d33682", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Annotation": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Attribute": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "BaseN": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "BuiltIn": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Char": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Comment": { + "text-color": "#586e75", + "background-color": null, + "bold": false, + "italic": true, + "underline": false + }, + "CommentVar": { + "text-color": "#268bd2", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Constant": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "ControlFlow": { + "text-color": "#859900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "DataType": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "DecVal": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Documentation": { + "text-color": "#586e75", + "background-color": null, + "bold": false, + "italic": true, + "underline": false + }, + "Error": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": true + }, + "Extension": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Float": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Function": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Import": { + "text-color": "#cb4b16", + "background-color": null, + "bold": null, + "italic": false, + "underline": false + }, + "Information": { + "text-color": "#268bd2", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Keyword": { + "text-color": "#93a1a1", + "background-color": null, + "bold": true, + "italic": false, + "underline": false + }, + "Operator": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Others": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Preprocessor": { + "text-color": "#cb4b16", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "RegionMarker": { + "text-color": "#cb4b16", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "SpecialChar": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "SpecialString": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "String": { + "text-color": "#2aa198", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Variable": { + "text-color": "#cb4b16", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "VerbatimString": { + "text-color": "#dc322f", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Warning": { + "text-color": "#b58900", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + } + } } diff --git a/public_ansi/index b/public_ansi/index index eb7d975..e633834 100644 --- a/public_ansi/index +++ b/public_ansi/index @@ -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;;\ \ No newline at end of file diff --git a/public_ansi/pandoc b/public_ansi/pandoc new file mode 100644 index 0000000..e3d08ab --- /dev/null +++ b/public_ansi/pandoc @@ -0,0 +1,218 @@ + Testing pandoc markdown capabilities + Things I hope just work + + Never + + 2025-07-25 + + ──────────────────── + +LEVEL 1 HEADING + +A link to a Heading ]8;;#level-4-heading\Level 4 Heading]8;;\ followed by another paragraph. + +• fruits + + Everything is a fruit + + • apples + + • macintosh + + • red delicious + + • pears + + • peaches + +• vegetables + + • broccoli + + • chard + +1. first + +2. second + +3. third + + i. subone + + ii. subtwo + + iii. subthree + +• ☐ an unchecked task list item + +• ☒ checked item + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl +enim, condimentum vitae lacus vel, semper efficitur est. Cras pretium +porta luctus. Nulla iaculis nisi at quam varius, et consequat lorem +blandit. Ut tincidunt leo sit amet velit lobortis, et blandit metus +mollis. Nam H₂O tristique ex a quam aliquet, eget 2¹⁰ vehicula sapien + rhoncus . Aliquam  return 0;  sodales pretium auctor. Aliquam convallis +sodales elementum. + + #include  + + // TODO: A funny comment + int main() { +  char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'}; +  char greetings2[] = "Hello World!"; + +  printf("%zu\n", sizeof(greetings)); +  printf("%zu\n", sizeof(greetings2)); + +  return 0; + } + +Aenean eros lacus, volutpat at molestie vitae, pretium eu diam. Quisque +sit 1 + 2 + 3 + ⋯ + n amet nisl ut dolor congue sodales. + +$$ +\sum_{i=1}^{n} i = \frac{n (n + 1)}{2} +$$ + +Level 2 Heading + +│ This is a block quote with two lines and a +│ +│ 1. List item +│ +│ 2. Another list item +│ +│ │ And a nested block quote +│ +│ Yeah + +Term 1 + Definition 1 + +Term 2 with inline markup + Definition 2 + + { some code, part of Definition 2 } + + Third paragraph of definition 2. + +Term 1 + Definition 1 + +Term 2 + Definition 2a + + Definition 2b + +Level 3 Heading + +A little poem + +The limerick packs laughs anatomical +In space that is quite economical. +   But the good ones I’ve seen +   So seldom are clean +And the clean ones so seldom are comical + +──────────────────── + +(1) My first example will be numbered (1). + +(2) My second example will be numbered (2). + +Explanation of examples. + +(3) My third example will be numbered (3). + +As (2) illustrates, … + +──────────────────── + +Level 4 Heading + +Right Left Center Default +───────────────── ───────────────── ───────────────── ───────────────── +12 12 12 12 +123 123 123 123 +1 1 1 1 +───────────────── ───────────────── ───────────────── ───────────────── + + Demonstration of simple table syntax. + +Following is a multiline table + +Centered Default Right Aligned Left Aligned +Header Aligned +─────────── ─────── ─────────────── ──────────────────────── +First row 12.0 Example of a row that + spans multiple lines. +Second row 5.0 Here’s another one. Note + the blank line between + rows. +─────────── ─────── ─────────────── ──────────────────────── + + Here’s the caption. It, too, may span multiple lines. + +Then we have a Grid table + +Location Temperature 1961-1990 + in degree Celsius +min mean max +───────────────────── ─────── ─────── ─────── +Antarctica -89.2 N/A 19.8 +Earth -89.2 14 56.7 +───────────────────── ─────── ─────── ─────── + + Grid table + +An a Pipe table + +Right Left Default Center +───────────────── ───────────────── ───────────────── ───────────────── +12 12 12 12 +123 123 123 123 +1 1 1 1 +───────────────── ───────────────── ───────────────── ───────────────── + + Demonstration of pipe table syntax. + +Level 5 Heading + +]8;;https://google.com\https://google.com]8;;\ + +]8;;mailto:sam@green.eggs.ham\sam@green.eggs.ham]8;;\ + +Link to ]8;;index.html\my label 1]8;;\ and ]8;;.\my label 2]8;;\ and ]8;;https://fsf.org\my label 3]8;;\ and ]8;;index.html#articles\my label 4]8;;\ + +This is an ]8;;/url\inline link]8;;\, and here’s ]8;;https://fsf.org\one with a title]8;;\ and ]8;;mailto:sam@green.eggs.ham\Write me!]8;;\ + +[image] + + The wonderful shork + +Here is a footnote reference,¹ and another.² + +This paragraph won’t be part of the note, because it isn’t indented. + +Level 6 Heading + +This is a warning. + +This is a warning within a warning. + + ──────────────────── + + 1. Here is the footnote. + + 2. Here’s one with multiple blocks. + + Subsequent paragraphs are indented to show that they belong to the + previous footnote. + + { some.code } + + The whole paragraph can be indented, or just the first line. In + this way, multi-paragraph footnotes work like multi-paragraph list + items. +]8;;\ \ No newline at end of file diff --git a/public_ansi/rsync-android b/public_ansi/rsync-android index bb54f82..5e96bd6 100644 --- a/public_ansi/rsync-android +++ b/public_ansi/rsync-android @@ -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;;\ \ No newline at end of file diff --git a/public_html/eh/eh/eh/eh-eh/index.html b/public_html/eh/eh/eh/eh-eh/index.html index 199ab24..aa7debd 100644 --- a/public_html/eh/eh/eh/eh-eh/index.html +++ b/public_html/eh/eh/eh/eh-eh/index.html @@ -1,166 +1,172 @@ - + + - - - - Home - - - - + + + + Home + + + + + + - - -
-
-

Home

-
-
-

Hello! I am Never and this is my little place on the internet where I + +

+
+
+

Home

+
+
+

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.

This Website itself is one of those projects, that I like to tweak and tinker with. Maybe I’ll write an article about its build system. It is also viewable via curl. Just run

curl nevereverever.de

There also is an RSS Feed to stay updated about my doings.

-
-
+ -
-
- -
- +
+
Never
+
2025-07-25
+
+ + + + +
+ +
+ diff --git a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html index 5303a9d..af842af 100644 --- a/public_html/eh/eh/eh/eh-eh/latex-endeavors.html +++ b/public_html/eh/eh/eh/eh-eh/latex-endeavors.html @@ -1,46 +1,49 @@ - + + - - - - - - Latex Endeavors - - - - + + + + + + Latex Endeavors + + + + + + - - -
-
-

Latex Endeavors

-

Some unintuitive quirks of Latex

-

Never

-

2026-01-09

-
- +
+

BibLaTeX and Biber

Biber doesn’t run

Biber doens’t run if the (fedora) package libxcrypt-compat is missing. It will fail with the error message

biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
-
-
-
- -
- + + +
+ +
+ diff --git a/public_html/eh/eh/eh/eh-eh/pandoc.html b/public_html/eh/eh/eh/eh-eh/pandoc.html new file mode 100644 index 0000000..fca7ea4 --- /dev/null +++ b/public_html/eh/eh/eh/eh-eh/pandoc.html @@ -0,0 +1,437 @@ + + + + + + + + + + Testing pandoc markdown capabilities + + + + + + + + +
+
+

Testing pandoc markdown capabilities

+

Things I hope just work

+

Never

+

2025-07-25

+
+ +
+

Level 1 Heading

+

A link to a Heading Level 4 Heading +followed by another paragraph.

+
    +
  • fruits

    +

    Everything is a fruit

    +
      +
    • apples +
        +
      • macintosh
      • +
      • red delicious
      • +
    • +
    • pears
    • +
    • peaches
    • +
  • +
  • vegetables

    +
      +
    • broccoli
    • +
    • chard
    • +
  • +
+
    +
  1. first
  2. +
  3. second
  4. +
  5. third +
      +
    1. subone
    2. +
    3. subtwo
    4. +
    5. subthree
    6. +
  6. +
+
    +
  • +
  • +
+

Lorem ipsum dolor sit amet, consectetur adipiscing +elit. Integer nisl enim, condimentum vitae lacus vel, semper +efficitur est. Cras pretium porta luctus. Nulla iaculis +nisi at quam varius, et consequat lorem blandit. Ut +tincidunt leo sit amet velit lobortis, et blandit metus mollis. Nam +H2O tristique ex a quam aliquet, eget 210 vehicula +sapien rhoncus. Aliquam return 0; +sodales pretium auctor. Aliquam convallis +sodales elementum.

+
#include <stdio.h>
+
+// TODO: A funny comment
+int main() {
+    char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
+    char greetings2[] = "Hello World!";
+
+    printf("%zu\n", sizeof(greetings));
+    printf("%zu\n", sizeof(greetings2));
+
+    return 0;
+}
+

Aenean eros lacus, volutpat at molestie vitae, pretium eu diam. +Quisque sit +1+2+3++n1 + 2 + 3 + \cdots + n +amet nisl ut dolor congue sodales.

+

i=1ni=n(n+1)2 +\sum_{i=1}^{n} i = \frac{n (n + 1)}{2} +

+

Level 2 Heading

+
+

This is a block quote with two lines and a

+
    +
  1. List item
  2. +
  3. Another list item
  4. +
+
+

And a nested block quote

+
+

Yeah

+
+
+
Term 1
+
+

Definition 1

+
+
Term 2 with inline markup
+
+

Definition 2

+
{ some code, part of Definition 2 }
+

Third paragraph of definition 2.

+
+
Term 1
+
+Definition 1 +
+
Term 2
+
+Definition 2a +
+
+Definition 2b +
+
+

Level 3 Heading

+

A little poem

+
The limerick packs laughs anatomical
+In space that is quite economical.
+   But the good ones I’ve seen
+   So seldom are clean
+And the clean ones so seldom are comical
+
+
    +
  1. My first example will be numbered (1).
  2. +
  3. My second example will be numbered (2).
  4. +
+

Explanation of examples.

+
    +
  1. My third example will be numbered (3).
  2. +
+

As (2) illustrates, …

+
+

Level 4 Heading

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Demonstration of simple table syntax.
RightLeftCenterDefault
12121212
123123123123
1111
+

Following is a multiline table

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
Here’s the caption. It, too, may span multiple lines.
Centered HeaderDefault AlignedRight AlignedLeft Aligned
Firstrow12.0Example of a row that spans multiple +lines.
Secondrow5.0Here’s another one. Note the blank line +between rows.
+

Then we have a Grid table

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
Grid table
LocationTemperature 1961-1990 in +degree Celsius
minmeanmax
Antarctica-89.2N/A19.8
Earth-89.21456.7
+

An a Pipe table

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Demonstration of pipe table syntax.
RightLeftDefaultCenter
12121212
123123123123
1111
+
Level 5 Heading
+

https://google.com

+

sam@green.eggs.ham

+

Link to my label +1 and my label 2 and my label 3 and my label +4

+

This is an inline link, and here’s one with a +title and Write me!

+
+ + +
+

Here is a footnote reference,1 and another.2

+

This paragraph won’t be part of the note, because it isn’t +indented.

+
Level 6 Heading
+
+

This is a warning.

+
+

This is a warning within a warning.

+
+
+
+
+
    +
  1. Here is the footnote.↩︎

  2. +
  3. Here’s one with multiple blocks.

    +

    Subsequent paragraphs are indented to show that they belong to the +previous footnote.

    +
    { some.code }
    +

    The whole paragraph can be indented, or just the first line. In this +way, multi-paragraph footnotes work like multi-paragraph list items.↩︎

  4. +
+
+
+
+
+ +
+ + + diff --git a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html index c44f6b3..9f5900a 100644 --- a/public_html/eh/eh/eh/eh-eh/random-linux-utils.html +++ b/public_html/eh/eh/eh/eh-eh/random-linux-utils.html @@ -1,122 +1,125 @@ - + + - - - - - - Random linux utilities - - - - + + + + + + Random linux utilities + + + + + + - - -
-
-

Random linux utilities

-

Neat things I picked up along the way

-

Never

-

2025-07-25

-
- +
+

Merge pdfs

Using Ghostscript

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 @@ doesn’t rasterize and scales down the pdf files.

class="sourceCode bash">gs -dNOPAUSE -sDEVICE=pdfwrite \ -sOUTPUTFILE=output.pdf \ -dBATCH 1.pdf 2.pdf -
-
-
- -
- + + +
+ +
+ diff --git a/public_html/eh/eh/eh/eh-eh/rss.xml b/public_html/eh/eh/eh/eh-eh/rss.xml index d7d1bc7..5e30cb7 100644 --- a/public_html/eh/eh/eh/eh-eh/rss.xml +++ b/public_html/eh/eh/eh/eh-eh/rss.xml @@ -1,44 +1,44 @@ - -nevereverever.de -https://nevereverever.de/eh/eh/eh/eh-eh -Here I post random stuff. -en-us -Mon, 12 Jan 2026 00:00:00 +0100 -Sat, 21 Feb 2026 15:40:08 +0100 -https://www.rssboard.org/rss-specification -pandoc -n.gude@posteo.de (Never) -n.gude@poster.de (Never) - -Using rsync on Android to syncronise my Music library -n.gude@posteo.de (Never) -https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html -As Spotify is getting enshittified by capitalism, keeping a + + nevereverever.de + https://nevereverever.de/eh/eh/eh/eh-eh + Here I post random stuff. + en-us + Mon, 12 Jan 2026 00:00:00 +0100 + Tue, 24 Feb 2026 21:56:55 +0100 + https://www.rssboard.org/rss-specification + pandoc + n.gude@posteo.de (Never) + n.gude@poster.de (Never) + + Using rsync on Android to syncronise my Music library + n.gude@posteo.de (Never) + https://nevereverever.de/eh/eh/eh/eh-eh/rsync-android.html + 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. -Mon, 12 Jan 2026 00:00:00 +0100 -rsync-android - - -Latex Endeavors -n.gude@posteo.de (Never) -https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html -Latex undoubtedly has some quirks. Some of them have a + Mon, 12 Jan 2026 00:00:00 +0100 + rsync-android + + + Latex Endeavors + n.gude@posteo.de (Never) + https://nevereverever.de/eh/eh/eh/eh-eh/latex-endeavors.html + 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. -Fri, 09 Jan 2026 00:00:00 +0100 -latex-endeavors - - -Random linux utilities -n.gude@posteo.de (Never) -https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html -Tricks and tools I learned about, while tweaking my Linux + Fri, 09 Jan 2026 00:00:00 +0100 + latex-endeavors + + + Random linux utilities + n.gude@posteo.de (Never) + https://nevereverever.de/eh/eh/eh/eh-eh/random-linux-utils.html + Tricks and tools I learned about, while tweaking my Linux sytem or trying to do productive things. -Fri, 25 Jul 2025 00:00:00 +0200 -random-linux-utils - - + Fri, 25 Jul 2025 00:00:00 +0200 + random-linux-utils + + diff --git a/public_html/eh/eh/eh/eh-eh/rsync-android.html b/public_html/eh/eh/eh/eh-eh/rsync-android.html index d7a6a2f..5d82a29 100644 --- a/public_html/eh/eh/eh/eh-eh/rsync-android.html +++ b/public_html/eh/eh/eh/eh-eh/rsync-android.html @@ -1,113 +1,116 @@ - + + - - - - - - Using rsync on Android to syncronise my Music library - - - - + + + + + + Using rsync on Android to syncronise my Music library + + + + + + - - -
-
-

Using rsync on Android to syncronise my Music + + +
+
+

Using rsync on Android to syncronise my Music library

-

Never

-

2026-01-12

-
-

+ -
-

Setup Termux

+ +
+

Setup Termux

Install Termux using F-Droid.

Update software repos.

pkg update
@@ -187,34 +186,18 @@ class="sourceCode sh">
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/
-
-
-
- -
- + + +
+ +
+ diff --git a/src/articles/rsync-android.md b/src/articles/rsync-android.md index bc184a6..b8249dd 100644 --- a/src/articles/rsync-android.md +++ b/src/articles/rsync-android.md @@ -98,31 +98,3 @@ Now on your Linux machine, syncronise your Music library with rsync. rsync -av -e "ssh -p 8022" ~/Music @:/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. - -```sh -sudo dnf install adb -``` - -Connect the Android device via USB and see if it is listed. -```sh -adb devices -``` - -If it is, restart adb in TCP mode with port 5555 -```sh -adb tcpip 5555 -``` - -Connect to the device using its . -```sh -adb connect -``` - -Refresh MediaStore. -```sh -adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN -d file:///data/data/com.termux/files/home/storage/music/ -```