@ -4,30 +4,30 @@ This guide details how to contribute to this repository.
## Contributor license agreement
By submitting code you agree to the [LICENSE](/LICENSE) of this repository.
By submitting code you agree to the [LICENSE](https://github.com/vhf/free-programming-books/blob/master/LICENSE) of this repository.
## Everyone is welcome to add a new free book to the list
Yep, that is true, you and your friends are welcome to add new free books to the list. And by free, we mean free, really free.
And you know what? It's really easy, see below.
## All the steps you need
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".
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.
3. We have 3 kinds of lists. Make sure you know where you're adding the link:
+ **Books** : PDF, HTML, DJVU, ePub, a gitBook.io based site, a Git repo, etc.
+ **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.
+ **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.
## Steps to add a new book
Make sure that you've read [Contribution](https://github.com/vhf/free-programming-books/wiki/Contribution), which guides you to editing a repository. Then:
1. Again, unlike other projects, we prefer multiple small commits rather than one large change in a pull request - it's fine to have one pull request, but please make sure your title reflects what you've changed.
2. Use our standard for formatting the .md file. Check it out: [Formatting](#formatting)
3. Please try to use alphabetic order.
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.
5. Use our standard for formatting the .md file. Check it out: [Formatting](#formatting)
6. Please try to use alphabetic order.
### Formatting
We are adults. Let's respect the next standard.
+ All lists are ```.md``` files. Try to learn Github's Markdown syntax. It's simple!
+ 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.
+ Sections are using level 3 heading (in HTML is ```<h3>```, in Markdown is ```###```), and subsections are using level 4 (in Markdown is ####).
+ 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 ```####```).
The idea is to have
+ ```2``` empty lines between last suggested book & header
+ ```2``` empty lines between last suggested book &new header
+ ```0``` empty line between header & first book of that very section.
+ ```0``` empty line between each book in 1 section.
+ ```1``` empty line at the end of each ```.md``` file.
- Read the [TODO](/TODO.md) file(Adding new books is our #1 priority, but things like Alphabetizing are important, too.)
- Edit (we prefer multiple small commits rather than one large change)
- [Edit](https://github.com/vhf/free-programming-books/edit/master/free-programming-books.md) (we prefer multiple small commits rather than one large change)
- [Send a PR](https://help.github.com/articles/using-pull-requests)
- be part of a project that over 19,000 people starred in 4 months. ;)
- be part of a project that over 24,000 people starred in 7 months. ;)
**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.
* [Introduction to Databases](https://class.stanford.edu/courses/Engineering/db/2014_1/about) (Stanford University)
###Haskell
* [CIS 194: Introduction to Haskell](http://www.seas.upenn.edu/~cis194/) - Brent Yorgey
* [CS240h: Functional Systems in Haskell](http://www.scs.stanford.edu/11au-cs240h/notes/) - Bryan O'Sullivan
###HTML / CSS
* [Code a personal splash page in 1 hour: A Hands-on Intro to HTML & CSS](http://www.thefirehoseproject.com/lessons/splash-page)
* [Learn HTML5 Programming From Scratch](https://www.udemy.com/learn-html5-programming-from-scratch/)
###JS
* [Egghead.io](https://egghead.io/)
###iOS
* [Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550) (slides and videos) - Stanford University
###Oracle PL/SQL
* [Steven Feuerstein's PL/SQL Obsession - Videos and Presentations](http://www.toadworld.com/platforms/oracle/w/wiki/8243.plsql-obsession.aspx)
* [Scrum und XP im harten Projektalltag](http://www.infoq.com/resource/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenchesonline_German.pdf)
* [Scrum und XP im harten Projektalltag](http://www.infoq.com/resource/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenchesonline_German.pdf) [PDF]
###Action Script
@ -36,7 +37,7 @@
###Android
* [Grundlagen und Programmierung](http://www.dpunkt.de/ebooks_files/free/3436.pdf)
* [Grundlagen und Programmierung](http://www.dpunkt.de/ebooks_files/free/3436.pdf) [PDF]
###Assembly Language
@ -45,14 +46,14 @@
###C
* [C von A bis Z](http://openbook.galileocomputing.de/c_von_a_bis_z/)
* [Softwareentwicklung in C](http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf)
* [Softwareentwicklung in C](http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf) [PDF]
###C++
* [Die Boost C++ Bibliotheken](http://www.highscore.de/cpp/boost/)
* [Programmieren in C++: Einführung](http://www.highscore.de/cpp/einfuehrung/)
* [Programmieren in C++: Aufbau](http://www.highscore.de/cpp/aufbau/)
* [Softwareprogrammierung in C++] (http://www.iaik.tugraz.at/content/teaching/bachelor_courses/betriebssysteme/downloads/schmaranz2.pdf)
* [Softwareprogrammierung in C++](http://www.iaik.tugraz.at/content/teaching/bachelor_courses/betriebssysteme/downloads/schmaranz2.pdf) [PDF]
###C Sharp
@ -65,7 +66,7 @@
###iOS
* [Apps programmieren für iPhone und iPad](http://openbook.galileocomputing.de/apps_programmieren_fuer_iphone_und_ipad/)
* [97 cosas que todo programador debería saber](http://97cosas.com/programador)
* [El camino a un mejor programador](http://emanchado.github.io/camino-mejor-programador/)
* [Videojuegos Multiplataforma con OpenFL](http://www.openflbook.com/)
####Paradigmas de Programación
@ -90,6 +99,14 @@
###Android
* [Curso de Programación Android](http://www.sgoliver.net/blog/wp-content/uploads/2011/11/Manual-Programacion-Android-SgoliverNet-v3-muestra.zip) (PDF) by Salvador Gómez Oliver
###C
* [Introducción a la programación con C](http://repositori.uji.es/xmlui/bitstream/handle/10234/24306/s29.pdf)
* [GNU/Linux: Programación de Sistemas](http://www.alcancelibre.org/filemgmt_data/files/programaciongnulinux.pdf) (PDF)
###C++
* [Ejercicios de programación creativos y recreativos en C++](http://antares.sip.ucm.es/cpareja/libroCPP/)
* [Python para ciencia e ingeniería](https://github.com/mgaitan/python-ingenieria)
@ -183,12 +202,20 @@
* [Python para principiantes (PDF)](http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-python.pdf) [(HTML)](http://librosweb.es/libro/python/)
####Django
* [El libro de Django 1.0](http://django-book.mkaufmann.com.ar/)
####Web2py
* [Web2py - Manual de Referencia Completo, 5a Edición](http://www.web2py.com/books/default/chapter/41)
###Ruby
* [Guía para aprender a programar con Ruby. Adaptación al español del libro "Learn to Program" de Chris Pine](https://github.com/rubyperu/aprende.a.programar)
* [Ruby en 20 minutos](https://www.ruby-lang.org/es/documentation/quickstart/)
###Ruby on Rails
####Ruby on Rails
* [El maldito libro de los Descarrilados](http://yottabi.com/mld.pdf) (PDF)
@ -202,3 +229,12 @@
* [Optimización Matemática con R: Volumen I](http://cran.r-project.org/doc/contrib/Optimizacion_Matematica_con_R_Volumen_I.pdf)
* [R para Principiantes](http://cran.r-project.org/doc/contrib/rdebuts_es.pdf)
###Scala
* [Escala con Ejemplos](https://github.com/ErunamoJAZZ/ScalaByExample-es) (En proceso)
* [Manual de Scala para programadores Java](http://www.scala-lang.org/docu/files/ScalaTutorial-es_ES.pdf) (PDF)
###SQL
* [Tutorial de SQL](http://www.desarrolloweb.com/manuales/9/)
* [Scrum et XP depuis les tranchées](http://www.infoq.com/resource/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenches_French.pdf), par Henrik Kniberg
####Systèmes Informatiques
* [Systèmes Informatiques (C, Unix/Linux,...)](http://sinf1252.info.ucl.ac.be/), par Olivier Bonaventure ([sources](https://github.com/obonaventure/SystemesInformatiques))
####Théorie des langages
* [Compilation. Théorie des langages](http://www.lisyc.univ-brest.fr/pages_perso/leparc/Etud/Master/Compil/Doc/CoursCompilation.pdf) par Université de Bretagne Occidentale
@ -85,7 +80,6 @@
###Caml
* [Introduction à Objective Caml](http://form-ocaml.forge.ocamlcore.org/html/index.html), par Maxence Guesdon
* [Le language Caml](http://caml.inria.fr/)
@ -203,5 +197,4 @@ Voir aussi [LaTeX](#latex)
###Vim
* [A Byte of Vim](http://swaroopch.com/notes/Vim_fr/)
* [Learn Vim Progressively](http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/)
* [Google Python スタイルガイド](http://works.surgo.jp/translation/pyguide.html) - Amit Patel, Antoine Picard, Eugene Jhong, Jeremy Hylton, Matt Smart, Mike Shields, Kosei Kitahara(翻訳)
* [The Programming Historian](https://sites.google.com/site/theprogramminghistorianja/) - William J. Turkel, Alan MacEachern, @moroshigeki(翻訳), @historyanddigi(翻訳), @Say\_no(翻訳), @knagasaki(翻訳), @mak\_goto(翻訳)
* [1ª Edição - Começar a programar (Março de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=1) (PDF)
* [2ª Edição - Iniciação à programação em Visual Basic (Maio de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=2) (PDF)
* [3ª Edição - Segurança e hacking: Scripts NASL (Julho de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=3) (PDF)
* [4ª Edição - Microcontroladores (Setembro de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=4) (PDF)
* [5ª Edição - Base de Dados (Novembro de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=5) (PDF)
* [6ª Edição - Scheme (Janeiro de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=6) (PDF)
* [7ª Edição - Introdução ao WML (WAP) (Março de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=7) (PDF)
* [8ª Edição - Windows Vista para Programadores (Maio de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=8) (PDF)
* [9ª Edição - AJAX & PHP (Julho 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=9) (PDF)
* [10ª Edição - Iniciação ao Assembly x86 (Setembro de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=10) (PDF)
* [11ª Edição - Programação Concorrente em Ambientes UNIX (Novembro de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=11) (PDF)
* [12ª Edição - Programação Orientada a Objectos em C# (Janeiro de 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=12) (PDF)
* [13ª Edição - Assinaturas Digitais em XML (Março de 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=13) (PDF)
* [14ª Edição - Reflection (Maio 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=14) (PDF)
* [15ª Edição - Estado de Visualização em ASP.NET (Agosto 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=15) (PDF)
* [16ª Edição - Visual Studio 2008 e .NET Framework 3.5 (Outubro 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=16) (PDF)
* [17ª Edição - Subversion: Controlo total sobre o software (Dezembro 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=17) (PDF)
* [18ª Edição - Cloud Computing (Fevereiro 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=18) (PDF)
* [19ª Edição - Google Web Toolkit (Abril 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=19) (PDF)
* [20ª Edição - Metaprogramação em C++ (Junho 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=20) (PDF)
* [21ª Edição - Construção de Diagramas de Blocos (Setembro 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=21) (PDF)
* [22ª Edição - Computação em Grid (Novembro 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=22) (PDF)
* [23ª Edição - Introdução à Programação para Android (Março 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=23) (PDF)
* [24ª Edição - Introdução a Bases de Dados para Objectos (Junho 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=24) (PDF)
* [25ª Edição - Pong com Slick2D em Java (Setembro 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=25) (PDF)
* [26ª Edição - LINQ:TakeLast, TakeLastWhile, SkipLast e SkipLastWhile (Dezembro 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=26) (PDF)
* [27ª Edição - Introdução ao ASP .NET MVC 3.0 (Fevereiro 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=27) (PDF)
* [28ª Edição - Business Connectivity Services (Abril 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=28) (PDF)
* [29ª Edição - GIT - Controlo de Versões para Pequenos e Grandes Projectos (Junho 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=29) (PDF)
* [30ª Edição - Introdução ao Ruby on Rails (Agosto 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=30) (PDF)
* [31ª Edição - NHibernate (Outubro 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=31) (PDF)
* [33ª Edição - Kinect Hack (Fevereiro 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=33) (PDF)
* [34ª Edição - Mobile World (Abril 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=34) (PDF)
* [35ª Edição - Tema de capa Desenvolvimento de Aplicações Web Ricas (RIA) com Ext JS 4 e Rails 3 (Junho 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=35) (PDF)
* [36ª Edição - As Novidades do Visual Studio 2012 RC (Agosto 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=36) (PDF)
* [37ª Edição - Makefiles (Outubro 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=37) (PDF)
* [38ª Edição - Introdução à Programação em CUDA (Dezembro 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=38) (PDF)
* [39ª Edição - Windows 8 Store Apps - Do sonho à realidade (Fevereiro 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=39) (PDF)
* [40ª Edição - Estruturas vs Objetos (Abril 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=40) (PDF)
* [41ª Edição - Java EE & Java Web (Junho 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=41) (PDF)
* [42ª Edição - Web Persistente/Local Storage (Setembro 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=42) (PDF)
## Livros
### C/C++
* [Apontamentos de Programação em C/C++](http://www.dei.isep.ipp.pt/~pbsousa/aulas/ano_0/2006_07/c/Sebenta-cpp-03-2006.pdf) (PDF) - Paulo Baltarejo e Jorge Santos
* [Compiler Design: Theory, Tools, and Examples, C/C++ Edition](http://elvis.rowan.edu/~bergmann/books/c_cpp/) - Seth D. Bergmann
@ -273,7 +283,7 @@
* [Data Mining Algorithms In R](http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R)
* [Data Mining and Analysis: Fundamental Concepts and Algorithms](http://www.dataminingbook.info/DokuWiki/doku.php) (Draft)
* [Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users](http://arxiv.org/pdf/1206.1754v2.pdf) (PDF)
* [Introduction to Data Science](http://jsresearch.net/wiki/projects/teachdatascience/Teach_Data_Science.html) - Jeffrey Stanton
* [Introduction to Data Science](https://docs.google.com/file/d/0B6iefdnF22XQeVZDSkxjZ0Z5VUE/edit?pli=1) - Jeffrey Stanton
* [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds.html)
* [School of Data Handbook](http://schoolofdata.org/handbook/)
* [Theory and Applications for Advanced Text Mining](http://www.intechopen.com/books/theory-and-applications-for-advanced-text-mining)
@ -297,32 +307,30 @@
* [AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java](http://wps.aw.com/wps/media/objects/5771/5909832/PDF/Luger_0136070477_1.pdf) - George F. Luger, William A Stubblefield
* [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/) - Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
* [Artificial Intelligence | Machine Learning](http://see.stanford.edu/see/materials/aimlcs229/handouts.aspx) - Andrew Ng *(Notes, lectures, and problems)*
* [Artificial Intelligence A Modern Approach](http://51lica.com/wp-content/uploads/2012/05/Artificial-Intelligence-A-Modern-Approach-3rd-Edition.pdf) (PDF)
* [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.HomePage)
* [Computer Vision: Algorithms and Applications](http://hackershelf.com/book/134/computer-vision-algorithms-and-applications/)
* [Gaussian Processes for Machine Learning](http://www.gaussianprocess.org/gpml/)
* [Machine Learning, Neural and Statistical Classification](http://www1.maths.leeds.ac.uk/~charles/statlog/whole.pdf) (PDF) or [online version](http://www1.maths.leeds.ac.uk/~charles/statlog/) - This book is based on the EC (ESPRIT) project StatLog.
* [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com)
* [Probabilistic Models in the Study of Language](http://idiom.ucsd.edu/~rlevy/pmsl_textbook/text.html) (Draft, with R code)
* [Programming Computer Vision with Python](http://programmingcomputervision.com/)
* [Reinforcement Learning: An Introduction](http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html)
* [The Elements of Statistical Learning](http://www-stat.stanford.edu/~tibs/ElemStatLearn/) - Trevor Hastie, Robert Tibshirani, and Jerome Friedman
* [The Python Game Book](http://thepythongamebook.com/en:start)
* [The LION Way: Machine Learning plus Intelligent Optimization](http://www.e-booksdirectory.com/details.php?ebook=9575)
* [Introduction to Machine Learning](http://arxiv.org/abs/0904.3664v1)
* [Power Programming with Mathematica](http://mathematica.stackexchange.com/questions/16485/are-you-interested-in-purchasing-david-wagners-power-programming-with-mathemat/22724#22724) - David B. Wagner
* [Probability and Statistics Cookbook](http://matthias.vallentin.net/probability-and-statistics-cookbook/)
* [Probability and Statistics EBook](http://wiki.stat.ucla.edu/socr/index.php/Probability_and_statistics_EBook)
* [Statistics Done Wrong](http://www.refsmmat.com/statistics/) - Alex Reinhart
@ -351,10 +360,11 @@
* [Culture \& Empire: Digital Revolution](http://hintjens.com/books) (PDF)
* [Data-Intensive Text Processing with MapReduce](http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf) (PDF)
* [Designing Interfaces](http://designinginterfaces.com) by Jennifer Tidwell
* [DevDocs](http://devdocs.io/) - Documents for Developers in 1 place
* [Digital Signal Processing For Engineers and Scientists](http://www.dspguide.com/)
* [Digital Signal Processing For Communications](http://www.sp4comm.org/)
* [Distributed systems for fun and profit](http://book.mixu.net/distsys/single-page.html)
* ["DYNAMIC LINKED LIBRARIES": Paradigms of the GPL license in contemporary software](http://www.lulu.com/shop/luis-enríquez-a/dynamic-linked-libraries-paradigms-of-the-gpl-license-in-contemporary-software/ebook/product-21371318.html) - Luis A. Enríquez
* ["DYNAMIC LINKED LIBRARIES": Paradigms of the GPL license in contemporary software](http://www.lulu.com/shop/luis-enriquez-a/dynamic-linked-libraries-paradigms-of-the-gpl-license-in-contemporary-software/ebook/product-21371318.html) - Luis A. Enríquez
* [Flow based Programming](http://jpaulmorrison.com/fbp/#book)
* [Foundations of Programming](http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx)
* [Free as in Freedom](http://static.fsf.org/nosvn/faif-2.0.pdf) (PDF)
* [Getting started with Open source development](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_started_with_open_source_development_p2.pdf) (PDF)
* [How to get started with open source](https://opensource.com/resources/how-get-started-open-source) (ePub & ODT)
* [Open Advice: FOSS: What We Wish We Had Known When We Started](http://open-advice.org/)
* [Producing Open Source Software](http://producingoss.com/)
* The Art of Community: Building the New Age of Participation; [First edition](http://www.artofcommunityonline.org/downloads/jonobacon-theartofcommunity-1ed.pdf) (PDF), [Second edition](http://ubuntuone.com/0n352YwUjlcFR8PjIELH67) (PDF) - Jono Bacon
* [The Architecture of Open Source Applications: Vol. 1: Elegance, Evolution, and a Few Fearless Hacks; Vol. 2: Structure, Scale, and a Few More Feerless Hacks](http://www.aosabook.org/en/index.html)
* [The Cathedral and the Bazaar](http://www.catb.org/esr/writings/cathedral-bazaar/) - Eric S. Raymond
* [The Future of Ideas](http://the-future-of-ideas.com/download/lessig_FOI.pdf)
* [The Future of the Internet](http://futureoftheinternet.org/)
* [The Performance of Open Source Applications](http://aosabook.org/en/)
* [The Wealth of Networks: How Social Production Transforms Markets and Freedom](http://cyber.law.harvard.edu/wealth_of_networks/Main_Page) - Yochai Benkler
####Operating systems
* [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/) - Eric S. Raymond
* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey
* [How to Make a Computer Operating System (Work in Progress)](https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System)
* [Operating System Concepts, 8th Edition](http://elajt.info/lit/OS_8th_Edition.pdf) (PDF)
* [Operating Systems and Middleware](https://gustavus.edu/mcs/max/os-book/) (PDF and LaTeX)
* [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/) (PDF)
* [Practical File System Design:The Be File System](http://www.nobius.org/~dbg/practical-file-system-design.pdf) (PDF) - Dominic Giampaolo
* [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/) - Eric S. Raymond
* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey
* [UNIX Application and System Programming, lecture notes](http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/unix_lecture_notes.php) (PDFs) - Prof. Stewart Weiss
* [Xv6, a simple Unix-like teaching operating system](http://pdos.csail.mit.edu/6.828/2012/xv6.html) (PDF)
* [Introduction to High-Performance Scientific Computing](http://tacc-web.austin.utexas.edu/veijkhout/public_html/istc/istc.html) - Victor Eijkhout
* [Introduction to Parallel Computing](https://computing.llnl.gov/tutorials/parallel_comp/) - Blaise Barney
* [Is Parallel Programming Hard, And, If So, What Can You Do About It?](http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html)
* [Is Parallel Programming Hard, And, If So, What Can You Do About It?](https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html) - Paul E. McKenney
* [Programming on Parallel Machines; GPU, Multicore, Clusters and More](http://heather.cs.ucdavis.edu/parprocbook) - Norm Matloff
* [Partial Evaluation and Automatic Program Generation](http://www.itu.dk/people/sestoft/pebook/) - (PDF) Jones, Gomard and Sestoft
####Professional Development
@ -463,6 +478,7 @@
####Security
* [Crypto 101 - Crypto for everyone](https://www.crypto101.io/)
* [Handbook of Applied Cryptography](http://cacr.uwaterloo.ca/hac/index.html)
* [How to deal with Passwords](https://github.com/MHM5000/pass)
* [Intrusion Detection Systems with Snort](http://ptgmedia.pearsoncmg.com/images/0131407333/downloads/0131407333.pdf)
@ -482,6 +498,7 @@
* [How to Design Programs](http://www.htdp.org/)
* [How to Write Unmaintainable Code](http://mindprod.com/jgloss/unmain.html)
* [Kanban and Scrum - making the most of both](http://www.infoq.com/minibooks/kanban-scrum-minibook)
* [Kanban for skeptics](https://leanpub.com/kanbanforskeptics) (Leanpub, by Nick Oostvogels)
* [Methods and Techniques for the Design and Implementation of Domain-Specific Languages](http://www.st.ewi.tudelft.nl/~arie/phds/Hemel.pdf) - Zef Hemel
* [Naked objects](http://downloads.nakedobjects.net/resources/Pawson%20thesis.pdf) - Richard Pawson
* [NASA Manager Handbook for Software Development](http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-manage.pdf) (PDF)
@ -494,11 +511,10 @@
* [Programming Reliable Systems (Joe Armstrong's PhD thesis)](http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf) (PDF)
* [Scrum and XP from the Trenches](http://www.infoq.com/minibooks/scrum-xp-from-the-trenches)
* [Twitter Bootstrap Succinctly](http://www.syncfusion.com/resources/techportal/ebooks/twitterbootstrap) (PDF, Kindle) *(Just fill the fields with any values)*
###Icon
@ -879,16 +908,21 @@
###iOS
* [iOS Succinctly, Syncfusion](http://www.syncfusion.com/resources/techportal/ebooks/ios) (PDF, Kindle) *(Just fill the fields with any values)*
* [Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550) (slides and videos) - Stanford University
* [Cocoa Dev Central](http://cocoadevcentral.com/)
###Isabelle/HOL
* [Concrete Semantics - A Proof Assistant Approach by Tobias Nipkow and Gerwin Klein](http://www21.in.tum.de/~nipkow/Concrete-Semantics/) (PDF)
* [Isabelle/HOL - A Proof Assistant for Higher-Order Logic by Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel](http://isabelle.in.tum.de/doc/tutorial.pdf) (PDF)
###J
* [Learning J by Roger Stokes- online](http://www.rogerstokes.free-online.co.uk/book.htm) || [pdf](http://www.elliscave.com/APL_J/Learning_J.pdf)
* [Learning J by Roger Stokes- online](http://www.rogerstokes.free-online.co.uk/book.htm)
* [J for C Programmers by Henry Rich- online](http://www.jsoftware.com/help/jforc/contents.htm) || [pdf](http://www.jsoftware.com/jwiki/HenryRich?action=AttachFile&do=get&target=JforC20071003.pdf) || [word 2003 file](http://www.jsoftware.com/jwiki/HenryRich?action=AttachFile&do=get&target=JforC20070929.doc)
* [Brief Reference by Chris Burke and Clifford Reiter](http://www.jsoftware.com/books/pdf/brief.pdf) (PDF)
* [Computers and Mathematical Notation by Kenneth E Iverson](http://www.jsoftware.com/papers/camn.htm)
* [Easy J by Linda Alvord, Norman Thomson - pdf](http://www.jsoftware.com/books/pdf/easyj.pdf) || [Word DOC](http://www.jsoftware.com/books/doc/easyj_doc.zip)
* [Easy J by Linda Alvord, Norman Thomson (PDF)](http://www.jsoftware.com/books/pdf/easyj.pdf) || [Word DOC](http://www.jsoftware.com/books/doc/easyj_doc.zip)
* [Math for the Layman by Kenneth E Iverson](http://www.jsoftware.com/books/pdf/mftl.zip) (zipped html+images)
* [Exploring Math by Kenneth E Iverson](http://www.jsoftware.com/books/pdf/expmath.pdf) (PDF)
* [Arithmetic by Kenneth E Iverson](http://www.jsoftware.com/books/pdf/arithmetic.pdf) (PDF)
@ -909,7 +943,7 @@
* [Hibernate 4 Example Programs](https://leanpub.com/hibernate4-example-programs) - L. Mohan Arun
* [HTTP Programming Recipes for Java Bots](http://www.heatonresearch.com/articles/series/16)
* [Introduction to Computer science using Java](http://chortle.ccsu.edu/java5/index.html)
* [Introduction to Neural Networks with Java](http://www.heatonresearch.com/articles/series/1) -
* [Introduction to Neural Networks with Java](http://www.heatonresearch.com/articles/series/1)
* [Introduction to Programming in Java](http://introcs.cs.princeton.edu/java/home/) - Robert Sedgewick and Kevin Wayne
* [Introduction to Programming Using Java](http://math.hws.edu/javanotes/) - David J. Eck
* [The Java Language Specification](http://java.sun.com/docs/books/jls/) - James Gosling, Bill Joy, Guy Steele, Gilad Bracha
* [The Java Tutorial 4th Edition](http://download.oracle.com/javase/tutorial/) - Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Tom Risser, Mark Hoeber
* [Think Java: How to Think Like a Computer Scientist](http://greenteapress.com/thinkapjava/) - Allen B. Downey
@ -934,6 +969,7 @@
* [Introduction to Computer science using Java](http://chortle.ccsu.edu/java5/index.html)
* [Processing XML with Java (A Guide to SAX, DOM, JDOM, JAXP, and TrAX)](http://www.cafeconleche.org/books/xmljava/) - Elliotte Rusty Harold
* [Welcome to the Java Workshop](http://javaworkshop.sourceforge.net/) - An Apache Project
* [What's New in Java 8](https://leanpub.com/whatsnewinjava8/read) - Adam L. Davis
####Wicket
* [Official Free Online Guide for Apache Wicket framework](http://wicket.apache.org/guide/)
@ -943,8 +979,9 @@
* [Book of Modern Frontend Tooling](https://github.com/tooling/book-of-modern-frontend-tooling)
* [Crockford's JavaScript](http://www.crockford.com/javascript/) - Douglas Crockford
* [JavaScript Garden](http://bonsaiden.github.io/JavaScript-Garden/) (Maintained by Tim Ruffles)
* [JavaScript Patterns Collection](http://shichuan.github.io/javascript-patterns/) - Shi Chuan
* [Javascript Succinctly, Syncfusion](http://www.syncfusion.com/resources/techportal/ebooks/javascript) (PDF, Kindle) *(Just fill the fields with any values)*
* [Javascript the Right Way](https://github.com/braziljs/js-the-right-way)
* [Patterns For Large-Scale JavaScript Application Architecture](http://addyosmani.com/largescalejavascript/) - Addy Osmani
* [Managing Space and Time with JavaScript - Book 1: The Basics](http://www.noelrappin.com/) - Noel Rappin
* [Marionette Exposé: Learn to write modular Javascript applicatons using Backbone Marionette and RequireJS/AMD](http://leanpub.com/marionetteexpose) - Jack Killilea
* [Fundamentals of Computer Programming with C#](http://www.introprogramming.info/english-intro-csharp-book/read-online/) - Svetlin Nakov
* [HTTP Programming Recipes for C# Bots](http://www.heatonresearch.com/articles/series/20)
* [Game Creation with XNA](http://en.wikibooks.org/wiki/Game_Creation_with_XNA)
* [Moving to Microsoft Visual Studio 2010](http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx)
* [.NET for Visual FoxPro Developers](http://foxcentral.net/microsoft/NETforVFPDevelopers.htm)
* [.NET Performance Testing and Optimization - The Complete Guide](http://download.red-gate.com/ebooks/DotNet/Perf_Test_and_opt_eBook.zip) *(RedGate, By Paul Glavich and Chris Farrell)*
* [Practical Performance Profiling: Improving the efficiency of .NET code](http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/entrypage/practical-performance-profiling) *(RedGate, By Jean-Philippe Gouigoux)*
* [Threading in C#](http://www.albahari.com/threading/)
* [Visual Studio Tips and Tricks](http://www.infoq.com/minibooks/vsnettt) (VS 2003-2005 only)
* [Under the Hood of .NET Memory Management](http://download.red-gate.com/ebooks/DotNet/Under_the_Hood_of_.NET_Management.pdf) (PDF) *(RedGate, By Chris Farrell and Nick Harrison)*
* [Practical Performance Profiling: Improving the efficiency of .NET code](http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/entrypage/practical-performance-profiling) *(RedGate, By Jean-Philippe Gouigoux)*
* [.NET Performance Testing and Optimization - The Complete Guide](http://download.red-gate.com/ebooks/DotNet/Perf_Test_and_opt_eBook.zip) *(RedGate, By Paul Glavich and Chris Farrell)*
* [HTTP Programming Recipes for C# Bots](http://www.heatonresearch.com/articles/series/20)
* [Game Creation with XNA](http://en.wikibooks.org/wiki/Game_Creation_with_XNA)
* [Programming in Oberon](http://www-old.oberon.ethz.ch/WirthPubl/ProgInOberon.pdf) (PDF)
* [Object-Oriented Programming in Oberon-2](http://ssw.jku.at/Research/Books/Oberon2.pdf) (PDF)
* [Programming in Oberon](http://www-old.oberon.ethz.ch/WirthPubl/ProgInOberon.pdf) (PDF)
###Objective-C
* [Programming With Objective-C](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf) (PDF)
* [Object-Oriented Programming with Objective-C](http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/OOP_ObjC/OOP_ObjC.pdf) (PDF)
* [Objective-C Succinctly, Syncfusion](http://www.syncfusion.com/resources/techportal/ebooks/objective-c) (PDF, Kindle) *(Just fill the fields with any values)*
* [Programming With Objective-C](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf) (PDF)
* [Text Processing in Python](http://gnosis.cx/TPiP/) - David Mertz
* [Welcome to Problem Solving with Algorithms and Data Structures](http://interactivepython.org/runestone/static/pythonds/index.html) - Brad Miller and David Ranum
* [Web2py: Complete Reference Manual, 6th Edition (pre-release)](http://web2py.com/book) - HTML
* [Web2py: Complete Reference Manual, 6th Edition (pre-release)](https://dl.dropbox.com/u/18065445/web2py/web2py_manual_5th.pdf) - PDF
* [Ruby on Rails Guides](http://guides.rubyonrails.org)
* [Ruby on Rails Tutorial: Learn Rails By Example](http://ruby.railstutorial.org/ruby-on-rails-tutorial-book)
* [Ruby on Rails 3.2 - Step by Step](http://www.xyzpub.com/en/ruby-on-rails/3.2/)
* [Ruby on Rails 4.0 Guide](http://www.xyzpub.com/en/ruby-on-rails/4.0/)
* [Upgrading to Rails 4](https://github.com/alindeman/upgradingtorails4)
@ -1482,12 +1550,13 @@ See also [TeX](#tex)
###Scheme
* [An Introduction to Scheme and its Implementation](http://www.cs.rpi.edu/academics/courses/fall00/ai/scheme/reference/schintro-v14/schintro_toc.html)
* [Concrete Abstractions: An Introduction to Computer Science Using Scheme](https://gustavus.edu/+max/concrete-abstractions.html)
* [How to Design Programs](http://htdp.org)
* [Structure and Interpretion of Computer Programs](http://mitpress.mit.edu/sicp/full-text/book/book.html)
* The Scheme Programming Language [Edition 3](http://www.scheme.com/tspl3/), [Edition 4](http://www.scheme.com/tspl4/)
* [Structure and Interpretion of Computer Programs](http://mitpress.mit.edu/sicp/full-text/book/book.html)
* [Teach Yourself Scheme in Fixnum Days](http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html)
* The Scheme Programming Language [Edition 3](http://www.scheme.com/tspl3/), [Edition 4](http://www.scheme.com/tspl4/)
###Scilab
@ -1517,6 +1586,7 @@ See also [TeX](#tex)
###SQL (implementation agnostic)
* [A Primer on SQL, Second Edition](https://leanpub.com/aprimeronsql)
* [Developing Time-Oriented Database Applications in SQL](http://www.cs.arizona.edu/people/rts/publications.html)
* [Learn SQL The Hard Way](http://sql.learncodethehardway.org/)
* [SQL For Web Nerds](http://philip.greenspun.com/sql/)
@ -1524,6 +1594,7 @@ See also [TeX](#tex)
###SQL Server
* [Introducing Microsoft SQL Server 2014](http://blogs.msdn.com/b/microsoft_press/archive/2014/04/02/free-ebook-introducing-microsoft-sql-server-2014.aspx)
* [Introducing Microsoft SQL Server 2008 R2](http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx#IntroducingMicrosoftSQLServer2008R2)
* [Introducing Microsoft SQL Server 2012](http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx#IntroducingMicrosoftSQLServer2012)
* [SQL Server 2012 Tutorials: Reporting Services](http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx#SQLServer2012Tutorials:ReportingServices)
@ -1579,6 +1650,7 @@ See also [LaTeX](#latex)
###TypeScript
* [TypeScript for C# Programmers](http://www.infoq.com/minibooks/typescript-c-sharp-programmers)
* [TypeScript Succinctly, Syncfusion](http://www.syncfusion.com/resources/techportal/ebooks/typescript) (PDF, Kindle) *(Just fill the fields with any values)*
@ -1588,10 +1660,11 @@ See also [LaTeX](#latex)
* [Conquering the Command Line](http://www.conqueringthecommandline.com/)
* [Unix Toolbox](http://cb.vu/unixtoolbox.xhtml) - Colin Barschel
* [UNIX Tutorial for Beginners](http://www.ee.surrey.ac.uk/Teaching/Unix/) (HTML)
* [Unix for Poets](http://www.stanford.edu/class/cs124/kwc-unix-for-poets.pdf) - Kenneth Ward Church (PDF)
###Vim
* [A Byte of Vim](http://www.swaroopch.com/notes/Vim)
* [A Byte of Vim](http://www.swaroopch.com/notes/vim/)
* [A guide to getting started with VIM](http://www.integralist.co.uk/posts/a-guide-to-getting-started-with-vim/)
* [Vi Improved -- Vim](http://www.truth.sk/vim/vimbook-OPL.pdf) (PDF) by Steve Oualline
* [Use Vim Like A Pro](https://leanpub.com/VimLikeAPro) *(Leanpub, by Tim Ottinger)*
###Visual Prolog
* [A Beginners' Guide to Visual Prolog](http://wiki.visual-prolog.com/index.php?title=A_Beginners_Guide_to_Visual_Prolog)
* [Visual Prolog for Tyros](http://wiki.visual-prolog.com/index.php?title=Visual_Prolog_for_Tyros)
###Web Services
* [RESTful Web Services](http://restfulwebapis.org/RESTful_Web_Services.pdf) (PDF)
###Windows 8
* [Programming Windows 8 Apps with HTML, CSS, and JavaScript](http://blogs.msdn.com/b/microsoft_press/archive/2012/06/04/free-ebook-programming-windows-8-apps-with-html-css-and-javascript-first-preview.aspx)
* [Programming Windows 8 Apps with HTML, CSS, and JavaScript (v1)](http://blogs.msdn.com/b/microsoft_press/archive/2012/10/29/free-ebook-programming-windows-8-apps-with-html-css-and-javascript.aspx)
* * [Programming Windows 8 Apps with HTML, CSS, and JavaScript (v2, incomplete)](http://blogs.msdn.com/b/microsoft_press/archive/2013/10/29/free-ebook-programming-windows-store-apps-with-html-css-and-javascript-second-edition-second-preview.aspx)
###Windows Phone
* [Developing An Advanced Windows Phone 7.5 App That Connects To The Cloud](http://coolthingoftheday.blogspot.co.uk/2012/05/free-ebook-guidance-advanced-windows.html)
* [Programming Windows Phone 7](http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx)
* [Windows Phone Programming Blue Book](http://www.robmiles.com/c-yellow-book/)
* [Windows Phone 8 Development Succinctly](http://www.syncfusion.com/resources/techportal/ebooks/windowsphone8) (PDF) by Matteo Pagani