Like simple, fast loading web sites? Check out these resources for finding them:
https://wiby.me/ https://indieseek.xyz/ https://search.marginalia.nu/ https://sadgrl.online/cyberspace/surf-the-web https://foreverliketh.is/blog/exploring-the-personal-web/
https://www.indieforums.net/ Don't forget #DocumentFreedomDay is March 27th, 2024. Help celebrate by creating your own personal web site. #DFF #DocumentFreedomDay2024 #indieweb
{ "type": "entry", "author": { "name": "@lmemsm", "url": "https://fosstodon.org/@lmemsm", "photo": null }, "url": "https://fosstodon.org/@lmemsm/111404015034531400", "content": { "html": "<p>Like simple, fast loading web sites? Check out these resources for finding them:<br /><a href=\"https://wiby.me/\"><span>https://</span><span>wiby.me/</span><span></span></a> <a href=\"https://indieseek.xyz/\"><span>https://</span><span>indieseek.xyz/</span><span></span></a> <a href=\"https://search.marginalia.nu/\"><span>https://</span><span>search.marginalia.nu/</span><span></span></a> <a href=\"https://sadgrl.online/cyberspace/surf-the-web\"><span>https://</span><span>sadgrl.online/cyberspace/surf-</span><span>the-web</span></a> <a href=\"https://foreverliketh.is/blog/exploring-the-personal-web/\"><span>https://</span><span>foreverliketh.is/blog/explorin</span><span>g-the-personal-web/</span></a><br /><a href=\"https://www.indieforums.net/\"><span>https://www.</span><span>indieforums.net/</span><span></span></a> Don't forget <a href=\"https://fosstodon.org/tags/DocumentFreedomDay\">#<span>DocumentFreedomDay</span></a> is March 27th, 2024. Help celebrate by creating your own personal web site. <a href=\"https://fosstodon.org/tags/DFF\">#<span>DFF</span></a> <a href=\"https://fosstodon.org/tags/DocumentFreedomDay2024\">#<span>DocumentFreedomDay2024</span></a> <a href=\"https://fosstodon.org/tags/indieweb\">#<span>indieweb</span></a></p>", "text": "Like simple, fast loading web sites? Check out these resources for finding them:\nhttps://wiby.me/ https://indieseek.xyz/ https://search.marginalia.nu/ https://sadgrl.online/cyberspace/surf-the-web https://foreverliketh.is/blog/exploring-the-personal-web/\nhttps://www.indieforums.net/ Don't forget #DocumentFreedomDay is March 27th, 2024. Help celebrate by creating your own personal web site. #DFF #DocumentFreedomDay2024 #indieweb" }, "published": "2023-11-13T15:46:06+00:00", "post-type": "note", "_id": "39440746", "_source": "7235", "_is_read": false }
{ "type": "entry", "published": "2023-11-13T04:21:53+00:00", "url": "https://cleverdevil.io/2023/next-up-will-be-indieauth-then-ill", "syndication": [ "https://cleverdevil.club/@jonathan/111401324622595171", "https://bsky.app/profile/cleverdevil.io/post/3ke263cgkoo2n" ], "content": { "text": "Next up will be IndieAuth. Then I\u2019ll need to start working on templating for the HTML so it\u2019s more than just an API for querying and filtering MF2 JSON." }, "author": { "type": "card", "name": "Jonathan LaCour", "url": "https://cleverdevil.io/profile/cleverdevil", "photo": "https://cleverdevil.io/file/e37c3982acf4f0a8421d085b9971cd71/thumb.jpg" }, "post-type": "note", "_id": "39436568", "_source": "71", "_is_read": false }
{ "type": "entry", "published": "2023-11-13T04:19:17+00:00", "url": "https://cleverdevil.io/2023/so-far-i-have-built-a-data", "syndication": [ "https://cleverdevil.club/@jonathan/111401314379549854", "https://bsky.app/profile/cleverdevil.io/post/3ke25wneq3d2s" ], "content": { "text": "So far I have built a data model supporting all of the kinds of content that my current site offers, with micropub support, including a media endpoint. Lots still to do. Very much a long-term background project." }, "author": { "type": "card", "name": "Jonathan LaCour", "url": "https://cleverdevil.io/profile/cleverdevil", "photo": "https://cleverdevil.io/file/e37c3982acf4f0a8421d085b9971cd71/thumb.jpg" }, "post-type": "note", "_id": "39436569", "_source": "71", "_is_read": false }
Ahhhhh look what just arrived in the mail! Finally! 😍 No misprints, nothing upside down, everything seems in tact. 💀 So far it's looking like I got a good batch! 😅
Side note: The Book Ring is now accepting members! If you have a book blog or website with book-related content, come join! It's free to join and a great way to discover other book lovers. https://thebookring.neocities.org/
@bookstodon #ironflame #fourthwing #rebeccayarros #webring #smallweb #indieweb #books #bookstodon #booktok #bookstagram
{ "type": "entry", "author": { "name": "@TheCozyCat", "url": "https://bookstodon.com/@TheCozyCat", "photo": null }, "url": "https://bookstodon.com/@TheCozyCat/111400551258114964", "content": { "html": "<p>Ahhhhh look what just arrived in the mail! Finally! \ud83d\ude0d No misprints, nothing upside down, everything seems in tact. \ud83d\udc80 So far it's looking like I got a good batch! \ud83d\ude05 </p><p>Side note: The Book Ring is now accepting members! If you have a book blog or website with book-related content, come join! It's free to join and a great way to discover other book lovers. <a href=\"https://thebookring.neocities.org/\"><span>https://</span><span>thebookring.neocities.org/</span><span></span></a></p><p><span class=\"h-card\"><a class=\"u-url\" href=\"https://a.gup.pe/u/bookstodon\">@<span>bookstodon</span></a></span> <a href=\"https://bookstodon.com/tags/ironflame\">#<span>ironflame</span></a> <a href=\"https://bookstodon.com/tags/fourthwing\">#<span>fourthwing</span></a> <a href=\"https://bookstodon.com/tags/rebeccayarros\">#<span>rebeccayarros</span></a> <a href=\"https://bookstodon.com/tags/webring\">#<span>webring</span></a> <a href=\"https://bookstodon.com/tags/smallweb\">#<span>smallweb</span></a> <a href=\"https://bookstodon.com/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://bookstodon.com/tags/books\">#<span>books</span></a> <a href=\"https://bookstodon.com/tags/bookstodon\">#<span>bookstodon</span></a> <a href=\"https://bookstodon.com/tags/booktok\">#<span>booktok</span></a> <a href=\"https://bookstodon.com/tags/bookstagram\">#<span>bookstagram</span></a></p>", "text": "Ahhhhh look what just arrived in the mail! Finally! \ud83d\ude0d No misprints, nothing upside down, everything seems in tact. \ud83d\udc80 So far it's looking like I got a good batch! \ud83d\ude05 Side note: The Book Ring is now accepting members! If you have a book blog or website with book-related content, come join! It's free to join and a great way to discover other book lovers. https://thebookring.neocities.org/@bookstodon #ironflame #fourthwing #rebeccayarros #webring #smallweb #indieweb #books #bookstodon #booktok #bookstagram" }, "published": "2023-11-13T01:05:13+00:00", "post-type": "note", "_id": "39435587", "_source": "7235", "_is_read": false }
@midgephoto it totally is, which is why I still blog mostly out of my website and have recently started another blog about #CDramas.i mostly consolidate my thoughts from social media there. (PESOS method #Indieweb)
{ "type": "entry", "author": { "name": "@liztai", "url": "https://hachyderm.io/@liztai", "photo": null }, "url": "https://hachyderm.io/@liztai/111400460143821292", "content": { "html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://photog.social/@midgephoto\">@<span>midgephoto</span></a></span> it totally is, which is why I still blog mostly out of my website and have recently started another blog about <a href=\"https://hachyderm.io/tags/CDramas\">#<span>CDramas</span></a>.i mostly consolidate my thoughts from social media there. (PESOS method <a href=\"https://hachyderm.io/tags/Indieweb\">#<span>Indieweb</span></a>)</p>", "text": "@midgephoto it totally is, which is why I still blog mostly out of my website and have recently started another blog about #CDramas.i mostly consolidate my thoughts from social media there. (PESOS method #Indieweb)" }, "published": "2023-11-13T00:42:02+00:00", "post-type": "note", "_id": "39435539", "_source": "7235", "_is_read": false }
Discover, read, and maybe help me build a sense of community that is healthy, positive, and centers around your own individua…
#autonomy #Community #Culture #humanity #mentalhealth #Society #wordpress #foss #indieweb
——
https://mindcreatesmeaning.com/discover-your-own-sense-of-autonomy-agency-in-rss/
{ "type": "entry", "author": { "name": "@MindCreatesMeaning", "url": "https://fosstodon.org/@MindCreatesMeaning", "photo": null }, "url": "https://fosstodon.org/@MindCreatesMeaning/111399822840060761", "content": { "html": "<p>Discover, read, and maybe help me build a sense of community that is healthy, positive, and centers around your own individua\u2026</p><p><a href=\"https://fosstodon.org/tags/autonomy\">#<span>autonomy</span></a> <a href=\"https://fosstodon.org/tags/Community\">#<span>Community</span></a> <a href=\"https://fosstodon.org/tags/Culture\">#<span>Culture</span></a> <a href=\"https://fosstodon.org/tags/humanity\">#<span>humanity</span></a> <a href=\"https://fosstodon.org/tags/mentalhealth\">#<span>mentalhealth</span></a> <a href=\"https://fosstodon.org/tags/Society\">#<span>Society</span></a> <a href=\"https://fosstodon.org/tags/wordpress\">#<span>wordpress</span></a> <a href=\"https://fosstodon.org/tags/foss\">#<span>foss</span></a> <a href=\"https://fosstodon.org/tags/indieweb\">#<span>indieweb</span></a><br />\u2014\u2014 <br /><a href=\"https://mindcreatesmeaning.com/discover-your-own-sense-of-autonomy-agency-in-rss/\"><span>https://</span><span>mindcreatesmeaning.com/discove</span><span>r-your-own-sense-of-autonomy-agency-in-rss/</span></a></p>", "text": "Discover, read, and maybe help me build a sense of community that is healthy, positive, and centers around your own individua\u2026#autonomy #Community #Culture #humanity #mentalhealth #Society #wordpress #foss #indieweb\n\u2014\u2014 \nhttps://mindcreatesmeaning.com/discover-your-own-sense-of-autonomy-agency-in-rss/" }, "published": "2023-11-12T21:59:58+00:00", "post-type": "note", "_id": "39435185", "_source": "7235", "_is_read": false }
@janboddez No need to be self deprecating. You’re doing much appreciated, good work. #thankyou #gratitude #WebDev #tech #Wordpress #foss #indiedev #indieweb
{ "type": "entry", "author": { "name": "@MindCreatesMeaning", "url": "https://fosstodon.org/@MindCreatesMeaning", "photo": null }, "url": "https://fosstodon.org/@MindCreatesMeaning/111400097950027782", "content": { "html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://indieweb.social/@janboddez\">@<span>janboddez</span></a></span> No need to be self deprecating. You\u2019re doing much appreciated, good work. <a href=\"https://fosstodon.org/tags/thankyou\">#<span>thankyou</span></a> <a href=\"https://fosstodon.org/tags/gratitude\">#<span>gratitude</span></a> <a href=\"https://fosstodon.org/tags/WebDev\">#<span>WebDev</span></a> <a href=\"https://fosstodon.org/tags/tech\">#<span>tech</span></a> <a href=\"https://fosstodon.org/tags/Wordpress\">#<span>Wordpress</span></a> <a href=\"https://fosstodon.org/tags/foss\">#<span>foss</span></a> <a href=\"https://fosstodon.org/tags/indiedev\">#<span>indiedev</span></a> <a href=\"https://fosstodon.org/tags/indieweb\">#<span>indieweb</span></a></p>", "text": "@janboddez No need to be self deprecating. You\u2019re doing much appreciated, good work. #thankyou #gratitude #WebDev #tech #Wordpress #foss #indiedev #indieweb" }, "published": "2023-11-12T23:09:56+00:00", "post-type": "note", "_id": "39435090", "_source": "7235", "_is_read": false }
@artlung thanks again for the invite to the homebrew meetup last week. I’m hooked and I’ll be back!
Your post-event writeup talked about drafts and that reminded me that my question about it towards the end didn’t exactly come across. My super newb WP/blogging thing that I’m wondering is more like “semi-private but shareable drafts”. Have you ever published something with a link that you can send around for feedback but doesn’t go out to your RSS or site’s main public pages?
It’s a use case I run into all the time and the usual answer is to use gdoc’s “share to anyone with the link” feature until it’s ready for wider distribution, which works fine and it’s not a huge pain, I’m just curious. I’ve got some much thornier questions about how to integrate evergreen wiki-like info pages vs ephemeral/chronological blog-like writing, but I figure I’ll start light ;)
{ "type": "entry", "author": { "name": "@alabut", "url": "https://techhub.social/@alabut", "photo": null }, "url": "https://techhub.social/@alabut/111399393531120946", "content": { "html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://xoxo.zone/@artlung\">@<span>artlung</span></a></span> thanks again for the invite to the homebrew meetup last week. I\u2019m hooked and I\u2019ll be back!</p><p>Your post-event writeup talked about drafts and that reminded me that my question about it towards the end didn\u2019t exactly come across. My super newb WP/blogging thing that I\u2019m wondering is more like \u201csemi-private but shareable drafts\u201d. Have you ever published something with a link that you can send around for feedback but doesn\u2019t go out to your RSS or site\u2019s main public pages?</p><p>It\u2019s a use case I run into all the time and the usual answer is to use gdoc\u2019s \u201cshare to anyone with the link\u201d feature until it\u2019s ready for wider distribution, which works fine and it\u2019s not a huge pain, I\u2019m just curious. I\u2019ve got some much thornier questions about how to integrate evergreen wiki-like info pages vs ephemeral/chronological blog-like writing, but I figure I\u2019ll start light ;)</p><p><a href=\"https://artlung.com/blog/2023/11/09/how-many-words/\"><span>https://</span><span>artlung.com/blog/2023/11/09/ho</span><span>w-many-words/</span></a></p><p><a href=\"https://techhub.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://techhub.social/tags/writing\">#<span>writing</span></a> <a href=\"https://techhub.social/tags/blogging\">#<span>blogging</span></a></p>", "text": "@artlung thanks again for the invite to the homebrew meetup last week. I\u2019m hooked and I\u2019ll be back!Your post-event writeup talked about drafts and that reminded me that my question about it towards the end didn\u2019t exactly come across. My super newb WP/blogging thing that I\u2019m wondering is more like \u201csemi-private but shareable drafts\u201d. Have you ever published something with a link that you can send around for feedback but doesn\u2019t go out to your RSS or site\u2019s main public pages?It\u2019s a use case I run into all the time and the usual answer is to use gdoc\u2019s \u201cshare to anyone with the link\u201d feature until it\u2019s ready for wider distribution, which works fine and it\u2019s not a huge pain, I\u2019m just curious. I\u2019ve got some much thornier questions about how to integrate evergreen wiki-like info pages vs ephemeral/chronological blog-like writing, but I figure I\u2019ll start light ;)https://artlung.com/blog/2023/11/09/how-many-words/#IndieWeb #writing #blogging" }, "published": "2023-11-12T20:10:47+00:00", "post-type": "note", "_id": "39434033", "_source": "7235", "_is_read": false }
{ "type": "entry", "author": { "name": "#indieweb", "url": "https://mastodon.social/tags/indieweb", "photo": null }, "url": "https://motley.club/display/d8230ed6-1665-511c-c5da-ffb988231206", "content": { "html": "I've been working on building my own <a href=\"https://motley.club/search?tag=Hugo\">#<span>Hugo</span></a> static website for over a year. (Granted, it's the year I became a parent, and I've had a <em>lot</em> going on.) I want the satisfaction of a site I built by hand and understand intimately, but I'm also feeling the squeeze: I would like to have a website now, thank you\u2014and I'm starting to reach the part of the project where I need to actually <em>learn</em> if I want to develop productively, instead of halfassedly copy-pasting things together and crossing my fingers.<br /><br />Maybe this is my sign to turn to a simple off-the-shelf theme so I can get started and let the pressure off.<br /><br /><a href=\"https://motley.club/search?tag=indieweb\">#<span>indieweb</span></a>", "text": "I've been working on building my own #Hugo static website for over a year. (Granted, it's the year I became a parent, and I've had a lot going on.) I want the satisfaction of a site I built by hand and understand intimately, but I'm also feeling the squeeze: I would like to have a website now, thank you\u2014and I'm starting to reach the part of the project where I need to actually learn if I want to develop productively, instead of halfassedly copy-pasting things together and crossing my fingers.\n\nMaybe this is my sign to turn to a simple off-the-shelf theme so I can get started and let the pressure off.\n\n#indieweb" }, "published": "2023-11-12T18:43:17+00:00", "post-type": "note", "_id": "39433669", "_source": "7235", "_is_read": false }
I'm thinking https://parceljs.org/ and https://surge.sh
{ "type": "entry", "author": { "name": "@schizanon", "url": "https://mas.to/@schizanon", "photo": null }, "url": "https://mas.to/@schizanon/111398776991942763", "content": { "html": "<p>I'm thinking <a href=\"https://parceljs.org/\"><span>https://</span><span>parceljs.org/</span><span></span></a> and <a href=\"https://surge.sh\"><span>https://</span><span>surge.sh</span><span></span></a></p><p><a href=\"https://mas.to/tags/parcel\">#<span>parcel</span></a> <a href=\"https://mas.to/tags/parcelJS\">#<span>parcelJS</span></a> <a href=\"https://mas.to/tags/javaScript\">#<span>javaScript</span></a> <a href=\"https://mas.to/tags/frontend\">#<span>frontend</span></a> <a href=\"https://mas.to/tags/bundler\">#<span>bundler</span></a> <a href=\"https://mas.to/tags/indieweb\">#<span>indieweb</span></a></p>", "text": "I'm thinking https://parceljs.org/ and https://surge.sh#parcel #parcelJS #javaScript #frontend #bundler #indieweb" }, "published": "2023-11-12T17:33:59+00:00", "post-type": "note", "_id": "39433155", "_source": "7235", "_is_read": false }
I remain convinced that the #indieWeb would have had a much better life if #explicitMulticast #Xcast had reached general adoption
https://en.m.wikipedia.org/wiki/Xcast
For the Fediverse, imagine how much less expensive would it have been to host a successful now with thousands of connections is at least on the way out data could have been sent to all federate servers at once, leaving the routing to handle the (de)duplication.
{ "type": "entry", "author": { "name": "@oblomov", "url": "https://sociale.network/@oblomov", "photo": null }, "url": "https://sociale.network/@oblomov/111396241085816287", "content": { "html": "<p>I remain convinced that the <a href=\"https://sociale.network/tags/indieWeb\">#<span>indieWeb</span></a> would have had a much better life if <a href=\"https://sociale.network/tags/explicitMulticast\">#<span>explicitMulticast</span></a> <a href=\"https://sociale.network/tags/Xcast\">#<span>Xcast</span></a> had reached general adoption<br /><a href=\"https://en.m.wikipedia.org/wiki/Xcast\"><span>https://</span><span>en.m.wikipedia.org/wiki/Xcast</span><span></span></a></p><p>For the Fediverse, imagine how much less expensive would it have been to host a successful now with thousands of connections is at least on the way out data could have been sent to all federate servers at once, leaving the routing to handle the (de)duplication.</p>", "text": "I remain convinced that the #indieWeb would have had a much better life if #explicitMulticast #Xcast had reached general adoption\nhttps://en.m.wikipedia.org/wiki/XcastFor the Fediverse, imagine how much less expensive would it have been to host a successful now with thousands of connections is at least on the way out data could have been sent to all federate servers at once, leaving the routing to handle the (de)duplication." }, "published": "2023-11-12T06:49:05+00:00", "post-type": "note", "_id": "39429054", "_source": "7235", "_is_read": false }
Finally created a webring for all the #bookstodon, #booktok, #bookstagram peeps on the Small Web ♥ It's a webring and directory so we can all find each other. 🥰 Now accepting members! 📚 https://thebookring.neocities.org/
@bookstodon
#IndieWeb #WebRevival #books #webring #SmallWeb #OldWeb #bookish #bookblogger #bookblog #bibliophile #writer #writers #author #authors #readers
{ "type": "entry", "author": { "name": "@TheCozyCat", "url": "https://bookstodon.com/@TheCozyCat", "photo": null }, "url": "https://bookstodon.com/@TheCozyCat/111395421846288558", "content": { "html": "<p>Finally created a webring for all the <a href=\"https://bookstodon.com/tags/bookstodon\">#<span>bookstodon</span></a>, <a href=\"https://bookstodon.com/tags/booktok\">#<span>booktok</span></a>, <a href=\"https://bookstodon.com/tags/bookstagram\">#<span>bookstagram</span></a> peeps on the Small Web \u2665 It's a webring and directory so we can all find each other. \ud83e\udd70 Now accepting members! \ud83d\udcda <a href=\"https://thebookring.neocities.org/\"><span>https://</span><span>thebookring.neocities.org/</span><span></span></a></p><p><span class=\"h-card\"><a class=\"u-url\" href=\"https://a.gup.pe/u/bookstodon\">@<span>bookstodon</span></a></span><br /><a href=\"https://bookstodon.com/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://bookstodon.com/tags/WebRevival\">#<span>WebRevival</span></a> <a href=\"https://bookstodon.com/tags/books\">#<span>books</span></a> <a href=\"https://bookstodon.com/tags/webring\">#<span>webring</span></a> <a href=\"https://bookstodon.com/tags/SmallWeb\">#<span>SmallWeb</span></a> <a href=\"https://bookstodon.com/tags/OldWeb\">#<span>OldWeb</span></a> <a href=\"https://bookstodon.com/tags/bookish\">#<span>bookish</span></a> <a href=\"https://bookstodon.com/tags/bookblogger\">#<span>bookblogger</span></a> <a href=\"https://bookstodon.com/tags/bookblog\">#<span>bookblog</span></a> <a href=\"https://bookstodon.com/tags/bibliophile\">#<span>bibliophile</span></a> <a href=\"https://bookstodon.com/tags/writer\">#<span>writer</span></a> <a href=\"https://bookstodon.com/tags/writers\">#<span>writers</span></a> <a href=\"https://bookstodon.com/tags/author\">#<span>author</span></a> <a href=\"https://bookstodon.com/tags/authors\">#<span>authors</span></a> <a href=\"https://bookstodon.com/tags/readers\">#<span>readers</span></a></p>", "text": "Finally created a webring for all the #bookstodon, #booktok, #bookstagram peeps on the Small Web \u2665 It's a webring and directory so we can all find each other. \ud83e\udd70 Now accepting members! \ud83d\udcda https://thebookring.neocities.org/@bookstodon\n#IndieWeb #WebRevival #books #webring #SmallWeb #OldWeb #bookish #bookblogger #bookblog #bibliophile #writer #writers #author #authors #readers" }, "published": "2023-11-12T03:20:44+00:00", "post-type": "note", "_id": "39428473", "_source": "7235", "_is_read": false }
I've been self-hosting Mastodon, Pixelfed, and BookWyrm for about a year now, and while I plan to continue to do so...
... I can also tell I'm going to spend part of my upcoming holidays digging deeper into the underlying tech.
Got some stubborn performance issues, and each successive week there's another 1% of disk space I seem unable to free up 😅
{ "type": "entry", "author": { "name": "@josh", "url": "https://josh.tel/@josh", "photo": null }, "url": "https://josh.tel/@josh/111393674624999873", "content": { "html": "<p>I've been self-hosting Mastodon, Pixelfed, and BookWyrm for about a year now, and while I plan to continue to do so...</p><p>... I can also tell I'm going to spend part of my upcoming holidays digging deeper into the underlying tech.</p><p>Got some stubborn performance issues, and each successive week there's another 1% of disk space I seem unable to free up \ud83d\ude05</p><p><a href=\"https://josh.tel/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://josh.tel/tags/SelfHosting\">#<span>SelfHosting</span></a> <a href=\"https://josh.tel/tags/Fediverse\">#<span>Fediverse</span></a> <a href=\"https://josh.tel/tags/ActivityPub\">#<span>ActivityPub</span></a></p>", "text": "I've been self-hosting Mastodon, Pixelfed, and BookWyrm for about a year now, and while I plan to continue to do so...... I can also tell I'm going to spend part of my upcoming holidays digging deeper into the underlying tech.Got some stubborn performance issues, and each successive week there's another 1% of disk space I seem unable to free up \ud83d\ude05#IndieWeb #SelfHosting #Fediverse #ActivityPub" }, "published": "2023-11-11T19:56:24+00:00", "post-type": "note", "_id": "39425936", "_source": "7235", "_is_read": false }
Also curious about what my friends in #OpenEducation and open in general think about #substack.
{ "type": "entry", "author": { "name": "@actualham", "url": "https://social.coop/@actualham", "photo": null }, "url": "https://social.coop/@actualham/111393209223997400", "content": { "html": "<p>Also curious about what my friends in <a href=\"https://social.coop/tags/OpenEducation\">#<span>OpenEducation</span></a> and open in general think about <a href=\"https://social.coop/tags/substack\">#<span>substack</span></a>. </p><p><a href=\"https://social.coop/tags/IndieWeb\">#<span>IndieWeb</span></a></p>", "text": "Also curious about what my friends in #OpenEducation and open in general think about #substack. #IndieWeb" }, "published": "2023-11-11T17:58:02+00:00", "post-type": "note", "_id": "39425366", "_source": "7235", "_is_read": false }
I added a ton more managed indie blog hosts on Refuge in blogs and the IndieWeb – Robert Kingett https://robertkingett.com/2023/10/17/refuge/ #Blog #IndieWeb #SmallWeb #Blogs
{ "type": "entry", "author": { "name": "@weirdwriter", "url": "https://tweesecake.social/@weirdwriter", "photo": null }, "url": "https://tweesecake.social/@weirdwriter/111392092405311747", "content": { "html": "<p>I added a ton more managed indie blog hosts on Refuge in blogs and the IndieWeb \u2013 Robert Kingett <a href=\"https://robertkingett.com/2023/10/17/refuge/\"><span>https://</span><span>robertkingett.com/2023/10/17/r</span><span>efuge/</span></a> <a href=\"https://tweesecake.social/tags/Blog\">#<span>Blog</span></a> <a href=\"https://tweesecake.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://tweesecake.social/tags/SmallWeb\">#<span>SmallWeb</span></a> <a href=\"https://tweesecake.social/tags/Blogs\">#<span>Blogs</span></a></p>", "text": "I added a ton more managed indie blog hosts on Refuge in blogs and the IndieWeb \u2013 Robert Kingett https://robertkingett.com/2023/10/17/refuge/ #Blog #IndieWeb #SmallWeb #Blogs" }, "published": "2023-11-11T13:14:01+00:00", "post-type": "note", "_id": "39423459", "_source": "7235", "_is_read": false }
The 300th PR for Tanzawa is a good one. It fixes a long-standing issue with how plugins worked over 20 small commits. +76 / -274. It's a bit late for me to merge and deploy it, but I think it unblocks development for me.
{ "type": "entry", "author": { "name": "@jamesvandyne", "url": "https://indieweb.social/@jamesvandyne", "photo": null }, "url": "https://indieweb.social/@jamesvandyne/111391903770222470", "content": { "html": "<p>The 300th PR for Tanzawa is a good one. It fixes a long-standing issue with how plugins worked over 20 small commits. +76 / -274. It's a bit late for me to merge and deploy it, but I think it unblocks development for me.</p><p><a href=\"https://indieweb.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://indieweb.social/tags/Python\">#<span>Python</span></a> </p><p><a href=\"https://github.com/jamesvandyne/tanzawa/pull/300\"><span>https://</span><span>github.com/jamesvandyne/tanzaw</span><span>a/pull/300</span></a></p>", "text": "The 300th PR for Tanzawa is a good one. It fixes a long-standing issue with how plugins worked over 20 small commits. +76 / -274. It's a bit late for me to merge and deploy it, but I think it unblocks development for me.#IndieWeb #Python https://github.com/jamesvandyne/tanzawa/pull/300" }, "published": "2023-11-11T12:26:02+00:00", "post-type": "note", "_id": "39423313", "_source": "7235", "_is_read": false }
#webrings watch No. 37
the #writers block
https://thewritersblockwebring.neocities.org/
The writers block #webring exists to bring writers on the #indieweb of all skill levels, genres, and styles together to share our work and support each other. Consider joining today!
#writing #blog #poetry #smallweb #tech #webdev #html #code #programming #web #fiction #fantasy #scifi
{ "type": "entry", "author": { "name": "@accordionpolar", "url": "https://indieweb.social/@accordionpolar", "photo": null }, "url": "https://indieweb.social/@accordionpolar/111391612272747102", "content": { "html": "<p><a href=\"https://indieweb.social/tags/webrings\">#<span>webrings</span></a> watch No. 37</p><p>the <a href=\"https://indieweb.social/tags/writers\">#<span>writers</span></a> block<br /><a href=\"https://thewritersblockwebring.neocities.org/\"><span>https://</span><span>thewritersblockwebring.neociti</span><span>es.org/</span></a></p><p>The writers block <a href=\"https://indieweb.social/tags/webring\">#<span>webring</span></a> exists to bring writers on the <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a> of all skill levels, genres, and styles together to share our work and support each other. Consider joining today!</p><p><a href=\"https://indieweb.social/tags/writing\">#<span>writing</span></a> <a href=\"https://indieweb.social/tags/blog\">#<span>blog</span></a> <a href=\"https://indieweb.social/tags/poetry\">#<span>poetry</span></a> <a href=\"https://indieweb.social/tags/smallweb\">#<span>smallweb</span></a> <a href=\"https://indieweb.social/tags/tech\">#<span>tech</span></a> <a href=\"https://indieweb.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://indieweb.social/tags/html\">#<span>html</span></a> <a href=\"https://indieweb.social/tags/code\">#<span>code</span></a> <a href=\"https://indieweb.social/tags/programming\">#<span>programming</span></a> <a href=\"https://indieweb.social/tags/web\">#<span>web</span></a> <a href=\"https://indieweb.social/tags/fiction\">#<span>fiction</span></a> <a href=\"https://indieweb.social/tags/fantasy\">#<span>fantasy</span></a> <a href=\"https://indieweb.social/tags/scifi\">#<span>scifi</span></a></p>", "text": "#webrings watch No. 37the #writers block\nhttps://thewritersblockwebring.neocities.org/The writers block #webring exists to bring writers on the #indieweb of all skill levels, genres, and styles together to share our work and support each other. Consider joining today!#writing #blog #poetry #smallweb #tech #webdev #html #code #programming #web #fiction #fantasy #scifi" }, "published": "2023-11-11T11:11:55+00:00", "post-type": "note", "_id": "39423009", "_source": "7235", "_is_read": false }
📝 New Post: Embracing the Beauty of the Web: A Response to "What is the Web Revival"
https://flamedfury.com/posts/embracing-the-beauty-of-the-web/
{ "type": "entry", "author": { "name": "@flamed", "url": "https://social.lol/@flamed", "photo": null }, "url": "https://social.lol/@flamed/111391174794760569", "content": { "html": "<p>\ud83d\udcdd New Post: Embracing the Beauty of the Web: A Response to \"What is the Web Revival\" </p><p><a href=\"https://flamedfury.com/posts/embracing-the-beauty-of-the-web/\"><span>https://</span><span>flamedfury.com/posts/embracing</span><span>-the-beauty-of-the-web/</span></a></p><p><a href=\"https://social.lol/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://social.lol/tags/blog\">#<span>blog</span></a> <a href=\"https://social.lol/tags/web\">#<span>web</span></a></p>", "text": "\ud83d\udcdd New Post: Embracing the Beauty of the Web: A Response to \"What is the Web Revival\" https://flamedfury.com/posts/embracing-the-beauty-of-the-web/#indieweb #blog #web" }, "published": "2023-11-11T09:20:39+00:00", "post-type": "note", "_id": "39422466", "_source": "7235", "_is_read": false }
{ "type": "entry", "author": { "name": "Peter Molnar", "url": "https://petermolnar.net/", "photo": null }, "url": "https://petermolnar.net/article/music-center-chromecast-dlna/", "published": "2023-11-11T04:45:00+00:00", "content": { "html": "<p>The year 2023 reminded me of my mortality quite a bit, so I took a good, deep look at my home setups in case someone else ever needs to be able to understand it, use it, maintain it. I decided to start with something that we use day to day - music and video playing.\n\n</p><h2>About snowflake setups</h2>\n<p>Many things in my setups work for me, it is not always user, let\nalone child friendly. Because I want to ensure I'm not the singular bus\nfactor for the setup, I need to think of the following:</p>\n<ul><li>things need to be able to run on their own, long term</li>\n<li>they need to be simple enough so any family members can use it,\nchildren included</li>\n<li>someone with a baseline IT knowledge can learn how to maintain\nit</li>\n<li>can't be a super-snowflake setup that's impossible to replace with\nsomething paid for, hosted, or bought</li>\n</ul><p>This is not easy, and with the ongoing enshittification of\neverything<a href=\"https://petermolnar.net/#fn1\">1</a> it'll only get harder: new devices\nare cloud connected, they rely on streaming platforms which will,\neventually, go bust, and in the meanwhile support for local media gets\nforgotten. Did you know Chromecast doesn't support DivX and old AVI\nformats natively<a href=\"https://petermolnar.net/#fn2\">2</a>, so you can't cast these without\ntranscoding?</p>\n<h2>My journey with audio and\nvideo</h2>\n<p>Over 10 years ago we moved to England and I left my \"hifi\" - a\nPanasonic SA-AK18 <em>which had a better service manual<a href=\"https://petermolnar.net/#fn3\">3</a>\nthan any device I ever owned, despite falling into Black Plastic Crap\ncategory</em> - in Hungary as it was too large to fit first in a shared\naccommodation, then in a one bedroom rented flat. I had a jack - RCA\ncable connected to it which went in from my computer, and if I wanted to\nplay music, I used either that connection, or CDs.</p>\n<p>Once we got here I still wanted music so I got two small Panasonic\nspeakers for ~\u00a320 and a cheap but hyped car amplifier, a Lepai LP-2020A,\nfor a similar price from eBay, and continues the same connection to the\nlaptop. <em>When I finally brought the old speakers to the UK I realised\nthey sounded much better in my memories, then they actually did, and I\nwasted quite a lot of valuable space in the car boot with them. They\nended up being donated to a charity.</em></p>\n<p>Later I bought a Topping MX3<a href=\"https://petermolnar.net/#fn4\">4</a> all-in-one (DAC,\nheadphone- and power amplifier) as an upgrade to overcome the issues\nwith the Lepai (eg. terrible balance). The Topping, in it's category, is\na marvel, and sounded incredible with those absurdly cheap speakers. At\nthis point I had my home server connected to it, running MPD on the\nlocal music, but I was listening more and more to Spotify over\nheadphones at work. Eventually I had a Raspberry Pi (see the addendums)\nrunning MPD<a href=\"https://petermolnar.net/#fn5\">5</a>, and raspotify<a href=\"https://petermolnar.net/#fn6\">6</a> for\nSpotify Connect.</p>\n<p>Turn a few years: the pandemic and the lockdowns happened, we missed\nout on concerts and fun, and ended up buying a decent set of speakers,\nnamely a pair of Dali Oberon 5<a href=\"https://petermolnar.net/#fn7\">7</a>s. I kept the Topping,\nbecause on paper, it had just enough power for the floorstanders, and\nfoolishly didn't listen to the people in Richer Sounds that it won't. I\nadore these speakers, the bring out so many extras in songs I never\nnoticed before, and I can only recommend them.</p>\n<p>Videos, in my childhoold were VHS tapes, later .avi files on the\ncomputer, and for many years, I simply connected the computer to the TV\nor the largest monitor in the house and watched them that way.</p>\n<p>When streaming started to pick up the lack of widevine on linux only\nallowed 480p on many platforms. This forced me to look into other\npossibilities: at first our pre-WebOS LG smart TV was adequete, but it\nsoon got abandoned by providers, so we eventually got a Chromecast with\nGoogle TV<a href=\"https://petermolnar.net/#fn8\">8</a>. The TV can still receive DivX DLNA\ncasts natively, and the Chromecast can do the rest, but it's fascinating\nto see how short lived a full era of early computer video had become due\nto licencing issues.</p>\n<h2>When music quality\nkicks you in the teeth</h2>\n<p>A little while ago we attended to a birthday celebration where the\nowner had a nicely sounding HiFi setup (B&W speakers, some way too\nexpensive, class A amplifier, etc), playing some tunes in the\nbackground. One of those songs stood out with the clarity of the\nguitar<a href=\"https://petermolnar.net/#fn9\">9</a>, so when I got home I decided to\nhear it on my setup.</p>\n<p>It wasn't entirely disappointing - knowing it costed minimum an order\nof magnitude less, it was pretty good -, but it was certainly lacking:\nthose guitar strings lacked the same tingling in certain ranges. I did\ntry if re-arranging would help: a tiny bit, but I can't afford that kind\nof repositioning with a whirlwind toddler around.</p>\n<p>And so I started searching how I could improve upon it. I marched\nupon audiophile forums, and my dear, there be dragons of insanity<a href=\"https://petermolnar.net/#fn10\">10</a>, but not everything audiophiles say\nis nonsense.</p>\n<p>Over 20 years ago, in the high school studio, there was a patch board\nwith printed circuit boards. I have witnesses, including musicians, that\nplain those circuit boards with nothing but jack sockets on them can\nemit music if driven hard enough, for example the pre-amp output of an\nancient Sound Blaster card. We didn't want to believe our eyes and ears,\nbut there it was, so when amplifier engineers say things like \"circuit\nboard: bad\" because \"sound always moves\", they are not incorrect.</p>\n<p>Another thing I can stand behind is some description of speakers:\nanalytical vs musical. When we went to test some speakers we were shown\na set of them first, and once finished listening, all I could say is\nthat I hear every instrument, every detail - just not the music. That's\nwhen we were shown the Dali Oberon 5, which sounded much closer to our\npreference.</p>\n<p>Experienced audio engineers can provide valuable insights, like why\nlistening to music on a lot of audio bricks<a href=\"https://petermolnar.net/#fn11\">11</a>\ngets tiring after a while<a href=\"https://petermolnar.net/#fn12\">12</a>. Also thanks to\ncomparison videos from E Project<a href=\"https://petermolnar.net/#fn13\">13</a> because they made the\nchoice much easier.</p>\n<p><em>A detour: among the videos I came across a few which lead me down\nanother rabbit hole: \"Combination Tones\"<a href=\"https://petermolnar.net/#fn14\">14</a> -\nthe effect of how 2 higher pitched sound can generate a 3rd phantom low\npitch sound in our ears, due to biology. Apparently an avantgarde\nartist, Maryanne Amacher, exploited this with her music<a href=\"https://petermolnar.net/#fn15\">15</a>,\nbut I'm not ready to listen to a piece to which people referred to \"it\nhad ghosts in it\" just yet.</em></p>\n<p>After much time spent on reading opinions, forums, listening to tests\nand comparisons between brands like Cambridge Audio, NAD, Audiolab,\nRega, Yamaha, Marantz, etc. we decided that the sound we preferred,\nbased on recordings, is NAD.</p>\n<p>The cheapest, simplest, and still AB class amplifier NAD sales is the\nC 316BEE v2<a href=\"https://petermolnar.net/#fn16\">16</a>: analogue line-ins, no digital\nboards - nothing that gets obsolete in a year when the next shiny-shiny\ncomes out, so this is what we got. <em>Amplifier class doesn't matter;\nmy reason for AB was that I wanted oldschool and simple.</em></p>\n<p><em>Sidenote: apparently, in Europe it's a law that banana plug\nsockets need to be plugged in when the appliance is sold, so one needs\nto remove the plugs first. That is because the EU power adapter fits the\nbanana sockets, and vice versa... I wasn't aware of this, so I first\nremoved the banana plugs themselves, only to learn that I could have\nsimply pulled those socket covers out. And no, this is not mentioned in\nthe manual at all.</em></p>\n<p>Once the NAD was plugged in it far superseded my expectations. To\nkeep it as simple as possible, we (my wife an me) both made the\nfollowing observations:</p>\n<ul><li>there's a lot more clarity at low volume - before, we had to turn it\nup to hear the music and the small things in the music well, especially\nthe bass. Now the music is clearer, even well below conversation level\nloudness.</li>\n<li>the baseline hiss of the Topping is gone</li>\n<li>the bass is in another league; compared to the Topping it's\nthundering, which is a good thing, and was one of the main reasons why\nwe were told to get a decent amplifier with the speakers in the first\nplace</li>\n<li>the formerly muffled tones are now just as clear as the rest</li>\n</ul><p>However, I want to stop here. \"How to stop rewriting your site and\nwrite more\"<a href=\"https://petermolnar.net/#fn17\">17</a> is a problem for us with websites,\nand searching for the perfect audio gear is a very similar problem. It's\neasy to keep going instead of enjoying the music. I'm joyous with the\ncurrent setup and have no desire to seek thousands of pounds worth of\ngear, as after a certain point, one would need to spend orders of\nmagnitude more money only to get a tiny bit better sound.</p>\n<p>But the hardware is just in element in the whole chain.</p>\n<p>There are many studies out there that most people can't tell the\ndifference between a 320kbps MP3 and CD - and that is true if you're\nlistening to a random song. It is most certainly not true when you're to\nlistening to something you know from CD and the gear you're listening on\nis good enough.</p>\n<p>\"The Smell of Rain\" from Mortiis<a href=\"https://petermolnar.net/#fn18\">18</a> had an official\n\"redux\" mp3 release, which I listened to for years. One day, out of\ncuriosity, I got a copy of the CD and I was speechless: there are sounds\non the CD release I never heard before, it essentially introduced a new\nlayer to me in the music. The lossy compression was hiding it all.</p>\n<p>We all got used to the limitations of our setups (<em>cassettes\ncopied from a copy of a copy of a cassette recorded from FM radio... the\ngood old days</em>) then later, to lossy music, and many of us have no\nidea what a decent, not even silly expensive setup (read: below \u00a31000,\nnewly bought), that's playing from CD is truly capable of.</p>\n<p>Coming to this realisation I decided to try Tidal, which does offer\nCD streaming quality, unlike Spotify - and yes, it sounds much nicer.\nAnd it also sucks, because the hacks that used to enable Tidal Connect\non a Raspberry are now dead<a href=\"https://petermolnar.net/#fn19\">19</a> and the available hack\nto use it, like the upmpdcli plugin for Tidal is significantly less user\nfriendly, like librespot<a href=\"https://petermolnar.net/#fn20\">20</a>, which just exposes\nitself as a Spotify Connect speaker.</p>\n<p>Following the usability credo I needed something that allows us to\nuse either Tidal or Spotify, and it came down to some sort of\nChromecast.</p>\n<p>I soon learnt that Google used to sell a device called Chromecast\naudio<a href=\"https://petermolnar.net/#fn21\">21</a>, but discontinued some years ago.\nIt costs more used, than when it was new, yet it's still 1/3rd of the\nprice of a WiiM Pro<a href=\"https://petermolnar.net/#fn22\">22</a> which seems to be the cheapest,\naudio oriented, Chromecast capable device currently on the market.</p>\n<p>When I plugged the second hand Chromecast audio in I thought I got\nplayed: there was a rhytmic noise, like a train. Turned out the device\nis fine: it was the low quality power supply I plugged it into.\nApparently this little thing is cheap because it lacks a lot of filters\nand extras the more expensive devices have, so it really needs a nice,\nhigh quality power supply, preferable it's original.</p>\n<p>Nonetheless: it's sound quality is amazing. To me, it sounds better,\nthan the Topping as DAC.</p>\n<h2>Controlling and browsing</h2>\n<p>I miss the physicality of CDs, casettes, VHS tapes, but I admire how\naccessible endless collections of music had become. To keep my ripped CD\ncollection usable I used to run MPD on some sort of capable device,\nbecause MPD clients had great interfaces to browse what's available.</p>\n<p>With this Chromecast oriented setup I had to find an alternative,\nwhich could do the same, and the answer was an Android app called\nBubbleUPnP<a href=\"https://petermolnar.net/#fn23\">23</a>. I don't like having to pay for\nsoftware, but ever since I can afford donating or tipping, I'm happy to\ndo that. Sometimes there are exceptions, and BubbleUPnP is one of them,\nbecause it's worth it.</p>\n<p>It's an immensely useful little app for Android that can act both as\nUPnP/DLNA control point and a UPnP media renderer. This means that it\ncan play network media - or it can send it to something to play it. It\ncan even transcode (!) if it needs to, so no need for the source to\nsupport transcoding.</p>\n<p>To me, this is important, because the backend is a minidlna<a href=\"https://petermolnar.net/#fn24\">24</a> server. It's as simple as it gets,\nand even some routers have it installed. No setup needed, it's all\nthrough zeroconf, and it just works.</p>\n<p><em>Less of a plus is the lack of catalogue, covers for video files,\nor the ability to set age limits (Jellyfin has that). However: looking\nback at my childhood I could have watched movies recorded in VHS that\nwere definitely not for me - I didn't want to. I wanted to see Star Wars\nfor the 6000th time instead, so this may not pose as much of a threat as\nI think it could. Time will tell, I'll come back to this problem when\nthe now <2 years old has a phone and wants to watch Alien.</em></p>\n<p>This was local audio and video can be browsed from any Android device\nin the family, casted or viewed locally, with no issues at all.</p>\n<h2>Conclusions</h2>\n<p>I have access to millions of hours of audio and video today, but that\naccess' usability is definitely not on par with the simplicity of\ninserting a disc, a casette, or a VHS tape and simply pressing \"play\".\nThen there's also the loss of nice, physical album art, but that is\nanother topic.</p>\n<p>If I was Windows or Mac oriented, my life would be simpler, and I\ncould have simply dedicated a machine as media center, because on those\nsystems, the streaming services are willing to show decent quality. If\nyou're on Win/Mac, keep it simple, and use an older machine to do this,\nit'll make your life much, much simpler.</p>\n<p>MPD is a brilliant system for local music playback, and once set up,\nit'll probably run forever.</p>\n<p>Every and all hobby has rabbit holes, though some might be more\nexpensive, than others - audio is dangerous, because there's always\nsomething nicer, more special, newer.</p>\n<p>Some audiophiles are simply mad, others have the curse of exceptional\nhearing. Audio is subjective. If you like it, it's OK. More expensive\nwon't always or won't necessary make it better for you. The class of the\namplifier will also not determine how much you like the sound.</p>\n<p>I always try to buy things that last, but with technology I tend to\ngo cheap and tinker. Part of it is wanting to be in control, another is\nwanting to understand my stack. For local things where updating is not\nan issue and which don't need to connect to ever changing APIs this\napproach works, and it's even usable, but when it comes to streaming\nservices where everyone tries to protect their turf the tinkered\nsolutions will eventually break. If I want to avoid that I need to buy\nin to some of the solutions. Chromecast works as DLNA was meant to work,\nbut it's closed, and it plays nasty with anything that's not android or\nGoogle based. It probably also syphons a stupid amount of semi-private\ndata to Google, but regardless of this, I couldn't find anything that\nworks overall better.</p>\n<p>I'm starting to dislike Rasbperry Pi based solutions. It's cheap\nboard which is used for a lot of things it was never really meant to be\nused for, hacks on top of hacks. Sometimes getting the right tool for\nthe right job is worth it instead of trying to apply a swiss army\nknife.</p>\n<p>The same goes for the lottery of wonders-of-the-internet products.\nThe current Chinese audio brick rage is around Fosi and S.M.S.L. audio,\nlike it was some years ago for Topping. Don't get me wrong: some of\nthese products are absurdly good, but if not, you're out of your money.\nThe price of an S.M.S.L. AL200 is more or less the price of the NAD\nC316BEE and the latter will be better made and will outlive the Chinese\nbrick for sure. My Topping has already developed weird quirks, like it's\nflaky volume button, the rubbish from start remote control, and\noccasional freezing at which point it needs to powered off and on.</p>\n<h2>Addendum\n#1: A Raspberry Pi with extras for local source playback</h2>\n<p>There are ready made images for audio on Raspberry Pi, but Volumio<a href=\"https://petermolnar.net/#fn25\">25</a> , moOde audio player<a href=\"https://petermolnar.net/#fn26\">26</a>,\nor rAudio<a href=\"https://petermolnar.net/#fn27\">27</a> all failed me at some point.</p>\n<p>Volumio is closed source, moOde and rAudio are open, but they all\nhave one thing in common: a web based interface, which makes them\nincredibly slow on the Pi 3B.</p>\n<p>They also don't play nice with custom configurations for MPD, and\nnone of them is ready for easy satellite mode config. This means that\nnetwork shares had to be added on their web config, and it made them\ncrawl- except for moOde, which just died after I added my NFS share.</p>\n<p>There are other, fun configuration issues. For example, on Volumio\nMPD set to hardware volume mixer, but Spotify Connect is still on\nsoftvol, so setting the volume on MPD sets a baseline for Spotify, but\nnot the other way around.</p>\n<p>However, if the goal is simply local playback:</p>\n<ul><li>Raspberry Pi OS Lite</li>\n<li>MPD</li>\n<li>and either an external DAC (in my case, the Topping MX3) or an I2S\nhat</li>\n</ul><p>gives you a rock-solid playback system, that is once setup, will\nprobably run forever. In case you want to turn MPD into a DLNA client,\nthere's a beautiful little software, called upmpdcli<a href=\"https://petermolnar.net/#fn28\">28</a>\nthat can do that. It worked quite nice.</p>\n<p>This was my MPD config with the Topping:</p>\n<p><code>/etc/mpd.conf</code></p>\n<pre><code>music_directory \"/path/to/music\"\ndatabase \"/var/lib/mpd/database\"\nplaylist_directory \"/var/lib/mpd/playlists\"\nlog_file \"syslog\"\npid_file \"/run/mpd/pid\"\nstate_file \"/var/lib/mpd/state\"\nsticker_file \"/var/lib/mpd/sticker.sql\"\nuser \"mpd\"\ngroup \"audio\"\nbind_to_address \"0.0.0.0\"\nlog_level \"error\"\ninput {\n plugin \"curl\"\n}\ndecoder {\n plugin \"hybrid_dsd\"\n enabled \"no\"\n}\ndecoder {\n plugin \"wildmidi\"\n enabled \"no\"\n}\naudio_output {\n type \"alsa\"\n name \"MX3\"\n device \"hw:CARD=MX3,DEV=0\"\n mixer_type \"hardware\"\n mixer_device \"hw:CARD=MX3\"\n mixer_control \"PCM\"\n}\nfilesystem_charset \"UTF-8\"</code></pre>\n<h2>Addendum #2: Spotify\nConnect with raspotify</h2>\n<p>If you want to stream: raspotify<a href=\"https://petermolnar.net/#fn29\">29</a> works fine for Spotify\nConnect, but there's no telling, how long, given it's a\nreverse-engineered, unofficial solution.</p>\n<p><code>/etc/raspotify/conf</code></p>\n<pre><code>LIBRESPOT_AUTOPLAY=\nLIBRESPOT_DISABLE_AUDIO_CACHE=\nLIBRESPOT_DISABLE_DISCOVERY=\nLIBRESPOT_BITRATE=\"320\"\nLIBRESPOT_FORMAT=\"S16\"\nLIBRESPOT_SAMPLE_RATE=\"44.1kHz\"\nLIBRESPOT_DEVICE_TYPE=\"speaker\"\nLIBRESPOT_DEVICE=\"hw:CARD=MX3,DEV=0\"\nLIBRESPOT_BACKEND=\"alsa\"\nLIBRESPOT_MIXER=\"alsa\"\nLIBRESPOT_ALSA_MIXER_DEVICE=\"hw:CARD=MX3\"\nLIBRESPOT_ALSA_MIXER_CONTROL=\"PCM\"\nLIBRESPOT_USERNAME=\"$SPOTIFY_USER\"\nLIBRESPOT_PASSWORD=\"$SPOTIFY_PASSWORD\"\nLIBRESPOT_INITIAL_VOLUME=\"50\"\nLIBRESPOT_VOLUME_CTRL=\"linear\"\nLIBRESPOT_ONEVENT=\"\"\nTMPDIR=/tmp</code></pre>\n<h2>Addendum\n#3: Using the Topping MX3 as DAC or pre-amplifier</h2>\n<p>Do not believe Reddit experts<a href=\"https://petermolnar.net/#fn30\">30</a>: yes, you can use a\nTopping MX3 both as pre-amp and for line-in level, but keep this in\nmind:</p>\n<ul><li>for line-in you <strong>must</strong> set the volume to maximum\n<code>-10dB</code> or <code>56</code> because anything higher is above\nline level<a href=\"https://petermolnar.net/#fn31\">31</a> and will overdrive the input</li>\n<li>as far as I understand <code>0 db</code> or <code>76</code> it meant\nfor when one connects it directly to a power amplifier</li>\n</ul><p>To change between level and dB display, press Mute then Mode on the\nremote.</p>\n<h2>Addendum #4: failed attempts</h2>\n<h3>Kodi<a href=\"https://petermolnar.net/#fn32\">32</a>\non Raspberry Pi 3</h3>\n<p>I have two Raspberry Pi 3 Model B Rev 1.2 -s. These things supposed\nto have both h264 and h265 hardware decoders, but as it turns out, this\ngot messed up because some the decoders are closed source. This means no\nKodi beyond 18 if hardware acceleration is needed for HEVC (aka x265).<a href=\"https://petermolnar.net/#fn33\">33</a>.</p>\n<p>This wasn't my only problem: Kodi turned out to be utterly unusable\nwith my music collection, mainly because there is no folders/file view.\nIt was slow and miserable to use with Kore, on the web, on the TV,\nbasically in any way.</p>\n<p>There is a Spotify Connect addon that worked though, but nothing for\nTidal.</p>\n<h3>Jellyfin\nserver<a href=\"https://petermolnar.net/#fn34\">34</a> with Jellyfin app on\nChromecast</h3>\n<p>Everyone loves raving about Jellyfin, but they all forget one thing:\nit loves to transcode. My <del>low powered</del> energy efficient\nserver(s) don't, and because of the aforementioned lack of DivX support\nin Google TV<a href=\"https://petermolnar.net/#fn35\">35</a> no native playback is possible for\nthose kind of files without transcoding, meaning this setup is a\nno-go.</p>\n<h3>Chromecast\nwith Google TV with USB-C hub and the Topping MX3 as external DAC</h3>\n<p>One of the hacks I tried was to connect the Chromecast with Google TV\nto a USB-C hub that had PD passthrough charging and an external DAC.\nUnfortunately Android 12 doesn't want you to do that<a href=\"https://petermolnar.net/#fn36\">36</a><a href=\"https://petermolnar.net/#fn37\">37</a> and so it sometimes breaks rather\nrandomly.</p>\n<p>While there's MPD server<a href=\"https://petermolnar.net/#fn38\">38</a> app for the Google TV\nthat works flawlessly in satellite mode<a href=\"https://petermolnar.net/#fn39\">39</a>,\nbecause of HDMI CEC it kept turning the TV when the music started\nplaying.</p>\n<p>There's also no working MPD client for the TV, so while it was\nplaying music, there was no way of stopping it from the Chromecast.</p>\n<h3>An Android\ntablet with USB-C hub and an external DAC</h3>\n<p>I learned it the fun way that Spotify Connect only works for the very\naccount you log in with on the tablet - it's not like the Chromecast or\nlibrespot, where anyone on the network could do it, so this was dropped\nas well.</p>\n\n\n<ol><li><p><a href=\"https://en.wikipedia.org/wiki/Enshittification\">https://en.wikipedia.org/wiki/Enshittification</a><a href=\"https://petermolnar.net/#fnref1\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://developers.google.com/cast/docs/media\">https://developers.google.com/cast/docs/media</a><a href=\"https://petermolnar.net/#fnref2\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.hifiengine.com/manual_library/panasonic/sa-ak18.shtml\">https://www.hifiengine.com/manual_library/panasonic/sa-ak18.shtml</a><a href=\"https://petermolnar.net/#fnref3\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.tpdz.net/productinfo/398300.html\">https://www.tpdz.net/productinfo/398300.html</a><a href=\"https://petermolnar.net/#fnref4\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.musicpd.org/\">https://www.musicpd.org/</a><a href=\"https://petermolnar.net/#fnref5\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://dtcooper.github.io/raspotify/\">https://dtcooper.github.io/raspotify/</a><a href=\"https://petermolnar.net/#fnref6\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.dali-speakers.com/en/products/oberon/oberon-5\">https://www.dali-speakers.com/en/products/oberon/oberon-5</a><a href=\"https://petermolnar.net/#fnref7\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://store.google.com/gb/product/chromecast_google_tv?hl=en-GB\">https://store.google.com/gb/product/chromecast_google_tv?hl=en-GB</a><a href=\"https://petermolnar.net/#fnref8\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://antonioforcionenaim.bandcamp.com/track/landmark\">https://antonioforcionenaim.bandcamp.com/track/landmark</a><a href=\"https://petermolnar.net/#fnref9\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://iiwireviews.com/category/reviews/snake-oil/\">https://iiwireviews.com/category/reviews/snake-oil/</a><a href=\"https://petermolnar.net/#fnref10\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.androidbrick.com/\">https://www.androidbrick.com</a><a href=\"https://petermolnar.net/#fnref11\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.youtube.com/watch?v=hRxYNbgHpxQ\">https://www.youtube.com/watch?v=hRxYNbgHpxQ</a><a href=\"https://petermolnar.net/#fnref12\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.youtube.com/@eprojectEllie\">https://www.youtube.com/@eprojectEllie</a><a href=\"https://petermolnar.net/#fnref13\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.youtube.com/watch?v=73_CiAYX00k\">https://www.youtube.com/watch?v=73_CiAYX00k</a><a href=\"https://petermolnar.net/#fnref14\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.youtube.com/watch?v=SwYaL-QlCKQ\">https://www.youtube.com/watch?v=SwYaL-QlCKQ</a><a href=\"https://petermolnar.net/#fnref15\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://nadelectronics.com/product/c-316bee-v2-stereo-integrated-amplifier/\">https://nadelectronics.com/product/c-316bee-v2-stereo-integrated-amplifier/</a><a href=\"https://petermolnar.net/#fnref16\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://indieweb.org/2023/Nuremberg/write\">https://indieweb.org/2023/Nuremberg/write</a><a href=\"https://petermolnar.net/#fnref17\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://en.wikipedia.org/wiki/The_Smell_of_Rain\">https://en.wikipedia.org/wiki/The_Smell_of_Rain</a><a href=\"https://petermolnar.net/#fnref18\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://forums.raspberrypi.com/viewtopic.php?t=297771\">https://forums.raspberrypi.com/viewtopic.php?t=297771</a><a href=\"https://petermolnar.net/#fnref19\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://github.com/librespot-org/librespot\">https://github.com/librespot-org/librespot</a><a href=\"https://petermolnar.net/#fnref20\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://support.google.com/chromecast/chromecastaudio?visit_id=638341182298633413-569899589&hl=en-GB&rd=1#topic=6279364\">https://support.google.com/chromecast/chromecastaudio?visit_id=638341182298633413-569899589&hl=en-GB&rd=1#topic=6279364</a><a href=\"https://petermolnar.net/#fnref21\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://wiimhome.com/wiimpro/overview\">https://wiimhome.com/wiimpro/overview</a><a href=\"https://petermolnar.net/#fnref22\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://xdaforums.com/t/app-7-0-v4-2-1-bubbleupnp-upnp-dlna-chromecast-control-point-and-renderer.1118891/\">https://xdaforums.com/t/app-7-0-v4-2-1-bubbleupnp-upnp-dlna-chromecast-control-point-and-renderer.1118891/</a><a href=\"https://petermolnar.net/#fnref23\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://wiki.archlinux.org/title/ReadyMedia\">https://wiki.archlinux.org/title/ReadyMedia</a><a href=\"https://petermolnar.net/#fnref24\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://volumio.com/en/\">https://volumio.com/en/</a><a href=\"https://petermolnar.net/#fnref25\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://moodeaudio.org/\">https://moodeaudio.org/</a><a href=\"https://petermolnar.net/#fnref26\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://github.com/rern/rAudio\">https://github.com/rern/rAudio</a><a href=\"https://petermolnar.net/#fnref27\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.lesbonscomptes.com/upmpdcli/\">https://www.lesbonscomptes.com/upmpdcli/</a><a href=\"https://petermolnar.net/#fnref28\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://dtcooper.github.io/raspotify/\">https://dtcooper.github.io/raspotify/</a><a href=\"https://petermolnar.net/#fnref29\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.reddit.com/r/audiophile/comments/jnav7y/honest_question_can_you_use_a_topping_mx3_as_a/\">https://www.reddit.com/r/audiophile/comments/jnav7y/honest_question_can_you_use_a_topping_mx3_as_a/</a><a href=\"https://petermolnar.net/#fnref30\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://en.wikipedia.org/wiki/Line_level\">https://en.wikipedia.org/wiki/Line_level</a><a href=\"https://petermolnar.net/#fnref31\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://kodi.tv/\">https://kodi.tv/</a><a href=\"https://petermolnar.net/#fnref32\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://wiki.libreelec.tv/hardware/raspberry-pi\">https://wiki.libreelec.tv/hardware/raspberry-pi</a><a href=\"https://petermolnar.net/#fnref33\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://jellyfin.org/\">https://jellyfin.org/</a><a href=\"https://petermolnar.net/#fnref34\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://jellyfin.org/docs/general/clients/codec-support/\">https://jellyfin.org/docs/general/clients/codec-support/</a><a href=\"https://petermolnar.net/#fnref35\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://piunikaweb.com/2022/11/25/usb-audio-routing-on-chromecast-not-working-after-android-12/\">https://piunikaweb.com/2022/11/25/usb-audio-routing-on-chromecast-not-working-after-android-12/</a><a href=\"https://petermolnar.net/#fnref36\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://www.googlenestcommunity.com/t5/Chromecast/USB-Audio-routing-broken-after-Android-12-update/m-p/263147\">https://www.googlenestcommunity.com/t5/Chromecast/USB-Audio-routing-broken-after-Android-12-update/m-p/263147</a><a href=\"https://petermolnar.net/#fnref37\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://f-droid.org/en/packages/org.musicpd/\">https://f-droid.org/en/packages/org.musicpd/</a><a href=\"https://petermolnar.net/#fnref38\">\u21a9\ufe0e</a></p></li>\n<li><p><a href=\"https://mpd.readthedocs.io/en/stable/user.html#satellite\">https://mpd.readthedocs.io/en/stable/user.html#satellite</a><a href=\"https://petermolnar.net/#fnref39\">\u21a9\ufe0e</a></p></li>\n</ol>", "text": "The year 2023 reminded me of my mortality quite a bit, so I took a good, deep look at my home setups in case someone else ever needs to be able to understand it, use it, maintain it. I decided to start with something that we use day to day - music and video playing.\n\nAbout snowflake setups\nMany things in my setups work for me, it is not always user, let\nalone child friendly. Because I want to ensure I'm not the singular bus\nfactor for the setup, I need to think of the following:\nthings need to be able to run on their own, long term\nthey need to be simple enough so any family members can use it,\nchildren included\nsomeone with a baseline IT knowledge can learn how to maintain\nit\ncan't be a super-snowflake setup that's impossible to replace with\nsomething paid for, hosted, or bought\nThis is not easy, and with the ongoing enshittification of\neverything1 it'll only get harder: new devices\nare cloud connected, they rely on streaming platforms which will,\neventually, go bust, and in the meanwhile support for local media gets\nforgotten. Did you know Chromecast doesn't support DivX and old AVI\nformats natively2, so you can't cast these without\ntranscoding?\nMy journey with audio and\nvideo\nOver 10 years ago we moved to England and I left my \"hifi\" - a\nPanasonic SA-AK18 which had a better service manual3\nthan any device I ever owned, despite falling into Black Plastic Crap\ncategory - in Hungary as it was too large to fit first in a shared\naccommodation, then in a one bedroom rented flat. I had a jack - RCA\ncable connected to it which went in from my computer, and if I wanted to\nplay music, I used either that connection, or CDs.\nOnce we got here I still wanted music so I got two small Panasonic\nspeakers for ~\u00a320 and a cheap but hyped car amplifier, a Lepai LP-2020A,\nfor a similar price from eBay, and continues the same connection to the\nlaptop. When I finally brought the old speakers to the UK I realised\nthey sounded much better in my memories, then they actually did, and I\nwasted quite a lot of valuable space in the car boot with them. They\nended up being donated to a charity.\nLater I bought a Topping MX34 all-in-one (DAC,\nheadphone- and power amplifier) as an upgrade to overcome the issues\nwith the Lepai (eg. terrible balance). The Topping, in it's category, is\na marvel, and sounded incredible with those absurdly cheap speakers. At\nthis point I had my home server connected to it, running MPD on the\nlocal music, but I was listening more and more to Spotify over\nheadphones at work. Eventually I had a Raspberry Pi (see the addendums)\nrunning MPD5, and raspotify6 for\nSpotify Connect.\nTurn a few years: the pandemic and the lockdowns happened, we missed\nout on concerts and fun, and ended up buying a decent set of speakers,\nnamely a pair of Dali Oberon 57s. I kept the Topping,\nbecause on paper, it had just enough power for the floorstanders, and\nfoolishly didn't listen to the people in Richer Sounds that it won't. I\nadore these speakers, the bring out so many extras in songs I never\nnoticed before, and I can only recommend them.\nVideos, in my childhoold were VHS tapes, later .avi files on the\ncomputer, and for many years, I simply connected the computer to the TV\nor the largest monitor in the house and watched them that way.\nWhen streaming started to pick up the lack of widevine on linux only\nallowed 480p on many platforms. This forced me to look into other\npossibilities: at first our pre-WebOS LG smart TV was adequete, but it\nsoon got abandoned by providers, so we eventually got a Chromecast with\nGoogle TV8. The TV can still receive DivX DLNA\ncasts natively, and the Chromecast can do the rest, but it's fascinating\nto see how short lived a full era of early computer video had become due\nto licencing issues.\nWhen music quality\nkicks you in the teeth\nA little while ago we attended to a birthday celebration where the\nowner had a nicely sounding HiFi setup (B&W speakers, some way too\nexpensive, class A amplifier, etc), playing some tunes in the\nbackground. One of those songs stood out with the clarity of the\nguitar9, so when I got home I decided to\nhear it on my setup.\nIt wasn't entirely disappointing - knowing it costed minimum an order\nof magnitude less, it was pretty good -, but it was certainly lacking:\nthose guitar strings lacked the same tingling in certain ranges. I did\ntry if re-arranging would help: a tiny bit, but I can't afford that kind\nof repositioning with a whirlwind toddler around.\nAnd so I started searching how I could improve upon it. I marched\nupon audiophile forums, and my dear, there be dragons of insanity10, but not everything audiophiles say\nis nonsense.\nOver 20 years ago, in the high school studio, there was a patch board\nwith printed circuit boards. I have witnesses, including musicians, that\nplain those circuit boards with nothing but jack sockets on them can\nemit music if driven hard enough, for example the pre-amp output of an\nancient Sound Blaster card. We didn't want to believe our eyes and ears,\nbut there it was, so when amplifier engineers say things like \"circuit\nboard: bad\" because \"sound always moves\", they are not incorrect.\nAnother thing I can stand behind is some description of speakers:\nanalytical vs musical. When we went to test some speakers we were shown\na set of them first, and once finished listening, all I could say is\nthat I hear every instrument, every detail - just not the music. That's\nwhen we were shown the Dali Oberon 5, which sounded much closer to our\npreference.\nExperienced audio engineers can provide valuable insights, like why\nlistening to music on a lot of audio bricks11\ngets tiring after a while12. Also thanks to\ncomparison videos from E Project13 because they made the\nchoice much easier.\nA detour: among the videos I came across a few which lead me down\nanother rabbit hole: \"Combination Tones\"14 -\nthe effect of how 2 higher pitched sound can generate a 3rd phantom low\npitch sound in our ears, due to biology. Apparently an avantgarde\nartist, Maryanne Amacher, exploited this with her music15,\nbut I'm not ready to listen to a piece to which people referred to \"it\nhad ghosts in it\" just yet.\nAfter much time spent on reading opinions, forums, listening to tests\nand comparisons between brands like Cambridge Audio, NAD, Audiolab,\nRega, Yamaha, Marantz, etc. we decided that the sound we preferred,\nbased on recordings, is NAD.\nThe cheapest, simplest, and still AB class amplifier NAD sales is the\nC 316BEE v216: analogue line-ins, no digital\nboards - nothing that gets obsolete in a year when the next shiny-shiny\ncomes out, so this is what we got. Amplifier class doesn't matter;\nmy reason for AB was that I wanted oldschool and simple.\nSidenote: apparently, in Europe it's a law that banana plug\nsockets need to be plugged in when the appliance is sold, so one needs\nto remove the plugs first. That is because the EU power adapter fits the\nbanana sockets, and vice versa... I wasn't aware of this, so I first\nremoved the banana plugs themselves, only to learn that I could have\nsimply pulled those socket covers out. And no, this is not mentioned in\nthe manual at all.\nOnce the NAD was plugged in it far superseded my expectations. To\nkeep it as simple as possible, we (my wife an me) both made the\nfollowing observations:\nthere's a lot more clarity at low volume - before, we had to turn it\nup to hear the music and the small things in the music well, especially\nthe bass. Now the music is clearer, even well below conversation level\nloudness.\nthe baseline hiss of the Topping is gone\nthe bass is in another league; compared to the Topping it's\nthundering, which is a good thing, and was one of the main reasons why\nwe were told to get a decent amplifier with the speakers in the first\nplace\nthe formerly muffled tones are now just as clear as the rest\nHowever, I want to stop here. \"How to stop rewriting your site and\nwrite more\"17 is a problem for us with websites,\nand searching for the perfect audio gear is a very similar problem. It's\neasy to keep going instead of enjoying the music. I'm joyous with the\ncurrent setup and have no desire to seek thousands of pounds worth of\ngear, as after a certain point, one would need to spend orders of\nmagnitude more money only to get a tiny bit better sound.\nBut the hardware is just in element in the whole chain.\nThere are many studies out there that most people can't tell the\ndifference between a 320kbps MP3 and CD - and that is true if you're\nlistening to a random song. It is most certainly not true when you're to\nlistening to something you know from CD and the gear you're listening on\nis good enough.\n\"The Smell of Rain\" from Mortiis18 had an official\n\"redux\" mp3 release, which I listened to for years. One day, out of\ncuriosity, I got a copy of the CD and I was speechless: there are sounds\non the CD release I never heard before, it essentially introduced a new\nlayer to me in the music. The lossy compression was hiding it all.\nWe all got used to the limitations of our setups (cassettes\ncopied from a copy of a copy of a cassette recorded from FM radio... the\ngood old days) then later, to lossy music, and many of us have no\nidea what a decent, not even silly expensive setup (read: below \u00a31000,\nnewly bought), that's playing from CD is truly capable of.\nComing to this realisation I decided to try Tidal, which does offer\nCD streaming quality, unlike Spotify - and yes, it sounds much nicer.\nAnd it also sucks, because the hacks that used to enable Tidal Connect\non a Raspberry are now dead19 and the available hack\nto use it, like the upmpdcli plugin for Tidal is significantly less user\nfriendly, like librespot20, which just exposes\nitself as a Spotify Connect speaker.\nFollowing the usability credo I needed something that allows us to\nuse either Tidal or Spotify, and it came down to some sort of\nChromecast.\nI soon learnt that Google used to sell a device called Chromecast\naudio21, but discontinued some years ago.\nIt costs more used, than when it was new, yet it's still 1/3rd of the\nprice of a WiiM Pro22 which seems to be the cheapest,\naudio oriented, Chromecast capable device currently on the market.\nWhen I plugged the second hand Chromecast audio in I thought I got\nplayed: there was a rhytmic noise, like a train. Turned out the device\nis fine: it was the low quality power supply I plugged it into.\nApparently this little thing is cheap because it lacks a lot of filters\nand extras the more expensive devices have, so it really needs a nice,\nhigh quality power supply, preferable it's original.\nNonetheless: it's sound quality is amazing. To me, it sounds better,\nthan the Topping as DAC.\nControlling and browsing\nI miss the physicality of CDs, casettes, VHS tapes, but I admire how\naccessible endless collections of music had become. To keep my ripped CD\ncollection usable I used to run MPD on some sort of capable device,\nbecause MPD clients had great interfaces to browse what's available.\nWith this Chromecast oriented setup I had to find an alternative,\nwhich could do the same, and the answer was an Android app called\nBubbleUPnP23. I don't like having to pay for\nsoftware, but ever since I can afford donating or tipping, I'm happy to\ndo that. Sometimes there are exceptions, and BubbleUPnP is one of them,\nbecause it's worth it.\nIt's an immensely useful little app for Android that can act both as\nUPnP/DLNA control point and a UPnP media renderer. This means that it\ncan play network media - or it can send it to something to play it. It\ncan even transcode (!) if it needs to, so no need for the source to\nsupport transcoding.\nTo me, this is important, because the backend is a minidlna24 server. It's as simple as it gets,\nand even some routers have it installed. No setup needed, it's all\nthrough zeroconf, and it just works.\nLess of a plus is the lack of catalogue, covers for video files,\nor the ability to set age limits (Jellyfin has that). However: looking\nback at my childhood I could have watched movies recorded in VHS that\nwere definitely not for me - I didn't want to. I wanted to see Star Wars\nfor the 6000th time instead, so this may not pose as much of a threat as\nI think it could. Time will tell, I'll come back to this problem when\nthe now <2 years old has a phone and wants to watch Alien.\nThis was local audio and video can be browsed from any Android device\nin the family, casted or viewed locally, with no issues at all.\nConclusions\nI have access to millions of hours of audio and video today, but that\naccess' usability is definitely not on par with the simplicity of\ninserting a disc, a casette, or a VHS tape and simply pressing \"play\".\nThen there's also the loss of nice, physical album art, but that is\nanother topic.\nIf I was Windows or Mac oriented, my life would be simpler, and I\ncould have simply dedicated a machine as media center, because on those\nsystems, the streaming services are willing to show decent quality. If\nyou're on Win/Mac, keep it simple, and use an older machine to do this,\nit'll make your life much, much simpler.\nMPD is a brilliant system for local music playback, and once set up,\nit'll probably run forever.\nEvery and all hobby has rabbit holes, though some might be more\nexpensive, than others - audio is dangerous, because there's always\nsomething nicer, more special, newer.\nSome audiophiles are simply mad, others have the curse of exceptional\nhearing. Audio is subjective. If you like it, it's OK. More expensive\nwon't always or won't necessary make it better for you. The class of the\namplifier will also not determine how much you like the sound.\nI always try to buy things that last, but with technology I tend to\ngo cheap and tinker. Part of it is wanting to be in control, another is\nwanting to understand my stack. For local things where updating is not\nan issue and which don't need to connect to ever changing APIs this\napproach works, and it's even usable, but when it comes to streaming\nservices where everyone tries to protect their turf the tinkered\nsolutions will eventually break. If I want to avoid that I need to buy\nin to some of the solutions. Chromecast works as DLNA was meant to work,\nbut it's closed, and it plays nasty with anything that's not android or\nGoogle based. It probably also syphons a stupid amount of semi-private\ndata to Google, but regardless of this, I couldn't find anything that\nworks overall better.\nI'm starting to dislike Rasbperry Pi based solutions. It's cheap\nboard which is used for a lot of things it was never really meant to be\nused for, hacks on top of hacks. Sometimes getting the right tool for\nthe right job is worth it instead of trying to apply a swiss army\nknife.\nThe same goes for the lottery of wonders-of-the-internet products.\nThe current Chinese audio brick rage is around Fosi and S.M.S.L. audio,\nlike it was some years ago for Topping. Don't get me wrong: some of\nthese products are absurdly good, but if not, you're out of your money.\nThe price of an S.M.S.L. AL200 is more or less the price of the NAD\nC316BEE and the latter will be better made and will outlive the Chinese\nbrick for sure. My Topping has already developed weird quirks, like it's\nflaky volume button, the rubbish from start remote control, and\noccasional freezing at which point it needs to powered off and on.\nAddendum\n#1: A Raspberry Pi with extras for local source playback\nThere are ready made images for audio on Raspberry Pi, but Volumio25 , moOde audio player26,\nor rAudio27 all failed me at some point.\nVolumio is closed source, moOde and rAudio are open, but they all\nhave one thing in common: a web based interface, which makes them\nincredibly slow on the Pi 3B.\nThey also don't play nice with custom configurations for MPD, and\nnone of them is ready for easy satellite mode config. This means that\nnetwork shares had to be added on their web config, and it made them\ncrawl- except for moOde, which just died after I added my NFS share.\nThere are other, fun configuration issues. For example, on Volumio\nMPD set to hardware volume mixer, but Spotify Connect is still on\nsoftvol, so setting the volume on MPD sets a baseline for Spotify, but\nnot the other way around.\nHowever, if the goal is simply local playback:\nRaspberry Pi OS Lite\nMPD\nand either an external DAC (in my case, the Topping MX3) or an I2S\nhat\ngives you a rock-solid playback system, that is once setup, will\nprobably run forever. In case you want to turn MPD into a DLNA client,\nthere's a beautiful little software, called upmpdcli28\nthat can do that. It worked quite nice.\nThis was my MPD config with the Topping:\n/etc/mpd.conf\nmusic_directory \"/path/to/music\"\ndatabase \"/var/lib/mpd/database\"\nplaylist_directory \"/var/lib/mpd/playlists\"\nlog_file \"syslog\"\npid_file \"/run/mpd/pid\"\nstate_file \"/var/lib/mpd/state\"\nsticker_file \"/var/lib/mpd/sticker.sql\"\nuser \"mpd\"\ngroup \"audio\"\nbind_to_address \"0.0.0.0\"\nlog_level \"error\"\ninput {\n plugin \"curl\"\n}\ndecoder {\n plugin \"hybrid_dsd\"\n enabled \"no\"\n}\ndecoder {\n plugin \"wildmidi\"\n enabled \"no\"\n}\naudio_output {\n type \"alsa\"\n name \"MX3\"\n device \"hw:CARD=MX3,DEV=0\"\n mixer_type \"hardware\"\n mixer_device \"hw:CARD=MX3\"\n mixer_control \"PCM\"\n}\nfilesystem_charset \"UTF-8\"\nAddendum #2: Spotify\nConnect with raspotify\nIf you want to stream: raspotify29 works fine for Spotify\nConnect, but there's no telling, how long, given it's a\nreverse-engineered, unofficial solution.\n/etc/raspotify/conf\nLIBRESPOT_AUTOPLAY=\nLIBRESPOT_DISABLE_AUDIO_CACHE=\nLIBRESPOT_DISABLE_DISCOVERY=\nLIBRESPOT_BITRATE=\"320\"\nLIBRESPOT_FORMAT=\"S16\"\nLIBRESPOT_SAMPLE_RATE=\"44.1kHz\"\nLIBRESPOT_DEVICE_TYPE=\"speaker\"\nLIBRESPOT_DEVICE=\"hw:CARD=MX3,DEV=0\"\nLIBRESPOT_BACKEND=\"alsa\"\nLIBRESPOT_MIXER=\"alsa\"\nLIBRESPOT_ALSA_MIXER_DEVICE=\"hw:CARD=MX3\"\nLIBRESPOT_ALSA_MIXER_CONTROL=\"PCM\"\nLIBRESPOT_USERNAME=\"$SPOTIFY_USER\"\nLIBRESPOT_PASSWORD=\"$SPOTIFY_PASSWORD\"\nLIBRESPOT_INITIAL_VOLUME=\"50\"\nLIBRESPOT_VOLUME_CTRL=\"linear\"\nLIBRESPOT_ONEVENT=\"\"\nTMPDIR=/tmp\nAddendum\n#3: Using the Topping MX3 as DAC or pre-amplifier\nDo not believe Reddit experts30: yes, you can use a\nTopping MX3 both as pre-amp and for line-in level, but keep this in\nmind:\nfor line-in you must set the volume to maximum\n-10dB or 56 because anything higher is above\nline level31 and will overdrive the input\nas far as I understand 0 db or 76 it meant\nfor when one connects it directly to a power amplifier\nTo change between level and dB display, press Mute then Mode on the\nremote.\nAddendum #4: failed attempts\nKodi32\non Raspberry Pi 3\nI have two Raspberry Pi 3 Model B Rev 1.2 -s. These things supposed\nto have both h264 and h265 hardware decoders, but as it turns out, this\ngot messed up because some the decoders are closed source. This means no\nKodi beyond 18 if hardware acceleration is needed for HEVC (aka x265).33.\nThis wasn't my only problem: Kodi turned out to be utterly unusable\nwith my music collection, mainly because there is no folders/file view.\nIt was slow and miserable to use with Kore, on the web, on the TV,\nbasically in any way.\nThere is a Spotify Connect addon that worked though, but nothing for\nTidal.\nJellyfin\nserver34 with Jellyfin app on\nChromecast\nEveryone loves raving about Jellyfin, but they all forget one thing:\nit loves to transcode. My low powered energy efficient\nserver(s) don't, and because of the aforementioned lack of DivX support\nin Google TV35 no native playback is possible for\nthose kind of files without transcoding, meaning this setup is a\nno-go.\nChromecast\nwith Google TV with USB-C hub and the Topping MX3 as external DAC\nOne of the hacks I tried was to connect the Chromecast with Google TV\nto a USB-C hub that had PD passthrough charging and an external DAC.\nUnfortunately Android 12 doesn't want you to do that3637 and so it sometimes breaks rather\nrandomly.\nWhile there's MPD server38 app for the Google TV\nthat works flawlessly in satellite mode39,\nbecause of HDMI CEC it kept turning the TV when the music started\nplaying.\nThere's also no working MPD client for the TV, so while it was\nplaying music, there was no way of stopping it from the Chromecast.\nAn Android\ntablet with USB-C hub and an external DAC\nI learned it the fun way that Spotify Connect only works for the very\naccount you log in with on the tablet - it's not like the Chromecast or\nlibrespot, where anyone on the network could do it, so this was dropped\nas well.\n\n\nhttps://en.wikipedia.org/wiki/Enshittification\u21a9\ufe0e\nhttps://developers.google.com/cast/docs/media\u21a9\ufe0e\nhttps://www.hifiengine.com/manual_library/panasonic/sa-ak18.shtml\u21a9\ufe0e\nhttps://www.tpdz.net/productinfo/398300.html\u21a9\ufe0e\nhttps://www.musicpd.org/\u21a9\ufe0e\nhttps://dtcooper.github.io/raspotify/\u21a9\ufe0e\nhttps://www.dali-speakers.com/en/products/oberon/oberon-5\u21a9\ufe0e\nhttps://store.google.com/gb/product/chromecast_google_tv?hl=en-GB\u21a9\ufe0e\nhttps://antonioforcionenaim.bandcamp.com/track/landmark\u21a9\ufe0e\nhttps://iiwireviews.com/category/reviews/snake-oil/\u21a9\ufe0e\nhttps://www.androidbrick.com\u21a9\ufe0e\nhttps://www.youtube.com/watch?v=hRxYNbgHpxQ\u21a9\ufe0e\nhttps://www.youtube.com/@eprojectEllie\u21a9\ufe0e\nhttps://www.youtube.com/watch?v=73_CiAYX00k\u21a9\ufe0e\nhttps://www.youtube.com/watch?v=SwYaL-QlCKQ\u21a9\ufe0e\nhttps://nadelectronics.com/product/c-316bee-v2-stereo-integrated-amplifier/\u21a9\ufe0e\nhttps://indieweb.org/2023/Nuremberg/write\u21a9\ufe0e\nhttps://en.wikipedia.org/wiki/The_Smell_of_Rain\u21a9\ufe0e\nhttps://forums.raspberrypi.com/viewtopic.php?t=297771\u21a9\ufe0e\nhttps://github.com/librespot-org/librespot\u21a9\ufe0e\nhttps://support.google.com/chromecast/chromecastaudio?visit_id=638341182298633413-569899589&hl=en-GB&rd=1#topic=6279364\u21a9\ufe0e\nhttps://wiimhome.com/wiimpro/overview\u21a9\ufe0e\nhttps://xdaforums.com/t/app-7-0-v4-2-1-bubbleupnp-upnp-dlna-chromecast-control-point-and-renderer.1118891/\u21a9\ufe0e\nhttps://wiki.archlinux.org/title/ReadyMedia\u21a9\ufe0e\nhttps://volumio.com/en/\u21a9\ufe0e\nhttps://moodeaudio.org/\u21a9\ufe0e\nhttps://github.com/rern/rAudio\u21a9\ufe0e\nhttps://www.lesbonscomptes.com/upmpdcli/\u21a9\ufe0e\nhttps://dtcooper.github.io/raspotify/\u21a9\ufe0e\nhttps://www.reddit.com/r/audiophile/comments/jnav7y/honest_question_can_you_use_a_topping_mx3_as_a/\u21a9\ufe0e\nhttps://en.wikipedia.org/wiki/Line_level\u21a9\ufe0e\nhttps://kodi.tv/\u21a9\ufe0e\nhttps://wiki.libreelec.tv/hardware/raspberry-pi\u21a9\ufe0e\nhttps://jellyfin.org/\u21a9\ufe0e\nhttps://jellyfin.org/docs/general/clients/codec-support/\u21a9\ufe0e\nhttps://piunikaweb.com/2022/11/25/usb-audio-routing-on-chromecast-not-working-after-android-12/\u21a9\ufe0e\nhttps://www.googlenestcommunity.com/t5/Chromecast/USB-Audio-routing-broken-after-Android-12-update/m-p/263147\u21a9\ufe0e\nhttps://f-droid.org/en/packages/org.musicpd/\u21a9\ufe0e\nhttps://mpd.readthedocs.io/en/stable/user.html#satellite\u21a9\ufe0e" }, "name": "The quest for simple, hight quality music and video playback in 2023", "post-type": "article", "_id": "39422306", "_source": "268", "_is_read": false }
{ "type": "entry", "published": "2023-11-10 14:17-0800", "url": "https://gregorlove.com/2023/11/bookmarked-making-webmentions-look-more-conversational/", "category": [ "indieweb", "webmention" ], "syndication": [ "https://news.indieweb.org/en" ], "bookmark-of": [ "https://www.johnpe.art/2023/10/31/making-webmentions-look-more-conversational/" ], "name": "Making \u201cWebmentions\u201d look more conversational", "content": { "text": "Bookmarked: Making \u201cWebmentions\u201d look more conversational", "html": "<p>Bookmarked: <a class=\"u-bookmark-of p-name\" href=\"https://www.johnpe.art/2023/10/31/making-webmentions-look-more-conversational/\">Making \u201cWebmentions\u201d look more conversational</a></p>" }, "author": { "type": "card", "name": "gRegor Morrill", "url": "https://gregorlove.com/", "photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg" }, "post-type": "bookmark", "_id": "39420734", "_source": "179", "_is_read": false }