Giter Site home page Giter Site logo

book's People

Contributors

anderson-a avatar benjaminlevy avatar coopervandiver avatar drbruced12 avatar dymil avatar functor avatar jhh67 avatar jncraton avatar jpellman avatar junhaoim avatar karaketir16 avatar klinvill avatar liffiton avatar lijunkang12 avatar llpeterson avatar miluchen avatar mmynk avatar nathansit avatar pdelong avatar suguanyang avatar takashiidobe avatar teone avatar waheedhafez avatar y1hao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

book's Issues

Checksum code missing bit flip

The checksum code (in the error detection section of chapter 2) in the old printed versions had a bit flip using "~" in the return. I believe flipping the bits at the end is the correct behavior. This is missing in the current online version. Is this an intentional change?

make fails on macOS 10.13.6

When trying to run make to build a web version of the book, the following error is generated:


runTopLevelLifecycles → 2 ▄ ╢█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████░░░░░╟
internal/child_process.js:323
    throw errnoException(err, 'spawn');
    ^

Error: spawn E2BIG
    at _errnoException (util.js:992:11)
    at ChildProcess.spawn (internal/child_process.js:323:11)
    at exports.spawn (child_process.js:502:9)
    at spawn (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/lib/utils/spawn.js:7:13)
    at runCmd_ (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/lib/utils/lifecycle.js:237:14)
    at runCmd (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/lib/utils/lifecycle.js:196:5)
    at runPackageLifecycle (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/lib/utils/lifecycle.js:160:3)
    at Array.<anonymous> (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/node_modules/slide/lib/bind-actor.js:15:8)
    at LOOP (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/node_modules/slide/lib/chain.js:15:14)
    at chain (/Users/mohammedalameen/.gitbook/versions/3.2.3/node_modules/npm/node_modules/slide/lib/chain.js:20:5)
make: *** [setup] Error 1

Chapter 3.4 minor typo

For example, we might decide that the maximum number of hops to get across a certain network is never going to be more than 16, and so we could pick 16 as the value that represents infinity. This at least bounds the amount of time that it takes to count to infinity. Of course, it could also present a problem if our network grew to a point where some nodes were separated by more than 16 hops.

I think the value that represents infinity should be 17 as in the first and last sentences it indicates the 16 is an acceptable number of hops.

endianness is defined in reverse

In data/presentation.rst ch7.1, we have this:

To make matters worse, on some machines integers are represented in big-endian form (the most significant bit of a word is in the byte with the highest address), while on other machines integers are represented in little-endian form (the most significant bit is in the byte with the lowest address).

This is phrased in reverse right? The way I understand endianness from OS, and what I just now had to reconfirm/review, big-endian means most significant byte is sent/stored first, and little-endian means least significant byte is sent/stored first, where "stored first" means the lower address, and "sent first" means first outgoing byte in a stream.

Errors while building the code in Section 1.4

Hi, I just start to read this book. When it comes to section 1.4 Software, the author provides two example code snippets for socket server and client. They are written in C and don't work unless I add another 3 lines:

#include <stdlib.h> // for exit
#include <unistd.h> // for close
#include <string.h> // for strlen

I am a novice in C Programming so I don't know whether it's my problem or the author just neglect these 3 libraries. If the latter is the real reason, it seems a little bit confused for a beginner.

BTW, I know this book is more about architecture & system approach in theory and I really like them. However, maybe a guide to run the codes mentioned above is also useful, such as:

gcc server.c -o server.out
./server.out

and

gcc client.c -o client.out
./client.out localhost

Typo in Section 3.2

Hello, I found a typo in the sentence:

But today most networks deploy Ethernet in a point-to-point configuration, with these links interconneted by L2 switches to form a switched Ethernet.

where the word "interconneted" is misspelled.

I hope this is the right place to report it (saw another issue created for a typo), otherwise, sorry for posting it here.

HTTP discussion in Applications Chapter needs update

While HTTP/3 is mentioned in the section on QUIC in e2e chapter, there is no discussion of it in the Applications chapter, which only gets as far as HTTP/2. This should be updated with a pointer back to the QUIC section.

Problem with wording in sentence in 1.1

In section 1.1 Applications, the second to last paragraph contains this sentence:

"Later in the book we will develop a more complete taxonomy of application types to help guide our discussion of key design decisions as we seek to build, operate, and use networks that such a wide range of applications."

The last part of the sentence does not make sense, I'm not sure what it's meant to say.

Error in HTTP GET request example

In Section 9.1.2, the discussion of HTTP get requests makes a distinction between "absolute URLs" and "relative identifiers" that I believe is not quite correct. In the HTTP 1.1 RFC, the request target can be an absolute URL, yes, but the alternative is not a relative path, it's the "origin form" which explicitly must be an absolute path.

So I believe the GET request example should be corrected as:

GET /index.html HTTP/1.1
Host: www.cs.princeton.edu

Typo on page 21

In the first paragraph of 1.2.5 "Network management has historically been
a human-intensive aspect of networking, and while it is ulikely we’ll get people entirely out of the loop, it is
increasingly being addressed by automation and self-healing designs."
Should be changed to unlikely

Typo In Section 3.3.6

I wanted to address a typo I found in the second paragraph of Section 3.3.6 which reads:

"One simple way to map an IP address into a physical network address is to encode a host’s physical address in the host part of its IP address. For example, a host with physical address 00100001 01001001 (which has the decimal value 33 in the upper byte and 81 in the lower byte) might be given the IP address 128.96.33.81."

I believe there is a typo in the binary representation of the physical address as "01001001" would be 73, but the rest of the sentence indicates this was meant to be 81 (01010001).

Section_3-3-6_Typo

I was unsure of the best place to bring this to your attention, so I apologize if I should not have submitted it here.

does this project target python 2 only?

Hi there,

first of all, I am thoroughly enjoying the book. Absolutely great work guys!

I'll get straight to the point: Is this project supposed to work with python 3? because it doesn't on my machine (detailed explanation below). However it works with a python2-based virtualenv

Now, if the project it's a python 2 only project, would you be open to:

  • adding a note in the README, in the Build the Book section?
  • maybe even better, force the Makefile to create a python2-based virtualenv, even on machines that have python at version 3.

I can create a draft PR if you are interested.

Explanation of breakage under python 3

I cloned the repo and ran:

# this is outside the virtualenv
# it is, however, what `virtualenv` will pick up 
# by default when creating `doc_venv`
python --version
# Python 3.10.4

make html
# ... redacted for brevity ... I can provide entire output if needed
# source ./doc_venv/bin/activate ;\
# set -u ;\
# sphinx-build -M html "." "_build"
# Running Sphinx v1.8.6

# Extension error:
# Could not import extension sphinx.builders.latex (exception: cannot import name 'contextfunction' from 'jinja2' (/home/vise890/code/systemsapproach/book_issue/doc_venv/lib/python3.10/site-packages/jinja2/__init__.py))
# make: *** [Makefile:53: html] Error 2

making it work

So I tried to force python2 for the venv creation:

# Create the virtualenv with all the tools installed
doc_venv:
	virtualenv --python=$(shell which python2) doc_venv ;\
	source ./doc_venv/bin/activate ;\
	pip install livereload ;\
	pip install -r requirements.txt

Then tried building, and it seems to all work 🎉

Error with sphinx and docutils building the book

It appears sphinx and docutils have an incompatibility at the moment. Solution was found here:

readthedocs/readthedocs.org#8616 (comment)

I installed docutils 0.18b1 and this resolved my issue.

make epub
source ./doc_venv/bin/activate ;
set -u ;
sphinx-build -M epub "." "_build"
Running Sphinx v1.8.5
making output directory...
building [mo]: targets for 0 po files that are out of date
building [epub]: targets for 76 source files that are out of date
updating environment: 76 added, 0 changed, 0 removed
reading sources... [ 3%] applications/infrastructure
Exception occurred:
File "~/systemsapproach/book/doc_venv/lib/python3.8/site-packages/sphinx/domains/std.py", line 638, in note_labels
n = node.traverse(addnodes.toctree)[0]
TypeError: 'generator' object is not subscriptable
The full traceback has been saved in /tmp/sphinx-err-lr1it0br.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at https://github.com/sphinx-doc/sphinx/issues. Thanks!
make: *** [Makefile:53: epub] Error 2

(Thanks Jeremy for the assist in figuring this out!)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.