beige.party is one of the many independent Mastodon servers you can use to participate in the fediverse.
A home to friendly weirdos. The Grey Gardens of the Fediverse (but beige). Occasionally graphically cacographic. Definitely probably not a cult (though you'll never be 100% sure). Beige-bless 🙏

Server stats:

447
active users

#smalltech

0 posts0 participants0 posts today
Fedi.Garden 🌱<p>camp.smolnet.org is a Mastodon server for those who share a certain weariness of huge internet services that exploit their users. Server languages include English and Swedish, and the server is based in Sweden.</p><p>:Fediverse: <a href="https://camp.smolnet.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">camp.smolnet.org</span><span class="invisible"></span></a></p><p>You can find out more at <a href="https://camp.smolnet.org/about" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">camp.smolnet.org/about</span><span class="invisible"></span></a> or contact the admin <span class="h-card" translate="no"><a href="https://camp.smolnet.org/@micke" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>micke</span></a></span> </p><p><a href="https://social.growyourown.services/tags/FeaturedServer" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FeaturedServer</span></a> <a href="https://social.growyourown.services/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://social.growyourown.services/tags/Svenska" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Svenska</span></a> <a href="https://social.growyourown.services/tags/Sverige" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Sverige</span></a> <a href="https://social.growyourown.services/tags/Swedish" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Swedish</span></a> <a href="https://social.growyourown.services/tags/Sweden" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Sweden</span></a> <a href="https://social.growyourown.services/tags/Mastodon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Mastodon</span></a> <a href="https://social.growyourown.services/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://social.growyourown.services/tags/FreeFediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeFediverse</span></a></p>
Aral Balkan<p>So after listening to your feedback, I agree: let’s spend that money in the EU to create a publicly-owned, free and open ACME-compatible certificate authority.</p><p>See post quoted below, with links to Tom’s work as he’s already been thinking/working on this.</p><p><a href="https://mastodon.ar.al/tags/EU" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EU</span></a> <a href="https://mastodon.ar.al/tags/ACME" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ACME</span></a> <a href="https://mastodon.ar.al/tags/TLS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TLS</span></a> <a href="https://mastodon.ar.al/tags/security" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>security</span></a> <a href="https://mastodon.ar.al/tags/LetsEncrypt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LetsEncrypt</span></a> <a href="https://mastodon.ar.al/tags/technologyCommons" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>technologyCommons</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mamot.fr/@tdelmas/114224564125819333" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mamot.fr/@tdelmas/114224564125</span><span class="invisible">819333</span></a></p>
Aral Balkan<p>🚨 Let’s Encrypt at risk from Trump cuts to OTF: “Let’s Encrypt received around $800,000 in funding from the OTF”</p><p>Dear <span class="h-card" translate="no"><a href="https://ec.social-network.europa.eu/@EUCommission" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>EUCommission</span></a></span>, get your heads out of your arses and let’s find <span class="h-card" translate="no"><a href="https://infosec.exchange/@letsencrypt" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>letsencrypt</span></a></span> €1M/year (a rounding error in EU finances) and have them move to the EU.</p><p>If Let’s Encrypt is fucked, the web is fucked, and the Small Web is fucked too. So how about we don’t let that happen, yeah?</p><p>(In the meanwhile, if the Let’s Encrypt folks want to make a point about how essential they are, it might be an idea to refuse certificates to republican politicians. See how they like their donation systems breaking in real time…)</p><p>CC <span class="h-card" translate="no"><a href="https://social.nlnet.nl/@nlnet" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>nlnet</span></a></span> @NGIZero@mastodon.xyz </p><p><a href="https://mastodon.ar.al/tags/USA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>USA</span></a> <a href="https://mastodon.ar.al/tags/fascism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fascism</span></a> <a href="https://mastodon.ar.al/tags/OpenTechFund" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenTechFund</span></a> <a href="https://mastodon.ar.al/tags/LetsEncrypt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LetsEncrypt</span></a> <a href="https://mastodon.ar.al/tags/SSL" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SSL</span></a> <a href="https://mastodon.ar.al/tags/TLS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TLS</span></a> <a href="https://mastodon.ar.al/tags/encryption" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>encryption</span></a> <a href="https://mastodon.ar.al/tags/EU" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EU</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.social/@publictorsten/114223873439053263" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/@publictorsten</span><span class="invisible">/114223873439053263</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Now leaves &lt;style&gt; tags within &lt;template&gt; tags alone when collating and normalising the CSS on a page so as not to interfere with scoped styles in declarative shadow DOM.</p><p>(Kitten’s Streaming HTML workflow¹ – which uses htmx and WebSockets under the hood – combined with built-in support for slots, etc., in Kitten components² means the use of declarative shadow DOM is mostly useful if you want scoped styles. Ideally, of course, use classes to scope styles to your components and be specific in your CSS selectors in general so as not to pollute elements in your components. Although that’s a bit like saying you should floss everyday. Yeah, we all know we should…) :)</p><p>Update: All that said, I’d highly recommend you don’t use Shadow DOM in your Kitten apps. For one thing, htmx’s WebSocket extension doesn’t seem to play well with it. And for another, you really don’t need it and definitely not just to get scoped CSS.</p><p>Enjoy!</p><p>:kitten:💕</p><p>¹ <a href="https://kitten.small-web.org/tutorials/streaming-html/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/streaming-html/</span></a><br>² <a href="https://kitten.small-web.org/tutorials/components-and-fragments/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/components-and-fragments/</span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/CSSScoping" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSSScoping</span></a> <a href="https://mastodon.ar.al/tags/ShadowDOM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ShadowDOM</span></a> <a href="https://mastodon.ar.al/tags/shadowRoot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>shadowRoot</span></a> <a href="https://mastodon.ar.al/tags/DOM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DOM</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/JS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JS</span></a> <a href="https://mastodon.ar.al/tags/style" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>style</span></a> <a href="https://mastodon.ar.al/tags/template" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>template</span></a> <a href="https://mastodon.ar.al/tags/declarativeShadowDOM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>declarativeShadowDOM</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Socket routes now have precendence in the router.</p><p>This stops wildcard page routes from capturing the default socket routes that Kitten creates to enable the Streaming HTML workflow.</p><p>e.g., Previously, the following route:</p><p>/videos/index_[slug].page.js</p><p>Could not connect to its default socket (/videos/default.socket) because default.socket would be captured by the [slug] parameter.</p><p>Now, it will work as intended as the /videos/default.socket (a socket route) has precendence over index_[slug].page.js (a page route).</p><p>Learn more about Kitten’s Streaming HTML workflow here:<br><a href="https://kitten.small-web.org/tutorials/streaming-html/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/streaming-html/</span></a></p><p>Enjoy!</p><p>:kitten:💕</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/StreamingHTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>StreamingHTML</span></a> <a href="https://mastodon.ar.al/tags/routing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>routing</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/JS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JS</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Fixes edge case where the sign in page, if left open for longer than the length of a session, would throw an error on sign-in attempt (because the challenge for the public-key authentication Kitten apps use would have expired alongside).</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>:kitten:💕</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/publicKeyAuthentication" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>publicKeyAuthentication</span></a> <a href="https://mastodon.ar.al/tags/sessions" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sessions</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a></p>
Aral Balkan<p>While working on porting the Small Technology Foundation web site¹ to Kitten², I took the opportunity to pull out base Model and Collection classes that I’ll likely end up including in Kitten proper:</p><p>• Model: <a href="https://codeberg.org/small-tech/site/src/branch/kitten/app_modules/database/Model.js" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/site/s</span><span class="invisible">rc/branch/kitten/app_modules/database/Model.js</span></a><br>• Collection: <a href="https://codeberg.org/small-tech/site/src/branch/kitten/app_modules/database/Collection.js" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/site/s</span><span class="invisible">rc/branch/kitten/app_modules/database/Collection.js</span></a></p><p>To see them in use, here’s the base Posts class (with RSS generation) that extends Collection:<br><a href="https://codeberg.org/small-tech/site/src/branch/kitten/app_modules/database/Posts.js" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/site/s</span><span class="invisible">rc/branch/kitten/app_modules/database/Posts.js</span></a> </p><p>And here’s the concrete EventPosts collection class that extends Posts:<br><a href="https://codeberg.org/small-tech/site/src/branch/kitten/app_modules/database/EventPosts.js" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/site/s</span><span class="invisible">rc/branch/kitten/app_modules/database/EventPosts.js</span></a></p><p>And the EventPost (showing an implementation of a calculated property):<br><a href="https://codeberg.org/small-tech/site/src/branch/kitten/app_modules/database/EventPost.js" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/site/s</span><span class="invisible">rc/branch/kitten/app_modules/database/EventPost.js</span></a></p><p>So all this is possible (persisting and reading back typed model collections, etc.) thanks to JSDB¹ (JavaScript database), a zero-dependency, transparent, in-memory, streaming write-on-update JavaScript database I wrote for the Small Web that persists to a JavaScript transaction log and is included as as first-class citizen in Kitten.</p><p><a href="https://codeberg.org/small-tech/jsdb" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/jsdb</span><span class="invisible"></span></a></p><p>And if you want to know how the magic mapping of classes happens, see the Database App Module:</p><p><a href="https://codeberg.org/small-tech/site/src/branch/kitten/app_modules/database/database.js#L34" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/site/s</span><span class="invisible">rc/branch/kitten/app_modules/database/database.js#L34</span></a></p><p>PS. For a much gentler introduction to persistence in Kitten, see the Kitten Persistence tutorial:<br><a href="https://kitten.small-web.org/tutorials/persistence/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/persistence/</span></a></p><p>Enjoy! :kitten:💕</p><p>¹ <a href="https://small-tech.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">small-tech.org</span><span class="invisible"></span></a><br>² <a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/database" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>database</span></a> <a href="https://mastodon.ar.al/tags/JSDB" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JSDB</span></a> <a href="https://mastodon.ar.al/tags/typeSafety" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>typeSafety</span></a> <a href="https://mastodon.ar.al/tags/JSDoc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JSDoc</span></a> <a href="https://mastodon.ar.al/tags/closureCompiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>closureCompiler</span></a> <a href="https://mastodon.ar.al/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.ar.al/tags/workInProgress" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>workInProgress</span></a></p>
Aral Balkan<p>New Kitten Release</p><p>• Automatic message routing: if the element that triggers an event on the client does not have a `name` attribute, Kitten now falls back to using its `id` instead to route the event to the correct server-side event handler on your live Kitten pages. </p><p>If neither attribute exists, Kitten will fail to route the message but no longer crash as it was due to a regression introduced when I implemented support for colons in element names.¹</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>For more details on Kitten’s live pages and automatic message routing, please see the Streaming HTML tutorial:</p><p><a href="https://kitten.small-web.org/tutorials/streaming-html/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/streaming-html/</span></a></p><p>Enjoy!</p><p>:kitten:💕</p><p>¹ A colon in an element name is ignored for message routing purposes, letting you, for example, give unique names to &lt;details&gt; elements, allowing more than one to be open at a time, while having their events be handled by the same handler.</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/hypermedia" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hypermedia</span></a> <a href="https://mastodon.ar.al/tags/htmx" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>htmx</span></a> <a href="https://mastodon.ar.al/tags/WebSocket" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebSocket</span></a> <a href="https://mastodon.ar.al/tags/beautifulDefaults" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>beautifulDefaults</span></a> <a href="https://mastodon.ar.al/tags/StreamingHTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>StreamingHTML</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Added instructions to Kitten’s Settings app for how to set up a webhook at Codeberg¹ so that pushing to your main branch automatically updates your deployed server.</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>(Would you like me to add instructions for GitHub also? Hmm, let me think a moment… No.)</p><p>You can also find the relevant information in the Kitten reference:</p><p><a href="https://kitten.small-web.org/reference/#webhook" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#webhook</span></a></p><p>Enjoy!</p><p>:kitten:💕</p><p>¹ Codeberg is an community-run ethical alternative GitHub. You can follow them on the fediverse at <span class="h-card" translate="no"><a href="https://social.anoxinon.de/@Codeberg" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>Codeberg</span></a></span> and visit them online at <a href="https://codeberg.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/webhooks" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webhooks</span></a> <a href="https://mastodon.ar.al/tags/git" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>git</span></a> <a href="https://mastodon.ar.al/tags/deployment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>deployment</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Change: Add Kitten’s own routes (that every Kitten app inherits) for the Small Web protocol namespace (/💕) as well as for Kitten’s reserved namespace (/🐱) first, before app-specific routes so that a wildcard route in the form, e.g., [anything]_[anythingElse].get.js won’t lock you out of the Settings site for your app (at /🐱/settings).</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>Enjoy!</p><p>(To update, run `kitten update` from your terminal on your development machine or manually update deployment servers from /🐱/settings/kitten/ or just wait a few hours for them to update automatically. You can also just run the installation command again.)</p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/routing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>routing</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a></p>
Aral Balkan<p>Was talking with a friend of mine in academia here in Ireland about introducing one of the universities in Dublin to the concept of the Small Web and Small Tech. She asked her faculty if they’d be interested.</p><p>Their response?</p><p>“We’re not looking to change things.”</p><p>I shit you not.</p><p>(In case you’re wondering why we’re fucked or who exactly is complicit. These are folks that have multi-million euro relationships with Big Tech.)</p><p><a href="https://mastodon.ar.al/tags/BigTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BigTech</span></a> <a href="https://mastodon.ar.al/tags/SiliconValley" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SiliconValley</span></a> <a href="https://mastodon.ar.al/tags/academia" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>academia</span></a> <a href="https://mastodon.ar.al/tags/institutionalCorruption" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>institutionalCorruption</span></a> <a href="https://mastodon.ar.al/tags/education" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>education</span></a> <a href="https://mastodon.ar.al/tags/neoliberalism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>neoliberalism</span></a> <a href="https://mastodon.ar.al/tags/fascism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fascism</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/humanRights" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>humanRights</span></a> <a href="https://mastodon.ar.al/tags/democracy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>democracy</span></a> <a href="https://mastodon.ar.al/tags/ireland" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ireland</span></a> <a href="https://mastodon.ar.al/tags/eu" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>eu</span></a></p>
Roy Bøhmer<p>Danmark har data.coop, en forening som tilbyr digitale tjenester til sine medlemmer, med formål om (bl.a) å sørge for den enkeltes kontroll med egne data. </p><p>Finnes noe tilsvarende i Norge?</p><p><a href="https://snabelen.no/tags/datacoop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>datacoop</span></a> <a href="https://snabelen.no/tags/smalltech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>smalltech</span></a> <a href="https://snabelen.no/tags/Norsktut" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Norsktut</span></a> <a href="https://snabelen.no/tags/personvern" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>personvern</span></a> <a href="https://snabelen.no/tags/fullkontroll" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fullkontroll</span></a> <a href="https://snabelen.no/tags/friprog" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>friprog</span></a> <a href="https://snabelen.no/tags/friprogramvare" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>friprogramvare</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Fixes redirection from sign-in page when person is already authenticated.</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>To learn more about how Kitten automatically implements authentication for your Small Web sites and apps using public-key cryptography (so even your own server doesn’t know your secret)¹, please see the Authentication tutorial:</p><p><a href="https://kitten.small-web.org/tutorials/authentication/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/authentication/</span></a></p><p>Enjoy!</p><p>:kitten:💕</p><p>¹ The security (and privacy) of Domain/Kitten are based on a 32-byte cryptographically random secret string that only the person who owns/controls a domain knows.</p><p>This is basically a Base256-encoded ed25519 secret key where the Base256 alphabet is a set of curated emoji surrogate pairs without any special modifiers chosen mainly from the animals, plants, and food groups with some exceptions (to avoid common phobias or triggers, etc.) that we call KittenMoji.</p><p>…</p><p>When setting up a Small Web app via Domain, this key is generated in the person’s browser, on their own computer, and is never communicated to either the Domain instance or the Kitten app being installed. Instead the ed25519 public key is sent to both and signed token authentication is used when the server needs to verify the owner’s identity (e.g., before allowing access to the administration area).</p><p>The expected/encouraged behaviour is for the person to store this secret in their password manager of choice.</p><p>More: <a href="https://kitten.small-web.org/reference/#cryptographic-properties" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#cryptographic-properties</span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/authentication" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>authentication</span></a> <a href="https://mastodon.ar.al/tags/publicKeyCryptography" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>publicKeyCryptography</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a></p>
Aral Balkan<p>I wrote this five years ago:</p><p>“Democracy or capitalism? Pick one.</p><p>If, like me, you grew up in the 80s, you probably unthinkingly accepted the neoliberal maxim that democracy and capitalism go hand-in-hand. This is one of the greatest lies ever told. Democracy and capitalism are polar opposites.</p><p>You cannot have a functional democracy and billionaires and trillion-dollar corporate interests and Silicon Valley’s Big Tech misinformation and exploitation machinery. What we’re seeing is the clash of capitalism and democracy and capitalism is winning.</p><p>Are we past a tipping point? I don’t know. Perhaps. But we can’t think like that.</p><p>Personally, I’m going to keep working to effect change where I feel I can be effective: in creating alternative technological infrastructure to support individual freedoms and democracy.</p><p>We’ve already laid the infrastructure of techno-fascism. We’ve already created (and are creating) the panopticons. All the fascists need to do is move in and take the controls. And they will do so democratically, before destroying democracy, just as Hitler did.</p><p>And if you think the 1930s and 40s were something, remember that the most advanced tools to amplify the destructive ideologies of the time were less powerful than the computers you have in your pockets today. Today we have machine learning and are on the brink of unlocking quantum computing.</p><p>We must ensure the 2030s are not like the 1930s. Because our advanced centralised systems of data capture, classification, and prediction plus a hundred years of exponential increase in processing power (note: I do not use the word “progress”) mean the 2030s will be exponentially worse.</p><p>Whoever you are, wherever you are, we have a common enemy: the nationalist international. The problems of our time transcend national borders. The solutions must also. The systems we build must be both local and global at once. The network we must build is one of solidarity.</p><p>We created the present. We will create the future. Let’s work together to ensure that that future is the one we want to live in ourselves.”</p><p>– In 2020 and beyond, the battle to save personhood and democracy requires a radical overhaul of mainstream technology</p><p><a href="https://ar.al/2020/01/01/in-2020-and-beyond-the-battle-to-save-personhood-and-democracy-requires-a-radical-overhaul-of-mainstream-technology/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ar.al/2020/01/01/in-2020-and-b</span><span class="invisible">eyond-the-battle-to-save-personhood-and-democracy-requires-a-radical-overhaul-of-mainstream-technology/</span></a></p><p>And that’s why I’m working on building the Small Web.</p><p><a href="https://ar.al/2020/08/07/what-is-the-small-web/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ar.al/2020/08/07/what-is-the-s</span><span class="invisible">mall-web/</span></a></p><p>With ZERO funding from the EU and multiple rejections from NLNet/ngi (because they still don’t get it).</p><p><a href="https://ar.al/2022/10/20/nlnet-grant-application-for-domain-rejected/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ar.al/2022/10/20/nlnet-grant-a</span><span class="invisible">pplication-for-domain-rejected/</span></a></p><p>(That’s from 2022. We were also rejected in 2024 for my work on Kitten, Domain, and Place as outlined in my talk, linked below, but I was too tired to write about it again.)</p><p><a href="https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ar.al/2024/06/24/small-web-com</span><span class="invisible">puter-science-colloquium-at-university-of-groningen/</span></a></p><p>So for fuck’s sake, if you agree with my vision for a technological (and thus societal) future different from the hellscape we currently inhabit, and want to help us explore one possible path towards it, please fund our damn work. (Because, clearly, the EU is adamant about not doing so.)</p><p><a href="https://small-tech.org/fund-us/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">small-tech.org/fund-us/</span><span class="invisible"></span></a></p><p>Other ways to help:</p><p>- If you know of folks that are ethically compatible who offer no strings funding, please try to secure some for us (my time is 100% spent on coding at the moment).</p><p>- If you know of conferences that pay their speakers, ask them to have me speak on the Small Web. It can be as technical or non-technical as you like and I won’t do it for free but I’m happy to accept, within reason, what they can afford (in addition to travel and accommodation being covered) and any fees received go to Small Technology Foundation, our not-for-profit.</p><p>- Help share this far and wide.</p><p>Once Domain is released and we have the first Small Web host running on small-web.org – hopefully the first of many that will be run by other folks in the future – and we start taking commercial sign-ups for Small Web places, we should eventually have the money problem solved (because apparently that’s a problem you have to solve to gain the privilege of working for the common good in our world because our system is unabashedly shortsighted).</p><p>So, yeah, anyway, g’morning! How’s your day going so far? :)</p><p>(You made it this far? You deserve a hug. And don’t worry, I’m just venting. Things will get better. It’s just frustrating swimming upstream all the time.)</p><p>💕 </p><p><a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/humanRights" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>humanRights</span></a> <a href="https://mastodon.ar.al/tags/democracy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>democracy</span></a> <a href="https://mastodon.ar.al/tags/anarchy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>anarchy</span></a> <a href="https://mastodon.ar.al/tags/BigWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BigWeb</span></a> <a href="https://mastodon.ar.al/tags/BigTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BigTech</span></a> <a href="https://mastodon.ar.al/tags/capitalism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>capitalism</span></a> <a href="https://mastodon.ar.al/tags/neoliberalism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>neoliberalism</span></a> <a href="https://mastodon.ar.al/tags/technoFascism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>technoFascism</span></a> <a href="https://mastodon.ar.al/tags/technology" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>technology</span></a> <a href="https://mastodon.ar.al/tags/fascism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fascism</span></a> <a href="https://mastodon.ar.al/tags/society" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>society</span></a> <a href="https://mastodon.ar.al/tags/freedom" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freedom</span></a> <a href="https://mastodon.ar.al/tags/personhood" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>personhood</span></a></p>
Aral Balkan<p>Yeah, listen, I don’t care how many million viewers it has, don’t invite me to your podcast if you feel it’s fine to debate whether trans people should exist or if vaccines work or not. No, thank you.</p><p><a href="https://mastodon.ar.al/tags/DanAstinGregoryPodcast" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DanAstinGregoryPodcast</span></a> <a href="https://mastodon.ar.al/tags/humanRights" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>humanRights</span></a> <a href="https://mastodon.ar.al/tags/democracy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>democracy</span></a> <a href="https://mastodon.ar.al/tags/freedom" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freedom</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a></p>
Runbox<p>Influencing public policy, promoting misleading content, undermining democracy... Big tech has a lot of power these days. They are shaping our world more than ever. We look at regulation and what's at stake for big tech. <br><a href="https://mastodon.social/tags/bigtech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bigtech</span></a> <a href="https://mastodon.social/tags/power" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>power</span></a> <a href="https://mastodon.social/tags/privacy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>privacy</span></a> <a href="https://mastodon.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>smalltech</span></a> <a href="https://mastodon.social/tags/regulation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>regulation</span></a> <a href="https://mastodon.social/tags/gdpr" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gdpr</span></a> <a href="https://mastodon.social/tags/ftc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ftc</span></a> <br><a href="https://blog.runbox.com/2025/02/the-power-of-big-tech/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.runbox.com/2025/02/the-po</span><span class="invisible">wer-of-big-tech/</span></a></p>
Aral Balkan<p>New Kitten release</p><p>• Fixes issue with routes where dynamic routes with file names that had more than two extensions were not recognised as the correct type of route. e.g., A route called index.xml.get.js would previously have been treated as a static route instead of a dynamic GET route.</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>For more details, see the Valid File Types section of the Kitten reference¹ and the Dynamic Pages tutorial².</p><p>Enjoy!</p><p>:kitten:💕</p><p>¹ <a href="https://kitten.small-web.org/reference/#valid-file-types" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#valid-file-types</span></a><br>² <a href="https://kitten.small-web.org/tutorials/dynamic-pages/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/tutorials</span><span class="invisible">/dynamic-pages/</span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/server" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>server</span></a> <a href="https://mastodon.ar.al/tags/framework" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>framework</span></a> <a href="https://mastodon.ar.al/tags/kit" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kit</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/routing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>routing</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NodeJS</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/HTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HTML</span></a> <a href="https://mastodon.ar.al/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.ar.al/tags/htmx" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>htmx</span></a> <a href="https://mastodon.ar.al/tags/WebSocket" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebSocket</span></a> <a href="https://mastodon.ar.al/tags/hypermedia" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hypermedia</span></a> <a href="https://mastodon.ar.al/tags/StreamingHTML" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>StreamingHTML</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dev</span></a></p>
The Internet is Crack<p>The Goal Can't Be About Money!</p><p>In this episode, Aral Balkan exposes how billionaire internet, turning us into products, and why reclaiming our digital rights is the fight of our lifetime.</p><p>Watch or listen to the full episode wherever your podcast is.<br><a href="https://youtu.be/Hr3POZzAH-g" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/Hr3POZzAH-g</span><span class="invisible"></span></a><br><span class="h-card" translate="no"><a href="https://mastodon.ar.al/@aral" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>aral</span></a></span> <a href="https://mastodon.social/tags/theinternetiscrack" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>theinternetiscrack</span></a> <a href="https://mastodon.social/tags/podcast" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>podcast</span></a> <a href="https://mastodon.social/tags/bigtech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bigtech</span></a> <a href="https://mastodon.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>smalltech</span></a> <a href="https://mastodon.social/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mastodon.social/tags/power" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>power</span></a></p>
The Internet is Crack<p>LLM's Steal From Us!</p><p>In this episode, Aral Balkan exposes how billionaire internet, turning us into products, and why reclaiming our digital rights is the fight of our lifetime.</p><p>Watch or listen to the full episode wherever your podcast is.<br><a href="https://youtu.be/Hr3POZzAH-g" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/Hr3POZzAH-g</span><span class="invisible"></span></a><br><span class="h-card" translate="no"><a href="https://mastodon.ar.al/@aral" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>aral</span></a></span> <br><a href="https://mastodon.social/tags/bigtech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bigtech</span></a> <a href="https://mastodon.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>smalltech</span></a> <a href="https://mastodon.social/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mastodon.social/tags/theinternetiscrack" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>theinternetiscrack</span></a> <a href="https://mastodon.social/tags/podcast" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>podcast</span></a></p>
The Internet is Crack<p>We Must Fight Back! </p><p>In this episode, Aral Balkan exposes how billionaire corporations have seized control of the internet, turning us into products, and why reclaiming our digital rights is the fight of our lifetime.</p><p>Watch or listen to the full episode wherever your podcast is.<br><a href="https://youtu.be/Hr3POZzAH-g" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/Hr3POZzAH-g</span><span class="invisible"></span></a><br><span class="h-card" translate="no"><a href="https://mastodon.ar.al/@aral" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>aral</span></a></span> <br><a href="https://mastodon.social/tags/theinternetiscrack" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>theinternetiscrack</span></a> <a href="https://mastodon.social/tags/podcast" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>podcast</span></a> <a href="https://mastodon.social/tags/bigtech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bigtech</span></a> <a href="https://mastodon.social/tags/smalltech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>smalltech</span></a> <a href="https://mastodon.social/tags/power" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>power</span></a> <a href="https://mastodon.social/tags/humanrights" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>humanrights</span></a></p>