Think Python
An anonymous reader writes "In a neverending effort to spread the word about free quality online programming books, here is a Python programming book. 'How to Think Like a Computer Scientist: Learning With Python', by Allen B. Downey, Chris Meyers, and Jeffrey Elkner is a copylefted work available in multiple formats at Green Tea Press: HTML , PDF, LaTeX. Compliments of the online books what's new page."
This books has been translated to other programming languages (like C++ and Java)... so if Python is not for (it should be) you can read those too.
Another excellent free book for Python is Dive Into Python by Mark Pilgrim. It is available in HTML, PDF, Word 97, Windows Help, plain text, and XML formats.
This book has plenty of examples and pointers to further reading on each subject. It features good layout, use of colors, and typography which makes for easy reading and comprehension.
http://www.ibiblio.org/obp/thinkCS.php
I was actually quite surprised to find this article on slashdot. You see, I'm the author of the Perl script which converts the LaTeX source to HTML. I hope nobody finds any blatant problems with the online book websites...
Practical PostgreSQL
Using Samba
Personally I thought both were very well written, the samba book has helped me greatly.
Kyle
http://www.unlogikal.net/
I've written a review of this book on The Assayer. The book is self-published (the authors run Green Tea Press), and one of the things people don't realize about self-publishing is how hard it is to attract reviews. (Actually, it's hard in ordinary publishing, and even harder in self-publishing.) Without reviews, you don't get much credibility. So if there's a free book in The Assayer's database that you've read, please write a review!
Find free books.
Quite to the contrary, I believe it is you who does not understand my observations.
Given a countably infinite amount of time, one can set a Turing machine running on an input, and then simply observe whether it halts or not. Heck, you can set it running on a countably infinite number of words, and see if it halts on each one. In other words, you can solve the halting problem.
Likewise, you can get super-Turing power if you can compute with real numbers (not floating-point approximations, but the true continuum). But again, due to the physics of this world, we can't maintain analog values with an infinite degree of precision (due to thermal noise, etc.) This has even been published in the journal Science by Siegelman, et. al. a few years ago.
In any case, you've made it clear in your post that you are unable to think these things through for yourself. You simply read Feynman, and accept it as gospel truth, because it came from the mouth of a great prophet.
No doubt, Feynman was a very, very good physicist. But he was also a genius at self-promotion, and his cult has gone way overboard as a result. It's well-established by now that some of the ideas he's famous for were first published by others.
(Not that he wasn't honest about it sometimes. I think he's on record, for instance, crediting Stueckelberg for the renormalizion of electrodynamics, and for the idea that positons are electrons travelling backwards in time. See e.g. this timeline, or the last chapter of this book.)
Timeo idiotikOS et dona ferentes
While not CopyLefted, Bruce Eckel has online a 0.x version of Thinking in Python, which is more pattern oriented.
Agreed. With SML/O'CAML, Scheme, Erlang and Mozart around, using Python to teach Computer Science is pretty sad. Python could be considerded a modern programming language if the calender read 1982. Concepts, Techniques, and Models of Computer Programming has a lot of good material for those interested in Oz/Mozart w/ CS.
Ooo! I _knew_ I was gonna get flamed for
choosing a pretentious title. Really, it's
mostly meant to be silly (not a marketing
angle).
The book is (just) an introduction to computer
science that focuses on the basics of programming.
It covers the material I've been able to get
college students to understand in one semester,
which means yes to functional and data abstraction
and no to modules as first class citizens.
It's also aimed at people with no programming
experience at all, so I tried to explain the
basics slowly and LOUDLY.
Thanks to all the slashdotters that have commented
on the book!
Cheers,
Allen Downey
Hi All, I don't know where this quote is from, but it is not from my book, and does not reflect my attitude toward C. The preface of the book discusses some of the problems using C++ as a first language for new programmers, but after that we get down to the business of teaching programming. Anyway, there is a C++ version of the book, too! Cheers, Allen Downey