Wednesday, November 19, 2014

Learn Programming Languages and Technologies Interactively Online

Updated: April 27, 2017

Most of these are introductory tutorials. It would be a good challenge to be able to finish most or all of these.

NOTES:
- Codecademy covers most of the web-related languages and keeps track of progress
- The learn*.org groups of sites (ex: http://www.learn-c.org) also covers a lot of languages
- InteractivePython has mappings to several books and is somewhat an interactive textbook
- PythonTutor and the derivatives in other languages (Java, Ruby, Javascript) provides nice step-by-step visualization of the programs being run


Bash
http://www.learnshell.org
https://www.hackerrank.com/domains/shell/bash

Bootstrap
https://www.freecodecamp.com

C
http://www.learn-c.org

C++

http://www.learn-cpp.org

C#
http://www.learncs.org

Chrome Developer Tools
https://www.freecodecamp.com

Clojure
http://codecombat.com

CoffeeScript
http://codecombat.com

CSS
https://dash.generalassemb.ly
https://www.codecademy.com/learn/learn-html-css
http://www.codecademy.com/tracks/web
https://www.codeschool.com
http://cssgridgarden.com
http://flexboxfroggy.com
https://flukeout.github.io
https://www.freecodecamp.com
https://www.learn-html.org

Express.js
https://www.freecodecamp.com

Git
https://www.freecodecamp.com

Go
http://tour.golang.org

HTML
https://dash.generalassemb.ly
https://www.codecademy.com/learn/learn-html-css
http://www.codecademy.com/tracks/web
https://www.codeschool.com
https://www.freecodecamp.com
https://www.learn-html.org

Io
http://codecombat.com

Java
http://www.learnjavaonline.org

Javascript
https://dash.generalassemb.ly
http://www.codecademy.com/tracks/javascript
http://www.learn-js.org
http://codecombat.com
https://www.codeschool.com
https://www.freecodecamp.com

jQuery
http://www.codecademy.com/tracks/jquery
https://www.freecodecamp.com

Node.js
https://www.freecodecamp.com

Lua
http://codecombat.com

MongoDB
https://www.freecodecamp.com

PHP
http://www.codecademy.com/tracks/php
http://www.learn-php.org

Perl
http://www.learn-perl.org

Python
http://www.codecademy.com/tracks/python
http://www.learnpython.org
http://www.pyschools.com
http://interactivepython.org
http://pythonmonk.com
https://www.hackerrank.com/domains/miscellaneous/python-tutorials
http://www.pythonchallenge.com
http://codecombat.com
http://www.checkio.org
http://www.trypython.org

R
http://tryr.codeschool.com
https://www.datacamp.com

React
https://www.freecodecamp.com

React Native

https://facebook.github.io/react-native
http://www.reactnativeexpress.com

Regex
https://regexcrossword.com
https://www.hackerrank.com/domains/regex/re-introduction

Ruby
http://www.codecademy.com/tracks/ruby
https://rubymonk.com
https://www.codeschool.com
http://www.learn-ruby.org

Scala
https://www.scala-exercises.org
http://www.scala-tour.com/
http://scalatutorials.com/

Talentbuddy Problems

Updated: June 15, 2015

Total: 136
Normal: 50
Medium: 56
Hard: 30

Normal
  1. Average grade
  2. Binary
  3. Binary float
  4. Bottle
  5. Bounce rate
  6. Caesar shift
  7. Common courses
  8. Copy-Paste
  9. Count digits
  10. Count occurences
  11. Count ones
  12. Count substrings
  13. Count tokens
  14. Count words
  15. Countries
  16. Find character
  17. Find substring
  18. FizzBuzz
  19. Float division
  20. Growth
  21. Highest grade
  22. Integer division
  23. Invert sum
  24. Linear equation
  25. Max
  26. Mean
  27. Merge Sort
  28. Missing number
  29. Odd square sum
  30. Pair product
  31. Pair Sum
  32. Prediction
  33. Prime numbers
  34. Request counting
  35. Remove stop words
  36. Remove substring
  37. Scheduling
  38. Select substring
  39. Simple sum
  40. Sorting Students
  41. Sort names
  42. Sort words
  43. Sorting students
  44. Standard deviation
  45. Student progress
  46. Successful students
  47. Time
  48. Top locations
  49. Vowel count
  50. Z-score
Medium
  1. 2^n
  2. Arithmetic evaluation
  3. AST Part One
  4. Bacon number
  5. Balanced brackets
  6. Basic search query
  7. Book store
  8. Brands
  9. Compute average
  10. Copy async
  11. Currency exchange
  12. Depth first traversal
  13. Dispatcher 
  14. Divide by 2
  15. Even number
  16. Find String
  17. Fraction
  18. Heads and tails
  19. Indexes
  20. Intersecting street segments
  21. Linked List Cycle
  22. Longest improvement
  23. Longest palindrome
  24. Longest street segment
  25. Majority number
  26. Max sum
  27. Median
  28. Medical app
  29. Multiply by 2
  30. Neighbourhood
  31. Nth number
  32. Nth permutation
  33. PACO
  34. Parallel async
  35. Plane tickets
  36. Power of 2
  37. Precision
  38. Priority
  39. Purchase tracking
  40. Query tokens stemming
  41. Rain
  42. Read async
  43. Relative sort
  44. Selection
  45. Semantic analysis
  46. Set bit
  47. Shopping cart
  48. Skyscrapers
  49. Sorted merge
  50. Speed
  51. Swap values
  52. Tokenize query
  53. Topological sort
  54. Unset bit
  55. User administration
  56. User table
Hard
  1.  AST Part Two
  2. Check
  3. Chocolate bars
  4. Coins
  5. Contact management
  6. Context extraction
  7. Context pruning
  8. Extract book titles
  9. Failure detection
  10. Fast power
  11. Hash String
  12. Intermediary code
  13. LLVM parser
  14. Map matcher
  15. Mapper
  16. Palindromes count
  17. Pouring
  18. Price experiment
  19. Pub crawl
  20. Reducer
  21. Selection
  22. Simple expression
  23. Social network
  24. Sqrt
  25. Streets nearby
  26. Trigger words
  27. Tuple sum
  28. Tweets per second
  29. Typeahead
  30. Unique sequence

Number of Talentbuddy Practice Problems in Groups


Updated: March 8, 2015
  1. Languages - 34
    1. Getting Started - 2
    2. Web Analytics - 5
    3. Classroom Analysis - 7
    4. Text Editor - 5
    5.  Data Conversion - 6
    6. Simple Loops - 6
    7. Expressions - 3
  2. Tech Interviews - 52
    1. Elementary Data Structures - 7
    2. Sorting and Order Statistics - 6
    3. Search - 5
    4. Elementary Graph Problems - 9
    5. Advanced Techniques - 3
    6. Math - 7
    7. General Interview Practice - 5
    8. HubSpot Challenges - 2
    9. Redbeacon Challenges - 2
    10. Twitter Challenges - 2
    11. Uber Challenges - 4
  3. Databases - 11
    1. MongoDB Basics - 7
    2. Redis Basics -  4
  4. Projects - 24
    1. Search Engine - 4
    2. Books - 4
    3. Map Reduce - 4
    4. GPS Positioning - 5
    5. Sysmbolic Execution - 7
  5. Fun - 141
    1. Tokenize Query - Lessons - 4
    2. Bounce Rate - Lessons - 3
    3. Computer Vision - Lessons - 3
    4. Programming Basics - 6
    5. Expressions - 3
    6. Simple Loops - 6
    7. Data Conversion - 6
    8. Search - 5
    9. Advanced Techniques - 3
    10. Twitter Challenges - 2
    11. Text Editor - 5
    12. Search Engine - 4
    13. MongoDB Basics - 7
    14. Redis Basics - 4
    15. Elementary Graph Problems - 9
    16. Google Interview - 4
    17. Simple Interview - 2
    18. HubSpot Challenges - 2
    19. Uber Challenges - 4
    20. Web Analytics - 5
    21. Classroom Analysis - 7
    22. Books - 4
    23. GPS Positioning - 5
    24. Map Reduce - 4
    25. Symbolic Execution - 7
    26. Getting Started - 2
    27. Elementary Data Structures - 7
    28. Sorting and Order Statistics - 6
    29. Math - 7
    30. General Interview Practice - 5
    31. Redbeacon Challenges - 2
    32. Async JavaScript - 3

Monday, November 17, 2014

Runner Runner - Surprising Life Lessons


It's dangerous to work for gambling-related businesses. I assume most, if not all, people there are psychopaths. (How about public a.k.a. share-price-driven companies? Most companies?)

Been offered to work for one before, turned it down to protect my religious reputation. Turns out, protecting this reputation protects my life, too. Reputation is everything, says one of the 48 Laws of Power.

Someone I know worked for a company whose client is a casino. Also had psychopaths of their own. Or there are just a lot of psychopaths at the top?


Sunday, November 02, 2014

Competitive Programming Sites By Popularity

Updated: Aug 11, 2019

Search 100+ Online Judges (ex: Reverse a Linked List, FizzBuzz, Maximum Subarray, etc.)


1. GeeksforGeeks Practice
2. LeetCode
3. Kaggle
4. HackerRank
5. HackerEarth
6. CodeForces
7. CodeChef
8. Brilliant
9. InterviewBit
10. Codewars
11. Codingame
12. Codility
13. Topcoder
14. Project Euler
15. CodeFights
16. CodingBat
17. SPOJ
18. CoderByte
19. LintCode
20. UVA Online Judge
21. CheckiO
22. 
Kattis
23. 
SQL-EX.RU
24. 
PythonChallenge
25. CodeAbbey 
26. Rosalind 
27. CodeKata 
28. CSAcademy
29. CrowdANALYTIX
30. Elements of Programming Interviews Judge
31. CodeStepByStep
32. TunedIT
33. FightCode
34. HPC University

35. CodeEval
36. MLComp 
37. ChallengePost
38. BeatMyCode
39. Talentbuddy

Notable Others:
- Google Code Jam
- Facebook Hacker Cup

NOTES:
-  Most are based on the Online Judge system
- TopCoder, CrowdANALYTIX, Kaggle, ChallengePost and TunedIT have their focus on Data Science/Projects
- Codingame and FightCode have their focus on game playing programs, so this includes intelligent solutions, Machine Learning, AI
- MLComp is focused on Machine Learning
- Rosalind is focused on Bioinformatics
- SQL-EX.RU is the only one in the list focusing on SQLHackerRank added SQL, too.
 - HPC University is focused on High Performance Computing (HPC)
- CheckiO is focused on Python
- Most on the list, especially the commercial ones are pitching employment, just keep this in mind
- HackerEarthCodeEval, Talentbuddy, Codility, and Kattis are focused on Employment, have about 400 (practice), 185, 120, 90, and 600 problems respectively
GeeksforGeeks PracticeLeetCode and LintCode are focused on Tech Interview Problems, (have about ?, 180 and 160 problems, respectively). LeetCode also has some SQL problems.
- HackerRank includes other specialties from the other sites like AI (Codingame), Data Science (TopCoder, Kaggle), Python Tutorials (CheckiO), Eulerian Problems (Project Euler).
- HackerRank provides a good calendar that contains events from other sites like HackerEarth, CodeChef, URI Online Judge, TopCoder, CodeForces
- HackerRank-only features: Functional Programming specialization, Bash specialization, Linux Text utilities specialization
- Brilliant.org is more on High School Mathematics, and also are not a competition site, but they have problems in Computer Science, too.
- PythonChallenge is a programming riddles site and is actually not limited to Python 

Looking for Academic Online Judges?