Just published a minor update (version 5.1.1) to JavaScript Database (JSDB) that optimises the custom data type¹ serialisation code by removing a redundant return statement:
This change is backwards compatible and shouldn’t require and updates to your projects, including the ones you have in Kitten (which uses JSDB internally).
To follow through on my pledge to do more of my #internet reading on the #indieweb, I've been visiting random blogs using this site and adding any interesting ones to an #RSS feed.
My intention is to browse this feed much the same way I would the news -call it a self-care practice. I want to spend more time in reflection and less in panic. I also want to get ideas for, perhaps, my own blog someday.
123guestbook is shutting down in a few months - wondering what to switch to. Any of you still maintain a presence on the #smallweb/#indieweb? What do you use for a #guestbook ?
To trochę zabawne, ale ruch z wyszukiwarki google spadł mi z 1.5k+ dziennie w zeszłym roku do kilkudziesięciu osób w tym miesiącu. Cieszę się, że nic od tego nie zależy w moim przypadku. Hobby.
"Ecologists have reoriented their field as a 'crisis discipline,' a field of study that’s not just about learning things but about saving them. We technologists need to do the same. Rewilding the internet connects and grows what people are doing across regulation, standards-setting and new ways of organizing and building infrastructure, to tell a shared story of where we want to go."
🎉 Got database backup and restore working in Kitten (so every Kitten app gets it for free) and, with the new JSDB 5 support in Kitten, you can now make your model classes EventEmitters.
The session object is now an EventEmitter so you can now listen for events on the current session. In fact, I did just that in Kitten itself to implement the upload of the backup file during the restore process to make the Streaming HTML handler get notified once the POST route has the upload.
Many yearn for the "good old days" of the web. We could have those good old days back — or something even better — and if anything, it would be easier now than it ever was.
@molly0xfff 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):
"There’s a multitude of Operating Systems to choose from. You may have been using something like Windows or MacOS and be perfectly happy with it. You can step up and use Linux, Haiku or even Amiga OS. So, why do I think a BSD system may be a great choice?"
• 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)²
100% test coverage doesn’t mean your code’s bug free but it did just lead me to find and fix an issue in JavaScript Database (JSDB)¹ with a code path that wasn’t being hit that I would have otherwise missed because it was causing the relevant test to pass.
¹ JSDB is a zero-dependency, transparent, in-memory, streaming write-on-update JavaScript database for the Small Web that persists to a JavaScript transaction log (an append-only log).
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.)
I really like personal homepages and have quite a list of them bookmarked. I'll post one every week until I don't or unless I fall behind this schedule. 😉 So here's Cool Personal Homepages #CPH Vol. 14: starbreaker.org https://starbreaker.org/
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.