Wednesday, July 8, 2015

How many unique thoughts exist?

I've caught myself on interesting idea. When learning new language we just care how to express our thinks to some group of people or machine, but the most interesting idea of this that whatever you write on any language from Chinese to Haskell or Math this is still expression of thoughts. Here are I rise philosophical question how many unique thoughts exist?

Intuitive answer infinite is wrong. Just compare songs in different languages they almost about the same. Love, hate, friends, fun, money it strongly depends from culture but just imagine that The Beetles decided to sing on Java. Would it change meaning of what they singing? I believe not. I imagine how John playing piano with Yoko and just singing something like world.contains('heaven') == false. Changed the way but didn't change the content.

So why I'm writing all these I noticed that I invest time in thoughts not in languages but one comes side by side with other. So doing new language focus on thoughts and you find similarities and our brain going crazy when finds patterns. Somewhere in the future you'll find yourself speaking 10 different languages in future and probably know answer how many unique thoughts exist.

Saturday, February 21, 2015

It's time to do Data Science

Why do this?

I did the hard decision to get out QA and focus on Data Science. I cannot forgive myself all the time which I'm spending on manual testing.
It's terrible amount of interesting things happen every moment and looks like I'm out of it. Recently I've understood that I don't know anything about frameworks and modern languages like Angular.js, Backbone.js, Node.js, I've never tried NoSQL solutions like Cassandra, MongoDB. Our outsource reality doesn't need all these interesting things cause we have to do exactly that 20% of borring work which takes 80% of time and no one does it.
I decided to start from the very begging and firstly review what I know now. With highly scientific method (destiny coin, lol) I chose next way:

1 whale - Languages

1. Get expertise in Python and friends like SciPy, matplotlib and make it base language for future career
2. Experiment with R and it's application
3. Write a simple service using Python + Django + R for data analyse or statistical processing of data

2 whale - Fundamental knowledge

It's easy part but needs high focus. I finished Machine Learning by Andrew Ng and doing PhD in Applied Math. So I have solid background I science part, but I have to fresh my knowledge and transfer it from pure theory to perfect practice.

1. Use knowledge from previous phase to solve real-world problem. Here I won't focus on results I'll focus on process. The goal is work with real data and get into real troubles.
2. Revise and renew knowledge in Algorithms, Machine Learning, Linear Algebra

Here I should resist the temptation and keep myself in Python, R scope to raise my skills.

3 whale - Technologies and ecosystem

Here I should pick everything related to data part.

1. Dive in Hadoop and MapReduce
2. Get knowledge in DB exactly in NoSQL solutions. I thinks Stanford's Databases course will be a good start.
3. Put everything together. Load real data in DB and work with it using my old friend Python and R.

Holy grail

So in the end of this way I'll have solid background and practical skills. And it's time to bring real knowledge in real world and finally get a job of my dream.