Jupiter's Fedi-Memes on (streams)Ever wondered why the "Facebook alternative" side of the Fediverse is easy to deploy and so lightweight in spite of its feature wealth?<br><br>[spoiler=Caution: Image hidden due to eye contact, crying, anger and Japanese profanity]<a class="" href="https://streams.elsmussols.net/.well-known/apgateway/did:key:z6Mkf2dhUa65zBYCNVqs3AHyt8uPixauZ7bPzEJn15LJANsd/photos/image/5bf67eea-6778-4ff1-ada4-b6103aff7b5b" rel="nofollow noopener noreferrer" target="_blank"></a><br><br><p><strong>Explanation:</strong></p><br>This image is a collage based on various memes.<br><br>The top row makes use of <a href="https://knowyourmeme.com/memes/wojak" rel="nofollow noopener noreferrer" target="_blank">Wojaks</a>, it basically is a <a href="https://knowyourmeme.com/memes/subcultures/wojak-comics" rel="nofollow noopener noreferrer" target="_blank">Wojak comic</a>. The two Wojaks on the right are <a href="https://knowyourmeme.com/memes/soy-boy-face-soyjak" rel="nofollow noopener noreferrer" target="_blank">Soyjaks</a>, the third one from the left is essentially the same combination of a Soyjak and a <a href="https://knowyourmeme.com/memes/crying-wojak" rel="nofollow noopener noreferrer" target="_blank">Crying Wojak</a> as seen in the <a href="https://knowyourmeme.com/memes/soyjaks-vs-chads" rel="nofollow noopener noreferrer" target="_blank">Soyjaks vs Chads</a> format. "Baka", as said by the Soyjak in the top right, is Japanese for "idiot" and hints at Misskey, as well as large parts of its target audience, being Japanese. <a href="https://knowyourmeme.com/memes/baka" rel="nofollow noopener noreferrer" target="_blank">It has become a meme of its own</a>.<br><br>The bottom row re-uses the "<a href="https://knowyourmeme.com/memes/moth-lamp" rel="nofollow noopener noreferrer" target="_blank">Moth Lamp</a>" meme. This time, however, "lämp", intentionally spelled with an umlaut as per the meme, does not mean a light source. Instead, it stands for a so-called "<a href="https://en.wikipedia.org/wiki/LAMP_(software_bundle)" rel="nofollow noopener noreferrer" target="_blank">LAMP stack</a>" which is the bare minimum Web server equipment.<br><ul><li>L stands for <a href="https://en.wikipedia.org/wiki/Linux" rel="nofollow noopener noreferrer" target="_blank">Linux</a> and refers not to the <a href="https://en.wikipedia.org/wiki/Linux_kernel" rel="nofollow noopener noreferrer" target="_blank">operating system kernel</a>, but to the whole software platform.</li><li>A stands for the <a href="https://en.wikipedia.org/wiki/Apache_HTTP_Server" rel="nofollow noopener noreferrer" target="_blank">Apache HTTP Server</a>.</li><li>M stands for the <a href="https://en.wikipedia.org/wiki/MySQL" rel="nofollow noopener noreferrer" target="_blank">MySQL database management system</a>, nowadays usually in the shape of the MySQL fork <a href="https://en.wikipedia.org/wiki/MariaDB" rel="nofollow noopener noreferrer" target="_blank">MariaDB</a>.</li><li>P, in this case, stands for the <a href="https://en.wikipedia.org/wiki/PHP" rel="nofollow noopener noreferrer" target="_blank">PHP scripting language</a> used for dynamic websites.</li></ul><br><br>The three Fediverse server applications represented as moths in the bottom row, captioned with "LÄMP", are <a href="https://joinfediverse.wiki/What_is_Friendica%3F" rel="nofollow noopener noreferrer" target="_blank">Friendica</a>, a very powerful Facebook alternative created by Mike Macgirvin in 2010, <a href="https://joinfediverse.wiki/What_is_Hubzilla%3F" rel="nofollow noopener noreferrer" target="_blank">Hubzilla</a>, a very versatile and extremely powerful "federated content management system" which Mike Macgirvin himself created from 2015 out of his own Friendica fork, and the intentionally nameless application in <a href="https://codeberg.org/streams/streams" rel="nofollow noopener noreferrer" target="_blank">the streams repository</a> from 2021, itself at the end of a long line of forks by Mike Macgirvin again, starting at Hubzilla. None of the four have any exotic or heavy-weight server software requirements. They need JavaScript for parts of the UI, but otherwise, they can run on a bone-stock Web server, requiring remarkably few CPU and RAM resources.<br><br>The four projects in the top row, on the other hand, have more exotic and/or heavy-weight requirements.<br><br>The one in the top left is <a href="https://en.wikipedia.org/wiki/Diaspora_(software)" rel="nofollow noopener noreferrer" target="_blank">diaspora*</a> from later in 2010 than Friendica, the only one in the image that does not support ActivityPub at all (it is only connected to the few Fediverse projects which support its own protocol, including Friendica and Hubzilla). diaspora* and <a href="https://joinfediverse.wiki/What_is_Mastodon%3F" rel="nofollow noopener noreferrer" target="_blank">Mastodon</a> next to it are both written in Ruby on Rails. Thus, they require more hardware resources per user identity than the three at the bottom while not even nearly offering the latter's features.<br><br>Next to them, <a href="https://joinfediverse.wiki/What_is_Pleroma%3F" rel="nofollow noopener noreferrer" target="_blank">Pleroma</a> from 2016 is famous for being much more lightweight than Mastodon while still offering more. But it is written in the fairly exotic <a href="https://en.wikipedia.org/wiki/Elixir_(programming_language)" rel="nofollow noopener noreferrer" target="_blank">Elixir</a> language. Also, it can't use MySQL; it is only compatible with more complex <a href="https://en.wikipedia.org/wiki/PostgreSQL" rel="nofollow noopener noreferrer" target="_blank">PostgreSQL</a>. In the meantime, <a href="https://joinfediverse.wiki/What_is_Misskey%3F" rel="nofollow noopener noreferrer" target="_blank">Misskey</a>, which dates back to 2014, is entirely based on JavaScript: It is written in Microsoft's <a href="https://en.wikipedia.org/wiki/TypeScript" rel="nofollow noopener noreferrer" target="_blank">TypeScript</a> with <a href="https://en.wikipedia.org/wiki/Vue.js" rel="nofollow noopener noreferrer" target="_blank">Vue.js</a> for the frontend. Let's say there's a reason why the former Firefish fork and now Misskey fork <a href="https://iceshrimp.dev/iceshrimp/iceshrimp" rel="nofollow noopener noreferrer" target="_blank">Iceshrimp</a> is currently being re-written from scratch in <a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)" rel="nofollow noopener noreferrer" target="_blank">C#</a> as <a href="https://iceshrimp.dev/iceshrimp/iceshrimp.net" rel="nofollow noopener noreferrer" target="_blank">Iceshrimp.NET</a>.<br><br>#<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Fediverse" rel="nofollow noopener noreferrer" target="_blank">Fediverse</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=diaspora%2A" rel="nofollow noopener noreferrer" target="_blank">diaspora*</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Mastodon" rel="nofollow noopener noreferrer" target="_blank">Mastodon</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Ruby%20on%20Rails" rel="nofollow noopener noreferrer" target="_blank">Ruby on Rails</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Pleroma" rel="nofollow noopener noreferrer" target="_blank">Pleroma</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Elixir" rel="nofollow noopener noreferrer" target="_blank">Elixir</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=PostgreSQL" rel="nofollow noopener noreferrer" target="_blank">PostgreSQL</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Misskey" rel="nofollow noopener noreferrer" target="_blank">Misskey</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=JavaScript" rel="nofollow noopener noreferrer" target="_blank">JavaScript</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=TypeScript" rel="nofollow noopener noreferrer" target="_blank">TypeScript</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Vue.js" rel="nofollow noopener noreferrer" target="_blank">Vue.js</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Friendica" rel="nofollow noopener noreferrer" target="_blank">Friendica</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Hubzilla" rel="nofollow noopener noreferrer" target="_blank">Hubzilla</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=%28streams%29" rel="nofollow noopener noreferrer" target="_blank">(streams)</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=MySQL" rel="nofollow noopener noreferrer" target="_blank">MySQL</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=PHP" rel="nofollow noopener noreferrer" target="_blank">PHP</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=LAMP%20stack" rel="nofollow noopener noreferrer" target="_blank">LAMP stack</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Meme" rel="nofollow noopener noreferrer" target="_blank">Meme</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=FediMeme" rel="nofollow noopener noreferrer" target="_blank">FediMeme</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Fediverse%20Meme" rel="nofollow noopener noreferrer" target="_blank">Fediverse Meme</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Wojak" rel="nofollow noopener noreferrer" target="_blank">Wojak</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Wojak%20comics" rel="nofollow noopener noreferrer" target="_blank">Wojak comics</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Soyjak" rel="nofollow noopener noreferrer" target="_blank">Soyjak</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Crying%20Wojak" rel="nofollow noopener noreferrer" target="_blank">Crying Wojak</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Moth" rel="nofollow noopener noreferrer" target="_blank">Moth</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=L%C3%A4mp" rel="nofollow noopener noreferrer" target="_blank">Lämp</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Moth%20lamp" rel="nofollow noopener noreferrer" target="_blank">Moth lamp</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=EyeContact" rel="nofollow noopener noreferrer" target="_blank">EyeContact</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=CWEyeContact" rel="nofollow noopener noreferrer" target="_blank">CWEyeContact</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Profanity" rel="nofollow noopener noreferrer" target="_blank">Profanity</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=CWProfanity" rel="nofollow noopener noreferrer" target="_blank">CWProfanity</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Swearing" rel="nofollow noopener noreferrer" target="_blank">Swearing</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=CWSwearing" rel="nofollow noopener noreferrer" target="_blank">CWSwearing</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Swear%20word" rel="nofollow noopener noreferrer" target="_blank">Swear word</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Crying" rel="nofollow noopener noreferrer" target="_blank">Crying</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=CWCrying" rel="nofollow noopener noreferrer" target="_blank">CWCrying</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Tears" rel="nofollow noopener noreferrer" target="_blank">Tears</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Anger" rel="nofollow noopener noreferrer" target="_blank">Anger</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=CWAnger" rel="nofollow noopener noreferrer" target="_blank">CWAnger</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=Sensitive" rel="nofollow noopener noreferrer" target="_blank">Sensitive</a> #<a class="hashtag" href="https://streams.elsmussols.net/search?tag=%E2%9A%A0%EF%B8%8F" rel="nofollow noopener noreferrer" target="_blank">⚠️</a>