Brian Kernighan has written many fashionable books about programming, computer systems, and know-how. My personal bookshelf contains a number of books authored or co-authored by Kernighan, together with The C Programming Language, Unix: A History and A Memoir, The AWK Programming Language, and others. I simply added one other e book by Kernighan, Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security, Second Edition, printed in 2021 by Princeton University Press. I just lately had a possibility to interview Kernighan about his newest e book:
What prompted you to put in writing Understanding the Digital World?
I began instructing a Computer Science course, “Computers in Our World,” throughout the Fall of 1999, and I by no means discovered a e book that I favored. Most of the books have been fairly superficial; they have been the type that had numerous coloured photos however did not have any content material. I lastly determined, “The only way I’m going to get something that I feel is the right balance of actual technical information, but kind of interesting writing, is that I have to write it myself.”
Arguably, the e book is, in some methods, the transcription of what was happening within the lectures. So a whole lot of the prose flowed from that.
The class is aimed toward a really non-technical inhabitants, however the computing that we’re speaking about, and communications, is pervasive. It’s a part of the world. It’s altering our lives, and so an informed particular person—and that might be the scholars in my class or the individuals who learn your articles—they should learn about these things. They’re going to be making selections about it sometime, and it might be good in the event that they made these on the idea of some understanding of what the know-how is and what its functions are. That was why I wrote the e book.
What was your course of if you wrote this e book?
For this revision, it was undoubtedly incremental. It was going via the factor pretty rigorously and saying, “Wait a minute, that’s dusty. That’s no longer true.” For instance, I talked concerning the CPU, and you do not actually take into consideration the CPU anymore. It’s extra like there is a processor, besides that inside it, they could have extra construction.
For the programming language stuff, I actually considered how would possibly individuals most profitably find out about programming. And once I was first instructing, that was Visual BASIC. Those days are gone, but it surely was actually nice on the time. And then, I used JavaScript as a result of it was obtainable on the internet. And now Python.
In truth, one of many causes individuals take this course is as a result of it satisfies a requirement referred to as Quantitative Reasoning. They modified the title of that to Computational Reasoning final yr. And I assumed, let me put a bit extra computation in. That’s the genesis of the Python stuff.
And I wished to speak about machine studying. It’s not one thing I’m an professional in in any respect; most of what I learn about it I’ve realized from others. But it is clearly central to a whole lot of what is going on on. And it is a mixture of actually nice concepts and critical snake oil—and within the e book, I’m attempting to elucidate that from my perspective, as an dilettante.
What are among the main adjustments that you simply made on this version of the e book?
The fundamentals like bits and bytes nonetheless work the identical means they at all times did, and the way you signify info, how processors work, a whole lot of stuff that is fairly steady at this level.
But a whole lot of different issues are altering. I might say these are societal issues. But additionally, to some extent, know-how is altering too. For instance, the graceful exponential progress of Moore’s Law not applies to processor speeds. They’re not getting quicker. Instead of getting quicker and quicker, they’re getting wider and wider. You get extra processors, and that results in some attention-grabbing issues.
Wireless is evolving. I seemed on the part I had written on cell telephones, and I noticed it is extremely dusty. 3G is falling off one finish, and 5G is changing into extra actual. I feel there’s nonetheless a good quantity of hype, however that is one thing which has actually developed.
And then, in fact, the societal facet. This unimaginable variety of advances and threats and dangers and so forth, on the Internet: privateness, surveillance by authorities and industrial pursuits, packing numerous levels of sophistication. Ransomware is without doubt one of the manifestations of that.
I had for a very long time been utilizing JavaScript as a programming language simply to elucidate what programming was. And I made a decision that was too slim and perhaps off-target a bit. So I added principally equal materials on Python. So now there’s some stuff on JavaScript, and there is additionally some on Python. And a part of the reason being Python is a language for something involving information science.
And the opposite factor is that you may now use Python on the internet; you do not have to put in something. In class, I’ve been utilizing Google’s Colab, which is principally Jupyter Notebook in disguise. That has labored remarkably properly, and I’m completely happy to have added the Python half.
I added a chapter on synthetic intelligence (AI)/machine studying/pure language processing. Some of that is historical past, a few of it’s “what are the basic ideas” and what are you able to do with these issues. But additionally, what cannot you do, and what are the attention-grabbing issues like intrinsic bias, or the very fact you are placing in numbers and properties you do not know and the algorithm would not let you know what the which means of the reply is. There’s a whole lot of room for skepticism about AI.
[ Get the cheat sheet: AI glossary ]
I additionally assume rather a lot about privateness and safety, form of “self-defense” sorts of issues. You know, be careful for social networks. I completed An Ugly Truth: Inside Facebook’s Battle for Domination, the e book about Facebook and Zuckerberg. That confirms my perception that I used to be clever by no means to make use of Facebook.
So the e book has extra in it about defenses you would possibly use, ideas to make use of DuckDuckGo as an alternative of Google, or for instance, use Tor.
And extra broadly, the march of know-how. For instance, 5 – 6 years in the past, laptops had rotating equipment for disks, and now they’ve solid-state disks. Those have totally different units of properties. It’s not deep, but it surely’s an attention-grabbing change. I already talked about a number of cores in CPUs and 5G. In the e book, I additionally speak about these sorts of technical adjustments in addition to societal adjustments.
What ought to individuals take away from studying the e book?
An understanding of computing and communications and the way these work. And greater than purely superficial, so one layer beneath the floor, but in addition some recommendation on learn how to handle your digital life. Because all of us are utilizing it.
We already talked about if of us can perceive how a technical system works and the way would possibly various things work. Another factor that I attempt to stress is tradeoffs; that you do not get one thing for nothing. There’s no free lunch. For instance, you get these fantastic free companies from corporations like Google, Facebook, and so forth. But you pay for that by revealing an terrible lot of non-public details about your self. That’s the tradeoff there.
A extra technical tradeoff comes up afterward about cryptography. If you may have robust cryptography, that is going to assist the dangerous guys in addition to the nice guys. If you may have weak cryptography, that is going to harm the nice guys, however the dangerous guys aren’t going to make use of it anyhow. So that is a tradeoff sort of factor.
Broadly, know-how is a two-edged sword. For probably the most half, it has been good for us, however there have been loads of instances when it isn’t been good. And how do you maximize good and decrease the not-so-good?
Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security, Second Edition explains how laptop {hardware}, software program, networks, and methods work. It contains sufficient element that you may perceive how these methods work, it doesn’t matter what your technical background. The social, political, and authorized points that new know-how creates are mentioned as properly, so you possibly can perceive the tough points we face and recognize the tradeoffs that must be made to resolve them.
Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security, Second Edition is printed by Princeton University Press, available at Amazon and different booksellers in hardback, paperback, and e-book.