Apr 15, 2022
Does anyone have experience implementing a Mastodon client? I've been reading links like https://www.w3.org/TR/activitypub and https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server, but I already have a server I'm perfectly happy with. How do I authenticate with it? Just by its custom authentication methods?

I guess I'm wondering if every Mastodon server also has some non-ActivityPub API.

permalink

* *
Apr 14, 2022
Building resilient systems

Systems are made of parts.

If you have too many parts, the odds of one of them failing go up.

If you have too few parts, any single part failing has a larger impact.

THEREFORE,

Arrange the parts in multiple phases over time. Like bulkheads, failures get isolated to a single phase.

Within a phase, use few parts to improve your odds.

Example: use git to generate your site, but host it on Netlify. Now you can build without Netlify and serve traffic without Github.

permalink

* *
Apr 6, 2022
I just did a fun bit of retrocomputing archeology.

I wanted to give the kids a Paint program, so I did a quick Google in my current favorite framework and found https://love2d.org/forums/viewtopic.php?t=87469. Ran great and was loads of fun, but looked a bit.. off. Some of the colors were missing, and clicking on the black rectangles sometimes abruptly changed the color. Turns out:

“In versions prior to 11.0, color component values were within the range of 0 to 255 instead of 0 to 1.”

https://love2d.org/wiki/love.graphics.setColor

Before: Paint app when I first ran it.

After: Paint app after I fixed it.

permalink

* *
Apr 3, 2022
We have an old computer the kids use to watch Cocomelon. It runs Windows. We've also been playing with some Love2D programs on my Linux computer. Today I installed Love2D on the Windows computer. Now they can run programs on their computer. Programs I can tweak over time, that they may peek at.

I'd always felt bad that my Linux-only programs excluded Windows users. But I didn't realize they were excluding me as well. In this way I come back face to face with the oneness of all things.

permalink

* *
Apr 1, 2022
On the positive side, the kids enjoyed playing with those Game of Life apps today. The question they asked me later:

Is this Mu or Teliva?

So now they know that there are other programmers on the planet.

permalink

* *
Mar 31, 2022
It's not just a matter of deleting features. Any time I innovate a feature even slightly, I find myself doing something I don't have the skills for. I lost the first version of this comment thread, writing it on my Teliva-based editor (which provides character counts for chunks). Fucking stupid bug, and it was all me.

Software benefits from testing. If you use software with few users, it's almost certain to be under-tested.

I also can't just ignore all the considerations of industrial software.

I can't just do it from scratch because I don't have all the skills. Deciding what to depend on is also thorny. Pulling in irrelevancies vs excluding people.

5% of software lasts a long time. (Analogy with food breaks down there.) Hard to tell which 5% it is. (Analogy with building roads/bridges breaks down there.)

If I were to ever have any success, I'll be dealing with awkward requests, the risk of burnout.

One thing is clear: the dream/temptation to "scale up" is poison. But it's unclear what's left. We end up with a few people scattered in a humongous state space mostly building stuff for ourselves, nibbling at the margins of the software industrial complex, while unable to actually extricate ourselves from it.

You can have both kinds of software, the kind that's unreliable because the authors are indifferent/malicious or the kind that's unreliable because the authors don't have enough support.

permalink

* *
Mar 29, 2022
Is "situated software"[1, 2] just another rationalization for tweaking our text editors, ricing our desktops, etc.?

[1] https://www.gwern.net/docs/technology/2004-03-30-shirky-situatedsoftware.html

[2] https://www.robinsloan.com/notes/home-cooked-app

permalink

* *
Mar 24, 2022
Alexander meets Illich

https://escapingflatland.substack.com/p/christopher-alexanders-architecture

permalink

* *
Mar 18, 2022
"The more living patterns there are in a place -- a room, a building, or a town -- the more it comes to life as an entirety, the more it glows, the more it has that self-maintaining fire which is the quality without a name. "And when a building has this fire, then it becomes a part of nature. Like ocean waves, or blades of grass, its parts are governed by the endless play of repetition and variety created in the presence of the fact that all things pass. This is the quality itself." RIP CA

permalink

* *
Mar 17, 2022
Has anybody played with this folk algorithm to generate prime numbers using the Sieve of Eratosthenes, creating a coroutine for each prime? Examples:

using fork() and pipe(): https://www.cs.dartmouth.edu/~doug/sieve/sieve.pdf

in C using tasks and channels: https://swtch.com/libtask

in Lua using tasks and channels: https://github.com/majek/lua-channels/blob/master/examples/sieve.lua

in Python using a more efficient but less interesting algo because Python lacks full coroutines: https://github.com/majek/lua-channels/blob/master/examples/sieve.lua

It might be fun to try this in Wireworld.

permalink

* *
archive
projects
writings
videos
subscribe
Mastodon
RSS (?)
twtxt (?)
Station (?)