Stop reading this blog and learn something
avdi.org
avdi.org
There’s a tendency to believe that all information is equally valuable. Therefore, an hour spent reading about, say CoffeeScript in blogs is equivalent to an hour spent reading a CoffeeScript book, only the blogs are free, immediate, and more entertaining.
The last bit is the key. They reason that blog posts are more entertaining is the reason to read the book. They are all sizzle, with optional steak. A book has structure, as Avdi notes, and part of that structure is balance between crazy-fascinating things and fundamentals that are not that fascinating at first but necessary for deep learning.
In cliche terms, books contain information that is important but not urgent. Thanks to the social mechanics of blogs and social news sites and retweeting, the blog posts the filter through the firehose are all urgency. Some also contain important topics, but none contain the important but not urgent stuff that is necessary for a complete education. Any blog post or essay with important but not urgent information falls into people’s “read this later” bucket and never gets the upvotes to make the front page of Hacker News or anything else.
So, you will learn things in an hour on the web, and in an hour reading a book, but if your primary goal is a thorough education in something that is new to you, an hour in a good book will serve you better than an hour reading blog posts.
p.s. Alas, my own books at http://leanpub.com/u/raganwald are simply collections of blog posts massaged into book format, and as such they are entertaining but do not provide the kind of structure and “important but not urgent” information Avdi and I are extolling here. For example, my essays about Combinators and Ruby might make you interested in Combinators enough to read a real book about them, but the book won’t actually teach you introductory combinatory logic.
Mind suggesting such a book? :)
http://www.amazon.com/gp/product/0192801422?ie=UTF8&tag=...
(Yes, that’s an affiliate code. Strip it out and replace with your favourite charity. “Raganwald" is an acceptable answer for “favourite charity.”)
They ship to a very large amount of places for free. My only complaint is that because it is shipping from another country it takes a while to get to you and you don't get any tracking codes from them.
Some of these places say they ship from the UK, some ship from the USA. One ships from Germany. Does this help?
http://www.cambridge.org/gb/knowledge/isbn/item1175709/?site...
I also believe books improve one's ability to concentrate, which directly benefits a programmer's ability to get into and stay in flow. Whereas blog posts are, to paraphrase Fight Club, 'single serving' bits of information, reading a book requires (and improves) mental commitment and the ability to shut out distractions and delay gratification for longer durations.
I got myself a Kindle for Christmas, and one of the biggest benefits of this little device is that it eliminates distractions like email and makes it much easier to shut out the world and concentrate on reading long, relatively difficult technical papers and books (vs reading them on my computer as I had been doing previously). Amazon really knows what they're doing when it comes to books and reading.
Let's take nodejs for example. I think it's safe to say that it's new enough to be considered too early to publish if there were such a thing. Even if node changes drastically within the next few months any book about any technology that's worth anything at all (did I say anything enough times? Haha) will teach you the fundamentals about how to get it, set it up, configure it how you want, and get you going with some reproduce able examples. That's really all you need. No book can be expectd to cover every last bit of the technology in great detail. I'd argue that most people learning to program get the fundamentals from the books and maybe some bonus knowledge and the rest we pick up with experience and research.
Then you have remember that there's a good bit of time between the writing of the book and it's publishing and then some more time between editions. No book can be current. But it doesn't matter because of why we buy the books to begin with. We learn the ropes from them. Even books about advanced techniques teach you enough about a technology so that in a case where the advanced technique is out of date you can still get what you want done by inferring how you're supposed to do things now based on other data from the book combined with experience and practice. So given all this, I don't think there's a such thing as being released too early and in fact believe all books are released too late. But they're valuable nonetheless.
Edit: 10'' would almost certainly be fine. The zoom doesn't really fix the problems with double column pdfs either.
The biggest problem is that Kindle can't reflow PDF text the way it does with mobi formats (which I believe is true anywhere you read PDF, not just kindle), so you can't seamlessly resize the text. You can zoom the PDF document to enlarge the text, but page turning functionality doesn't work until you zoom back out since a zoomed document will reinterpret page turn actions as horizontal scrolling actions (on Kindle Touch at least, not sure about the others with specific hardware buttons for page turning).
There is a literal ton of info on converting PDF to mobi at the Kindle subreddit, but no perfect conversion techniques yet:
http://www.reddit.com/r/kindle/search?q=pdf&restrict_sr=...
Some suggestions:
1. Use Briss (http://sourceforge.net/projects/briss/) to trim the margins of the pdf, then read it in Landscape mode. This naturally enlarges the text without breaking page turning.
2. Use any of the converters listed in the Reddit/r/kindle sidebar, whether downloadable software or web-based (Readability, Instapaper, SendToReader, etc).
3. Use Calibre to convert PDF to mobi (results are mixed, and graphs and images aren't handled so well).
4. Email your PDF to your_kindle_id@free.kindle.com with "convert" in the subject to have the PDF converted to mobi by Amazon and then delivered to your kindle. Similar results as 4.
All of them except #1 result in mangled formatting to some degree or other, especially PDFs (or PDFs created from websites) with special math or code formatting. Like I said, servicable, you can read it and get the info, but not the brilliant reading experience it is with native .mobi files.
I respect pdfs for their Postscript origins but man do I hate getting a pdf link, hate waiting for them to load, hate reading them on my computer. And yet much of what I want to read is locked inside them.
I do agree on books vs. blogs though. When I started learning Python as my first real language this summer the best source I ended up learning from was LPTHW[1] (I used the free online edition). I think a book like that is a good tool for learning a language, because it makes sure you hit on every important feature/concept in that language. However, I later bought a physical book for $30 about Django that didn't do anything except hold my hand and walk me through what could be a 20 minute Django tutorial on YouTube. Maybe it was just a bad book, but when it comes to learning a framework/stack, I think the documentation provided if you choose one of these so-called popular options will be plenty, and from there it's tinkering and screwing up that gets you there.
Phase I: Print this out, have it framed (with non-gloss glass) and hang it on the wall where you can easily see while you code.
Phase II: A day will come when, while reading this, you will chuckle to yourself and mutter, "I, too, was like that". Then remove it from the wall and pass it on to another noob.
I'm still in Phase I, but have become conscious of this, which is an indication that I may be moving, albeit very slowly, to the second phase.
Your paragraph or something else?
With paper-based book it's easier for me to flip back and forth through the book to quickly reference something. Also, reading code snippets is a whole lot easier since you don't have to worry about screen size messing up the code readability and formatting.
When I first came to Japan a little j-e/e-j pocket dictionary did wonders for learning vocab. I may just pick up a new one...
Whoops.
To be fair, with my current project there was an expectation that this was a going to be a month long "use and dump it" project.
Well, I just got hired for the rest of the year to expand my horrible, horrible mistakes. It was my first django project and I didn't realize you have to explicitly define relationships in the model on related fields in order to do joins. Now there's too much data and legacy code to go back, and I'm stuck pulling up related fields in other tables one by one... kill me now.
1)Be inspired to build something.
2)Pick a tool you think might work.
3)Build it.
4a) Success? Go to 1.
4b) Failure? Go to 1.For me, there's nothing better than cracking open the pages of a book on a new topic.
Edit: Crappy grammar.
The moral of the story is that reading is useless without action. It's easy to fall into analysis paralysis even if you're decently experienced.
I've come to almost despise the hipsters (and that word is so apt for describing them) who are too cool to do things the standard, time tested way. It's one thing to go bleeding edge for the sake of experimentation and furthering your knowledge and skill but when you're off using some esoteric language or framework or whatever just to be different or cool then that's really... Well... Lame for lack of a better word. Like wearing some ridiculous outfit "to be different" and claiming its just fashion that the rest of us are too uncool to get.
I eventually did get out of that unproductive cycle by the way. I am learning Rails but I've put more of my energies into actually producing things that work using uncool but very useful languages, practices, and frameworks. Sometimes the cool kids are wrong. It's more important to get something produced and working well than it is to use some hip technology because the cool kids claim its better. Ive found that a lot of these claims of some tech stack being better either all boil down to some very narrow use case or give you some benefit that's really negligible in the grand scheme of things. Take it with a grain of salt. Read a bit but don't get hung up on the hype. Make something.
Can you give me a concrete example of one of these hipsters? I'd like to know because I work at a company where we use rails and related tech exclusively, so we'd probably fit right into this camp.
> who are too cool to do things the standard, time tested way. It's one thing to go bleeding edge for the sake of experimentation and furthering your knowledge and skill but when you're off using some esoteric language or framework or whatever just to be different or cool then that's really... Well... Lame for lack of a better word.
If you're happy with PHP, use PHP. If you don't like PHP and want to learn something else, then learn something else. But no one builds or uses anything just "to be different", they use it because it helps them produce working code quicker.
> Like wearing some ridiculous outfit "to be different" and claiming its just fashion that the rest of us are too uncool to get.
The hipsters that you refer to don't think you're too uncool to get it. In fact they don't think anything about you at all. They're too busy making things.