lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

65
active users

#sitejs

0 posts0 participants0 posts today
Aral Balkan<p>👋🤓 Goodbye Site.js, Hello Kitten!</p><p>I started working on creating a Small Web¹ server (a peer-to-peer Web server) six years ago² with Site.js.</p><p>Building Site.js was my first attempt. And it resulted in:</p><p>• Auto Encrypt (automatic Let’s Encrypt certificates): <a href="https://codeberg.org/small-tech/auto-encrypt" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/auto-e</span><span class="invisible">ncrypt</span></a></p><p>• Auto Encrypt Localhost (automatic localhost TLS certificates): <a href="https://codeberg.org/small-tech/auto-encrypt-localhost" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/auto-e</span><span class="invisible">ncrypt-localhost</span></a></p><p>• @small-tech/https (drop-in Node.js https module replacement with automatic TLS certs everywhere): <a href="https://codeberg.org/small-tech/https" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/https</span><span class="invisible"></span></a></p><p>• JSDB: In-process, in-memory JavaScript database that persists to append-only JavaScript logs: <a href="https://codeberg.org/small-tech/jsdb" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/jsdb</span><span class="invisible"></span></a></p><p>As Site.js reached an evolutionary dead-end, and as I learned from my experiements with replicated data types that replicated data types are *not* a prerequisite for a decentralised web (actual topological decentralisation and ease of use are), I started writing a new server/platform called Kitten from scratch while still making use of the tried and tested modules listed above.</p><p>Last week, I switched over our last site using Site.js to Kitten and, with that, today I’ve sunset³ Site.js:</p><p><a href="https://sitejs.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sitejs.org</span><span class="invisible"></span></a></p><p>For its successor, please see Kitten:</p><p><a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a></p><p>If you want to support our work at the Small Technology Foundation, please consider becoming a patron:</p><p><a href="https://small-tech.org/fund-us" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">small-tech.org/fund-us</span><span class="invisible"></span></a></p><p>:kitten:💕</p><p>¹ <a href="https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/" rel="nofollow noopener" 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><br>² <a href="https://ar.al/2019/08/26/introducing-small-technology-foundation/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ar.al/2019/08/26/introducing-s</span><span class="invisible">mall-technology-foundation/</span></a><br>³ Using our instance of Look Over There!: <a href="https://look-over-there.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">look-over-there.small-web.org</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/SiteJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SiteJS</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/peerToPeerWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>peerToPeerWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTechnologyFoundation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTechnologyFoundation</span></a> <a href="https://mastodon.ar.al/tags/AutoEncrypt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AutoEncrypt</span></a> <a href="https://mastodon.ar.al/tags/AutoEncryptLocalhost" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AutoEncryptLocalhost</span></a> <a href="https://mastodon.ar.al/tags/JSDB" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JSDB</span></a> <a href="https://mastodon.ar.al/tags/JavaScriptDatabase" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScriptDatabase</span></a> <a href="https://mastodon.ar.al/tags/https" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>https</span></a> <a href="https://mastodon.ar.al/tags/TLS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TLS</span></a></p>
Aral Balkan<p>Your web server having an interactive shell (REPL) where you can live update entries in your site/app’s database is pretty neat (if I do say so myself) :)</p><p><a href="https://kitten.small-web.org/reference/#kitten-s-interactive-shell-repl" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#kitten-s-interactive-shell-repl</span></a></p><p>(I’m porting the Small Technology Foundation site¹ from Site.js² – and hence from being a static site generated via Site.js’s integrated Hugo³ – to Kitten⁴. In the process, I’m creating an admin panel⁵ for the news, events, and videos sections, which will make them easier to update, and storing the data in Kitten’s internal JavaScript Database⁶.)</p><p>¹ <a href="https://small-tech.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">small-tech.org</span><span class="invisible"></span></a><br>² <a href="https://sitejs.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sitejs.org</span><span class="invisible"></span></a><br>³ <a href="https://gohugo.io/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">gohugo.io/</span><span class="invisible"></span></a><br>⁴ <a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a><br>⁵ It’s trivial to create authenticated routes in Kitten. You just add a lock emoji (🔒) to the end of your route’s name. e.g., admin🔒.page.js or /admin🔒/index.page.js (see <a href="https://kitten.small-web.org/reference/#sessions-and-authentication" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#sessions-and-authentication</span></a>).<br>⁶ <a href="https://codeberg.org/small-tech/jsdb" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/jsdb</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a> <a href="https://mastodon.ar.al/tags/shell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>shell</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/database" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>database</span></a> <a href="https://mastodon.ar.al/tags/JavaScriptDatabase" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScriptDatabase</span></a> <a href="https://mastodon.ar.al/tags/JSDB" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JSDB</span></a> <a href="https://mastodon.ar.al/tags/SmallTechnologyFoundation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTechnologyFoundation</span></a> <a href="https://mastodon.ar.al/tags/SiteJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SiteJS</span></a> <a href="https://mastodon.ar.al/tags/Hugo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Hugo</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NodeJS</span></a></p>
Aral Balkan<p>I’m in the process of rewriting our sites that use Site.js¹, which has been deprecated for some time now, in Kitten².</p><p>In any of your sites use Site.js, I’d highly recommend doing the same thing. This is also a heads up for anyone who uses Site.js to install and run their own Owncast server³.</p><p>Site.js will be retired and the web site will start forwarding to Kitten’s at the end of April, 2025.</p><p>In May, automatic TLS certificate renewals for existing sites will start to fail.</p><p>(Kitten is the spritual successor to Site.js. Or think of Site.js as my first attempt at a Small Web server. I learned a lot while making it and a lot of the components I built for Site.js – like Auto Encrypt⁴, etc. – live on in Kitten.)</p><p>:kitten:💕</p><p>¹ <a href="https://sitejs.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sitejs.org</span><span class="invisible"></span></a><br>² kitten.small-web.org<br>³ CC <span class="h-card" translate="no"><a href="https://social.gabekangas.com/users/gabek" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>gabek</span></a></span>, <span class="h-card" translate="no"><a href="https://fosstodon.org/@owncast" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>owncast</span></a></span>: If Site.js is still listed as a way of installing Owncast, now would be a good time to remove that and to relay this to folks in the Owncast community :)<br>⁴ <a href="https://codeberg.org/small-tech/auto-encrypt" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/auto-e</span><span class="invisible">ncrypt</span></a></p><p><a href="https://mastodon.ar.al/tags/SiteJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SiteJS</span></a> <a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/Owncast" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Owncast</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/announcement" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>announcement</span></a> <a href="https://mastodon.ar.al/tags/notice" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>notice</span></a></p>
Aral Balkan<p>So I guess Let’s Encrypt has decided what I’ll be working on today then…</p><p><a href="https://letsencrypt.org/2024/12/05/ending-ocsp/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">letsencrypt.org/2024/12/05/end</span><span class="invisible">ing-ocsp/</span></a></p><p>(They’re ending OCSP stapling support. I’ll be updating Auto Encrypt¹ to remove OCSP support and then update @small-tech/https, which uses it, along with Auto Encrypt Localhost² to provide seamless TLS support regardless of whether you’re working in development or in production, and then update Site.js³ – deprecated but still used to serve some of our own sites at Small Technology Foundation⁴ – and Kitten⁵, with the latest @small-tech/https.)</p><p>¹ <a href="https://codeberg.org/small-tech/auto-encrypt" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/auto-e</span><span class="invisible">ncrypt</span></a><br>² <a href="https://codeberg.org/small-tech/auto-encrypt-localhost" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/small-tech/auto-e</span><span class="invisible">ncrypt-localhost</span></a><br>³ <a href="https://codeberg.org/small-tech/https" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/https</span><span class="invisible"></span></a><br>⁴ <a href="https://small-tech.org" rel="nofollow noopener" 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" 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/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a> <a href="https://mastodon.ar.al/tags/SmallTech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTech</span></a> <a href="https://mastodon.ar.al/tags/TLS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TLS</span></a> <a href="https://mastodon.ar.al/tags/SSL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SSL</span></a> <a href="https://mastodon.ar.al/tags/HTTPS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTTPS</span></a> <a href="https://mastodon.ar.al/tags/LetsEncrypt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LetsEncrypt</span></a> <a href="https://mastodon.ar.al/tags/OCSP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OCSP</span></a> <a href="https://mastodon.ar.al/tags/AutoEncrypt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AutoEncrypt</span></a> <a href="https://mastodon.ar.al/tags/AutoEncryptLocalhost" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AutoEncryptLocalhost</span></a> <a href="https://mastodon.ar.al/tags/SiteJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SiteJS</span></a> <a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a></p>
Aral Balkan<p>Just made a macOS bug-fix release for Site.js¹ and also deprecated it as I’ll no longer be maintaining it. (We’ll be porting our own sites to Kitten².)</p><p>Site.js was the first iteration of a Small Web server and I learned a whole lot by building it. It is also where many of the components in Kitten originated (auto TLS, the JSDB database, etc.)</p><p>I’ll keep the site up for the foreseeable future for the historic record.</p><p>¹ <a href="https://sitejs.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sitejs.org</span><span class="invisible"></span></a><br>² <a href="https://kitten.small-web.org" rel="nofollow noopener" 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/SiteJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SiteJS</span></a> <a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/SmallWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallWeb</span></a></p>