home.social

#smalltech — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #smalltech, aggregated by home.social.

fetched live
  1. #Heart / #Infinite #Love Combination

    A #Symbol for the way to #peace...?

    #Mastodon as a group of #loving #individuals that #connect #members & #fans of #groups together?

    #Talking to #machines all day doesn't work.

    We need better humans?

    We have enough #Tech / #SmallTech?

    A lighter AND deeper #human #relationship towards solving all #wars & arguments?

    #Passion together to build back warmth, then #freedom?

    (Not sex / romance, true #passion together)

    en.wikipedia.org/wiki/Polycule

  2. 🥳 @small-tech/node-pebble version 5.6.0 released

    • Updated to support latest Pebble (version 2.10.1).

    npmjs.com/package/@small-tech/

    Node Pebble is a Node.js wrapper for Let’s Encrypt’s Pebble (“a small RFC 8555 ACME test server not suited for a production certificate authority”).

    • Downloads the correct Pebble binary for your platform.

    • Configures Pebble to include Let’s Encrypt’s new short-lived profile (shortlived).

    • Launches and manages a single Pebble process.

    • Returns a reference to the same process on future calls (safe to include in multiple unit tests where order of tests is undetermined)

    • Automatically patches Node.js’s TLS module to accept Pebble server’s test certificate as well as its dynamically-generated root and intermediary CA certificates.

    It mostly exists so I can test @small-tech/auto-encrypt (Automatically-provisioned TLS certificates for Node.js servers using Let’s Encrypt ; codeberg.org/small-tech/auto-e) which is used by Kitten (kitten.small-web.org).

    #NodePebble #AutoEncrypt #Kitten #SmallTech #SmallWeb #freeSoftware #NodeJS #JavaScript #LetsEncrypt #SSL #TLS

  3. Torta za 100. Tehno klistir

    August 20, 2026, 5:00:00 PM GMT+02:00 - GMT+02:00 - Univerzitetna športna dvorana Rožna dolina, 1000, Ljubljana, Slovenia

    dogodki.kompot.si/events/91b25

  4. 🥳 Auto Encrypt: 5.1.1 released

    • Fixed: Issue #26¹: Regression: AutoEncrypt HTTPS server does not start using new certificates upon renewal

    codeberg.org/small-tech/auto-e

    Many thanks to zanecodes² for catching this rather fundamental bug.

    Here’s a quick post-mortem:

    Implementing support for IP Address certificates³ (see Web Numbers⁴) meant that we had to stop using `SNICallback`. This necessitated two changes:

    1. Provisioning the TLS certificates before starting the server instead of on first hit.

    2. Manually setting a new secure context for the running server so that newly-provisioned certificates are used on future connection attempts without having to restart the server.

    While I had implemented the first, I hadn’t implemented the second.

    This update fixes that.

    (In case you’re wondering how I didn’t notice this before, given that Auto Encrypt is used in @small-tech/https⁵, which is used in Kitten⁶, which all our sites at Small Technology Foundation⁷ run on, the change coincided with the implementation of daily scheduled restarts on Kitten production servers⁸ to give their JSDB databases⁹ a chance to compact their data (e.g., actually delete deletes and prune stale updates from the append-only log.)

    ¹ codeberg.org/small-tech/auto-e
    ² codeberg.org/zanecodes
    ³ codeberg.org/small-tech/auto-e
    ar.al/2025/06/25/web-numbers/
    codeberg.org/small-tech/https
    kitten.small-web.org
    small-tech.org
    codeberg.org/kitten/app/commit
    codeberg.org/small-tech/jsdb

    #AutoEncrypt #https #TLS #LetsEncrypt #IPAddresses #WebNumbers #SmallTech #SmallWeb

  5. That feeling when your renderer can handle a component that outputs HTML inside link text in Markdown that’s embedded in HTML.

    (Yes, I’m bragging.)

    #Kitten #SmallWeb #SmallTech #markdown #HTML #components #web #dev #JavaScript #taggedTemplateString #rendering

  6. Hey folks, can you help me out with a little something: trying to come up with a good number of files limit for a file scan (for Kitten so you don’t hit heap memory limits if you run it from the wrong directory by mistake) and I’d love some statistics from real JavaScript/TypeScript Node.js projects of the number of files in them (excluding .git and node_modules).

    Would you be kind enough to run the following command in Terminal in your largest projects and let me know what number your get (along with a short description of the project):

    find . \( -name "node_modules" -o -name ".git" \) -prune -o -print | wc -l

    Thank you :)

    #Kitten #SmallWeb #SmallTech #NodeJS #web #dev #stats #helpWanted

  7. If I do say so myself, I do love expressive I can be with Kitten.

    This is me injecting raw HTML markup into a Markdown code block in a Kitten Markdown page to highlight specific lines in a code block¹.

    (The string interpolation of the HTML as an array is a hack that bypasses Kitten’s default sanitisation and should only be used with trusted content.)

    PS. I’m going through all the tutorials on the site to update them to reflect the current state of Kitten after the three-month breaking-change update I’ve been working on.

    ¹ kitten.small-web.org/reference

    #Kitten #SmallWeb #SmallTech #web #dev #Markdown #HTML #JavaScript #JS #stringInterpolation

  8. TL; DR: This is all the code you need in Kitten¹ to make a *persisted* counter that streams interface updates to the browser. (Put it into a file called index.page.js in a folder all by itself and run `kitten`.)

    Add the following two lines inside the `<main>` tag, if you also want it to look good:

    ```html
    <page css>
    <style inline>@scope { div { font-size: 3em; } }</style>
    ```

    ¹ kitten.small-web.org

    #Kitten #SmallWeb #SmallTech #web #dev #HTML #CSS #JavaScript

  9. So I’m updating the Kitten documentation, tutorials, videos, etc., in preparation for the major (breaking change) release I’ve been working on for the past few months and, as part of that, I had to set up my streaming/recording setup again as the layout of my room changed and I recorded an updated Kitten Counter video yesterday in which I made every mistake I could in 12 minutes (so I’ll be recording it again). But here it is a a preview (and also to show that no, none of us gets it right the first time. Any polished video you see is the result of meticulous planning and multiple iterations) :)

    (This video doesn’t show the new stateful components. I will be recording new videos about that.)

    vimeo.com/1212264139

    #Kitten #SmallWeb #SmallTech #web #dev #HTML #CSS #JavaScript

  10. 🚫🤖 Oh look, small AI models are now the go-to saviors where networks are as reliable as a politician's promise. Meanwhile, the article itself is wrapped in a cozy 403 blanket, proving that even tech writers can't outsmart their own error pages. 🔥🖥️
    spectrum.ieee.org/small-langua #AImodels #NetworkReliability #TechWriting #ErrorPages #SmallTech #HackerNews #ngated

  11. @aral THERE IS AN ANSWER! #Invidious

    THE ANSWER is using #Invidious filtered links in your posts. (Add the YouTube link as 2nd link / backup) - e.g.

    1/ redirect.invidious.io/watch?v=

    2/ youtube.com/watch?v=yHoLopZSYJw (original

    #SmallTech and the #SmallWeb.
    #AralBlakan

    -----------------------------

    1/ Invidious loads AND #filters out the #bad from the page

    2/ youtube.com google has all the #tracking and #harvesting - so it's good to filter it out with invidious links first / main method of defence.

  12. 🥳 New release: Tap Monkey version 2.0

    I just released version 2 of Tap Monkey (a TAP formatter that’s also a monkey), reworked for node:test.

    (TAP is meant to be a standard and all but node:test and Tape spit out very different diagnostics, etc., so I thought it best to keep the Tape version at 1.x – it’s basically been done for years now anyway – and have a separate 2.x branch for modern node:test, which is clearly based on Tape and has huge advantages like concurrent tests – which just sped up my unit tests on Kitten by 8× after I refactored them so they could run concurrently.)

    codeberg.org/small-tech/tap-mo

    Enjoy!

    🍌🐒

    #tapMonkey #SmallTech #TAP #testing #NodeJS #web #dev

  13. @aral Wish you would do more people work - #p2p /circle groups in #Jitsi / #WebRTC

    Worst is people not improving amongst the good and just pointing the bad stuff (you're doing GREAT but not transferring / developing other people).

    #Mastodon / #SmallTech without good people sharpening / helping others up are low-level communicative users 1-way posting here and using better soft.

    *** Develop people also ! ***
    **********************
    (Would love to help / just need a bit of #trust in a few)

  14. 🥳 JSDB¹ 7.1.0 release

    Added:

    • `JSTable.CHANGE` event. Fires when a value is changed (set) in memory. Guaranteed to fire before the `JSTable.PERSIST` event.

    Full change log: codeberg.org/small-tech/jsdb/s

    To install: npm install @small-tech/jsdb@latest

    Enjoy!

    💕

    ¹ JSDB is a free and open source, zero-dependency, transparent, in-memory, streaming write-on-update JavaScript database for the Small Web that persists to a JavaScript transaction log.

    Find out more and grab the source at codeberg.org/small-tech/jsdb

    #JavaScriptDatabase #JSDB #SmallWeb #SmallTech

  15. picked up a tiny e-reader last week. installed some custom firmware (crossink), and finished mistborn today. 10/10.

    #reading #mistborn #smallTech

  16. 2 days with my #Fairphone running #e_os and I can do ALL of my essentials (and more) in life without Google. For the handful of apps trying to send analytics data to Google, it's refreshing to see how the Advanced Privacy is blocking all of those connections.

    Folks, it's time to #degoogle Big Tech has exploited us long enough.

    #eos #android #google #bigtech #smalltech #foss #keepandroidopen

  17. Next time I am on vacation I am moving to GrapheneOS. And as such I am required to begin using a lot of dark web, selling drugs and paying for coffee in bitcoin.
    #privacy #freedom #smalltech

  18. Quite happy with how the page/component lifecycle log messages are coming along as part of my push to get the new stateful components over the line in Kitten¹.

    This should make it very easy to ensure that things are happening as you think they are and to conceptualise the behaviour of your stateful component hierarchies. (You can also use stateless components, of course, as is the currently documented workflow.)

    ¹ kitten.small-web.org

    #Kitten #devNotes #SmallWeb #SmallTech

  19. *Fully agentic coding contained entirely on his own laptop, he declared agentically. #onprem #smalltech #Chinese #DropDeadBigFive

  20. 🥳 New Kitten Release

    • Fixed: Kitten no longer crashes when a server error occurs after a response has ended. (#320)¹

    Full change log: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten:💕

    ¹ codeberg.org/kitten/app/issues

    #Kitten #KittenRelease #SmallWeb #SmallTech #bugFix

  21. 🥳 New Kitten¹ release!

    Implemented workaround:

    There is a bug in the CommonMark spec that results in preformatted code with empty lines nested in an HTML node not rendering correctly.²

    In Kitten, this previously threw an error (see #294³ and also #318⁴).

    Kitten now works around the issue in its own parser.

    Full change log: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten:💕

    ¹ kitten.small-web.org
    ² github.com/commonmark/commonma
    ³ codeberg.org/kitten/app/issues
    codeberg.org/kitten/app/issues

    #Kitten #KittenRelease #SmallWeb #SmallTech #CommonMark #spec #bug #workaround #Markdown #web #dev #NodeJS

  22. Speaking of @thepeoplestech, well, we've had lots of interest from potential service users, but are finding it tough to find people who'd like to be core UK members of the worker cooperative, functioning at an anti-"A.I.," anti-Covid intersection of privacy, security, sustainability, and inclusivity. But whether you're in England, Britain as a whole - or in other parts of the world! - if you're interested in a slow #solarpunk #SmallTech #cooperative helping deliver public workshops and private consultation to enable people, campaign groups, non-profits and more ethical small businesses to move away from #BigTech, let us know! #CovidIsNotOver #Fuck_ai #permacomputing #TransRights #BlackLivesMatter #FreePalestine

  23. In what I’m telling myself is in no way feature creep, I just added experimental TypeScript support to Kitten in a dev branch.

    I’m actually surprised how easy it was to do. Given I’m already using esbuild to create the Kitten bundle and already using a custom module loader, the change was basically making esbuild a dependency instead of a dev dependency, lazily transforming .ts files in the loader, and updating a few places in the code to ensure that you can use .ts as an extension in special Kitten extensions like .page.js, .post.js, etc. (so now you can have page.ts, post.ts, etc.)

    Everything works the same way it does with TypeScript as it does with JavaScript – there’s no scaffolding or any additional workflow required.

    For obvious reasons, I won’t be deploying this at end of day Friday but, hopefully, along with the major breaking change to the stateful component API, I plan to next week.

    More details in the work-in-progress change log:
    codeberg.org/kitten/app/src/br

    :kitten:💕

    #Kitten #SmallWeb #SmallTech #NodeJS #JavaScript #TypeScript #web #dev