This is a place where I keep links to interesting articles, essays, and videos that I found on the internet. Topics include, but not limited to, software engineering, math, physics, history and business.
A little learning is a dangerous thing; Drink deep, or taste not the Pierian spring.
"Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers". Perlis is saying that the greats have some internal quality that transcends their training. But where does the quality come from? Is it innate? Or do they develop it through diligence? As Auguste Gusteau (the fictional chef in Ratatouille) puts it, "anyone can cook, but only the fearless can be great." I think of it more as willingness to devote a large portion of one's life to deliberative practice. But maybe fearless is a way to summarize that. Or, as Gusteau's critic, Anton Ego, says: "Not everyone can become a great artist, but a great artist can come from anywhere."
Just because you know a statement and proof of Fundamental Lemma X, you shouldn’t take that lemma for granted; instead, you should dig deeper until you really understand what the lemma is all about.
One needs to do a serious amount of reading and writing, and not just thinking, in order to get anywhere serious in mathematics; contrary to public opinion, mathematical breakthroughs are not powered solely (or even primarily) by “Eureka” moments of genius, but are in fact largely a product of hard work, directed of course by experience and intuition.
If you concentrate solely on your career, you can get a long way in your career. That’s a strategy that a minority of men preferably do. They work 70-80 hours a week. They go flat our on their careers. They’re staking everything on small probabilities of exceptional status in a narrow domain. It’s hard on them. They don’t have a life. It’s very difficult for them to have a family. They don’t know how to take any leisure activities. They get very one dimension. It means that the uni-dimensional is the price you have to pay to be exceptional at one thing. Because if you’re gonna at a level of a genius mathematician, you’re in a lab all the time, you work 80 hours a week. You’re smart. You’re dedicated. That’s how you get to beat every other people who doing that. That’s the only way. It’s a risky business. You scarify a lot for it.
Most people wound’t do it. They wouldn’t put in 80 hours per week that I have to put in order to dominate that particular area. The reason they decide not to do it is because they think it’s not worth it. No wonder. Because why would that be worth it? You have to ask yourself that. Why do you want to be an outstanding scientist? Ok. Really, that’s what you want. Because that’s what you do. You’re competing with other people. They’re smart. They’re hardworking. If you want to be at the top, you have to be smarter and work harder than any of them. If I am smart and hardworking and I crank out for 80 hours a week and you do it for 30. In 2 years, I’m so ahead of you. You will never ever catch up.
Jordan Peterson - Do You Want To Have A Life? Or Be Exceptional At One Thing?
Business
History
Docker
- Romin's Docker Tutorial Series: Easy-to-understand tutorial. Topics: Docker hub, private registry, volume, Dockerfile, Docker Swarm, Google Compute Engine, Kubernetes
- Containers versus Operating Systems
Networking
Go
- Peter Bourgon's blog: A mix of Go and microservices architecture blogs.
- GopherAcademy
- rakyll's blog on Go
- Analysis of the Go runtime scheduler
- Povilas Versockas's blog: Go, Kubernetes' insight with a many awesome articles recommendations.
- Build web app with Go: Not just web related resources with simple explaination but also different developement setup
- Go TCP/IP Networking: Good read with awesome visualization, heavily commented code
- Go training: A of of insights on Go language itself as well as design philosophy, correctness, performance and difference trade offs. They also have good reading resources to reinforce the materials.
- Code to Read When Learning Go
Bash
Other language
- Safe ways to do things in bash
- Jon Gjengset's blog: Mostly about Rust
- The Rise of "Worse is Better"
- Red and Green callbacks: Difference between Erlang's concurrency models and JavaScript's lack of one
- The Language of the System
Distributed Systems
System
- Build an 8-bit computer from scratch: Awesome tutorials with instructional videos explaining computer system and architecture
- Building an Operating System for the Raspberry Pi
- Per Vognsen's systems programming source: Code and Live Coding sessions.
- K'NEX
- Fuchsia OS
- grep your way to freedom: what happens if you grep a file and append the contents to the same file?
- Smashing The Stack For Fun And Profit
- Finite State Machine
- Rich Programmer Food: How Compilers work and why do they matter?
- Systems Software Research is Irrelevant: Rob Pike on why "Systems software research has become a sideline to the excitement in the computing industry"
- Manufacturing Modern Computer Chips
- A Symbolic Analysis of Relay and Switching Circuits
- Papers We Love talk on "A Mathematical Theory of Communication"
- What Every Programmer Should Know About Memory
- A Client-Centric Specification of Database Isolation
- Russ Cox's awesome projects and papers
Database
- The last decade of database research
- Michael Stonebraker's on his "One Size Fits All" paper
- Michael Stonebraker's on future of DBMS
- Your Mouse is a Database
- Spanner: Becoming a SQL System
- A Critique of the CAP Theorem
- MapReduce: A major step backwards
- A History of Transaction Histories
AI
- Peter Norvig's Github
- Hashing in the Era of Machine Learning : Topics on different data structure such as hash tables, "learned index", b-tree annd pointers to research papers
- Artificial Intelligence — The Revolution Hasn’t Happened Yet : Public vs practitioner view of "AI
- A Berkeley View of Systems Challenges for AI : How are computer systems may evolve to support ML over the coming decade
Security
- Joel on Software
- LiveOverflow Binary Hacking
- How secure is 256 bit security?
- The Secret Life Of Your Login Credentials
Software
Book
- A Mind at Play: How Claude Shannon Invented the Information Age
- Hacker's Delight
- Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture
- Ghost in the Wires: My Adventures as the World's Most Wanted Hacker
- On Intelligence: How a New Understanding of the Brain Will Lead to the Creation of Truly Intelligent Machines
- Category Theory for Programmers
- Linux Kernel Development
- Computer Organization and Design
- Computer Architecture
- Readings in Database Systems
- Computer Systems: A Programmer's Perspective
- C Programming Language
- Programming Interviews Exposed: Secrets to Landing Your Next Job
- C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
- Design Patterns: Elements of Reusable Object-Oriented Software
Math
Physics
- Simon Clark's recommended physics books
- The Mechanical Universe: 1985/86 PBS television adaptation of the introductory physics courses at Cornell
Other