Skip to content

Commit ad0df2a

Browse files
committed
Merge remote-tracking branch 'refs/remotes/vhf/master'
2 parents 4a12af4 + 0952a71 commit ad0df2a

39 files changed

+3669
-1804
lines changed

.travis.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
language: node_js
2+
sudo: false
3+
node_js:
4+
- "4.1"
5+
before_script:
6+
- npm install -g free-programming-books-lint
7+
script: fpb-lint .

CODE_OF_CONDUCT.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Contributor Code of Conduct
2+
3+
As contributors and maintainers of this project, and in the interest of
4+
fostering an open and welcoming community, we pledge to respect all people who
5+
contribute through reporting issues, posting feature requests, updating
6+
documentation, submitting pull requests or patches, and other activities.
7+
8+
We are committed to making participation in this project a harassment-free
9+
experience for everyone, regardless of level of experience, gender, gender
10+
identity and expression, sexual orientation, disability, personal appearance,
11+
body size, race, ethnicity, age, religion, or nationality.
12+
13+
Examples of unacceptable behavior by participants include:
14+
15+
* The use of sexualized language or imagery
16+
* Personal attacks
17+
* Trolling or insulting/derogatory comments
18+
* Public or private harassment
19+
* Publishing other's private information, such as physical or electronic
20+
addresses, without explicit permission
21+
* Other unethical or unprofessional conduct
22+
23+
Project maintainers have the right and responsibility to remove, edit, or
24+
reject comments, commits, code, wiki edits, issues, and other contributions
25+
that are not aligned to this Code of Conduct, or to ban temporarily or
26+
permanently any contributor for other behaviors that they deem inappropriate,
27+
threatening, offensive, or harmful.
28+
29+
By adopting this Code of Conduct, project maintainers commit themselves to
30+
fairly and consistently applying these principles to every aspect of managing
31+
this project. Project maintainers who do not follow or enforce the Code of
32+
Conduct may be permanently removed from the project team.
33+
34+
This code of conduct applies both within project spaces and in public spaces
35+
when an individual is representing the project or its community.
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
38+
reported by contacting a project maintainer at victorfelder at gmail.com. All
39+
complaints will be reviewed and investigated and will result in a response that
40+
is deemed necessary and appropriate to the circumstances. Maintainers are
41+
obligated to maintain confidentiality with regard to the reporter of an
42+
incident.
43+
44+
45+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
46+
version 1.3.0, available at
47+
[http://contributor-covenant.org/version/1/3/0/][version]
48+
49+
[homepage]: http://contributor-covenant.org
50+
[version]: http://contributor-covenant.org/version/1/3/0/

CONTRIBUTING.md

Lines changed: 73 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,90 @@
1-
# Contribute to the lists
2-
Hello dear friend, welcome!
3-
This guide details how to contribute to this repository.
1+
## Contributor License Agreement
2+
By contributing you agree to the [LICENSE](https://github.com/vhf/free-programming-books/blob/master/LICENSE) of this repository.
43

4+
## Contributor Code of Conduct
5+
By contributing you agree to respect the [Code of Conduct](https://github.com/vhf/free-programming-books/blob/master/CODE_OF_CONDUCT.md) of this repository.
56

6-
## Contributor license agreement
7-
By submitting code you agree to the [LICENSE](https://github.com/vhf/free-programming-books/blob/master/LICENSE) of this repository.
8-
9-
10-
## All the steps you need
11-
1. First of all, what you want to add should be actually 'Free'. Don't mistake "An easy link to Download a book" with "Free".
12-
2. If you don't know how to work with git or github, just simply go to [Wiki: Contribution](https://github.com/vhf/free-programming-books/wiki/Contribution) and read the rest.
13-
3. We have 5 kinds of lists. Make sure you know where you're adding the link:
7+
## In a nutshell
8+
1. "A link to easily download a book" is not always a link to a *free* book. Please only contribute free content. Make sure it's free.
9+
2. You don't have to know git: if you found something of interest which is *not already in this repo*, please open an issue with your links propositions.
10+
- If you know git, please fork the repo and send pull requests.
11+
3. We have 5 kinds of lists. Choose the right one:
1412

15-
+ **Books** : PDF, HTML, DJVU, ePub, a gitBook.io based site, a Git repo, etc.
16-
+ **Courses** : A course is a well designed learning material which was made by an organized group and is availabe for a long time where there is no interactive tool embeded in the site. e.g.: [OpenCourseWare](http://ocw.mit.edu/), [PHPAcademy](https://phpacademy.org), etc.
17-
+ **Interactive Tutorials** : An application which helps you learn, by actually typing syntax. e.g.: [Codecademy](http://www.codecademy.com/), [Try Github](http://try.github.io/), etc.
18-
+ **Javascript Resources** : Resources for learning a Javascript Framework
19-
+ **Problem Sets & Competetitive Programming** : Challenges/problems, where you can prove your programming skills for yourself or against others
20-
21-
4. We prefer small commits rather than one large commit in a pull request. If you don't have the time to make small commit, add an issue with all the links included and we'll add them for you.
22-
5. Use our standard for formatting the .md file. Check it out: [Formatting](#formatting)
23-
6. Please try to use alphabetic order.
24-
13+
- *Books* : PDF, HTML, ePub, a gitbook.io based site, a Git repo, etc.
14+
- *Courses* : A course is a learning material which is not a book and where there is no interactive tool embedded in the site. [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
15+
- *Interactive Tutorials* : An interactive website which lets the user type code or commands and evaluates the result (by "evaluate" we don't mean "grade"). e.g.: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
16+
- *JavaScript Resources* : Any resources teaching a JavaScript framework or library.
17+
- *Problem Sets & Competitive Programming* : A website or software which lets you assess your programming skills by solving simple or complex problems, with or without code review, with or without comparing the results with other users.
18+
19+
4. Make sure to follow the [guidelines below](#guidelines) and respect the [Markdown formatting](#formatting) of the files
20+
21+
### Guidelines
22+
- make sure a book is free. Double-check if needed
23+
- we don't accept files hosted on google drive, dropbox, mega, scribd, issuu and other similar file upload platforms
24+
- insert your links in alphabetical order. If you see a misplaced link, please reorder it and submit a PR
25+
- use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
26+
+ no file hosting services (this includes (but is not limited to) Dropbox and Google Drive links)
27+
- always prefer a `https` link over a `http` one -- as long as they are on the same domain and serve the same content
28+
- on root domains, strip the trailing slash: `http://example.com` instead of `http://example.com/`
29+
- always prefer the shortest link: `http://example.com/dir/` is better than `http://example.com/dir/index.html`
30+
+ no URL shortener links
31+
- usually prefer the "current" link over the "version" one: `http://example.com/dir/book/current/` is better than `http://example.com/dir/book/v1.0.0/index.html`
32+
- if a link has an expired certificate/self-signed certificate/SSL issue of any other kind:
33+
1. *replace it* with its `http` counterpart if possible (because accepting exceptions can be complicated on mobile devices)
34+
2. *leave it* if no `http` version but link still accessible through `https` by adding an exception to the browser or ignoring the warning
35+
3. *remove it* otherwise
36+
- if a link exists in multiple format, add a separate link with a note about each format
37+
- if a resource exists at different places on the Internet
38+
+ use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
39+
+ if they link to different editions and you judge these editions are different enough to be worth keeping them, add a separate link with a note about each edition
40+
- prefer atomic commits (one commit by addition/deletion/modification) over bigger commits. No need to squash your commits before submitting a PR. (We will never enforce this rule as it's just a matter of convenience for the maintainers)
2541

2642
### Formatting
27-
+ All lists are `.md` files. Try to learn Github's Markdown syntax. It's simple!
28-
+ All the lists start with an Index, the idea is to show all of sections and subsections there, so it's important to have an index for each section. Right now it's alphabetized, so please use alphabetic order.
29-
+ Sections are using level 3 heading (in HTML is `<h3>`, in Markdown is `###`), and subsections are using level 4 (in HTML is `<h4>`, in Markdown is `####`).
43+
- All lists are `.md` files. Try to learn [Markdown](https://guides.github.com/features/mastering-markdown/) syntax. It's simple!
44+
- All the lists start with an Index. The idea is to list and link all sections and subsections there. Keep it in alphabetical order.
45+
- Sections are using level 3 headings (`###`), and subsections are level 4 headings (`####`).
3046

3147
The idea is to have
32-
+ `2` empty lines between last suggested book & new header
33-
+ `1` empty line between header & first book of that very section.
34-
+ `0` empty line between each book in 1 section.
35-
+ `1` empty line at the end of each `.md` file.
48+
- `2` empty lines between last link and new section
49+
- `1` empty line between heading & first link of its section
50+
- `0` empty line between two links
51+
- `1` empty line at the end of each `.md` file
3652

37-
Like this example:
38-
```markdown
39-
[...]
40-
* [Essential Pascal Version 1 and 2](http://www.marcocantu.com/epascal/)
53+
Example:
4154

55+
[...]
56+
* [An Awesome Book](http://example.com/example.html)
57+
(blank line)
58+
(blank line)
59+
### Example
60+
(blank line)
61+
* [Another Awesome Book](http://example.com/book.html)
62+
* [Some Other Book](http://example.com/other.html)
4263

43-
### DTrace
64+
- Don't put spaces between `]` and `(`
4465

45-
* [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)
46-
* [Some Other Book](http://so.me/other/book.html)
47-
48-
BAD : * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)(PDF)
49-
GOOD: * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html) (PDF)
66+
```
67+
BAD : * [Another Awesome Book] (http://example.com/book.html)
68+
GOOD: * [Another Awesome Book](http://example.com/book.html)
69+
```
5070

51-
BAD : * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)- Robert
52-
GOOD: * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html) - Robert
71+
- If you wish to mention the author, use ` - ` (a dash surrounded by single spaces)
5372

5473
```
74+
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
75+
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
76+
```
77+
78+
- Put a single space between the link and its format
5579

80+
```
81+
BAD : * [Another Awesome Book](http://example.com/book.pdf)(PDF)
82+
GOOD: * [Another Awesome Book](http://example.com/book.pdf) (PDF)
83+
```
5684

57-
And that's it! Simple, easy and lovely...
85+
- Author comes before format:
5886

59-
We hope you contribute to this great repository. :+1:
87+
```
88+
BAD : * [Another Awesome Book](http://example.com/book.pdf)- John Doe
89+
GOOD: * [Another Awesome Book](http://example.com/book.pdf) - John Doe (PDF)
90+
```

LICENSE

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,3 @@
1-
This is free and unencumbered software released into the public domain.
1+
This work, "free-programming-books", is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
22

3-
Anyone is free to copy, modify, publish, use, compile, sell, or
4-
distribute this software, either in source code form or as a compiled
5-
binary, for any purpose, commercial or non-commercial, and by any
6-
means.
7-
8-
In jurisdictions that recognize copyright laws, the author or authors
9-
of this software dedicate any and all copyright interest in the
10-
software to the public domain. We make this dedication for the benefit
11-
of the public at large and to the detriment of our heirs and
12-
successors. We intend this dedication to be an overt act of
13-
relinquishment in perpetuity of all present and future rights to this
14-
software under copyright law.
15-
16-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19-
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20-
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21-
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22-
OTHER DEALINGS IN THE SOFTWARE.
23-
24-
For more information, please refer to <http://unlicense.org/>
3+
It is attributed to Victor Felder.

README.md

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,15 @@
1-
# List of Free Learning Resources
2-
## Intro
3-
If you want to find a learning resource, you should definitely check out our site, [Free Learning Resources](http://resrc.io).
4-
And for those who want to learn a computer language, you should check out these books on [reSRC.io](http://resrc.io/list/10/list-of-free-programming-books/) or on [github](/free-programming-books.md).
5-
This list initially was a clone of [stackoverflow - List of Freely Available Programming Books](http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books/392926#392926) by George Stocker. Now updated, with dead links gone and new content.
1+
# List of Free Learning Resources [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
62

7-
Moved to GitHub for collaborative updating and for the site mentioned above.
3+
[View the English list](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md)
84

9-
### NEW : Search inside free-programming-books.md (and a whole lot more of learning resources)
10-
[resrc.io/search](http://resrc.io/search/)
5+
## Intro
6+
This list initially was a clone of [stackoverflow - List of Freely Available Programming Books](http://web.archive.org/web/20130824154208/http://stackoverflow.com/a/392926) by George Stocker. Now updated, with dead links gone and new content.
117

12-
### How To Contribute
13-
It's [easy](https://github.com/vhf/free-programming-books/wiki/Contribution). Please read [CONTRIBUTING](/CONTRIBUTING.md).
14-
- [Fork](https://help.github.com/articles/fork-a-repo)
15-
- Read the [TODO](/TODO.md) file(Adding new books is our #1 priority, but things like Alphabetizing are important, too.)
16-
- [Edit](https://github.com/vhf/free-programming-books/edit/master/free-programming-books.md) (we prefer multiple small commits rather than one large change)
17-
- [Send a PR](https://help.github.com/articles/using-pull-requests)
18-
- Be part of a project starred by over 38,000
8+
Moved to GitHub for collaborative updating.
199

20-
**Again, unlike other projects, we prefer multiple small commits rather than one large change in a pull request - it's fine to have one PR, but please make sure your title reflects what you're changing**, thanks.
10+
### How To Contribute
2111

12+
Please read [CONTRIBUTING](/CONTRIBUTING.md).
2213

2314
### How to Share
2415
+ [Share on Twitter](http://twitter.com/home?status=https://github.com/vhf/free-programming-books%0AFree%20Programming%20Books)
@@ -32,12 +23,12 @@ It's [easy](https://github.com/vhf/free-programming-books/wiki/Contribution). Pl
3223
+ Bulgarian: [github](/free-programming-books-bg.md)
3324
+ Chinese: [github](/free-programming-books-zh.md)
3425
+ Czech: [github](/free-programming-books-cs.md)
35-
+ French: [github](/free-programming-books-fr.md) or [site](http://resrc.io/list/33/livres-gratuits-sur-la-programmation/).
36-
The French list was based on [this](http://progdupeu.pl/forums/sujet/43/une-banque-de-liens) page.
26+
+ English: [github](/free-programming-books.md)
27+
+ French: [github](/free-programming-books-fr.md)
3728
+ German: [github](/free-programming-books-de.md)
3829
+ Greek: [github](/free-programming-books-gr.md)
3930
+ Hungarian: [github](/free-programming-books-hu.md)
40-
+ Indonesian : [github](/free-programming-books-id.md)
31+
+ Indonesian: [github](/free-programming-books-id.md)
4132
+ Italian: [github](/free-programming-books-it.md)
4233
+ Japanese: [github](/free-programming-books-ja.md)
4334
+ Korean: [github](/free-programming-books-ko.md)
@@ -54,20 +45,26 @@ It's [easy](https://github.com/vhf/free-programming-books/wiki/Contribution). Pl
5445
+ Ukrainian: [github](/free-programming-books-ua.md)
5546

5647

57-
### Noticeable lists from [reSRC](http://resrc.io/)
58-
+ Free JavaScript frameworks resources and tutorials: [github](/javascript-frameworks-resources.md) or [site](http://resrc.io/list/18/javascript-frameworks/)
48+
### Free Online Courses
49+
+ [Free Online Courses](/free-courses-en.md)
5950

6051

6152
### Interactive Programming Resources
62-
+ Free interactive programming tutorials: [github](/free-programming-interactive-tutorials-en.md) or [site](http://resrc.io/list/217/programming-interactive-tutorials/)
53+
+ [Free interactive programming tutorials](/free-programming-interactive-tutorials-en.md)
54+
55+
56+
### JavaScript Frameworks and Resources
57+
+ [Free JavaScript frameworks resources and tutorials - English](/javascript-frameworks-resources.md)
58+
+ [Free JavaScript frameworks resources and tutorials - Portuguese (Brazil)](/javascript-frameworks-resources-pt_BR.md)
59+
60+
61+
### Problem Sets and Competitive Programming
62+
+ [Problem Sets](/problem-sets-competitive-programming.md)
6363

6464

6565
### Podcast - Screencast
6666
Free Podcasts and Screencasts:
6767

6868
+ Czech: [github](/free-podcasts-screencasts-cs.md)
6969
+ English: [github](/free-podcasts-screencasts-en.md)
70-
71-
72-
### Software Testing Books
73-
+ [Free ebooks about software testing](https://github.com/ligurio/free-software-testing-books)
70+
+ Russian: [github](/free-podcasts-screencasts-ru.md)

TODO.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)