summaryrefslogtreecommitdiff
path: root/trees/blog/the-twilight-of-20th-century-programs.typ
diff options
context:
space:
mode:
Diffstat (limited to 'trees/blog/the-twilight-of-20th-century-programs.typ')
-rw-r--r--trees/blog/the-twilight-of-20th-century-programs.typ77
1 files changed, 77 insertions, 0 deletions
diff --git a/trees/blog/the-twilight-of-20th-century-programs.typ b/trees/blog/the-twilight-of-20th-century-programs.typ
new file mode 100644
index 0000000..1972f33
--- /dev/null
+++ b/trees/blog/the-twilight-of-20th-century-programs.typ
@@ -0,0 +1,77 @@
+#import "html_elements.typ": post
+#show: post
+
+= The Twilight of 20th century programs
+
+I like incremental improvements, it's almost like a mathematical induction.
+
+
+Based on the previous step, I assume we'll take the next, that works a lot of times.
+
+
+Is nice to have old things that still work, like a printed photograph.
+
+
+The artifact generated by the camera and printer technologies relies only on our
+vision and the printed material properties.
+
+
+Modern books rely on similar things, like the paper, but, there's also a symbolic level.
+A GOOD photograph will tell something that can be understood just by looking, but book
+needs an alphabet, a language, i.e. higher level concepts.
+
+
+A book typeset in Latex is another level of abstraction above, it contains the
+instructions for a computer build the book.
+
+To me what's beautiful in that is not only each lens we use to see:
+- A physical thing printed on paper is, like a photograph, or text.
+- A book, filled with ideas, part of a larger culture.
+- A computer program, that precisely defines a document.
+
+
+But also how those levels interact with each other, and with the uncountable
+others below or above it.
+
+
+Some people look at that picture and focus only the computer to paper path.
+- They see the automation of the typesetting, printing, and selling steps.
+- Its a path takes humans away from a pipeline that turns ideas into physical
+entities.
+
+
+But there are so many different ways to see the world! Let's take the Latex to a
+printed book path in reverse.
+
+How to we take the printed books we have in the world, and make the stairs to
+reach the next levels of abstraction? I'll leave that up to your imagination for
+now, lets apply this to brainfuck.
+
+
+What's below, and what's above it? what's to the side of it?
+
+```
+ turing machine -- lambda calculus
+
+ brainfuck -- forth -- lisp
+
+ x86_64 -- AArch64
+```
+
+Let's take the path from brainfuck to the turing machine. The brainfuck
+specification is a concrete instance of the abstract idea of a turing machine.
+It's an extremely simple definition, that much like a seed, completely contains
+the level above it. It encapsulates a higher level above it, in a specially
+beautiful way due to it's simplicity, like a seed and a tree.
+
+
+With brainfuck, just by carefully defining the <[+,.-]> symbols, we can carry
+computers. Since in theory any program can be translated to brainfuck, we can
+store any computer program in a brainfuck clay tablet, stone engraving, papyrus,
+and it'll reasonably live forever.
+
+
+To me that's one of the most beautiful things about both zig and typst. They
+live side by side, creating simpler paths for humans to navigate the levels of
+abstraction. An effort to create concrete implementations that try to contain
+higher level abstractions, i.e. hermetic / leak-proof vessels.