Coming soon: it’s going to be trivial to deploy a different app on your Small Web server. Useful if you’re a dev and you’re playing around with different apps.
(Also, notice the speed at which deployment happens. I’m one step away from implementing this in Domain using pre-warmed Kitten instances – called toasty kittens – thereby bringing the time it takes to deploy your own Small Web place down to a handful of seconds.)
Great, it looks like whatever they changed in Chrome no longer trusts Kitten’s¹ local certificate authority (installed and trusted by the system trust store, as you’d do in a spit enterprise).
Applies to previously trusted and working certificates too.
(The directly related module is Auto Encrypt Localhost²)
Going to look into it today and see if I can’t find a workaround.
Very excited about the latest feature/workflow I’m adding to Kitten. I call it… 🥁
✨ Streaming HTML ✨
Implement back-end functionality and stream HTML updates to the client without writing any front-end JavaScript.
Just give your forms names and listen for them in an onConnect() handler you export from your page. Kitten handles everything else – setting up a WebSocket route for you, mapping triggers to events, etc. – thanks to Kitten + #htmx magic 🪄
I’ve been looking for an ngrok alternative for a while now that’s (a) affordable (b) easy to use and (c) works with Kitten¹. Today, after testing a bunch of them again and getting fed up, I found LocalXpose that checks all the boxes.
I signed Small Technology Foundation up as an affiliate so if you use this link to check it out, we’ll get 40% of your $6/mo pro account fee should you subscribe:
In case you’re wondering how little old Kitten performs in the tests of the Big Boys…
(And that’s from a development build of a Domain page, not a deployment build so no compression, live reload script in page, etc.)
Turns out it’s pretty easy to ace such tests when you’re not spending cycles and code doing horrible things to people in your web pages (like tracking their every move and attempting to exploit their behaviour for profit). 🤔
Looking forward to finally getting back to work today after breaking my hand and recovering from a mild bout of the latest strain of COVID (I’m assuming – at least two other folks who were with us tested positive even though neither Laura nor I did over multiple tests) while away in Spain at the start of the month.
There’s a big update to Kitten deployments in the works in its own branch that will also bring about a bunch of other improvements when it lands.
A fifteen-second demo of how you can create a toast message in 42 lines of code¹ without writing any client-side JavaScript using Streaming HTML² in Kitten³.
Heads up in case any of you are playing with Kitten¹, I’m going to implement a major API change today (it’s still pre-release/experimental so expect these things… though there should be fewer with time):
Instead of your routes receiving positional arguments like this:
The alternative pronounciation of "kitten" is preading! It's basically like kitten, but with a good strong glottle stop in place of the two t's. I heard someone else pronouncing it like that today, copying mine. So yes, lots of ki''ening (kittening) going on!
So... last year during June's heatwave, when my wife and I were getting ready to leave #Texas for #Detroit, a tiny #kitten that was living under a nearby industrial trash compactor found us.
We cleaned him all up, took him to the vet and because we already have two #cat babies of our own... my wife's co-worker who had recently lost her cat baby adopted him.
Kitten¹ now keeps two JSDB² databases per project: an internal one ('kitten._db) that holds data Kitten manages (sessions, uploads, etc.) and the default one (kitten.db`) that holds your own tables.
You’ll mostly only care about the latter.
I also took the opportunity to create a Database App Module example and document it in the readme:
Got #Kitten’s¹ secret generation working in the browser as part of the last piece of the puzzle I’m working on right now for deploying #SmallWeb² places via #Domain³.
Your secret is the key to your identity on the Small Web (or at least to some aspect of your identity you wish to portray or explore at a given Small Web place). It’s an ed25519 private key base256 encoded and presented using a well-known set of emoji.
Sitting outside on a rare sunny day at a lovely pub in Bray, refactoring Kitten* to pull out the settings page sections into their own pages (and use Kitten’s new Streaming HTML workflow**) and enjoying a yummy pint of Tundra IPA.
Well, it might take a few more minutes in front of the mirror but I think I still scrub up well for three years shy of the big five-oh. All dolled up and ready to fly to Paris for my talk on Kitten* and the Small Web tomorrow at #NewCrafts.
Can’t believe this year marks my 40th year of programming.
I owe a lot to my dad bringing home that IBM XT compatible and a BASIC manual when I was 7.