New Kitten Release 🄳

https://kitten.small-web.org

(Run `kitten update` to update your dev machines. Production machines will automatically update in a couple of hours.)

• You can now add a generic script block to your markdown pages (see https://mastodon.ar.al/@aral/114432417394114105)

• Markdown pages can now be `KittenPage` instances and attach `KittenComponent` instances (so you get a full server-side component hierarchy with an event-based workflow; ideal for authenticated pages where you can be use only the author of the page will be accessing them and thus the additional memory and processing overhead are not issues. Isn’t the Small Web great? Only having instances of one makes it possible to optimise so many things for the human experience instead of vertical scale of the data farming machine.)

• Two new examples showcase the new features: https://codeberg.org/kitten/app/src/branch/main/examples/streaming-html/markdown-script-simple-components and https://codeberg.org/kitten/app/src/branch/main/examples/streaming-html/markdown-kitten-components

• Attributes with object values are no longer serialised into the DOM (but your components’ render functions will continue to receive them, of course.) This is because only string values make sense for attributes in the context of the HTML DOM. (You can still, of course, have stringified representations of objects in attributes, as used by the `data` attribute to pass data from nodes to event handers on the server.)

#Kitten #SmallWeb #SmallTech #kittenRelease #markdown #scripting #OOP #eventModel #web #dev

Kitten: Home

Morning all! I was supposed to join @screwlisp for their Lispy Gopher Show podcast yesterday but time zone differences meant I had to send a recording instead which they discussed with questions from their mud (yep, it’s a geeky community) :)

I touched on the history of computing, the current challenge to our human rights and democracy with technofascism, and how the Small Web is one attempt to safeguard our freedoms by creating a peer-to-peer web owned and controlled by everyday people who use technology as an everyday thing. (And the role of design and simplicity in making that possible.)

Anyway, here’s the full recording I sent (as it skips around a bit in the show):

https://vimeo.com/1079992713

And here’s the recording of the show itself with commentary by screwlisp and the community:

https://communitymedia.video/w/kTjUgHSYCZsJwucUPVoLgx

Thanks for having me on and sorry I couldn’t be there in person.

šŸ’•

#LispyGopherShow #lispyGopherClimate #screwlisp #podcast #SmallWeb #SmallTech #Kitten #Domain #Place #peerToPeer #web #HumanRights #Democracy #design

Lispy Gopher Show podcast – Aral Balkan

Vimeo

Ooh, what’s this?… Look Over There!
(With apologies to Jaida Essence Hall)

So the little app I teased earlier is ready and deployed and I have our own instance running at:

https://look-over-there.small-web.org

Look Over There! lets you forward multiple domains to different URLs with full HTTPS support.

Why?

We have a number of older sites that are becoming a chore/expensive to maintain and yet I don’t want to break the web. So I thought, hey, I’ll just use the ā€œurl forwardingā€ feature of my domain registrar to forward them to their archived versions on archive.org.

Ah, not so fast, young cricket… seems some domain registrars’ implementations of this feature do not work if the domain being forwarded is accessed via HTTPS (yes, in 2025).

So, given Kitten¹ uses Auto Encrypt² to automatically provision Let’s Encrypt certificates, I added a domain forwarding feature to it and created Look Over There! as a friendly/simple app that provides a visual interface to it.

To see it in action, hit https://cleanuptheweb.org and you should get forwarded to the archived version of it on archive.org. I’m going to be adding more of our sites to the list in the coming days as part of an effort to reduce my maintenance load and cut down our expenses at Small Technology Foundation.

Since it’s Small Web, this particular instance is just for us. However, you can run your own copy on a VPS (or even a little single-board computer at home, etc.) A link to the source code repository is on the site. Once Domain³ is ready for use (later this year šŸ¤ž), setting up your own instance of a Small Web app at your own server will take less than a minute.

I hope this little tool, along with the 404→307 (evergreen web) technique⁓, helps us to nurture an evergreen web and avoid link rot. (And the source code, as little as there is because Kitten does so much for you, is a good resource if you want to learn about Kitten’s new class-based component and page model which I haven’t yet had a chance to properly document.)

Enjoy!

šŸ’•

¹ https://kitten.small-web.org
² https://codeberg.org/small-tech/auto-encrypt
³ https://codeberg.org/domain/app
⁓ https://4042307.org

#LookOverThere #Kitten #SmallWeb #SmallTech #web #archiving #evergreenWeb #dontBreakTheWeb #LetsEncrypt #https #TLS #webForwarding #urlForwarding #Domain

Look Over There!⁠

@travisfw I tend to agree. I think there’s a need for more #smalltech efforts. Not everything needs to be Amazon. Very few things should be, LOL.

Outside my Apple Lock in, I’m slowly moving from locked silos to more open things, from smaller companies. I don’t want to roll my own anything, but am more ok with things not being Apple/MS/Etc.

Mad bonus for tech that is respectful, green, etc

@jwilker I got another "favorite" on that post. I've considered for a while trying to define #BigTech not just as what it is that repulses us; I sense a need for a definition of what we are that big tech isn't. What is good tech? Respectful tech? Humanistic tech? I like #smallTech, by their demonstrable ethos, and the implication that we can have enough without "scaling" but very many who are not big tech are doing big things. I could go on, but do you have thoughts on this?

Just liberated the video of one of my talks from YouTube and uploaded a copy to our Vimeo account:

Big Brother Awards 2014: Moving beyond the clouds (we need an ethical approach to design)

https://vimeo.com/1075963646

(Imagine what a different world we’d be living in today if folks in tech had heeded our warnings back then. But I guess they were too busy making mint.)

PS. yt-dlp is your friend (on Mac: brew install yt-dlp). Also make sure you have ffmpeg installed (brew install ffmpeg). Finally, I had to manually tell yt-dlp where to find ffmpeg although your mileage may vary based on installation method: yt-dlp "<URL>" --write-subs --ffmpeg-location=/opt/homebrew/bin/ffmpeg (--write-subs saves the subtitles if there are any to a file in a format you can use on the web).

#EthicalDesignManifesto #ethics #design #ethicalDesign #AralBalkan #SmallTech #BigBrotherAwards #BitsOfFreedom #technology #tech #BigTech #panopticon #surveillance #capitalism #peopleFarming #fascism #technofascism #Google #Facebook

Big Brother Awards 2014 – Aral Balkan: We need an ethical approach to design

Vimeo

New Kitten release

• Fix: messages that are promises are properly awaited before being sent.

https://kitten.small-web.org

Kitten automatically and transparently handles asynchronous content in your templates for you so you don’t have to worry about it. One place where this wasn’t working properly is if you addressed `this.component` to stream a custom update of your component manually instead of calling the `this.update()` method of Kitten component instances.

e.g.,

```js
export default class AdminPage extends kitten.Page {
// …
onSelectedPost (data) {
this.send(kitten.html`<${this.component} postId='${data.selectedPost.postId}' />`)
}
}
```

šŸ’•

#Kitten #SmallWeb #SmallTech #news #updates #promises #StreamingHTML #web #dev #HTML #CSS #JavaScript

New Kitten feature: Icons!

You can now make use of a subset of the icons in the Phosphor icons set by @minoraxis and @rektdeckard.

https://kitten.small-web.org/reference/#icons

Search through them in your editor by referencing `kitten.icons.categories` and `kitten.icons.tags`.

Add this to a file called index.page.js and run `kitten` to see a large duotone pink cat (because why not?):

export default function () {
return kitten.html`
<${kitten.icons.c.Cat}
size=40%
weight=duotone
colour=deeppink
/>
`
}

(And yes, the set includes icons for the fediverse. This one of the reasons I chose it.) ;)

Enjoy!

šŸ’•

#Kitten #SmallWeb #SmallTech #icons #PhosphorIcons #web #dev #HTML #CSS #JavaScript #SVG #NodeJS #authoring #intellisense

"Oh’Really?’s ā€˜A Thing Or Two About Messing Around With Packet Radio’ is 36-page instructional zine on how to make TCP/IP (ā€˜internet’) connections using walkie-talkies."

https://test.roelof.info/projects/packetradio/

#DIY #web #smalltech

Oh Really? Messing Around With Packet Radio

a zine on how to make internet connections with walkie-talkies

roelroscamabbing.nl - the premier resource for "roel roscam abbing" on the web!

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.

 https://camp.smolnet.org

You can find out more at https://camp.smolnet.org/about or contact the admin @micke

#FeaturedServer #SmallTech #Svenska #Sverige #Swedish #Sweden #Mastodon #Fediverse #FreeFediverse

Smolnet Camp

This is camp.smolnet.org, a Mastodon instance for the smol internet of friends.

Mastodon hosted on camp.smolnet.org