Live data from Hacker News

How These Things Work – A book about CS from first principles (2016)

reasonablypolymorphic.com

1–10 of 62 posts

Re: How These Things Work – A book about CS from first principles (2016)

#2
Nice. I did an EE degree many years ago even though I wanted to work in software. The single best course I did was to design, simulate and have fabricated a 4 bit microprocessor. It completely solidified my understanding of how computations took place. Hopefully, texts like this will do the same for others.

Re: How These Things Work – A book about CS from first principles (2016)

#3
Neat, and it looks like it's under a 3-clause BSD license, too: https://github.com/isovector/reasonablypolymorphic.com/blob/...

And it's tackling pretty advanced material — a bunch of category-theory stuff that I have no idea about. This is exciting!

It looks like maybe it's unfinished: https://reasonablypolymorphic.com/book/tying-it-all-together... ends, "Really, we’re just getting started," and then (the current version of) the book ends. What a cliffhanger ending!

It doesn't seem to yet cover circuitry; the hardware it discusses seems to be a two-tape Turing machine, much like BF. The author seems to have been simulating the machine by hand to generate the included execution traces.

I had a hard time finding the source at first: https://github.com/isovector/reasonablypolymorphic.com/blob/... has a bunch of attribute-embedded &-escaped SVG (including XMLPIs!) that he almost certainly didn't type like that. That file is duplicated at https://github.com/isovector/reasonablypolymorphic.com/blob/... in the same format.

As it turns out, the source for that post is in https://github.com/isovector/reasonablypolymorphic.com/blob/..., with embedded Haskell to produce the SVGs. The build scripts looks like they might be in https://github.com/isovector/reasonablypolymorphic.com/tree/... and https://github.com/isovector/reasonablypolymorphic.com/tree/... but I can't tell where the code for generating SVG comes from. ("stack install" maybe? But then is it datetime, sitepipe, or strptime?) So I can't figure out how to fix the text in the SVGs to not crash into the diagram lines.

Careful about cloning the repo. It's a quarter gig!

Re: How These Things Work – A book about CS from first principles (2016)

#4
post #2

Nice. I did an EE degree many years ago even though I wanted to work in software. The single best course I did was to design, simulate and have fabricated a 4 bit microprocessor. It completely solidified my understanding of how computations took place. Hopefully, texts like this will do the same for others.

In a similar vein, I highly recommend the MOOC "nand2tetris" which progresses smoothly from simple logic circuits right up to a high level Java-like programming language.

Re: How These Things Work – A book about CS from first principles (2016)

#5
I never heard of "first principles" until Elon Musk used it. (Not a native English speaker) Now I see it everywhere.

Must be the new overhyped term. "We start from first principles, just like Elon Musk".

After looking at Google trends, I might be wrong, so nevermind ;) https://trends.google.com/trends/explore?date=all&q=First%20...

Re: How These Things Work – A book about CS from first principles (2016)

#7
post #3

Neat, and it looks like it's under a 3-clause BSD license, too: https://github.com/isovector/reasonablypolymorphic.com/blob/... And it's tackling pretty advanced material — a bunch of category-theory stuff that I have no idea about. This is exciting! It looks like maybe it's unfinished: https://reasonablypolymorphic.com/book/tying-it-all-together... ends, "Really, we’re just getting started," and then (the current ve…

The author states that computer science has little to do with computers on the first page so I would not expect circuitry.

Re: How These Things Work – A book about CS from first principles (2016)

#8
post #5

I never heard of "first principles" until Elon Musk used it. (Not a native English speaker) Now I see it everywhere. Must be the new overhyped term. "We start from first principles, just like Elon Musk". After looking at Google trends, I might be wrong, so nevermind ;) https://trends.google.com/trends/explore?date=all&q=First%20...

That's the Baader-Meinhof phenomenon talking [1] :)

[1] https://science.howstuffworks.com/life/inside-the-mind/human...

Re: How These Things Work – A book about CS from first principles (2016)

#9
post #5

I never heard of "first principles" until Elon Musk used it. (Not a native English speaker) Now I see it everywhere. Must be the new overhyped term. "We start from first principles, just like Elon Musk". After looking at Google trends, I might be wrong, so nevermind ;) https://trends.google.com/trends/explore?date=all&q=First%20...

[deleted]

Re: How These Things Work – A book about CS from first principles (2016)

#10
post #7
post #3

Neat, and it looks like it's under a 3-clause BSD license, too: https://github.com/isovector/reasonablypolymorphic.com/blob/... And it's tackling pretty advanced material — a bunch of category-theory stuff that I have no idea about. This is exciting! It looks like maybe it's unfinished: https://reasonablypolymorphic.com/book/tying-it-all-together... ends, "Really, we’re just getting started," and then (the current ve…

The author states that computer science has little to do with computers on the first page so I would not expect circuitry.

I don't disagree with him on that, but there's really quite a bit of stuff in there about quasi-circuitry-like things: "machines" and "latches" and things like

> In the next chapter, we'll investigate how to make machines that change over time, which will be the basis for us to store information. From there it's just a short hop to actual computers!

so I think that grounding abstract computation in something that can clearly be constructed in real life is actually very much a concern of the book, even if he's not planning to cover IEEE-754 denormals, the cost of TLB flushes, or strategies for reducing the bit error rate due to metastability when crossing clock domains.

Post reply on HN