How These Things Work – A book about CS from first principles (2016)
reasonablypolymorphic.com
How These Things Work – A book about CS from first principles (2016)
1–10 of 62 posts
Re: How These Things Work – A book about CS from first principles (2016)
#2Re: How These Things Work – A book about CS from first principles (2016)
#3And 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)
#4Nice. 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)
#5Must 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)
#6Re: How These Things Work – A book about CS from first principles (2016)
#7Neat, 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…
Re: How These Things Work – A book about CS from first principles (2016)
#8I 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...
[1] https://science.howstuffworks.com/life/inside-the-mind/human...
Re: How These Things Work – A book about CS from first principles (2016)
#9I 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)
#10Neat, 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.
> 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.