Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: DevFreeBooks – A collection of free books for developers (devfreebooks.github.io)
571 points by caiozo on Nov 9, 2016 | hide | past | favorite | 62 comments

Am I the only one who dislikes these free resource type collections?

One, they present too many choices of dubious value. The most important part of book recommendations is a vetting of a few resources that are guaranteed to be enlightening.

Two, the monetary cost of a book isn't the largest "cost". The largest cost is the time spent reading the book, which again means that the most value that can be added is through the vetting of the contents of the book compared to all other alternatives.

> The most important part of book recommendations is a vetting of a few resources that are guaranteed to be enlightening.

That's a difficult thing to make since you have to be subjective when suggesting a resource.

For example, in awesome-scifi's novels section[0], we as the maintainers try to tackle this project by requesting from the PR submitter to add a subjective description on why the submitter thinks that the novel in question is awesome (backed up by the name of the submitter so you know exactly who wrote that description), to add a Goodreads rating at the time of submitting a PR, and an emoji if it contains more than 100k ratings on Goodreads (indicating that it's a popular one).

Now, I'm obviously being subjective when talking about a list I'm one of the maintainers of, but when I'm searching for a book, I get to see if it has a good rating, if it got a lot of ratings, and a subjective description of why the person who submitted it thinks it's awesome. It works rather well in my case.

[0] https://github.com/sindresorhus/awesome-scifi#novels

"Two, the monetary cost of a book isn't the largest "cost"."

Is that going to be true for all people around the world, regardless of income? Sure it's probably true for you or I, but free learning resources are likely to be vital for many others.

I don't think PP worded his point as clearly as he could but I think he meant something more along the lines of "a small list of free books that is vetted for quality is much more valuable than a big list of many more free books that includes duds". There is an intersection between that point and the point you made/and responded to which is, "some books (and therefore vettings) are so valuable they might be worth paying for over a less good free alternative" ... of course weighted for the amount of disposable income a person might have.

Monetary cost of the book is the only cost for me. For many programming books, reading them cover to cover is a bad idea. You won’t retain information and you might even go against the motivations of the book. I like these ebooks because they’re a reference that works offline. If I have a question about a design pattern, or a bad practice, or about a feature of the language, I can reference the book in seconds. Skimming the book to get a summary of its materials, I can, in under an hour, learn when its material is applicable. Then, if I need it later, I can search it with a simple ctrl-f to build the knowledge.

Programming is a lot of material, but it’s repetitive enough that you have near infinite opportunities to practice it. You don’t need to cram, you just need to practice. For the things that aren’t repetitive but may still come up, there is Google and ctrl-f in your pdf reader of choice.

And I disagree with you about dubious value being a concern. If you’re going to bother using the book, you can bother Googling it to see if it is valuable.

Is "too many choices" in this context really that valid of a critique when the entire purpose is to "choose what's applicable to your need, ignore what isn't"?

The full phrase was "too many choices of dubious value"

That's why I built this website, to moderate and add good free book, to minimize the "dubious value".

Actually that project has much more content, and it seems that the collection is curated a little.

That's why I built DevFreeBooks, to curate more the free books, instead only add any link without know if is a good or not content.

These are awesome for JS: https://github.com/getify/You-Dont-Know-JS


This is a useful resource - thanks for compiling it.

I'd suggest allowing users to submit short reviews of each ebook. I'd imagine it would be useful to have some insight as to which book would be most helpful for different circumstances - especially once you start to get some more submissions and there are more books per category.

Similar to this http://lesswrong.com/lw/3gu/the_best_textbooks_on_every_subj...

From the link, here's a quote:

>There have been other pages of recommended reading on Less Wrong before (and elsewhere), but this post is unique. Here are the rules:

- Post the title of your favorite textbook on a given subject.

- You must have read at least two other textbooks on that same subject.

- You must briefly name the other books you've read on the subject and explain why you think your chosen textbook is superior to them.

Is there any reason to to this without cooperation with https://github.com/vhf/free-programming-books which already has over 4K commits and 16K forks?

I agree they should cooperate, but I'm curious about the 16k forks.

What's the point in forking a project like this? Adding changes and submitting pull requests would be the obvious thing, but that doesn't seem to be the case because there are only 4K commits and less than 30 open pull requests. So anybody know what's up with all the forks?

I'm guessing the forks are a form of bookmarking. At least for my part, I fork every single repository that might even be slightly interesting for me in the future. Hell, I even fork repos that I explicitly hate, just so I can keep tabs on them or learn more about them.

I guess bookmarking would explain it, but seems like the wrong tool for the job IMO. Forking means you have to do extra work to get the latest version of the code, even if you're not making any local changes. Using the "watch" or "star" feature or an actual bookmark means you'll always go straight to the most up to date version.

> Hell, I even fork repos that I explicitly hate, just so I can keep tabs on them or learn more about them.

I don't know what it means to "hate" a repo, but whatever it means, forking the repo actually means you won't be keeping tabs on them because your personal fork will have no activity until you pull from the original. And if you need to go to the original to get updates, why not just go straight there?

You don't get it, sorry. Not in a mean way. I just like to learn about things I do not like, because sometimes I change my mind. Forking a repo means cloning it to my local network because of some automation I have, and I learn applications by playing with code.

There is a "Star this repo" option for just this case.

But forking has its benefits if you want to make sure that the original repository does not disappear.

I'm not sure if this is what you're talking about, but unfortunately, I've had a few repos disappear because the original was served with a DMCA. Github is fast when presented with a DMCA (but also equally fast when presented with a counter-DMCA notice, thankfully). You'll need to clone it off of Github if you really want to ensure its survivability.

You can 'watch' repos. You should do that instead of forking them.

You hate some repos?

Do you like systemd?


Hi guys! Thank you for enjoying my little project! Please to add new books just follow this instruction (https://github.com/devfreebooks/devfreebooks.github.io#how-t...). This is a old project which I'm reviving it, so there are some old ebooks which I will remove or update links soon. Thanks!

FireFox OS is a dead project and can be safely removed from the list.

even if that's true, that's hardly a reason to suppress books on the subject.

All firefoxOS was removed minutes ago, thanks for the feedback!

Love this idea :).

I would suggest making submitting a book easier through an online form, though. The process of forking, editing a raw JSON file, and submitting a pull request seems a little primitive, and has a high cost to those who want to contribute.

Thank you for your time and energy making this resource!

Perhaps the barrier to contribution aims to act as a filter against poor/troll contributions.

Also the necessary skills to submit a book overlap a lot with the skills of the people who might be interested.

Really interesting to reflect on the fact that a lower barrier of entry is not always equal to a better choice. There could be a lot of philosophy around this subject, leading us to: should voting be constrained by technology or knowledge of some sort? Is the action motivated by knowledge better to the uninformed one? Sorry for all this off-topic but it is kinda related. I would really love to hear your opinions on this, thanks.

I think this is a really bad/scary idea. A great thing about democracy is that _everyone_ has a voice.

I grew up in Birmingham, Alabama. In school we were taught a great deal of the Civil Rights movement, as much of it happened in our city and state. In particular, this "test" suggestion makes me recall the literacy tests [1] instituted in the Jim Crow south.

[1] https://en.wikipedia.org/wiki/Literacy_test

No. If unreasonable limits are put on voting, people will find other, more destructive ways to "vote". Every government is eventually a democracy, in the sense that if you rule against your citizens' wishes for long enough and they aren't allowed to vote, they will try to kill you or overthrow you. It just isn't very practical to rule without the consent of the governed.

> Is the action motivated by knowledge better to the uninformed one?

Well yes, obviously, but it's better to try to force people to be informed than to ignore them. As you may have noticed, people don't like being ignored.

And what would happen if the ones in power are the first interested in having misinformed population so achieving power is easier for them in the end?

Adding any kind of discrimination to an election process (which is a right and has to be open to all) is not a good idea, since it opens the way to all sort of abuse (see the comment on literacy tests), in the way it is evaluated. I don't see a way for such a test to exist, without any bias that could create discrimination.

And even if people are informed, it does not mean they would chose according to that knowledge, since I think a lot of people vote not according to their brain, but follow their emotions or the expectations of their social group.

I would love the Ballot having a second row with ten multiple-choice questions about politics, the economy and the world.

Vote gets multiplied with the number of correct answers. Everyone wins.

Interesting, but choosing unbiased questions will be a ballet in itself..

Edit: A ballot in itself, although a ballet in itself also works...

For while, to submit a book must be via GithubPR, but I will work to add a simple google form, to moderate all books in the future.

This is a fair point, and one that I hadn't considered.

This is how pyvideo[1] accepts submissions[2] too!

[1] http://pyvideo.org/ [2] https://github.com/pyvideo/pyvideo/wiki/How-to-Contribute-Me...

A lot of users using DevFreeBooks, thank you guys! https://twitter.com/crp_underground/status/79643077435434188...

I found in a quick google search: https://tfetimes.com/free-c-books/

Maybe it's something for a DMCA takedown, but it doesnt look like the average pirating website(i surely dont know how they look like, was never on one, i swear!)

EDIT: Please elaborate why that get downvoted. I seriously dont know. I could understand, if it gets FLAGGED, but... it didn't.

Whenever I need to find resources for anything programming related I google

"awesome WHAT_I_NEED"

find the awesome git repo and follow the links,

if I find anything interesting I search for the link on hn and reddit and try to see if there are any discussions based on the link.


Should probably remove famo.us as a resource. They've rebranded a little while ago.

I removed minutes ago, thank you for the feedback!

Great resource! I hope it grows to be a huge collection indeed. Also I hope it'll manage to avoid all the potential legal problems when people (knowingly or unknowingly) start submitting books that are not actually freeware.

That's the idea! Grow the list only with free books (piracy won't be accepted).

Direct link to the repo if you also want to star it.


looks like getting started with django isn't a thing anymore

This link was fixed minutes ago! Thanks for the report!

First/Second book in nodejs link broken for: Learn to Create Node.js Applications from Scratch

Thank you for the feedback!

Could be great to add 'Share by email', with the book directly attached.

Cool idea! I will look for a snippet code to add the email share, thanks!

Nice resource, any reason it's missing C++ books?

Feel free to add all free C++ books you have :)

Not really a collection, but agregator

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact