Free books in the net
Dated: August 2001
(From H. Hernán Moraldo's very old website)
Here you'll find the best books I've seen that can be downloaded legally for free.
I can't repeat it enough times: the following links are all of legal downloads of books. No warez / pirate downloads will be here EVER. At last, thanks to all the authors and editors that let us read their books for free, and thanks a lot to all those people that contributed to the list, by sending me links and information.
Game development and graphic programming books
- Michael Abrash's Graphics Programming Black Book: With foreword by John Carmack (!), it's a real gift. This book talks specially about optimization, zen coding and everything a graphic programmer should know about. You should have it. And Abrash is a very good writter (and a giant coder!), he does a great work. Download it from http://public.planetmirror.com/pub/gpbb/, or from http://blues.eurovia.es/mirrors/blackbook/ (if you can't find this one there, try with http://www.gorkhali.com/kamal/download.htm#13). If you know any mirrors of this book, please let me know.
- Halcyon days: interviews with classic computer and video game developers: Written by James Hague, with foreword by John Romero (!), this book is a real gift for all the game developers, as it gives an insight to the thoughts and experience of the classic game developers. Download it from http://www.dadgum.com/halcyon/index.html.
- So you want to be a Computer Game Developer?: Written by Diana Gruber, it's a very recommended reading, both for beginners in the game development world and for experienced developers wanting to join the industry. In eight chapters, Diana explains how one can start making games, and later how those games can be distributed and commercialized. Download it from http://www.makegames.com/contents.html.
- Design and Architecture of a Portable and Extensible Multiplayer 3D Game Engine: Written by Markus Hadwiger, it isn't actually a book but a thesis. Who cares, it's anyway very extense, interesting and useful. This set of documents describes the way Parsec was designed, how it was programmed, and gives a lot of details about the way they managed the work on this interesting 3D project. Another worthy document to keep in the HD. Download it from ftp://www.parsec.org/pub/parsec_thesis_pdf.zip, while Parsec Proyect's website is http://www.parsec.org/ (featuring some other cool documents).
- The Art of Computer Game Design: Written by Chris Crawford, it's an entire book about games design, and with no doubt a very useful lecture to everybody wanting to be a successful game developer. Download it (and other very interesting papers) from http://www.erasmatazz.com/Library.html.
- OpenGL Red Book: This books is actually called "The Official Guide to Learning OpenGL", and is the bible for the OpenGL programmer, it has almost everything you have to know to use that API. Read it online in http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG/, or download it all in a big PDF from http://www.gamedev.net/download/redbook.pdf.
- Programming Linux Games: Copyrighted by Loki Games (and mainly a work of John Hall, if I'm not wrong), this book tells everything that needs to be known for making games in Linux. A very interesting book indeed, from the creators of SDL. Download it from http://www.overcode.net/~overcode/writing/plg.tar.bz2.
- The getting started guide to game development FAQ: Maybe this document by Benjamin Sawyer isn't a real book (it's only 47 pages long), but I suppose it's interesting and large enough as to be named here. It explains with full detail what the first steps of beginning game developers should be, even featuring some words in the subject, from Humongous Entertainment's Ron Gilbert, and some advice for shareware commercialization. Download it from http://www.psyon.org/archive/e-books/programming/game/game_development.zip.
- So you want to be a pixel artist?: Written by Tsugumo, it's actually a tutorial, but it's so big that it could rather be considered a book yet in production. It gives a step by step introduction to pixel art, that is, to the creation of graphics adequate for 2d games using pixel by pixel techniques. If you are interested in making the graphics for your own games, this article is a good place where to start. Read it at http://pixeltutorial.cjb.net/.
- Creating a Game: Written by Paul Eres, it's a book about game development, presented in a curious format: as a series of interconnected articles. Though it mostly covers the creation of RPG games with a software called Ohrrpgce, its content is also applicable to any other genres and tools, specially when dealing with general game design and the making of good art. Download it from http://18.104.22.168/ohrmonthly/issue6/0701designa.html.
- Action Arcade Adventure Set: Written by Diana Gruber, it's an interesting book for beginners in the games development world. It explains step by step the way to create a 2d arcade, and it isn't so outdated (1994, still readable). Download it from http://www.makegames.com/sidescroller/.
- The Complete Wargames Handbook: Written by James F. Dunnigan, it's an entire book in the subject of wargames and its development (including some sections about computer wargames as well). Download it from http://www.hyw.com/Books/WargamesHandbook/Contents.htm.
C / C++ books
- Thinking in C++: Written by Bruce Eckel (there is more from him below!), it's about object oriented programming in C++. Volume one is about C++ itself, Volume two is about the Standard C++ Library (including STL) and the advanced topics. A very cool introduction to OOP for C programmers, and an incredible useful book to consult, for the advanced programmer. Really worth. Download it from http://www.mindview.net/Books/Books/TICPP/ThinkingInCPP2e.html. All the Bruce Eckel books can be found at http://www.mindview.net/Books/.
- Introduction to Object-Oriented Programming Using C++: Written by Peter Müller, this book is a very complete introduction to OOP in C++. Download it from .
- Optimizing C++: Written by Steve Heller, this book focus specially in what its title says: optimization in C++. Though it's not as ground breaking as Abrash's Black Book, it's worthy reading for some interesting algorithms and techniques. Download it from http://www.steveheller.com/opt/.
- C++??: A Critique of C++ and Programming Language Trends from 1990s: Written by Ian Joyner, this book is a very detailed analysis of the biggest flaws of the most important language nowadays: C++. A very interesting document, specially for those who work developing new languages, as a way to avoid the mistakes that have already be made. Download it from http://www.progsoc.uts.edu.au/~geldridg/cpp/cppcv3.html.
- Thinking in Patterns: Another Java book from Bruce Eckel. This one, trying to go more in deep on the OO development. It's currently being done, but anyway you can got under construction versions for reading. Download it from http://www.mindview.net/Books/TIPatterns/.
- Thinking in Java: Written by Bruce Eckel, too. Another great programming book, this time about OOP with Java, going from the basics to the most advanced topics. Download it from http://www.planetpdf.com/mainpage.asp?WebPageID=314.
- Java Look and Feel Design Guidelines: Coming from Sun Microsystems, this book explains everything about how to create nice-looking GUIs, specially with Java. Download it from http://java.sun.com/products/jlf/ed1/dg/index.htm.
Language design and compiler construction
- Parsing Techniques - A Practical Guide: Written by Dick Grune and Ceriel J.H. Jacobs, it's a very interesting book about parsing, explaining all in an almost academic way. Download it from http://www.cs.vu.nl/~dick/PTAPG.html.
- Advanced Programming Language Design: Written by Raphael Finkel, it's a very cool book that studies the currently existing languages with the purpose of discovering what concepts they are based in, as a way to acquire the knowledge needed to create new (useful) languages. Download it from http://cseng.aw.com/book/related/0,3833,0805311912+20,00.html.
- Compiler Construction using Flex and Bison: Written by Anthony A. Aaby, it's an interesting book explaining step by step the way to program compilers that use Flex and Bison (including very detailed information about both tools). Download it from http://cs.wwc.edu/~aabyan/464/Book/.
- Haskell 98 Report: This is a very interesting book for those who like functional programming, and Haskell in particular. Download it from http://haskell.cs.yale.edu/onlinereport/.
- The Lambda Calculus: Its Syntax and Semantics: This book, authored by H. P. Barendregt, is a very complete text about lambda calculus, a gift for mathematician and programmers alike (but mostly for mathematical programmers!). Download it from http://www.andrew.cmu.edu/~cebrown/notes/barendregt.html.
Books on mathematics
- Numerical Recipes: A real classic between the programming books. It explains every kind of mathematical algorithms, the way they works, how to code them. A real guidebook. Download the C version (original was about Fortran, it can also be downloaded somewhere there) from http://www.ulib.org/webRoot/Books/Numerical_Recipes/bookcpdf.html.
- Relativity: The Special and General Theory: Written by Albert Einstein, this is the book everybody is speaking about, even if not that much people has actually read it. Download it from http://www.ivorix.com/en/einstein/index.html.
- Gödel's Theorem: A small book exposing the KurtGödel's original essay "On formally undecidable propositions of principia mathematica and related systems", with the addition of a few sections introducing such text. Download it from .
- Linear Algebra: Written by Ivar Tammeraid, Jüri Majak, Seppo Pohjolainen and Tero Luodeslampi, it's an entire book about Linear Algebra, real interesting. Download it from .
- Four-Space Visualization of 4D Objects: This is a very interesting thesis by Steven Richard Hollasch, explaining the way 4d visualization and projection to 2d works. Download it from http://research.microsoft.com/~hollasch/thesis/.
- Hacker Crackdown - Law and disorder in the electronic frontier: Written by Bruce Sterling, it's a real classic. If it wasn't actual history, it would be a thriller. This book describes what happened in the hacker crackdown, the Sun Devil operation, and how it all started (and what it turned into) in the security world. Really interesting, a sight in our (programmers ones) origins. Download it from http://www.lysator.liu.se/etexts/hacker/.
- Free as in Freedom - Richard Stallman's Crusade for Free Software: Written by Sam Williams, it's a very recommended reading, relating the history of Richard Stallman in the way for free software. Download it from http://www.oreilly.com/openbook/freedom/index.html.
- Alt.Religion.Kibology "Best Of" Books: Here is a selection of all the messages that were posted at ARK (Kibo's Undernet newsgroup), during a couple of years. It's really worthy reading if you understand (and like) Kibo's (hilarious!) humour... if you do, laughing is granted!!! Download them from http://www.kibo.com/kiboarch/. Kibo's URL is http://www.kibo.com/.
- The Art of Assembly Language Programming: Written by Randall Hyde, it's the assembly bible, a real gift. Perfect for the beginner, essential for everybody else. Currently there are two different versions, the old one, speaking about DOS programming (actually the best of both), and the Win32 edition. Download them from http://webster.cs.ucr.edu/ (direct link to the DOS version: http://webster.cs.ucr.edu/Page_asm/ArtofAssembly/0_HardCopy.html).
- Introduction to genetic algorithms: It's rather a paper than a book (as it's somewhat short), and it explains in an introductory way, how genetic algorithms are used to solve hard programming problems. Download it from http://cs.felk.cvut.cz/~xobitko/ga/.
- Programming in Lua: Written by Roberto Ierusalimschy, it's an entire book about the programming language Lua, mostly used for scripting any kind of software. Download it and many other papers on Lua from http://www.lua.org/docs.html.
- Structure and Interpretation of Computer Programs: Written by Hal Abelson, Jerry Sussman and Julie Sussman, this book is the very famous "Wizard Book", a computer science text used in the introductory courses at MIT. Download it from http://mitpress.mit.edu/sicp/full-text/book/book.html.
Books with no review (yet)
There are other books I hadn't readed too much of them as to give you a review. Anyway, here you have the links (I'll try to add their review soon):
Other collections of links to free books
After uploading this page, some people pointed me that there are other sites with links to free books. Some of them are:
- Free Tech Books: this is a big listing of technical free books, updated very often and featuring reviews of all the books. It can be found at http://www.tcfb.com/freetechbooks/index.html.
- Softpanorama: it's the Open Source Software Educational Society, a giant resource of materials (including tons of books), for educational use only. Highly impressing, it includes some very interesting books. It can be found at http://www.softpanorama.org/.
- Mathtools.Net: it's a technical computing portal, with more than 20,000 useful links to programming resources, not only books, but papers and lots of interesting information. This very impressing website can be found at http://www.mathtools.net/.
- Informit: featuring a giant list, with commentaries, placed at http://www.informit.com/ (click the Free Library button).
- Hogan Books database: a giant database of free books, with no commentaries but with search capabilities, placed at http://hoganbooks.com/freebook/webbooks.html (currently, it seems to be down).
- Faqsys' papers list: this one isn't a huge list of books, but features some very interesting ones you aren't going to get anywhere else. Its URL is http://www.neutralzone.org/home/faqsys/cates/papers.html.
All English Miscellaneous 2001