Thursday, March 30, 2017

Why entrepreneurship is best way to go forward for a CS graduate

A lot of my friends are in computer science and there are a lot of them who are not but want to learn programming and get into software development so that they can hack the plethora of high paying white collar jobs out there. The government and and the industry seems to be happy about it and are fueling this environment with more venture fund and government funds. Sure, the number of different applications in which software can easily and dramatically increase productivity is practically unlimited, so each additional worker in the tech industry always has important problems to solve, and the other software engineers are occupied with their own problems. So everything should work out great in future, right? More jobs and more demand? Apparently not so. Let's take better look.

Most of the pass-outs are being placed in startups. This whole startup eco-system is being fueled on bets by venture firms. If the market does not scale to profits, the venture funds would cut the funding. Most of the startups are not actually creating big enough impact and will-soon be replaced by freemium version of same application or drown itself in it's own pool of marketing expenditure. There is excess of e-commerce websites, excess of payment gateways, excess of CMS solutions, excess of sales CRMs and excess of many other applications that are crowding the market. The founders would sellout and be happy and rich, the venture firms would loose some money but hey! they are rich. The most affected segment would be the employees that would have to hunt for other new jobs. Theses new jobs may not be as cushioning as the old ones and some may have to start from scratch all over again on a new technology.

You may say that there are going to be new jobs in new segments and thus getting other jobs is not going to be that difficult. Unfortunately not so, In software industry almost all of the economic value can be captured by a small number of highly talented people, because there are a small number of very difficult problems with the potential to dramatically increase productivity across many applications (ex. Quora only has 100-130 employees, wikipedia has 70 employees for scaling up and development and many more) and the rest of the problems are easy and have much less economic value. Thus the number of high paying jobs that would be created is relatively very small.

So where does the silver lining lie? Actually all of what I said above when taken from an angle of entrepreneurship means that there is huge chunks of opportunity lying out there for people to take up. Take it from this stand point -
1.) The large venture firms are investing into over-crowded platforms and thus missing out on the real opportunity present.  Their vision is being clouded by ego and competition.
2.) To create huge impact, you do not need lot of people. You can use, online tools available and yet scale the product quickly and impressively.

So the idea is to do projects which would re-imagine the future much less than re-engineer it. 

Some more Ideas.

"An idea a day, makes a man healthy, wealthy and happy :-P "

Idea #1
Creating a messenger chatbot which would take the subtitle files of a movie/series. And then based on the characters of the series, it would ask which character would you like the messenger bot to train on. It would train on that data (subtitle files) using machine learning and then you can chat with your favourite character.

Tech Stack: Messenger Chatbot (Python, flask) , Web Interface - Flask , api.ai api's or tensorflow+scikit-learn+pandas

Idea #2
Watch videos with your friends online. You need to enter a video url of youtube and wait it to buffer on all the workstations connected. A small popup window would appear of your friend, which would show up the video of him. Thus you and your friends could react to same video, capture each other's emotions, and release that reaction on youtube for the world to watch.

Tech Stack : Rails 5 (ActionCable , Redis) , Chrome Extension (maybe?)

Idea #3
Create a mobile application which enables personalized education case scenario. The mobile application would be a channel for indirect communication between teachers and students.

Tech Stack : Flask (To build APIs) , Android Developer Studio 




Sunday, March 5, 2017

Instantaneous Systems in Future (Applications of AI, ML and DA)

A lot has been already talked about AI, Machine Learning and Data at a superficial level. There is very little clarity among people that how it would affect our day to day lives. Most people I know have the impression of AI as a Robot that has near human intelligence and would take over the planet earth. This particular use case (although highly exciting) is a rare possibility in future.  In this article I would list the possible use cases of AI, Machine Learning and Data Analysis.

Use Case 1: Cooking food
In the current scenario, we think of what we would like to eat, go to grocery store, pick the right recipe ingredients and then go home and cook the food. This is way too tiring.

Future Case Scenario:-
There is an app which knows and understands your tastes very well. You need to select your mood, and based on the data it has from millions of consumers, it would suggest which food you would like to eat, along with an estimated price for the ingredients. You tap the food, the self driving cars come to your house, delivering the grocery. They put it in a chef-robot-machine which knows how to cook that particular dish very well (from an algorithm) and you can enjoy the food you love. Further customisation could be done for the robot by the mobile application in your pocket.

You can get a personalised experience, 100% quality assurance and very quick results based on the algorithms controlling the robot.

Use Case 2: Education AI
In the current scenario, a teacher comes to the class, and teaches to class with the help of blackboard, or some PowerPoint Presentation at maximum. The students are merely brick in the walls.

Future Case Scenario:-
Every student opens the mobile application on their mobile phones/tablets. The student gets huge variety of courses, along with reviews from industries and professors doing research. After committing to a particular course, students would be grouped and assigned a physical classroom. The learning process would be completely personalised. The mobile application would control assignments, in class exercises and submission of assignments (using photographs). The teacher would give the evaluation to the mobile application and the algorithm would compute the actionable insights for each and every student. All the actionable insights would be categorised and separate sessions would be held to work on those actionable insights. There would be no exams to evaluate knowledge, instead there would be peer-to-peer feedback to understand co-cooperativeness,  projects to understand vision and creativity and finally continuous human-jamming sessions to understand the thinking of students and help them in achieving their goals. To ensure a student has learnt something properly, interviews(vivas) and a small written test would be held which could be given at any time, according to the student's convenience.
Most of this is about re-imagining workflow but again at each of the crucial junctions, it need machine learning and artificial intelligence.

Use Case 3: Energy
I have already written an article where I talked about internet of things in much clearer sense in my article written over here , http://www.vaibhavgeek.tech/2012/04/vision-electronic-cloud.html


Thursday, March 2, 2017