OOPS | Abstraction

Standard

Abstraction is one of the key concepts of object-oriented programming (OOP) languages. Its main goal is to handle complexity by hiding unnecessary details from the user. That enables the user to implement more complex logic on top of the provided abstraction without understanding or even thinking about all the hidden complexity.

That’s a very generic concept that’s not limited to object-oriented programming. You can find it everywhere in the real world.

Abstraction in the real world

I’m a coffee addict. So, when I wake up in the morning, I go into my kitchen, switch on the coffee machine and make coffee. Sounds familiar?

Making coffee with a coffee machine is a good example of abstraction.

You need to know how to use your coffee machine to make coffee. You need to provide water and coffee beans, switch it on and select the kind of coffee you want to get.

The thing you don’t need to know is how the coffee machine is working internally to brew a fresh cup of delicious coffee. You don’t need to know the ideal temperature of the water or the amount of ground coffee you need to use.

Someone else worried about that and created a coffee machine that now acts as an abstraction and hides all these details. You just interact with a simple interface that doesn’t require any knowledge about the internal implementation.

You can use the same concept in object-oriented programming languages like Java.

Abstraction in OOP

Objects in an OOP language provide an abstraction that hides the internal implementation details. Similar to the coffee machine in your kitchen, you just need to know which methods of the object are available to call and which input parameters are needed to trigger a specific operation. But you don’t need to understand how this method is implemented and which kinds of actions it has to perform to create the expected result.

Different Types of Abstraction

There are primarily two types of abstraction implemented in OOPs. One is data abstraction which pertains to abstracting data entities. The second one is process abstraction which hides the underlying implementation of a process. Let’s take a quick peek into both of these.

Data Abstraction

Data abstraction is the simplest form of abstraction. When working with OOPS, you primarily work on manipulating and dealing with complex objects. This object represents some data but the underlying characteristics or structure of that data is actually hidden from you. Let’s go back to our example of making coffee.

Let’s say that I need a special hazelnut coffee this time. Luckily, there’s a new type of coffee powder or processed coffee beans that already have hazelnut in it. So I can directly add the hazelnut coffee beans and the coffee machine treats it as just any other regular coffee bean. In this case, the hazelnut coffee bean itself is an abstraction of the original data, the raw coffee beans. I can use the hazelnut coffee beans directly without worrying about how the original coffee beans were made to add the hazelnut flavour to it.

Therefore, data abstraction refers to hiding the original data entity via a data structure that can internally work through the hidden data entities. As programmers, we don’t need to know what the underlying entity is, how it looks etc.

Process Abstraction

Where data abstraction works with data, process abstraction does the same job but with processes. In process abstraction, the underlying implementation details of a process are hidden. We work with abstracted processes that under the hood use hidden processes to execute an action.

Circling back to our coffee example, let’s say our coffee machine has a function to internally clean the entire empty machine for us. This is a process that we may want to do every once a week or two so that our coffee machine stays clean. We press a button on the machine which sends it a command to internally clean it. Under the hood, there is a lot that will happen now. The coffee machine will need to clean the piston, the outlets or nozzles from which it pours the coffee, and the container for the beans, and then finally rinse out the water and dry out the system.

A single process of cleaning the coffee machine was known to us, but internally it implements multiple other processes that were actually abstracted from us. This is process abstraction in a nutshell.

Well, this process abstraction example really got me thinking of a very futuristic coffee machine!

Use abstraction to implement a coffee machine

Modern coffee machines have become pretty complex. Depending on your choice of coffee, they decide which of the available coffee beans to use and how to grind them. They also use the right amount of water and heat it to the required temperature to brew a huge cup of filter coffee or a small and strong espresso.

Implementing the CoffeeMachine abstraction

Using the concept of abstraction, you can hide all these decisions and processing steps within your CoffeeMachine class. If you want to keep it as simple as possible, you just need a constructor method that takes a Map of CoffeeBean objects to create a new CoffeeMachine object and a brewCoffee method that expects your CoffeeSelection and returns a Coffee object.

You can clone the source of the example project at https://github.com/thjanssen/Stackify-OopAbstraction.

CoffeeSelection is a simple enum providing a set of predefined values for the different kinds of coffees.

import org.thoughts.on.java.coffee.CoffeeException;
import java.utils.Map;
public class CoffeeMachine {
    private Map<CoffeeSelection, CoffeeBean> beans;
    public CoffeeMachine(Map<CoffeeSelection, CoffeeBean> beans) { 
         this.beans = beans
    }
    public Coffee brewCoffee(CoffeeSelection selection) throws CoffeeException {
        Coffee coffee = new Coffee();
        System.out.println(“Making coffee ...”);
        return coffee;
    }
}
public enum CoffeeSelection { 
    FILTER_COFFEE, ESPRESSO, CAPPUCCINO;
}

And the classes CoffeeBean and Coffee are simple POJOs (plain old Java objects) that only store a set of attributes without providing any logic.

public class CoffeeBean {
private String name;
private double quantity;

public CoffeeBean(String name, double quantity) {
this.name = name;
this.quantity;
}
}

public class Coffee {
private CoffeeSelection selection;
private double quantity;

public Coffee(CoffeeSelection, double quantity) {
this.selection = selection;
this. quantity = quantity;
}
}
Using the CoffeeMachine abstraction
Using the CoffeeMachine class is almost as easy as making your morning coffee. You just need to prepare a Map of the available CoffeeBeans. After that, instantiate a new CoffeeMachine object. Finally, call the brewCoffee method with your preferred CoffeeSelection.

import org.thoughts.on.java.coffee.CoffeeException;
import java.util.HashMap;
import java.util.Map;
public class CoffeeApp {
public static void main(String[] args) {
// create a Map of available coffee beans
Map<CoffeeSelection, CoffeeBean> beans = new HashMap<CoffeeSelection, CoffeeBean>();
beans.put(CoffeeSelection.ESPRESSO,
new CoffeeBean("My favorite espresso bean", 1000));
beans.put(CoffeeSelection.FILTER_COFFEE,
new CoffeeBean("My favorite filter coffee bean", 1000));
// get a new CoffeeMachine object
CoffeeMachine machine = new CoffeeMachine(beans);
// brew a fresh coffee
try {
Coffee espresso = machine.brewCoffee(CoffeeSelection.ESPRESSO);
} catch(CoffeeException e) {
e.printStackTrace();
}
} // end main
} // end CoffeeApp


You can see in this example that the abstraction provided by the CoffeeMachine class hides all the details of the brewing process. That makes it easy to use and allows each developer to focus on a specific class.

If you implement the CoffeeMachine, you don’t need to worry about any external tasks, like providing cups, accepting orders or serving the coffee. Someone else will work on that. Your job is to create a CoffeeMachine that makes good coffee.

And if you implement a client that uses the CoffeeMachine, you don’t need to know anything about its internal processes. Someone else already implemented it so that you can rely on its abstraction to use it within your application or system.

That makes the implementation of a complex application a lot easier. And this concept is not limited to the public methods of your class. Each system, component, class, and method provides a different level of abstraction. You can use that on all levels of your system to implement software that’s highly reusable and easy to understand.

A short trip to my favourite Destination “The Rishikesh”

Standard

There is valid reason from me to mark “The Rishikesh” with prefix “The”, and you will find my reason valid after complete read of this blog. This place meant alot to me and many people like me.
In this blog I am gonna tell you about my journey to a very short trip (2 days) to Rishikesh and nearby.

This place also known as the “Yoga Capital of the World”, which makes it even more sought after in today’s times. The peace and tranquility that this small town has to offer, is what busy city people need the most.

Rishikesh is a city in India’s northern state of Uttarakhand and one of the most famous destinations for short bike trips due to its beautiful setting, River Ganga, Mountains, religious importance, and various options for recreational activities like Yoga and meditation that helps to heal your body and mind, in the Himalayan foothills beside the Ganges River.

Temples and ashrams (centers for spiritual studies) line the eastern bank around Swarg Ashram, a traffic-free, alcohol-free and vegetarian enclave upstream from Rishikesh town. It also has the Ram Jhula and the Laxman Jhula that go across river ganga. A number of Hindu devotees make trips to Rishikesh every year, to engage in the religious experience of this holy pilgrimage site.

For those who are not too religious, Rishikesh also offers a number of tourist spots to visit, like the Marine Drive and the Rajaji National Park for nature lovers. In addition to this, you can even have a wonderful time with the adventure sports options like Bungee Jumping, Giant Swing, Trekking, Camping, and Rappling. River rafting on the Ganga is possible throughout the year, except during the monsoons, and is one of the star activities that Rishikesh is well known for. You can find exotic cafes & resort where you can taste authentic Indian/international cuisine and chill with your group with a beariver view

Taking a bike trip to Rishikesh gives you the chance to let go of everything on the journey, and just enjoy the ride, with the assurance of a wonderful time when you reach your destination. Overall, it will give you just the break you needed, and help you regain a hold on things after Covid-19 pandemic.

So it started all of sudden, actually we were planning for a bike ride for a long time due to the boredom of Lock-down situation and we were not make it due to inter state travel restriction. But just after Dusshera we planned this just a day before the trip and we decided that we have to make it possible any how, I asked some of my friend whether they are interested or not but all had there own stuff and then finally I made it possible with my younger cousin Ishank, who is also very enthusiastic as me for travelling.

Ideally if we go for a trip we start it very early in the morning to avoid heavy traffic and weather condition(temperature is usually 40C in mid day of Aug). But somehow we couldn’t make it as my grand father had a planned appointment with doctor in the morning that day and I was the only one who knew driving, So I stayed and make sure we start our trip just after visiting the doctor.
I got free by 12PM in noon, after having lunch we packed our bag with a pair of T-shirt and a lower, helmets, sun glasses, enough water supply, some juicy fruits, biscuits and some snacks. This is all that was required for our trip.

We left out home town Charthawal sharp 1PM, road were empty though due to summer season, it was too sunny out there but we have to make it possible anyhow. Rishikesh is around 120 Km from town and likely to be a 3 hour journey, but I have a rule (HRG45) to keep in mind during biking to avoid fatigue.
(HALT, REST 5-10 min and GO at every 45 min/45 Km which ever comes first), this rule may take higher time to reach destination but you will enjoy the journey without any excursion, and that should be a motive of any biker/traveler.

By following the HRG45 rule we reach Haridwar (25Km to Rishikesh) and decide to spend some time there near Ganga Ghats and Har ki Pauri. We parked our Bike on outer of ghats, Reached to Ghat and touched Holy Ganga Water which gave us some refreshing energy. We tried some mouth watering local food there like pani puri and kachori for which local market is famous for. After having enough rest and refreshment we kicked our bike again. Though it has self start but kicking 😉 sounds more promising when you are biking.



Haridwar is the last city of plains, base camp for all the hilly area in Uttarkhand region, and mountains starts getting visible from here. There are two way to reach Rishikesh from Haridwar, One is orthodox flat main highway NH-58 which is one of the busiest and traffic congested.

Other is off-road goes through amazing landscapes via RajaJi Nation Park (Dense Forest) in the first half of the journey having some adventures and beautiful sigh scenes. Second half starts from the Chilla Dam bridge which is also called Pashulok Barrage. Road goes along side the Ganga Canal which makes this small journey into a wonderful bike ride.
Yes you guess it right, we chose the second one without even a second thought.

I recommend travelers to take right turn after crossing Blue Brij for Chilla road else you will end up going straight in NH-58 traffic.
After crossing Bheem Goda barrage take left turn from the police check post which will head you towards Rajaji National Park. It is a beautiful lush green journey through jungles with full of cool breeze atmosphere.
By the time we were about to reach and near Bheem Goda Barrage it is around 6:00PM and beautiful sunset is waiting for us.
Here are some of the stunning view from National Park and Ganga canal.





This part is all about Introduction, way to reach and journey. By the time we reach Rishikesh its getting dark and I will be covering the Holy city experience in my next part.

RESTful API Design | Steps to follow

Standard

As software developers, most of us use or build REST APIs in day to day life. APIs are the default means of communication between the systems. Amazon is the best example of how APIs can be efficiently used for communication.

In this article, I am going to talk about how to design your RESTful APIs better to avoid common mistakes.


Jeff Bezos’ (Key to Success) Mandate

Some of you might have been already aware of Jeff Bezos’ mandate to the developers in Amazon. If you never got a chance to hear about it, the following points are the crux of it.

  1. All teams will henceforth expose their data and functionality through service interfaces.
  2. Teams must communicate with each other through these interfaces.
  3. There will be no other form of interprocess communication allowed — no direct linking, no direct reads of another team’s data store, no shared-memory model, no back doors whatsoever. The only communication allowed is via service interface calls over the network.
  4. It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.
  5. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
  6. Anyone who doesn’t do this will be fired.

Eventually, this turned out to be the key to Amazon’s success. Amazon could build scalable systems and later could also offer those as services like Amazon Web Services.


Principles of Designing RESTful APIs

Now let’s understand the principles we should follow while designing the RESTful APIs.

Keep it simple

We need to make sure that the base URL of the API is simple. For example, if we want to design APIs for products, it should be designed like:

/products
/products/12345

The first API is to get all products and the second one is to get a specific product.

Use nouns and not the verbs

A lot of developers make this mistake. They generally forget that we have HTTP methods with us to describe the APIs better and end up using verbs in the API URLs. For instance, API to get all products should be:

/products

and not as shown below

/getAllProducts

Some common URL patterns, I have seen so far.

Use of the right HTTP methods

RESTful APIs have various methods to indicate the type of operation we are going to perform with this API.

  • GET — To get a resource or collection of resources.
  • POST — To create a resource or collection of resources.
  • PUT/PATCH — To update the existing resource or collection of resources.
  • DELETE — To delete the existing resource or the collection of resources.

We need to make sure we use the right HTTP method for a given operation.

Use plurals

This topic is a bit debatable. Some people like to keep the resource URL with plural names while others like to keep it singular. For instance —

/products
/product

I like to keep it plural since it avoids confusion about whether we are talking about getting a single resource or a collection. It also avoids adding additional things like attaching all to the base URL e.g. /product/all

Some people might not like this but my only suggestion is to keep it uniform across the project.

Use parameters

Sometimes we need to have an API which should be telling more story than just by id. Here we should make use of query parameters to design the API.

  • /products?name=’ABC’ should be preferred over /getProductsByName
  • /products?type=’xyz’ should be preferred over /getProductsByType

This way you can avoid long URLs with simplicity in design.

Use proper HTTP codes

We have plenty of HTTP codes. Most of us only end up using two — 200 and 500! This is certainly not good practice. Following are some commonly used HTTP codes.

  • 200 OK — This is most commonly used HTTP code to show that the operation performed is successful.
  • 201 CREATED — This can be used when you use the POST method to create a new resource.
  • 202 ACCEPTED — This can be used to acknowledge the request sent to the server.
  • 400 BAD REQUEST — This can be used when client-side input validation fails.
  • 401 UNAUTHORIZED / 403 FORBIDDEN— This can be used if the user or the system is not authorized to perform a certain operation.
  • 404 NOT FOUND— This can be used if you are looking for a certain resource and it is not available in the system.
  • 500 INTERNAL SERVER ERROR — This should never be thrown explicitly but might occur if the system fails.
  • 502 BAD GATEWAY — This can be used if the server received an invalid response from the upstream server.

Versioning

Versioning of APIs is very important. Many different companies use versions in different ways. Some use versions as dates while some use versions as query parameters. I generally like to keep it prefixed to the resource. For instance:

/v1/products
/v2/products

I would also like to avoid using /v1.2/products, as it implies the API would be frequently changing. Also, dots (.) might not be easily visible in the URLs. So keep it simple.

It is always good practice to keep backward compatibility so that if you change the API version, consumers get enough time to move to the next version.

Use pagination

Use of pagination is a must when you expose an API which might return huge data, and if proper load balancing is not done, the consumer might end up bringing down the service. We need to always keep in mind that the API design should be full proof and fool proof.

Use of limit and offset is recommended here. For example, /products?limit=25&offset=50. It is also advised to keep a default limit and default offset.

Supported formats

It is also important to choose how your API responds. Most of the modern day applications should return JSON responses, unless you have a legacy app which still needs to get an XML response.

Use proper error messages

It is always good practice to keep a set of error messages the application sends and respond to that with proper id. For example, if you use Facebook graph APIs, in case of errors, it returns a message like this:

{
  "error": {
    "message": "(#803) Some of the aliases you requested do not exist: products",
    "type": "OAuthException",
    "code": 803,
    "fbtrace_id": "FOXX2AhLh80"
  }
}

I have also seen some examples in which people return a URL with an error message, which tells you more about the error message and how to handle it as well.

Use of OpenAPI specifications

In order to keep all teams in your company abide by certain principles, use of OpenAPI specification can be useful. OpenAPI allows you to design your APIs first and share that with the consumers in an easier manner.

Conclusion

It is quite evident that if you want to communicate better, APIs are the way to go. But if they are designed badly then it might increase confusion. So put your best effort in designing well, and the rest is just the implementation.


Thank you for reading

If you came across some better ways to design APIs, feel free to share those in the comments section. All feedback is welcome!

Credit goes to: Tanmay Deshpandey

Please follow: https://medium.com/@tanmay.avinash.deshpande

View at Medium.com

Never drive on neutral. Gear up.

Standard

“Son, never drive on neutral gear”

Dad and I were in the car. I was driving.

On the route, we went through a long downward slope.

I shifted my car’s gear (manual transmission) to neutral. It was nice and easy and our car was automatically breezing down the slope.

“Son, never drive on neutral gear”

“Dad, but it’s a downward slope. I don’t need to gear up”

“You don’t need to. But you should. When you don’t gear up, you lose control of the vehicle.”

I often hear people say things like:

“Let’s go with the flow”

“Take life as it happens”

“I’m waiting for something to happen before I begin to do something

When we say things like these, we switch our gear to neutral. Life may seem nice and you’ll automatically keep going.

However, if you don’t gear up, you lose control of your life. You let people, situations, and environment drive your life.

Take control of your life. Never drive on neutral. Gear up.

Small changes can make a big difference.

Standard

An old man was doing his daily walk along the beach one morning, when he spotted a young boy crouched by the water, scooping something up from the sand and throwing it into the sea.

The beach was normally empty at this time of day, and so the old man stopped to watch for a while.

He noticed that the boy kept on shuffling a little further down the beach, then repeating this same action again and again – stopping, scooping, throwing, moving.

“What are you doing there, boy?” the old man asked, walking closer.

“I’m saving these starfish that are stranded” replied the boy, “if they stay on the beach they will dry out and die, so I’m putting them back into the ocean so they can live.”

The old man was silent for a few seconds.

“Young man” he said, “on this stretch of beach alone, there must be more than one hundred stranded starfish. Around the next corner, there must be at least one thousand more. This goes on for miles and miles and miles – I’ve done this walk every day for 10 years, and it’s always the same. There must be millions of stranded starfish! I hate to say it, but you’ll never make a difference.”

The boy replied “well I just made a difference for that one”, and continued with his work.

How Often Do You Make a Small Difference?

If everything you did had to have a huge, immediate impact before you gave it a little of your time, then you’d end up doing very little with your life. And sometimes, the little things we do can add up and turn into big things – they make ripples that spread further than we can see.

Those starfish that the young boy saved may have gone on to produce thousands more.

And just imagine if the man who stood idly by had saved one starfish each time he had walked that stretch of beach – he’d have saved 365,002 by now (depending on when the leap years fell!).

So the next time you get chance to make a small difference, don’t think of the big picture and just do it – after all, it might not make a difference to you, but to somebody else, it might.

Whenever you are angry, just give yourself some time

Standard

Once an old Master was travelling with his student, and they passed by a small lake. The Master was feeling thirsty so he told his Student to get some water from the lake.

The student walked up to the lake. When he reached it, he noticed that right at that moment, a herd of cattle had just crossed through the lake. As a result, the water became very muddy. The student thought, “How can I give this muddy water to my Master to drink!” So he came back and told his Master, “The water in there is very muddy. I don’t think it is fit to drink.”

After about half an hour, again the Master asked his student to go back to the lake and get him some water to drink. The student obediently went back to the lake. This time too he found that the lake was muddy. He returned and informed the Master about the same.

After sometime, again the Master asked his student to go back. The student reached the lake to find the lake absolutely clean and clear with pure water in it. The mud had settled down and the water above it looked fit for drinking. So he collected some water in a pot and brought it to his Master.

The Master looked at the water and then he looked up at the disciple and said, “See what you did to make the water clean. You waited long and the mud settled down on its own and you got clear water. Your mind is also like that! When it is disturbed, just let it be. Give it a little time. It will settle down on its own. You don’t have to put in any effort to calm it down. It will happen. It is effortless”.

Moral: Whenever you are angry, just give yourself some time. You will gradually calm down, and then you will be able to take the right decisions.

Source : Facebook

Whatsapp Vs Hike

Standard

Whatsapp is a clear global leader of instant messengers and is often used by billions of people around the world.It has also succeeded to conquer facebook in terms of daily active users and new signups.No doubt Whatsapp is the best IM app out there because all of our friends live in it, that’s why we do not want to switch to some other platform. Today there are many alternatives of whatsapp but ‘Hike messenger’ is the only app which have enough guts to challenge whatsapp makers. However Telegram is also a good whatsapp alternative but it is only available for android and iphone users. So in this post, we will be considering hike which is struggling hard to steal the whatsapp users permanently. So lets figure out the 11 strong reasons which are in favour of hike messenger.

 

File Size: Recently,Hike has updated its system and now it allows its users to send files of upto 100 MB each,while the maximum file size of media supported by whatsapp is just 16 MB each. However if the file is larger than 16 MB, whatsapp provides the option of trimming the video to make it possible but it degrades the media quality.

Email Alternative: Hike supports media formats as well as documents including .ppt , .doc, docx and pdf file formats, therefore it is a good email alternative as email can tolerate an attachment which is a maximum of 25 MB of file size while hike can tolerate upto 100 MB of each attached file.

Money Making App: If you have ever used hike then you must be knowing about the hike rewards. Hike is the app which actually pays Rs. 20 for each successful referral and Rs. 15 to the new user who signs up. The user can redeem the money as a talktime for his phone after the minimum earning of Rs. 50. If you are on postpaid plan then after the hike reward redemption, your next bill amount will get reduced by the amount you redeemed. Now you must be thinking why they are paying ? They are doing it for their promotions, instead of paying millions for advertisements, they are benefitting their users. This is a good strategy used by them to get a huge coverage. You can invite your friends on hike by free hike sms and your friend has to download the hike app before 96 hours of your invitation otherwise you will not get the Hike referral reward. The only grey side is it is a limited time promotional offer and valid till 12/05/2014, so if you have not earned from Hike till yet then go for it and grab your first free talktime by just sending hike invitations to your friends who have never used hike. Last year I made more than Rs. 250 in one week from Hike by inviting friends.

UPDATE: Hike Rewards Are Again Live So Go For It.

2-Way Chat Themes: Hike supports creating chat environment according to your mood and emotion.Hike users can change the chat theme of a particular friend and the theme will be visible on both sides.

Stickers: You can make your chat more colorful and fun by sending exciting and occasional stickers along with the smilies to your friends.The another good thing is sticker sets get updated regularly in a month or two.

Free SMS: Unlike other instant messengers, Hike users are privileged to get 100 sms per month for free for their non-hike friends. No need to have sms packs on your mobile if you are already having a mobile data plan and Hike on your device. Hike users also get 50 sms as bonus for each successful invitataion along with Rs. 20. However, Hike-to-sms can only be sent within India.

Better Notifications: Whatsapp uses double check marks below each sent message to notify the sender about the message delivery. If the message got two checkmarks, it means the message is successfully delivered otherwise there might be some problem with the reciever’s data connection or any thing like that. While in Hike, the sender can clearly see the ‘R’ , ‘S’ or ‘D’ below each sent message which means Read, Sent and Delivered and if your friend is currently offline then it will notify you that your friend is currently offline and at this instant you can use free hike-to-sms to reach your friend’s inbox.Hike also notifies you whenever the profile picture or status of your friend gets updated.

Lifetime Free: Hike is an advertisement free and life time free app while subscription for whatsapp is free only for the first year and from the next year it costs about $0.99/year.

 

 

Better Privacy: Whatsapp fetches all contacts from the phonebook and matches them with the whatsapp users and then automatically add all the contacts to the whatsapp contact list. While hikers have to send and accept friend requests to ensure privacy. Each hiker can choose to show or hide his last seen to his friend.However, Whatsapp also lets you hide last seen at: but there are still many bugs in their time stamp system.

Movable to SD Card: The latest version of hike can now be moved to SD card of the device after installation. This is a great feature for those who have a little phone memory or already loaded with other apps. While whatsapp does not officially supports move-to-sdcard feature.

128 Bit SSL Encryption: This feature is added by hike buddies by keeping wifi users in their mind. If you are on public wifi then there is no need to worry about the passive attacks and

eavesdropping. You have to just switch on the 128 bit SSL encryption inside settings->privacy. Chat logs are safe with hike. While whatsapp(android) chat logs gets saved inside whatsapp-> database folders in the SD card which are encrypted but can be converted to plain text with third party applications and python scripts. Also if you are on a open public wifi then the whatsapp chat logs are highly vulnerable to be sniffed by the other users who are also on the same wifi.

[NEW] Hidden Mode : This is a new feature introduced by Hike team. This makes you to make any of your chat private and hidden from the whole world. Only you can access the hidden chat with a password created by you. Now this is something which seems to be impressive as whatsapp does not have this feature.

 

Verdict: It is not easy for any app developer to compete with the giants like whatsapp, but it seems like hike developers are struggling very hard and periodically updating their system, creating promotional offers to make the results more fruitful. However users will always remain the king as it solely depends on them and their need to decide the best apps for themselves. I have used almost all alternatives of whatsapp but in my opinion hike is much better than the other big players like Wechat and Line. But whatsapp can not be ignored as all of our friends live in it and they are the only reason why instant messengers came into existence.

 

Dr. Abdul Kalam’s Letter to Every Indian

Standard

Dr. Abdul Kalam’s Letter to Every Indian – Dated – 12/03/2014

Dr. APJ Abdul Kalam does it again … what I always does best! His below speech read out of last month..hats off to this man..we want men like him to be our CM, PM & President !! .. but more importantly, Citizens like him.
He had few questions as below:

Start:

  • Why is the media here so negative?
  • Why are we in India so embarrassed to Recognize our own strengths, our achievements?
  • We are Such a great NATION.
  • We Have so many amazing success stories but we refuse to acknowledge them. Why?
  • We are the first in milk production.
  • We are number one in Remote sensing satellites.
  • We are the second largest producer of wheat.
  • We are the second largest producer of rice.

Look at Dr. Sudarshan, I’ve transferred is the tribal village into a self-sustaining, self-driving unit ..
There are millions of Such achievements but our media is only obsessed in the bad news and failures and disasters.
I was in Tel Aviv Once and I was reading the Israeli newspaper. It was the day after a lot of attacks and bombardments and Deaths HAD taken place. The Hamas HAD struck. But the front page of the newspaper Had the picture of a Jewish gentleman in five years WHO HAD Transformed His desert into an orchid and a granary. It was inspiring picture esta That everyone woke up to. The gory details of killings, bombardments, Deaths, Were inside in the newspaper, buried Among other news.
In India we only read About death, sickness, terrorism, crime.
Why are we so NEGATIVE?
Another question: Why are we, as a nation so Obsessed with foreign things?

  • We want foreign T.Vs,
  • We want foreign shirts.
  • We want foreign technology. Why this obsession with everything imported?

Do we not Realize That Comes With self-respect self-reliance?
I was in Hyderabad giving esta lecture, When A 14 year old girl Asked me for my autograph. I Asked her what her goal in life is ..
She replied: I want to live in a developed India.
For her, you and I will Have to build esta developed India.
You must proclaim.
India is not an under-developed nation;
it is a highly developed nation …

You Say That our government is inefficient.

You Say That our laws are too old.

You Say That the municipality does not pick up the garbage.

You Say That the phones do not work, the railways are a joke. The airline is the worst in the world, mails never reach Their destination.

You Say That our country has-been fed to the dogs and is the absolute pits.

YOU say, say and say ..

What do you do about it?
Take a person on his way to Singapore.
Give him a name – ‘YOURS’. Give him a face – ‘YOURS’. YOU walk out of the airport and you are at your International best.
In Singapore you do not throw cigarette butts on the roads or eat in the stores.
YOU are as proud of Their Underground links As They are .. You pay $ 5 (approx. Rs .. 60) to drive through Orchard Road (equivalent of Mahim Causeway or Pedder Road) between 5 PM and 8 PM.
YOU come back to the parking lot to punch your parking ticket if You have over stayed in a restaurant or a shopping mall irrespective of your status identity …
In Singapore you do not say anything, DO YOU?

 

  • YOU would not dare to eat in public During Ramadan, in Dubai ..
  • YOU would not dare to go out without your head covered in Jeddah.
  • YOU would not dare to buy an employee of the telephone exchange in London at 10 pounds

 

(Rs..650) a month to, ‘see to it That my STD and ISD calls are billed to someone else.
YOU would not dare to speed beyond 55 mph (88 km / h) in Washington And Then tell the traffic cop, ‘Kaun hoon main Jaanta hai (Do you know who I am?). I am so and so’s son. Take your two bucks and get lost. ‘
YOU would not chuck an empty coconut shell anywhere other than the garbage pail on the beaches in Australia and New Zealand ..

 

  • Why do not YOU spit Paan on the streets of Tokyo?
  • Why do not YOU use examination jockeys or buy fake certificates in Boston ???
  • We are still talking of the same YOU.
  • WHO YOU can respect and conform to a foreign system in other Countries but can not in your own.
  • WHO YOU will throw papers and cigarettes on the road the moment you touch Indian ground.

 

If you can be an Involved and appreciative citizen in an alien country,

 

  • Why can not you be the same here in India?

 

In America every dog ​​owner has to clean up after His pet has done the job. Same in Japan ..
Will the Indian citizen here Do That?
We go to the polls to choose a government and after all Responsibility That forfeit.We sit back wanting to be pampered and expect the government to do everything for us Whilst our contribution is totally negative. We expect the government to clean up but we are not going to stop chucking garbage all over the place nor are we going to stop in to pick up a stray piece of paper and throw it in the bin.
We expect the railways to Provide clean bathrooms but we are not going to learn the proper use of bathrooms.
We want Indian Airlines and Air India to Provide the best of food and toiletries but we are not going to stop pilfering at the Least opportunity.This Applies even to the staff Who is Known not to pass on the service to the public.
When it comes to burning social issues like Those related to women, dowry, girl child! and others what do we do?
We make loud drawing room protestations and continue to do the reverse at home.
OUR EXCUSE?
‘It’s the whole system Which has to change, how will it matter if I alone forego my sons’ rights to a dowry.’
So who’s going to change the system?
What does a system consist of?
Very conveniently for us it Consists of our neighbors, other Households, other cities, other Communities and the government.
But definitely not ME & YOU.
When it comes to us whos making a positive contribution to the system we lock ourselves Along With our families into a safe cocoon and look into the distance at country clubs far away and wait for a Mr.Clean to come along & work miracles for us with a majestic sweep of His hand or we leave the country and run away like lazy cowards hounded by our fears we run to America to bask in Their glory and praise Their system. When New York Becomes insecure we run to England. When England experiences unemployment, we take the next flight out to the Gulf. When the Gulf is war struck, we demand to be rescued and Brought home by the Indian government.
Everybody is out to abuse and rape the country.
Nobody Thinks of feeding the system.
Our conscience is mortgaged to money.
Dear Indians, The article is highly thought inductive, calls for a great deal of introspection and pricks one’s conscience too … ..
I am echoing JF Kennedy’s words to His fellow Americans to relate to Indians … .. ‘
ASK WHAT WE CAN DO FOR INDIA AND DO WHAT HAS TO BE DONE TO MAKE AMERICA AND INDIA WHAT OTHER WESTERN COUNTRIES ARE TODAY ‘
Lets do what India needs from us.
Forward this letter to each Indian for a change INSTEAD OF JUST JOKES sending.

Thank you …

Dr. A.P.J. Abdul Kalam
apj-abdul-kalaam

Aman’s Diary (A Directory of Wonderful things)

Standard

AMANSDIARY.TK

https://about.me/aman.garg

 

 

Well, in the title it’s aman’s diary so it’s pretty self explainable.
I will make this diary for about 1 year or if I want I can do it for 2.
My name is Aman Garg and I’m 13 and this is my first year of high. My birthday is on July 23 and born year is 1992.
I won’t give out stalkish personal info cause, well, it’s private but I will say what goes on every day.

I like writing and clickingI will eventually write a book about this. This “diary” was started on January 10, 2015.

So welcome to my diary, hope you enjoy what you read and expect daily updates. If I don’t write every day I will write the other day about both days.  Anyways, hope you stay.

links to the days are Click Here.

Welcome to my world.

 

AMANSDIARY.TK

About Me

facebook profile