Skip to main content

Search

Items tagged with: smallweb


JSDB 5.1.0 published¹ 🎉

• Forgetting to pass a custom class that’s persisted in your database in your `JSDB.open()` call now throws instead of corrupting your database by falling back to using an untyped object.

• Added JSDF ver. 2 to 3 database migration script (i.e., JSDB version 2-4 to 5)²

To install update:

npm install @small-tech/jsdb@5.1.0

¹ https://codeberg.org/small-tech/jsdb/releases

² https://codeberg.org/small-tech/jsdb#version-2-to-3

#JavaScriptDatabase #JavaScript #database JSDB #JSDB5 #NodeJS #SmallTech #SmallWeb #web #dev


Excellent article, thank you for writing it, Molly.

Although I do wish I didn’t feel like we didn’t exist while reading it.

This is the Small Web—what Laura & I have been specifically working to realise for the past six years at least (if not closer to a decade if you count our work on the problem before settling on one possible solution):

https://ar.al/2020/08/07/what-is-the-small-web/

We do this as a self-funded (read; struggling) tiny not-for-profit (https://small-tech.org).

#SmallWeb


JSDB 5.0.1 published 🎉

• Fixes #14: Crash if DataProxy getHandler() called on object with null prototype. (https://codeberg.org/small-tech/jsdb/issues/14)

To install update:

npm install @small-tech/jsdb@5.0.1

Learn more about JSDB:

https://codeberg.org/small-tech/jsdb#javascript-database-jsdb

#JavaScriptDatabase #JavaScript #database JSDB #JSDB5 #NodeJS #SmallTech #SmallWeb #web #dev


To really drive home the above 👆 point that 100% test coverage does not mean ‘bug free’, just found a bug in JSDB¹ 5.0.0 where running JSON.stringify() on a complex custom object (actually: the automatic Proxy of the custom object created by JSDB) results in an error.

Already have a failing test and about to implement fix.

(It’s at this point where the test harness is invaluable.)

¹ https://codeberg.org/small-tech/jsdb

#JavaScriptDatabase #JavaScript #database #JSDB #JSDB5 #NodeJS #SmallWeb #SmallTech



Realised last night that JavaScript Database (JSDB) doesn’t run the constructor on persisted custom objects (https://codeberg.org/small-tech/jsdb#custom-data-types) when deserialising them because I didn’t know that you apparently have to define your constructor manually when using Object.create().

Will fix it today but it’s something to watch out for if you’re using Object.create() directly.

For more info, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

#JSDB #customObjects #constructor #bug #JavaScript #NodeJS #SmallTech #SmallWeb


I wrote about how someone couldn't figure out how to get ahold of me because I wasn't on Facebook and how that really frightened me https://robertkingett.com/posts/6552/ #Tech #Technology #IndieWeb #SmallWeb #SMS #Email


This is basically the reasoning behind the Small Web :)

https://ar.al/2020/08/07/what-is-the-small-web/

#SmallWeb https://sfba.social/@pinskal/112331803429633968


Our first service is up live! Spam blocking for your website's forms that doesn’t require any annoying captcha.

#SmallWeb #indieweb #webdev #website

https://indieaisle.com/indieaisle/form-spam-blocking/


Heads up for anyone playing with Kitten:

When the backup and restore branch lands, there will also be a breaking change to the Streaming HTML workflow.

Currently, when you expose an `onConnect()` handler, Kitten automatically adds `hx-ext='ws'` and `ws-send` attributes to your forms. Going forward, it will only add the former.

You’ll have to add `ws-send` (or Kitten’s syntactic sugar, `connect`) manually.

This is to allow hybrid workflows.

e.g.,

https://codeberg.org/kitten/app/src/branch/backup-and-restore/examples/streaming-html/file-uploads

#Kitten #SmallWeb


Here's a collection of search engines that aren't Google, Bing, DDG, or Brave: https://flamedfury.com/links/#search

#SmallWeb #openweb #web


This is a niche one and will likely not affect any of the (three?) people playing with Kitten¹ right now but, in any case:

If you persist custom types to your Kitten database, you might be hit by this bug that was introduced when I released versions of Kitten with minified identifiers.

I briefly wrote about what happened, how you can identify if you’re affected, and how you can fix it here:

https://codeberg.org/kitten/app/issues/160#issuecomment-1775375

¹ https://codeberg.org/kitten/app

#SmallWeb #Kitten #web #dev #JSDB #JavaScript


Coming soon, views of your databases in your Kitten* app’s Settings page (/💕/settings) pages. And, after that, data export and import.

* https://codeberg.org/kitten/app

#SmallWeb #Kitten #data #databases #JSDB


Haha, forgot the footnotes, sorry:

¹ Small Web: https://ar.al/2020/08/07/what-is-the-small-web/

(Also see latest updates on: https://ar.al/)

² Domain: https://codeberg.org/domain/app

#SmallWeb #Domain #Kitten


It now takes ~10 seconds to set up your own Small Web¹ place using Domain².

This was closer to one-minute last week.

Been working towards this for six years… That’s ~10 seconds to get up and running with your own Small Web place at your own VPS server and at your own domain name.

Can owning your own place on the Web be as simple as setting up a Facebook account? Yes. Likely simpler. And this brings us one step closer to that goal.

https://vimeo.com/936289659

#SmallWeb #Domain #10seconds


@laguiri Because we’re clearly not getting funded from the EU/ngi/NLNet:

https://ar.al/2022/10/20/nlnet-grant-application-for-domain-rejected/

https://ar.al/2022/07/29/nlnet-grant-application-for-domain/

https://ar.al/2022/09/28/nlnet-grant-application-for-domain-first-update-questions-and-answers/

#SmallWeb #Domain #Kitten #Place #funding #EU #NLNet #NGI #Horizon2020


@laguiri Well, some of us are trying and it would be amazing if folks actually funded us so we could continue to exist and do our work.

https://ar.al/2020/08/07/what-is-the-small-web/

https://small-tech.org

https://small-tech.org/fund-us

#SmallWeb #SmallTechnologyFoundation #funding #foss #commons


(If you’re wondering why the repository was 176MB to begin with, it’s because I was initially deploying from the /dist folder in the repository. But since then I created a special deployment site for Kitten and now Kittens come from, well, where else but https://kittens.small-web.org.)

:kitten: 💕

PS. It takes me ~3.5 seconds to build and deploy a new version of Kitten so its common for there to be multiple new versions in a day. Run `kitten update` to get the latest.

#SmallWeb #Kitten #web #dev


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:

https://localxpose.io/?via=kitten

¹ https://codeberg.org/kitten/app

#ngrok #LocalXpose #Kitten #SmallWeb #web #dev


🎉 w00t! Just got deployment from pre-warmed servers working for the first time :)

Will post a screen capture once I’ve cleaned up the interface.

It’s single-digit seconds to deploy your own Small Web place (server) at your own domain! :awesome:

(I’ve been working towards this moment for the past six years so apologies if I sound like a giddy schoolboy.)

:kitten: 💕

#Kitten #Domain #SmallWeb


And while Kitten is new, it uses those elements and more as well as all the lessons learned building Site.js (https://sitejs.org) – going back five years.

All-in-all I’ve been working towards creating the Small Web—and Kitten, Domain, and Place—for half a decade and, on the greater problem of trying to formulate alternatives to Big Tech for the last decade. All without any funding from the commons/EU.

So, if you can, please support our work:

https://small-tech.org/fund-us

#SmallTech #SmallWeb


Another example is Auto Encrypt – automatically-provisioned TLS certificates for Node.js servers using Let’s Encrypt:

https://codeberg.org/small-tech/auto-encrypt

Similarly, Auto Encrypt Localhost does the same thing – in pure JavaScript, without using mkcert, etc. – for keeping your dev and production environments identical:

https://codeberg.org/small-tech/auto-encrypt-localhost

And the @small-tech/https module replaces Node’s https module to transparently provision certs during dev/production:

https://codeberg.org/small-tech/https

#SmallTech #SmallWeb


When I speak about spending the last few years “building infrastructure”, you might be wondering what sorts of things I’m talking about.

Here are some examples:

JSDB: an in-memory, in-process database that writes to a JavaScript append-only transaction log and which you can use as if you were interacting with regular JavaScript objects.

https://codeberg.org/small-tech/jsdb

(I’ve been developing it for the last four years and it is integrated into Kitten.)

#SmallTech #SmallWeb #JSDB


🔖 New bookmark: Marginalia: A New Lens for the Internet

🔗 https://perephoneia.art/marginalia-a-new-lens-for-the-internet/

An interview with Viktor from Marginalia

🔥 https://flamedfury.com/bookmarks/marginalia-a-new-lens-for-the-internet/

#web #smallweb #internetculture


Interesting story: did you know the Web wasn’t initially understood or embraced at CERN? It was seen as a distraction.

Here’s Robert’s video of Ben Segal – lovely human being and Tim’s mentor – showing us around CERN ~15 years ago and telling the story (see if you can spot a much younger me in shot):

https://www.youtube.com/watch?v=nK3nF6Jw6uU

“The crucial thing was the development in the USA.”

Here’s hoping Europe will do better with the Small Web.

Doesn’t look like it, though.

#SmallWeb #EU #funding #web


This is approximately how long it takes to deploy a Small Web¹ place currently using Domain² (under a minute).

https://vimeo.com/932155088

I plan on reducing that another order of magnitude to single-digit seconds by the end of the week.

(Made a recording so we can compare it afterwards.) ;)

Learn more about Domain on our failed @NGIZero funding application: https://ar.al/2022/10/20/nlnet-grant-application-for-domain-rejected/

:kitten: 💕

¹ https://codeberg.org/domain/app

#Domain #SmallWeb #technical #design #ngi #NLNet #eu #funding


… and why I’ve had to build so much infrastructure in the past few years. It wasn’t just to reinvent the wheel but to have control over every aspect of the experience.

Well, it’s getting closer to being a reality and I’m really excited to hopefully finally be able to share what will be the culmination of the last decade of my work with more of you starting this year.

💕

PS. If you like where this work is heading, please consider funding it (https://small-tech.org/fund-us).

#SmallWeb #Kitten #Domain


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.

https://vimeo.com/932120624

(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.)

:kitten: 💕

#Kitten #SmallWeb #deployment


@decentral1se 👍

PS. Kitten has first-class support for it and it makes Kitten’s Streaming HTML workflow possible:

https://ar.al/2024/03/08/streaming-html/

#htmx #Kitten #SmallWeb #hypermedia


And this was last year, Kitten has come a long way since then…

Check out the new Streaming HTML workflow:

https://ar.al/2024/03/08/streaming-html/

And how it made it possible to build Draw Together in less than 60 lines of code:

https://ar.al/2024/03/26/draw-together/

Wishing you a lovely conference this year :)

#SmallWeb #Kitten #web #dev #SmallTech #StreamingHTML


Some people may be aware of the marginalia search engine, but their "website explorer" also deserves a lot of love.

Well worth a try if exploring random #smallweb sites without a set destination in mind is your idea of a good time:

https://explore.marginalia.nu