###Index * [Meta-Lists](#meta-lists) * [Graphics Programming](#graphics-programming) * [Language Agnostic](#language-agnostic) * [Ada](#ada) * [Android](#android) * [Autotools](#autotools) * [ASP.NET MVC](#aspnet-mvc) * [Assembly Language](#assembly-language) * [Bash](#bash) * [C](#c) * [C++](#c-1) * [Clojure](#clojure) * [CoffeeScript](#coffeescript) * [ColdFusion](#coldfusion) * [D / DTrace](#d--dtrace) * [DB2](#db2) * [Delphi / Pascal](#delphi--pascal) * [Django](#django) * [Elasticsearch](#elasticsearch) * [Emacs](#emacs) * [Erlang](#erlang) * [Flask](#flask) * [Flex](#flex) * [F#](#f-sharp) * [Forth](#forth) * [Git](#git) * [Go](#go) * [Grails](#grails) * [Hadoop](#hadoop) * [Haskell](#haskell) * [HTML / CSS](#html--css) * [Icon](#icon) * [IDL](#idl) * [Java](#java) * [JavaScript](#javascript) * [Node.js](#nodejs) * [D3.js](#d3js) * [LaTeX](#latex) * [Linux](#linux) * [Lisp](#lisp) * [Lua](#lua) * [Mathematica](#mathematica) * [Maven](#maven) * [Mercurial](#mercurial) * [.NET (C# / VB / Nemerle / Visual Studio)](#net-c--vb--nemerle--visual-studio) * [NoSQL](#nosql) * [Oberon](#oberon) * [Objective-C](#objective-c) * [OCaml](#ocaml) * [Oracle Server](#oracle-server) * [Oracle PL/SQL](#oracle-plsql) * [Parrot / Perl 6](#parrot--perl-6) * [Perl](#perl) * [PHP](#php) * [PowerShell](#powershell) * [Processing](#processing) * [Prolog](#prolog) * [PostgreSQL](#postgresql) * [Python](#python) * [R](#r) * [Racket](#racket) * [Ruby](#ruby) * [Ruby on Rails](#ruby-on-rails) * [Rust](#rust) * [Sage](#sage) * [Scala](#scala) * [Scheme](#scheme) * [Sed](#sed) * [Smalltalk](#smalltalk) * [Subversion](#subversion) * [SQL (implementation agnostic)](#sql-implementation-agnostic) * [Teradata](#teradata) * [Theory](#theory) * [Vim](#vim) * [Websphere](#websphere) * [Windows Phone](#windows-phone) ###Meta-Lists * [25 Free Computer Science Ebooks](http://www.coderholic.com/25-free-computer-science-books/) * [Cheat Sheets (Free)](http://refcardz.dzone.com/) * [Free Tech Books](http://www.freetechbooks.com/) * [Microsoft Press: Free E-Books](http://blogs.msdn.com/b/microsoft_press/archive/2011/03/03/ebooks-list-of-our-free-books.aspx) * [MindView Inc](http://www.mindviewinc.com/Books/) * [O'Reilly's Open Books Project](http://oreilly.com/openbook/) * [TechBooksForFree.com](http://www.techbooksforfree.com/) * [Theassayer.org](http://theassayer.org/) * [Wikibooks: Programming](http://en.wikibooks.org/wiki/Category%3aComputer_programming) ###Graphics Programming * [DirectX manual](http://www.xmission.com/~legalize/book/download/index.html) (draft) * [Learning Modern 3D Graphics Programming](http://www.arcsynthesis.org/gltut/) (draft) * [Introduction to Modern OpenGL](http://open.gl/) * [GPU Gems](http://http.developer.nvidia.com/GPUGems/gpugems_part01.html) * [GPU Gems 2](http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html) - [ch 8,14,18,29,30 as pdf](ftp://download.nvidia.com/developer/GPU_Gems_2/) * [GPU Gems 3](http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html) * [Graphics Programming Black Book](http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698) * [OpenGL Insights](http://openglinsights.com) (chapters 22, 23, 28, 33, 39) * [ShaderX series](http://tog.acm.org/resources/shaderx/) ###Language Agnostic ####Algorithms & Datastructures * [Algorithms and Data-Structures](http://www.ethoberon.ethz.ch/WirthPubl/AD.pdf) (PDF) * [Algorithms](http://www.cs.berkeley.edu/~vazirani/algorithms.html) (draft) * [Binary Trees](http://cslibrary.stanford.edu/110/BinaryTrees.pdf) * [Clever Algorithms](http://www.cleveralgorithms.com/nature-inspired/index.html) * [Computational Geometry: Algorithms and Applications](http://www.cs.uu.nl/geobook/) (chapters 1 and 9, pseudo-code) * [Data Structures and Algorithms: Annotated Reference with Examples](http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/) * [The Algorithm Design Manual](http://www8.cs.umu.se/kurser/TDBAfl/VT06/algorithms/BOOK/BOOK/BOOK.HTM) * [Hacker's Delight](http://www.hackersdelight.org) (chapter 2, code) * [LEDA: A Platform for Combinatorial and Geometric Computing](http://www.mpi-inf.mpg.de/~mehlhorn/LEDAbook.html) * [Planning Algorithms](http://planning.cs.uiuc.edu/) * [Linked List Basics](http://cslibrary.stanford.edu/103/LinkedListBasics.pdf) * [Linked List Problems](http://cslibrary.stanford.edu/105/LinkedListProblems.pdf) * [Open Data Structures](http://opendatastructures.org/) * [Purely Functional Data Structures](http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf) ####Operating systems * [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/) * [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey * [Operating Systems and Middleware](https://gustavus.edu/mcs/max/os-book/) (PDF and LaTeX) ####Database * [Database Fundamentals](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf) (PDF) * [Database-backed Web Sites](http://philip.greenspun.com/wtr/dead-trees/) ####Networking * [High-Performance Browser Networking](http://chimera.labs.oreilly.com/books/1230000000545/index.html) * [The TCP/IP Guide](http://www.tcpipguide.com/free/t_toc.htm) * [Understanding IP Addressing: Everything you ever wanted to know](http://www.apnic.net/__data/assets/pdf_file/0020/8147/501302.pdf) (PDF) * [ZeroMQ Guide](http://zguide.zeromq.org/page:all) ####Compiler Design * [Compiler Construction](http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf) (PDF) * [Let's Build a Compiler](http://www.stack.nl/~marcov/compiler.pdf) * [Linkers and loaders](http://www.iecc.com/linker/) ####Programming Paradigms * [Introduction to Functional Programming](http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/) (class lectures and slides) * [Type Theory and Functional Programming](https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/) ####Parallel Programming * [How to Write Parallel Programs](http://www.lindaspaces.com/book/) * [Is Parallel Programming Hard, And, If So, What Can You Do About It?](http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html) ####Software Architecture * [The Architecture of Open Source Applications](http://www.aosabook.org/en/index.html) * [Programming Pearls](http://cs.bell-labs.com/cm/cs/pearls/) * [Seamless Object-Oriented Software Architecture](http://www.bon-method.com/book_print_a4.pdf) * [Summary of the GoF Design Patterns](http://domaindrivendesign.org/sites/default/files/discussion/PatternSummariesUnderCreativeCommons.doc) * [How to write Unmaintainable Code](http://mindprod.com/jgloss/unmain.html) * [OO Design](http://homepage.mac.com/s_lott/books/oodesign.html) * [Object-Oriented Reengineering Patterns](http://scg.unibe.ch/download/oorp/) * [Patterns and Practices: Application Architecture Guide 2.0](http://www.codeplex.com/AppArchGuide) * [The Definitive Guide to Building Code Quality](http://nexus.realtimepublishers.com/dgbcq.php) * [Patterns of Software: Tales from the Software Community](http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf) (PDF) * [Best Kept Secrets of Peer Code Review](http://smartbear.com/codecollab-code-review-book.php) * [Domain Driven Design Quickly](http://www.infoq.com/minibooks/domain-driven-design-quickly) * [Essential Skills for Agile Development](http://elliottback.com/wp/essential-skills-for-agile-development/) ####Information Retrieval * [Introduction to Information Retrieval](http://nlp.stanford.edu/IR-book/information-retrieval-book.html) ####Datamining * [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds.html) ####Mathematics * [Think Bayes: Bayesian Statistics Made Simple](http://www.greenteapress.com/thinkbayes/) - Allen B. Downey * [Think Stats: Probability and Statistics for Programmers](http://greenteapress.com/thinkstats/) (PDF, code written in Python) - Allen B. Downey * [Mathematical Logic - an Introduction](http://www.ii.uib.no/~michal/und/i227/book/book.pdf) (PDF) ####Misc * [97 Things Every Programmer Should Know](http://programmer.97things.oreilly.com/) * [97 Things Every Programmer Should Know - Extended](https://leanpub.com/97-Things-Every-Programmer-Should-Know-Extended) * [How to Design Programs](http://www.htdp.org/) * [How to Think Like a Computer Scientist](http://openbookproject.net/thinkcs/) * [I Am a Bug](http://www.amibug.com/iamabug/p01.html) * [Learn to Program](http://pine.fm/LearnToProgram/) * [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html) - Al Aho and Jeff Ullman * [Foundations of Programming](http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx) * [Structure and Interpretation of Computer Programs](http://mitpress.mit.edu/sicp/) * [An Introduction to the Theory of Computation](http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html) * [Programming Languages: Application and Interpretation](http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/) * [Programming Methodology](http://www.stanford.edu/class/cs106a/cgi-bin/handouts/) * [Category Theory for Computing Science](http://www.math.mcgill.ca/triples/Barr-Wells-ctcs.pdf) * [The Cathedral and the Bazaar](http://www.catb.org/esr/writings/cathedral-bazaar/) * [Communicating Sequential Processes (PDF)](http://www.usingcsp.com/cspbook.pdf) - Tony Hoare * [Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts](http://www.scribd.com/doc/175241338/Come-Let-s-Play) * [Computer Musings](http://scpd.stanford.edu/knuth/index.jsp) (lectures by Donald Knuth) * [How Computers Work](http://www.fastchip.net/howcomputerswork/p1.html) * [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 * [Digital Signal Processing For Engineers and Scientists](http://www.dspguide.com/) * [Distributed systems for fun and profit](http://book.mixu.net/distsys/single-page.html) * [Don't Just Roll the Dice](http://www.neildavidson.com/dontjustrollthedice.html) * [Essentials of Metaheuristics](http://cs.gmu.edu/~sean/book/metaheuristics/) by Sean Luke * [A Field Guide To Genetic Programming](http://dces.essex.ac.uk/staff/rpoli/gp-field-guide/toc.html) * [Flow based Programming](http://jpaulmorrison.com/fbp/#book) * [Getting Real](http://gettingreal.37signals.com/) * [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) * [The Great Tree List Recursion Problem](http://cslibrary.stanford.edu/109/TreeListRecursion.pdf) * [Guide to the Software Engineering Body of Knowledge](http://www.computer.org/portal/web/swebok) * [Matters Computational](http://www.jjj.de/fxt/#fxtbook) * [Modeling Reactive Systems with Statecharts](http://www.scribd.com/doc/167971960/Modeling-Reactive-Systems-With-Statecharts) * [NASA Manager Handbook for Software Development](http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-manage.pdf) (PDF) * [NASA Software Measurement Handbook](http://www.scribd.com/doc/7181362/NASA-Software-Measurement-Guidebook) * [PNG: The Definitive Guide](http://www.libpng.org/pub/png/book/) * [Pointers And Memory](http://cslibrary.stanford.edu/102/PointersAndMemory.pdf) * [Programming Reliable Systems (Joe Armstrong's PhD thesis)](http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf) * [Producing Open Source Software](http://producingoss.com/) * [Project Oberon](http://www-old.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf) (PDF) * [Security Engineering](http://www.cl.cam.ac.uk/~rja14/book.html) * [Small Memory Software](http://www.smallmemory.com/book.html) * [The Art of Computer Programming](http://www.cs.utsa.edu/~wagner/knuth/) (fascicles, mostly volume 4) * [Think Complexity](http://www.greenteapress.com/compmod/) - Allen B. Downey * [Introduction to High-Performance Scientific Computing](http://tacc-web.austin.utexas.edu/veijkhout/public_html/istc/istc.html) - Victor Eijkhout ####MOOC * [Online Course Materials](http://ocw.mit.edu/OcwWeb/web/home/home/index.htm) ###Ada * [Ada 95: The Craft of Object-Oriented Programming](http://faculty.cs.wwu.edu/reedyc/AdaResources/bookhtml/contents.htm) * [Ada Distilled](http://www.adapower.com/pdfs/AdaDistilled07-27-2003.pdf) * [Ada for Software Engineers](http://www.adapower.com/pdfs/AdaDistilled07-27-2003.pdf) ###Android * [Google Android Developer Training](https://developer.android.com/training/index.html) * [Coreservlets Android Programming Tutorial](http://www.coreservlets.com/android-tutorial/) ###Autotools * [GNU Autoconf, Automake and Libtool](http://sourceware.org/autobook/) ###ASP.NET MVC * [ASP.NET MVC Music Store](http://mvcmusicstore.codeplex.com/) * [NerdDinner Walkthrough](http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx) ###Assembly Language * [Paul Carter's Tutorial on x86 Assembly](http://drpaulcarter.com/pcasm/) * [Professional Assembly Language](http://blog.hit.edu.cn/jsx/upload/AT%EF%BC%86TAssemblyLanguage.pdf) * [Programming from the Ground Up](http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf) (PDF) * [Software optimization resources by Agner Fog](http://www.agner.org/optimize/) ###Bash * [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/) * [Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/) by Machtelt Garrels * [Lhunath's Bash Guide](http://mywiki.wooledge.org/BashGuide) * [The Command Line Crash Course](http://learncodethehardway.org/cli/book/) (also a Powershell reference) ###C * [Beej's Guide to C Programming](http://beej.us/guide/bgc/) * [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/) * [The C book](http://publications.gbdirect.co.uk/c_book/) * [Essential C](http://cslibrary.stanford.edu/101/EssentialC.pdf) * [Learn C the hard way](http://c.learncodethehardway.org/book/) * [The new C standard - an annotated reference](http://www.knosof.co.uk/cbook/cbook.html) * [Object Oriented Programming in C](http://www.planetpdf.com/codecuts/pdfs/ooc.pdf) (PDF) ###C++ * [C++ Annotations](http://cppannotations.sourceforge.net/) * [C++ GUI Programming With Qt 3](http://www.computer-books.us/cpp_0010.php) * [CS106X Programming Abstractions in C++](http://www.stanford.edu/class/cs106x/) * [Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt](http://www.jjj.de/fxt/fxtbook.pdf) * [Software optimization resources by Agner Fog](http://www.agner.org/optimize/) * [Thinking in C++, Second Edition](http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html) * Also see: [The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/511601) ###Clojure * [Clojure Programming](http://en.wikibooks.org/wiki/Clojure_Programming) * [Clojure - Functional Programming for the JVM](http://java.ociweb.com/mark/clojure/article.html) * [Data Sorcery with Clojure](http://data-sorcery.org/contents/) ###CoffeeScript * [Smooth CoffeeScript](http://autotelicum.github.com/Smooth-CoffeeScript/SmoothCoffeeScript.html) * [The Little Book on CoffeeScript](http://arcturo.github.com/library/coffeescript/) ###ColdFusion * [CFML In 100 Minutes](https://github.com/mhenke/CFML-in-100-minutes/blob/master/cfml100mins.markdown) * [Learn CF in a Week](http://learncfinaweek.com/) ###D / DTrace * [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html) ###DB2 * [Getting started with DB2 Express-C](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_Express_v9.7_p4.pdf) (PDF) * [Getting started with IBM Data Studio for DB2](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_IBM_Data_Studio_for_DB2_p3.pdf) (PDF) * [Getting started with IBM DB2 development](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_App_Dev_p2.pdf) (PDF) ###Delphi / Pascal * [Essential Pascal Version 1 and 2](http://www.marcocantu.com/epascal/) ###Django * [Djen of Django](http://agiliq.com/books/djenofdjango/) * [Django by Example](http://www.lightbird.net/dbe/) ###Elasticsearch * [Exploring Elasticsearch](http://exploringelasticsearch.com/) ###Emacs * [GNU Emacs Manual, 17th Edition, v. 24.2](http://shop.fsf.org/product/Emacs_Manual_24/) * [An Introduction to Programming in Emacs Lisp, 3rd Edition](https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html) ###Erlang * [Learn You Some Erlang For Great Good](http://learnyousomeerlang.com/) ###Flask * [The Flask Mega-Tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) ###Flex * [Getting started with Adobe Flex](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_Adobe_Flex_p2.pdf) (PDF) ###F Sharp * [The F# Survival Guide](http://www.ctocorner.com/fsharp/book/ch0.aspx) * [F Sharp Programming](http://en.wikibooks.org/wiki/F_Sharp_Programming) in Wikibooks * [Real World Functional Programming](http://msdn.microsoft.com/en-us/library/hh314518.aspx) (MSDN Chapters) * [Programming Language Concepts for Software Developers](http://www.itu.dk/courses/BPRD/E2009/plcsd-1-2.pdf) (PDF) ###Forth * [Starting Forth](http://home.iae.nl/users/mhx/sf.html) * [Thinking Forth](http://thinking-forth.sourceforge.net/) ###Git * [Pro Git](http://git-scm.com/book) * [Git From The Bottom Up](http://ftp.newartisans.com/pub/git.from.bottom.up.pdf) (PDF) * [Git internals](https://github.com/pluralsight/git-internals-pdf/raw/master/drafts/peepcode-git.pdf) ###Go * [The Go Tutorial](http://golang.org/doc/go_tutorial.html) * [Go by Example](https://gobyexample.com/) * [Learning Go](http://www.miek.nl/projects/learninggo/) * [An Introduction to Programming in Go](http://www.golang-book.com/) * [Network programming with Go](http://jan.newmarch.name/go/) ###Grails * [Getting Started with Grails](http://www.infoq.com/minibooks/grails-getting-started) ###Hadoop * [Programming Pig](http://chimera.labs.oreilly.com/books/1234000001811/index.html) - Alan Gates ###Haskell * [Haskell and Yesod](http://www.yesodweb.com/book-1.2) * [Learn You a Haskell](http://learnyouahaskell.com/) * [Natural Language Processing for the Working Programmer](http://nlpwp.org/book/index.xhtml) * [Parallel and Concurrent Programming in Haskell](http://chimera.labs.oreilly.com/books/1230000000929) * [Real World Haskell](http://book.realworldhaskell.org/) * [Wikibook Haskell](http://en.wikibooks.org/wiki/Haskell) * [Yet Another Haskell Tutorial](http://hal3.name/docs/daume02yaht.pdf) (PDF) ###HTML / CSS * [Dive Into HTML5](http://diveintohtml5.info/) ([PDF](http://mislav.uniqpath.com/2011/10/dive-into-html5/)) * [GA Dash](http://dash.generalassemb.ly) * [HTML Dog Tutorials](http://www.htmldog.com/) * [HTML5 Canvas](http://chimera.labs.oreilly.com/books/1234000001654/index.html) - Steve Fulton & Jeff Fulton * [HTML5 for Publishers](http://chimera.labs.oreilly.com/books/1234000000770/index.html) - Sanders Kleinfeld * [Learn CSS Layout](http://learnlayout.com/) ###Icon * [The Implementation of the Icon Programming Language](http://www.cs.arizona.edu/icon/ibsale.htm) ###IDL * [Getting Started with IDL](http://www.astro.virginia.edu/class/oconnell/astr511/IDLresources/getting-started-IDL-v7.0.pdf) * [Guide to Using IDL for Astronomers](http://www.astro.virginia.edu/class/oconnell/astr511/IDLresources/IDLguide.html) ###Java * [Artificial Intelligence - Foundation of Computational Agents](http://artint.info/html/ArtInt.html) * [Category wise tutorials - J2EE](http://www.mkyong.com/) * [How to Think Like a Computer Scientist](http://greenteapress.com/thinkapjava/) * [Introduction to Programming Using Java](http://math.hws.edu/javanotes/) - David J. Eck * [Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF)](http://www.phptr.com/content/images/013143697X/downloads/013143697X_book.pdf) * [The Java EE6 Tutorial](http://download.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf) (PDF) * [Java Thin-Client Programming](http://www.redbooks.ibm.com/redbooks/SG245118.html) * [Learning Java](http://chimera.labs.oreilly.com/books/1234000001805/index.html) - Patrick Niemeyer * [OSGi in Practice](http://njbartlett.name/files/osgibook_preview_20091217.pdf) (PDF) * [Sun's Java Tutorials](http://download.oracle.com/javase/tutorial/) * [Thinking in Java](http://www.mindview.net/Books/TIJ/) ###JavaScript * [Crockford's JavaScript](http://www.crockford.com/javascript/) * [Eloquent JavaScript](http://eloquentjavascript.net/) * [Essential Javascript & jQuery Design Patterns for Beginners](http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/) * [JavaScript Bible](http://media.wiley.com/product_ancillary/28/07645334/DOWNLOAD/all.pdf) * [JavaScript Essentials](http://www.techotopia.com/index.php/JavaScript_Essentials) * [jQuery Fundamentals](http://jqfundamentals.com/book/) (starts with JavaScript basics) * [Mozilla Developer Network's JavaScript Guide](https://developer.mozilla.org/en/JavaScript/Guide) * [JavaScript Allongé](https://leanpub.com/javascript-allonge/read) * [Learning JavaScript Design Patterns](http://addyosmani.com/resources/essentialjsdesignpatterns/book/) * [O'Reilly Programming JavaScript Applications - Early Release](http://chimera.labs.oreilly.com/books/1234000000262/index.html) ####Node.js * [Mastering Node.js](http://visionmedia.github.com/masteringnode/) * [Mixu's Node Book](http://book.mixu.net/node/) * [The Node Beginner Book](http://nodebeginner.org/) * [Up and Running with Node](http://ofps.oreilly.com/titles/9781449398583/) ####D3.js * [Interactive Data Visualization for the Web](http://chimera.labs.oreilly.com/books/1230000000345/index.html) ###LaTeX * [The Not So Short Introduction to LaTeX](http://tobi.oetiker.ch/lshort/lshort.pdf) * [LaTeX Wikibook](http://en.wikibooks.org/wiki/LaTeX) ###Linux * [Advanced Linux Programming](http://www.advancedlinuxprogramming.com/) * [GNU Autoconf, Automake and Libtool](http://sources.redhat.com/autobook/download.html) * [GTK+/Gnome Application Development](http://www.linuxtopia.org/online_books/gui_toolkit_guides/gtk+_gnome_application_development/index.html) * [The Linux Development Platform (PDF)](http://www.informit.com/content/downloads/perens/0130091154.pdf) * [Linux Device Drivers](http://lwn.net/Kernel/LDD3/) by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman * [The Linux Kernel Module Programming Guide](http://tldp.org/LDP/lkmpg/2.6/html/) * [Secure Programming for Linux and Unix](http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO.html) * [Linux from Scratch](http://www.linuxfromscratch.org/lfs/view/stable/) * [What Every Programmer Should Know About Memory](http://www.akkadia.org/drepper/cpumemory.pdf) ###Lisp * [Common Lisp the Language, 2nd Edition](http://www.cs.cmu.edu/Groups/AI/html/cltl/mirrors.html) * [Common Lisp: A Gentle Introduction to Symbolic Computation](http://www.cs.cmu.edu/~dst/LispBook/) - David S. Touretzky * [Common Lisp Quick Reference](http://clqr.boundp.org/) * [Let Over Lambda - 50 Years of Lisp](http://letoverlambda.com/index.cl/toc) * [Natural Language Processing in Lisp](http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-lisp/index.html) * [On Lisp](http://www.paulgraham.com/onlisp.html) * [Practical Common Lisp](http://www.gigamonkeys.com/book/) * [Successful Lisp: How to Understand and Use Common Lisp](http://psg.com/~dlamkins/sl/) - David Lamkins * [Sketchy LISP](http://www.bcl.hamilton.ie/~nmh/t3x.org/zzz/) - Nils Holm ###Lua * [Programming In Lua](http://www.lua.org/pil/) (for version 5) * [Programming Gems](http://www.lua.org/gems/) * [Lua 5.1 Reference Manual](http://www.lua.org/manual/5.1/) ###Mathematica * [Mathematica® programming: an advanced introduction by Leonid Shifrin](http://www.mathprogramming-intro.org/) ###Maven * [Better Builds with Maven](http://www.maestrodev.com/better-build-maven) * [Maven by Example](http://www.sonatype.com/books/mvnex-book/reference/public-book.html) * [Maven: The Complete Reference](http://www.sonatype.com/books/mvnref-book/reference/public-book.html) * [Repository Management with Nexus](http://www.sonatype.com/books/nexus-book/reference/) * [Developing with Eclipse and Maven](http://www.sonatype.com/books/m2eclipse-book/reference/) ###Mercurial * [Mercurial: The Definitive Guide](http://hgbook.red-bean.com/) * [HGInit - Mercurial Tutorial by Joel Spolsky](http://hginit.com/) ###.NET (C# / VB / Nemerle / Visual Studio) * [C# Essentials](http://www.techotopia.com/index.php/C_Sharp_Essentials) * [C# Programming - Wikibook](http://en.wikibooks.org/wiki/C_Sharp_Programming) * [C# Yellow Book](http://www.csharpcourse.com/) (intro to programming) * [Charles Petzold's .NET Book Zero](http://www.charlespetzold.com/dotnet/index.html) * [Data Structures and Algorithms with Object-Oriented Design Patterns in C#](http://www.brpreiss.com/books/opus6/) * [Entity Framework](http://weblogs.asp.net/zeeshanhirani/archive/2008/12/05/my-christmas-present-to-the-entity-framework-community.aspx) * [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) * [Nemerle](http://asaha.com/ebook/AMTQ2NjA-/Nemerle.pdf) * [Programmer's Heaven C# School Book](http://www.programmersheaven.com/2/CSharpBook) (covers C# 1.0 and 2.0) * [Threading in C#](http://www.albahari.com/threading/) * [Visual Basic Essentials](http://www.techotopia.com/index.php/Visual_Basic_Essentials) * [Visual Studio Tips and Tricks](http://www.infoq.com/minibooks/vsnettt) (VS 2003-2005 only) ###NoSQL * [CouchDB: The Definitive Guide](http://books.couchdb.org/relax/) * [The Little MongoDB Book](http://openmymind.net/2011/3/28/The-Little-MongoDB-Book) * [The Little Redis Book](http://openmymind.net/2012/1/23/The-Little-Redis-Book/) * [The Little Riak Book](http://littleriakbook.com/) * [Graph Databases](http://graphdatabases.com/) ###Oberon * [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) ###Objective-C * [Programming With Objective-C](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf) * [Object-Oriented Programming with Objective-C](http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/OOP_ObjC/OOP_ObjC.pdf) ###OCaml * [Introduction to Objective Caml](http://courses.cms.caltech.edu/cs134/cs134b/book.pdf) (PDF) * [Objective Caml for Scientists (first chapter only)](http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html) * [Unix System Programming in OCaml](http://ocamlunix.forge.ocamlcore.org/) * [Developing Applications With Objective Caml](http://caml.inria.fr/pub/docs/oreilly-book/) * [Real World OCaml](https://realworldocaml.org/beta3/en/html/) ###Oracle Server * Oracle's [Guides and Manuals](http://tahiti.oracle.com/) ###Oracle PL/SQL * [PL/SQL Language Reference](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm) * [PL/SQL Packages and Types Reference](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/toc.htm) * [Steven Feuerstein's PL/SQL Obsession - Videos and Presentations](http://www.toadworld.com/Knowledge/DatabaseKnowledge/StevenFeuersteinsPLSQLObsession/tabid/153/Default.aspx) ###Parrot / Perl 6 * [Using Perl 6](http://github.com/perl6/book/) (work in progress) ###Perl * [Beginning Perl](http://www.perl.org/books/beginning-perl/) * [Embedding Perl in HTML with Mason](http://www.masonbook.com/book/) * [Essential Perl](http://cslibrary.stanford.edu/108/EssentialPerl.pdf) * [Extreme Perl](http://www.extremeperl.org/bk/home) * [Higher-Order Perl](http://hop.perl.plover.com/book/) * [The Mason Book](http://www.masonbook.com/book/) * [Modern Perl 5](http://www.onyxneon.com/books/modern_perl/index.html) * [Perl & LWP](http://lwp.interglacial.com/index.html) * [Perl for the Web](http://www.globalspin.com/thebook/) * [Perl Free Online EBooks](http://linkmingle.com/list/13-plus-List-of-Free-Great-Perl-Books-available-Online-freebooksandarticles) (meta-list) * [Perl The Hard Way](http://www.greenteapress.com/perl/) * [Practical mod_perl](http://modperlbook.org/) * [Web Client Programming with Perl](http://oreilly.com/openbook/webclient/) ###PHP * [PHP Essentials](http://www.techotopia.com/index.php/PHP_Essentials) * [Practical PHP Programming](http://www.tuxradar.com/practicalphp) (wiki containing O'Reilly's *PHP In a Nutshell*) * [Symfony2](http://symfony.com/doc/current/book/index.html) * [Zend Framework: Survive the Deep End](http://www.survivethedeepend.com/) * Laravel Framework * [Official Documentation (Offline Version)](https://leanpub.com/l4-offline-doc) * [Code Happy](http://codehappy.daylerees.com/) (Laravel 3 Starter Book) * [Code Bright](http://codebright.daylerees.com/) (Laravel 4 Starter Book) ###PowerShell * [Mastering PowerShell](http://powershell.com/cs/blogs/ebook/) ###Processing * [The Nature of Code: Simulating Natural Systems with Processing](http://natureofcode.com/book/) ###Prolog * [Adventure in Prolog](http://www.amzi.com/AdventureInProlog/advfrtop.htm) * [Applications of Prolog](http://bookboon.com/int/student/it/applications-of-prolog) * [Building Expert Systems in Prolog](http://www.amzi.com/ExpertSystemsInProlog/) * [Introduction to Prolog for Mathematicians](http://www.j-paine.org/prolog/mathnotes/files/pms/pms.html) * [Learn Prolog Now!](http://www.learnprolognow.org/) * [Logic, Programming and Prolog (2ed)](http://www.ida.liu.se/~ulfni/lpp/) * [Natural Language Processing in Prolog](http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-prolog/index.html) * [Natural Language Processing Techniques in Prolog](http://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/) * [Prolog Programming A First Course](http://computing.unn.ac.uk/staff/cgpb4/prologbook/) * [Prolog Techniques](http://bookboon.com/int/student/it/prolog-techniques-applications-of-prolog) * [Simply Logical](http://www.cs.bris.ac.uk/~flach/SimplyLogical.html) * [Visual Prolog 7.2 for Tyros](http://download.pdc.dk/vip/72/books/tyros/tyros72.pdf) ###PostgreSQL * [Practical PostgreSQL](http://www.commandprompt.com/ppbook/) ###Python * [Byte of Python](http://www.swaroopch.com/notes/Python) * [Data Structures and Algorithms in Python](http://www.brpreiss.com/books/opus7/html/book.html) * [Dive into Python](http://www.diveintopython.net/) * [Dive into Python 3](http://getpython3.com/diveintopython3/) * [Hacking Secret Cyphers with Python](http://inventwithpython.com/hacking/chapters/) - Al Sweigart * [Hitchiker's Guide to Python!](http://docs.python-guide.org/en/latest/) * [How to Think Like a Computer Scientist: Learning with Python](http://www.greenteapress.com/thinkpython/thinkCSpy/) * [Invent Your Own Computer Games With Python](http://inventwithpython.com/chapters/) - Al Sweigart * [Learn Python The Hard Way](http://learnpythonthehardway.org/book/) * [Natural Language Processing with Python](http://www.nltk.org/book) * [Porting to Python 3: An In-Depth Guide](http://python3porting.com/) * [Python Bibliotheca](http://openbookproject.net/pybiblio/) * [Python Cookbook](http://chimera.labs.oreilly.com/books/1230000000393/index.html) - David Beazley * [Python for Fun](http://www.openbookproject.net/py4fun/) * [Python for Informatics: Exploring Information](http://www.pythonlearn.com/book.php) * [Python for you and me](http://pymbook.readthedocs.org/en/latest/) * [Snake Wrangling For Kids](http://www.briggs.net.nz/snake-wrangling-for-kids.html) * [Think Python](http://www.greenteapress.com/thinkpython/thinkpython.pdf) (PDF) - Allen B. Downey ###R * [The R Manuals](http://cran.r-project.org/manuals.html) * [The R Language](http://stat.ethz.ch/R-manual/R-patched/doc/html/) * [R by example](http://www.mayin.org/ajayshah/KB/R/index.html) * [Advanced R Programming](http://adv-r.had.co.nz/) ###Racket * [Programming Languages: Application and Interpretation](http://cs.brown.edu/courses/cs173/2012/book/index.html) * [The Racket Guide](http://docs.racket-lang.org/guide/index.html) ###Ruby * [The Bastards Book of Ruby](http://ruby.bastardsbook.com/) * [Learn Ruby the hard way](http://ruby.learncodethehardway.org/book/) * [MacRuby: The Definitive Guide](http://macruby.labs.oreilly.com/) * [Mr. Neighborly's Humble Little Ruby Book](http://www.humblelittlerubybook.com/) * [Programming Ruby](http://www.ruby-doc.org/docs/ProgrammingRuby/) * [Why's (Poignant) Guide to Ruby](http://mislav.uniqpath.com/poignant-guide/) ([mirror](http://www.scribd.com/doc/2236084/Whys-Poignant-Guide-to-Ruby)) ###Ruby on Rails * [Ruby on Rails Tutorial: Learn Rails By Example](http://ruby.railstutorial.org/ruby-on-rails-tutorial-book) * [Objects on Rails](http://objectsonrails.com) ###Rust * [Rust for Rubyists](http://www.rustforrubyists.com/book/index.html) ###Sage * [The Sage Manuals](http://sagemath.org/doc/) * [Sage for Newbies](http://sage.math.washington.edu/home/tkosan/newbies_book/) ###Scala * [Another tour of Scala](http://naildrivin5.com/scalatour) * [Exploring Lift](http://exploring.liftweb.net/) (published earlier as "The Definitive Guide to Lift", [PDF](http://groups.google.com/group/the-lift-book)) * [Lift](http://github.com/tjweir/liftbook) * [Pro Scala: Monadic Design Patterns for the Web](http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/) * [Programming in Scala, First Edition](http://www.artima.com/pins1ed/) * [Programming Scala](http://programming-scala.labs.oreilly.com/index.html) * [Scala By Example](http://www.scala-lang.org/docu/files/ScalaByExample.pdf) (PDF) * [Scala School by Twitter](http://twitter.github.io/scala_school/) * [A Scala Tutorial for Java programmers](http://www.scala-lang.org/docu/files/ScalaTutorial.pdf) (PDF) * [Xtrace](http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/) ###Scheme * [Concrete Abstractions: An Introduction to Computer Science Using Scheme](https://gustavus.edu/+max/concrete-abstractions.html) * The Scheme Programming Language [Edition 3](http://www.scheme.com/tspl3/), [Edition 4](http://www.scheme.com/tspl4/) * [Simply Scheme: Introducing Computer Science](http://www.cs.berkeley.edu/~bh/ss-toc2.html) ###Sed * [Sed - An Introduction and Tutorial](http://www.grymoire.com/Unix/Sed.html) ###Smalltalk * [Dynamic Web Development with Seaside](http://book.seaside.st/book/table-of-contents) * [Free Online Smalltalk Books](http://stephane.ducasse.free.fr/FreeBooks.html) (meta-list) * [Squeak By Example](http://www.squeakbyexample.org/) (Smalltalk IDE) ###Subversion * [Subversion Version Control](http://www.phptr.com/content/images/0131855182/downloads/Nagel_book.pdf) (PDF) * [Version Control with Subversion](http://svnbook.red-bean.com/) ###SQL (implementation agnostic) * [Developing Time-Oriented Database Applications in SQL](http://www.cs.arizona.edu/people/rts/publications.html) * [Use The Index, Luke!: A Guide To SQL Database Performance](http://use-the-index-luke.com/) * [Learn SQL The Hard Way](http://sql.learncodethehardway.org/) ###Teradata * [Teradata Books](http://www.info.teradata.com/) ###Theory * [Networks, Crowds, and Markets: Reasoning About a Highly Connected World](http://www.cs.cornell.edu/home/kleinber/networks-book/) ###Vim * [A Byte of Vim](http://www.swaroopch.com/notes/Vim) * [Vim Recipes](http://ebooksgo.org/computer/vim-recipes.pdf) * [Vi Improved -- Vim](http://www.truth.sk/vim/vimbook-OPL.pdf) by Steve Oualline * [Learn Vimscript the Hard Way](http://learnvimscriptthehardway.stevelosh.com/) ###Websphere * [Getting started with WebSphere](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_WASCE_p2.pdf) (PDF) ###Windows Phone * [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)