From 9b6cf1dce17c707757d23398e3f4d25aacc1a07e Mon Sep 17 00:00:00 2001 From: Saurabh Kumar <136954641+innovation-machine@users.noreply.github.com> Date: Thu, 22 Jun 2023 20:16:47 +0530 Subject: [PATCH] Added a new book as well as missing author names and file types for various books under "Operating System Development" section. Updated links for some books. (#9407) * Added missing author names and file types for various books. Updated links for some books. Added missing author names and file types for various books under "Operating Systems" section. Updated links for some books to reflect the current version of the book. * Create Check Links.py A simple python script that checks urls to see if they are broken. * Added file Check Style.py A simple python script that checks whether the style of book listing is according to our style guide. * Update Check Style.py * Update Check Links.py * Delete Check Links.py * Delete Check Style.py * Update books/free-programming-books-subjects.md Co-authored-by: Eric Hellman * Update books/free-programming-books-subjects.md Co-authored-by: Eric Hellman * Update free-programming-books-subjects.md resolves #9408 Removed books with broken links. Some books had https links available, so updated their links. One book - "Creative Commons: a user guide" had a working link, but no download button on the page, so removed the book. Made other minor changes like adding file type. * Added book "Creative Commons: a user guide" --------- Co-authored-by: Eric Hellman --- books/free-programming-books-subjects.md | 42 +++++++++++------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/books/free-programming-books-subjects.md b/books/free-programming-books-subjects.md index 74ae0acbe..ba3837201 100644 --- a/books/free-programming-books-subjects.md +++ b/books/free-programming-books-subjects.md @@ -65,7 +65,6 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Goalkicker](https://goalkicker.com) - Programming Notes for Professionals books * [IBM Redbooks](http://www.redbooks.ibm.com) * [InfoQ Minibooks](http://www.infoq.com/minibooks/) -* [InTech: Computer and Information Science](http://www.intechopen.com/subjects/computer-and-information-science) * [JSBooks - directory of free javascript ebooks](https://github.com/revolunet/JSbooks) * [Learn X in Y minutes](https://learnxinyminutes.com) * [Learneroo Resources to Learn Programming](https://www.learneroo.com/modules/12/nodes/96) @@ -76,12 +75,11 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Microsoft Technologies 3, DevOps for ASP.NET Core Developers](https://raw.githubusercontent.com/dotnet-architecture/eBooks/main/current/devops-aspnet-core/DevOps-for-ASP.NET-Core-Developers.pdf) - Cam Soper, Scott Addie, Colin Dembovsky (PDF) * [O'Reilly's Open Books Project](http://www.oreilly.com/openbook/) * [Papers we love](https://github.com/papers-we-love/papers-we-love) -* [Programming](https://en.wikibooks.org/wiki/Category%3aComputer_programming) - Wikibooks * [Red Gate Books](http://www.red-gate.com/community/books/index) * [Rip Tutorials](https://riptutorial.com/ebook) * [Stef's Free Online Smalltalk Books](http://stephane.ducasse.free.fr/FreeBooks/) * [TechBeamers.com](http://www.techbeamers.com) -* [TechBooksForFree.com](http://www.techbooksforfree.com) +* [TechBooksForFree.com](https://www.techbooksforfree.com) * [The Definitive C++ Book Guide and List](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) * [Theassayer.org](http://theassayer.org) * [Tutorials Point](http://www.tutorialspoint.com) @@ -111,7 +109,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Data Structures Succinctly Part 1, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart1) (PDF, Kindle) (email address *requested*, not required) * [Data Structures Succinctly Part 2, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart2) (PDF, Kindle) (email address *requested*, not required) * [Elementary Algorithms](https://github.com/liuxinyu95/AlgoXY) - Larry LIU Xinyu -* [Essential Algorithms](https://www.programming-books.io/essential/algorithms) - Krzysztof Kowalczyk and Stack Overflow Documentation project (HTML) +* [Essential Algorithms](https://www.programming-books.io/essential/algorithms/) - Krzysztof Kowalczyk and Stack Overflow Documentation project (HTML) * [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html) - Al Aho, Jeff Ullman * [Geometry Algorithms](http://geomalgorithms.com) - Dan Sunday * [Lectures Notes on Algorithm Analysis and Computational Complexity (Fourth Edition)](http://ianparberry.com/books/free/license.html) - Ian Parberry (use form at bottom of license) @@ -178,7 +176,6 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Designing Distributed Systems](https://azure.microsoft.com/en-us/resources/designing-distributed-systems/) *(account required)* * [Distributed Systems 3rd edition](https://www.distributed-systems.net/index.php/books/ds3/) - Maarten van Steen, Andrew S. Tanenbaum *(email address required)* * [How to optimize storage costs using Amazon S3](https://aws.amazon.com/s3/cloud-storage-cost-optimization-ebook/) - AWS (PDF) -* [Kubernetes Hardening Guidance](https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/1/CTR_KUBERNETESHARDENINGGUIDANCE.PDF) - NSA, CISA (PDF) * [Learn Azure in a Month of Lunches](https://clouddamcdnprodep.azureedge.net/gdc/2014519/original) - Iain Foulds (PDF) * [Monitoring Modern Infrastructure](https://www.datadoghq.com/ebook/monitoring-modern-infrastructure/) *(account required)* * [Multi-tenant Applications for the Cloud, 3rd Edition](http://www.microsoft.com/en-us/download/details.aspx?id=29263) @@ -235,7 +232,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Computer Vision: Algorithms and Applications](http://szeliski.org/Book/) - Richard Szeliski * [Computer Vision: Foundations and Applications](http://vision.stanford.edu/teaching/cs131_fall1718/files/cs131-class-notes.pdf) - Ranjay Krishna (PDF) * [Computer Vision: Models, Learning, and Inference](http://www.computervisionmodels.com) - Simon J.D. Prince -* [DALLE-E 2 prompt book](http://dallery.gallery/wp-content/uploads/2022/07/The-DALL%C2%B7E-2-prompt-book.pdf) - Dallery.Gallery, Guy Parson(PDF) +* [DALLE-E 2 prompt book](https://dallery.gallery/wp-content/uploads/2022/07/The-DALL%C2%B7E-2-prompt-book.pdf) - Dallery.Gallery, Guy Parson(PDF) * [Programming Computer Vision with Python](http://programmingcomputervision.com) - Jan Erik Solem @@ -292,7 +289,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [3D Math Primer for Graphics and Game Development](https://gamemath.com/book/intro.html) - Fletcher Dunn (HTML) * [Coding With Minecraft](https://turtleappstore.com/book/) - Al Sweigart * [Designing Virtual Worlds](https://mud.co.uk/richard/DesigningVirtualWorlds.pdf) - Richard A. Bartle (PDF) -* [Game AI Pro](http://www.gameaipro.com) - Steve Rabin +* [Game AI Pro](https://www.gameaipro.com) - Steve Rabin * [Game Design with AGS](https://ensadi.github.io/AGSBook/) - Dave Ensminger, A. G. Madi * [Game Programming Patterns](http://gameprogrammingpatterns.com) - Bob Nystrom * [Level up your code with game programming patterns](https://resources.unity.com/games/level-up-your-code-with-game-programming-patterns) - Unity (HTML & PDF) @@ -307,21 +304,20 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Computer Graphics from scratch](http://gabrielgambetta.com/computer-graphics-from-scratch) - Gabriel Gambetta (:construction: *in process*) * [DirectX manual](http://user.xmission.com/~legalize/book/download/index.html) (draft) * [GPU Gems](https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01.html) -* [Graphics Programming Black Book](http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698) - Michael Abrash +* [Graphics Programming Black Book](https://www.gamedev.net/tutorials/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698/) - Michael Abrash (PDF) * [Introduction to Modern OpenGL](https://open.gl) - Alexander Overvoorde (HTML, EPUB, PDF) (C++) * [Introduction to TouchDesigner 099](https://leanpub.com/introductiontotouchdesigner/) *(Leanpub account or valid email requested)* * [JPEG - Idea and Practice](https://en.wikibooks.org/wiki/JPEG_-_Idea_and_Practice) * [Learn Computer Graphics From Scratch!](https://www.scratchapixel.com) - Scratchapixel (:construction: *in process*) -* [Learn OpenGL](http://learnopengl.com) - Joey de Vries +* [Learn OpenGL](https://learnopengl.com) - Joey de Vries * [Learn OpenGL RS](https://github.com/bwasty/learn-opengl-rs) - Benjamin Wasty, et al. (:construction: *in process*) (Rust) * [Learning Modern 3D Graphics Programming](https://web.archive.org/web/20150225192611/http://www.arcsynthesis.org/gltut/index.html) - Jason L. McKesson (draft) -* [Notes for a Computer Graphics Programming Course](https://www.cs.csustan.edu/~rsc/CS3600F00/Notes.pdf) - Dr. Steve Cunningham (PDF) * [OpenGL](http://www.songho.ca/opengl/index.html) - Concepts and illustrations * [Physically Based Rendering, Third Edition: from Theory to Implementation](https://www.pbr-book.org) - Matt Pharr, Wenzel Jakob, Greg Humphreys * [Ray Tracing Gems](https://www.realtimerendering.com/raytracinggems/rtg/index.html) - Eric Haines, Tomas Akenine-Möller * [Ray Tracing Gems II](https://www.realtimerendering.com/raytracinggems/rtg2/index.html) - Adam Marrs, Peter Shirley, Ingo Wald * [Ray Tracing in One Weekend](https://raytracing.github.io) - Peter Shirley (HTML) -* [ShaderX series](http://www.realtimerendering.com/resources/shaderx/) - Wolfgang Engel +* [ShaderX series](https://www.realtimerendering.com/resources/shaderx/) - Wolfgang Engel * [Tutorials for modern OpenGL](http://www.opengl-tutorial.org) * [Virtual Reality](http://lavalle.pl/vr/) - Steven M. LaValle * [WebGL Insights](http://webglinsights.com) - Patrick Cozzi, et al. @@ -334,7 +330,6 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [GUI development with Rust and GTK 4](https://gtk-rs.org/gtk4-rs/stable/latest/book/) - Julian Hofer * [Programming with gtkmm 4](https://developer.gnome.org/gtkmm-tutorial/stable/) * [Search User Interfaces](http://searchuserinterfaces.com/book/) - Marti A. Hearst -* [The GLib/GTK+ Development Platform](https://informatique-libre.be/swilmet/glib-gtk-book/glib-gtk-dev-platform.pdf) - Sébastien Wilmet (PDF) * [Web Design Primer](https://pressbooks.library.ryerson.ca/webdesign/) - Richard Adams, Ahmed Sagarwala * [Web Style Guide Online](https://www.webstyleguide.com/wsg3/index.html) - Patrick J. Lynch, Sarah Horton @@ -368,8 +363,8 @@ Books that cover a specific programming language can be found in the [BY PROGRA ### Licensing -* [Creative Commons: a user guide](http://www.aliprandi.org/cc-user-guide/) - Simone Aliprandi -* [Open Source Licensing Software Freedom and Intellectual Property Law](http://rosenlaw.com/oslbook/) - Lawrence Rosen +* [Creative Commons: a user guide](https://archive.org/download/CreativeCommonsUserGuide/CreativeCommonsUserGuide.pdf) - Simone Aliprandi (PDF) +* [Open Source Licensing Software Freedom and Intellectual Property Law](https://rosenlaw.com/oslbook/) - Lawrence Rosen * [The Public Domain: Enclosing the Commons of the Mind](http://www.thepublicdomain.org/download/) - James Boyle @@ -691,23 +686,24 @@ Books that cover a specific programming language can be found in the [BY PROGRA ### Operating Systems * [A short introduction to operating systems (2001)](http://markburgess.org/os/os.pdf) - Mark Burgess (PDF) -* [Computer Science from the Bottom Up](http://www.bottomupcs.com) -* [How to Make a Computer Operating System](https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System) (:construction: *in process*) +* [Computer Science from the Bottom Up](http://www.bottomupcs.com) - Ian Wienand (PDF) +* [Flexible Operating System Internals: The Design and Implementation of the Anykernel and Rump Kernels](https://aaltodoc.aalto.fi/handle/123456789/6318) - Antti Kantee (PDF) +* [How to Make a Computer Operating System](https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System) - Samy Pesse (:construction: *in process*) * [How to write a simple operating system in assembly language](http://mikeos.sourceforge.net/write-your-own-os.html) - Mike Saunders (HTML) * [Linux From Scratch](https://www.linuxfromscratch.org/lfs/view/stable/) - Gerard Beekmans, Bruce Dubbs, Ken Moffat, Pierre Labastie, et al. (HTML, [PDF, downloads...](https://www.linuxfromscratch.org/lfs/downloads/stable/)) * [Making Servers Work: A Practical Guide to Linux System Administration](https://www.digitalocean.com/community/books/sysadmin-ebook-making-servers-work) - Jamon Camisso (PDF, EPUB) -* [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) +* [Operating Systems and Middleware](https://gustavus.edu/mcs/max/os-book/) - Max Hailperin (PDF, LaTeX) +* [Operating Systems: From 0 to 1](https://github.com/tuhdo/os01/releases/tag/0.0.1) - Tu, Ho Doang (PDF) (:construction: *in process*) +* [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/) - Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (PDF) * [Practical File System Design: The Be File System](http://www.nobius.org/~dbg/practical-file-system-design.pdf) - Dominic Giampaolo (PDF) * [Project Oberon: The Design of an Operating System, a Compiler, and a Computer](http://people.inf.ethz.ch/wirth/ProjectOberon/index.html) - Niklaus Wirth, Jürg Gutknecht (PDF) -* [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/) - Eric S. Raymond -* [The Design and Implementation of the Anykernel and Rump Kernels](http://www.fixup.fi/misc/rumpkernel-book/) - Antti Kantee -* [The little book about OS development](https://littleosbook.github.io) - Erik Helin, Adam Renberg -* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey +* [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/) - Eric S. Raymond (HTML) +* [The Little Book About OS Development](https://littleosbook.github.io) - Erik Helin, Adam Renberg - (PDF, HTML) +* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey (PDF) * [Think OS: A Brief Introduction to Operating Systems](http://www.greenteapress.com/thinkos/index.html) - Allen B. Downey (PDF) * [UNIX Application and System Programming, lecture notes](http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/unix_lecture_notes.php) - Prof. Stewart Weiss (PDF) * [Writing a Simple Operating System from Scratch](http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf) - Nick Blundell (PDF) -* [Xv6, a simple Unix-like teaching operating system](https://pdos.csail.mit.edu/6.828/2012/xv6.html) +* [Xv6, a simple Unix-like teaching operating system](https://pdos.csail.mit.edu/6.828/2022/xv6.html) - Russ Cox, Frans Kaashoek and Robert Morris (PDF, HTML) ### Parallel Programming