
1. JavaScript
1.1. frameworks / libraries
1.1.1. frontend
1.1.1.1. React / Redux
1.1.1.1.1. immutable.js
1.1.1.2. Angular
1.1.2. backend
1.1.2.1. Express
1.1.3. highland.js
1.2. language stepping stones
1.2.1. prototype chain
1.2.2. function scope
1.2.3. lexicographical scope / block scope
1.2.4. var
1.2.5. let
1.2.6. const
1.2.7. this
1.2.8. context
1.2.9. bind
1.2.10. apply
1.2.11. call
1.2.12. Object
1.2.13. .sort()
1.2.13.1. for numbers: .sort((a,b) => {return a-b});
1.2.14. Date object
1.2.15. Array objects
1.2.15.1. map
1.2.15.2. reduce
1.2.15.3. filter
1.2.15.4. pop
1.2.15.5. push
1.2.15.6. join
1.2.16. String objects
1.2.16.1. split
1.2.16.2. toLowerCase
1.2.16.3. toUpperCase
1.2.17. callback functions
1.2.17.1. async
1.2.18. callback hell
1.2.19. closures
1.2.19.1. solution to callback hell
1.2.20. promises
1.2.21. generators
1.2.21.1. use case for generators with promises
1.3. software related concepts
1.3.1. design patterns
1.3.1.1. MVC
1.3.1.2. Flux architecture
1.3.1.3. OOP
1.3.1.3.1. inheritance
1.3.1.3.2. encapsulation
1.3.1.3.3. polymorphism
1.3.1.4. MVVM
1.3.1.5. Monolith oriented architecture
1.3.1.6. Microservice oriented architecture
1.3.2. misc
1.3.2.1. Ajax
1.3.2.2. REST api's
1.3.2.2.1. http requests
1.3.2.2.2. Richardson Maturity Model
1.3.2.2.3. JSON
1.3.2.3. web sockets
1.3.2.3.1. sockets.io
1.3.2.4. Web API
1.3.2.4.1. DOM
1.3.3. TDD
1.3.3.1. Unit Testing
1.3.3.1.1. mocha
1.3.3.1.2. chai
1.3.3.2. the importance of minimizing feedback loops
1.3.4. Functional programming
1.3.4.1. Monad
1.3.5. Software Teams
1.3.5.1. Agile
1.3.5.1.1. Manifesto
1.3.5.1.2. Scrum
1.3.5.2. Communication
1.3.5.2.1. Slack
1.3.5.3. Product Management
1.3.5.3.1. Roadmapping
1.3.5.3.2. Prioritization
1.3.5.3.3. Specifications
1.3.5.3.4. low-fidelity vs high-fidelity prototyping
1.3.5.3.5. wireframing
1.3.5.3.6. A/B testing
1.3.5.3.7. User research
1.3.5.4. DevOps
1.3.5.4.1. Continuous integration
1.3.5.4.2. Continuous deployment
1.3.5.5. Security
1.3.5.5.1. OWASP
1.3.5.6. Source / Version Control
1.3.5.6.1. Github
1.3.5.6.2. Gitlabs
1.3.5.6.3. Git
1.3.6. My personal stages of development:
1.3.6.1. 1 conceptualize idea
1.3.6.2. 2 wireframes and state machines to demonstrate design of functionality (foundations for UX)
1.3.6.3. 3 UI development --> enabled by UX values & functional design
1.3.6.4. 4 aggregate all data/info outputs on all UI screens
1.3.6.5. 5 map every output to an input data/info entity
1.3.6.6. 6 design back-end database schemas (Table schemas or document schemas)
1.3.6.7. 7 use Agile principles of development (use Sprints, re-iterate, focus on features and user stories, use cross-functional developers/etc)
1.4. important technologies
1.4.1. Babel
1.4.1.1. ES6 transpiler
1.4.2. Webpack
1.4.3. node.js
1.4.3.1. modules
1.4.3.1.1. express
1.4.3.1.2. mongoose
1.4.3.1.3. chai
1.4.3.1.4. mocha
1.4.3.1.5. request
1.4.3.1.6. async
1.4.3.1.7. q
1.4.3.1.8. bcrypt
1.4.3.1.9. multer
1.4.3.1.10. cookie parser
1.4.3.1.11. fs
1.4.3.1.12. util
1.4.3.1.13. path
1.4.3.1.14. sockets-io
1.4.3.1.15. immutable.js
1.4.3.2. concepts
1.4.3.2.1. module.exports
1.4.3.2.2. how to handle / organize connections to databases
1.4.4. npm
1.4.4.1. package.json
1.4.4.1.1. semantic versioning
1.4.4.1.2. scripts
1.4.4.1.3. dependencies
1.4.4.1.4. devDependencies
1.4.4.1.5. -g
1.4.5. C9.io
1.4.6. MongoDB
1.4.6.1. Mongoose
1.4.7. nvm
1.4.8. nodemon
1.4.9. SQL
1.4.9.1. 1st normal form
1.4.9.2. 2nd normal form
1.4.9.3. 3rd normal form
1.5. favorite people
1.5.1. Douglas Crockford
1.5.2. TJ Holowayuk
1.5.3. Eric Elliot
2. House
2.1. Kitchen
2.2. Room
2.3. Laundry
2.4. dependencies
2.4.1. mindfulness & planning
3. FritoLay
3.1. networking / relationships / softskills
3.2. damage reduction project
3.3. golf event project
3.4. submit pay stubs on time
3.5. dependencies
3.5.1. laundry
3.5.2. sleep
3.5.3. lunch/dinner planning
3.5.4. exercise
4. Finances
4.1. dependencies
4.1.1. FritoLay
5. Fitness
5.1. dependencies
5.1.1. mindfulness & planning
5.2. running
5.2.1. if class+crossfit club don't kill me, then need 2 run more
5.3. biking
5.3.1. doing cross fit instead of gym membership so no more biking?
5.4. strength
5.4.1. class Tues/Wed/Thurs
5.4.2. crossfit club
6. Sideprojects
6.1. software
6.1.1. to refactor
6.1.1.1. IoT dashboard
6.1.1.2. healthhub
6.1.1.3. Github resume escalator
6.1.1.4. Twitter robot
6.1.1.5. Good buddy trucking dashboard
6.1.1.6. automated journalist
6.1.2. current
6.1.2.1. frugal app
6.1.2.2. poll system
6.2. people
6.2.1. leadership
6.2.1.1. STATEWARE
6.2.1.2. AAD
6.2.2. membership
6.2.2.1. Nittany Data Labs
6.3. dependencies
6.3.1. finances
7. books
7.1. Finish and review
7.1.1. David and Goliath
7.1.2. Tipping Point
7.2. read next
7.2.1. Blink
7.3. read next (software)
7.3.1. Javascript the good parts
7.3.2. Javascript design patterns
8. current priorities
8.1. 1 Financial health
8.1.1. dependencies
8.1.1.1. FritoLay performance
8.2. 2 FritoLay success
8.2.1. dependencies
8.2.1.1. diet planning
8.2.1.2. Fitness
8.2.1.3. laundry planning
8.2.1.4. mindfulness
8.2.1.5. sleep
8.3. 3 Fitness
8.3.1. dependencies
8.3.1.1. mindfulness
8.4. 4 House
8.4.1. dependencies
8.4.1.1. mindfulness & planning
8.5. 5 Sofware Career
8.5.1. dependencies
8.5.1.1. software knowledge (breadth)
8.5.1.2. Financial health
8.5.1.3. software experience (depth)
9. Lean Six Sigma
9.1. Project Sponsor
9.2. Project Leader
9.3. Lean
9.4. DMAIC
9.4.1. Define
9.4.2. Measure
9.4.3. Analyze
9.4.4. Improve
9.4.5. Control
9.5. Six Sigma
9.6. Net Productivity
9.7. TIMWOODS
10. GPA
10.1. To be continued Fall 2016
11. Coffee
11.1. brewing methods
11.1.1. chemex
11.1.2. french press
11.1.3. cold brew
11.1.4. pour over
11.2. stop spending money here
12. 1 Establish how I internally categorize every area and interest of my life 2 Establish my priorities and what their dependencies are 3 Plan my time (hours or days) by priorities --> if the item doesn't exist within the tree of that priority, I can't touch it nor think about it.
12.1. Example: 7pm and later on a worknight, I can't touch javascript nor software projects, but I can do laundry or make my lunch... - Also just purposely/mindfully choose/create a task that fits in or strengthens a tree, can't just keep randomly learning stuff all the time, I end up forgetting more of it
12.1.1. (bad to plan tasks for time ranges, but good to plan general priorities during time ranges... i.e., Friday+Saturday == Javascript... later can decide Friday === study monads && Saturday == side project work... even later can decide Saturday == make progress on Frugal App essentially top-down approach to planning tasks.. so that I'm always motivated to do the tasks, understand why im doing said task, etc... maximizes motivation and constrains focus a little in positive way