| 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. |