Show HN: The Magic of Code – book about the wonders and weirdness of computation
themagicofcode.comI recently published a book called “The Magic of Code” which is about the delights of the computational world, examining computing as a kind of “humanistic liberal art” that connects to so many topics, from art and biology to philosophy and language. The link I’ve shared is to a page on my book’s website where you can download a pdf of the introduction, to give HN readers a taste of what is inside.
Right now there is so much worry and concern around technology that I feel like some people—though not the folks here—have forgotten how much fun that code and computation can also be. So I wanted to rekindle some of that sense of wonder.
But, as I’ve written elsewhere, this is also the kind of book I wish I had when I was younger and getting interested in computers. I’ve always enjoyed the kinds of writing that talks about computing but in the context of so many other big ideas, especially ones I’ve explored at various points in my own life, from evolution to simulation. And that’s what I tried to do.
But while “The Magic of Code” is certainly for a wide audience, and for people who are unfamiliar with programming and code, I’ve also (hopefully!) designed it to be of interest to those who are more expert in this realm, with lots of rabbit holes and strange ideas to pursue. And if there exists a genre of book to explain to outsiders why you love a topic, this is in that genre, for computing and code. I think the HN community will really enjoy it.
The intro is well written and captivating, but is an intro. Unfortunately, it leaves me less wanting to read and experience the meat of the book and more curious what that meat even is. With a target audience that doesn't know how to code already, where is it going? That's not generally a mystery I want in this kind of book. If I'm going to have something bubble up high enough on my to-read pile I'll ever get to it, I need to have some prior idea of whats in it.
Glad you enjoyed the intro! In terms of the meat, there’s only so much that can be provided in an introduction, but I did step through the chapters at the end, explaining a bit of what is to come (though obviously not the meat itself: that’s found in the chapters themselves!).
But in terms of code itself, I do my best to convey how programming (and the world of code) feels. Admittedly, this is hard to do, but I talk about everything from different programming languages and what they are all about (and their vibes) to the unexpected power of global variables.
There is also a ton of computing history to be found in the book, which I think is vital for understanding the tech world (and building whatever comes next). We often see a certain amount of historical ignorance in tech, and that feels like a recipe for missing context, or unnecessary reinvention, or just plain not understanding the path dependence of this world. So I really try to explore that a lot.
"Show, don't tell". Why not post a bit of the meat, say chapters 2 and 3?
I want to give people a sense of the breadth of the book, hence the introduction (and I had thought that it might be too confusing, jumping into the middle of things...). But reasonable point.
rather, why not also post one "content" chapter? I think it will help sell the book better, fwiw
I will second and say that for me, when a book is about a topic I've thought about a fair bit already, I don't want to read it unless I'm convinced that the author has thought about it more deeply or from some different perspective than I have. And it's hard to tell that from an intro and table of contents.
Ditto about the quality of intro. One way to show that "meat" without sharing some arbitrary number of chapters could have been to also include some of the back matter of the book (index, bibliography, etc.) in the sample. For example, I'm reading this:
> If coding really is like sorcery, what does this mean for how we think about computers?
and wondering whether Abelson/Sussman sort of wizardry makes an appearance or not.
[flagged]
https://en.wikipedia.org/wiki/Jacopo_Ferretti
This looks cool! There's been so many books with a utopian or dystopian take on technology, it's refreshing to see someone tapping into the wonder. I've certainly experienced wonder with my programming journey.
I really appreciate this! Thanks. I think focusing on wonder might be the way of providing a kind of healthy medium between those extreme utopian and dystopian approaches.
Maybe a hot take, but for a modern overview of the way people at large interact with computers, I find it almost disingenuous to paint it in a positive light - wonder included - without also showing the dark sides. The gray area only exists because the machines themselves are so capable when removed from the realities of how they're used.
It's as if we have the cure for cancer, but we only give it to people that are willing to watch 1 hour of ads every day. Like, yeah, the technology is great, but that social implication is terrifying.
To me, a book strictly about the wonder - ignoring these realities - feels.. vapid? dishonest? I don't want a word quite so loaded, but I'm struggling to find a better one.
This does hit home for me though. I'm currently working on a re-write of my pages on this subject on my website [0], where the current public version there really is overly complain-y and really misses the mark. The new version I'm working on explicitly alternates between negatives and positives, with sections that alternate between dark with light text and light with dark text to indicate the shift in tone and as much as I think that's beneficial for a reader, it's even more so for me as the author, to recognize when I'm writing too much in the "dark" section.
At the same time, I don't want to fall into the fallacy of moderation. If one side says climate change isn't real and one side does, it's not as if truth is somewhere in the middle. It's real. It's bad. Same for anything about computers. If I say right to repair, the DMCA, enshitification, etc. etc. are huge problems and pretend we're doing enough to fix them, that's just as dishonest.
Writing this has convinced me to pick up OP's book and read it, if for no other reason than to be inspired by the meta, the framing that I'm talking about - though I'm sure it'll be a good read in its own right. (Even if my prior, top-level comment about being unsure of the meat still holds)
[0] https://opguides.info/other/hci2/intro/
+1!
Wow. Delightful. I'm reaching that jaded mid-career stage where software DEFINITELY does not seem magical anymore -- more like a collection of broken promises about the magic that could have been -- and this was a great reminder that, yeah, hey, it is kinda magical anyway, isn't it?
Congrats for writing something that is both accessible to a wide audience and yet still meaningful to grumpy audience.
I will certainly be picking this up!
Thank you!
> Right now there is so much worry and concern around technology that I feel like some people—though not the folks here—have forgotten how much fun that code and computation can also be.
I believe that future generations will continue to re-discover the wonders and merits of computer code and writing programs. Similar to subjects like math and physics, the appreciation won’t be going away for those who have an affinity for it.
Author here! Happy to answer any questions about the book, the ideas in it, or even book writing more generally!
Have you read "Code: The Hidden Language of Computer Hardware and Software"? I enjoyed it.
Fantastic recommendation! This is a great book (and the second edition is on my shelf).
How does your book compare with Daniel Shiffman's The Nature of Code ? - https://natureofcode.com/
I like the book’s premise. Aside from a longstanding propensity for popular science fiction, I’ve often felt that programmers tend to overlook the humanities. I’m curious to see how your book bridges that gap. I just bought a copy.
Thanks so much! I hope you enjoy it.
Saw your talk at the Recurse Center, and really appreciated it. I'm looking forward to reading this book!
Oh awesome! Glad you enjoyed that.
That's a very cool cover.
Thanks so much!
Previous: https://news.ycombinator.com/from?site=themagicofcode.com
A small number of reposts is ok if an article hasn't had significant attention yet. This is in the FAQ: https://news.ycombinator.com/newsfaq.html#reposts.
In this case, we invited the author to redo his Show HN along with a sample chapter, since that is the Show HN convention for "sharing one's work" (https://news.ycombinator.com/showhn.html) when the work is a book.
Thanks. I'm aware of the policy but good policy always bears restating/reminding.
I also appreciate the additional background. Having said that, the author only posted the ToC and Intro, which meant it came off much more as trying to Show HN readership something to buy, rather than sharing any of his actual work with HN. Hence why I posted all of the prior attempts.
I agree that it would have been better to share a technical chapter!