links
Links to programming and software engineering related resources I found useful or interesting. A personal "awesome list".
https://github.com/pawroman/links
Last synced: 5 days ago
JSON representation
Algorithms
- Cache replacement policies
- Consistent Hashing
- The Simple Magic of Consistent Hashing
- The Ultimate Guide to Consistent Hashing
- Dijkstra's in Disguise
- In Search of an Understandable Consensus Algorithm
- Introduction to the A* Algorithm
- Implementation of A*
- Rendezvous hashing
- Reservoir sampling
- The Wavefunction Collapse Algorithm explained very clearly
- Algorithms by Jeff Erickson
- The Algorithm Design Manual
- Big-O Complexity Cheat Sheet
- Raft Consensus Algorithm Visualization
- xoshiro / xoroshiro generators and the PRNG shootout
- Big-O Complexity Cheat Sheet
Architecture and Programming Patterns
- Clean Architecture (book)
- Design Patterns - Describes the classic OO patterns.
- Game Programming Patterns
- The Architecture of Open Source Applications
- The Internals of PostgreSQL
- The Twelve-Factor App
- Vertical Slice Architecture
- PresentationDomainDataLayering
- You are not Google
- Database-as-IPC
- Global Variables Are Bad
- The C4 model for visualizing software architecture
- Visualising software architecture with the C4 model (video)
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- System Design Primer
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- You are not Google
- Global Variables Are Bad
- You are not Google
- You are not Google
Assorted "How Stuff Works"
Career Development
Code Quality and Good Practices
- Software craftsmanship
- Clean Code (book)
- The Clean Coder (book)
- The Future of Programming (video)
- The Pragmatic Programmer (book)
- Take-home reference
- AHA Programming
- Don't Repeat Yourself
- DRY (Don't Repeat Yourself) is a Fallacy
- Make It Work, Make It Right, Make It Fast
- Principle of least astonishment
- The Rule of Three
- Manifesto for Software Craftsmanship
- Cyclomatic complexity
- Keep a Changelog
- Preventing the Collapse of Civilization
- When costs are nonlinear, keep it small.
- Write code that is easy to delete, not easy to extend.
- 5 Things I’ve Learned in 20 Years of Programming
- API Evolution the Right Way
- ARCHITECTURE.md
- Do Not Log
- Some Useful Probability Facts for Systems Programming
- Superior Testing: Stop Stopping
- The AI Hierarchy of Needs
- hacker-laws
- Programming Principles
- How To Write Unmaintainable Code
- API Security Checklist
- Make It Work, Make It Right, Make It Fast
- The Ship of Theseus to NOT rewrite a legacy system from scratch (FKA. Avoid rewriting a legacy system from scratch, by strangling it)
Command Line Tools
GUI tools
- PosteRazor
- Gestures
- QDirStat - Analyze disk usage by directory / file type.
- libinput-gestures
- PosteRazor
- DBCLI - Collection of great CLI database clients,
- Midnight Commander (mc) - The best file manager.
-
mosh
- Like
ssh, but with local echo and roaming. Good for poor connections. - ncdu - Disk usage analyzer.
- bandwhich
-
bat
- Syntax and git-aware
catclone, with automated paging. -
ctop
-
topfor containers. - direnv
- dive
- dua
-
eza
- Better than
ls. Also has atree-like switch (-T). -
fd
- Better than
find. - gdb-dashboard - Makes GDB so much better.
- grex
- htop - Excellent process viewer.
- hyperfine - CLI benchmarking tool.
- iredis
- kubectx
- kubetail
- lazydocker
- lychee
-
mtr
- Better than
ping. - ripgrep - Fast file content searcher.
- rmlint