@aral@mastodon.ar.al 

feeds.twtxt.net

Public posts from @aral@mastodon.ar.al

Recent twts from @aral@mastodon.ar.al

Philosophically, JSDB – which writes out to native JavaScript logs – is very much the JavaScript version of SWX, the native data format for Flash that I released around 2007 (where data was written out in native SWF format). I have to say that I’m glad I didn’t have to reverse engineer SWF bytecode this time around :)

Here’s a video of a younger me doing an impromptu demo of SWX at some conference or other from 16 years ago.

https://m.youtube.com/watch?v=OM9qOADsO3w

[#JSD … ⌘ Read more

⤋ Read More

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- … ⌘ Read more

⤋ Read More

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

[# … ⌘ Read more

⤋ Read More

I’ve thought a bit more on this and decided:

1. Persisting custom classes _is_ an advanced feature.

2. Implementing these changes would mean that custom classes can extend base classes (e.g., EventEmitter, so we can, for example, listen for events on sessions in Kitten)

3. The con of dictating the constructor signature for custom classes is outweighed by the pros.

So I just implemented this, plus pseudo-private property support, etc., and will be releasing a new major version of JSDB soon. ⌘ Read more

⤋ Read More

Had knives in my throat (not Covid, probably… at least tests were/are negative) so went to see my new GP and we ended up chatting about the OneWheel I rode in on (he took up skating later on in life and tried one in France apparently), the shit factory that is Silicon Valley (he used be a software dev there before he became a doctor), the Small Web (he digs the idea), and, yes even my sore throat (I’m on antibiotics now). Needless to say, I like my new GP :) ⌘ Read more

⤋ Read More

Just a quick update on this: after some experimentation and further thought, I feel the way JSDB works currently is the right trade-off.

While it could run the constructor of persisted custom objects when loading them back in, that would impose a rigid authoring flow that would sacrifice ease of use for simple use cases. I find the latter more important in this case.

(I’m off to document this ‘feature’ now as it is currently undocumented and that’s not good.) :)

More: [https://codeberg.org/small-tech/jsdb/issues/12] … ⌘ Read more

⤋ Read More

It’s amazing to me that folks have such a hard time with the very basic concept of “follow the money.”

This isn’t rocket science, people. Where/who you get your money from matters. The people who you surround yourself with matter. The success criteria you adopt matter. ⌘ Read more

⤋ Read More

All that said, the one thing this isn’t about is how much Eugen makes. If we’re saying any old asshat engineer at Google has a right to a comfortable life but folks working on free and open source don’t, let’s not expect too many people to do the former as a full-time occupation. (6/7) ⌘ Read more

⤋ Read More

They probably see Mastodon becoming a US entity and having Silicon Valley folks on the board as a sign of success when it is an abject failure of the EU, and all its costly PR initiatives (Next Generation Internet, etc.) It’s the Web story with Tim Berners-Lee and CERN all over again. And we know where that neoliberal and corporate capture left us. (5/7) ⌘ Read more

⤋ Read More

To be fair, it’s at least half of what he’d be getting if he had a job at a well-funded tech company in the mainstream. And, more so at a Google or a Facebook.

This isn’t about Eugen’s compensation. Eugen should be compensated and be able to live a comfortable life given what he does. Heck, asshats who work at Google and Facebook do. Why should people have to sacrifice to do good?

No, this is about Silicon Valley influence, the wrong success criteria, and loss of control. (3/7) ⌘ Read more

⤋ Read More

Mastodon becoming a US entity with a neoliberal board of directors and the goal of growth über alles is the issue here folks, not whether Eugen and company are compensated for their work. Of course they should be and well too. Or is that a privilege reserved only for the mediocre yes-people at the Googles and the Facebooks of the world?

Here’s a longer thread I wrote elsewhere. (1/7) ⌘ Read more

⤋ Read More

And, if the EU didn’t have its head stuck up its own arse, it would have already made sure that Mastodon could be kept in the EU and those working on it well compensated while also ensuring that the correct success criteria (hint: NOT growth at all costs but decentralisation) were set. But not with this EU Commission and its fixation with the Single Market above all else. (4/7) ⌘ Read more

⤋ Read More

TLDR; this is a monumental fuck-up by the EU, proving it is incapable of retaining alternatives to Silicon Valley even when it’s lucky enough to have them sprout up under its own nose. (We already know it’s incapable of producing them. Although it could, if it wanted to: https://ar.al/2019/11/29/the-future-of-internet-regulation-at-the-european-parliament/)

\*\*\*

(Replying to a post about Eugen’s salary.) (2/7) ⌘ Read more

⤋ Read More

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 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/ … ⌘ Read more

⤋ Read More