Learning Topics

From Matt Morris Wiki
(Redirected from LearningTopics)
Jump to navigation Jump to search

About This Page

This page is a general list of everything I might potentially be interested in, so lacks priority and structure.

See Study Leave for more specifics on overall purpose and guidelines, and for a jumping-off point to topics I'm actually devoting time to.

The topics on this page are very geared towards technology/maths rather than "softer" topics such as organisational psychology, motivation etc. This is not a lack of interest on my part on softer topics - it's more that I am already engaged on a programme of reading around such topics, which I can fit in on evenings, commutes, and so on. But that approach doesn't work on more technical topics: they require more focused and devoted effort with an unavoidable experiential flavour. That is, you can't (for instance) learn Racket by reading through a textbook on the Underground - you have to actually program in the language and work your way through a structured set of examples - and this requires time set aside in front of a computer.

Fuzz


Geert's Comments

Coursea courses:

  • Data Scientist course (Johns Hopkins)
  • Andrew Ng Machine Learning course
  • Mining Massive Datasets (also Stamford)

University of Illinois:

  • Pattern discovery in Data Mining
  • Text retrieval and Search Engines

Stamford:

  • Statistical Learning (R based)

Also SPARQL and Graph databases.

Focus and don't try too much at once.

  • Look at machine learning algos (the Andrew Ng course is really good). He also has slides which are more mathematical if you want to on the Stanford website - Google them. The Algos are in Octave. One could usefully reimplement in R/python/etc
  • R + packages (depending on what you want to do: there are tons of interesting things)
  • Python + pandas + packages to do the same exercises as in R

Other interesting things:

  • Apache Spark (instead of Hadoop), Mahout. You can program Spark via Python (it’s written in Scala).
  • Of the languages: Scala, potentially Rust. Go and Julia: interesting but quite niche.

Checked out a couple of public APIs: his impression was that Facebook API was largely closed down now & that Twitter API perhaps not worth spending a lot of time on (what is the data really good for?). Think I should check this out (however briefly) myself though.

General Areas of Interest

  • R and associated tools
  • Machine Learning: main approaches
  • Big Data / Scalability: storage, access APIs, sets, visualization tools, container tech
  • Algorithms: get some decent in-depth knowledge past
  • Algo Trading
  • Languages
  • iPhone Development
  • API Design (REST, non-REST, general design considerations)

Categories

First Of All

  • DONE set up github account
  • DONE Monitoring time spent: get TOGGL
  • DONE Goal statements and re-evaluation points
  • DONE Start Journal
  • Sort out hardware
    • Laptop
    • Calc boxen

Hardware (Done)

Dell are a good brand to go for when doing Linux experimentation, as hardware support is good.

I paid 150GBP on eBay for a Dell Optiplex 760 with 2x3.16Ghz Intel Core 2 Duo Cpu E8500, 500Gb, 8Gb RAM, DVD-RW, WiFi Dongle, 19" Monitor, Keyboard and Mouse.

Statistical Languages

  • R
  • Brush up on Python
  • R/Python interaction
  • Check out BeakerNotebook for R/Python
  • Julia

Machine learning

  • Simple Bayesian classifiers (in python)
  • Writeup: Work through standard text (already owned) and survey what I want to explore in more detail

Scalable Architectures

  • Data Grids
    • Confluence, Hazelcast, Memcached, EHCache, Gigaspaces
  • Writeup: A survey of APIs
    • Facebook API
    • Twitter API: geographic mapping
    • CartoDB [1]
    • Data-oriented API Aggregators
  • Writeup: A survey of large data sets
  • Writeup: A survey of data set crawlers: Amazon, etc
  • Writeup: Topological Data Analysis (and other approaches?)
  • Cloud Services
    • Azure
    • AWS
    • Rackspace
    • Google
  • [DONE] Writeup: Messaging Frameworks
    • Broker vl. Brokerless – take a look at http://zeromq.org/ for inspiration.
    • APMQ
    • RabbitMQ is very popular and has some great tutorials for learning.
  • [DONE] Writeup: Microservices Overview

Algorithms

Linux

  • DONE Main distribution families
  • Kernel trends over the last 5 years

Algo Trading

  • Linux kernel tuning
  • Writeup: Current thinking on synchronisation techniques
    • Fuller survey of classics (including spinlocks etc)
    • Lock-free approches
    • Transactional memory
  • Writeup: Disruptor pattern and any related patterns
  • Gdb and Microsoft C++ (Mingw)

Languages

I'll need to think about how to prioritise these. Most will be quick overviews rather than spending any serious time programming.

  • Definitely
  • Very Possibly
    • Clojure
    • Scala
    • Erlang
  • Maybe
    • F# (Visual Studio Community) - similar to OCaml?
    • Write own toy Lisp interpreter
    • ML (Coursera?)
    • OCaml

iPhone Development

  • Swift

Javascript

Other

  • Open Source Licensing
  • CLang/LLVM C++ refactoring
  • Go
  • Apache Thrift

(Web) API Design

Article Writing

  • InfoQ

Resources to check out

  • Coursera
  • Big Data University – Online courses with free certification dedicated to the promotion of Big Data knowledge
  • iTunes University – Santa Fe Institute lectures; “Networks, Technology and Innovation – Video”
  • Join "Big Data" groups on LinkedIn

Reading List

NEXT