By Developers, For Developers
| PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
|---|---|---|---|---|---|
| n/a | SUGGEST | In discussing anti patterns, you note that library or package dependencies can lead to difficulties. Agreed. Or company has an explicit policy to minimize code dependencies for just this reason. Specifically, a dependency must provide enough non-native language value to justify the downsides of using it. Sometimes simple wrappers extend non-native language capabilities enough without resorting to an eternal library. I wonder if specifically calling out that minimizing code dependencies is an effective pattern? Apologies if you’ve already done so and I’ve missed it. A very useful book, btw, thank you most kindly for writing and revising it. | |||
| 5 | ERROR | In the epub and mobi versions, the images are ony black and white outline. It is not possible to recognize the content of the image. Within the pdf version, all pictures look fine. | 2017-11-29 | ||
| 2711 | TYPO | Diagrams do not render properly in the mobi format (for kindle readers) : most shapes are black boxes. | 2017-11-29 | ||
| 1-400 | ERROR | All images are black boxes in epub version. | 2017-11-29 | ||
| 187 | 172 | ERROR | There seems to be the mismatch between IP addresses on the figure describing working of a DNS round-robin mechanism. In the figure the DNS server first returns the address “10.1.1.142”, but the following GET request goes to “10.1.1.141”. Next, the DNS server returns the address “10.1.1.143”, but the request then goes to “10.1.1.142”. | ||
| 27 | SUGGEST | Even in latest version (5), the quality of images in pdf is vastly better then in epub: | 2017-11-29 | ||
| 12 | TYPO | it was can be dangerous because calls cannot be made to time out. | |||
| 68 | TYPO | Towards the end of paragraph 3: | |||
| 171 | 162 | TYPO | In the box titled “Naming Configuration Properties”, third sentence, you refer to “autumnal solstice”. In the autumn (and spring as well) you have equinoxes, not solstices. | ||
| 61 | TYPO | At the beginning of the third paragraph: Nearly all attacks vector in against the applications rather than the network Should probably be: Nearly all attacks vector is against the applications rather than the network | |||
| 231 | TYPO | Under “The Principle of Least Privilege”, phrase “This never includes running as root…” should likely be “This includes never running as root…” (i.e. word order). | |||
| 263 | TYPO | At bottom of pg 263: “Postel’s robustness principle”. This is capitalized as “Postel’s Robustness Principle” later in the book. | |||
| 332 | SUGGEST | On the .mobi version, the past from Nora Jones, Introducing Chaos to Your Neighbors, is not indented as on the PDF version (at least when viewed on a Kindle), making hard to know where it ends. It may benefit from being displayed in a boxed section. | |||
| 33 | ERROR | “the database server” in the sentence “… because the driver will attempt to tell the database server to release resources associated with that statement.” should be “the CF server”. Because the JDBC driver was running on the CF server. It could not tell the database which was running another server. | |||
| 35 | TYPO | There is no “retailer” in Chapter 1 as to the sentence “The retailer from Chapter 1, Living in Production, on page 1, …” | |||
| 307 | TYPO | Third paragraph, “That include configuration parameters.” should be “That includes configuration parameters.” | |||
| 318 | TYPO | Third paragraph, “just like dereferencing the point” should probably be “just like dereferencing the pointer”. | |||
| 51 | TYPO | “address routing protocol (ARP) ” should be “address resolution protocol (ARP)”. | |||
| 54 | ERROR | Ch4>Users>Sockets: Discussion of ephemeral ports for inbound connections is incorrect, thus so are the given socket limits. A client selects an ephemeral socket for outbound connections. A server does not use one for inbound connections, except for certain protocols such as ftp. A connection is uniquely identified by the tuple {proto,src_ip,src_port,dest_ip,dest_port}, so a single listening {dest_ip,dest_port} can track, subject to kernel param limits, an unlimited number of concurrent clients. Where a single client such as a proxy server is opening a large number of connections to the same server host, the pairwise limit per IP is typically from the proxy’s ephemeral port range, not the server. | |||
| 290 | 286 | ERROR | The sentence " Since the site used only cookies for session tracking, not URL rewriting, all of our load test scripts used cookies." should read “Since the web framework used cookies for session tracking, not URL rewriting, all of our load test scripts used cookies. In other words, we tested a different configuration than we deployed to production.” | ||
| 39 | ERROR | “The outermost frame is an Ethernet packet. The Ethernet packet contains an IP packet, which in turn contains a TCP packet. Finally, the payload of the TCP packet is an HTTP request.” Isn’t it the other way round? The Ethernet packet (which is in the data link layer) is contained by an IP packet, which is contained by a TCP packet. Also, “the payload of the TCP packet is an HTTP request” looks the other way round, but I’m not 100% sure of this. | |||
| 33 | ERROR | Reported by David Eisner, Page 33: “The feature common to all of these is that the connections outnumber the services. A butterfly style has 2N connections, a spiderweb might have up to 2^N, and yours falls somewhere in between.” Should read “a spiderweb might have up to N^2…” |