Looking forward to speaking at Defuse – Design for Use in Dublin on November 10th about breaking the rules and doing things differently (and yes, the Small Web).
Mark it on your calendars and come along if you’re free.
Looking forward to speaking at Defuse – Design for Use in Dublin on November 10th about breaking the rules and doing things differently (and yes, the Small Web).
Mark it on your calendars and come along if you’re free.
@jonasgeiler @Habbie Thanks, Jonas :)
Also see Look Over There! – which you can easily deploy yourself on a tiny VPS – it’s how I’m redirecting our old sites to archive.org (https://look-over-there.small-web.org/)
New Kitten Release
• Fixed regression: Since we switched the h() render function to return a generator (for seamless async support in html templates), two other methods that were calling h() directly – `kitten.safelyAddHtml()` and `kitten.js()` – had begun to fail. This was also affecting the fetchiverse, streamiverse, and kitten-chat family of examples.
Enjoy!
(Run `kitten update` to immediately install the latest version on your development machines. Your production machines will automatically update in the next few hours.)
Kitten’s installation server was down for the last two days. In case you tried to install it and it failed, that’s why.
Issue’s now been fixed.
Had my talk on Small Web accepted at #why2025 but I hadn’t realised (my bad) that not only do you have to cover your own travel and accommodation but you also have to buy a ticket to speak. I’m sorry, as part of a tiny two-person not-for-profit working for the common good, I can’t afford to pay to speak at events. I’m not Deloitte. So I sadly had to withdraw my talk.
If any conferences do want to hear about the Small Web and are willing to support our work by paying us to speak about it, please feel free to get in touch:
You can play with (a supercharged server-driven version of it) today with Kitten:
https://kitten.small-web.org/tutorials/dynamic-pages/
https://kitten.small-web.org/tutorials/streaming-html/
#Kitten #SmallWeb #SmallTech https://toot.cafe/@nolan/114750258226769939
Thanking the @letsencrypt folks for the excellent work they do, and especially for their upcoming support for security certificates for IP addresses which is nothing short of revolutionary for the future of the (Small) Web.
https://community.letsencrypt.org/t/getting-ready-to-issue-ip-address-certificates/238777/22
Introducing Web Numbers
Domains? Where we’re going, we don’t need domains!
Get ready for an exciting new (old?) way to address (small) web sites in 2026.
https://ar.al/2025/06/25/web-numbers/
(Thanks to @letsencrypt.)
Back home after a week away to see family and itching to get back to work on the Small Web on Monday.
Expect an exciting update soon :)
New Kitten Release
• Added support for symlinks
You can now use symlinks in your sites/apps (but only those that point inside your site/app’s directory for security reasons).
Change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2025-05-29
Documentation: https://kitten.small-web.org/reference/#symlinks
To update Kitten:
• On your dev machine, run: kitten update
• On deployed machines, it will automatically update in a few hours.
Enjoy!
What is my IP?
So I just whipped up a tiny Kitten app that tells you what your IP address is.
Yes, there are dozens of such services. But I wanted something I trust (because I built and host it).
Please feel free to use it.
• Browser: https://ip.small-web.org
• JSON API: https://ip.small-web.org/json/
View source: https://codeberg.org/small-tech/ip
Enjoy!
Just requested that Auto Encrypt¹ is added to the list of @letsencrypt clients for Node.js and that Kitten² is added to the list of projects that integrate Let’s Encrypt support:
• https://github.com/letsencrypt/website/pull/1921
• https://github.com/letsencrypt/website/pull/1922
I originally requested that Auto Encrypt and Site.js (the precursor to Kitten, now sunset) be added to the list in 2021. It was not approved (no reason given), so hopefully this time will be different.
https://github.com/letsencrypt/website/pull/1203
¹ https://codeberg.org/small-tech/auto-encrypt
² https://kitten.small-web.org
Auto Encrypt – heads up!
In the next minor version release of Auto Encrypt¹, we’ll be moving from a hard-coded date-based certificate renewal check to using ACME Renewal Information (ARI)².
The change³ should be seamless.
If you have any concerns, now is the time to raise them :)
#AutoEncrypt #TLS #LetsEncrypt #SmallTech #SmallWeb
¹ Drop-in Node.js https server replacement that automatically provisions and renews Let’s Encrypt certificates for you. (https://codeberg.org/small-tech/auto-encrypt#auto-encrypt)
² https://datatracker.ietf.org/doc/draft-ietf-acme-ari/
³ https://codeberg.org/small-tech/auto-encrypt/src/branch/main/CHANGELOG.md#4-4-0-2025
Goodbye Site.js, Hello Kitten!
I started working on creating a Small Web¹ server (a peer-to-peer Web server) six years ago² with Site.js.
Building Site.js was my first attempt. And it resulted in:
• Auto Encrypt (automatic Let’s Encrypt certificates): https://codeberg.org/small-tech/auto-encrypt
• Auto Encrypt Localhost (automatic localhost TLS certificates): https://codeberg.org/small-tech/auto-encrypt-localhost
• @small-tech/https (drop-in Node.js https module replacement with automatic TLS certs everywhere): https://codeberg.org/small-tech/https
• JSDB: In-process, in-memory JavaScript database that persists to append-only JavaScript logs: https://codeberg.org/small-tech/jsdb
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.
Last week, I switched over our last site using Site.js to Kitten and, with that, today I’ve sunset³ Site.js:
For its successor, please see Kitten:
If you want to support our work at the Small Technology Foundation, please consider becoming a patron:
https://small-tech.org/fund-us
¹ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/
² https://ar.al/2019/08/26/introducing-small-technology-foundation/
³ Using our instance of Look Over There!: https://look-over-there.small-web.org
So a few hours ago, I quietly switched the Small Technology Foundation web site over from the Hugo-based static site running on Site.js to the new dynamic version I built using Kitten*:
What I initially thought would be a weekend project turned into three months :) (During which, Kitten improved a huge amount thanks to issues that surfaced while porting the site and implementing a custom CMS for it.)
I’ve tried not to break any links and my focus was on porting existing content first. If you notice any glaring issues please ping me. In the coming days I’ll be updating stuff (with my lovely new admin panel) and writing more about the porting process.
Also, with this, our last site using Site.js has been ported to Kitten so I’ll be archiving Site.js this week.
Just noticed an issue with Look Over There!¹ where some of the sites I was forwarding to archive.org began to fail.
I’ve now documented the proper way to redirect to archive.org in Look Over There! and I also wrote a brief post on the relevant Reddit to alert the folks at The Internet Archive about this and suggest an improvement that could benefit findability on sites with redirects in general:
¹ e.g., See our instance for Small Technology Foundation at https://look-over-there.small-web.org
So in 2019 we were debating the motion “Entrepreneurs today do more harm than good” against the provost and one of the professors at Singapore Management University and we managed to flip an initial audience vote of 28% for / 72% against to 52% for / 48% against, thereby winning the debate.
The video of the event was locked in Facebook so, as part of my work on the new version of the Small Technology Foundation website, I just liberated it.
You can watch it at:
https://vimeo.com/1086336391
Ayllu v0.4 has been released!
#Ayllu is a code forge designed for performance, simplicity and hackability. The #AGPL-licensed project by Kevin Schoon can be considered a #SmallTech / #SmallWeb initiative.
You can find the Ayllu code, hosted on Ayllu at: https://ayllu-forge.org/ayllu/ayllu
Read all about new features in the release notes. Also, are you good at #UX and designing UI's with plain #HTML and #CSS?
Then how would you design the UI for #git blame, asks Kevin.
@Daojoan it's going to take a lot more than "radical transparency." Tech companies are totally disconnected from the values and concerns of regular folks and treats them as things to be exploited. It's going to take #radicalhumility. I don't think tech companies, especially the larger ones, have a clue or care to get one. We need #smalltech
…And there are more interesting tid-bits in there too:
• See how I’m pushing Kitten’s Streaming HTML to its logical conclusion and streaming JavaScript from the server to the client to keep all logic on the server while implementing a client-side feature (copy to clipboard): https://codeberg.org/small-web/look-over-there/src/branch/main/CopyButton.component.js
• Following on from that, note how the Toast component that’s triggered when something is copied looks (under the hood, Streaming HTML is htmx + WebSockets + some Kitten-specific magic and glues it all together and adds syntactic sugar): https://codeberg.org/small-web/look-over-there/src/branch/main/Toast.fragment.js
• Finally, check out how layout components and slots work: https://codeberg.org/small-web/look-over-there/src/branch/main/Site.layout.js
I think that’s all the intersting stuff I can spot at the moment.
Have fun!