<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.qlyoung.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.qlyoung.net/feed.php">
        <title>qlyoung&#039;s wiki</title>
        <description></description>
        <link>https://wiki.qlyoung.net/</link>
        <image rdf:resource="https://wiki.qlyoung.net/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-05-24T16:28:25+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.qlyoung.net/degoogling"/>
                <rdf:li rdf:resource="https://wiki.qlyoung.net/music_management"/>
                <rdf:li rdf:resource="https://wiki.qlyoung.net/start"/>
                <rdf:li rdf:resource="https://wiki.qlyoung.net/youtube_pro_tips"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.qlyoung.net/_media/wiki/dokuwiki.svg">
        <title>qlyoung's wiki</title>
        <link>https://wiki.qlyoung.net/</link>
        <url>https://wiki.qlyoung.net/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.qlyoung.net/degoogling">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-19T03:47:12+00:00</dc:date>
        <dc:creator>qlyoung (qlyoung@undisclosed.example.com)</dc:creator>
        <title>degoogling - [degoogling] </title>
        <link>https://wiki.qlyoung.net/degoogling</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;degoogling&quot;&gt;degoogling&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Sometime around 2021 I began to feel that use of Google services constituted a grave threat to my digital sovereignty, and began slowly moving off of them.
&lt;/p&gt;

&lt;p&gt;
Here in 2026 I still have a Google account and probably will for the foreseeable future, because Google Fi and Google Fiber remain the best cell service and internet service providers, and you need a Google account to pay for them.
&lt;/p&gt;

&lt;p&gt;
Today I use my Google account for five things:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; As an OAuth identity for services that require one - literally just Tailscale, I have replaced everything else with email-based accounts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Filling out Google Forms&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; If you use these, please set them so they don&amp;#039;t require a Google account&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Access to shared Google Photos albums&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Google Fi (cell service)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Google Fiber (internet)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Despite these limited use cases, which are all provided for free with a personal-tier Google account, I still have to pay for Google Suite ($8/month). Why? Because years ago when I wanted to use a custom domain on my Gmail account, I started paying for Google Suite to enable this functionality. When you do this, your Google account is converted from a “Personal” to a “Business” account. This is a one way transition. Once this happens, if you stop paying for it, your level of services drops *below* that offered to a free personal Google account. So until I am ready to completely disable my Google account, I have to pay Google because they don&amp;#039;t offer a downgrade path.
&lt;/p&gt;

&lt;p&gt;
Below I share what I have replaced various Google services with.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;degoogling&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;degoogling&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1562&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;replacements&quot;&gt;Replacements&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Replacements&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;replacements&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1563-1588&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;gmail&quot;&gt;Gmail&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Migrated from Gmail first to Protonmail, and then in 2023 to Fastmail, which I am much more satisfied with. I was paying for GSuite for Business in order to use a custom domain name, now I pay Fastmail for that.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gmail&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gmail&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1589-1818&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;search&quot;&gt;Search&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
I pay for &lt;a href=&quot;https://kagi.com/&quot; class=&quot;urlextern&quot; title=&quot;https://kagi.com/&quot; rel=&quot;ugc nofollow&quot;&gt;Kagi&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;search&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1819-1874&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;google_drive&quot;&gt;Google Drive&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Gdrive has many uses. Replacing it means replacing each function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;file_sharing&quot;&gt;File sharing&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Tried and rejected:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.filestash.app/&quot; class=&quot;urlextern&quot; title=&quot;https://www.filestash.app/&quot; rel=&quot;ugc nofollow&quot;&gt;Filestash&lt;/a&gt; - kept running out of space on cloud VMs, S3 integration setup is a little scary, software buggy&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://nextcloud.com/&quot; class=&quot;urlextern&quot; title=&quot;https://nextcloud.com/&quot; rel=&quot;ugc nofollow&quot;&gt;Nextcloud&lt;/a&gt; - I use this on my intranet, but it&amp;#039;s too heavy to host a separate public instance just for filesharing&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/magic-wormhole/magic-wormhole&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/magic-wormhole/magic-wormhole&quot; rel=&quot;ugc nofollow&quot;&gt;magic wormhole&lt;/a&gt; - works, but people don&amp;#039;t want to install programs to receive files and the mobile story is bad. shout out &lt;a href=&quot;https://rymdport.github.io/&quot; class=&quot;urlextern&quot; title=&quot;https://rymdport.github.io/&quot; rel=&quot;ugc nofollow&quot;&gt;rymdport&lt;/a&gt; for favorite client.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://syncthing.net/&quot; class=&quot;urlextern&quot; title=&quot;https://syncthing.net/&quot; rel=&quot;ugc nofollow&quot;&gt;Syncthing&lt;/a&gt; - Sync programs are not designed for unidirectional file transfer and don&amp;#039;t work well for that purpose&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
I now pay for Dropbox. Upload to folder, share link. Sometimes you just gotta pay and move on.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;cloud_storage&quot;&gt;Cloud storage&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Okay, “cloud storage” is not really a function. There&amp;#039;s two main reasons we use personal cloud storage:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; So that we can store files in one logical “place” and then access them from any device&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; To save space on our devices&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
There&amp;#039;s other reasons, mostly to do with reliability engineering, but those are the main two.
&lt;/p&gt;

&lt;p&gt;
&lt;abbr title=&quot;Too long; didn&amp;#039;t read&quot;&gt;TL;DR&lt;/abbr&gt; I now use &lt;a href=&quot;https://wiki.qlyoung.net/tiered_storage&quot; class=&quot;wikilink1&quot; title=&quot;tiered_storage&quot; data-wiki-id=&quot;tiered_storage&quot;&gt;tiered storage&lt;/a&gt;; what little need I have for internet-attached storage is now met by my home server, which has a lot of storage and is always accessible via tailscale. More on that in &lt;a href=&quot;https://wiki.qlyoung.net/personal_infrastructure&quot; class=&quot;wikilink1&quot; title=&quot;personal_infrastructure&quot; data-wiki-id=&quot;personal_infrastructure&quot;&gt;personal infrastructure&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google Drive&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_drive&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1875-3356&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;google_photos&quot;&gt;Google Photos&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
For hosting my personal photos, I initially replaced Google Photos with &lt;a href=&quot;https://www.photoprism.app/&quot; class=&quot;urlextern&quot; title=&quot;https://www.photoprism.app/&quot; rel=&quot;ugc nofollow&quot;&gt;Photoprism&lt;/a&gt;. I also tried &lt;a href=&quot;https://immich.app/&quot; class=&quot;urlextern&quot; title=&quot;https://immich.app/&quot; rel=&quot;ugc nofollow&quot;&gt;Immich&lt;/a&gt; and while I know this is considered heretical, it doesn&amp;#039;t suit my needs. I ultimately gave up on server-based photo management, but that&amp;#039;s &lt;a href=&quot;https://wiki.qlyoung.net/photo_management&quot; class=&quot;wikilink1&quot; title=&quot;photo_management&quot; data-wiki-id=&quot;photo_management&quot;&gt;another story&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
The short of it is that I now store all my photos in a plain local directory synced across devices.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;sharing&quot;&gt;Sharing&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Sharing photos is more complicated. The usual situation for me is that I go on a trip with a bunch of people, and afterwards someone sets up a shared Google Photos album, everyone uploads their pictures to “the shared album”.
&lt;/p&gt;

&lt;p&gt;
When you upload pictures to a “shared album”, they are in fact uploaded to your personal Google Photos account and then are published such that anyone with access to the shared album has access to those photos. Consequently you can&amp;#039;t add photos to shared albums without storing photos in Google Photos. If you later delete those photos they disappear from the shared album.
&lt;/p&gt;

&lt;p&gt;
I have tried various methods of sharing my photos with gphotos users, including:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Uploading my photos “to” the shared album, advising all participants that they will be deleted in 2 weeks, and then deleting them&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zipping the photos and sharing the zip via one of the methods described in the previous section&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
My current solution is to dump all my photos into a Dropbox album and send people the link. Whenever I need to free up space I delete the dropbox folder. I still have all the photos locally in my own library so I can reshare if needed.
&lt;/p&gt;

&lt;p&gt;
This is much to the chagrin of people I go on group trips with, because they don&amp;#039;t understand why I can&amp;#039;t just use Google Photos like them and I end up being viewed as a source of inconvenience.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google Photos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_photos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3357-5186&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;google_contacts_calendar&quot;&gt;Google Contacts &amp;amp; Calendar&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
I run Nextcloud on my home server and have replaced G services with Nextcloud&amp;#039;s &lt;a href=&quot;https://en.wikipedia.org/wiki/CardDAV&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/CardDAV&quot;&gt;CardDAV&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/CalDAV&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/CalDAV&quot;&gt;CalDAV&lt;/a&gt; implementations. These legitimately work better than Google Calendar and Google Contacts, especially on iOS which has first class support for CardDAV and CalDAV baked into the system; consequently system apps and facilities that rely on accurate calendar and contact sync work flawlessly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google Contacts &amp;amp; Calendar&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_contacts_calendar&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5187-5626&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;youtube&quot;&gt;YouTube&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
For hosting my own videos, I have replaced it with &lt;a href=&quot;https://qtube.qlyoung.net/&quot; class=&quot;urlextern&quot; title=&quot;https://qtube.qlyoung.net/&quot; rel=&quot;ugc nofollow&quot;&gt;Peertube&lt;/a&gt;, although my YouTube channel is still up because I haven&amp;#039;t gotten around to wiping it yet.
&lt;/p&gt;

&lt;p&gt;
Unfortunately &lt;a href=&quot;https://www.youtube.com/watch?v=LhFsz0OqOJA&quot; class=&quot;urlextern&quot; title=&quot;https://www.youtube.com/watch?v=LhFsz0OqOJA&quot; rel=&quot;ugc nofollow&quot;&gt;one video&lt;/a&gt; I made has popped off, and since it&amp;#039;s educational I&amp;#039;m a little reluctant to take it down. I will probably make a video explaining how to get to my Peertube, upload that to YouTube, and then take everything else down. Then when I finally get around to deleting my Google account, that will disappear too.
&lt;/p&gt;

&lt;p&gt;
Of course I still watch videos on YouTube, and I still subscribe to channels. However, I do it via a self-hosted instance of &lt;a href=&quot;https://invidious.io/&quot; class=&quot;urlextern&quot; title=&quot;https://invidious.io/&quot; rel=&quot;ugc nofollow&quot;&gt;invidious&lt;/a&gt;. This way all my subscription data information etc is kept on my home server. On my iPhone I use &lt;a href=&quot;https://github.com/yattee/yattee&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/yattee/yattee&quot; rel=&quot;ugc nofollow&quot;&gt;yattee&lt;/a&gt; as a client to my Invidious instance, so I get a YouTube app-like experience. Also has the side effect of being ad-free &lt;img src=&quot;https://wiki.qlyoung.net/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;YouTube&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;youtube&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;5627-6632&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;keep&quot;&gt;Keep&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
See &lt;a href=&quot;https://wiki.qlyoung.net/note_taking_programs&quot; class=&quot;wikilink1&quot; title=&quot;note_taking_programs&quot; data-wiki-id=&quot;note_taking_programs&quot;&gt;note taking programs&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Keep&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;keep&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6633-6679&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;androidplay_services&quot;&gt;Android / Play Services&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bought an &lt;a href=&quot;https://wiki.qlyoung.net/iphone&quot; class=&quot;wikilink1&quot; title=&quot;iphone&quot; data-wiki-id=&quot;iphone&quot;&gt;iPhone&lt;/a&gt;.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.qlyoung.net/tag/self-hosting?do=showtag&amp;amp;tag=self-hosting&quot; class=&quot;wikilink1&quot; title=&quot;tag:self-hosting&quot; rel=&quot;tag&quot;&gt;self-hosting&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.qlyoung.net/tag/technology?do=showtag&amp;amp;tag=technology&quot; class=&quot;wikilink1&quot; title=&quot;tag:technology&quot; rel=&quot;tag&quot;&gt;technology&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Android \/ Play Services&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;androidplay_services&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6680-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.qlyoung.net/music_management">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-18T22:42:51+00:00</dc:date>
        <dc:creator>qlyoung (qlyoung@undisclosed.example.com)</dc:creator>
        <title>music_management - update to reflect current setup</title>
        <link>https://wiki.qlyoung.net/music_management</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;music_management&quot;&gt;music management&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I&amp;#039;m a big music enjoyer. What I&amp;#039;m not a big enjoyer of is streaming services. Maybe I&amp;#039;ll write another article about that, but the short of it is that instead of paying a company to rent temporary access to their music library,  which they pay to license from a label who in turn pays only some tiny fraction of their revenue to the artist, I prefer a more traditional model:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; you find some new music&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; you listen to it a few times to see if you like it&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; if you like it, you pay the artist for a copy&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; you own that copy&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
That way the artist gets money for making art and you pay once to own a copy of it instead of renting temporary access.
&lt;/p&gt;

&lt;p&gt;
Streaming is good for the first two steps. Finding new music is hard, and you have to listen to it a few times at different times, since it might only hit in a certain mood. Starting from music you already like and letting the recommender algorithm drive discovery is a good way to find new music. After that though, I prefer to pay the artist for their work instead of paying rent, and prefer to download the data once rather than every time I want to listen to it. Bandwidth is a limited resource!
&lt;/p&gt;

&lt;p&gt;
One of the benefits of owning music is that you can put it on whatever device you want and use whatever program you prefer to play it. However, if you have multiple devices then getting your music collection available on all of them becomes an exercise in file management. Music also has its own inherent taxonomical structure (artist, album, label etc) that benefits from specific treatment in terms of organization. This article roughly depicts how I do all that.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;music management&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;music_management&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1653&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;methods&quot;&gt;Methods&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Here&amp;#039;s a chart that shows a rough outline of data flow:
&lt;/p&gt;

&lt;p&gt;
&lt;div id=&quot;mermaidContainer0&quot; style=&quot;position: relative; width:auto; height:auto&quot;&gt;&lt;span class=&quot;mermaid&quot; id=mermaidContent0 style=&quot;width:auto; height:auto&quot;&gt;
flowchart LR
    Source -.-&gt; |download| beet[&quot;beet import&quot;]
    beet --&gt; laptop((&quot;fa:fa-laptop laptop&quot;))
    laptop &lt;-.-&gt; |syncthing| desktop((&quot;fa:fa-computer desktop&quot;))
    laptop &lt;-.-&gt; |syncthing| W[&quot;Windows VM&quot;]
    desktop &lt;-.-&gt; |syncthing| W
    W -.-&gt; |tunefusion| phone((&quot;fa:fa-mobile-phone phone&quot;))
    W ~~~ phone
    click phone &quot;&amp;lt;a href=&#039;https://www.dbpoweramp.com/tunefusion.htm&#039; class=&#039;urlextern&#039; title=&#039;https://www.dbpoweramp.com/tunefusion.htm&#039; rel=&#039;ugc nofollow&#039;&amp;gt;https://www.dbpoweramp.com/tunefusion.htm&amp;lt;/a&amp;gt;&quot;
&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
In short:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Download the music from somewhere onto my desktop or laptop; if possible I buy it on &lt;a href=&quot;https://bandcamp.com/&quot; class=&quot;urlextern&quot; title=&quot;https://bandcamp.com/&quot; rel=&quot;ugc nofollow&quot;&gt;Bandcamp&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Run &lt;code&gt;beet import&lt;/code&gt; on the downloaded music; &lt;a href=&quot;https://beets.io&quot; class=&quot;urlextern&quot; title=&quot;https://beets.io&quot; rel=&quot;ugc nofollow&quot;&gt;beets&lt;/a&gt; cleans up tags, pulls and attaches album art, and copies the cleaned files into my “Artist/Album/&amp;lt;files&amp;gt;” library directory structure, applying my file naming scheme.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Since my music library is just a directory, it&amp;#039;s then synced to all other devices using my &lt;a href=&quot;https://wiki.qlyoung.net/syncing&quot; class=&quot;wikilink1&quot; title=&quot;syncing&quot; data-wiki-id=&quot;syncing&quot;&gt;syncing&lt;/a&gt; setup (except my phone; see below). This way it doesn&amp;#039;t matter what device I download the music on. The arrow goes to laptop in the chart but it can go to any of them.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Methods&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;methods&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1654-2790&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;playback&quot;&gt;Playback&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
For playback on the computer, I prefer &lt;a href=&quot;https://tauonmusicbox.rocks/&quot; class=&quot;urlextern&quot; title=&quot;https://tauonmusicbox.rocks/&quot; rel=&quot;ugc nofollow&quot;&gt;tauon music box&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
On my iPhone, I use &lt;a href=&quot;https://apps.apple.com/us/app/foobar2000/id1072807669&quot; class=&quot;urlextern&quot; title=&quot;https://apps.apple.com/us/app/foobar2000/id1072807669&quot; rel=&quot;ugc nofollow&quot;&gt;foobar2k&lt;/a&gt;. Although, it has a few drawbacks (okay just one - it doesn&amp;#039;t support scrobbling) and in the age of AI I&amp;#039;ll probably end up making my own when I have a few spare hours.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Playback&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;playback&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2791-3157&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;phone&quot;&gt;Phone&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The phone is a little tricky. Ideally I would use the same approach as for my desktop and laptop - run a sync program to keep the music library up to date on my iPhone disk. Unfortunately, that&amp;#039;s not how things work on iOS, for two reasons:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; background daemons cannot really exist on iOS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; the concept of a filesystem that is shared between apps does not exist on iOS&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Regarding backgrounding, in general iOS is very strict about apps performing any work in the background. Since sync programs are designed around running in the background, this more or less precludes the file synchronization strategy. This could be worked around using iCloud, but I don&amp;#039;t use iCloud.
&lt;/p&gt;

&lt;p&gt;
Even if a sync program was viable on iOS, we would hit another blocker. iOS does not have the concept of a shared filesystem. Apps may only write to their sandboxed filesystems. Consequently any files downloaded by a sync app would not be accessible by a music player app.
&lt;/p&gt;

&lt;p&gt;
The upshot is that to solve this problem you need a music playback app that also has its own syncing service built in. Obviously this is &lt;a href=&quot;https://en.wikipedia.org/wiki/Unix_philosophy&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Unix_philosophy&quot; rel=&quot;ugc nofollow&quot;&gt;heretical&lt;/a&gt;. A music player should focus solely on playing music, while a syncing application should handle data sync. The result of that being impossible is the app store has a bunch of terrible apps with names like “&lt;a href=&quot;https://apps.apple.com/bf/app/music-player-tube-mp3-player/id1572190372&quot; class=&quot;urlextern&quot; title=&quot;https://apps.apple.com/bf/app/music-player-tube-mp3-player/id1572190372&quot; rel=&quot;ugc nofollow&quot;&gt;Network music player ULTIMATE&lt;/a&gt;” that have varying levels of support for playback and/or sync to/from various data sources - Samba, WebDAV, whatever else you can think of. I&amp;#039;ve tried most of them and they all suck.
&lt;/p&gt;

&lt;p&gt;
I can already hear you saying, “why don&amp;#039;t you &lt;a href=&quot;https://wiki.qlyoung.net/just&quot; class=&quot;wikilink1&quot; title=&quot;just&quot; data-wiki-id=&quot;just&quot;&gt;just&lt;/a&gt; stream your music from home using a player”? In addition to the available apps sucking, network conditions on mobile are variable enough that streaming from a home server results in a generally poor experience. Industrial streaming services like Spotify have to go to &lt;a href=&quot;https://engineering.atspotify.com/2020/02/how-spotify-aligned-cdn-services-for-a-lightning-fast-streaming-experience/&quot; class=&quot;urlextern&quot; title=&quot;https://engineering.atspotify.com/2020/02/how-spotify-aligned-cdn-services-for-a-lightning-fast-streaming-experience/&quot; rel=&quot;ugc nofollow&quot;&gt;extreme lengths&lt;/a&gt; to paper over the network enough to deliver a good experience. “Pinning” - where you stream but select specific items to keep locally on disk - doesn&amp;#039;t really work for me because I don&amp;#039;t want to choose what music to listen each time I anticipate a no-network scenario.
&lt;/p&gt;

&lt;p&gt;
Anyway, as luck would have it, the &lt;a href=&quot;https://apps.apple.com/us/app/foobar2000/id1072807669&quot; class=&quot;urlextern&quot; title=&quot;https://apps.apple.com/us/app/foobar2000/id1072807669&quot; rel=&quot;ugc nofollow&quot;&gt;best music player on iOS&lt;/a&gt; also has &lt;a href=&quot;https://www.dbpoweramp.com/tunefusion.htm&quot; class=&quot;urlextern&quot; title=&quot;https://www.dbpoweramp.com/tunefusion.htm&quot; rel=&quot;ugc nofollow&quot;&gt;the best sync solution&lt;/a&gt; I&amp;#039;ve seen. The downside is that the companion program that runs on your server
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; is Windows only&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; is closed source&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; costs money&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
However, it is surprisingly full featured and works very well. Since it&amp;#039;s Windows only, I run it inside a windows VM on my hypervisor (which also hosts the file server with my music library). The VM has the music directory mounted from the file server via Samba.
&lt;/p&gt;

&lt;p&gt;
The end result is that every time I open the foobar2000 app on iOS, any new music in my library downloads to my device. After that it&amp;#039;s available for local playback. Since my phone is also on Tailscale, this works anywhere.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Phone&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;phone&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3158-6373&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;historical_methods&quot;&gt;Historical methods&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I used to do it a much more complicated way than depicted above because I had an Android phone with not enough storage to store my lossless music collection. Android meant I could run background file syncing utilities and not enough storage meant that I had to transcode my collection to something lossy in order to crunch it down small enough to fit on my phone. Buying an iPhone with 512gb of storage meant that 1) I lost the ability to run any kind of background syncing software because iOS doesn&amp;#039;t really allow daemons to exist (unless Apple made them) and 2) I no longer needed to transcode as my music collection is only ~115gb which fits on my phone&amp;#039;s internal storage. Thus all of the automatic cron jobs to do periodic transcoding and sync via syncthing etc are no more.
&lt;/p&gt;

&lt;p&gt;
These are the unintelligible notes I took about how I used to do it, replete with ascii diagrams from a time before I caved a little bit on my static site elitism and just used &lt;a href=&quot;https://mermaid.js.org/&quot; class=&quot;urlextern&quot; title=&quot;https://mermaid.js.org/&quot; rel=&quot;ugc nofollow&quot;&gt;mermaid&lt;/a&gt;:
&lt;/p&gt;

&lt;p&gt;
1. Tx from source to local staging directory
2. `beet import` from staging directory into mounted remote share[0]
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;                 { source }
                     |
                     .
                    ---   (net) &amp;lt;1&amp;gt;
                     .
                     |
                     v
              [ local:music ]
                     |
                     .
            beet    ---   (net) &amp;lt;2&amp;gt;
           import    .
                     |
                     v
      [ remote:music =&amp;gt; local:remote/music]&lt;/pre&gt;

&lt;p&gt;
3. cron job on remote periodically copies new files into a sync directory,
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; transcoding any lossless files to `-q6` ogg vorbis to reduce size[1]&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;             [ remote:music ]
                     |
                     |
    music-sync.sh    |    @ 2hr &amp;lt;3&amp;gt;
                     |
                     v
           [ remote:music-sync ]&lt;/pre&gt;

&lt;p&gt;
4. sync directory shared to all devices via syncthing[2]
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;           [ remote:music-sync ]
                     |
                     |
                     .
        syncthing   ---   (net) &amp;lt;4&amp;gt;
                     .
                    ...
                   . . .
                  .  .  .
                 .   .   .
                /    |    \
               v     v     v
            phone  laptop  idk&lt;/pre&gt;

&lt;p&gt;
[0] &amp;lt;&lt;a href=&quot;https://beets.io/&quot; class=&quot;urlextern&quot; title=&quot;https://beets.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://beets.io/&lt;/a&gt;&amp;gt;
&lt;/p&gt;

&lt;p&gt;
[2] &amp;lt;&lt;a href=&quot;https://syncthing.net/&quot; class=&quot;urlextern&quot; title=&quot;https://syncthing.net/&quot; rel=&quot;ugc nofollow&quot;&gt;https://syncthing.net/&lt;/a&gt;&amp;gt;
&lt;/p&gt;
&lt;pre class=&quot;code shell&quot;&gt;#!/usr/bin/fish
set MUSICDIR &amp;quot;./music/&amp;quot;
set SYNCDIR  &amp;quot;./music-sync&amp;quot;
&amp;nbsp;
for dir in (find &amp;quot;$MUSICDIR&amp;quot; -type d | cut -d&#039;/&#039; -f3-)
    mkdir -p &amp;quot;$SYNCDIR/$dir&amp;quot;
end
&amp;nbsp;
for file in (find &amp;quot;$MUSICDIR&amp;quot; -type f -name &#039;*.flac&#039; -o -name &#039;*.mp3&#039; -o -name &#039;*.ogg&#039; | cut -d&#039;/&#039; -f3-)
    set ifile (echo &amp;quot;$MUSICDIR/$file&amp;quot;)
    switch $file
    case &amp;quot;*.flac&amp;quot;
        set ofile (echo &amp;quot;$SYNCDIR/&amp;quot;(echo &amp;quot;$file&amp;quot; | sed &amp;quot;s/flac/ogg/&amp;quot;))
        if test -e &amp;quot;$ofile&amp;quot;
            echo &amp;quot;$ofile exists; skipping&amp;quot;
            continue
        end
        echo &amp;quot;&amp;gt;&amp;gt; Transcoding &#039;$ifile&#039; to &#039;$ofile&#039;&amp;quot;
        oggenc -q6 -o &amp;quot;$ofile&amp;quot; &amp;quot;$ifile&amp;quot;
    case &amp;quot;*&amp;quot;
        set ofile (echo &amp;quot;$SYNCDIR/$file&amp;quot;)
        if test -e &amp;quot;$ofile&amp;quot;
            echo &amp;quot;$ofile exists; skipping&amp;quot;
            continue
        end
        echo &amp;quot;&amp;gt;&amp;gt; Copying &#039;$ifile&#039; to $ofile&amp;quot;
        cp &amp;quot;$ifile&amp;quot; &amp;quot;$ofile&amp;quot;
    end
end&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.qlyoung.net/tag/from_blog?do=showtag&amp;amp;tag=from_blog&quot; class=&quot;wikilink1&quot; title=&quot;tag:from_blog&quot; rel=&quot;tag&quot;&gt;from blog&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.qlyoung.net/tag/technology?do=showtag&amp;amp;tag=technology&quot; class=&quot;wikilink1&quot; title=&quot;tag:technology&quot; rel=&quot;tag&quot;&gt;technology&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.qlyoung.net/tag/self-hosting?do=showtag&amp;amp;tag=self-hosting&quot; class=&quot;wikilink1&quot; title=&quot;tag:self-hosting&quot; rel=&quot;tag&quot;&gt;self-hosting&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Historical methods&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;historical_methods&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6374-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.qlyoung.net/start">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-18T03:39:33+00:00</dc:date>
        <dc:creator>qlyoung (qlyoung@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://wiki.qlyoung.net/start</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;home_page&quot;&gt;home page&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
this my wiki, here you will find many things i wish to write about.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;home page&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;home_page&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-94&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;pages&quot;&gt;pages&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;div class=&quot;pagequery  tableless&quot; id=&quot;top-528680151&quot; style=&quot;&quot;&gt;

&lt;ul style=&quot;&quot;&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/degoogling&quot; class=&quot;wikilink1&quot; title=&quot;degoogling&quot; data-wiki-id=&quot;degoogling&quot;&gt;degoogling&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/music_management&quot; class=&quot;wikilink1&quot; title=&quot;music_management&quot; data-wiki-id=&quot;music_management&quot;&gt;music management&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/start&quot; class=&quot;wikilink1&quot; title=&quot;start&quot; data-wiki-id=&quot;start&quot;&gt;home page&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/youtube_pro_tips&quot; class=&quot;wikilink1&quot; title=&quot;youtube_pro_tips&quot; data-wiki-id=&quot;youtube_pro_tips&quot;&gt;youtube_pro_tips&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/sleep&quot; class=&quot;wikilink1&quot; title=&quot;sleep&quot; data-wiki-id=&quot;sleep&quot;&gt;sleep&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/just&quot; class=&quot;wikilink1&quot; title=&quot;just&quot; data-wiki-id=&quot;just&quot;&gt;just&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/bird_bar&quot; class=&quot;wikilink1&quot; title=&quot;bird_bar&quot; data-wiki-id=&quot;bird_bar&quot;&gt;bird bar&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/books&quot; class=&quot;wikilink1&quot; title=&quot;books&quot; data-wiki-id=&quot;books&quot;&gt;books&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/power_juice&quot; class=&quot;wikilink1&quot; title=&quot;power_juice&quot; data-wiki-id=&quot;power_juice&quot;&gt;power_juice&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/quotes&quot; class=&quot;wikilink1&quot; title=&quot;quotes&quot; data-wiki-id=&quot;quotes&quot;&gt;quotes&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/syncing&quot; class=&quot;wikilink1&quot; title=&quot;syncing&quot; data-wiki-id=&quot;syncing&quot;&gt;syncing&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tiered_storage&quot; class=&quot;wikilink1&quot; title=&quot;tiered_storage&quot; data-wiki-id=&quot;tiered_storage&quot;&gt;tiered storage&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/restaurants&quot; class=&quot;wikilink1&quot; title=&quot;restaurants&quot; data-wiki-id=&quot;restaurants&quot;&gt;restaurants&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/location_history&quot; class=&quot;wikilink1&quot; title=&quot;location_history&quot; data-wiki-id=&quot;location_history&quot;&gt;location history&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/file_transfer&quot; class=&quot;wikilink1&quot; title=&quot;file_transfer&quot; data-wiki-id=&quot;file_transfer&quot;&gt;file transfer&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/insurance&quot; class=&quot;wikilink1&quot; title=&quot;insurance&quot; data-wiki-id=&quot;insurance&quot;&gt;insurance&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/password_management&quot; class=&quot;wikilink1&quot; title=&quot;password_management&quot; data-wiki-id=&quot;password_management&quot;&gt;password management&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/autoarchaeology&quot; class=&quot;wikilink1&quot; title=&quot;autoarchaeology&quot; data-wiki-id=&quot;autoarchaeology&quot;&gt;autoarchaeology&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/underwater_videography_with_gopro&quot; class=&quot;wikilink1&quot; title=&quot;underwater_videography_with_gopro&quot; data-wiki-id=&quot;underwater_videography_with_gopro&quot;&gt;underwater_videography_with_gopro&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/note_taking_programs&quot; class=&quot;wikilink1&quot; title=&quot;note_taking_programs&quot; data-wiki-id=&quot;note_taking_programs&quot;&gt;note taking programs&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/peak_sets&quot; class=&quot;wikilink1&quot; title=&quot;peak_sets&quot; data-wiki-id=&quot;peak_sets&quot;&gt;peak sets&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/peak_tributes&quot; class=&quot;wikilink1&quot; title=&quot;peak_tributes&quot; data-wiki-id=&quot;peak_tributes&quot;&gt;peak tributes&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/task_tracking&quot; class=&quot;wikilink1&quot; title=&quot;task_tracking&quot; data-wiki-id=&quot;task_tracking&quot;&gt;task tracking&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/cocktail_bars&quot; class=&quot;wikilink1&quot; title=&quot;cocktail_bars&quot; data-wiki-id=&quot;cocktail_bars&quot;&gt;cocktail bars&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/whole_foods_pre_seasoned_protein_tier_list&quot; class=&quot;wikilink1&quot; title=&quot;whole_foods_pre_seasoned_protein_tier_list&quot; data-wiki-id=&quot;whole_foods_pre_seasoned_protein_tier_list&quot;&gt;whole foods pre seasoned protein tier list&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/my_web&quot; class=&quot;wikilink1&quot; title=&quot;my_web&quot; data-wiki-id=&quot;my_web&quot;&gt;my web&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/vehicle_leases&quot; class=&quot;wikilink1&quot; title=&quot;vehicle_leases&quot; data-wiki-id=&quot;vehicle_leases&quot;&gt;vehicle leases&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/documentation&quot; class=&quot;wikilink1&quot; title=&quot;documentation&quot; data-wiki-id=&quot;documentation&quot;&gt;documentation&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/iphone&quot; class=&quot;wikilink1&quot; title=&quot;iphone&quot; data-wiki-id=&quot;iphone&quot;&gt;iphone&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/oxygen_rebreather&quot; class=&quot;wikilink1&quot; title=&quot;oxygen_rebreather&quot; data-wiki-id=&quot;oxygen_rebreather&quot;&gt;oxygen rebreather&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/digital_mapping&quot; class=&quot;wikilink1&quot; title=&quot;digital_mapping&quot; data-wiki-id=&quot;digital_mapping&quot;&gt;digital mapping&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/gambling&quot; class=&quot;wikilink1&quot; title=&quot;gambling&quot; data-wiki-id=&quot;gambling&quot;&gt;gambling&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/personal_infrastructure&quot; class=&quot;wikilink1&quot; title=&quot;personal_infrastructure&quot; data-wiki-id=&quot;personal_infrastructure&quot;&gt;personal infrastructure&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/too_many_projects_too_little_time&quot; class=&quot;wikilink1&quot; title=&quot;too_many_projects_too_little_time&quot; data-wiki-id=&quot;too_many_projects_too_little_time&quot;&gt;too many projects too little time&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/dive_light_burn_times&quot; class=&quot;wikilink1&quot; title=&quot;dive_light_burn_times&quot; data-wiki-id=&quot;dive_light_burn_times&quot;&gt;dive light burn times&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/fall&quot; class=&quot;wikilink1&quot; title=&quot;fall&quot; data-wiki-id=&quot;fall&quot;&gt;fall&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/possession_minimalism&quot; class=&quot;wikilink1&quot; title=&quot;possession_minimalism&quot; data-wiki-id=&quot;possession_minimalism&quot;&gt;possession minimalism&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/photo_management&quot; class=&quot;wikilink1&quot; title=&quot;photo_management&quot; data-wiki-id=&quot;photo_management&quot;&gt;photo management&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/av1&quot; class=&quot;wikilink1&quot; title=&quot;av1&quot; data-wiki-id=&quot;av1&quot;&gt;av1&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/blog&quot; class=&quot;wikilink1&quot; title=&quot;blog&quot; data-wiki-id=&quot;blog&quot;&gt;why wiki?&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/network_simulation_with_k8s-topo_on_raspi_cluster&quot; class=&quot;wikilink1&quot; title=&quot;network_simulation_with_k8s-topo_on_raspi_cluster&quot; data-wiki-id=&quot;network_simulation_with_k8s-topo_on_raspi_cluster&quot;&gt;network simulation with k8s-topo on raspberry pi 3b+ cluster&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/consistency&quot; class=&quot;wikilink1&quot; title=&quot;consistency&quot; data-wiki-id=&quot;consistency&quot;&gt;consistency&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/car_scuba_rack&quot; class=&quot;wikilink1&quot; title=&quot;car_scuba_rack&quot; data-wiki-id=&quot;car_scuba_rack&quot;&gt;car scuba rack&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/disable_bracketed_paste_in_gnu_readline&quot; class=&quot;wikilink1&quot; title=&quot;disable_bracketed_paste_in_gnu_readline&quot; data-wiki-id=&quot;disable_bracketed_paste_in_gnu_readline&quot;&gt;disable bracketed paste in gnu readline&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/adaptive_cruise&quot; class=&quot;wikilink1&quot; title=&quot;adaptive_cruise&quot; data-wiki-id=&quot;adaptive_cruise&quot;&gt;adaptive cruise&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/diy_oxygen_analyzer&quot; class=&quot;wikilink1&quot; title=&quot;diy_oxygen_analyzer&quot; data-wiki-id=&quot;diy_oxygen_analyzer&quot;&gt;diy oxygen analyzer&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/wiki/welcome&quot; class=&quot;wikilink1&quot; title=&quot;wiki:welcome&quot; data-wiki-id=&quot;wiki:welcome&quot;&gt;Welcome to your new DokuWiki&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/wiki/syntax&quot; class=&quot;wikilink1&quot; title=&quot;wiki:syntax&quot; data-wiki-id=&quot;wiki:syntax&quot;&gt;Formatting Syntax&lt;/a&gt;
&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/wiki/dokuwiki&quot; class=&quot;wikilink1&quot; title=&quot;wiki:dokuwiki&quot; data-wiki-id=&quot;wiki:dokuwiki&quot;&gt;DokuWiki&lt;/a&gt;
&lt;/li&gt;&lt;a title=&quot;Continue with the «  » section at the top...&quot; href=&quot;#top-528680151&quot;&gt;&lt;/a&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;h1 style=&quot;&quot;&gt;...&lt;/h1&gt;
&lt;ul style=&quot;&quot;&gt;&lt;li class=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/playground/playground&quot; class=&quot;wikilink1&quot; title=&quot;playground:playground&quot; data-wiki-id=&quot;playground:playground&quot;&gt;PlayGround&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;a class=&quot;top&quot; href=&quot;#top-528680151&quot;&gt;Top ↑&lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;pages&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pages&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;95-152&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;tags&quot;&gt;tags&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;&lt;tr&gt;&lt;th class=&quot;page&quot;&gt;Tag&lt;/th&gt;&lt;th class=&quot;page&quot;&gt;Quantity&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/from_blog?do=showtag&amp;amp;tag=from_blog&quot; class=&quot;wikilink1&quot; title=&quot;tag:from_blog&quot; rel=&quot;tag&quot;&gt;from blog&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/diving?do=showtag&amp;amp;tag=diving&quot; class=&quot;wikilink1&quot; title=&quot;tag:diving&quot; rel=&quot;tag&quot;&gt;diving&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/technology?do=showtag&amp;amp;tag=technology&quot; class=&quot;wikilink1&quot; title=&quot;tag:technology&quot; rel=&quot;tag&quot;&gt;technology&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;14&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/self-hosting?do=showtag&amp;amp;tag=self-hosting&quot; class=&quot;wikilink1&quot; title=&quot;tag:self-hosting&quot; rel=&quot;tag&quot;&gt;self-hosting&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/nature?do=showtag&amp;amp;tag=nature&quot; class=&quot;wikilink1&quot; title=&quot;tag:nature&quot; rel=&quot;tag&quot;&gt;nature&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/making?do=showtag&amp;amp;tag=making&quot; class=&quot;wikilink1&quot; title=&quot;tag:making&quot; rel=&quot;tag&quot;&gt;making&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/networking?do=showtag&amp;amp;tag=networking&quot; class=&quot;wikilink1&quot; title=&quot;tag:networking&quot; rel=&quot;tag&quot;&gt;networking&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/photography?do=showtag&amp;amp;tag=photography&quot; class=&quot;wikilink1&quot; title=&quot;tag:photography&quot; rel=&quot;tag&quot;&gt;photography&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/programming?do=showtag&amp;amp;tag=programming&quot; class=&quot;wikilink1&quot; title=&quot;tag:programming&quot; rel=&quot;tag&quot;&gt;programming&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/products?do=showtag&amp;amp;tag=products&quot; class=&quot;wikilink1&quot; title=&quot;tag:products&quot; rel=&quot;tag&quot;&gt;products&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/literature?do=showtag&amp;amp;tag=literature&quot; class=&quot;wikilink1&quot; title=&quot;tag:literature&quot; rel=&quot;tag&quot;&gt;literature&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/humanity?do=showtag&amp;amp;tag=humanity&quot; class=&quot;wikilink1&quot; title=&quot;tag:humanity&quot; rel=&quot;tag&quot;&gt;humanity&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/pithy?do=showtag&amp;amp;tag=pithy&quot; class=&quot;wikilink1&quot; title=&quot;tag:pithy&quot; rel=&quot;tag&quot;&gt;pithy&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/stupid?do=showtag&amp;amp;tag=stupid&quot; class=&quot;wikilink1&quot; title=&quot;tag:stupid&quot; rel=&quot;tag&quot;&gt;stupid&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/food?do=showtag&amp;amp;tag=food&quot; class=&quot;wikilink1&quot; title=&quot;tag:food&quot; rel=&quot;tag&quot;&gt;food&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/philosophy?do=showtag&amp;amp;tag=philosophy&quot; class=&quot;wikilink1&quot; title=&quot;tag:philosophy&quot; rel=&quot;tag&quot;&gt;philosophy&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/gambling?do=showtag&amp;amp;tag=gambling&quot; class=&quot;wikilink1&quot; title=&quot;tag:gambling&quot; rel=&quot;tag&quot;&gt;gambling&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/complaining?do=showtag&amp;amp;tag=complaining&quot; class=&quot;wikilink1&quot; title=&quot;tag:complaining&quot; rel=&quot;tag&quot;&gt;complaining&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/flexing?do=showtag&amp;amp;tag=flexing&quot; class=&quot;wikilink1&quot; title=&quot;tag:flexing&quot; rel=&quot;tag&quot;&gt;flexing&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/machine_learning?do=showtag&amp;amp;tag=machine_learning&quot; class=&quot;wikilink1&quot; title=&quot;tag:machine_learning&quot; rel=&quot;tag&quot;&gt;machine learning&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;inline&quot;&gt;&lt;a href=&quot;https://wiki.qlyoung.net/tag/geospatial?do=showtag&amp;amp;tag=geospatial&quot; class=&quot;wikilink1&quot; title=&quot;tag:geospatial&quot; rel=&quot;tag&quot;&gt;geospatial&lt;/a&gt;&lt;/td&gt;&lt;td class=&quot;inline&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;tags&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tags&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;153-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.qlyoung.net/youtube_pro_tips">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-18T03:36:49+00:00</dc:date>
        <dc:creator>qlyoung (qlyoung@undisclosed.example.com)</dc:creator>
        <title>youtube_pro_tips - created</title>
        <link>https://wiki.qlyoung.net/youtube_pro_tips</link>
        <description>&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;before:&amp;lt;year&amp;gt;&lt;/code&gt; is a working filter&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://astronaut.io/&quot; class=&quot;urlextern&quot; title=&quot;http://astronaut.io/&quot; rel=&quot;ugc nofollow&quot;&gt;http://astronaut.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://invidious.io/&quot; class=&quot;urlextern&quot; title=&quot;https://invidious.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://invidious.io/&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/yattee/yattee&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/yattee/yattee&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/yattee/yattee&lt;/a&gt; can use invidious as a client; this is how i use youtube on ios without ads or the youtube app&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
</rdf:RDF>
