Open Source Documents
Contents_Index
- COMPUTER SCIENCE11
- DATA SCIENCE AND STATISTICS4
- DEVOPS9
- MATHEMATICS & PHYSICS2
- OPEN SOURCE2
- PROGRAMMING8
- DATABASE1
- WORLD WIDE WEB9
- WRITING AND DOCUMENTATION4
- JOURNALISM AND VISUALIZATION7
- ANDROID DEVELOPMENT1
- IOS DEVELOPMENT2
- ETC8
- ASSEMBLY1
- C1
- COFEESCRIPT1
- CSS3
- RUBY12
- CLOJURE2
- ELIXIR3
- ERLANG1
- GO2
- HASKELL2
- JAVASCRIPT22
- LISP2
- OBJECTIVE-C1
- PERL1
- PHP1
- PYTHON13
- RUST3
- R1
- SCALA3
- SERVER1
- EDITOR4
- GIT5
- LIBRARY DOCUMENTATION7
- KOREAN2
- CHINESE7
- JAPANESE2
- ANOTHER DOCUMENTS LIST / REFERENCES16
Computer Science
11_ENTRIES-
How to Design Programs (Site, cc-nc-nd)
-
Structure and Interpretation of Computer Programs (Site, cc-sa)
-
Practical Foundations for Programming Languages (Site, cc-nc-nd)
-
Algorithms, Etc. (Site, cc-nc-sa) - This page contains lecture notes and other course materials for various algorithms classes Jeff Erickson have taught at the University of Illinois, Urbana-Champaign.
-
Introduction to Theory of Computation (Site, cc-sa) - This is a free textbook for an undergraduate course on the Theory of Computation, which we have been teaching at Carleton University since 2002
-
Programming on Parallel Machines (Site, cc-nd) - The purpose of this book is to help you program shared-memory parallel ma…
- Crypto 101
(Site, cc-nc) - the introductory book on cryptography
- The little book about OS development
(Site, cc-nc-sa) - This is the source code for the book "The little book about OS development"
- Programming Languages
Programming Languages: Application and Interpretation (Site, cc-nc-sa)
- Open Data Structures
(Site, cc) - To provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementation
- Discrete Structures for Computer Science
Discrete Structures for Computer Science: Counting, Recursion, and Probability (Site, cc-nc-sa) - This is a free textbook for an undergraduate course on Discrete Structures for Computer Science, which I have been teaching at Carleton University since 2013
- graphbook
(GNU-FDL) - A GNU-FDL book on algorithmic graph theory by David Joyner, Minh Van Nguyen, and David Phillips. This is an introductory book on algorithmic graph theory
- Operating Systems and Middleware: Supporting Controlled Interaction
(Site cc-sa) - free, modifiable textbook on operating systems principles
- Is Parallel Programming Hard, And, If So, What Can You Do About It?
(Site, cc-sa) - The purpose of this book is to teach new programmers and scientists about the basics of High Performance Computing
- Fundamentals of Programming
Fundamentals of Programming: With Object Oriented Programming (Site, cc-nc-sa) - This book presents a balanced and flexible approach to the incorporation of object-oriented principles in introductory courses using Python
- Computer Science from the Bottom Up
(Site, cc-sa) - Computer Science from the Bottom Up — A free, online book designed to teach computer science from the bottom end up. Topics covered include binary and binary logic, operating systems internals, toolchain fundamentals and system library fundamentals
- Problem Solving with Algorithms and Data Structures
(Site, cc-nc-sa) - Examples and work from Problem Solving with Algorithms and Data Structures Using Python
Data Science and Statistics
4_ENTRIES- LearnDataScience
(BSD) - Open Content for self-directed learning in data science
- Think Stats
(Site, cc-sa) - Probability and Statistics for Programmers
- Bayesian Methods for Hackers
(Site, MIT) - An intro to Bayesian methods and probabilistic programming from a computation/understanding-first, mathematics-second point of view
- The Book Of Jupyter
(Site, cc) - This is some of the material that covers the advanced Jupyter/IPython SciPy tutorial that is/was/will be given in July 2015
Devops
9_ENTRIES- Digital Oceans - Tutorials (Site, cc-nc-sa) - development and sysadmin tutorials
- Ops School Curriculum
(Site, cc) - Ops School is a comprehensive program that will help you learn to be an operations engineer
- Twelve Factor App
(Site, MIT) - The twelve-factor app is a methodology for building software-as-a-service apps
- .htaccess Snippets
(Public Domain) - A collection of useful .htaccess snippets, all in one place.
- CoreOS Documentation
(Site, Apache 2.0) - Documentation for CoreOS
- Packer Documentation
(Site, MPL) - Documentation for Packer
- The Art of Command Line
(cc-sa) - Master the command line, in one page
- Command Line Text Processing
(Site, cc-nc-sa) - From finding text to search and replace, from sorting to beautifying text and more
- Linux Command Line
(Site, cc-nc-sa) - Introduction to Linux commands and Shell scripting
Mathematics & Physics
2_ENTRIES- Homotopy type theory
(Site, BSD) - Homotopy Type Theory is an interpretation of Martin-Löf’s intensional type theory into abstract homotopy theory.
- Collision Detection
(Site, cc-nc-sa) - A book and examples on collision detection
Open Source
2_ENTRIES- The Daemon, the GNU & the Penguin ~ by Dr. Peter Salus (Site, cc-nc-nd)
- The Performance of Open Source Applications
(Site, cc-nc-sa)
- Free as in Freedom (2.0)
(Site, GNU-FDL) - Free as in Freedom (2.0) is Stallman's revision of the original biography.
Programming
8_ENTRIES- Mozilla Developer Network (Site, cc-by-sa) - Shared knowledge for the Open Web
- 500 Lines or Less
(cc & mit) - This is the source for the book 500 Lines or Less, the fourth in the Architecture of Open Source Applications series.
- Guides
(cc) - Guides for getting things done, programming well, and programming in style.
- An App Launch Guide
(Site, Public Domain) - This guide goes through all of the necessary steps for validating, building, marketing, and launching your product, specifically focused on app dev.
- Reverse Engineering for Beginners
(Site, cc-nc-nd) - Topics discussed: x86/x64, ARM/ARM64, MIPS, Java/JVM.
- Build Podcast
(Site, Public Domain) - Build Podcast is a show about technology tools for design and development all in the fun spirit of hacking, creating and building stuff!
- The Little Introduction To Programming
(Site, cc-nc) - This book will teach you the fundamentals of programming and act as a foundation for whatever your programming goals may be.
- The Programming Historian
(Site, cc) - The Programming Historian is an online, open-access, peer-reviewed suite of tutorials that help humanists learn a wide range of digital tools, techniques, and workflows to facilitate their research.
- WHAT IS CODE?
(Site, cc-nc-nd) - Paul Ford’s “What Is Code?”
Database
1_ENTRIES- Elasticsearch - The Definitive Guide
(Site, cc-nc-nd) - The Definitive Guide to Elasticsearch
World Wide Web
9_ENTRIES-
RESTful Web APIs (Site, cc-nc-nd) - Restful Web APIs was the first book-length treatment of RESTful design, and the predecessor to RESTful Web APIs.
-
DOM Enlightenment (Site, cc-nc-nd) - Exploring the relationship between JavaScript and the modern HTML DOM
-
RESTful API Guidelines (Site, cc) - Comprehensive, "API First" design guidelines developed by Zalando
- HTTP API Design Guide
(cc) - HTTP API design guide extracted from work on the Heroku Platform API
- Dive Into HTML5
(Site, cc) - Dive Into HTML5 elaborates on a hand-picked selection of features from the HTML5 specification and other fine standards
- Web Fundamentals
(Site, Apache 2.0) - Best practices for modern web development
- Code Guide
(Site, MIT) - Standards for flexible, durable, and sustainable HTML and CSS
- HTML Best Practices
(cc0) - For writing maintainable and scalable HTML documents
- WebComponents.org
(Site, cc-sa) - A place to discuss and evolve Web Component best-practices
- How to lose weight (in the browser)
(Site, cc-sa, MIT) - The definitive front-end performance guide
- http2 explained
(Site, cc-nc-nd) - http2 explained is a detailed document explaining and documenting HTTP/2, the successor to the widely popular HTTP/1.1 protocol
Writing and Documentation
4_ENTRIES- reStructuredText Markup Specification (Site, Public Domain)
- Write the Docs
(Site, cc) - A place for Sphinx documentation and general writing of things.
- The Hitchhiker's Guide to Documentation!
(Site, cc-nc-sa) - This Guide exists to provide advices and a best-practice handbook about creating documentation.
- CommonMark Spec
(Site, cc-sa) - CommonMark is a rationalized version of Markdown syntax, with a spec and BSD-licensed reference implementations in C and JavaScript.
- Prose for Programmers
(cc-nc-nd) - A book to help software developers write better prose.
Journalism and Visualization
7_ENTRIES- Data Journalism Handbook
(cc-sa) - The Data Journalism Handbook is a free, open source reference book for anyone interested in the emerging field of data journalism
- Intro to D3.js
(Site, Apache 2.0) - The tutorial provides a quick intro to D3.js, a Javascript library for creating data visualizations in the browser.
- The Nature of Code
(Site, cc-nc, LGPL) - This book focuses on the programming strategies and techniques behind computer simulations of natural systems using Processing
- Data Science 45-min Intros
(Public Domain) - Ipython notebook presentations for getting starting with basic programming, statistics and machine learning techniques
- Data + Design
(Site, cc-nc-sa) - A Simple Introduction to Preparing and Visualizing Information
- D3 101 Screencasts
(Site, MIT) - Curran Kelleher's D3.js screencasts
- Thematic Cartography Guide
(Site, cc-nc) - A short, friendly guide to basic principles of thematic mapping.
Android Development
1_ENTRIES- Android Developers - API Guide (Site, cc) - Documentation for Android development
- Best practices in Android development
(cc) - Do's and Don'ts for Android development, by Futurice developers
IOS Development
2_ENTRIES- iOS Good Practices
(cc) - Good ideas for iOS development, by Futurice developers.
- iOS Developer and Designer Interview Questions
(MIT) - A small guide to help those looking to hire a developer or designer for iOS work.
ETC
8_ENTRIES- Cocktails for programmers
(MIT) - Сocktails for programmers. Коктейли для программистов.
- ØMQ - The Guide
(Site cc-nc-sa) - Learning and Using ØMQ
- NPR Visuals' Best Practices
(cc) - Best practices and coding conventions for the NPR Visuals team.
- 10up Engineering Best Practices
(Site, MIT) - This guide dictates how we, as a company, engineer websites
- Peco REAMDE
(MIT) - Documenatation for Peco(Simplistic interactive filtering tool)
- Learn X in Y minutes
(Site, cc-sa) - Take a whirlwind tour of your next favorite language. Community-driven!
Assembly
1_ENTRIES- Some Assembly Required
(cc-sa) - An approachable introduction to Assembly
C
1_ENTRIES- C Programming (Site, cc-sa) - comprehensive look at the C programming language and its features
- C Style
(cc-sa) - My favorite C programming practices
Cofeescript
1_ENTRIES- Cofeescript Cookbook
(Site, cc) - CoffeeScript recipes for the community by the community.
CSS
3_ENTRIES- idiomatic CSS
(cc) - Principles of writing consistent
- Font Awesome
(Site, cc) - The iconic font and CSS toolkit
Ruby
12_ENTRIES- Practicing Ruby (Site, cc-sa) - We provide concentrated doses of programming experience across a wide range of different topics
- Why's Poignant Guide to Ruby
(Site, cc-sa) - This is just a small Ruby book. It won’t crush you. It’s light as a feather
- Rails Guide
(Site, cc-sa) - Official Guide for Ruby on Rails
- The Rails Style Guide
(cc) - A community-driven Ruby on Rails 4 style guide
- Ruby Style Guide
(cc) - A community-driven Ruby coding style guide
- Better Spec
(Site, MIT) - RSpec Best Practices
- Ruby Hacking Guide
(Site, cc-nc-sa) - Ruby hacking guide english translation
- Ruby Best Practices
(cc-nc-sa) - Ruby Best Practices, by Gregory Brown
- Neo Ruby Koans
(Site, cc-nc-sa) - A set of Koans to teach the Ruby language
- Ruby Scripting
(Site, cc-nc-sa) - example based guide for Ruby scripting
- Ruby Regexp
(Site, cc-nc-sa) - step by step guide to Ruby regular expressions
Clojure
2_ENTRIES- ClojureDocs
(Site, Eclipse Public License) - community-powered documentation and examples repository for the Clojure programming language
- Clojure Documentation
(Site, cc) - community-driven documentation site for the Clojure programming language
Elixir
3_ENTRIES- Elixir Getting Started
(Site, Apache 2.0) - Official Elixir tutorial
- repo-30-days-of-elixir
(MIT) - A walk through the Elixir language in 30 exercises
- Elixir Style Guide
(cc) - A community driven style guide for Elixir
Erlang
1_ENTRIES- Learn You Some Erlang for Great Good! (Site, cc-nc-nd)
- Structure and Interpretation of Computer Program
(Site, cc-sa) - Structure and Interpretation of Computer Programs, the LFE edition
Go
2_ENTRIES- Go by Example
(cc) - Go by Example is a hands-on introduction to Go using annotated example programs
- Build Web Application With Golang
(cc-sa) - A golang ebook intro how to build a web with golang
Haskell
2_ENTRIES- Learn You a Haskell for Great Good! (Site, cc-nc-sa) - Learn You a Haskell for Great Good! is a hilarious, illustrated guide to this complex functional language
- How to learn Haskell
(cc0) - This is a recommended path for learning Haskell based on experience helping others
- Haskell By Example
(Site, cc) - Haskell by Example is a port of Go by Example to Haskell
Javascript
22_ENTRIES-
Learning JavaScript Design Patterns (Site, cc-nc-nd) - In this book we will explore applying both classical and modern design patterns to the JavaScript programming language
-
Understanding ECMAScript 6 (Site, cc-nc-nd) - ECMAScript 6 is coming, are you ready? There's a lot of new concepts to learn and understand. Get a headstart with this book!
-
Eloquent JavaScript (Site, cc-nc) - about JavaScript, programming, and the wonders of the digital
- JavaScript Garden
(Site, MIT) - A collection of documentation about the most quirky parts of the JavaScript language
- ECMAScript 6 Features
(MIT) - ECMAScript 6, also known as ECMAScript 2015, is the latest version of the ECMAScript standard
- React Primer Draft
(GNU) - A primer for building Single-Page Applications with React
- Angular Style Guide
(MIT) - Angular Style Guide: A starting point for Angular development teams to provide consistency through good practices
- JavaScript : The Right Way
(Site, cc-nc-sa) - This is a guide intended to introduce new developers to JavaScript and help experienced developers learn more about its best practices
- Idiomatic JavaScript
(cc) - Principles of Writing Consistent, Idiomatic JavaScript
- Angular Test Patterns
(MIT) - A High-Quality Guide for Testing Angular 1.x Applications
- Airbnb JavaScript Style Guide
(MIT) - A mostly reasonable approach to JavaScript
- Node.js Style Guide
(cc-sa) - A guide for styling your node.js / JavaScript code. Fork & adjust to your taste
- Node.js Best Practices
(Site, MIT) - This is a list of best practices for writing robust Node.js code. It is inspired by other guilds such as Felix Geisendörfer's Node Style Guide and what is popular within the community
- function qualityGuide () {
(MIT) - This style guide aims to provide the ground rules for an application's JavaScript code, such that it's highly readable and consistent across different developers on a team
- The Node Beginner Book
(Site, cc-nc-sa) - The Node Beginner Book is a comprehensive introduction to Node.js and some of the more advanced JavaScript topics like functional programming
- Learn You The Node.js For Much Win!
(MIT) - Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.
- An introduction to Node.js
(cc-sa) - a short introduction to node.js
- stream-handbook
(cc) - how to write node programs with streams
- You Don't Know JS
(Site, cc-nc-nd) - A book series on JavaScript. @YDKJS on twitter.
- Ember.js Guide
(Site, MIT) - Official Guide for Ember.js
- React Document
(Site, cc) - Documentation for React
- Flux Application Architecture
(Site, cc) - Documenatiton for Flux application architecture
- Redux Document
(Site, MIT) - Documentation for Redux
- JavaScript RegExp
(Site, cc-nc-sa) - step by step guide to JavaScript regular expressions
Lisp
2_ENTRIES- DIY Lisp
(BSD) - A hands-on, test driven guide to implementing a simple programming language.
- Build Your Own Lisp
(Site, cc-nc-sa) - Learn C and build your own programming language in under 1000 lines of code!
Objective-C
1_ENTRIES- NYTimes Objective-C Style Guide
(MIT) - This style guide outlines the coding conventions of the iOS teams at The New York Times.
Perl
1_ENTRIES- Perl intro
(Site, cc-nc-sa) - Introductory course for Perl 5 through examples
PHP
1_ENTRIES- PHP: The Right Way
(Site, by-nc-sa) - An easy-to-read, quick reference for PHP best practices, accepted coding standards, and links to authoritative tutorials around the Web
Python
13_ENTRIES-
Dive Into Python 3 (Site, cc-sa) - Dive Into Python is a free Python book for experienced programmers
-
Learning to Program Using Python (Site, cc-sa)
-
Automate the Boring Stuff with Python (Site, cc-nc-sa) - learn how to use Python to write programs that do in minutes what would take you hours to do by hand - no prior programming experience required
-
Google's Python Class (Site, cc) - this is a free class for people with a little bit of programming experience who want to learn Python (Note that this course is designed for Python 2.6 or later, not Python 3.x)
- Python Enhancement Proposals
(Site, Open Publication License)
- The Hitchhiker’s Guide to Python!
(Site, cc-nc-sa) - Python best practices guidebook, written for Humans.
- Django Documentation
(Site, bsd) - Documenatiton for Django which is python web framework
- Explore Flask
(Site, Public Domain) - Explore Flask is a book about best practices and patterns for developing web applications with Flask
- Full Stack Python
(Site, MIT) - Full Stack Python source with Pelican, Bootstrap and Markdown
- A Byte of Python
(Site, cc-sa) - "A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience
- A guide to Python's magic methods
(Site, cc-nc-sa) - This guide is the culmination of a few months' worth of blog posts. The subject is magic methods
- Think Python
(Site, cc-nc) - How to Think Like a Computer Scientist
- A Whirlwind Tour of Python
(Site, cc0) - fast-paced introduction to essential components of the Python language for researchers and developers who are already familiar with programming in another language
- Practical Python Programming
(Site, cc-sa) - covers foundational aspects of Python programming with an emphasis on script writing, data manipulation, and program organization
- Python Basics
(Site, cc-nc-sa) - Introduction to Python
- Python re(gex)?
(Site, cc-nc-sa) - step by step guide to learning Python regular expressions
Rust
3_ENTRIES- Rust for Python Programmers (Site, cc-nc-sa)
- The Rust Programming Language
(Site, MIT) - Official Guide for Rust
- Rust by Example
(Site, MIT) - Rust by Example is a collection of examples that illustrate various Rust concepts and the standard libraries
- Rust For Rubyists
(Site, AGPL) - Rust for Rubyists was the first community tutorial for Rust
R
1_ENTRIES- Cookbook for R (Site, cc-sa) - The goal of the cookbook is to provide solutions to common tasks and problems in analyzing data
- Introduction to R
(Site, cc-nc-sa & apache 2.0) - These are notes for an introductory R workshop I am teaching for Python Programmers
Scala
3_ENTRIES- Scala Best Practices
(cc) - A collection of best practices, friendly to people that want to contribute
- twitter.github.com/effectivescala
(Site, cc-by) - Twitter's Effective Scala Guide
- Scala School!
(Site, Apache 2.0) - Lessons in the Fundamentals of Scala
Server
1_ENTRIES- Nginx Server Configs
(MIT) - Nginx HTTP server boilerplate configs
Editor
4_ENTRIES-
GNU Emacs manual (Site, GNU-FDL) - Emacs is the extensible, customizable, self-documenting real-time display editor. This manual describes how to edit with Emacs and some of the ways to customize it
-
GNU Emacs Lisp Reference Manual (Site, GNU-FDL) - Documentation for Emacs Lisp
-
A Byte of Vim (Site, cc-sa) - “A Byte of Vim” is a book which aims to help you to learn how to use the Vim editor (version 7), even if all you know is how to use the computer keyboard
- Emacs is sexy!
(Site, GNU) - Simple website to share the love for Emacs
- Learn Vimscript the Hard Way
(Site, custom license) - Learn Vimscript the Hard Way is a book for users of the Vim editor who want to learn how to customize Vim
- The Emacs Lisp Style Guide
(cc) - This Emacs Lisp style guide recommends best practices so that real-world Emacs Lisp programmers can write code that can be maintained by other real-world Emacs Lisp programmers
- Vim Reference
(Site, cc-nc-sa) - guide for beginner to intermediate users
Git
5_ENTRIES- A Git Style Guide
(cc) - This is a Git Style Guide inspired by How to Get Your Change Into the Linux Kernel, the git man pages and various practices popular among the community.
- Github Cheatsheet
(MIT) - A list of cool features of Git and GitHub
Library Documentation
7_ENTRIES- phpMyAdmin
(Site, GPL) - Documentation for phpMyAdmin
- Sphinx documentation
(Site, BSD) - Documentation for Sphinx
- Ansible Documentation
(Site, GPL) - Documentation for Ansible
Korean
2_ENTRIES- 점프 투 파이썬 (Site, cc-nc-nd) - 이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 쓰려고 노력하였으며, 파이썬이란 언어의 개별적인 특성만을 강조하지 않고 프로그래밍 전반에 관한 사항을 파이썬이란 언어를 통해 알 수 있도록 알기 쉽게 설명하였다.
- emacsbook
(cc-nc)
- 꾸준히, 자유롭게, 즐겁게
꾸준히, 자유롭게, 즐겁게 : 한국 오픈 소스 개발자들 이야기 (Site, cc-nc-nd)
Chinese
7_ENTRIES- JavaScript 标准参考教程
(Site, cc-nc) - A open JavaScript tutorial book, focusing on client devices, written in Chinese
- Build Web Applciation With Golang
(cc-sa) - A golang ebook intro how to build a web with golang
- 七天学会NodeJS
(Site, MIT) - 这是一本NodeJS新手入门教程,涵盖了使用NodeJS开发各种程序所必要的知识,请点击以下链接阅读
- C++ 并发编程指南
(MIT) - A Detailed Cplusplus Concurrency Tutorial
- Backbone.js入门教程
(MIT) - backbonejs学习笔记更新版,使用backbone1.1.0
- ECMAScript 6入门
(Site, cc-nc) - 一本开源的JavaScript语言教程,全面介绍ECMAScript 6新增的语法特性
- Nginx开发从入门到精通
(Site, cc-nc) - 一本开源的Nginx开发教程,全面介绍nginx模块的开发以及它的内部原理
Japanese
2_ENTRIES- Android Development Training Course
(Site, Apache 2.0) - Training course repository for android app development
- はてな教科書
(cc-nc-sa) - はてな研修用教科書
Another Documents List / References
16_ENTRIES- Beautiful Docs
Pointers to useful, well-written, and otherwise beautiful documentation
- Papers We Love
Papers from the computer science community to read and discuss
- Awesome Awesomeness
A curated list of amazingly awesome awesomeness
- Awesome
A curated list of awesome lists
- Readings in Databases
A list of papers essential to understanding databases and building new data systems
- Python Reference
Useful functions, tutorials, and other Python-related things
- Guides
Design and development guides
- List of Free Learning Resources
Freely available programming books
- Gitbook
A modern publishing toolchain. Simply taking you from ideas to finished, polished books
- O'Reilly Open Books
O'Reilly has published a number of Open Books--books with various forms of "open" copyright--over the years. The reasons for "opening" copyright, as well as the specific license agreements under which they are opened, are as varied as our authors
- OnlineProgrammingBooks.com
This site lists free eBooks and online books related to programming, computer science, software engineering, web design, mobile app development, networking, databases, information technology, AI, graphics and computer hardware which are provided by publishers or authors on their websites legally
- Green Tea Press
Free books by Allen Downey
- Python Books
PythonBooks is a showcase of the best free ebooks about Python
- JSbooks
The best free JavaScript resources