summaryrefslogtreecommitdiffstats
path: root/FAQ.txt
blob: 9e0021f95e5247472e5c1630a08d3c13fb185be4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
1.	OK, I have downloaded this stuff.  What do I do now?

	A.	First, install the Steel City Comic font from
		fonts/steel-city-comic.regular.ttf. On most modern
		Linux systems, this can be done easily from your
		desktop environment, or by copying the file to the
		~/.local/share/fonts directory. You may need to run
		"fc-cache" to rebuild your font cache.

		Type "make" from the top-level directory.  If all goes
		well, this will produce a file named "perfbook.pdf",
		which prints two virtual pages per physical page.

		See FAQ-BUILD.txt for other Q's and A's related to
		build issues.

2.	Why the heck did you use this strange-looking text-based
	ca. 1980s typesetting package instead of something more
	modern, like OpenOffice?

	A.	Although latex takes a bit of getting used to, its
		automatic handling of bibliographies, tables of contents,
		figures, and tables is extremely useful for large documents.
		In addition, its text-based nature is much more compatible
		with modern source-code-control systems such as "git".

		Finally, the more-modern WYSIWYG text formatters tend
		to get a bit cranky when working with hundreds-of-pages
		documents.

3.	Where can I purchase a hardcopy of this book?

	A.	You can use any of a number of web-based printing
		services, for but one example, lulu.com.  Images suitable
		for cover art may be found in CoverFront.jpg and
		CoverBack.jpg in the cartoons directory.

		In addition, edition-level releases will be made more
		readily available in printed form.

		Finally, Chinese-language hardcopy is available, as
		called out in this blog post:

		https://paulmck.livejournal.com/47651.html

4.	This book doesn't mention my favorite parallel-programming
	tools, languages, and algorithms.  Plus its Makefile and
	Latex formatting are imperfect.  What is up with that?

	A.	Please see the following question.

5.	Can I contribute?

	A.	Of course!!!  The contribution process is similar to that
		of the Linux kernel and of the Samba project.  See the
		Documentation/SubmittingPatches file in a Linux source tree.
		The email list for discussion and review is
		perfbook@vger.kernel.org.

		Please put a "Signed-off-by:" line in your patches,
		for an example see: http://lkml.org/lkml/2007/1/15/219.

		This "Signed-off-by:" line has a very specific meaning as
		follows:

		---------------------------------------------------------

		By making a contribution to this project, I certify that:

		1.	The contribution was created in whole or in part
			by me and I have the right to submit it under
			the open source license indicated in the file; or

		2.	The contribution is based upon previous work
			that, to the best of my knowledge, is covered
			under an appropriate open source License and I
			have the right under that license to submit that
			work with modifications, whether created in whole
			or in part by me, under the same open source
			license (unless I am permitted to submit under
			a different license), as indicated in the file; or

		3.	The contribution was provided directly to me by
			some other person who certified (1), (2) or (3)
			and I have not modified it.

		4.	I understand and agree that this project and the
			contribution are public and that a record of the
			contribution (including all personal information
			I submit with it, including my sign-off) is
			maintained indefinitely and may be redistributed
			consistent with this project or the open source
			license(s) involved.

		---------------------------------------------------------

		This is similar to the DCO used for the Linux kernel,
		with the addition of #4.  This says that you wrote
		the contribution yourself, as opposed to having (say)
		copied it from somewhere.  If multiple people authored
		a contribution, each should have a "Signed-off-by:" line.

6.	May I have permission to translate this book to my native
	language?

	A.	Of course!  In any case, this permission is implicitly
		granted by the choice of the Creative Commons
		Attribution-Share Alike 3.0 United States license for
		the text and GPL for the code.

		Please keep in mind that all translations must preserve
		the licenses.

		Yang Lu (luyang.co@gmail.com) and Zhouyi Zhou
		(zhouzhouyi@gmail.com) are translating the second edition
		to Chinese.  Please contact them to contribute to their
		great work.

		People who have worked on previous Chinese translations
		include: 谢宝友(xie.baoyou172958@zte.com.cn,scxby@163.com),
		鲁阳(luyang.co@gmail.com), 陈渝(wilbur512@gmail.com),
		Cheedoong Drung (cn-boy@china.com.cn), and 王贺涛
		<wanghetaop@163.com>.

		See http://code.taobao.org/p/perfbook/src/ for more
		information on Cheedoong Drung's and 王贺涛's effort.
		For a PDF of the translation by 谢宝友, 鲁阳, and 陈渝,
		please see:

		http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook-cn.2011.10.18a.pdf

		Motohiro Kanda has a Japanese translation of Chapters 1-16
		and Appendices A-D and F based on the 2014 print edition,
		but with the "Parallel Real-Time Computing" and "Axiomatic
		Approaches" sections taken from later editions:

		https://sites.google.com/view/kandamotohiro2/perfbook

		SeongJae Park has Korean translations of the first two editions
		of this book.  The translation of the first edition contains
		some of later-first edition changes, though[*]:

		https://github.com/sjp38/perfbook-ko_KR

		[*] Refer to 'Translation Strategy and Editions' section of
		https://github.com/sjp38/perfbook-ko_KR-pdf/blob/master/README

7.	I am working on a translation.  What do I need to do to get my
	name of the list in #6 above?

	A.	Send at least one chapter of your translated work
		in machine-readable form, preferably PDF, to the
		email list called above.

8.	May I please have permission to sell hardcopies of my translated
	version of this book?

	A.	Yes, in fact, you already have permission, thanks to the
		Creative Commons and GPL licenses in use.  I do request
		that you send me one copy of the translated work
		(hardcopy if available), but that is a request made
		from professional courtesy, and is not in any way a
		requirement for the permission that you already have
		under the Creative Commons and GPL licenses.

9.	I hate Quick Quizzes!!!  Could you please get rid of them?

	A.	Quite a few people like them a lot, so they will be
		staying.  However, you can easily produce a copy of the
		book that hides the quiz part of Quick Quizzes in the
		text by "make nq".

		If the resulting perfbook-nq.pdf does not satisfy you,
		you can edit the Makefile and qqz.sty files in the
		top-level directory as you like.

		One approach is to make the "\QuickQuiz" command in
		qqz.sty be a no-op and to add line to the Makefile that
		transforms "perfbook_flat.tex" by removing the Quick
		Quizzes, each of which starts with the line "\QuickQuiz{}"
		and ends with the line "} \QuickQuizEnd".

		This transformation should happen after the invocation
		of "utilities/extractqqz.sh" in the "perfbook_flat.tex"
		Makefile rule.	This would remove the inlined Quick
		Quizzes from the running text, but retain the chapter
		containing the answers.  It should be possible to move
		each chapter's Quick Quizzes to the end of that chapter,
		but that would require more work and is left as an
		exercise to the reader.

		It is possible to move the quizzes to the ends of the
		chapters, with the answers still at the end of the book,
		or any of a number of other transformations.  "Just a
		small matter of scripting."

		More seriously, one of the advantages of making a book
		available under Creative Commons and GPL is that it
		enables similar transformations and remixes.  That said,
		one of the advantages of the current form of the Quick
		Quizzes is that this promotes faster and better learning.

10.	What is the difference between a "release" and an "edition"?

	A.	A release is a snapshot provided for readers who would
		like something reasonably up to date, but who do not wish
		to install all the pieces of LaTeX required to build one
		themselves.  Every few years, there will be a special
		release with more-consistent look and feel, and with
		fewer (and preferably no) sections under construction,
		and these special releases are called "editions".  Also,
		as noted earlier, each edition has a version that may
		be more easily printed.