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

https://github.com/ryanstull/programmingresources

A place to collect some of my favorite resources on programming; from abstract theory to useful examples.
https://github.com/ryanstull/programmingresources

favorite-resources favorite-websites list

Last synced: 3 months ago
JSON representation

A place to collect some of my favorite resources on programming; from abstract theory to useful examples.

Awesome Lists containing this project

README

          

# programming-resources
A place to collect some of my favorite resources on programming; from abstract theory to useful examples.

# Key Topics and Concepts
* [Map of Computer Science](https://www.youtube.com/watch?v=SzJ46YA_RaA&t=0s&index=6&list=PLuw7QtA2XDtcdI5DJFAGN78T4HHzkD-7u)
* [40 Key Computer Science Concepts Explained In Layman’s Terms](http://carlcheo.com/compsci)

## Hardware
* Book: [Code](http://www.goodreads.com/book/show/44882.Code)
* [Common Latency Numbers](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html)

# Programming Wisdom
* [How to build good software](https://www.csc.gov.sg/articles/how-to-build-good-software)

# Bases of Programming

### Algorithms and Data Structures:
* [Big-O Cheat Sheet](http://bigocheatsheet.com/)
* [Visual Algorithms and Data Structures](http://visualgo.net/)

### Organization
* Book: [Clean Code](http://www.goodreads.com/book/show/3735293-clean-code)

### Error Handling
* ['Railway-Oriented' Programming](http://fsharpforfunandprofit.com/rop/#monads)

### Type Systems
* [Contravariance & Covariance](https://zeroturnaround.com/wp-content/uploads/2016/12/Java-Generics-cheat-sheet-graphic-v1.png)

### Data Stores
* [Database Normalization](https://www.guru99.com/database-normalization.html)
* [Sql Joins](https://external-preview.redd.it/M5QHWsp2vgZ-3QDZ4m-qS58lsOUgDNHau8trSFzS8H0.jpg?auto=webp&s=cae9cdc438b71c9025d40dad4650801fdcae1ef8)

### Concurrency and Parallelism
* [Processes, threads, green threads, protothreads, fibers, coroutines: what's the difference?](https://stackoverflow.com/questions/3324643/processes-threads-green-threads-protothreads-fibers-coroutines-whats-the)

### Networking
* [Network Protocol Hierarchy](https://s-media-cache-ak0.pinimg.com/originals/69/14/ae/6914ae17a08454798765d9474a02aa47.jpg)
* [Common Latency Numbers](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html)

### Machine Learning
* [Neural Net Zoo](http://www.asimovinstitute.org/wp-content/uploads/2016/09/neuralnetworks.png)

### Distributed Consensus Technology

* [Conceptual Overiew of the Blockchain](https://www.youtube.com/watch?v=bBC-nXj3Ng4)

# Programming Paradigms

### Overview

* http://cs.lmu.edu/~ray/notes/paradigms/

### Functional Programming
* Book: [Functional Programming in Scala](http://www.goodreads.com/book/show/13541678-functional-programming-in-scala)
* http://fsharpforfunandprofit.com/rop/#monads
* [Gang of Four Patterns in a Functional Light](https://www.voxxed.com/blog/2016/04/gang-four-patterns-functional-light-part-1/)

### Generic Programming
* [Models of Generics and Metaprogramming: Go, Rust, Swift, D and More](https://thume.ca/2019/07/14/a-tour-of-metaprogramming-models-for-generics/)

# Architecture & Design

## Design Patterns

### Integration Patterns

* [Enterprise Integration Patterns](http://www.enterpriseintegrationpatterns.com/patterns/messaging/toc.html)

### Object Oriented Design Patterns

* [Object-Oriented Design Patterns](https://s-media-cache-ak0.pinimg.com/originals/e4/fb/b0/e4fbb07b8f2858e4f0b82a9f11f9ef21.jpg)

### Typeclasses

* [Ad-hoc polymorphism in Scala](https://blog.codecentric.de/en/2017/02/ad-hoc-polymorphism-scala-mere-mortals/)

### Reactive Streams
* http://reactivex.io/intro.html

## Architecture

* [System Design Primer](https://github.com/donnemartin/system-design-primer)
* [The Principles of Clean Architecture](https://www.youtube.com/watch?v=o_TH-Y78tt4&t=10m30s)
* [Functional Arcitecture](https://www.youtube.com/watch?v=US8QG9I1XW0)

# Programming Domains

### Web Devlopment
* [Modern Javascript Explained For Dinosaurs](https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70)

# Languages

### General

* [What's Next](https://graydon2.dreamwidth.org/253769.html) \(For programming languages\)
* [Programming Language Geneology Tree](https://github.com/stereobooster/programming-languages-genealogical-tree)
* [What's been the most influential programming language and why?](https://www.quora.com/Whats-been-the-most-influential-programming-language-and-why)
* [Graph of programming languages, connected by compilers](https://akr.am/languages/)

### Scala

* [Neophytes' guide to Scala](http://danielwestheide.com/scala/neophytes.html)
* [Type Tetris](https://underscore.io/blog/posts/2017/04/11/type-tetris.html)
* [Old Design Patterns in Scala](http://www.lihaoyi.com/post/OldDesignPatternsinScala.html)
* [Scala bytecode and the JVM](https://www.toptal.com/scala/scala-bytecode-and-the-jvm)
* [Underscore.io books on Scala](https://underscore.io/training/)
* [Type-Level Programming in Scala](https://apocalisp.wordpress.com/2010/06/08/type-level-programming-in-scala/)
* [Dependency Injection in Scala: Guide](http://di-in-scala.github.io/)
* [Returning the "Current" Type in Scala](https://tpolecat.github.io/2015/04/29/f-bounds.html)

### Java

* [JVM Internal](http://blog.jamesdbloom.com/JVMInternals.html)
* [Introduction to Java Bytecode](https://dzone.com/articles/introduction-to-java-bytecode)
* [Generics](https://zeroturnaround.com/wp-content/uploads/2016/12/Java-Generics-cheat-sheet-v5.png)
* [Streams](https://zeroturnaround.com/wp-content/uploads/2016/01/Java-8-Streams-cheat-sheet-v3.png)

### C

* [Why C Has Pointers](http://duramecho.com/ComputerInformation/WhyCPointers.html)

### CSS

* [A Guide to Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)

# Frameworks

## Java Frameworks

### Spring

* [Core concepts of Spring](http://courses.coreservlets.com/Course-Materials/spring.html)

### Checker Framework

* [Checker Framework](https://checkerframework.org/)

# Dev-ops

* [The 12 Factor App](https://12factor.net/)

# Tools

### Unix tools

#### SSH
* [Normal ssh tunnel illustration](https://i.stack.imgur.com/a28N8.png)
* [Reverse ssh tunnel illustration](https://i.stack.imgur.com/4iK3b.png)

### Version Control

* [Semantic Versioning vs. Romantic Versioning](http://dafoster.net/articles/2015/03/14/semantic-versioning-vs-romantic-versioning/)

### Online Tools

* [Regex 101](https://regex101.com/)
* [SQL Fiddle](http://sqlfiddle.com)
* [FlowChart Maker](https://www.draw.io/)
* [Crontab Guru](https://crontab.guru/)
* [Tables Generator](https://www.tablesgenerator.com/)
* [Json Formatter](https://www.freeformatter.com/json-formatter.html)