aral, to SmallWeb
@aral@mastodon.ar.al avatar
aral, (edited ) to design
@aral@mastodon.ar.al avatar

If you design a system such that you cannot differentiate people from corporations and bots and that’s your defense for calling all of them “users”, you’ve designed a system that conflates people – who are mortal, have feelings, can feel pain and be hurt and who have human rights that must be protected – with the very entities that oftentimes exist to exploit them.

Design for people. Call them people. All else is secondary.

aral,
@aral@mastodon.ar.al avatar

@fmhueffer * of Big Tech.

We can have different tech if we have different ideologies underpinning it. e.g., Small Tech:

https://small-tech.org/about/#small-technology

#SmallTech

michelle, to random
@michelle@front-end.social avatar
aral,
@aral@mastodon.ar.al avatar

@michelle Nice :)

Some additional resources:

• Small Technology: https://small-tech.org/about/#small-technology
• Small Web: https://ar.al/2020/08/07/what-is-the-small-web/

💕

aral, to SmallWeb
@aral@mastodon.ar.al avatar

Lots to do yet but the new Kitten¹ settings section (that’s common to all Kitten apps / Small Web places) is coming along nicely. (With the general style/layout borrowed from Domain².)

(It’s currently a single page and I’m breaking it up into multiple ones because it’s time.)

Once I’m done with this I should really record a screencast of Kitten’s new backup and restore feature/data portability.

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

#SmallWeb #Kitten #Domain #SmallTech #web #dev

aral, to SmallWeb
@aral@mastodon.ar.al avatar

:kitten: Meow! New Kitten just dropped:

• Uploads are now listed in the Small Web Place Settings (/💕/settings) of all Kitten apps.

#Kitten #SmallWeb #SmallTech #uploads #settings #web #dev

kimvsparrentak, to random
@kimvsparrentak@eupolicy.social avatar

Alle volgtips welkom.
Ik hou van:

Tech/digitaal/ai 🤓
Queer/lesbische content
Klimaatactivisme
Intersectioneel feminisme
EU dingen
Puppy's

AstaMcCarthy,
@AstaMcCarthy@mastodon.pirateparty.be avatar

@kimvsparrentak @koen @sicco

Tech/digitaal/ai 🤓
@publicspaces publieke waarden op internet
@Taler digitaal geld
@aral
@rms Richard Stallman, FSF
@noybeu
@erikkemp EU en
@rysiek
@onrust
@bert_hubert
@marleenstikker
@ron_roozendaal
@smallcircles
@pluralistic
@openstate
@sovtechfund
@nluug Nl Linux en Unix User groep
@tfiebig BigTech researcher
@eff
@bitsoffreedom
@davidrevoy tekenaar, AI criticus
@xot Jaap-Henk Hoepman, privacy professor
@Frederik_Borgesius Law Prof at iHub
@fight
@codefornl
@onepict

weirdwriter, to ai

Trust me, you will save thousands of dollars if you never got excited about hardware and nor go out and buy an AI hardware thing that would have been better as an app. Same for phones. Seriously, save the money. It will go far past the honeymoon phase faster than you will know. If your phone still works, you honestly don't need a new one. If you use you don't have to upgrade your laptop every year. Best thing I ever did was save my money and give it to writers and audiobook narrators instead of AI hardware.

aral, to programming
@aral@mastodon.ar.al avatar

JSDB 5.0.0 published 🎉

• Custom classes must have a constructor that accepts a parameter object as its only argument. Constructors are run during deserialisation.

• Custom classes can now safely extend other classes (e.g., EventEmitter).

• Properties that begin with an underscore (_) are treated as private and ignored.

• Objects with null prototypes are supported. i.e., objects created with Object.create(null, …).

Full details: https://codeberg.org/small-tech/jsdb#migrating-from-earlier-versions-of-jsdf

aral,
@aral@mastodon.ar.al avatar

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/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

aral,
@aral@mastodon.ar.al avatar

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/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

aral, to javascript
@aral@mastodon.ar.al avatar

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

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

aral,
@aral@mastodon.ar.al avatar

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

aral, to javascript
@aral@mastodon.ar.al avatar

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

aral, to Bulgaria
@aral@mastodon.ar.al avatar

EU leaving Fediverse (Mastodon & PeerTube) because no one wants to operate the servers

“In recent years, a total of 40 institutions have opened an account with EU Voice, including the EU Data Protection Supervisor, the European Court of Justice and the EU Commission. The video platform, on the other hand, was used by six institutions … the EU institutions were thus the largest group of public institutions in the Fediverse worldwide.”

https://netzpolitik.org/2024/mastodon-und-peertube-eu-macht-fediverse-dicht-weil-niemand-die-server-betreiben-will/

aral,
@aral@mastodon.ar.al avatar

So what do we need, ideally? The equivalent of VC but for tech for the common good.

Pick ten organisations working the common good and give them €5M each. Let them experiment. Let them pivot. Let them cooperate. The only thing you don’t let them do is exit. You can’t sell. Build something for the commons that will live on for the next ten, twenty, fifty years… if not more.

I said as much 5 years ago at the European Parliament:

https://ar.al/2019/11/29/the-future-of-internet-regulation-at-the-european-parliament/

3/3

#funding #EU #SmallTech

collinsworth, to random
@collinsworth@hachyderm.io avatar

I think we're focused on the wrong thing when we look at what tech works for a company like Amazon or Facebook or Netflix.

We should be looking at what tech works when you don't have a small army of staff engineers optimizing it. I want to know what I can scale without paying someone a half million dollar salary to do it.

There should be more case studies on things that don't have a billion-dollar company propping them up, humming along quietly on a cheap-ass VPS somewhere.

weirdwriter,

I love this exact kind of tech you describe! The #SmallTech and the #SmallWeb and, by extension, the #IndieWeb @collinsworth

aral, to SmallWeb
@aral@mastodon.ar.al avatar

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

aral, (edited )
@aral@mastodon.ar.al avatar

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

aral,
@aral@mastodon.ar.al avatar

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/https module replaces Node’s https module to transparently provision certs during dev/production:

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

#SmallTech #SmallWeb

aral,
@aral@mastodon.ar.al avatar

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

newcrafts, to random French
@newcrafts@mastodon.social avatar

Introducing the Small Web, where you own and control your space online. Join Aral Balkan in a live coding demo using Kitten, a Small Web server empowering everyday folks to craft their own corner of the internet. Let's reclaim the web for people, not profits!
Watch: https://buff.ly/497SHNg and join us at the Conference!

aral,
@aral@mastodon.ar.al avatar

@newcrafts 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

aral, to SmallWeb
@aral@mastodon.ar.al avatar
kepano, to random
@kepano@mastodon.social avatar
aral,
@aral@mastodon.ar.al avatar

@kepano @obsidian Good on you :) This is why not taking VC is a core principle of

https://small-tech.org/about/#small-technology

njoseph, to random
@njoseph@social.masto.host avatar

is a bookmarking service in that stores each bookmark as a comment in a single PHP file.

This is actually appropriate design (in the sense of appropriate technology). A good example of design. A big tech bookmarking service would have used some NoSQL database technology such as Cassandra, not a simple flat file.

Shaarli works great for thousands of bookmarks. Who cares if it scales to millions or not? :blobcatgooglyshrug:

mackenzian, to history
@mackenzian@mastodon.online avatar

🎙️ How are designers responding to Big Tech design principles, funding models and incentives?

For this last #Season1 episode of #MoralRepairPodcast we talked to @aral about #SmallTech, #colonialism, and how to design tech at a more human scale.

Listen wherever you get your podcasts: https://podcasts.apple.com/us/podcast/an-answer-to-big-tech-tech-at-a-human-scale/id1708625744?i=1000641153684

aral, to random
@aral@mastodon.ar.al avatar

In our new place and I’m looking forward to finally getting back to working on the Small Web¹ with Kitten², Domain³, and Place⁴.

Only a few bits left to implement in all three before there is a minimum working implementation that others can also easily deploy and play with.

And, hopefully, with the launch of our own Domain instance at small-web.org in 2024, Small Technology Foundation⁵ can start down the road of becoming sustainable (or at least covering our mortage payments) eventually.

aral,
@aral@mastodon.ar.al avatar
rae, to photography
@rae@kolektiva.social avatar

Remember when #photography was about the #art of it, not clout-chasing or product-pushing? For example, in the late 2000s so many cool (not just meaning 'popular') photographers were on #Flickr. Then #Instagram came around in 2010 and #Facebook bought them out in 2012.

IMHO the mid-2000s was when #tech & online platforms started going downhill quick and tech #enshittification began to spread. I think the introduction of the #iPhone had a lot to do with it, not to mention the many tech acquisitions that have been happening ever since. Correct me if I'm wrong.

Anyway, the 'art' of photography feels lost now; pay-walled, plundered, copied, capitalized, and even censored. All of it beholden to whatever satisfies the venture capitalists, advertisers, and/or shareholders. Fuck all that. Let's take back the web. Let's take back tech. This is why the #Fediverse (including #pixelfed) and more broadly, concepts like #smalltech, #indieweb, #smallweb and #selfhosting etc gives me glimmers of hope.

#capitalism sucks.

pylapp, to privacy
@pylapp@framapiaf.org avatar

Just discovered the concept of "small tech" / "small web" boosted by @laura and @aral :black_bloc_blob:

More interesting than "low tech" or "low web" fashion, powered by and for privacy, interoperability, inclusion with non-colonial nor non-commercial ideas.

Some fights and ideas picked from libre and ethical software movements, cool and mandatory nowadays :blobnomcookie:

https://small-tech.org/about/#small-technology

aral, to SmallWeb
@aral@mastodon.ar.al avatar

So did I mention that no company or government pays me for the work I do?

But you can support my work if you want to live in a world where we have the Small Web as an alternative to the Big Web of Google, Facebook, and other people farmers.

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

#SmallWeb #SmallTech #funding #foss #freeSoftware #openSource #web #dev #tech #technology

  • All
  • Subscribed
  • Moderated
  • Favorites
  • Leos
  • rosin
  • ngwrru68w68
  • tacticalgear
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • Durango
  • slotface
  • everett
  • vwfavf
  • kavyap
  • megavids
  • khanakhh
  • anitta
  • GTA5RPClips
  • cisconetworking
  • InstantRegret
  • ethstaker
  • osvaldo12
  • tester
  • provamag3
  • modclub
  • cubers
  • normalnudes
  • JUstTest
  • All magazines