blob: e63117af610f0a0b13b29f0ddbadcaf01f798d52 [file] [log] [blame]
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.
A project translating the book to Chinese is well underway,
and there are rumors of other translation efforts as well.
People who have worked on the 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>. Please contact them to contribute
to their good work.
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 started work on a Japanese translation:
https://sites.google.com/site/kandamotohiro/perfbook
SeongJae Park has started work on a Korean translation:
https://github.com/sjp38/perfbook-ko_KR
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 omits the Quick Quizzes by editing the Makefile
and qqz.sty files in the top-level directory.
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.