A book publisher in the USA once told me there is a big difference between American and European authors (or wannabes).
He explained that when a prospective American author contacted him, they usually said, “I am going to write a book on XXX. Would you give me an advance and publish it?” When he requested a contents list and some sample chapters, many of these would-be authors fell strangely silent.
By comparison, when a European author contacted him, they usually said, “I have written a book on YYY. Would you be interested in publishing it?”
This is pretty much what happened to me with my first book, Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), which is now in its third edition. I wrote this little rascal “just because.” After two years of evenings and weekends spent in the local library (this was before the internet came to save us), I found myself the proud possessor of a finished manuscript.
This is when I started reaching out to potential publishers. I began with companies who were better known for their technical offerings. They either didn’t respond at all (“silence was the grim reply”), or they said, “This looks very interesting, but the first thing we’ll need to change will be the title,” to which I responded, “Don’t call me, I’ll call you” (well, not in so many words, but—since they were in the business of publishing—I’m sure they could read between the lines).
Then a friend mentioned a company called HighText Publications, which was based in California and owned by Carol and Jack Lewis. He said HighText was well-known for books that were highly technical but a bit outside the comfort zone of the mainstream publishing companies. After chatting with Carol and Jack on the phone, I sent them a couple of sample chapters and received a contract by return of post.
HighText was eventually acquired by Elsevier. Now, although the folks at Elsevier are all jolly nice, I do wonder what their reaction would be if an unknown author approached them with a proposed title like Bebop to the Boolean Boogie.
In turn, we might all pause to ponder as to where a young, aspiring author might turn today. Well, one publisher I love is No Starch Press, which bills itself as “The finest in geek entertainment.” As we read on their “About Us” page, “Our titles have personality, our authors are passionate, and we read and edit everything we publish.” I would have thought the latter point was de rigueur for a publisher, but it seems this is not always the case. A friend recently informed me that many of today’s publishers cut costs by outsourcing a lot of tasks. This goes some way to explain all the grammar, punctuation, and other “gotchas” that seem to be on the rise in many of the books I read these days (not the ones from No Starch Press, I hasten to add).
To be honest, I’ve never seen a No Starch publication that I didn’t want to add to my library. One I acquired almost ten years ago, Learn to Program with Minecraft: Transform Your World with the Power of Python by Craig Richardson, is quite possibly the most captivating introduction to the Python programming/scripting language I’ve ever read.
In fact, three No Starch books upon which I’ve feasted my orbs this year are sitting on my desk as I pen these words. First, we have Dead Simple Python: Idiomatic Python for the Impatient Programmer by Jason C. McDonald. This is described as “a thorough introduction to every feature of the Python language for programmers who are eager to write production code,” and it fully lives up to its stated goals. You don’t have to know Python to read it (although it wouldn’t hurt). Contrariwise, even if you do know Python, you’ll know a lot more after reading this tome.
Next, we have Computer Architecture: From the Stone Age to the Quantum Age by Charles Fox. I’ve read lots of books on computer architecture in my time, but the depth and scope of this one blew me away. For example, as I wrote in my Will the Renesas RZ/V2H MPU Dominate Embedded AI Vision Applications? column on EE Journal:
I’ve long been familiar with Charles Babbage’s proposal for a mechanical computer called the Analytical Steam Engine circa 1837. I knew it had a mechanical central processing unit CPU) and a mechanical random-access memory (RAM), but I’ve never been introduced to its inner workings… until now. I now know that this bodacious beauty was intended to work with 50-digit decimal numbers. Also, it had a mechanical data bus connecting the CPU and RAM. Also, the CPU contained mechanical registers, a mechanical arithmetic logic unit (ALU), and a mechanical control unit (fetch, decode, execute, store). More importantly, I now have a much better idea as to how all these functions were physically implemented and how they worked together (and I’m only on Page 83 of 436!).
Finally (at least for this column), we have The Game Console 2.0: A Photographic History from Atari to Xbox by Evan Amos. This will delight anyone with an interest in the history of video games. For those of us who actually lived through much of this history, this book provides a nostalgic meander down memory lane. My friend Steve Leibson wrote a great review (with accompanying photos) in his “The Game Console 2.0” Serves up Images of 123 Home Video Game Consoles Across 9 Generations column on EE Journal. In fact, this book is so interesting that--prompted by the writing of this column--I’ve just started to read it again.
But wait, there’s more. A few weeks ago, I was chatting with my friend Joe Farr in the UK when he mentioned seeing a book on writing C compilers that he thought looked interesting. Well, I just ran across this book on the No Starch website (what are the odds?). It’s called Writing a C Compiler: Build a Real Programming Language from Scratch by Nora Sandler.
Oh my! I’ve long wanted to know how to do this. I spend more time than is good for me worrying about how I would support myself if I inadvertently wandered into a timeslip and found myself transported back to the late 1930s or early 1940s (see my Building a Computer, Should You Inadvertently Travel Back in Time column). Knowing how to create a C compiler would be one more tool at my disposal, so I think we can expect to see Writing a C Compiler appear on my desk in the not-so-distant future.
What say you? Do you already own any of the offerings from No Starch? Has anything you’ve read here piqued your interest? And do you see anything on the No Starch website that you find to be particularly tempting? If so, please share your thoughts with the rest of us.













Every book that you comment from this editor has a unique approach and all of them are very stimulating. Thank you for discovering these jewels for us!
Thank you Pablo — I only wish I had more time — so many books to read, so little time to read them all in 🙂 Do you like science fiction? I’ve been reading some great Sci-Fi books recently — I was thinking of posting a blog on those.
Always appreciate your recommendations and often purchase. I am the proud owner of three of your opuses, should that be opi (no, just checked – opera). BEBOP to the BOOLEAN BOOGIE 1995, The Definitive Guide To HOW COMPUTERS DO MATH co-author Alvin Brown 2005, and the one I really enjoyed Bebop BYTES Back An Unconventional Guide to Computers also co-authored with Alvin Brown 1997. The work that went into the 1997 must have been considerable as it included the simulator program for the Beboputer on disc. Alas this worked only with Windows 95. There have been so many changes in hardware and software since then that getting the Beboputer running again would need access to your original work, maybe a college project ?
I guess I am in nostalgia mode wanting a working Beboputer, I used to have regular orders at our local newsagents for Practical Electronics, Practical Wireless, Wireless World, and Electronics Today International, the latter gave me my introduction to the Motorola 6800 D2 development Kit which I used, with some modifications, in many custom built equipment for work.
I suppose my simplest answer is to brave the spiders and cobwebs in my garage and see if any of the old PCs are safe to power up.
PS, You studied at Sheffield, the most interesting course I took in my work was held there, Fracture Mechanics.
Hi Philip — you are very kind. I too wish the Beboputer still worked — if you do manage to boot up an old PC and get it working, please do let me know — Max
Hi there! Just wanna say, Max, Bebop Bytes Back by you and Alvin was truly incredible! More on this later, at the end of my reply.
I’m replying to this not as “Must-Have Reads from No Starch Press” but rather as “Some Must-Have Reads on Computing” hehe.
1. My journey into computers really began with Petzold’s “CODE The Hidden Language of Computer Hardware and Software”.
The playful, friendly style of this book, plus some very neat technical subject matter, plus the steady, linear progression of ideas… is a combination that we need more of!!! It’s like talking to a friend next to you, showing you how something very neat works. That’s this book.
2. Scott’s “But How Do It Know?” It’s like CODE’s brother, but in a ways a bit better in that you see how to actually build a complete 8 bit CPU, control unit and everything. The downside is that it doesn’t have that playful style that CODE does. But you can tell by the names of the chapters that this book still has a lot of passion, that the author is super excited to show you something very cool.
3. The Elements of Computing Systems by Noam Nisan and Shimon Schocken (NAND2Tetris book)
Gotta say, this book is out of this world. It’s about 300 pages, but, somehow within those short pages, it walks you through on how to build a 16 bit, 32k RAM computer.
Like, all of it. They hold your hand just enough so you understand the theory, then at the end of each chapter, you fill in the missing details by doing a project. This is a hands-on approach, and YOU do it all!
Ch 1-6 builds all the hardware, culminating in you writing a (cross) assembler
Ch 7-11 talks about bridging the software language gap, by building an intermediate VM translator, and then the (cross) compiler. Compiler of what, you ask? A high-level language called Jack, made up just for this computer! (The computer is called Hack).
Ch 12 builds a basic OS, basically just a library of functions tying everything together. You learn how to work with individual pixels of a black and white, 256×512 screen as you figure out how to draw basic shapes, implement keyboard functions, basic memory allocation, string processing, etc.
I’m ch 9, you code your own game using the Jack language. It gets you familiar with the HLL before you learn how to write the compiler for it.
This book is incredible!
Bebop Bytes Back is very unique as well. I didn’t digest it 100% completely, nor could I run the CD, (but I was still able to follow along within the book thanks to the careful writing explaining the workshops).
**But this is literally the only book I have ever come across (so far) that really trys to explain what it’s like to bootstrap yourself when you have a complete bare bones hardware fresh off the shelf!** CHAPTER 12!
I wish more people talked or wrote books not on CPU architecture / hardware, but on the software side of things. Like, yes, we have a completely fresh computer. But it has junk data, and now we need to somehow tame it with software. Not using cross assemblers, nor cross compilers. But, like actually dive into the full bootstrap, iteration that we at some point in time MUST have went through. Any recommendations on this side of things?
Note: I spend hours, days, weeks searching for passionate books on computer architecture, hoping to find more gems like the ones I listed above. But I have still yet to find any that truly dive into the software side of things, picking up right where a fresh hardware platform left off.
You’d think there would be a book, something just like NAND2Tetris, but that actually talks not only about hardware, but more on software as well, continuing the journey! Again, thing “chapter 12” of Bebop Bytes Back.
(Also, “The Recursive Universe” by William Pounstone is something I’m sure you’d totally enjoy! It’s a book about Conway’s Game of Life!)
Hi Robert — thanks so much for your feedback — I read CODE ages ago — I’ve just added “But How Do It Know?” “The Elements of Computing Systems” and “The Recursive Universe” to my Christmas List 🙂