awesome-aha
github.com/jondot/awesome-aha ↗Awesome list for "Aha!" moments related to programming and computer science. Accelerate your learning.
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me vim resources from awesome-aha"
Installation instructions →What's inside
Mechanics
- A Good VimrcVim
a soft and reasonable introduction to vim configuration that makes sense.
- Learn X in Y MinutesProgramming Languages
a highly effective website for polyglots, for refreshers, and the gist of many programming languages. Use this if you're already experienced with programming.
- Seven habits of effective text editingVim
- Vim BootstrapVim
a great
Technology
- Beating the Averages
how programming languages are related to a mindset.
- Five things we need to know about technological change
a classic, mind opening essay about technology and people.
General Programming
- better errors
- Design Stamina Hypothesis (Fowler)
The emerging pop computing trend challenges good design because people keep adopting buzzwords and slapping stack overflow code snippets onto production. This essay reminds us why good design is important and why it's so hard to justify good design or architecture in general.
- Greg Young on Software
(video) a few observations about what makes a good or bad codebase, a good or bad design. Spoiler: it's the code size; sort of. Has many other good observation if you have not a lot of experience. Very repetitive, but good.
- ID Software's 90's Programming Guidelines
(video) Amazingly relevant still, even today.
- Programming Pearls
programming and problem solving.
- Rob Pike's Notes on Programming in C
Really this could have been called "shit people knew in 89' that people today will keep rediscovering and fight about - but will never stop to realize they're really reinventing a flatter wheel".
Functional Programming
- FP Jargon
pair the "Mostly Adequate Guide" with these, either while reading, or after finishing reading it, to bolt in place all of the FP magic. These will also serve as a good cheatsheet for later.
- Introduction to Functional Programming
Wadler and Bird's classic. Many FP concepts first introduced here. Search on Google for more usable copies.
- Mostly Adequate Guide (to functional programming)
a great tutorial if you want to short-circuit years of wax-on wax-off to properly "get" FP. Start with this if you don't have FP background, or have some university clue, and progress to more heavy hitters such as Haskell, Lisp and so on.
- Some History of Functional Programming Languages
Turner summarizes part of the history of FP languages. Good to skim and to get a feeling of the evolution.
- What's a Transducer
A modern take on explaining transducers with Javascript (ES6), but read it any way because it intros map, filter, reduce and so on.
Programming Languages
- Golang NotesGo
coverage of several subjects from a programmer's perspective, including a bit of internals.
Next Steps
- Google research
same for Google.
- Microsoft research portal
Microsoft grabbed a lot of pioneers in computer science, there's plenty of great content there.
- papers we love
an amazing compilation of academic papers on many subject. Remember, there
Effectiveness
- How to read a book in a week
this is good for some nonfiction books, but all academic papers.
- How to read an academic paper
changed the way I read papers and made me immediately more effective. Wish I had that when I was in university.
Data
- Log structured merge trees
the data structure that powers a lot of recent big data products.
- My (Rob's) Philosophy on Alerting
The orignal raw document that kickstarted
Showing a sample of 33 resources. View the full list on GitHub →