Skip to main content


Items tagged with: smallTech

👋 I'm a hobbyist programmer and sysadmin who is passionate about #CooperativeTechnology, #smalltech, and other forms of user empowerment with technology. You may have seen me before.

I'm interested in #Gemini and other small internet protocols, along with mobile Linux, real sustainability, and various computer languages (including Rust and Zig).

I won't follow too many people here, or engage in politics, but I will share some updates on the things I'm working on.

Just submitted my grant application for our Domain project to NLnet for their User-Operated Internet Fund.

I believe the process for public funding should itself be public so you can read the entire submission on my blog (with better formatting than the text-only original submission, a video, and pictures) and I’ll be posting future communication there also:

#nlnet #eu #funding #grant #foss #smallWeb #smallTech #domain #kitten #publicMoneyPublicProcessPublicCode

Hyperscript notes by Avatar
Andreas Rozek

A nice collection of thoughts and code on hyperscript (the client-side scripting language, not Dominic’s h()).

#hyperscript #web #dev #htmx #smallWeb #smallTech #kitten

Tools built to meet corporate needs do not magically “trickle down” to meet the needs of everyday people.

#trickleDownTheory #openSource #foss #corporate #human #BigTech #SmallTech

Hi. #introduction #introductions

If code is poetry then I am William McGonagall • Passionate about #smalltech • Opinions are mine all mine • Learning #Ruby and #Rails • ✊🏿 ⚧ 🏳️‍🌈 🌍 💚

Come say hi and stay for the #foss #learning #tutoring #design #coding #smalltech #fun

The Small Web isn’t about going back to the days of GeoCities. It’s about going forward differently, using modern tech in a non-colonial manner.

It’s not about building clones of Twitter, YouTube, etc. There’s no way anyone can self-host a dozen different services. Instead, it’s about having a single-tenant place on the Web that you own and control without technical knowhow; a place you can add Twitter, YouTube, etc., *features* to.

#SmallWeb #SmallTech #SingleTenant

Hmm, looks like # is going to be on my doorstep in Kilkenny (Ireland) this October. Anyone from the fediverse going? Wonder if there’d be any interest in an in-person small web meetup around the same time here.

# # # # # # #

Anyone fluent with tree sitter grammars (and/or LSPs) want to help me with implementing NodeKit ( code intelligence for Helix editor?

# # # # # # # # #

Node’s built-in error reporting leaves a lot to be desired so I just spent some time improving the error output for NodeScript runtime errors in Nodekit (

# # #
Screenshot of browser showing locahost with error message that shows the code around the error location and points out the error location with a red errow.

Full text of page:

Error: NodeScript runtime error

// (linked NodeScript bundle)

2: var node_script_default = async (request) => {
3:   const config = {
4:     payment: {
5:       provider: db.settings.payment.provider
6:     },
7:     dns: {
8:       domain: db.settings.dns.domain

TypeError: Cannot read properties of undefined (reading 'payment')
    at PageRoute.node_script_default [as nodeScriptHandler] (nodescript error in
    at PageRoute.lazilyLoadedHandler (file:///var/home/aral/Projects/nodekit/src/production/Routes/PageRoute.js:40:27)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Array. (file:///var/home/aral/Projects/nodekit/node_modules/tinyws/dist/index.js:1:352)

Very important observation. If something is not a concrete project or innovation initiative, there's no funding.

To establish a broad # movement would require people full-time involved with making that happen. That's way more than volunteering here and there can establish. I am facing the same thing with SocialHub / Fediverse and before that in Humane Tech Community.

Now looking at # as a means to bring improvements here (not yet launched).

The Small Technology Foundation researches and promotes online services designed for human beings rather than corporate profits.

You can follow their live streaming account at:

➡️ @fedi

and to see more general posts on related topics follow their co-founder Aral Balkan at:

➡️ @aral

The Small Technology Foundation's website is at:

# # # # # # # # # # # #

Really love how our Owncast site is looking (if I do say so myself) :)

Also, remember that you can set up Owncast on a VPS with the following Site.js command:

site enable --owncast

That’s it.

It’ll be up and running with automatic TSL certificates and everything. You just need to sign into the admin, change your password/stream key and maybe take a few moments to customise your site info :)

# # # # #
Screenshot of in a browser. There’s a colourful banner wiht stylised photos of Laura and Aral talking into tin cans. The Followers (26) tab is active showing the latest followers from the fediverse.

To keep track of all our live streams, including Small is Beautiful tomorrow with @gabek, follow our Owncast from the fediverse via

# # # # #

I just updated our Owncast instance to the latest version using Site.js and took the time to customise it a bit also.

And you can now follow updates about our streams from the fediverse – just use the follow button on the link below :)

# # # #

We use Owncast for our Small is Beautiful streams at Small Technology Foundation (every third Thursday) and for any other one-off streams we do.

# # # #

Site.js version 17.6.0 released

This updates the automatic Let’s Encrypt (LE) functionality to ensure that certificates can continue to be provisioned and renewed past the breaking change LE will implement on September 15, 2022.

(Site.js is a small web server that we use to run all our own sites at Small Technology Foundation and personally.)

# # #

@small-tech/https versions 3.1.0 (ESM) and 2.2.0 (CJS) released.


- Use latest Auto Encrypt dependency to avoid certificate provisioning/renewal breaking in mid-September of this year.

@small-tech/https is a drop-in standard Node.js HTTPS module replacement with both automatic development-time (localhost) certificates via Auto Encrypt Localhost and automatic production certificates via Auto Encrypt.

# # # # #

Auto Encrypt versions 3.1.0 (ESM) and 2.3.0 (CJS) have now been released.


- Certificate signing request (CSR) now uses SHA-256 instead of obsolete SHA-1 which Let’s Encrypt will stop accepting as of September 15, 2022

Auto Encrypt is a library that adds automatic Let’s Encrypt provisioning to your Node.js servers. Your TLS certificates are automatically provisioned the first time someone hits your server.

# # # # # #

Phew, finally merged my “major refactor” NodeKit branch into main. The previous main branch is now archived in the prototype branch.

Only production mode is functional right now but it’s a maintainable codebase (not like the jumble the prototype was as I was working to get things working for the first time).

Also: So. Little. Code. 😍

Now to add more tests and the development mode server functionality as I go.

Yay, progress! :awesome:👍

# # #

Yay! WebSocket routes (and the simple chat example) are working again too :)

# # #

w00t, just got the major refactor branch of NodeKit ( running the Hello Count example for the first time.

Been refactoring the hell out of NodeKit recently to take it from prototype to maintainable app.

Nice to have a little win.

Now to find all the other things that are no doubt broken :)

# # # #

And, of course, you can go beyond attempting to simply mitigate economies of scale in systems designed to encourage them by designing systems that are inherently _hostile_ to economies of scale.


Through designing systems that use single-tenant servers owned and controlled by individuals as always-on nodes to provide findability and availability in an otherwise peer-to-peer topology.

# # #

If you don’t want to become that which you despise, you must design your systems accordingly.

Multi-user federated servers are inherently open to economies of scale and thus to embrace, extend & extinguish.

Fediverse servers should be designed _so they cannot scale beyond a certain size_ to ensure no node becomes a centre.

If your aim is to devolve wealth/power/control, vertical scale is your failure mode. If you want to raise mini Zuckerbergs, by all means, scale on…

# #

Small is Beautiful – live stream, today at 5PM Irish Summer Time (UTC+1)

Journeys in Linux: Moving to Fedora Silverblue 36, Distrobox, and Helix Editor.

# # # # # # #

A web site designed for one person that aggregates functionality (don’t thing “app” but plug-in style “features”) is the idea behind the Small Web:

# # # #

It’s not about not getting challenged. You can get challenged all you like (as anyone you haven’t blocked can reply and challenge you). And, as I said, no one is forced to listen to you either as anyone can block your account or the whole instance.

But what it does is correctly model personhood, which the “servers of many” model doesn’t.

It’s the small tech/web philosophy. Communities are made up of individuals. That’s what we model.

# #

Only I’m not an admin. It’s an instance of one. The only person I’m administrating is me. (As it should be.)

# # # #

Think you are making a reference to @aral (and by extension to @laura ) wrt # and # here?

The wonderful realization that # and in fact that # 🤯

Now that I'm on a new instance, I'll write a new #.

I am a follower of Jesus, mutualist hobbyist programmer, and sysadmin (in that order). I'm passionate about #, #, and liberating people all around within and without technology.

I'm interested in alternative internet protocols (#), mobile Linux, real sustainability, and various computer languages (including # and #).

Also hosting! Join us if you'd like. 🙂

Hello new followers! I've been bad at hashtags, which are crucial here for discoverability, so here's some of them.

I try to toot interesting things related to # about # / # / #, from the perspective of # / # / #. I'm one tiny part of #.

I build # / # / # and # using # and will write more about that soon.

Third, occasionally #, #.