Skip to content

Commit a87da2f

Browse files
committed
Merge pull request #1 from vhf/master
forked from vhf/free-programming-books
2 parents 83dd67f + d542e40 commit a87da2f

File tree

4 files changed

+94
-123
lines changed

4 files changed

+94
-123
lines changed

CONTRIBUTING.md

Lines changed: 61 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,79 @@
1-
# Contribute to the lists
2-
Hello dear friend, welcome!
3-
This guide details how to contribute to this repository.
4-
5-
61
## 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-
2+
By contributing you agree to the [LICENSE](https://github.com/vhf/free-programming-books/blob/master/LICENSE) of this repository.
93

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:
4+
## In a nutshell
5+
1. "An link to easily download a book" is not alway a link to a *free* book. Please only contribute free content. Make sure it's free.
6+
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.
7+
- If you know git, please fork the repo and send pull requests.
8+
3. We have 5 kinds of lists. Choose the right one:
149

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. Must use ***alphabetic*** order.
24-
10+
- *Books* : PDF, HTML, ePub, a gitbook.io based site, a Git repo, etc.
11+
- *Courses* : A course is a learning material which is not a book and where there is no interactive tool embeded in the site. [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
12+
- *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).
13+
- *JavaScript Resources* : Any resources teaching a JavaScript framework or library.
14+
- *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.
15+
16+
4. Make sure to follow the [guidelines below](#guidelines) and respect the [Markdown formatting](#formatting) of the files
17+
18+
### Guidelines
19+
- make sure a book is free. Double-check if needed.
20+
- insert your links in alphabetical order. If you see a misplaced link, please reorder it and submit a PR
21+
- use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
22+
+ no file hosting services (this includes Dropbox and Google Drive links)
23+
- always prefer a `https` link over a `http` one -- as long as they are on the same domain and serve the same content
24+
- on root domains, strip the trailing slash: `http://example.com` instead of `http://example.com/`
25+
- always prefer the shortest link: `http://example.com/dir/` is better than `http://example.com/dir/index.html`
26+
+ no URL shortener links
27+
- 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`
28+
- if a link has an expired certificate/self-signed certificate/SSL issue of any other kind:
29+
1. *replace it* with its `http` counterpart if possible (because accepting exceptions can be complicated on mobile devices)
30+
2. *leave it* if no `http` version but link still accessible through `https` by adding an exception to the browser or ignoring the warning
31+
3. *remove it* otherwise
32+
- if a link exists in multiple format, add a separate link with a note about each format
33+
- if a resource exists at different places on the Internet
34+
+ use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
35+
+ 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
36+
- 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)
2537

2638
### 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 `####`).
39+
- All lists are `.md` files. Try to learn Github's Markdown syntax. It's simple!
40+
- All the lists start with an Index. The idea is to list and link all sections and subsections there. Keep it in alphabetical order.
41+
- Sections are using level 3 headings (`###`), and subsections are level 4 headings (`####`).
3042

3143
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.
44+
- `2` empty lines between last link and new section
45+
- `1` empty line between heading & first link of its section
46+
- `0` empty line between two links
47+
- `1` empty line at the end of each `.md` file
3648

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

51+
[...]
52+
- [Essential Pascal Version 1 and 2](http://www.marcocantu.com/epascal/)
4253

43-
### DTrace
4454

45-
* [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)
46-
* [Some Other Book](http://so.me/other/book.html)
55+
### DTrace
4756

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)
57+
- [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)
58+
- [Some Other Book](http://so.me/other/book.html)
5059

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
60+
- Don't put spaces between `]` and `(`
5361

62+
```
63+
BAD : * [IllumOS Dynamic Tracing Guide] (http://dtrace.org/guide/preface.html)
64+
GOOD: * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)
5465
```
5566

56-
#### What to do about multiple links to the same book ([#1192](https://github.com/vhf/free-programming-books/issues/1192#issuecomment-135969100))
57-
+ if its a different edition, add separate link with a note about its edition
58-
+ if its the same book but in a better format, replace link
59-
+ if one is a webpage and the other is pdf, add separate link with a note about its format
67+
- Put a single space between the link and its format
6068

61-
And that's it! Simple, easy and lovely...
69+
```
70+
BAD : * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)(PDF)
71+
GOOD: * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html) (PDF)
72+
```
73+
74+
- If you wish to mention the author, use ` - ` (a dash surrounded by single spaces)
6275

63-
We hope you contribute to this great repository. :+1:
76+
```
77+
BAD : * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)- Robert
78+
GOOD: * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html) - Robert
79+
```

README.md

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,15 @@
11
# List of Free Learning Resources [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
22

3-
[View the list](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md)
3+
[View the English list](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md)
44

55
## Intro
66
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.
77

8-
Moved to GitHub for collaborative updating and for the site mentioned above.
8+
Moved to GitHub for collaborative updating.
99

1010
### How To Contribute
11-
It's [easy](https://github.com/vhf/free-programming-books/wiki/Contribution). Please read [CONTRIBUTING](/CONTRIBUTING.md).
12-
- [Fork](https://help.github.com/articles/fork-a-repo)
13-
- Read the [TODO](/TODO.md) file (Adding new books is our #1 priority, but things like Alphabetizing are important, too.)
14-
- [Edit](https://github.com/vhf/free-programming-books/edit/master/free-programming-books.md) (we prefer multiple small commits rather than one large change)
15-
- [Send a PR](https://help.github.com/articles/using-pull-requests)
16-
- Be part of a project starred by over 42,000
17-
18-
**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.
1911

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

2114
### How to Share
2215
+ [Share on Twitter](http://twitter.com/home?status=https://github.com/vhf/free-programming-books%0AFree%20Programming%20Books)
@@ -34,7 +27,7 @@ It's [easy](https://github.com/vhf/free-programming-books/wiki/Contribution). Pl
3427
+ German: [github](/free-programming-books-de.md)
3528
+ Greek: [github](/free-programming-books-gr.md)
3629
+ Hungarian: [github](/free-programming-books-hu.md)
37-
+ Indonesian : [github](/free-programming-books-id.md)
30+
+ Indonesian: [github](/free-programming-books-id.md)
3831
+ Italian: [github](/free-programming-books-it.md)
3932
+ Japanese: [github](/free-programming-books-ja.md)
4033
+ Korean: [github](/free-programming-books-ko.md)
@@ -51,12 +44,12 @@ It's [easy](https://github.com/vhf/free-programming-books/wiki/Contribution). Pl
5144
+ Ukrainian: [github](/free-programming-books-ua.md)
5245

5346

54-
### Noticeable lists from [reSRC](http://resrc.io/)
55-
+ Free JavaScript frameworks resources and tutorials: [github](/javascript-frameworks-resources.md) or [site](http://resrc.io/list/18/javascript-frameworks/)
47+
### Noticeable lists
48+
+ [Free JavaScript frameworks resources and tutorials](/javascript-frameworks-resources.md)
5649

5750

5851
### Interactive Programming Resources
59-
+ Free interactive programming tutorials: [github](/free-programming-interactive-tutorials-en.md) or [site](http://resrc.io/list/217/programming-interactive-tutorials/)
52+
+ [Free interactive programming tutorials](/free-programming-interactive-tutorials-en.md)
6053

6154

6255
### Podcast - Screencast
@@ -65,7 +58,3 @@ Free Podcasts and Screencasts:
6558
+ Czech: [github](/free-podcasts-screencasts-cs.md)
6659
+ English: [github](/free-podcasts-screencasts-en.md)
6760
+ Russian: [github](/free-podcasts-screencasts-ru.md)
68-
69-
70-
### Software Testing Books
71-
+ [Free ebooks about software testing](https://github.com/ligurio/free-software-testing-books)

free-programming-books-fr.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
### Non dépendant du langage
4747
#### Algorithmique
4848
* [Algorithmique](http://pauillac.inria.fr/~quercia/cdrom/cours), par Michel Quercia
49+
* [Complexité algorithmique](http://www.liafa.univ-paris-diderot.fr/~sperifel/livre_complexite.html), par Sylvain Perifel
4950
* [Éléments d'algorithmique](http://www-igm.univ-mlv.fr/~berstel/Elements/Elements.pdf) par D. Beauquier, J. Berstel, et Ph. Chrétienne
5051
* [France-IOI](http://www.france-ioi.org/)
5152
* [Prologin](http://www.prologin.org/)

0 commit comments

Comments
 (0)