AppendOnlyLedger
Recently, I've had a couple of friends at Stanford experience major burnout from the difficulty of their classes. It's also made me consider the workload that I have this quarter, which most friends say is pretty insane.
While it is a ton of work, I don't want to drop any of my classes because I simply love them all (so far, at least!). I actually see every class (barring Math110) as a possibility opener for me.
- CS144: Networks
- Gain fundamental understanding of networking protocols/the internet - invaluable
- Opens possibilities to write my own peer to peer networking applications, better understand the internals of protocols such as WebRTC, understand NAT traversal protocols, UPnP, etc.
- The same networking principles and protocols will be with us for a long, long time.
- It's good to know about how networks operate for p2p, bitcoin, and security-related projects.
- Gain fundamental understanding of networking protocols/the internet - invaluable
- CS251: Bitcoin
- This is a huge possibility opener.
- introduction to some novel applications of crypto
- understanding of the Bitcoin protocol (new technology!) and related protocols like Ethereum and Stellar
- this stuff might take off. This stuff includes related cryptocurrencies such as Ethereum/Stellar. Again, bitcoin protocol is a technology. Bitcoin itself doesn't have to be the one that takes off for me to have gained something really really valuable and timely from this class.
- I'd like to think that this is the "learning about the future" that Paul Graham talks about.
- This is a huge possibility opener.
- CS229: Machine Learning
- This has gotten so much attention recently that it's obvious that it's a possibility opener.
- It's interesting, it has impact, it gets you jobs, and it might even get you startup ideas.
- Social Dance
- This is a possibility opener. I wouldn't have learned any of this otherwise. 'nuff said.
- Math110: Applied Number Theory and Field Theory (crypto)
- This is the only class that isn't really a "possibility opener" for me.
- I do, however, learn the math behind some of the most fundamental crypto protocols. It's inherently interesting, it's fun, I'm happy.
As I invest my time into these classes, I want to remember why I am excited about the classes and what I've learned.
This list will serve as an append only ledger of all the things I've learned in my classes that are super exciting to me. I'll update it from time to time, when I get really excited about something I'm learning. A little more infrequently, I might write a post about a specific topic. It'll take more time, but it might help me learn things better.
CS144:
- A ton of "aha" moments. So THAT'S how it works!
- Learn about the pretty dang well designed engineering that is the internet
- Layering, encapsulation, and end-to-end principles
- Learned how packet forwarding is done within routers
CS251:
- Everything. Learned about binding commitments, Merkle trees, proof of work, etc.
- Multisig transactions and some cool applications
CS229:
- Generalized Linear Models
Math110:
- Learned the inner workings of RSA! Including how large primes are found in keygen!
- Some factoring methods: Pollard's Rho and Quadratic Sieve
Social Dance
- 4 count, 6 count, triple step swing. Fun fun fun!