~vdupras/tumbleforth

4aeeaac8217c59341c3416d4e8efc13e58e9303f — Virgil Dupras 1 year, 3 months ago 70acecd
Open access
4 files changed, 25 insertions(+), 54 deletions(-)

M 01-duskcc/08-immediate.md
M Makefile
M README.md
M index.html
M 01-duskcc/08-immediate.md => 01-duskcc/08-immediate.md +0 -10
@@ 198,19 198,9 @@ developed in [Dusk OS][dusk], which is a Forth. Now that we know how to build a
Forth, we’ll enter Dusk’s world with a pretty good understanding of how it
works underneath. No more secrets.

This is also the end of this story arc’s “taster”. The rest
of the arc will be behind a paywall. If I’ve managed to draw your interest,
good! There’s more of that coming. Otherwise, too bad, I don’t think the rest
of the arc will be of interest to you, it’s going to develop in the same
fashion as its beginning.

So, let’s leave that little Forth there, don’t listen to it whimpering, calling
for your mercy, and let’s discover the brave new world of Dusk OS!

*[Next: Buy this story arc from the home page!](/)*

or, if you're reading this from the purchased bundle:

*[Next: From Dusk Till C][nextup]*

[^1]: Remember, you’re Tank! You ain’t some cog in the machine, machines bend

M Makefile => Makefile +1 -10
@@ 14,21 14,12 @@ ARTICLES_WITH_TGZ = \
ARTICLES = \
	$(ARTICLES_WITH_TGZ)

BUNDLEDIR = bundles
OUTHTML = $(addsuffix .html, $(ARTICLES))
OUTTGZ = $(addsuffix .tar.gz, $(ARTICLES_WITH_TGZ))
STORIESTGZ = $(addprefix $(BUNDLEDIR)/, $(addsuffix .tar.gz, $(STORY_ARCS)))

.PHONY: all
all: $(OUTHTML) $(OUTTGZ)

.PHONY: bundles
bundles: $(OUTHTML) $(STORIESTGZ)

$(STORIESTGZ): $(BUNDLEDIR)/%.tar.gz: %
	mkdir -p $(BUNDLEDIR)
	tar zcf $@ --exclude "*.tar.gz" $<

$(OUTHTML): %.html: %.md
	markdown_py -x footnotes $< | cat header.html - footer.html > $@



@@ 37,4 28,4 @@ $(OUTTGZ): %.tar.gz: %

.PHONY: clean
clean:
	rm -f $(OUTHTML) $(OUTTGZ) $(STORIESTGZ)
	rm -f $(OUTHTML) $(OUTTGZ)

M README.md => README.md +2 -5
@@ 3,9 3,6 @@
This repository contains supporting code for the [Tumble Forth][tf] blog. Each
top folder represents a story arc, each folder underneath is an article.

Each leaf folder has a Makefile, with most of them having a "run" target, so you
can type `make run` to build and run the thing. If there are multiple things to
be ran, then there will be multiple "runXX" targets. Read the Makefile to figure
it out.
To build, run `make`. This requires the package `python3-markdown` on Debian.

[tf]: https://tumbleforth.substack.com
[tf]: http://tumbleforth.hardcoded.net

M index.html => index.html +22 -29
@@ 26,14 26,6 @@ get to tell one corny joke.
</p>

<p>
The general idea is that the beginning of each story arc, the "teaser", is
freely available, but the crunchy part is behind a paywall. When you pay, you
receive the whole story arc as a targz bundle by email. When the story arc is
marked as "in progress", you'll receive the content written so far as well as
future updates to it.
</p>

<p>
The target reader is a person who knows their way around programming, but is
inexperienced in the area of low level programming. If you're the target reader
but find some parts of this content difficult to understand, this is not


@@ 41,14 33,30 @@ intentional. In this case, or if you have any question or comment, please reach
out to me at hsoft@hardcoded.net.
</p>

<h2>Contribute</h2>
<p>
Articles are publicly available, but their writing is still fueled by monetary
contribution. I figure that each story arc is worth about 2000 CAD, so whenever
I reach that amount, I write a new arc.
</p>
<p>
If you appreciate what I write and would contribute to me writing some more of
this stuff, please contribute.
</p>
<script async
  src="https://js.stripe.com/v3/buy-button.js">
</script>

<stripe-buy-button
  buy-button-id="buy_btn_1N3kiKCA7NIrwVHI3eJCZ2zj"
  publishable-key="pk_live_51MvMMICA7NIrwVHIRYb1HLDH2fekhb7w6fKAR1rTEjtsGEFumQNBDOZdbNIhNAnL4Lf4m1ISp1kTepJWR6cOBG3d00QRjUBiEA"
>
</stripe-buy-button>
<p>
If payment through Stripe doesn't work for you, reach out to me, we can work
out other options, including snail mail.
</p>

<p>I'm processing transactions manually for now, so it might take a few hours
before you receive the bundle.</p>

<h2>Story arcs</h2>

<h3>Buckle up, Dorothy</h3>


@@ 63,11 71,6 @@ Starting from bare metal on the PC platform, we build a Forth from scratch, then
switch to <a href="http://duskos.org">Dusk OS</a> and then build a partial C
compiler (just enough to compile our example code), again from scratch.
</p>
<p>
The "teaser" part of this story arc is a rather large part of the whole, but
that's because it's the "build a Forth" part and I believe that everyone should
do that, so I want to keep it openly accessible.
</p>

<p>Table of Contents</p>
<ol>


@@ 79,20 82,10 @@ do that, so I want to keep it openly accessible.
    <li><a href="01-duskcc/06-taletwostacks.html">A tale of two stacks</a></li>
    <li><a href="01-duskcc/07-babywalk.html">Baby's first steps</a></li>
    <li><a href="01-duskcc/08-immediate.html">The Unbearable Immediateness of Compiling</a></li>
    <li>From Dusk Till C</li>
    <li>Feeding the beast</li>
    <li>In the Eye of the Compiler</li>
    <li><a href="01-duskcc/09-dusktillc.html">From Dusk Till C</a></li>
    <li><a href="01-duskcc/10-beast.html">Feeding the beast</a></li>
    <li><a href="01-duskcc/11-eye.html">In the Eye of the Compiler</a></li>
</ol>

<script async
  src="https://js.stripe.com/v3/buy-button.js">
</script>

<stripe-buy-button
  buy-button-id="buy_btn_1N3kiKCA7NIrwVHI3eJCZ2zj"
  publishable-key="pk_live_51MvMMICA7NIrwVHIRYb1HLDH2fekhb7w6fKAR1rTEjtsGEFumQNBDOZdbNIhNAnL4Lf4m1ISp1kTepJWR6cOBG3d00QRjUBiEA"
>
</stripe-buy-button>

</body>
</html>