Typographical errors in books, papers, etc. that I have found through the years.

When there was an easy way of reporting typos, I did.

Some of these have since been fixed.

I also keep track of stories behind typos:

I also keep track of real-world mojibake, which are related to typos.

Advanced Topics in Term Rewriting

link (springer.com)

Author: Enno Ohlebusch

On page 65:

First, we show by contraction…

typo

should be:

First, we show by contradiction…

Automatic Sequences

link (uwaterloo.ca)

Authors: Jean-Paul Allouche, Jeffrey Shallit

errata (uwaterloo.ca)

Page 350: In Theorem 11.2.2, change the mention of u in the last line to s. (Brent[sic] Bostick, June 29 2011)

Beej’s Guide to Network Programming

link (beej.us)

Author: Brian “Beej Jorgensen” Hall

In chapter 7.7:

You should be now be able to do all those sends that failed, above.

should be:

You should now be able to do all those sends that failed, above.

In section 3.3:

(this due to #defines)

should be:

(this is due to #defines)

typo

The Best Writing on Mathematics 2020

link (princeton.edu)

Editor: Mircea Pitici

Author: Stan Wagon

On page 35:

We know that \(\frac{-mile}{kWh}\) and \(\frac{kWh}{-mile}\) are mathematically identical…

should be:

We know that \(\frac{-mile}{kWh}\) and \(\frac{mile}{-kWh}\) are mathematically identical…

A Course in p-adic Analysis

link (springer.com)

Author: Alain M. Robert

In Table of Contents, Section 5 Differentiation:

4. The Exponentiel and Logarithm

should be:

4. The Exponential and Logarithm

Computer Network Time Synchronization: the Network Time Protocol on Earth and in Space, Second Edition

link (udel.edu)

Author: David L. Mills

On page 18:

In datestamp format, era 0 represents the years from the beginning in 1900 to some time in 2036 when era 1 begins, while era −1 represents the years from 1900 to some time in 1854 when era −2 ended.

But era -2 ended in 1763. NTP eras are 136 years.

It is possible that the author mistakenly calculated 1990 - 136 = 1854 instead of the correct 1900 - 136 = 1763.

Note: The Errata page for the book is blank.

On the boundaries of solvability and unsolvability in tag systems. Theoretical and Experimental Results.

link (arxiv.org)

Author: Liesbeth De Mol

Section 3 opens with a quote from Marvin Minsky:

Post found this (00, 1101) problem “intractable”, and so did I even with the help of a com- puter. Of course, unless one has a theory, one cannot expect much help from a computer (unless it has a theory) except for clerical aid in studying examples; but if the reader tries to study the behaviour of 100100100100100100100 without such aid, he will be sorry.

Marvin Minsky, 1967.

but the correct quote is:

Post found this (00, 1101) problem “intractable”, and so did I even with the help of a com- puter. Of course, unless one has a theory, one cannot expect much help from a computer (unless it has a theory) except for clerical aid in studying examples; but if the reader tries to study the behavior of 100100100100100100 without such aid, he will be sorry.

Marvin Minsky, 1967.

minsky

OpenGL ES 2 for Android

link (pragprog.com)

Author: Kevin Brothaler

errata (archive.org)

PDF page: 211

In the last sentence of the paragraph:
“To
do this, we can take the difference between the current system time and
globalStartTime, and since System.nanoTime() returns the time in nanoseconds, we’ll
just need to divide the difference by 1 trillion to convert this into seconds”

But it should say 1 billion, not 1 trillion.–Brenton Bostick

Term Rewriting and All That

link (cambridge.org)

Authors: Franz Baader, Tobias Nipkow

errata (tum.de)

On page 114, in section (1) of the proof of Kruskal’s Tree Theorem, the sentence:

Otherwise, \(t_i = f_i(s^{(i)}_1. \dotsc, s^{(i)}_{n_i})\) for a function symbol \(f_i \in \Sigma^{(n_i)}\) and terms \(s^{(i)}_1. \dotsc, s^{(i)}_{n}\), and we define \(S_i := \{ s^{(i)}_1. \dotsc, s^{(i)}_{n} \}\).

should be:

Otherwise, \(t_i = f_i(s^{(i)}_1. \dotsc, s^{(i)}_{n_i})\) for a function symbol \(f_i \in \Sigma^{(n_i)}\) and terms \(s^{(i)}_1. \dotsc, s^{(i)}_{n_i}\), and we define \(S_i := \{ s^{(i)}_1. \dotsc, s^{(i)}_{n_i} \}\).

The occurrences of \(n\) need subscripts, i.e., \(n_i\).

Term Rewriting Systems

link (cambridge.org)

Author: Terese (Marc Bezem, Jan Willem Klop, and Roel de Vrijer, eds.)

errata (archive.org)

On page 209, the first full paragraph starts with the sentence:

Between total termination and simple termination one has the notion of non-self-embeddingness from Plaisted [1985b]…

should be:

Between termination and simple termination one has the notion of non-self-embeddingness from Plaisted [1985b]…

Non-self-embeddingness is between simple termination and termination, not total termination and simple termination.

On page 224, on the (1) line for the definition, it says:

\(s_i = t\)or …

typo

but there is no space between the \(t\) and or.

On page 251, the paragraph starting Assume that…:

…we conclude that \(x^{\sigma_i}\) contains one more f-symbol then \(x^{\sigma_{i+1}}\)….

typo

should be:

…we conclude that \(x^{\sigma_i}\) contains one more f-symbol than \(x^{\sigma_{i+1}}\)….

The Theory of Well-Quasi-Ordering: A Frequently Discovered Concept

link (semanticscholar.org)

Author: Joseph B. Kruskal

On page 300, paragraph 2 sentence 2:

sequence of positive interges

should be:

sequence of positive integers

Paragraph 2 sentence 5:

Using the qo based on divisibility, tthis

should be:

Using the qo based on divisibility, this

On page 302, previous paragraph last sentence:

Bqo is stonger …

should be:

Bqo is stronger …

Writing a Compiler in Go

Author: Thorsten Ball

On page 267 of the PDF, there is:

…besides the fact that countDown so simplified that it never stops…

but should be:

…besides the fact that countDown is so simplified that it never stops…

Zero Configuration Networking: The Definitive Guide

link (oreilly.com)

Authors: Daniel H Steinberg, Stuart Cheshire

errata (oreilly.com)

Version: Printed
Location: Page 53, 1st paragraph
Description: connec[t should be connect
Submitted by: Brenton Bostick
Date Submitted: Aug 04, 2021

Zero Trust Networks

Authors: Eval Gilman & Doug Barth

On page ix, there is strange spacing with We’d.

On page 190, there is:

The following case study is based on excerpts from those three articles, with permission from Google and :login;.

but should be:

The following case study is based on excerpts from those three articles, with permission from Google and ;login:.

wi-fi.org

Strange dates on https://www.wi-fi.org/

typo

makersfund.com

“Acquired” and “Aquired” on the same page at https://makersfund.com/

typo

Java documentation at oracle.com

Java Native Interface Specification Contents

Chapter 4: JNI Functions

Multiple pairs of GetPrimtiveArrayCritical and ReleasePrimitiveArrayCritical may be nested

should be:

Multiple pairs of GetPrimitiveArrayCritical and ReleasePrimitiveArrayCritical may be nested

typo

InetAddress

has is

should be:

is

typo

Occurs for many methods:

a boolean indicating if the address has is a multicast address of global scope, false if it is not of global scope or it is not a multicast address

a boolean indicating if the address has is a multicast address of node-local scope, false if it is not of node-local scope or it is not a multicast address

a boolean indicating if the address has is a multicast address of link-local scope, false if it is not of link-local scope or it is not a multicast address

a boolean indicating if the address has is a multicast address of site-local scope, false if it is not of site-local scope or it is not a multicast address

a boolean indicating if the address has is a multicast address of organization-local scope, false if it is not of organization-local scope or it is not a multicast address

Inet6Address

Returns the scoped interface, if this instance was created with with a scoped interface.

should be:

Returns the scoped interface, if this instance was created with a scoped interface.

typo

Android typos at developer.android.com

SoftApConfiguration

THe definition of security type OPEN.

should be:

The definition of security type OPEN.

typo

Wi-Fi Aware overview

The setup of Wi-Fi Aware data paths has been simiplified.

should be:

The setup of Wi-Fi Aware data paths has been simplified.

typo

ConnectivityManager connMgr.requestNetwork(myNetworkRequest, callback);

Not valid code.

typo

Context#startService(android.content.Intent)

in the Throws BackgroundServiceStartNotAllowedException section:

…BackgroundServiceStartNotAllowedException is thrown This excemption extends IllegalStateException…

should be:

…BackgroundServiceStartNotAllowedException is thrown. This exception extends IllegalStateException…

typo

WindowInsetsController

When the gesture navigation is enabled, the system gestures can be triggered regardless the visibility of system bars.

should be:

When the gesture navigation is enabled, the system gestures can be triggered regardless of the visibility of system bars.

typo

Android typos at cs.android.com

WifiAwareNetworkSpecifier.java

throw new IllegalStateException(
        "Port and transport protocol information can only "
                + "be specified on the Publisher device (which is the server");

should be:

throw new IllegalStateException(
        "Port and transport protocol information can only "
                + "be specified on the Publisher device (which is the server)");

typo

NetworkCapabilities.java

Indicates that this network has ability to support Bearer Independent Protol

should be:

Indicates that this network has ability to support Bearer Independent Protocol

typo

Android Bionic typos at android.googlesource.com

sys/select.h

New code should prefer poll() from instead for this reason,

should be:

New code should prefer poll() from poll.h instead for this reason,

typo

It is unclear whether this is an Android Bionic bug (fix the markup) or Android Studio bug (fix the rendering).

time.h

Returns a pointer to the first character not parsed, or null if no characters were parsed.

But this comment is incorrect. strftime does not return a pointer. It looks like the comment for strftime was a copy-and-paste from strptime.

typo

C++ typos at cplusplus.com

std::thread::id

For joinable threads, thread::get_id returns a unique value of this type that does not compare equal the one returned for any other joinable or non-joinable thread.

should be:

For joinable threads, thread::get_id returns a unique value of this type that does not compare equal to the one returned for any other joinable or non-joinable thread.

typo