AbhiAgarwal / notes

Just notes of my own

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My written notes are all over the place, and so is my writing. So I'm going to try and centralize it here for myself.

Concentration on languages: C++, Javascript, and Go. I'm just going to be using these languages for the next couple years of my life - it's better to perfect myself with a couple languages rather than having learnt all the languages not too well.

Reference the Wiki page for my quick notes.

Things to learn

To give me a good general background in Computer Science, and allow me to branch out in the future - I want to study the following things at University. I want to build on them and to understand how these things operate, and be able to apply most of these concepts.

Crossing out doesn't mean I have reached my goal in these languages, but just means that I have developed a decent understanding of them

I want to try and understand these ideas. Not just from a developer's prespective, but also from a mathematicians side. So that means that try and understand how they are implemented, and not just how to use them.

Also these are concepts I want to learn on a more fundamental level. These concepts are fairly hard to start approach on a more advanced level.

  • Algorithm Design
  • Artificial Intelligence (NLP, Vision, Speech, Movement)
  • Robotics (Mechanics, Electrical, Computer, MQTT Protocol (Message Queue Telemetry Transport))
  • Parallel Programming (OpenCL, OpenMP, CUDA)
  • Languages (Node.js, Javascript, Python, Haskell, Java, C++)
  • Computer Vision (OpenCV), and Computer Graphics
  • Machine Learning (Theory, Frameworks (scikit-learn, etc), and Kaggle Implementations)
  • Deep Learning (Neural nets)
  • Mathematics (Linear Algebra, Inequality, Dimensionality, Calculus)
  • Physics (Kinemetics)
  • Simulation (N-body, Diseases, Traffic, Movement, Social)
  • Networking (Packets, TCP/IP, Packet Sniffing)
  • Competitive Programming (UVA, Algorithmic efficiency)
  • Data Compression techniques (Lossy, Lossless Compression, and theory (Entropy, etc. ))

Technical things to learn

  • Web application analysis tools (Fiddler, Wireshark, and Chrome Dev Tools)
  • Test automation frameworks (Selenium, QTP)
  • Ticketing software (TFS, JIRA, and Trac)
  • Service discovery (Consul)

Interests in understanding these concepts

  • Brain (Visual cortex -> V1, V2, ..., Neurons, etc)
  • The Maze Idea (in Startup Engineering Course)
  • Facial Detection, and Recognition in Computer Vision extensively

More simpler things to understand, and just play around with

  1. Version control
  2. Regular Expressions
  3. Linux Commands
    • Sed
    • Awk
    • Grep
  4. Vim
  5. NoSQL/SQL
  6. AWS (getting there), Rackspace, Linode
  7. Unit testing
    • Browser testing
    • Test environments
  8. Graph Theory
  9. Distributed Systems
  10. Map/reduce (basic)
  11. LaTeX
  12. Design Patterns
  13. Memory Management
  14. Micro-controllers
  15. Machine Learning & Data Analysis

NoSQL Databases

  1. Relational (PostgreSQL)
  2. Key-Value (Riak, Redis)
  3. Columnar (HBase)
  4. Document (MongoDB, CouchDB)
  5. Graph (Neo4J, Polyglot)

Mobile

  1. React Native (very basic understanding!)

Build Systems

  1. Makefile
  2. Ant
  3. Gradle
  4. Maven
  5. Google's build system - http://google-engtools.blogspot.com/2011/08/build-in-cloud-how-build-system-works.html
  6. Pants (Twitter, Foursquare) - aka Python Ant

Messaging Systems

  1. Apache Kafka - http://kafka.apache.org/

Away from academia

  • Social Media (How people response/react to)
  • Marketing
  • Entreprunership

Non-native Mobile Devleopment

####To read

####Internet Assigned Numbers Authority

####Scientific Papers

#####The Internet Society

#####Machine Learning

#####Deep Learning

#####Lip Reading

#####Facial Recognition

#####Web Search Engine

#####Information Theory

#####Sorting

#####Distributed Systems

#####Virtual Machines

#####Databases

#####Lambda Calculus

#####Robotics

#####Mathematics

#####Interesting

####Artificial Intelligence

####Books

####Book Reviews

####Ph.D

####Articles

####Bash

####Python

####Node.JS

####Data Science

####Scaling

Powerful

About

Just notes of my own


Languages

Language:TeX 48.5%Language:Go 18.6%Language:HTML 7.7%Language:Arduino 5.9%Language:Makefile 5.8%Language:Haskell 4.8%Language:JavaScript 4.6%Language:CSS 2.1%Language:Python 1.1%Language:C 0.9%