[FIXED] Inventory glitch or the Black hole Bag in PUBG Mobile

If you're unable to reload or your inventory a.k.a. your bag is always empty, everything you pick just goes into some unknown void and you're just clueless as to why bad things always happen to good people. Just relax because it is not a major issue and can be resolved easily.



Like really easy.
In short, just Restart your device.
That's it, man.
Just restart your device.

And for people who want to dig a little deeper.
This is probably not a big deal for the developers working on PUBG and I guess they can fix it in no time once and for all.
It probably happens because of some data that were stored previously either from the game you left in between or you got disconnected from and are causing some conflict with the new data from the current game. So even if you uninstall the game and reinstall it won't fix because some of the temporary data remain in the phone which the application expected to be flushed when the device will be restarted.

So the only option to fix it for your current game is to just Restart the phone.


PUBG Mobile Gameplay Hacks to own every match

PUBG Mobile has become the most popular mobile game since its inception.
If you've been playing it enough you already know the basics which are pretty self-understanding. But what if you want to reach higher ranks and improve your gameplay?
By following these tips you'll easily manage a rating of over 70 almost every match.




  1. Using mouse and keyboard.
    Ever wonder how the top players have a headshot accuracy of 20% and over?
    You can use a compatible mouse and keyboard using an OTG cable. Dell's KM117 Keyboard-mouse combo uses a single receiver which can easily be used on a mobile phone for gaming.
    I don't use keyboard mouse either, it's only meant for people who take mobile gaming a bit more seriously. 
  2. Practice patience.
    Positioning and patience is everything in this game.
    Don't always attack an enemy when you spot it. Only attack when you have a clear shot and are sure that you're not surrounded by other enemies. There can even be situations where you might get surrounded without having to engage in gunfire. Just take cover and hide in not so obvious location then slowly move out later.
  3. Blue zone does not kill instantly.
    Understand that the blue zone does not kill you instantly. I know, you must be like I already know that. But the thing to learn here is that the blue zone that comes at the end of the match doesn't kill you instantly either. Collect health packs and don't hesitate to take a longer route through the blue zone if required. Always remember positioning and patience is everything.
  4. It's not about who kills but who survives.
    At the end game, just repeat this to yourself. Make sure you don't move a lot when there are a few players left. Use the eye view to gather information about your surroundings.
  5. Four people are always better than one
    When playing squad stick with your team after gathering your items. Kill before revive, but always revive.
Happy gaming. ;)

How to abuse Batlepass DOTA 2

DOTA 2 is an immensely popular RPG game and is well known for hosting the Biggest prize pool competition for last 4 years since The International 2014.



Now if you've ever bought the Battlepass you contributed to this prize pool. Anyway, it's totally worth its value but gets really expensive if you wish to reach higher levels. It's literally impossible to reach over round about 300 levels without buying extra levels.
Even then it is not assured you will win every bet and predictions unless you start grinding by Battlepass abuse.
Since this season has already ended I'll share a little tutorial on how Battlepass abuse for DOTA 2 works.

Disclaimer: I'm in no way responsible for any damage you incur to your account or behaviour score. Also, note that if caught Valve might ban your account. 

But that's a rarity. Considering the requirement for 6 months or 1 year of ban we're not doing anything punishable.

What is Battlepass abuse?It is an exploit in the matchmaking process of DOTA 2 where we match against the teams from the same lobby.
Then we let one team win first then we match again and let the other team win. And we place all our bets when it's our turn to win.
This is likely to work for 2019 The International Battle Pass as well.
How to abuse?
  1. Make an Abuse lobby.
  2. Share the lobby in the public chat channels. You can find Battlepass abuse channels in user made channels.
  3. Once you have all the players you need a co-leader. One will lead the Radiant team and other will lead the Dire team. Leaders are the point of contact for the team and need to add each other as a friend. Since you're going to be one of the leaders, you need to decide a leader from the player in the lobby. 
  4. Now you do a balanced shuffling of players until you're in opposite team of the other leader.
  5. Now the leaders form the party by inviting players in their respective teams.
  6. Once the party is ready, both leaders are supposed to change matchmaking settings to something that is rare. For example: if you're from Asia, you can search for a match in South Africa with the language set as Korean and you know for sure there are not much people there searching for a match with the language set as Korean. Time also plays a crucial role in settings. For example, if it is an unearthly hour in some region you can assume not many people would be playing DOTA 2 there.
    Example of settings:
    Language: Korean
    Region: South Africa
    Mode: Mutation
  7. Now both the leaders start finding a match at the same time and repeat.
    Sometimes you could miss a match and alter settings to what you think could be better.
Some unsaid rules for abusing,
  1. You don't leave a match after winning your turn if it was first.
  2. Radiant first, always.
  3. If someone violates rule one block the person so you either can identify them in future.
This abuse tactic can also be used to increase MMR, improve behaviour score or remove Low Priority penalty. But that clearly is unjust and you're likely to get a 6-month ban if you do so.

Happy gaming keep grinding.



How to delete Hot Apps folder on Oppo Realme

Bloat wares are the single worst enemy of anyone who just wants a simple experience with the mobile phones.

Oppo goes to a next level in spamming stuff we don't need by their Hot Apps shortcut on Homescreen.

And it is not always available in a new phone but comes after few hours sometimes days of usage.

To disable this icon/folder/shortcut follow the steps below.

1. Open Settings.
Swipe down the notification bar and open settings.

2. Open OPPO AppStore settings.
Scroll all the way down and click OPPO AppStore.


3. Disable Homescreen folder for hot apps.
That's it. You can also disable notification alert from App Store and Browser for even better Android experience as these apps spam a lot.

Long time no see. Personal Update

Hi, this is me, Abhay communicating through this immensely popular medium of knowledge which we use for watching cat videos.



I had a lot of things happening the past few many months. I quit my job to become a game developer. Halfway through I'm still learning things. But above the I'm enjoying my life spending money on things I shouldn't and doing lots of right things when it comes to family and friends.

I do understand I had a lot of projects I should have worked on before but things get complex and we tend to move to simpler things. Same way I'm progressing at my own pace. I decided to revisit my blog and make updates for now. I don't know how long will I remain active for again but I hope I continue this good habit.

Currently, I'm working on a game/software which is doing quite fine. Also, I've started selling 3D printed models on Amazon with my friends.

I still spend most of my time playing video games DOTA2 and PUBG.

For now, I do have few immediate projects I'll start working on. One is writing more and more.
I'll also be sharing another version of my Blogspot theme which now feels even better with minor tweaks.
I've bought a Royal Enfield Classic which I'll be painting black soon and will make a detailed video of how to.




Realme 2 vs Realme 1 what should you get?

With the announcement of Realme 2, it sets a new standard for the smartphone market as this will be the cheapest phone with a notch above priced at just 8,9990 Indian Rupees.



but is it really worth buying considering its predecessor has better specifications?

The answer is up to who is going to use the phone.

Realme 2 has downgraded few things to compensate the cost of production to provide other physical features like a notch and a fingerprint scanner at the back.

There is no 6GB + 128GB version of Realme 2 yet and it's not certain if the company will be launching one.

As of now, we can only compare the cheapest version of both the phones for a better understanding of what you'll be loosing or gaining upon choosing one.

Low powered CPU.Realme 2 features a 1.8GHz Cortex A53 Octacore on a Snapdragon 450 with Adreno 506 GPU which is clearly a downgrade from its predecessor Realme 1 which featured four 2.0 GHz Cortex-A73 and four 2.0 GHz Cortex-A53 on a MediaTek MT6771 Helio P60 with Mali-G72 MP3 GPU.

In layman terms, Realme 1 was way ahead of its league and at a price of just 8,990 INR is probably the most powerful phone under a range of 10,000 INR or even 15,000 INR.

Lower Resolution.
Realme 2 screen has a resolution of 720 x 1520 compared to FHD+ resolution of Realme 1.
But considering the GPU on Realme 2, this resolution will be best suited for the phone without any performance downgrade.

Now the reasons why Realme 2 is probably the best phone in its price range.

A notch for nothing.
Realme 2 is the cheapest phone with a notch which not everyone but a lot of people prefer.


Better battery.
Realme 2 has a whopping 4230 mAh battery compared to 3410 mAh battery on Realme 1.

Fingerprint Scanner.
This is probably the one features Oppo should have given on Realme 1 itself. Anyway, the covered their mistake and Realme 2 has a rear-mounted fingerprint scanner.

Better camera.
Realme 1 features a dual back camera which is definitely an upgrade from the previous single camera on Realme 1. This will allow users to take photos with bokeh effect.


Now considering all this Realme 1 and Realme 2 remains the undisputed king of their category of the price range. No other phone until now has a better specification in this price range. Now to decide which one is better for you, the answer is up to you.
For instance, I can only point out,
Realme 1 is better for gaming with a better screen and processor. Realme 2 will be okayish for gaming, Realme 2 is more of a phone for display with a notch and fingerprint rather than performance.

Realme 2 and Realme 1 Rear 

Realme 2

Realme 1






Clay Screams at Hannah GIF






















Season 2 Episode 2 ending. This scene gave me chills thought I'd create a GIF and share.


 

  Watch 13 Reasons Why on Netflix here.

13 Reasons Why is a High School drama revolving around a girl Hannah who commits suicide after a series of unfortunate events.
Hannah leaves series of tapes describing how she felt and did what she did.


Java Programming Basics to Brilliance Part 3

This post is a progression to previous post Java Programming Basics to Brilliance Part 2.



Before we make things complicated lets first get to know what is an array and how we can use it.

Quoting from Google,
array
əˈreɪ/
noun
  1. 1.
    an impressive display or range of a particular type of thing.
    "there is a vast array of literature on the topic"
verb
  1. 1.
    display or arrange (things) in a particular way.


In Java, an array is an object which holds a specified number of similar number, strings or objects. This depends on the type of array you are making.
The size of an array is set when it is initialized.
For e.g.
 int listOfNumbers[] = {1,2,3,12,2};

This is one way of making an array with values in it.
Now recall how everything in Java is nothing but an object. Considering that you can also make a blank array as follows:

String myHeroes[] = new String[5];

Now the above line of code initialized a blank array of String type of length 5.
Note that this array is of type String, so you cannot feed values other than String into it.
Let's feed some values into this array.

myHeroes[0] = "Lanaya";
myHeroes[1] = "Lina";
myHeroes[2] = "Rylai";
myHeroes[3] = "Mercurial";
myHeroes[4] = "Lyralei";

Now that we have an array of numbers listOfNumbers and an array of string myHeroes now obviously if we want to make use of this array we need a way to access these values. 
To do that we loop through the array and do whatever we want accordingly.
But before we loop through an array take note of how the length of array myHeroes is 5 but we added values up to myHeroes[4] only. This is simply because array index starts from 0 not 1 and that makes the size of array as 5.

To further clear up the confusion you can use 
arrayName.length; to find out the length of the array.

For e.g.

         System.out.println(myHeroes.length);


Now back to looping.
The simplest and easy to understand form of loop is a for loop. And once you understand for loop there another version of it called foreach loop which is really handy and saves lots of confusion.

for loop

for(int i=0; i<10; i++){
            System.out.println(i);
}

This simple loop will print numbers 1 to 9. How?

You can see the above for loop defined as follows

for(initial values; condition checking; update){
//loop body that executes if condition check is true
}

Now the update part of for loop need not necessarily be increment only. You can instead decrease the values, divide, multiply etc.
Rest should be pretty much self explanatory.
Lets use this loop to print the list of heroes we made.

         for(int i=0; i<myHeroes.length; i++){
            System.out.println(myHeroes[i]);
}

Notice how we ran the loop for values starting with to to just less than the length of array. Explained above.

Now a rather simplified version of for which is foreach loop.
For the array myHeroes[]
we can print the array values using for each as follows:

 for(String i: myHeroes){
            System.out.println(i);
        }

Think of foreach loop as defining a variable i that will be holding values from the array one by one.

To better understand this looping consider following lines of code

for(typeOfValuesInArray variableName: arrayName){
variableName; //this will access all of the values inside the array one by one in the order
}
Having done all that lets move to a fairly complex yet very useful part of Java called Collection.

Collection.

Collection are a way for storing objects in Java.
Collection provide necessary features which help in ordered storage of data and easier manipulation of the same.
There are various collection interfaces in Java predefined and you can create you own collection as well.
Namely, there is
List,
ArrayList, Vector,
Queue,
LinkedList, PriorityQueue,
Set,
Sorted Set, TreeSet, HashSet, LinkedHashSet,
Map,
HashTable, HashMap, LinkedHashMap, and TreeMap.

Various Collections

Various Map Collection

Unless you are giving some exam there is no absolute need for remembering all the names.
For the sake of this tutorial and get going with Java Programming I will be using just the ArrayList with reference of List collection and might cover others in future.

Consider the program below:

import java.util.ArrayList;
import java.util.List;

public class ListExample {




public static void main(String[] args) {

List<Dog> dogsList = new ArrayList<Dog>();

String dogName;

int dogId;

for(int i=0; i<10; i++){

dogName = "Dog"+Integer.toString(i);

dogId = i;

dogsList.add(new Dog(dogId, dogName));

}

for (Dog dog : dogsList) {

System.out.println(dog.getDogId());
System.out.println(dog.getDogName());

}

}

}





Different type of collection have different properties and usefulness in their domain. Deciding the right collection depending on the requirement is something that affects your application thoroughly. I will leave that you as it requires research depending on the requirement and even I'm not all aware of all of the collections. 

That's all for now. If you go through these 3 tutorials on Java you are likely to get through anything. I'm not entirely sure what will be next in this but in case I do write it will be updated here.
Keep Coding...

Java Programming Basics to Brilliance Part 2

This post is a progression to previous post here.



Java Syntax
Every language in this world has a syntax so does a programming language like Java. Now take a look at the following programming which simply prints the all famous "hello world."

public class play {
public static void main(String[] args){
System.out.println("hello world.");
}
}

In this program what we do is create a class by the name of play. In this class we create a function or method by the name of main in which we print out a line "hello world.".
Any program in java will always have a class and a main method. When a java program is executed, the main method is called and all of the statements in this method are executed in progression.
Writing the above lines of code is a piece of cake in Eclipse. To further define what is happening in above program in details, lets break it.

public class play {
States the beginning of the class. We stated class as public, which means it's members and methods will be accessible publicly. Other than public we have private, protected and default when you don't define anything. In details below.

public static void main(String[] args){
main method is always public because JVM has to make a call to this method. 
static methods carry a functionality that shall remain same throughout the program.
void just states that the method need not return anything.
String[] args defines an array of name args which will be holding everything we input to this program in this array. We need not necessarily use this array. 

Access modifiers in slight details.
A private class can have public methods. Why?
Because when we make a class private it is usually to protect it's instance variables from outside sources and public methods are the way to initialize these private instance variables.
If this confuses you, lets learn it with an extensive example.

public class MyDog {

private String tail;

public String waggingTail(String activity){
tail = activity;
return tail;

}

}


public class MyDogActivity {

public static void main(String[] args) {
MyDog tommy = new MyDog();

String tommysTail = tommy.waggingTail("Look at it move!!!");

System.out.println(tommysTail);
}

}

Write the above code line by and use Ctrl+space for suggestions in Eclipse. The two classes MyDog and MyDogActivity are meant to be in different class file. Run the program by using keyboard shortcut Ctrl+F11 for faster access.






What happens in the above program is, we have a class called MyDog with a private variable of String type tail and a public method waggingTail which sets its value to activity.
Furthermore we have a class MyDogActivity which creates an object of MyDog by the name of tommy. Now we make a String type variable tommysTail which has to perform a its task defined in MyDog class. If this confuses you the line below might help.

MyDog is a class which defines the structure of any dog out in the world. Like any dog can wag his tail we made a function waggingTail also no dog likes their tail to be touched so we made the tail private.

Now we have a dog by the name of tommy. Like any other dog tommy has a tail called tommysTail and can perform whatever function any dog can perform like waggingTail.


I hope this clears the picture about MyDog and tommy being one of the Dog. If you still find it confusing read it over and make your own classes and objects to clear it up and feed it in your head. This is by far the most important aspect in Java and everything we do in Java consists of classes and objects one way or the other.

Moving on, lets make a simple program of adding two digits we take as input from the user.

public class Addition {

public static void main(String[] args) {

Scanner inputReceiver = new Scanner(System.in);

System.out.println("Enter first number: ");

int firstNumber = inputReceiver.nextInt();

System.out.println("Enter second number: ");

int secondNumber = inputReceiver.nextInt();

int sum = firstNumber + secondNumber;

System.out.println("The sum is: "+sum);

}

}


In the above program we make an object called inputReceiver of the class Scanner. Now what is Scanner?



Scanner like our
MyDog class in previous example is a class which has certain attributes and functions.
Like our
MyDog had a tail attribute and a function of wagging the tail, Scanner is a class predefined in Java which carries a function to take the input and forward it as required.If you want to see this class just press hold Ctrl and click on Scanner in Eclipse.
In the example above, we make an object of class Scanner by the name of inputReceiver using which we take the input
firstNumber and secondNumber. Rest of the code should be self explanatory as its simple addition and printing. This is pretty much how everything is done in Java, just thing become more complicated depending upon the complexity of a program.
Like most of the object oriented programming languages out there, Java also has methods for looping and condition checking like


for loop,
if else,
while,
do while,
switch.

There are various ways of storing data in Java at run time like
Variables which have types of int, String, char, byte, boolean,
then arrays of same types. Which are still simple and easy to understand and deal with.
Things get complicated in Java with the introduction of Collections, reason being collection consists of objects rather than simple strings and integer values and it's one of the feature that makes Java powerful.

Next up will be Collection, conditional operators and loops.

Java Programming Basics to Brilliance Part 1



Let's get our hands dirty with Java Application Development. By the end of this course you will be able to understand and code in Java programming language. We will also be making some real life application which I haven't yet decided.
Now, I know there are just too many sites out there which can teach you Java and probably far better than what I am writing here. So what am I gonna do here which is different from them? Nothing.
I am only going to repeat what you have probably already read. But I will keep it short and try to make it as easy as possible.
This is part one, and I haven't planned as for how many parts this series will have.
This tutorial is meant for complete beginners to Programming world. This will get you an idea of how programming(not just Java) works in the shortest possible way.

Useful links: 

This is my way of tracking my progress. 

First of, 
What is Java?
  1. Java is a OOP based programming language. OOP stands for Object Oriented Programming. Defined further ahead.
  2. You can make cross-platform(including mobile) applications using Java. 
  3. You can make web applications using Java.
How does Java works?
Broadly
  1. Java code is written by a developer.
  2.  Compiler reads the complete code and generates a .class file which contains the byte code.
    This .class file is like the instructions for JVM defined next.
  3. JVM, stand for Java Virtual Machine takes the .class file and does whatever it says.
The step 2-3 results in Java being platform independent. JVM is a system specific software and every different kind of system will have a different kind of JVM. 

Things you will need.
I will simplify this for you in one step, just install Eclipse IDE. Download it from here. It will help you setup rest.

To mention is anyway you will need to download JDK(Java Development Kit) from Oracle website here. Set the environment variables to run Java files through command prompt or link JDK folder in Eclipse. That's it. 

What is OOP?
Given that we are learning a OOP based programming language it's natural to ask what actually is OOP? 
Object Oriented Programming is a concept of programming in which we deal and do anything and everything by creating objects.
Objects are like real world entities in the program. Like any object in real life will have certain characteristics, objects in a program is expected to carry some attributes. Like any object in real life can do something, objects in a program can also do something. For example, an Object like myDog has a dogTail as an attribute and myDog can wag his dogTail.

OOP can always be achieved with the 4 features, namely 
Abstraction: which is hiding of details from the viewer. Like f I want to feed myDog I don't need to know how his digestive system works I just have to offer myDog his food.
Encapsulation: which is binding up of certain feature and features to limit their scope of functionality. We use access modifiers like Public, Private, Protected and Default to achieve this. For example if myDog is Public anyone can pet him, but if myDog is private and not allowed to move out of the home, only the people inside the home can pet him.
Inheritance: which is carrying the similar attributes like that of their parent. This reduces the amount of code written and makes it easier to understand. For example, if myDog has a myPuppy he will carry similar attributes like Tail, Eyes, Ears.
Polymorphism: which is different behavior performed by the object in different situations. For example, myDog will walk slowly when I take him for a walk but run away when I let him. So the feature is same which is move() but mydog can either walk or run depending on the situation.

Java Syntax
Every language in this world has a syntax so does a programming language like Java.

Continued further here.