programming-resources
A collection of programming and computation resources.
https://github.com/ADGEfficiency/programming-resources
Last synced: 1 day ago
JSON representation
-
Courses
- Open Source Society University - Computer Science
- Teach Yourself Computer Science
- ./missing-semester - gain proficiency with computing systems (shell, editor, version control) - [notes](https://missing.csail.mit.edu/) - [lecture videos](https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J)
- Developer Roadmaps - Python, React, backend, frontend.
- Composing Programs
- calmcode.io - video tutorials for modern ideas and open source tools (mostly Python)
- The Good Research Code Handbook
- codecrafters-io/build-your-own-x - master programming by recreating your favorite technologies from scratch.
- Computer Science from the Bottom Up
- CSE 20289 - Systems Programming
- Opinionated Guides on Engineering
- The Debugging Guide
- course homepage - [notes](https://ocw.mit.edu/ans7870/6/6.005/s16/index.html) - 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.
- lines/course-starter-python - course framework for spaCy
- Lecture 4: Data Wrangling (2020) - sed
- Lecture 5: Command-line Environment (2020) - tmux, ssh
- Lecture 8: Metaprogramming (2020) - make, testing
- Lecture 9: Security and Cryptography (2020) - hashing
- lecture videos - [course home page](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/)
- Computer Science from the Bottom Up
- CS360 -- Systems Programming
-
Random Cool Stuff
- DevDocs - combines multiple API documentations in a fast, organized, and searchable interface.
- GraphQL
- Stories of reaching Staff-plus engineering roles
- The Compiler Writer Resource Page
- cheat.sh - Unified access to the best community driven documentation repositories of the world.
- Refactoring.Guru - makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics.
- Richard Hamming - You and Your Research Lecture
- Vim Kōans
- dorking (how to find anything on the Internet)
- Vue.js
- Don't Call Yourself A Programmer, And Other Career Advice
- List of software development philosophies - Wikipedia
- The Distributed Computing Manifesto
- The Grug Brained Developer
- Generative Artistry - A range of interactive tutorials, exploring ideas and techniques used in generative art.
- Rob Pike's 5 Rules of Programming
- The Tao of Programming
- practical-tutorials/project-based-learning - Curated list of project-based tutorials.
- dwmkerr/hacker-laws - Laws, Theories, Principles and Patterns that developers will find useful.
- cbonsai - a bonsai tree generator that intelligently creates, colors, and positions a bonsai tree.
- HN: the good parts
- TheSimsDesignDocuments
- Build a working game of Tetris in Conway's Game of Life - [Hacker News](https://news.ycombinator.com/item?id=42520432)
- Famous statistical quotations
- Content Tests @ The Open Buddhist University
- Writing a Simple Operating System from Scratch
- The Codeless Code - fables and Kōans for the software engineer.
- progsbase - Flow-Charts of Programming Language Constructs.
- 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++
- Ember.js
- React.js
- Ruby on Rails
- Lehman's laws of software evolution
- 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](https://news.ycombinator.com/item?id=28352075)
- Do 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
-
Podcasts
- Talk Python To Me - [Why is Python Slow?](https://talkpython.fm/episodes/show/265/why-is-python-slow)
- Bjarne Stroustrup: C++
- David Patterson: Computer Architecture and Data Storage
- Jim Keller: Moore's Law, Microprocessors, Abstractions, and First Principles
- Jim Keller: The Future of Computing, AI, Life, and Consciousness
- James Gosling: Java, JVM, Emacs, and the Early Days of Computing
- Chris Lattner: The Future of Computing and Programming Languages
- Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming
- Guido van Rossum: Python
- Richard Karp: Algorithms and Computational Complexity
- Brendan Eich: JavaScript, Firefox, Mozilla, and Brave
- Charles Hoskinson: Cardano
- Jeffrey Shainline: Neuromorphic Computing
- Presentable - how we design and build the products that are shaping our digital future
-
Falsehoods
-
Textbooks
-
Blogs & Blog Posts
- Write code that is easy to delete, not easy to extend
- Julia Evans
- Adam Johnson
- danluu
- Some programming blogs to consider reading
- The Clean Code Blog - Robert C. Martin (Uncle Bob)
- Lessons from my PhD
- charity.wtf - technology, databases, startups, engineering management, and whiskey.
- rachelbythebay
- (A few) Ops Lessons We All Learn The Hard Way
- A cozy nest for your scripts
- Tips for work-life balance
- Writing for Engineers
- Matt Might
- Cat on Mat
- Advantages of Monorepos
- Haki Benita
- Seph
- Essays on programming I think about a lot
- Building LLM applications for production
- The Pragmatic Engineer
- Test Double | Insights and Blogs
- Looming demise of the 10x developer: a Justin Searls reflection
- Sam Thorogood
- Post-Request/Response Apps
- John Carmack on Inlined Code - [Hacker News](https://news.ycombinator.com/item?id=41758371)
- Good software development habits
- 5 Computer Science Papers That Changed How I Write Code
- 5 Famous Programming Quotes, Explained
- new codebase, who dis? (How to Join a Team and Learn a Codebase) - Samuel Taylor
- Zach Alberico - How To Become A Hacker
- Pain We Forgot
- Dev tools: The ex-Googler guide
- boz.
- Marc Brooker's Blog
- How Do You Spend Your Time?
- Getting Big Things Done
- Vadim Kravcenko
- The fish shell is awesome
- Why you should understand (a little) about TCP
- Why software projects fail
- Database Migrations
- Habits of great software engineers
- Databases have failed the web
- Brains to Bytes
- It's Fine, Nobody Can Remember Everything
- On Abstraction and Coupling
- jorzel
- Continuous learning framework
- Continuous Learning Framework vol. 2
- Different types of application logic
- Erik Bernhardsson
- The hacker's guide to uncertainty estimates
- Building a data team at a mid-stage startup: a short story
- Software infrastructure 2.0: a wishlist
- Seth Goldin
- Stop Using TODO for Everything
- RelyAbility
- The Curse of Systems Thinkers (Part 1)
- Waste versus slack in production engineering
- Structure and Interpretation of Computer Programmers
- Discipline doesn’t scale
- I’ve vastly misunderstood the Single Responsibility Principle
- Cuddly, Octo-Palm Tree
- Tools You Should Know About: direnv
- Tools You Should Know About: nix-shell
- Tools You Should Know About: jq
- Nabeel S. Qureshi
- Advice That Actually Worked For Me
- How To Understand Things
- Notes on Karl Popper
- How to Sell
- Git: Improve diff generation with diff.algorithm=histogram
- Baldur Bjarnason
- 136 facts every web dev should know before they burn out and turn to landscape painting or nude modelling – Baldur Bjarnason
- Ian Henry
- How to Learn Nix, Part 1: What's all this about?
- Marc Lelarge
- aem1k
- Spin the World Quine
- Building a computer in Conway's game of life
- Martin Heinz
- Python Tips and Trick, You Haven't Already Seen
- benkuhn.net
- Attention is your scarcest resource
- My favorite essays of life advice | benkuhn.net
- You don't need to work on hard problems
- Austin Z. Henley
- Challenging projects every programmer should try
- Chip Huyen
- Streaming for Data Scientists
- What we look for in a resume
- 7 reasons not to join a startup and 1 reason to
- In defense of simple architectures
- Big companies v. startups
- Coding Horror
- The Magpie Developer
- Don't Pollute User Space
- Casey's Tech Stuff
- Semantic Compression
- Complexity and Granularity
- Visualize Today - Small Multiples
- SQL For Data Analysis
- nemil
- Think in Tradeoffs - most engineering decisions as tradeoffs — not good choices versus bad choices.
- Pierce the Abstraction Wall - soft versus hard interfaces
- Don't Write Code
- Read Code
- The User is King (And Not)
- localghost
- Everything I googled in a week as a senior software engineer
- Everything I googled in a week as a professional software engineer
- Start at the beginning: the importance of learning the basics
- Burnout, a cautionary tale (and a plea to take a break)
- Give yourself a break: lessons from burnout
- A terrible schema from a clueless programmer
- Tasks, lists, and promises
- One way a builder culture can fail
- An incomplete list of complaints about real code
- Unfortunate things about performance reviews
- https://www.netmeister.org
- Consistent Tools
- Writing Shell Scripts
- Industry vs Academia
- A short introduction to make
- Hillel Wayne
- Sources of Complexity: Constraints
- Clever vs Insightful Code
- What engineering can teach (and learn from) us
- Are we really engineers?
- The Hard Part of Learning a Language
- Proper Fixation
- Don't ask if a monorepo is good for you – ask if you're good enough for a monorepo
- Evil tip: avoid "easy" things
- Love thy coworker; thy work, not necessarily
- Things from Python I'd miss in Go
- Engineers vs managers: economics vs business
- The cardinal programming jokes
- dwmkerr.com
- A Simple Makefile 'help' command
- Effective Shell for Beginners
- Classes vs. Data Structures
- FP vs. OO
- Women In Demand
- Code by Kate Rose Morley
- Justin Meiners
- Foundation of Math Reading List
- The Skills Poor Programmers Lack
- Think in Math. Write in Code
- koaning.io - Vincent D. Warmerdam
- The Future of Data Science is Past
- Outliers: Selection vs. Detection
- Bad Labels
- Introduction to Inference
- Today I Scripted
- The Digital Cat
-
Code Challenges
-
What Every Programmer Should Know
- Memory - [HN discussion](https://news.ycombinator.com/item?id=30354290)
- What every computer science major should know
-
History of Programming
- Why Isn't Functional Programming the Norm? – Richard Feldman - 2019
- 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 does "=" mean assignment? - Hillel Wayne
-
Books
- Algorithms to Live By: The Computer Science of Human Decisions - Christian & Griffiths
- 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
-
Music For Programming
- Skyrim Exploration Suite
- Listen to Wikipedia - real-time visualization and sonification of Wikipedia activity.
- musicForProgramming
- Philip K. Dick's Favorite Classical Music - [PKD - playlist by openculturedotcom | Spotify](https://open.spotify.com/playlist/1RsnkX0bQWd2CVWW8jcxBR)
- Liszt
- Rain with Clair de Lune
- Offworld Trading Company Soundtrack
- Tosca - Suzuki
- Susumu Yokota - Acid Mt. Fuji
- soma fm - Mission Control
- lofi air traffic control
-
Articles
- The death of Glitch, the birth of Slack
- The Man Who Killed Google Search
- The Tyranny of Spreadsheets | Tim Harford
- DeepDream: How Alexander Mordvintsev Excavated the Computer’s Hidden Layers
- The Secret Auction That Set Off the Race for AI Supremacy
- How Discord Won
- The messy, secretive reality behind OpenAI’s bid to save the world
- 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
-
Should You Learn to Code?
Programming Languages
Categories
Sub Categories