/programming-resources

A curated collection of programming and computation resources

Primary LanguagePython

Programming Resources

A collection of programming resources that help me manage my imposter syndrome being paid to program (I have a chemical engineering background).

These are my personal notes - you will often find my notes and summaries alongside links to articles.

I also maintain similar collections on reinforcement learning and machine learning.

Teaching Materials & Courses

Hidden inside these notes are teaching materials:

Music to Program To

Listen to Wikipedia - real-time visualization and sonification of Wikipedia activity.

musicForProgramming

Liszt

Rain with Clair de Lune

Skyrim Exploration Suite

Offworld Trading Company Soundtrack

[Tosca - Suzuki](Tosca - Suzuki)

Random Cool Stuff

RosettaGit - solutions to the same task in as many different programming languages.

Screenshots from developers & Unix people (2002)

Screenshots from developers: 2002 vs. 2015

At what time of day do famous programmers work?

The challenges of teaching software engineering

Linus Torvalds on C++

The Honeypot documentaries on Ember.js, Vue.js & GraphQL.

List of software development philosophies - Wikipedia, including Rubber duck debugging.

dwmkerr/hacker-laws - Laws, Theories, Principles and Patterns that developers will find useful.

Richard Hamming - You and Your Research Lecture

The Architecture of Open Source Applications - Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes.

Software Development Waste - Hacker News discussion

Do call yourself a programmer, and other career advice

Don't Call Yourself A Programmer, And Other Career Advice

After being in a data science/ developer role for the better part of a decade, here is how companies REALLY develop software and AI/ML applications

What Every Programmer Should Know

Memory - HN discussion

What every computer science major should know

Articles

The Yoda of Silicon Valley

Overlooked No More: Alan Turing, Condemned Code Breaker and Computer Visionary

The Friendship That Made Google Huge - Jeff Dean and Sanjay Ghemawat

How Data (and Some Breathtaking Soccer) Brought Liverpool to the Cusp of Glory

A Unicorn Lost in the Valley, Evernote Blows Up the ‘Fail Fast’ Gospel

Why Google+ Failed

When Larry Met Sergey

Cities: Skylines is Turing Complete

How Notion pulled itself back from the brink of failure

Blogs & Blog Posts

nemil

localghost

rachelbythebay

https://www.netmeister.org

Matt Might

Hillel Wayne

Proper Fixation

Haki Benita

Cat on Mat

dwmkerr.com

The Clean Code Blog - Robert C. Martin (Uncle Bob)

Code by Kate Rose Morley

Justin Meiners

koaning.io - Vincent D. Warmerdam

The Digital Cat

History of Programming

The A-Z of Programming Languages

History of Infra as Code - talk about history of cloud services, Docker etc

History of Programming Language Conference

An opinionated history of programming languages

Is It Time to Rewrite the Operating System in Rust? - Bryan Cantrill - 2018

Why Isn't Functional Programming the Norm? – Richard Feldman - 2019

Why does "=" mean assignment? - Hillel Wayne

Courses

Open Source Society University - Computer Science

The Good Research Code Handbook

Developer Roadmaps - Python, React, backend, frontend.

6.005 Software Construction - course homepage - notes - introduces fundamental principles and techniques of software development - how to write software that is safe from bugs, easy to understand, and ready for change.

Systematic Program Design - video lectures.

calmcode.io - video tutorials for modern ideas and open source tools (mostly Python)

ines/course-starter-python - course framework for spaCy

./missing-semester - gain proficiency with computing systems (shell, editor, version control) - notes - lecture videos

Introduction to Computer Science and Programming in Python - lecture videos - course home page

Teach Yourself Computer Science

Computer Science from the Bottom Up

CS360 -- Systems Programming, and the module on Memory.

Code Challenges

codewars

coderbyte

HackerRank

Books

A Mind at Play: How Claude Shannon Invented the Information Age

Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams - Yevgeniy Brikman

The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World (2015 book) - Pedro Domingos

Algorithms to Live By: The Computer Science of Human Decisions - Christian & Griffiths

Textbooks

Clean Architecture: A Craftsman's Guide to Software Structure and Design - Robert C. Martin

Introduction to High-Performance Scientific Computing - Victor Eijkhout

Podcasts

Lex Fridman Podcast

Talk Python To Me

Presentable - how we design and build the products that are shaping our digital future