From 8f53a0c5071860fc656bb3445e82443de216636a Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Fri, 26 Jan 2024 14:45:43 -0800 Subject: [PATCH] add image and start of metaprogramming article --- blog/img/stack.png | Bin 0 -> 8826 bytes blog/stem.org | 28 ++++++++++++++++++++++++++-- index.org | 5 +++-- 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 blog/img/stack.png diff --git a/blog/img/stack.png b/blog/img/stack.png new file mode 100644 index 0000000000000000000000000000000000000000..f4c2c4d977755e811c4042651be761ae3b043e8a GIT binary patch literal 8826 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