Software is like recipes.

Facebook etc is like McDonalds: the recipes are designed to be cheap to produce and addictive so you keep coming back, but not good for YOU.

Commercial software is like restaurants: it varies wildly, and your favourite popular restaurant may disappear unexpectedly.

Open source is like home-cooked meals: you can know exactly what's in there and share the recipes freely. Some recipes are hard to pull off, but some are actually more convenient than going out to eat.

Follow

>Software is like recipes.

I like simple **metaphor**s.
Been arguing for software **literacy** frequently recently.

More in-depth thinking about "types". Specifically a "fixed-point/recursive" type that changes over time.

More in-depth thinking about "**type**s". Specifically a "fixed-point/recursive" **type** that changes over time.
For example a "block" **type** in minetest.
At the beginning you will just start with a set of simple block **type**s like "dirt", "stone", "brick" which differ in nothing but texture.
You may also build some simple tool **type**s to deal with the simple block **type**s like worldedit to save and copy builds or rollback to restore them.
But soon you will want all kinds of additional block **type**s like "trampoline", a block with a motion property; or "sign", a block with a text property; or "water", a block that flows; or "mesecons", a block that conducts electric flow.
Conceptually, these are all still the same "block" **type** at the beginning; yet programmatically their invariant "sub-**type**s" have changed --- meaning all the tool **type**s like worldedit and rollback will have been broken by them.

@raboof

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.