Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/AlgoryL/Projects-from-Scratch

Read and do projects.
https://github.com/AlgoryL/Projects-from-Scratch

Last synced: about 2 months ago
JSON representation

Read and do projects.

Awesome Lists containing this project

README

        

# Projects-from-Scratch
A curated list for projects building from scratch.

## Motivation
Thanks to this [thread](https://news.ycombinator.com/item?id=13660086) in HN.

## Topics

* Compilers and Interpreters
* [Build You Own Lisp](http://www.buildyourownlisp.com/), Mr Daniel Holden
* [Crafting Interpreters](http://www.craftinginterpreters.com/), Bob Nystrom
* [A Retargetable C Compiler: Design and Implementation](https://www.amazon.com/Retargetable-Compiler-Design-Implementation/dp/0805316701), David R. Hanson
* [Compiler Construction Using Java, JavaCC, and Yacc](https://www.amazon.com/Compiler-Construction-Using-Java-JavaCC/dp/0470949597), Anthony J. Dos Reis
* [Writing An Interpreter In Go](https://interpreterbook.com/), Thorsten Ball
* [Write Yourself a Scheme in 48 Hours](https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours)
* [Let's Build a Compiler](http://compilers.iecc.com/crenshaw/), Jack Crenshaw
* [Modern Compiler Implementation](https://www.cs.princeton.edu/~appel/modern/), Andrew Appel
* [Exploring Programming Language Architecture in Perl](http://www.billhails.net/Book/front.html), Bill Hails
* [compiler construction and Scheme books](http://t3x.org/index.html), Nils M Holm
* [The Art of the Metaobject Protocol](https://www.amazon.com/Art-Metaobject-Protocol-Gregor-Kiczales/dp/0262610744), Daniel G. Bobrow and Gregor Kiczales
* [Writing Compilers and Interpreters: A Software Engineering Approach](https://www.amazon.com/Writing-Compilers-Interpreters-Software-Engineering/dp/0470177071), Ronald Mak
* [Building an Optimizing Compiler](https://www.amazon.com/Building-Optimizing-Compiler-Bob-Morgan/dp/155558179X), Bob Morgan
* [Implementing Lisp in Python](http://fogus.me/fun/lithp/), Michael Fogus
* [Let’s Build A Simple Interpreter](https://ruslanspivak.com/lsbasi-part1/), Ruslan Spivak

* Distributed Systems
* [Distributed Systems for System Architects](http://www.springer.com/us/book/9780792372660), Paulo Veríssimo and Luís Rodrigues

* Electronics
* [Make: Analog Synthesizers: Make Electronic Sounds the Synth-DIY Way](https://www.amazon.com/Make-Analog-Synthesizers-Electronic-Synth-DIY/dp/1449345220), Ray Wilson

* Games and graphics
* [Realistic Ray Tracing](https://www.amazon.com/Realistic-Tracing-Second-Peter-Shirley/dp/1568814615), Peter Shirley
* [Creating Interactive Fiction with Inform 7](http://inform7.textories.com/), Aaron A. Reed
* [Handmade Hero](https://handmadehero.org/), Casey Muratori
* [Build Your Own Flight Sim in C++: Programming a 3d Flight Simulator Using Oop](https://www.amazon.com/Build-Your-Own-Flight-Sim/dp/1571690220), Michael Radtke
* [Flights of Fantasy: Programming 3d Video Games in C++/Book and Disk](https://www.amazon.com/Flights-Fantasy-Programming-Video-Games/dp/1878739182/), Christopher Lampton
* [Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization](https://www.amazon.com/Tricks-Programming-Gurus-Advanced-Graphics-Rasterization/dp/0672318350), André LaMothe
* [Radiosity: A Programmer's Perspective](http://www.helios32.com/resources.htm), Ian Ashdown
* [Game Scripting Mastery](https://books.google.ca/books/about/Game_Scripting_Mastery.html?id=q5jdl_LLreMC), Alex Varanese
* [Developing Games With Ruby](https://leanpub.com/developing-games-with-ruby/read), Tomas Varaneckas
* [How to Make an RPG](https://howtomakeanrpg.com/), Daniel Schuller
* [Programming an RTS Game with Direct3D](https://books.google.com.com/books/about/Programming_an_RTS_Game_with_Direct3D.html?id=jVkmAQAACAAJ&redir_esc=y), Carl Granberg
* [How to Make a Game Like Candy Crush](https://www.raywenderlich.com/66877/how-to-make-a-game-like-candy-crush-part-1), Ray Wenderlich
* [3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic](https://www.amazon.com/Game-Engine-Architecture-Engineering-Applications/dp/012229064X), David H. Eberly

* Mobile Apps
* [Learning Swift Building Apps for OS X and iOS](http://shop.oreilly.com/product/0636920045946.do), Paris Buttfield-Addison, Jon Manning, Tim Nugent

* Networking
* [Unix Network Programming, Volume 1: The Sockets Networking API](https://www.amazon.com/Unix-Network-Programming-Sockets-Networking/dp/0131411551), W. Richard Stevens
* [Let’s Build A Web Server](https://ruslanspivak.com/lsbaws-part1/), Ruslan Spivak

* Reverse Engineering
* [Hacking the Xbox](http://hackingthexbox.com/), Andrew 'bunnie' Huang

* Systems and utilities
* [Code: The Hidden Language of Computer Hardware and Software](http://www.charlespetzold.com/code/), Charles Petzold
* [The Elements of Computing Systems](http://www.nand2tetris.org/), Noam Nisan and Shimon Schocken
* [Linux From Scratch](http://www.linuxfromscratch.org/)
* [Peter Norton's Assembly Language Book for the IBM PC](https://www.amazon.com/Peter-Nortons-Assembly-Language-Book/dp/0136619010), Peter Norton
* [gitlet](https://github.com/maryrosecook/gitlet), Mary Rose Cook
* [Redo implementation in Haskell](https://github.com/jekor/redo), Chris Forno
* [The Unix Programming Environment](https://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X), Brian W. Kernighan
* [Programming from the Ground Up](https://www.amazon.com/Programming-Ground-Up-Jonathan-Bartlett/dp/0975283847), Jonathan Bartlett
* [Operating Systems Design and Implementation (3rd Edition)](https://www.amazon.com/Operating-Systems-Design-Implementation-3rd/dp/0131429388), Andrew S. Tanenbaum
* [Type and Learn C++](https://www.amazon.co.uk/Type-Learn-learn-programming/dp/1568843100), Martin L. Rinehart
* [The Craft of Text Editing](https://www.finseth.com/craft/), Craig A. Finseth
* [Linux Application Development](http://www.danlj.org/lad/), Michael K. Johnson and Erik W. Troan

* Web
* [Ruby on Rails Tutorial](https://www.railstutorial.org/), Michael Hartl
* [Web Development with Go](https://www.usegolang.com), Jonathan Calhoun
* [Flask Web Development](https://flaskbook.com/), Miguel Grinberg
* [Test-Driven Development with Python](http://www.obeythetestinggoat.com/), Harry J.W. Percival
* [Django Unleashed](https://django-unleashed.com/), Andrew Pinkham
* [Eloquent Javascript](http://eloquentjavascript.net/), Marijn Haverbeke
* [Webapps in Go](https://github.com/thewhitetulip/web-dev-golang-anti-textbook/), Suraj Patil
* [Programming Phoenix Productive |> Reliable |> Fast](https://pragprog.com/book/phoenix/programming-phoenix), Chris McCord, Bruce Tate, and José Valim
* [F# Applied](http://products.tamizhvendan.in/fsharp-applied/), Tamizhvendan S
* [Build Your Own AngularJS](https://teropa.info/build-your-own-angular/), Tero Parviainen
* [Rebuilding Rails](http://rebuilding-rails.com/), Noah Gibbs
* [Elixir in Action](https://www.amazon.com/Elixir-Action-scaron-Juri-cacute/dp/161729201X), Saša Jurić
* [SurviveJS - Webpack](https://survivejs.com/), Juho Vepsäläinen
* [Ember 2 Tutorial](http://yoember.com/), Zoltan
* [Erlang and OTP in Action](https://www.manning.com/books/erlang-and-otp-in-action), Martin Logan, Eric Merritt, and Richard Carlsson
* [Learn to Code HTML & CSS](http://learn.shayhowe.com/html-css/), Shay Howe
* [Robin Wieruch](https://github.com/rwieruch/the-road-to-learn-react), Robin Wieruch
* [Learning Flask Framework](https://www.packtpub.com/web-development/learning-flask-framework), Matt Copperwaite, Charles Leifer
* [MEAN Web Development](https://www.amazon.de/MEAN-Web-Development-Amos-Haviv/dp/1783983280), Amos Q. Haviv
* [Django's official tutorial](https://docs.djangoproject.com/en/1.10/intro/tutorial01/), Django Software Foundation
* [Discover Meteor](https://www.discovermeteor.com/), Tom Coleman and Sacha Greif
* [Professional Java for Web Applications](https://www.amazon.com/Professional-Java-Applications-Nicholas-Williams/dp/1118656466), Nicholas S. Williams
* [Serverless Single Page Apps](https://pragprog.com/book/brapps/serverless-single-page-apps), Ben Rady
* [PHP and MySQL by Example](https://www.amazon.com/PHP-MySQL-Example-Ellie-Quigley/dp/0131875086), Ellie Quigley and Marko Gargenta
* [Flexible Rails](https://www.manning.com/books/flexible-rails), Peter Armstrong
* [Tango with Django](http://www.tangowithdjango.com/), Leif Azzopardi
* [Learning Flex 4: Getting Up to Speed with Rich Internet Application Design and Development](https://www.amazon.com/d/0596805632), Alaric Cole and Elijah Robison
* [Bandit Algorithms for Website Optimization: Developing, Deploying, and Debugging](https://www.amazon.com/Bandit-Algorithms-Website-Optimization-Developing/dp/1449341330), John Myles White

* Mics
* [Practical Common Lisp](http://www.gigamonkeys.com/book/), Peter Seibel
* [The Art of Monitoring](https://www.artofmonitoring.com/), James Turnbull
* [The Little Schemer](https://mitpress.mit.edu/books/little-schemer), Daniel P. Friedman and Matthias Felleisen
* [The Reasoned Schemer](https://mitpress.mit.edu/books/reasoned-schemer), Daniel P. Friedman, William E. Byrd and Oleg Kiselyov
* [Nim in Action](https://www.manning.com/books/nim-in-action?a_aid=niminaction&a_bid=78a27e81), Dominik Picheta
* [C++ Design Patterns and Derivatives Pricing](https://www.amazon.com/Patterns-Derivatives-Pricing-Mathematics-Finance/dp/0521721628), M. S. Joshi
* [Take Off With Elixir](https://bigmachine.io/products/take-off-with-elixir/), Rob Conery
* [Big Nerd Ranch books](https://www.bignerdranch.com/books/)
* [Automate the boring stuff](https://automatetheboringstuff.com/), Al Sweigart
* [Think Stats 2e](http://greenteapress.com/wp/think-stats-2e/), Allen B. Downey
* [The AWK Programming Language](https://www.amazon.com/AWK-Programming-Language-Alfred-Aho/dp/020107981X), Alfred V. Aho, Brian W. Kernighan and Peter J. Weinberger

## To do
Database and Cryptographics

## Contributions
Pull requests and Issues are welcomed!

## License
MIT