Not to be so unreasonably negative here, but I've been pretty suspicious of the peculiar amount of attention this book has gotten.
I wish more effort was put into updating the /free/ Django book (created by Jacob Kaplan-Moss and Adrian Holovaty, the creators of Django): http://www.djangobook.com/en/2.0/index.html -- what's fantastic about the Django book is it could be read by a complete novice with no prior experience of webapp development, indeed it introduces the patterns to a MVC framework in a great way with wonderful analogies. Novices are not going to have a fun time with TSoD.
I've got to say, this comment makes me rather sad and angry.
Sad, because Two Scoops is a wonderful book. Danny and Audrey spent a ton of time soliciting feedback from a veritable Who's Who of the Django community, and they took that feedback incredibly seriously. The result is a book that does a better job encapsulating how to write successful Django code than anything anyone else has written.
Angry, because of the implied slight against Audrey and Danny. It's sucks that you're too "suspicious" to consider that it might be getting so much attention because it's damned good. When you say that the book is getting "a peculiar amount of attention", it really sounds like you're suggesting some sort of scam. That assumption of bad faith is really offensive -- and completely incorrect. The book's getting attention because it's awesome.
Also angry because of of the implicit demands on my free time that you're making. Writing a book is fucking hard, and I haven't had the time to keep it updated. You're not entitled to my free time.
To end on a positive note, though: the book is getting updated. There's a new author working on a 3rd edition, to be released later this year. I'm not sure if the author wants to be named publicly, but it's someone I know and trust to do an great job.
> Not to be so unreasonably negative here, but I've been pretty suspicious of the peculiar amount of attention this book has gotten.
What makes you suspicious? I like TSoD because it fills that gap between the official docs and SO/mailing lists: it's a collection of "best practice" advice for those who have already had exposure to Django.
It's a completely different approach from the Django Book, and I don't think this is a problem. They are targeting different demographics.
Absolutely. They are very different. The Django Book is a tutorial--very useful, and I do wish that it got more support. I will have to see what I can do with helping to update it for Django 1.5.
But TSoD is a different animal--it's not a "How to learn Django" guide, it's a "How to use Django in the real world" guide. It's not teaching you how to setup models and forms, it's the step beyond that--once you know how to use it, how do you use it well, in production environments? Things that most decent Django programmers know, but that are very hard for those just getting started to figure out except through trial, error, and hours of Googling. There's a big gap in literature here, and not just for Django. I'm happy to see someone addressing it.
Thanks for mentioning that! I'm just getting into Django, and a friend recommended getting TSoD, and it's been pretty spectacularly unhelpful for actually learning how to do the basics like deployment (though I could see how it would be useful for clearing up bad habits). The Django book looks absolutely fantastic for learning the basics, better than most commercial software books I've read in the past. Wonder why they don't point to it explicitly in the Django docs tutorial.
Edit: Never mind - while it's good, I've already run into a couple areas where it seems to be severely outdated, so I could see why it wouldn't be advertised too heavily.
We've gone back and forth on how much to put in the deployment chapter. Our concern is that deployment is one of those areas that has very good documentation, is discussed frequently at meetup groups, and best practices actually change more frequently than people realize. For example, many people got on our case about not including uWSGI or even bothering to include Apache!
In any case, I would love to hear your feedback on other areas.
Hey, thanks for responding. Sorry if the tone came across as harsh at all, it's quite good, it's just not the sort of book I was expecting. I was hoping it was a more comprehensive A-Z sort of book to learn the surface of everything it takes to get started, like "Agile Web Development with Rails" by Dave Thomas and DHH was for Rails, or the Django Book seems to be for early versions of Django.
The books are not trying to fill the same role. They are not in opposition but complement each other. 2 Scoops of Django is a book about patterns common to Django, from how to manage settings for multiply environments, to how to use CBV effectively. The book showed me that the idea of CBV is to compose orthogonal functionality rather than a crutch because Django's url dispatcher doesn't have method introspection.
p.d. I dislike the initial sentence of your comment as it implies certain greed from the authors. They are committed to the idea that money shouldn't be a barrier for knowledge and they will mail you a copy of the book if you ask for it, no strings attach. They sent one to me. My email didn't try to justify or imply I couldn't afford it, I just wanted to check if they would follow up in they claim. They sent my a copy right away and asked me why I was asking for one (are you a student, etc?). As he had already sent me a copy his question was of genuine interest imho. And to me the fact that he would sent the book to anyone who ask speaks volumes of his commitment to the idea that knowledge should be free.
I bought the "beta" edition of the book and really enjoyed it so far. I think it covers different topics than the free django book and I absolutely think they are both valuable resources. On a related note, I always seem to get more out of books that I payed for, similar to how expensive wine always tastes better. Anyone else experience this?
You may get more out of things you paid for because you do not want that money to have been wasted, similar to how the same wine is rated better if it is more expensive (in blind tests).
No, but a lot of companies did by paying people to work on Django projects, and allowing contributions back into the Free project?
I've not heard of any companies (except some colleges) funding actual books in a similar way -- probably because if you pay someone to improve Django, your product (based on Django) improves, and you presumably make money from your product.
Paying someone to write general documentation helps train both your and other's developers -- but the link to profit is more indirect -- writing proper text books is not something that makes sense to in-source for most institutions (shorter tutorials, technical documentation etc, being something different).
I agree 100%. Django may be free to use but lots of people contribute their time to to project. When I have enough experience working with it I plan to give back to the community as much as I can, that is how I will pay for django.
The whole open source eco-system has similar things e.g. Drupal books and so-so online documentation (I can attest to this one), Joomla, WP …. Books are much like doing workshops, they're a shortcut for those who are prepared to pay rather than have to do a lot of online searching.
> Not really sure why you think they both can't coexist
Sure, they could and they should, however I think TSoD might have dampened the community's efforts of improving and updating the free and more official 'Django Book' when it really needed the work.
> Sure, they could and they should, however I think TSoD might have dampened the community's efforts of improving and updating the free and more official 'Django Book' when it really needed the work.
TSoD was the effort of two individuals: they can spend their time how they like. I also can't blame them for wanting to make some money back on their time, given that writing a technical book is a non-trivial exercise.
It also takes a completely different set of skills to write a "beginner's book", which is really what the Django Book is.
Just so you know, we offer the book for free to developers in need. Please go to http://django.2scoops.org/ and scroll to the bottom.
Also, in my own case, just because I co-wrote TSoD doesn't mean I'm going to stop contributing to Django or it's documentation. In fact, writing it helped illuminate areas in the Django documentation that I believe I can improve. I hope readers of the book take the same approach. We all benefit from creating new and improved resources.
This is just a phenomenal book. After reading the Django docs a few times, I dove into TSoD and realized it was way over my head but the content was excellent from a pragmatic, "get things done", "I was wondering about that" point of view. After going back to Django docs and starting Kenneth Love's Get Started with Django Series then returning back to TSoD, I am even more impressed with the insights and breath of the book. Even as a noob, I consider it a must have reference. Do you really want to go thru all the mistakes, errors and pitfalls that the authors are warning you away from? Some things in life are just genuinely good and of the highest quality PERIOD. Stop being so jaded gang.
Bought the PDF beta once it was posted here on HN with the hope you guys would be nice and provide an EPUB version later on. Just want to say thank you for listening and doing so! If you haven't bought this book and are in some way (beginner or veteran) a Django developer go and buy it, there is always something new to learn even for the most experienced.
I'm glad this has gotten the attention it deserves; I purchased the beta when embarking on my first Django project, and it was a bit over my head at the time. Now, however, 2SoD fills the important role of an up-to-date best practices guide, which I find is often hard to compile in largish community projects with fragmented documentation.
Not that the official docs aren't good, because they are; the 2SoD authors just get to be a little more narrow and opinionated.
I love - absolutely just adore - that the DRM on the PDF copy I bought is having my name embedded in the cover. I can view it on my work desktop, my home laptop, my iPad, or my Nook without jumping through any hoops at all.
For someone like me with relatively new django skills, I felt the book gave me a very good feel for best practices used in the community; I feel the authors did a good balancing act of informing readers of the best options available while being firmly opinionated where necessary.
The opinions are what set it apart. I'm one who, when new to a topic, can quickly end up in a deer-in-the-headlights state if faced with a large number of competing approaches. I spend too much time flip-flopping and second guessing until I build some history with whatever it is I'm working on.
The Two Scoops approach is: we're two Django developers with a lot of experience, and here's our approach that has been successful which you can use. They go so far as to say, "you may hear about x/y/z, but here's why you can safely ignore that in almost all cases..." Works very well for me.
I started a job recently that relied on much more Django skills than I had. I'm a senior programmer, but my Django was dusty. Purchasing "Two Scoops of Django" was a fantastic investment. The material is moderately dense, giving "best practices" to a wide range of practical topics.
For me, a technical "here's what's really important" book is the most valuable. Django docs (and the Django Book) are great, and I'm thrilled to have them plus "Two Scoops" to use for my day job.
Same thing I said in another thread, but it is relevant here too:
Books like this should really offer a money back guarantee.
Why? It signals quality and enables speculative purchasing.
The quality signal I think is obvious.
The speculative purchasing is an incremental sale. Emotionally, I'm not going to purchase this book without a guarantee unless I've decided to commit time to read it. However, with a guarantee I can buy it on the chance that I might read it. It's not logical, I know, but it is how customers work emotionally.
Also, economically your guarantee is basically free. 99% of the time its not worth my time to request the refund even if I don't like the book. The 1% is if your book has made me emotionally angry due to its poor content (1 book I've ever read).
But, people will game the system? No they won't. At least not in sufficient volume to make it worth worrying about. If I want to scam a free copy of your book, it's likely I can find a pirated version faster than I can get my wallet and enter my credit card number.
And here's the clincher: the buyer already has the ability to ask for a refund from Gumroad or a credit card chargeback. Those who really want their money back will get it anyway.
Which is why I posted this -- I've seen the effect of a guarantee on sales and profit for a number of products, and the data I've seen suggests it would increase your revenue and profit.
Looks great, will buy. This is not a criticism of this book: does anyone have a hack to add syntax highlighting to any of the ebook formats? I understand why colored syntax highlighting isn't provided in paper formats, but I don't understand why publishers don't use it in ebooks on programming.
It doesn't have to be a "hack". Most modern devices would support it just fine. The main problem is the older kindle devices that only support the mobi7 format.
An author is likely to get dinged on reviews if formatting on older eink devices is poor. So in practice the lowest common denominator wins out...
Last time I used Django, I loved everything except class based views. I thought my view code was much clearer and easier to work with after I switched to FBV's. I see the book touches on both methods, but overall is it opinionated one way or the other?
Yes. The authors like CBV's and make a strong case for why you would want to use them.
Like you, I found CBV's to be wanting, particularly generic views, and all but gave up. A combination of updates to the official docs with 1.5 and this book made me reconsider and I'm glad I did.
As a student looking to do some work with Django, this is going to be invaluable! Huge thanks, I've been looking for exactly this since I finished the beginner tutorial!
I wish more effort was put into updating the /free/ Django book (created by Jacob Kaplan-Moss and Adrian Holovaty, the creators of Django): http://www.djangobook.com/en/2.0/index.html -- what's fantastic about the Django book is it could be read by a complete novice with no prior experience of webapp development, indeed it introduces the patterns to a MVC framework in a great way with wonderful analogies. Novices are not going to have a fun time with TSoD.
edit: As stevejalim has pointed out, jacobian is taking pull requests to update the book for Django 1.5: https://github.com/jacobian/djangobook.com/blob/master/READM... -- have a go!