This reminds me of Ruby on Rails Tutorial by Michael Hartl. I love the idea of the book being online in HTML for free, but you can pay for a better learning experience: screencasts, PDF files, and online training courses.
It reminds me of the same thing, and I think it's a great trend. I wonder why Zed only charges $1 for the PDF/ePub, though. Maybe he doesn't realize how much people are willing to pay? I still sell lots of copies of the Ruby on Rails 3 Tutorial PDF at $26, and I previously sold hundreds of copies at $39. I bet he's leaving a lot of money on the table with his current pricing scheme.
Maybe it's not just about the money? It isn't for me, either. But when the HTML version is 100% free, people have little grounds to complain about the price of an e-book. (Indeed, I've never received a single complaint about the price of any Rails Tutorial product.)
Actually, I researched it quite a bit, and I found I had 300k downloads of the PDF last year, but that 150k of those were from bookmarks into the middle of the PDF. My hypothesis is that 1/2 of the readers want HTML they can bookmark, and 1/2 want to download a PDF. I'm guessing that if I set the price of the download really low, then I'll get more downloads and purchases than just a few hundred.
We'll see how it turns out. I'll be writing about it shortly. Interestingly enough, people seem to be willing to pay $2.99 for an ePub version. I may try doing two prices if that's the case.
I'm one of those poor, unemployed young people for whom the $1 price point was perfect. It's the "What the Hell" price point. The benefit of having it on my Kindle and not having to switch windows all the time is real, but rather small. Perhaps worth $2.99... but certainly not $5.
It's worth more now that I've started getting to know the book of course. I've been reading a lot of programming books for a few months and these examples are substantially superior to anything else I've seen, except for Why's Poignant Guide.
Non-DX Kindle side-tip: Convert .epub to .mobi in calibre with "Text Justification > Linearize Table" checked.
If you don't do this, trying to navigate around the tables on a small screen will drive you batty.
(Still trying to figure out the regex to get rid all the "orphaned" line numbers created by this method.)
I just put that on the main site page. I've basically rewritten exercises 50,51, and 52 to have you create a web application out of the game in 41 and 42. I also rewrote 41 and 42 to be a more challenging game that's a bit more complex to create. Finally I fixed bugs and errors in about 50% of the exercises, mostly minor typos here and there.
But, I'll also say, LPTHW is deceptively simple. Try doing it anyway, since if you know a language already you can blaze through it, and when you get to around 30 or so it sneaks up behind you.
Coming from experience with the last version, it definitely does sneak up behind you around part 30. The pacing and attitude for programming is the reason why this is one of the books I recommend to people starting to learn general programming. Specifically for me, however, I need something a bit more concise as when I'm in programming mode I tend to lose focus when there's too much fluff.
Try Dive Into Python 3[1] (although it deals with Python 3, it's more recent than the original Dive Into Python and a lot of what it teaches {to not say everything} is applicable to Python 2, and it touches on the potentially troublesome bytes-Unicode difference).
Don't let that stop you from trying the book. I started programming "way back when" in ASP/VBScript. These days we're a RoR shop, but I needed to pick up Python rather quickly for a side project.
LPTHW is structured well for beginners, but it just so happens it's structured well for pros too. The exercises are a great way to discover portions of Python that aren't intuitive to you. You'll hit roadblocks where your code won't run. That's when you'll really learn.
I would still recommend it, even to those who know how to program. A lot of the book is just non-stop typing as fast as you can. The benefit to me was how it improved my 'muscle memory' when actually sitting down to write something on my own. There was less stumbling over little things like -- "how do import a library again? 'require?' 'load?'"
As with most things, you get out of it what you put into it. For example, I wrote unit tests in one of the 'extra credit' assignments to explain a bunch of python's symbols.
Does anyone know of any good books for people that are proficient with Python and want to learn more about the language and come closer to being an expert?
The idea of LPTHW has always seemed cool, but I've looked at the table of contents a couple of times and thought "huh, 80% of these topics seem trivial to me"; maybe I could still benefit by skimming through and reading anything that I don't already know. Also, it's kind of a bummer that there's no .mobi version.
With no sarcasm intended, carefully read over the Python manual, sentence by sentence, every so often. You'll learn something each time for quite a few iterations. Things that seemed a mass of pointless double-underscores will start to make sense.
Plus, you can't understand the solution until you encounter the problem. Reading the language manual every so often after you've encountered more problems is often enlightening. I've been working through the bash man page this way for years. (It's taking me a while because I don't really do much shell scripting, so I don't encounter very many problems that I need solutions to.)
Yeah, LPTHW isn't for you if you already know Python. I guess I would recommend Mark Lutz books, but really, if you are already proficient in Python then I'd say go out and read code and implement algorithms in Python to learn more.
As for .mobi version, it's a pain in the ass to generate it well enough for a "code book". It's supposed to be coming out on the Kindle store soon, but all of my previews of it just look like junk. I got it as close as I could, but .mobi just doesn't cut it when there's strictly formatted code. If you've got a suggestion on making code look nice in .mobi I'd love to hear it.
Just bought the Kindle version. Now I have the book on my Kindle and iPhone Kindle App (Looks really crisp on my iphone and has anchor links to each chapter, although it could use a better table of contents)
What are the advantages of using this book over the online tutorials that are available on the python website or even using some of the MIT OpenCourseWare courses?
"This book teaches a lot more than the basics of programming, and python. It teaches important life skills in every facet of life: attention to detail, persistence & that dedicated practice and application lead to results." ~ taotetek
The course has 8 (I might do more) videos where I go through most of the exercises and show you how to do them with tips as I go. You basically get to watch me make mistakes typing the exercises in and learn how I do it. In addition to that I answer questions people ask on the site.
Yes, the 2.x series. I am learning with Python 3 because of a class I am taking and supplementing with Zed's tutorial and just writing the examples in Python 3 format. So far, so good. I might hit a snag when I get to the web.py stuff but I will try to convert that to P3 before using it. All of it rolled together is helping me a lot.
Stop the "wall of shame" shtick, please. It helps nobody. Projects know about Python 3 and projects are planning to move to Python 3. It isn't trivial and there is no "shame" in it at all.
Yeah, I changed that. I was trying to give people who bought the paper versions the PDF for free, but lulu considers "free" to mean you get it without buying the book. I've had to remove that option for now since they don't allow it.
On a side note: WTF is up with these companies? This stuff isn't hard, but the whole time I'm trying to do this it's been nothing but friction. So annoying.
So it is. When I saw it was $1 for the PDF of v2 I didn't think twice. Been using v1 and pretty pleased with it so far and I was happy to pay such a low amount for v2.
Might buy the paperback in time just so I can have it on my bookshelf.
I checked the first couple of sections, and I'm sure learning Python "the Hard Way" would have been much more exciting than reading the official documentation...
Oh, well. What is done is done.