Febin John James's Blog, page 15

May 11, 2017

The book is for cloud development, you would create a mini web app and deploy it on cloud also make…

The book is for cloud development, you would create a mini web app and deploy it on cloud also make API’s for mobile. It’s not for mobile development.

 •  0 comments  •  flag
Share on Twitter
Published on May 11, 2017 08:27

May 5, 2017

Thanks Peter Czernecki, 10xONE, I am a rookie writer.

Thanks Peter Czernecki, 10xONE, I am a rookie writer. I am using lean principles in writing. Compared to where I started, it has a come a long way. Still a long way to go. I will slowly increase the content as I grow :)

 •  0 comments  •  flag
Share on Twitter
Published on May 05, 2017 22:41

5 Books Every Founder Must Read

Start with Why: How Great Leaders Inspire Everyone to Take Action

The first two years of my startup was hard. We juggled between ideas, often came back to square one, were confused and hardly produced results. We had launched multiple products with no traction. If you are a victim of these symptoms this book will give you direction.

https://medium.com/media/6a6afa13be89beee78bb0df471547f7e/href

If your goal is making money, it’s the wrong reason. If it’s making an impact. The goal is too abstract. We did the same mistake. Our first solution was for event organisers, the next one for cricket fans, then for football fans, etc. These hardly got traction. Unless you define your why, your cofounders won’t be on the same page, employees will have no clue what their company is upto and don’t even think about your customers.

Later, we defined our why. “We want to improve the infrastructure of Indian Football and see our country to top in FIFA rankings”.

In the next few months, we closed four partnerships. We had people from the community working for us. They didn’t work for money and recognition. But to support the cause. Definitely worth a read.

Book on Amazon

The Mom Test: How to talk to customers & learn if your business is a good idea when everyone is lying to you

If your product is not solving a user’s problem, they are not going to use it. We interviewed a lot of user while building our product. We failed because we made assumptions on the problems user have and formed an idea. The interview process was made to validate this idea.

If you pitch your idea. People say they like it. Of course you want to hear that and can’t wait to see it in action. This is a mistake. Most people lie because they want to be nice.

https://medium.com/media/4607e5953e222783e83625245921f0b4/href

Never pitch your product to your customers. Approach the user interview as a process to find out the truth rather than validating your idea. This requires you to ask the right questions . This book is about crafting those questions.

Book on Amazon

Smartcuts: The Breakthrough Power of Lateral Thinking

Being the only programmer in the team , made my life difficult to work on backend, mobile and devops. I was forced to find smartcuts to ship faster. I have shared my learnings here, How to build it fast and cheap.

This was long before, I even heard about this book. I knew how to hack a product’s development. Never thought I could apply this in my personal life. This book helped me with the same.

https://medium.com/media/7b2296e9a614ef2ba19bf39775839471/href

Initially my articles on medium hardly hit 100 views. Now I am writer on FreeCodeCamp, Hackernoon, Startup Grind (Some of the top medium publications) Also temporarily hold the title of top writer in Technology, Innovation and Business. This happened in a spawn of few months. This book helps you accelerate your success in the field you want to excel in.

Book on Amazon

Deep Work: Rules for Focused Success in a Distracted World

If you don’t find contentment in the work you do, you work shallow. Shallow work kills productivity, makes you hate your job, you become listless etc. Deep work on the other hand boost productivity, make you fall in love with what your work and you end up relaxed.

https://medium.com/media/48f97563000c7dc265c518c3fe3e5f7b/href

You are surrounded by products which is engineered to take away your attention. Facebook, Snapchat, etc engineer their product to make you addicted. It makes sense to them, because they make money with your time. On the other hand you pay the cost. This book helps you achieve deep work. A must read!

Book on Amazon

Contagious: Why Things Catch On

I always wondered why some posts or products go viral. Does this happen by mistake? Can this be engineered? This book explains techniques that can help you engineer virality.

In the age of information clutter, it is hard to cut through the clutter and communicate the message. Unless you make your message stick people don’t even bother.

https://medium.com/media/3c3d2f1c0c56f6fe25243e258ad0618a/href

I applied these techniques on the posts I made on Hackernews. My karma went from -6 to 300 . From my personal experience, techniques in this book should be applied with perseverance.

Book on Amazon

5 Books Every Founder Must Read was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.

 •  0 comments  •  flag
Share on Twitter
Published on May 05, 2017 14:46

May 4, 2017

The Impatient Programmer’s Guide to Learning

Most beginners find it easy to learn the basics of programming such as writing expressions, conditions, loops and object-oriented programming. Sites like Code Academy, Code School have made it much simpler. But if they are asked to build a site like Medium. They struggle with it.

Learning to build full-fledged apps from scratch is a time consuming process. There is a learning curve. You will need to put in efforts, go through a series of videos or sit through a whole book to finally have the confidence to build things.

Some people get trained from their company. They are initially asked to work on small projects. Slowly they are challenged. Over a period of few months, with supervision they learn to build things.

There is another way. It is the hacker’s way. These people don’t have the patience to sit through courses and books. They learn by experimenting and produce results really fast. In this story I will teach you the same.

Challenge yourself

Don’t choose a project whose source code is readily available. I would suggest you to take real world projects. You might have friends with ideas. Volunteer the project for a small fee or a favour. This is good because your friend would only reward you after you complete it. It’s good motivation.

Divide and conquer

Break the project into smaller modules. Care must be taken while breaking the modules. Every module you build should be something which a user can use. If you want to break the Medium Project into modules.

This would be a good idea

) User registration & login) Story editor for publishing stories) Story lists) Notifications) Stats

After each module you will have a deliverable. Now you will find the project simpler and achievable.

Building smaller modules

There is 90% chance that source code of these smaller modules is readily available (It may come as an open source library or code written in tutorial blogs). This is fine as long as the whole project is not open source. The engineering happens when you connect these smaller modules into one system and they are made to work in harmony.

Now to build these smaller modules, your first goal must simply to make it work. For now, don’t break your head on how things work. Just get it running. You have plenty of online resources. Once you have made it work. Start experimenting! Go through the flow, tinker around and see what results they you get. This is where the real learning happens. This step is very important , there are people who skip this step just because it works. This will result in a half baked product. Make sure you understand how it works.

Iterate

Once you understand how your code works. Google for ‘best practices’ with the frameworks you are using. Now compare your code with their’s. See what can be made better. Iterate multiple times. By doing this you will learn to reduce your lines of code, making them more readable also resulting in good performance.

Getting Unstuck

You are likely to get stuck multiple times. It would be some errors or things just don’t work. In those case google the error or the solution you are trying to achieve. Chances are 99% , you will find the solution in stack overflow. If you don’t find a solution, try rephrasing the problem. If nothing works, post your problem on StackOverFlow. You should get help in few hours.

Since you are likely to use open source frameworks. Go to the Github repo of the respective framework. Search the error in the issues section and you are likely to find your solution. If not, open an issue. If the framework has good community they will suggest a work around in few hours.

Code Review

Iteration and best practices can only help you to a certain extend. If you know coders with good experience consult them with your code. Their suggestions are gold. You can also post them on CodeReview.

I hope you enjoyed the story. If you are interested in making apps on cloud , do checkout my book Cloud Is a Piece of Cake on Amazon. You can also join my mailing list Cloud Computing Stories .

The Impatient Programmer’s Guide to Learning was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.

 •  0 comments  •  flag
Share on Twitter
Published on May 04, 2017 11:53

May 2, 2017

How to build it fast and cheap

Few years ago, I was the only programmer in my team. It was extremely challenging to work on backend, mobile (android), frontend(javascript) and DevOps. I was forced to find new ways of doing things. Here are a few techniques that helped me.

The existence check

Before you build something, check for an open source alternative. You might not find the exact match, but something similar. Later, tweak it according to your need.

An year ago , I made a news app for sports. When the app grew, I needed a way to manage users, add polls, etc. An admin panel was required.

I came across Flask-AppBuilder. I wrote the database model. It automatically generated views. They already had a login system and I could create admin users through commands. This was a life saver. Later, the app grew more complex. I had more things like tags, fixtures, etc. I could generate the views in minutes.

This didn’t look great, but did the job. Since this was only for employees, it didn’t matter. Some companies build such things from scratch. Such waste of time and money.

The trade off

There are few frameworks which allows you to build things really fast, but don’t guarantee scale. Meteor in it’s initial stages, didn’t promise scale. A lot of people had issues with. However, it helped ship things really fast. We could do things in days, which usually took weeks. Once you are done developing the responsive web app, one command is all it takes to package an ios or android app.

We prototyped fast. Things used to break. However, we got it up and running in no time.

Question traditional means

The task was to fetch news articles till the last sync. Doing this with API’s is a pain. You have to loop through multiple paginated results, ensure it doesn’t take up too much memory, deliver it really fast so that user don’t have to wait etc.

This is when I heard about Google Cloud Messaging (GCM) topic subscription. It’s a simple pub-sub. I made the client programatically subscribe to the topic ‘sports’. Then my parser was set to publish all news to the ‘sports’ topic.

This went as a push notification to the client. In the client side I parsed the notification content and stored it in the database. I didn’t have to write any API’s (web based). The best part is Google Cloud Messaging is free. I could scale this to millions without spending a dime.

Build first optimise later

In the early stages of a startup when you are still figuring things out. You go through rapid prototyping. The more you engineer it, the more it hurts when you have to throw it away. Unless you have validation, I would say, its enough to make it work. When users stick to your product, optimise it. Around 90% of the prototypes I build went to trash.

Don’t over engineer from day one, instead optimise it incrementally. I made the mistake of worrying about scale and security. It was not worth it. I agree there are chances your product can go viral and it may break. But if your product is valuable, people will come back.

Adopt growing frameworks

Some people are really reluctant towards learning new things. Even if it could make their work lot easier. I did struggle to setup docker initially. Later my co-founder didn’t have to bother me to deploy the CSS updates. He could trigger the deployment with a git push.

I have seen a few employees making their own frameworks instead of adopting the one which has a well established community. The problem is maintenance and upgrades are costly. A framework with a fell established community gives free maintenance and upgrades. The worse scenario is when this person leaves the company. If the product is complex , developers will have a hard time taking the product forward.

Less things

Negotiate before you build (This is not possible in most startups unless you are the CTO). Your business founder might need a lot of things from day one. A product gets better through continuous iteration. Tell him, if this works we will add that. Instead of building ‘this and that’ and scraping them both.

If you are interested in making apps on cloud , do checkout my book Cloud Is a Piece of Cake on Amazon. You can also join my mailing list Cloud Computing Stories .

How to build it fast and cheap was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.

 •  0 comments  •  flag
Share on Twitter
Published on May 02, 2017 12:41

April 28, 2017

How can my business benefit from AWS Pt 5: Networking & Content Delivery

In part five of the series. We will learn about network and content delivery. Here is part one , part two , part three and part four. Make sure you follow Hackernoon and me (Febin John James) so that you won’t miss the later part of the series.

Amazon Virtual Private Cloud (VPC)https://medium.com/media/002f10f7cca63bc38183912e1c68f92d/href

Consider a hospital, they have public places like reception, restrooms , canteen etc . Then private places such as operation theater, labs, ICU, etc . Only authorised people can access these private places. Virtual Private Cloud is about setting those network rules on who can access what. As your app gets more complex you can add an additional layer of security through VPC.

Let’s say I have a web app which does sales forecasting for it’s clients. There will be one server which handle the users of your app through which they login, signup , etc . Another one for running machine learning algorithms for forecasting. They communicate with each other through API’s. You don’t want this server to be accessible to public since it’s a security threat. It should be accessed only by your own server. You can implement this using Amazon VPC.

Some companies have their data on premise. Amazon’s VPC also allows you to build a secure link between on premise data center and your amazon cloud services.

Amazon CloudFronthttps://medium.com/media/8575d6581612aaefa28f9ac10614c057/href

When a user visits a web page on your server. There is a tiny processing load on your server. If an user is situated far away the website loads slower. A content delivery network solves this issue. A content delivery network (CDN) puts your sites content in locations around the world. Now when a user access your website, the user is served from a nearby CDN.

This minimises the load on your server and decreases the page load time. This is important because most people leave the website if it takes too much time to load. Amazon CloudFront plays the role of a CDN for you web service.

Amazon Direct Connecthttps://medium.com/media/09cccee13091c3f93aab7893e153a701/href

One way to connect your on premise center to AWS environment is through VPC as discussed before. However, if you want to get beyond a specific bandwidth we have Amazon Direct Connect. Amazon Direct Connect connects your data center to the amazon environment through a leased line. This can help reduce network costs and increase bandwidth throughput. Hence you will be able to achieve consistent network performance.

You will need to choose a consulting partner closer to your location. Here are a list of AWS Direct Connect Consulting Partners , listed according to their geography.

Amazon Route 53https://medium.com/media/63608af23fc724a1a68e5a00cf7e0d93/href

When you type www.google.com in your browser. The requests go to a directory or Domain Name Server(DNS) where it converts from google.com to server’s ip something like 192.X.X.X.

Amazon Route 53 allows you to intelligently route your requests. You can redirect higher or lower traffic to a particular server. It does health checks so that if one of your server is down , then the traffic won’t go to it. Depending on users location it redirects to a nearby server. So that user experience less latency. Hence making your application faster.

If you are interested in making apps on cloud , do checkout my book Cloud Is a Piece of Cake on Amazon.

You can also join my mailing list Cloud Computing Stories . I will use this to notify you if I write new stories or books on Cloud Computing.

How can my business benefit from AWS Pt 5: Networking & Content Delivery was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.

 •  0 comments  •  flag
Share on Twitter
Published on April 28, 2017 09:37

April 20, 2017

You don’t have faith in the experts who work for the people.

You don’t have faith in the experts who work for the people. But you have faith in the corporations who aim to extract money make me doubt your intentions.

You are making a ridiculous point by saying millions won’t access the internet . The mobile phones was not given to these people for free. They bought it and used it. Likewise they will use the internet. Keeping the internet paid won’t stop these millions from accessing it.

 •  0 comments  •  flag
Share on Twitter
Published on April 20, 2017 18:00

These experts do have understanding of the people who would have benefited from their services.

These experts do have understanding of the people who would have benefited from their services. Because the activists who spoke against free basics were not just from technology but from diverse fields we even had people from human rights speaking against it.

Again, these experts didn’t enforce their opinion. They shared it. The millions of Indians who voiced their opinion do have understanding about their fellow brothers and sisters.

There are people here who are trying to make the entire internet free. This will take time though.

 •  0 comments  •  flag
Share on Twitter
Published on April 20, 2017 14:01

Carthic S I am not deciding what is harmful and what isn’t.

Carthic S I am not deciding what is harmful and what isn’t. Our experts who have in depth understanding of the technology explained their views and millions of Indians agreed with it. We didn’t enforce our opinion on them. It’s the voice of these millions which stopped free basics. Yes these millions get to decide. It’s their decision which enforced the government to stop free basics.

Now, with all due respect, you don’t get to decide what is good for these people. You don’t have a clear picture of the games these telecom operators played before partnering with Free Basics.

The massive backslash happened because of the open internet. Incase fb misuses data and we were to fight against Facebook, do you think Facebook would allow that to happen when they have monopoly over the internet? They would never know about the misuse in the first place.

 •  0 comments  •  flag
Share on Twitter
Published on April 20, 2017 13:07

Carthic S

Carthic S

My points

1.) If they can afford a mobile phone with internet capabilities, they can afford a data pack.

2.) Again, they are not giving access to websites. You get access to Facebook’s free basics website. Through which you access these services.

3.) They remain free because a user’s privacy is compromised. This is a serious issue.

4.) Let’s think with respect to your logic of giving people the option. Say there exists a harmful drug. People don’t understand it’s consequences. If they are given the option to use it. It will cause them harm. Isn’t it better to ban such things?

5.) Open Internet has empowered people with less money to launch their ideas. If net neutrality is violated, it wont support fair competition. The rich will remain rich and the poor will remain poor.

 •  0 comments  •  flag
Share on Twitter
Published on April 20, 2017 10:19